基于A(yíng)VR高性能單片機的以太網(wǎng)接口設計
頁(yè)2的寄存器是只讀的,頁(yè)3的寄存器不是NE2000兼容的,所以均不用設置。首先選擇為頁(yè)O,網(wǎng)卡芯片為停止模式,因為還沒(méi)有進(jìn)行初始化,設置0x40~Ox4B為網(wǎng)卡的發(fā)送緩沖區,共12頁(yè),剛好存儲2個(gè)最大的以太網(wǎng)數據包;0x4C~0x7F為網(wǎng)卡的接收緩沖區,共52頁(yè);剛開(kāi)始時(shí)網(wǎng)卡沒(méi)有接收到任何數據包,因此BNRY指向第一個(gè)接收緩沖區的頁(yè)0x4C。設置完頁(yè)O的寄存器后切換為頁(yè)1,由于設計中沒(méi)有使用93C46,因此需要在程序中指定芯片的物理地址,寫(xiě)入到PAR寄存器,然后啟動(dòng)芯片開(kāi)始工作。讀指針BN―RY和寫(xiě)指針CURR主要用來(lái)控制緩沖區的存取過(guò)程,保證能正確讀出和寫(xiě)入數據。
單片機負責RTL8019AS的初始化及通過(guò)控制RTL8019AS實(shí)現網(wǎng)絡(luò )協(xié)議,進(jìn)行數據的接收和發(fā)送等通信任務(wù),主程序按照以太網(wǎng)數據幀分用的思路進(jìn)行編寫(xiě),即將單片機作為服務(wù)器端,初始化完成后使其處于監聽(tīng)狀態(tài)。當有數據從RJ45過(guò)來(lái)時(shí),RTL8019AS在接收和處理完以太網(wǎng)數據幀后傳送給單片機,單片機對數據包進(jìn)行分析,如果是ARP數據包,則程序轉入ARP處理程序;如果是IP數據包且IP地址正確,則繼續分析若是ICMP包,則調用ICMP處理程序,若是UDP或TCP數據包,則解包后將數據存儲或從串口輸出。反之,當有數據要發(fā)送時(shí),單片機按照各層協(xié)議格式將數據打包,送入RTL8019AS的緩存區,由RTL8019AS將數據輸出到局域網(wǎng)中,主程序的框架如下:
在嵌入TCP/IP協(xié)議后,已經(jīng)實(shí)現了以太網(wǎng)的接入,但要實(shí)現遠程控制,還需要實(shí)現應用層協(xié)議,這需要網(wǎng)絡(luò )層和傳輸層的支持,嵌入式TCP/IP協(xié)議在應用層上要求簡(jiǎn)單,本系統實(shí)現了一個(gè)HTTP協(xié)議。由于單片機的資源有限,采用靜態(tài)網(wǎng)頁(yè)訪(fǎng)問(wèn)的形式,使用HT―ML語(yǔ)言來(lái)編寫(xiě),網(wǎng)頁(yè)代碼存儲在Mega64的片內FLASH中。嵌入式系統把要傳輸的數據、參數等存入網(wǎng)頁(yè)的相關(guān)位置,當有客戶(hù)端請求連接時(shí),這些數據信息通過(guò)HTTP協(xié)議沿TCP連接發(fā)送至瀏覽器,這樣就可以在遠端PC機的瀏覽器中訪(fǎng)問(wèn)存儲在系統中的網(wǎng)頁(yè),從而實(shí)現遠程訪(fǎng)問(wèn)及控制。
3 結 語(yǔ)
介紹了一種利用AVR單片機實(shí)現以太網(wǎng)接口電路的方法,硬件電路少,結構簡(jiǎn)單,使用方便??紤]到單片機的資源有限,只實(shí)現了與需要有關(guān)的部分協(xié)議,根據實(shí)際需求做適當的修改和完善就可應用于諸如遠程抄表、信息家電的遠程控制、智能小區等實(shí)時(shí)性要求不高的場(chǎng)合,為了提高數據傳輸速度和進(jìn)行復雜的TCP/IP處理,可以擴展32 KB的外部RAM來(lái)提高單片機的數據吞吐量,同時(shí)外部RAM也可用作串行口的輸入輸出緩沖。
低通濾波器相關(guān)文章:低通濾波器原理
雙絞線(xiàn)傳輸器相關(guān)文章:雙絞線(xiàn)傳輸器原理
評論