基于AVR高性能單片機(jī)的以太網(wǎng)接口設(shè)計(jì)
單片機(jī)負(fù)責(zé)RTL8019AS的初始化及通過控制RTL8019AS實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議,進(jìn)行數(shù)據(jù)的接收和發(fā)送等通信任務(wù),主程序按照以太網(wǎng)數(shù)據(jù)幀分用的思路進(jìn)行編寫,即將單片機(jī)作為服務(wù)器端,初始化完成后使其處于監(jiān)聽狀態(tài)。當(dāng)有數(shù)據(jù)從RJ45過來時(shí),RTL8019AS在接收和處理完以太網(wǎng)數(shù)據(jù)幀后傳送給單片機(jī),單片機(jī)對(duì)數(shù)據(jù)包進(jìn)行分析,如果是ARP數(shù)據(jù)包,則程序轉(zhuǎn)入ARP處理程序;如果是IP數(shù)據(jù)包且IP地址正確,則繼續(xù)分析若是ICMP包,則調(diào)用ICMP處理程序,若是UDP或TCP數(shù)據(jù)包,則解包后將數(shù)據(jù)存儲(chǔ)或從串口輸出。反之,當(dāng)有數(shù)據(jù)要發(fā)送時(shí),單片機(jī)按照各層協(xié)議格式將數(shù)據(jù)打包,送入RTL8019AS的緩存區(qū),由RTL8019AS將數(shù)據(jù)輸出到局域網(wǎng)中,主程序的框架如下:
本文引用地址:http://m.butianyuan.cn/article/266269.htm
在嵌入TCP/IP協(xié)議后,已經(jīng)實(shí)現(xiàn)了以太網(wǎng)的接入,但要實(shí)現(xiàn)遠(yuǎn)程控制,還需要實(shí)現(xiàn)應(yīng)用層協(xié)議,這需要網(wǎng)絡(luò)層和傳輸層的支持,嵌入式TCP/IP協(xié)議在應(yīng)用層上要求簡(jiǎn)單,本系統(tǒng)實(shí)現(xiàn)了一個(gè)HTTP協(xié)議。由于單片機(jī)的資源有限,采用靜態(tài)網(wǎng)頁(yè)訪問的形式,使用HT—ML語言來編寫,網(wǎng)頁(yè)代碼存儲(chǔ)在Mega64的片內(nèi)FLASH中。嵌入式系統(tǒng)把要傳輸?shù)臄?shù)據(jù)、參數(shù)等存入網(wǎng)頁(yè)的相關(guān)位置,當(dāng)有客戶端請(qǐng)求連接時(shí),這些數(shù)據(jù)信息通過HTTP協(xié)議沿TCP連接發(fā)送至瀏覽器,這樣就可以在遠(yuǎn)端PC機(jī)的瀏覽器中訪問存儲(chǔ)在系統(tǒng)中的網(wǎng)頁(yè),從而實(shí)現(xiàn)遠(yuǎn)程訪問及控制。
3 結(jié) 語
介紹了一種利用AVR單片機(jī)實(shí)現(xiàn)以太網(wǎng)接口電路的方法,硬件電路少,結(jié)構(gòu)簡(jiǎn)單,使用方便??紤]到單片機(jī)的資源有限,只實(shí)現(xiàn)了與需要有關(guān)的部分協(xié)議,根據(jù)實(shí)際需求做適當(dāng)?shù)男薷暮屯晟凭涂蓱?yīng)用于諸如遠(yuǎn)程抄表、信息家電的遠(yuǎn)程控制、智能小區(qū)等實(shí)時(shí)性要求不高的場(chǎng)合,為了提高數(shù)據(jù)傳輸速度和進(jìn)行復(fù)雜的TCP/IP處理,可以擴(kuò)展32 KB的外部RAM來提高單片機(jī)的數(shù)據(jù)吞吐量,同時(shí)外部RAM也可用作串行口的輸入輸出緩沖。
c語言相關(guān)文章:c語言教程
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
tcp/ip相關(guān)文章:tcp/ip是什么
低通濾波器相關(guān)文章:低通濾波器原理
雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理
評(píng)論