當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]從目前的情況看,大部分接入方式仍以PC作為網(wǎng)關(guān)來(lái)連接,然而這種情況一般用于大型工業(yè)集散控制系統(tǒng),如果用于一般的信息家電接入而額外增加一臺(tái),必然會(huì)給產(chǎn)品帶來(lái)高昂的成本,從產(chǎn)品的經(jīng)濟(jì)實(shí)用方面來(lái)看并不切實(shí)可行

從目前的情況看,大部分接入方式仍以PC作為網(wǎng)關(guān)來(lái)連接,然而這種情況一般用于大型工業(yè)集散控制系統(tǒng),如果用于一般的信息家電接入而額外增加一臺(tái),必然會(huì)給產(chǎn)品帶來(lái)高昂的成本,從產(chǎn)品的經(jīng)濟(jì)實(shí)用方面來(lái)看并不切實(shí)可行。用嵌入式設(shè)備將信息家電接入的方式則很好地解決了這一問(wèn)題?! ‰S著網(wǎng)絡(luò)時(shí)代的到來(lái),internet已成為重要的基礎(chǔ)信息設(shè)施,這方面的技術(shù)進(jìn)步對(duì)于社會(huì)的各個(gè)方面產(chǎn)生了積極影響,很多領(lǐng)域都在不斷探索開(kāi)發(fā)和利用網(wǎng)絡(luò)資源。所謂嵌入式設(shè)備一般是由嵌入式微處理器、外圍設(shè)備、特定的網(wǎng)絡(luò)協(xié)議以及應(yīng)用程序等各部分組成,用于實(shí)現(xiàn)對(duì)信息家電的遠(yuǎn)程控制、監(jiān)視和管理功能,它代替了傳統(tǒng)的PC機(jī)或網(wǎng)關(guān)設(shè)備,在數(shù)據(jù)量不大的情況下能夠符合要求,具有可靠靈活、成本低等優(yōu)點(diǎn)。

方案的提出

  從信息家電遠(yuǎn)程在線訪問(wèn)的角度考慮,對(duì)信息家電監(jiān)測(cè)和控制時(shí)存在兩種情況:(1)遠(yuǎn)程訪問(wèn)時(shí),信息家電的通信數(shù)據(jù)量不大,56Kbps的通信速率即可滿足要求;(2)信息家電對(duì)實(shí)時(shí)性的要求不高,其時(shí)延可以在1秒以上?;谝陨蟽蓚€(gè)條件在選擇嵌入式設(shè)備時(shí),選擇了單片機(jī)SPCE061A作為信息家電接入internet的微處理器,同時(shí)采用RTL8019AS作為以太幀的驅(qū)動(dòng)芯片,負(fù)責(zé)以太幀的接收和發(fā)送。最后,通過(guò)RJ45接口發(fā)送狀態(tài)信息到internet和接收來(lái)自internet的控制數(shù)據(jù).此外,要實(shí)現(xiàn)信息家電接入internet還需要深入了解TCP/IP協(xié)議和網(wǎng)卡驅(qū)動(dòng)程序。

RTL8019AS以太網(wǎng)控制器簡(jiǎn)介

  由臺(tái)灣Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)控制器,由于其優(yōu)良的性能、低廉的價(jià)格,使其在市場(chǎng)上10Mbps網(wǎng)卡中占有相當(dāng)?shù)谋壤?/p>

  2.1主要性能

(1)符合EthernetII與IEEE802.3(10Base5、10Base2、10BaseT)標(biāo)準(zhǔn);
(2)全雙工,收發(fā)可同時(shí)達(dá)到10Mbps的速率;
(3)內(nèi)置16KB的SRAM,用于收發(fā)緩沖,降低對(duì)主處理器的速度要求;
(4)支持8/16位數(shù)據(jù)總線,8個(gè)中斷申請(qǐng)線以及16個(gè)I/0基地址選擇;
(5)支持UTP、AUI、BNC自動(dòng)檢測(cè),還支持對(duì)10BaseT拓?fù)浣Y(jié)構(gòu)的自動(dòng)極性修正;
(6)允許4個(gè)診斷LED引腳可編程輸出;
(7)100腳的TQFP封裝,縮小了PCB尺寸。
RTL8019AS內(nèi)部可分為遠(yuǎn)程DMA接口、本地DMA接口、MAC(介質(zhì)訪問(wèn)控制)邏輯、數(shù)據(jù)編碼解碼邏輯和其他端口。其內(nèi)部結(jié)構(gòu)如圖1所示。

