ENC28J60的初始化
LPC2294。對ENC28J60的各種操作均通過SPI接口進行,包括寄存器的設(shè)置、數(shù)據(jù)的發(fā)送和接收。LPC2294的SPI工作在主動方式,即ENC28J60的SPI時鐘信號由LPC2294提供。
TCP/IP協(xié)議
該設(shè)計采用嵌入式系統(tǒng)中廣泛應(yīng)用的LwIP協(xié)議棧。LwIP TCP/IP實現(xiàn)的特點是在保持協(xié)議主要功能的基礎(chǔ)上減少對RAM的占用,這使協(xié)議棧LwIP適合在低端嵌入式系統(tǒng)中使用。
LwIP協(xié)議棧應(yīng)用到的協(xié)議有ARP,IP,IcMP,TCP,UDP,其具有滑動窗口、擁塞控制和接收分片的分組功能。在LwIP中可以有多個網(wǎng)絡(luò)接口,每個網(wǎng)絡(luò)接口都對應(yīng)一個strut netif()。
netif包含了相應(yīng)網(wǎng)絡(luò)接口的屬性、收發(fā)函數(shù)。采取調(diào)用netif的方法netif→inpln()及netif→output()進行以太網(wǎng)PACket的收、發(fā)等操作。
以太網(wǎng)/CAN雙向協(xié)議轉(zhuǎn)換
整個設(shè)計中最為關(guān)鍵的就是CAN協(xié)議與TCP/IP協(xié)議的相互轉(zhuǎn)換。協(xié)議轉(zhuǎn)換流程圖如圖6所示。
其具體過程如下:當(dāng)網(wǎng)關(guān)接收到數(shù)據(jù),首先判斷數(shù)據(jù)類型,如果是從CAN接口接收CAN協(xié)議報文,便分離出數(shù)據(jù)部分,再將報文數(shù)據(jù)部分按系統(tǒng)規(guī)定的應(yīng)用層格式進行封裝,然后將應(yīng)用層數(shù)據(jù)存入以太網(wǎng)接口發(fā)送緩沖區(qū),由該接口在數(shù)據(jù)前面依次添加TCP或UDP頭、IP頭、以太幀頭,最后封裝成以太幀后,通過以太網(wǎng)接口發(fā)往以太網(wǎng)。
若接收到的以太網(wǎng)數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)換過程相反,依次去掉IP頭、TCP或UDP頭和應(yīng)用層頭,再將應(yīng)用層數(shù)據(jù)按CAN報文格式封裝好后存入CAN接口發(fā)送緩沖區(qū),由CAN接口發(fā)往CAN網(wǎng)絡(luò)中相應(yīng)設(shè)備。若應(yīng)用層數(shù)據(jù)長度大于8 B,則還需將數(shù)據(jù)以8 B為一組進行拆分。
-
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
4444瀏覽量
51055 -
軟件設(shè)計
+關(guān)注
關(guān)注
3文章
58瀏覽量
17770
原文標題:基于嵌入式的網(wǎng)關(guān)軟硬件設(shè)計
文章出處:【微信號:eda365wx,微信公眾號:EDA365電子論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論