新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AVR高性能單片機的以太網接口設計

        基于AVR高性能單片機的以太網接口設計

        作者: 時間:2009-05-06 來源:網絡 收藏

        頁2的寄存器是只讀的,頁3的寄存器不是NE2000兼容的,所以均不用設置。首先選擇為頁O,網卡芯片為停止模式,因為還沒有進行初始化,設置0x40~Ox4B為網卡的發送緩沖區,共12頁,剛好存儲2個最大的數據包;0x4C~0x7F為網卡的接收緩沖區,共52頁;剛開始時網卡沒有接收到任何數據包,因此BNRY指向第一個接收緩沖區的頁0x4C。設置完頁O的寄存器后切換為頁1,由于中沒有使用93C46,因此需要在程序中指定芯片的物理地址,寫入到PAR寄存器,然后啟動芯片開始工作。讀指針BN―RY和寫指針CURR主要用來控制緩沖區的存取過程,保證能正確讀出和寫入數據。
        負責的初始化及通過控制實現網絡協議,進行數據的接收和發送等通信任務,主程序按照數據幀分用的思路進行編寫,即將作為服務器端,初始化完成后使其處于監聽狀態。當有數據從RJ45過來時,在接收和處理完數據幀后傳送給,單片機對數據包進行分析,如果是ARP數據包,則程序轉入ARP處理程序;如果是IP數據包且IP地址正確,則繼續分析若是ICMP包,則調用ICMP處理程序,若是UDP或TCP數據包,則解包后將數據存儲或從串口輸出。反之,當有數據要發送時,單片機按照各層協議格式將數據打包,送入RTL8019AS的緩存區,由RTL8019AS將數據輸出到局域網中,主程序的框架如下:

        在嵌入后,已經實現了以太網的接入,但要實現遠程控制,還需要實現應用層協議,這需要網絡層和傳輸層的支持,嵌入式在應用層上要求簡單,本系統實現了一個HTTP協議。由于單片機的資源有限,采用靜態網頁訪問的形式,使用HT―ML語言來編寫,網頁代碼存儲在Mega64的片內FLASH中。把要傳輸的數據、參數等存入網頁的相關位置,當有客戶端請求連接時,這些數據信息通過HTTP協議沿TCP連接發送至瀏覽器,這樣就可以在遠端PC機的瀏覽器中訪問存儲在系統中的網頁,從而實現遠程訪問及控制。


        3 結 語
        介紹了一種利用單片機實現以太網電路的方法,硬件電路少,結構簡單,使用方便。考慮到單片機的資源有限,只實現了與需要有關的部分協議,根據實際需求做適當的修改和完善就可應用于諸如遠程抄表、信息家電的遠程控制、智能小區等實時性要求不高的場合,為了提高數據傳輸速度和進行復雜的TCP/IP處理,可以擴展32 KB的外部RAM來提高單片機的數據吞吐量,同時外部RAM也可用作串行口的輸入輸出緩沖。

        低通濾波器相關文章:低通濾波器原理


        雙絞線傳輸器相關文章:雙絞線傳輸器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 肥东县| 盐津县| 洪湖市| 青龙| 乌审旗| 舟曲县| 海口市| 离岛区| 桂阳县| 沾益县| 曲阳县| 淮南市| 唐河县| 合山市| 北碚区| 中山市| 鄂州市| 吉安县| 宁海县| 扎赉特旗| 新巴尔虎右旗| 宁津县| 黑河市| 黑山县| 南溪县| 七台河市| 大同县| 丹棱县| 舒兰市| 涪陵区| 涿州市| 衡阳县| 拉孜县| 霞浦县| 九寨沟县| 屏边| 沧州市| 灵璧县| 海丰县| 喀喇| 宁夏|