圖1RTL8019AS內(nèi)部結(jié)構(gòu)

  ISA總線接口即遠(yuǎn)程DMA接口,是指主機(jī)對(duì)RTL8019AS進(jìn)行控制和操作的總線,本地DMA接口是指RTL8019AS與網(wǎng)線的連接通道,作用是完成控制器和網(wǎng)絡(luò)線的數(shù)據(jù)交換。PNP(即插即用)邏輯部分主要是用來(lái)解決和PC機(jī)的連接問(wèn)題,BootROM端口作用是解決遠(yuǎn)程啟動(dòng)問(wèn)題;EEPROM端口是用來(lái)操作RTL8019AS和EEPROM芯片24C64的接口,SRAM用來(lái)存放接收和要發(fā)送的數(shù)據(jù);MAC邏輯完成數(shù)據(jù)的發(fā)送和接收過(guò)程中的一些控制;當(dāng)主機(jī)要發(fā)送數(shù)據(jù)時(shí),將一幀數(shù)據(jù)經(jīng)過(guò)遠(yuǎn)程DMA信道送到以太網(wǎng)絡(luò)控制器中的發(fā)送緩存內(nèi)存中,然后發(fā)出傳送命令,以太網(wǎng)絡(luò)控制器在送出前一幀的數(shù)據(jù)后繼而完成此幀的發(fā)送;接收數(shù)據(jù)時(shí),串行數(shù)據(jù)組成字節(jié)送到FIFO和CRC,發(fā)送邏輯將FIFO送來(lái)的字節(jié)在發(fā)送時(shí)脈的控制下逐步按位移出并送到CRC,CRC邏輯在接收時(shí)對(duì)輸入的數(shù)據(jù)進(jìn)行CRC校驗(yàn),將結(jié)果與幀尾的CRC比較,如不同該幀數(shù)據(jù)將被拒收,如相同則送到接收緩沖區(qū)中。等到接收緩沖區(qū)收滿一幀后以中斷或緩存器標(biāo)志的方式通知主處理器把數(shù)據(jù)讀走。

  2.2RTL8019AS的I/O地址分配

  以太網(wǎng)絡(luò)控制器內(nèi)建的16KB的SRAM,可劃分為接收緩沖區(qū)和發(fā)送緩沖區(qū)兩個(gè)部分,緩沖區(qū)以幀為單位,每頁(yè)256個(gè)字節(jié),16KB的SRAM的頁(yè)范圍規(guī)定在0x40—0x80,由PSTART和PSTOP寄存器來(lái)設(shè)定接收緩沖頁(yè)的范圍,CURR指向接收到的幀的起始頁(yè),BNRY指向還未讀取的幀之起始頁(yè)亦即下一幀的頁(yè)地址,當(dāng)CURR到達(dá)了接收緩沖頁(yè)的底部即與PSTOP相等時(shí)CURR又會(huì)自動(dòng)指到PSTART處,因此這16KB的SRAM是設(shè)計(jì)成環(huán)狀緩沖區(qū)的,以達(dá)到可再使用的目的。

硬件描述

  整個(gè)系統(tǒng)的設(shè)計(jì)核心是臺(tái)灣凌陽(yáng)科技股份有限公司推出的具有總線結(jié)構(gòu)的16位高性能CMOS微處理器,可以進(jìn)行高速運(yùn)算、靈活的I/O口控制和高效的數(shù)據(jù)操作。SPCE061A具有2K字的SRAM和32K字的閃存ROM.與現(xiàn)有的8位微處理器相比,其提供了速度較高的16位x16位乘法運(yùn)算指令Mul和內(nèi)積運(yùn)算指令Muls,加上優(yōu)化的指令集,SPCE061A的吞吐量大為提高,這使得精簡(jiǎn)的指令集能夠在其中可靠運(yùn)行。系統(tǒng)硬件電路組成框圖如圖2所示。

 

圖2系統(tǒng)硬件電路框圖

  該硬件結(jié)構(gòu)主要包括兩部分:1.反映信息家電工作狀態(tài)的信息采集2.數(shù)據(jù)經(jīng)過(guò)TCP/IP協(xié)議壓縮后,通過(guò)以太網(wǎng)控制芯片輸出到internet,或接收來(lái)自internet的控制數(shù)據(jù)并進(jìn)行解包。該系統(tǒng)基于IEEE1451.2和TCP/IP協(xié)議構(gòu)建,具有標(biāo)準(zhǔn)化的網(wǎng)絡(luò)接口,允許與Internet或Ethernet網(wǎng)絡(luò)進(jìn)行即時(shí)連接,從而實(shí)現(xiàn)了家電設(shè)備和外部網(wǎng)絡(luò)的直接通訊,解決了監(jiān)控設(shè)備和通訊網(wǎng)絡(luò)的接口問(wèn)題,為實(shí)現(xiàn)基于WEB的遠(yuǎn)程監(jiān)控提供了底層的硬件互聯(lián)。

