新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式TCP/IP協(xié)議棧在單片機(jī)上的實(shí)現(xiàn)

嵌入式TCP/IP協(xié)議棧在單片機(jī)上的實(shí)現(xiàn)

作者: 時(shí)間:2010-07-23 來(lái)源:網(wǎng)絡(luò) 收藏
隨著設(shè)備與網(wǎng)絡(luò)的日益結(jié)合,在機(jī)系統(tǒng)中引入棧,以支持機(jī)接入網(wǎng)絡(luò),成為領(lǐng)域的一個(gè)重要方向。在此對(duì)基于SST89E516RD機(jī)的棧的方法給予討論。選用SST89E516RD單片機(jī)了在線仿真和編程的功能,大大節(jié)約了開(kāi)發(fā)成本。采用VB 6.0語(yǔ)言與Window 98/2000/XP等為軟件開(kāi)發(fā)平臺(tái),對(duì)系統(tǒng)進(jìn)行了測(cè)試。經(jīng)過(guò)幾個(gè)月的軟硬件測(cè)試表明:系統(tǒng)設(shè)計(jì)合理、穩(wěn)定可靠,已基本了最初的設(shè)計(jì)目標(biāo)。對(duì)其他類(lèi)似系統(tǒng)移植該項(xiàng)技術(shù)奠定了基礎(chǔ),有很好的參考價(jià)值。

1 系統(tǒng)硬件實(shí)現(xiàn)
整個(gè)系統(tǒng)以SST89E516RD單片機(jī)為核心,通過(guò)RTL8019AS以太網(wǎng)控制芯片實(shí)現(xiàn)遠(yuǎn)程通信。串口完成網(wǎng)卡參數(shù)的修改、在線仿真,在系統(tǒng)中還使用X5045作為外部擴(kuò)展的E2PROM,用來(lái)存儲(chǔ)地址、物理地址以及網(wǎng)卡的其他配置信息,同時(shí)X5045還具有電壓監(jiān)控、看門(mén)狗定時(shí)器、上電復(fù)位三種功能,使用X5045監(jiān)控系統(tǒng)的運(yùn)行過(guò)程,當(dāng)系統(tǒng)不穩(wěn)定時(shí)可以進(jìn)行有效地復(fù)位。圖1為系統(tǒng)硬件結(jié)構(gòu)圖。

本文引用地址:http://2s4d.com/article/151719.htm



2 系統(tǒng)軟件實(shí)現(xiàn)
系統(tǒng)軟件主要包括客戶端和服務(wù)器端軟件的設(shè)計(jì),主要有以下幾部分內(nèi)容:
(1)RTL8019AS的初始化和驅(qū)動(dòng)程序的設(shè)計(jì);
(2)數(shù)據(jù)幀的發(fā)送和接收子程序;
(3)/IP棧程序的設(shè)計(jì);
(4)客戶端和服務(wù)器端程序的設(shè)計(jì);
(5)X5045看門(mén)狗和E2PROM程序的設(shè)計(jì)。
系統(tǒng)的主程序流程圖如圖2所示。


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

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

tcp/ip相關(guān)文章:tcp/ip是什么



上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