DSPC172H低檔嵌入式系統(tǒng)中一般沒(méi)有實(shí)時(shí)多任務(wù)操作系統(tǒng)支持,所以Simplified TCP/IP協(xié)議棧直接面對(duì)硬件。MCU中的程序結(jié)構(gòu)一般是順序執(zhí)行和硬件中斷相配合的方式。嵌入式處理器的時(shí)鐘頻率低,地址、數(shù)據(jù)總線窄,所以一個(gè)IP包的處理要花很多的時(shí)間。如果采用中斷處理方式,勢(shì)必影響其他中斷和任務(wù)的執(zhí)行。DSPC172H當(dāng)系統(tǒng)中有實(shí)時(shí)數(shù)據(jù)采集、串口通信中斷、鍵盤中斷等實(shí)時(shí)任務(wù)時(shí),則會(huì)造成沖突。設(shè)計(jì)時(shí)需要合理劃分中斷處理程序,將無(wú)實(shí)時(shí)要求和費(fèi)時(shí)的SimplifiedTCP/IP協(xié)議棧處理放在主程序順序循環(huán)中。對(duì)網(wǎng)絡(luò)接口控制芯片采用查詢式,即在其他中斷任務(wù)的執(zhí)行間隙處理Simplified TCP/IP協(xié)議棧,以犧牲響應(yīng)速度換取系統(tǒng)可靠性,如圖2所示。
3 TCP/IP協(xié)議棧的裁減 DSPC172H普通操作系統(tǒng)可支持完整的TCP/IP協(xié)議族,但嵌入式系統(tǒng)中大多很難做到,也不需做到。嵌入式系統(tǒng)中實(shí)現(xiàn)的協(xié)議要根據(jù)各個(gè)系統(tǒng)的特點(diǎn)及功能來(lái)進(jìn)行設(shè)計(jì)。TCP/IP協(xié)議族中,只實(shí)現(xiàn)與實(shí)際需要有關(guān)的部分,而不使用的協(xié)議則一概不支持。Simplified TCP/IP協(xié)議棧中支持的協(xié)議。
3. 1 地址轉(zhuǎn)換協(xié)議—ARP協(xié)議 ARP協(xié)議是某些網(wǎng)絡(luò)接口(如以太網(wǎng)和令牌環(huán)網(wǎng))使用的特殊協(xié)議,ARP的地址解析功能是為IP地址和數(shù)據(jù)鏈路層使用的硬件地址提供動(dòng)態(tài)地址映射。DSPC172H通用計(jì)算機(jī)系統(tǒng)中,ARP高速緩存一般設(shè)計(jì)成雙向數(shù)據(jù)鏈的形式,這樣整個(gè)緩存可以方便地動(dòng)態(tài)增減。但是這種非線性存儲(chǔ)的鏈表式緩存結(jié)構(gòu),在進(jìn)行表項(xiàng)匹配查找時(shí)比較費(fèi)時(shí),不適用于嵌入式系統(tǒng)。因此ARP的地址緩存采用了線性數(shù)組形式的結(jié)構(gòu)。它在內(nèi)存中是連續(xù)線性存儲(chǔ)的,查找速度快。DSPC172H嵌入式應(yīng)用中節(jié)點(diǎn)不是很多,即ARP緩存容量不需要很大,因此將ARP高速緩存設(shè)計(jì)成固定大小。被動(dòng)的嵌入式服務(wù)器主要是接收來(lái)自客戶的服務(wù)請(qǐng)求,為客戶提供服務(wù),即嵌入式服務(wù)器不會(huì)主動(dòng)向某一主機(jī)發(fā)數(shù)據(jù)幀。既然如此始終處于被動(dòng)狀態(tài)的服務(wù)器*不需要向任何主機(jī)發(fā)送ARP請(qǐng)求,設(shè)備只要能處理ARP請(qǐng)求并返回ARP應(yīng)答即可。鑒于這種情況,ARP協(xié)議中選擇對(duì)ARP應(yīng)答部分進(jìn)行實(shí)現(xiàn)。
GHISALBA GH57.3.00-FG51 NSPP GH57300FG51
SIEMENS 6ES7-470-1VB10 USPP 6ES74701VB10
ANDOVER CONTROLS CMX-9924 USPP CMX9924
EATON CORPORATION 1488D52G09 NSFP 1488D52G09
GE FANUC IC3500A165X NSPP IC3500A165X
SQUARE D EZM-11000CBU NSFP EZM11000CBU
ORMEC ORN-J1057301 USPP ORNJ1057301
IRCON R-25F05-011000/200 USPP R25F
ALLEN BRADLEY 1336S-A020-AN-EN USPP 1336SA020ANEN
MODICON PC-E984-258 NSFP PCE984258
DYNAMATIC 15-503-4003 USPP 155034003
INDRAMAT KDS1.1-100-300-W1-220 USPP KDS11100300W1220
YASKAWA ELECTRIC CACR-IR050505FB NSFP CACRIR050505FB
TAYLOR ELECTRONICS 6014BZ10000D USPP 6014BZ10000D
FLUKE 720A USPP 720A
TAYLOR ELECTRONICS 6014BZ10000E USPP 6014BZ10000E
NDC P680163 NSPP P680163
ADEPT TECH 20000-310 USPP 20000310
CONTROL TECHNIQUES DB-600 USPP DB600
KUNKLE 6252KRP01AS0025 USPP 6252KRP01AS0025
ASEA BROWN BOVERI 6204BZ10100 USPP 6204BZ10100