單片機(jī)控制以太網(wǎng)卡進(jìn)行數(shù)據(jù)傳輸

  單片機(jī)接入以太網(wǎng)必須嵌入TCP/IP協(xié)議,其加載TCP/IP協(xié)議控制以太網(wǎng)卡進(jìn)行數(shù)據(jù)傳輸,并通過(guò)TCP/IP協(xié)議連接到互聯(lián)網(wǎng)的基本思路是:在遠(yuǎn)程控制端進(jìn)行的操作首先通過(guò)路由器尋找到目標(biāo),再通過(guò)網(wǎng)卡的ISA接口傳入單片機(jī)。在單片機(jī)中加載的驅(qū)動(dòng)程序?qū)⒅D(zhuǎn)換成物理幀格式,最后由TCP/IP協(xié)議將之轉(zhuǎn)換為應(yīng)用層控制命令。因?yàn)閱纹瑱C(jī)內(nèi)部資源有限,要完成上網(wǎng)任務(wù)必須精簡(jiǎn)TCP/IP協(xié)議,本系統(tǒng)中使用了ARP、RARP、IP、UDP等部分協(xié)議,即可保證單片機(jī)接入以太網(wǎng),亦保證足夠小的代碼量。單片機(jī)主要完成網(wǎng)絡(luò)數(shù)據(jù)的解包和串口數(shù)據(jù)的打包,當(dāng)以太網(wǎng)有數(shù)據(jù)到達(dá)該設(shè)備,單片機(jī)采用查詢方式讀取網(wǎng)絡(luò)數(shù)據(jù)并分析,如果是ARP(物理地址解析協(xié)議)數(shù)據(jù)包,則轉(zhuǎn)入ARP處理程序,并發(fā)送RARP數(shù)據(jù)包,將IP地址和物理地址加入到局域網(wǎng)中建立映射。如果是UDP數(shù)據(jù)包且IP地址和端口號(hào)正確,則接收數(shù)據(jù)包,數(shù)據(jù)解包后,將數(shù)據(jù)部分通過(guò)串口輸出,控制現(xiàn)場(chǎng)設(shè)備。反之,如果現(xiàn)場(chǎng)設(shè)備通過(guò)串口發(fā)送數(shù)據(jù)到單片機(jī),單片機(jī)將數(shù)據(jù)按照UDP協(xié)議格式打包,送入RTL8019AS,由RTL8019AS將數(shù)據(jù)輸出到局域網(wǎng)中。根據(jù)需要還可以在收到串口數(shù)據(jù)時(shí),先完成數(shù)據(jù)預(yù)處理,再將處理好的數(shù)據(jù)送到局域網(wǎng)。

軟件實(shí)現(xiàn)部分

  軟件設(shè)計(jì)主要包括:以太網(wǎng)控制器初始化程序、驅(qū)動(dòng)程序、TCP/IP協(xié)議棧程序、系統(tǒng)網(wǎng)絡(luò)配置程序。以太網(wǎng)控制器驅(qū)動(dòng)程序用于設(shè)置以太控制芯片的工作狀態(tài)即工作方式,分配收發(fā)數(shù)據(jù)的緩沖區(qū);系統(tǒng)網(wǎng)絡(luò)配置程序用于給監(jiān)測(cè)系統(tǒng)分配IP地址及域名。限于篇幅,下面僅給出了采用匯編語(yǔ)言編寫(xiě)的RTL8019AS初始化的部分代碼。

.includehardware.inc;//配置單元定義
.public_init//RTL8019AS初始化子程序
_init:
R1=0xffff;//初始化A口為輸出
[P_IOA_Attrib]=R1;
[P_IOA_Dir]=R1;
R1=0xfc07;//將IOB0~IOB2,IOB10~IOB15設(shè)置為輸出,其他為輸入
[P_IOB_Attrib]=R1;
[P_IOB_Dir]=R1;
R1=0x0001;//選中00H寄存器
[P_IOB_Data]=R1;
R1=0x0021;//選擇寄存器頁(yè)面0,芯片不工作
[P_IOA_Data]=R1;
[P_IOB_Data]=R1;
R1=0x004c;//設(shè)置接收緩沖區(qū),頁(yè)地址為0x4c~0x7f
[P_IOA_Data]=R1;
R1=0x0001;//選中02H寄存器
[P_IOB_Data]=R1;
R1=0x0080;
[P_IOA_Data]=R1;
...
R1=0x0801;//選中01H寄存器
R1=0x0001;//選中00H寄存器
[P_IOB_Data]=R1;
R1=0x0061;//選擇寄存器頁(yè)面1
[P_IOA_Data]=R1;
...
R1=0x0001;
[P_IOB_Data]=R1;
R1=0x0022;//選擇寄存器頁(yè)面0,芯片進(jìn)入工作狀態(tài)
[P_IOA_Data]=R1;
retf;//程序返回

  利用16位單片機(jī)SPCE061A驅(qū)動(dòng)以太控制芯片RTL8019AS,實(shí)現(xiàn)信息家電經(jīng)由嵌入式網(wǎng)關(guān)接入internet的方式,可以方便、低廉地將信息家電的工作狀態(tài)送往遠(yuǎn)程PC進(jìn)行監(jiān)控。這種低成本、高性能的方案,具有可靠靈活的特點(diǎn),適用于通信速率不大,允許延時(shí)的家庭自動(dòng)化設(shè)備。用戶可根據(jù)需要,按上述方法,為傳統(tǒng)的家電賦予接入internet的能力。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