基于PCE061A驅動以太控制芯片RTL8019AS的嵌入式設備解決方案
0 引言
本文引用地址:http://butianyuan.cn/article/151266.htm所謂嵌入式設備一般是由嵌入式微處理器、外圍設備、特定的網絡協(xié)議以及應用程序等各部分組成,用于實現(xiàn)對信息家電的遠程控制、監(jiān)視和管理功能,它代替了傳統(tǒng)的PC機或網關設備,在數據量不大的情況下能夠符合要求,具有可靠靈活、成本低等優(yōu)點。
1 方案的提出
從信息家電遠程在線訪問的角度考慮,對信息家電監(jiān)測和控制時存在兩種情況:(1)遠程訪問時,信息家電的通信數據量不大,56Kbps的通信速率即可滿足要求;(2)信息家電對實時性的要求不高,其時延可以在1秒以上?;谝陨蟽蓚€條件在選擇嵌入式設備時,選擇了單片機SPCE061A作為信息家電接入internet的微處理器,同時采用RTL8019AS作為以太幀的驅動芯片,負責以太幀的接收和發(fā)送。最后,通過RJ45接口發(fā)送狀態(tài)信息到internet和接收來自internet的控制數據.此外,要實現(xiàn)信息家電接入internet還需要深入了解TCP/IP協(xié)議和網卡驅動程序。
2 RTL8019AS以太網控制器簡介
由臺灣Realtek公司生產的RTL8019AS以太網控制器,由于其優(yōu)良的性能、低廉的價格,使其在市場上10Mbps網卡中占有相當的比例。
2.1主要性能
(1)符合Ethernet II與IEEE802.3(10Base5、10Base2、10BaseT)標準;
(2)全雙工,收發(fā)可同時達到10Mbps的速率;
(3)內置16KB的SRAM,用于收發(fā)緩沖,降低對主處理器的速度要求;
(4)支持8/16位數據總線,8個中斷申請線以及16個I/0基地址選擇;
(5)支持UTP、AUI、BNC自動檢測,還支持對10BaseT拓撲結構的自動極性修正;
(6)允許4個診斷LED引腳可編程輸出;
(7)100腳的TQFP封裝,縮小了PCB尺寸。
RTL8019AS內部可分為遠程DMA接口、本地DMA接口、MAC(介質訪問控制)邏輯、數據編碼解碼邏輯和其他端口。其內部結構如圖1所示。
ISA總線接口即遠程DMA接口,是指主機對RTL8019AS進行控制和操作的總線,本地DMA接口是指RTL8019AS與網線的連接通道,作用是完成控制器和網絡線的數據交換。PNP(即插即用)邏輯部分主要是用來解決和PC機的連接問題,BootROM端口作用是解決遠程啟動問題;EEPROM端口是用來操作RTL8019AS和EEPROM芯片24C64的接口,SRAM用來存放接收和要發(fā)送的數據;MAC邏輯完成數據的發(fā)送和接收過程中的一些控制;當主機要發(fā)送數據時,將一幀數據經過遠程DMA信道送到以太網絡控制器中的發(fā)送緩存內存中,然后發(fā)出傳送命令,以太網絡控制器在送出前一幀的數據后繼而完成此幀的發(fā)送;接收數據時,串行數據組成字節(jié)送到FIFO和CRC,發(fā)送邏輯將FIFO送來的字節(jié)在發(fā)送時脈的控制下逐步按位移出并送到CRC,CRC邏輯在接收時對輸入的數據進行CRC校驗,將結果與幀尾的CRC比較,如不同該幀數據將被拒收,如相同則送到接收緩沖區(qū)中。等到接收緩沖區(qū)收滿一幀后以中斷或緩存器標志的方式通知主處理器把數據讀走。
2.2 RTL8019AS的 I/O地址分配
以太網絡控制器內建的16KB的SRAM,可劃分為接收緩沖區(qū)和發(fā)送緩沖區(qū)兩個部分,緩沖區(qū)以幀為單位,每頁256個字節(jié),16KB的SRAM的頁范圍規(guī)定在0x40—0x80,由PSTART和PSTOP寄存器來設定接收緩沖頁的范圍,CURR指向接收到的幀的起始頁,BNRY指向還未讀取的幀之起始頁亦即下一幀的頁地址,當CURR到達了接收緩沖頁的底部即與PSTOP相等時CURR又會自動指到PSTART處,因此這16KB的SRAM是設計成環(huán)狀緩沖區(qū)的,以達到可再使用的目的。
3 硬件描述
整個系統(tǒng)的設計核心是臺灣凌陽科技股份有限公司推出的具有總線結構的16位高性能CMOS微處理器,可以進行高速運算、靈活的I/O口控制和高效的數據操作。SPCE061A具有2K字的SRAM和32K字的閃存ROM.與現(xiàn)有的8位微處理器相比,其提供了速度較高的16位x16位乘法運算指令Mul和內積運算指令Muls,加上優(yōu)化的指令集,SPCE061A的吞吐量大為提高,這使得精簡的指令集能夠在其中可靠運行。系統(tǒng)硬件電路組成框圖如圖2所示。
該硬件結構主要包括兩部分:1.反映信息家電工作狀態(tài)的信息采集2.數據經過TCP/IP協(xié)議壓縮后,通過以太網控制芯片輸出到internet,或接收來自internet的控制數據并進行解包。該系統(tǒng)基于IEEE1451.2和TCP/IP協(xié)議構建,具有標準化的網絡接口,允許與Internet或Ethernet網絡進行即時連接,從而實現(xiàn)了家電設備和外部網絡的直接通訊,解決了監(jiān)控設備和通訊網絡的接口問題,為實現(xiàn)基于WEB的遠程監(jiān)控提供了底層的硬件互聯(lián)。
4 單片機控制以太網卡進行數據傳輸
單片機接入以太網必須嵌入TCP/IP協(xié)議,其加載TCP/IP協(xié)議控制以太網卡進行數據傳輸,并通過TCP/IP協(xié)議連接到互聯(lián)網的基本思路是:在遠程控制端進行的操作首先通過路由器尋找到目標,再通過網卡的ISA接口傳入單片機。在單片機中加載的驅動程序將之轉換成物理幀格式,最后由TCP/IP協(xié)議將之轉換為應用層控制命令。因為單片機內部資源有限,要完成上網任務必須精簡TCP/IP協(xié)議,本系統(tǒng)中使用了ARP、RARP、IP、UDP等部分協(xié)議,即可保證單片機接入以太網,亦保證足夠小的代碼量。單片機主要完成網絡數據的解包和串口數據的打包,當以太網有數據到達該設備,單片機采用查詢方式讀取網絡數據并分析,如果是ARP(物理地址解析協(xié)議)數據包,則轉入ARP處理程序,并發(fā)送RARP數據包,將IP地址和物理地址加入到局域網中建立映射。如果是UDP數據包且IP地址和端口號正確,則接收數據包,數據解包后,將數據部分通過串口輸出,控制現(xiàn)場設備。反之,如果現(xiàn)場設備通過串口發(fā)送數據到單片機,單片機將數據按照UDP協(xié)議格式打包,送入RTL8019AS,由RTL8019AS將數據輸出到局域網中。根據需要還可以在收到串口數據時,先完成數據預處理,再將處理好的數據送到局域網。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論