嵌入式TCP/IP協(xié)議棧在單片機上的實(shí)現
1 系統硬件實(shí)現
整個(gè)系統以SST89E516RD單片機為核心,通過(guò)RTL8019AS以太網(wǎng)控制芯片實(shí)現遠程通信。串口完成網(wǎng)卡參數的修改、在線(xiàn)仿真,在系統中還使用X5045作為外部擴展的E2PROM,用來(lái)存儲IP地址、物理地址以及網(wǎng)卡的其他配置信息,同時(shí)X5045還具有電壓監控、看門(mén)狗定時(shí)器、上電復位三種功能,使用X5045監控系統的運行過(guò)程,當系統不穩定時(shí)可以進(jìn)行有效地復位。圖1為系統硬件結構圖。
2 系統軟件實(shí)現
系統軟件主要包括客戶(hù)端和服務(wù)器端軟件的設計,主要有以下幾部分內容:
(1)RTL8019AS的初始化和驅動(dòng)程序的設計;
(2)數據幀的發(fā)送和接收子程序;
(3)TCP/IP協(xié)議棧程序的設計;
(4)客戶(hù)端和服務(wù)器端程序的設計;
(5)X5045看門(mén)狗和E2PROM程序的設計。
系統的主程序流程圖如圖2所示。
由圖2可知,系統首先完成對單片機定時(shí)器、串口、網(wǎng)卡芯片和以太網(wǎng)等部分的初始化,然后進(jìn)入以太網(wǎng)處理部分的主程序,通過(guò)定時(shí)器中斷進(jìn)行網(wǎng)口數據的超時(shí)出錯處理,并完成TCP定時(shí)器?;詈虯RP表生存時(shí)間的更新。
2.1 系統初始化
所謂初始化和驅動(dòng)程序是指實(shí)模式下一組硬件芯片的驅動(dòng)子程序,它們屏蔽了底層硬件處理細節,同時(shí)向上層軟件提供與硬件無(wú)關(guān)的接口。主要包括定時(shí)器初始化,初始化PING表、ARP表,初始化TCP,RTL8019AS的初始化等。RTL8019AS的初始化主要包括網(wǎng)卡的復位和網(wǎng)卡寄存器的初始化。RTL8019AS的初始化主要包括網(wǎng)卡的復位和網(wǎng)卡寄存器的初始化。RTL8019AS內部寄存器有4頁(yè),與NE2000兼容的有3頁(yè),第4頁(yè)不用。頁(yè)選擇由CR寄存器的PSl,PS0位確定。在零頁(yè)寄存器中可以設置接收、發(fā)送狀態(tài)配置以及發(fā)送緩存區的起始頁(yè)與接收緩存區起止頁(yè)地址等;在1頁(yè)寄存器中可以設置以太網(wǎng)接口的MAC地址和組播地址。對網(wǎng)卡的初始化就是對相關(guān)寄存器初始化,這些寄存器包括CR,RCR,TC-R,PSTART,PSTOP,BNRY,TPSR,ISR,DCR,IMR,CURR,PAGO~PAG5,MAR0~MAR5等。初始化過(guò)程如下:
tcp/ip相關(guān)文章:tcp/ip是什么
評論