新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式TCP/IP協議棧在單片機上的實現

        嵌入式TCP/IP協議棧在單片機上的實現

        作者: 時間:2010-07-23 來源:網絡 收藏
        隨著設備與網絡的日益結合,在機系統中引入棧,以支持機接入網絡,成為領域的一個重要方向。在此對基于SST89E516RD機的棧的方法給予討論。選用SST89E516RD單片機了在線仿真和編程的功能,大大節約了開發成本。采用VB 6.0語言與Window 98/2000/XP等為軟件開發平臺,對系統進行了測試。經過幾個月的軟硬件測試表明:系統設計合理、穩定可靠,已基本了最初的設計目標。對其他類似系統移植該項技術奠定了基礎,有很好的參考價值。

        1 系統硬件實現
        整個系統以SST89E516RD單片機為核心,通過RTL8019AS以太網控制芯片實現遠程通信。串口完成網卡參數的修改、在線仿真,在系統中還使用X5045作為外部擴展的E2PROM,用來存儲地址、物理地址以及網卡的其他配置信息,同時X5045還具有電壓監控、看門狗定時器、上電復位三種功能,使用X5045監控系統的運行過程,當系統不穩定時可以進行有效地復位。圖1為系統硬件結構圖。

        本文引用地址:http://www.104case.com/article/151719.htm



        2 系統軟件實現
        系統軟件主要包括客戶端和服務器端軟件的設計,主要有以下幾部分內容:
        (1)RTL8019AS的初始化和驅動程序的設計;
        (2)數據幀的發送和接收子程序;
        (3)/IP棧程序的設計;
        (4)客戶端和服務器端程序的設計;
        (5)X5045看門狗和E2PROM程序的設計。
        系統的主程序流程圖如圖2所示。


        由圖2可知,系統首先完成對單片機定時器、串口、網卡芯片和以太網等部分的初始化,然后進入以太網處理部分的主程序,通過定時器中斷進行網口數據的超時出錯處理,并完成TCP定時器保活和ARP表生存時間的更新。
        2.1 系統初始化
        所謂初始化和驅動程序是指實模式下一組硬件芯片的驅動子程序,它們屏蔽了底層硬件處理細節,同時向上層軟件提供與硬件無關的接口。主要包括定時器初始化,初始化PING表、ARP表,初始化TCP,RTL8019AS的初始化等。RTL8019AS的初始化主要包括網卡的復位和網卡寄存器的初始化。RTL8019AS的初始化主要包括網卡的復位和網卡寄存器的初始化。RTL8019AS內部寄存器有4頁,與NE2000兼容的有3頁,第4頁不用。頁選擇由CR寄存器的PSl,PS0位確定。在零頁寄存器中可以設置接收、發送狀態配置以及發送緩存區的起始頁與接收緩存區起止頁地址等;在1頁寄存器中可以設置以太網接口的MAC地址和組播地址。對網卡的初始化就是對相關寄存器初始化,這些寄存器包括CR,RCR,TC-R,PSTART,PSTOP,BNRY,TPSR,ISR,DCR,IMR,CURR,PAGO~PAG5,MAR0~MAR5等。初始化過程如下:

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        tcp/ip相關文章:tcp/ip是什么



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 汕尾市| 曲阳县| 巴南区| 海南省| 思茅市| 准格尔旗| 鲁甸县| 和林格尔县| 通辽市| 泸水县| 东乡| 旅游| 土默特左旗| 理塘县| 洱源县| 府谷县| 旬阳县| 临桂县| 靖安县| 海城市| 怀安县| 普宁市| 鄢陵县| 克什克腾旗| 晋州市| 清新县| 铁岭市| 新和县| 宿州市| 独山县| 武宁县| 鲁甸县| 定州市| 衡东县| 阳原县| 无锡市| 巨野县| 息烽县| 铜川市| 佛学| 盘山县|