999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式uIPTCP/IP協議棧在基于DSP系統中的應用

2013-08-08 00:51:40謝文娣
網絡安全與數據管理 2013年9期
關鍵詞:嵌入式功能系統

謝文娣

(安徽新華學院,安徽 合肥 230088)

近年來,嵌入式技術發展迅速并在許多電子產品(如手持式、便攜式)中都有廣泛的應用[1],而嵌入式產品網絡化是當今社會一股不可抵擋的研究潮流。嵌入式系統必須具有網絡互連功能才能快速地與設備通信,以太網是目前使用最廣泛的局域網技術。由于有些嵌入式系統要求網絡的實時性較高,因此本文使用精簡TCP/IP協議棧——uIP協議棧來實現基于DSP的嵌入式系統以太網接入功能,下面詳細闡述其設計與實現。

1 系統硬件平臺

TMS320C5000系列是16 bit定點DSP,通常被應用在如VoIP以及IP電話網關等通信領域中。基于DSP的嵌入式系統中選擇的數字信號處理芯片是TI公司的TMS320VC5510芯片,網卡芯片選擇的是由Cirrus Logic公司生產的CS8900AS芯片。系統硬件接口基本結構圖如圖1所示。

TMS320VC5510芯片是由TI公司生產的第一個基于定點TMS320C55x核,具有低功耗、高性能的16 bit數字信號處理器[2]。Cirrus Logic公司專門設計了以太網控制器CS8900A,這款網卡芯片主要應用在對可靠性要求極高的工業控制領域中[3]。

圖1 系統硬件平臺

2 系統軟件設計

軟件上,DSP完成數據包的讀和寫工作,主要是通過軟件編程來控制CS8900A以太網控制芯片中的各寄存器,從而實現嵌入式系統接入以太網的通信功能[4]。圖 2所示為uIP協議棧與系統底層和應用程序之間的接口關系圖。

圖2 uIP協議棧與各層之間的接口關系圖

2.1 底層驅動程序的設計

本系統采用查詢方式來完成CS8900A芯片的軟件編程控制工作。這一工作主要分為以下3個過程:

(1)首先是完成以太網控制芯片的初始化工作,由初始化函數 ethernet_driver_init(void)來完成發送/接收配置寄存器的相關設置工作,如對CS8900A進行軟件復位、設置以太網接口參數以及設置以太網的硬件地址。

(2)若發送數據,則由數據發送函數ethernet_driver_write()先將發送命令寫入CS8900A的TxCMD寄存器中,其次在CS8900A的Txlength寄存器中寫入將要發送的數據幀長度,接著檢查BusStatus寄存器的PPD,待PPD處于空閑狀態時將要發送的數據幀寫入CS8900A中,最后CS8900A將自動決定數據幀以相應的報文根據TxCMD寄存器的設置向以太網上發送。

(3)若以太網接收到數據包,則由數據接收函數ethernet_driver_write()讀取數據包,CS8900A將根據接收配置寄存器的設置自動對接收的報文進行預處理。

2.2 uIP協議棧的設計

由瑞典計算機科學學院的Adam Dunkels開發的uIP協議棧是一種免費的、可實現的且非常小的TCP/IP協議棧,它是為8 bit和 16 bit處理器專門設計的[5]。uIP協議棧是使用C語言編寫的,它移植起來方便而且代碼也相當簡潔。uIP協議棧去掉了完整的TCP/IP中不常用的功能,簡化了通信流程,占用的資源少,處理速度快。

基于DSP的嵌入式系統uIP協議棧中,根據需要只實現了 ARP、IP、ICMP、UDP協議。TCP提供面向連接的、可靠的、點對點的服務[6],但 TCP開銷大,傳輸速度慢;雖然UDP是面向無連接的,由于UDP沒有可靠性的保證機制,因此能以較快的速度進行數據通信;UDP協議的開銷很小,傳輸率比TCP高出很多,實時性更強,所以uIP協議中采用UDP協議作為運輸層協議。該uIP協議棧的網絡體系結構如圖3所示。

圖3 uIP協議棧體系結構

2.3 uIP協議棧的實現

uIP協議棧的實現主要集中在uip.c的源文件里,代碼簡潔。圖4所示為uIP整個系統的主程序流程圖。在這個主程序流程圖中,初始化工作是由底層硬件完成的,主要是對物理層的一些接口進行配置和綁定。uIP協議棧接收數據包的過程實際上就是對數據包進行解析,當網絡驅動設備發送數據包過來時,首先讀取數據包判斷是IP包還是ARP包,如果是ARP包,則進行ARP處理;若是IP包,則判斷其上層協議是UDP協議還是ICMP協議,再分別對其進行處理。當有數據發送時,網絡驅動設備的硬件將自行判別數據包并且完成數據包的封裝工作。

圖4 uIP協議棧數據包處理流程圖

2.3.1 ARP協議

ARP協議是由源文件Uip_arp.c實現的,其中包含uip_arp_init()、uip_arp_timer()、uip_arp_update()、uip_arp_arpin()和 uip_arp_out()5 個函數。 uip_arp_init()完成 ARP 的初始化工作,初始化ARP首部、入口地址等。uip_arp_timer()完成動態映射表的老化功能,這個函數每10 s被調用一次,若動態映射表里的映射關系在連續20 min內沒有發生變化,則其映射將失效。uip_arp_update()完成動態映射表的更新功能。void uip_arp_arpin()對接收到的 ARP分組進行處理。uip_arp_out()完成ARP請求的自動發送功能,它是在即將發送一個IP分組前被調用。

2.3.2 IP協議

IP協議由ip_recv和ip_send兩個函數段來實現。ip_send函數段完成IP數據包的發送功能,接收上層協議傳送過來的數據包加上IP首部進行封裝,然后設置srcipaddr、destipaddr、proto 及 ipchksum, 最后交給下層協議處理好發送;ip_recv函數段完成IP數據包的接收功能,當收到數據包時首先判斷其 vhl、length、destipaddr及ipchksum是否正確,然后根據IP報文首部的類型碼將該數據包交給相應的上層協議處理。

2.3.3 ICMP協議

ICMP協議主要由標志段icmp_input實現。ICMP協議在實現時比較簡單,具體操作是將ICMP的報文字段從回送類型變成回送應答類型,再另外計算checksum并修改checksum字段。

2.3.4 UDP協議

UDP協議主要由函數udpfound和udpsend兩個標志段實現。udpfound函數段負責處理收到的UDP數據,包括取出源IP地址、目的地址和源端口,并判斷它的端口號和校驗和是否都正確,如果正確再獲取目的端口,調用應用程序對接收到的數據包進行相應處理,否則丟棄。udpsend函數段完成UDP數據包的發送功能,如果接收到來自應用程序的數據,而這時又有數據要發送,那么首先分配空間給待發送的數據,然后拷貝數據到UDP數據包的數據部分,并對UDP首部各個字段對應的源端口號和目的端口號進行設置,最后再調用ip_send函數將欲發送的數據交給IP協議發送。

3 系統仿真

利用計算機進行仿真時,在uIP協議棧中,將目標機(也就是開發板)的IP地址設置成 129.27.137.103,區別于PC的129.27.137.104,即構成局域網使得它們能在同一個網段內進行通信。假設已經建立了一條成功的通信鏈路,這時應該出現當服務器發出命令,目標機立即會給出回應這樣的結果。DOS操作系統下ICMP測試圖如圖5所示。從圖5中可以得知,發送的4個ICMP數據包均得到了回應,其中最長的回應時間為18 ms,最短的回應時間不到1 ms,平均回應時間為10 ms。這時說明開發板與計算機建立了一條可靠的連接,ping通信成功,為系統各功能的實現,提供了可靠的基礎。

圖5 DOS操作系統下ICMP測試圖

本文利用計算機進行了仿真測試,完成了DSP與PC的ping通信,實現了基于DSP的嵌入式系統接入以太網的功能。但仍需解決的問題是,由于UDP協議不可靠、面向無連接,難免會出現數據包亂序到達、數據包丟失的現象。因此針對這些現象可以對數據進行一些處理,如對每一組數據進行順序標記,這樣可以在應用層發現數據的丟失和亂序,從而予以更正;在數據包前后加一校驗碼保證接收數據正確等,這將在后續工作中討論。

[1]王采蓮,郭志強.嵌入式TCP/IP協議棧在指揮網絡中的實現 [C].AECC專題學術研討會論文集,2007,20(5):162-163.

[2]TI.TMS320VC5510AI DataSheet[Z].2004.

[3]Cirrus Logic.CS8900A Product Data Sheet[EB/OL].[2007-08-01]http://www.cirrus.corn.

[4]岳世為,尹為民.uIP協議棧在基于DSP以太網通信系統中的應用[J].計算機與數字工程,2010,38(1):187.

[5]DUNKELS A.The uIP Embedded TCP/IP Stack[EB/OL].[2006-06-01]http://www.Sics.se.

[6][阿根廷]Scaglia Sergio.嵌入式 Internet TCP/IP基礎、實現及應用[M].潘琢金,徐蕾,拱長青,等,譯.北京:北京航空航天大學出版社,2008.

猜你喜歡
嵌入式功能系統
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 99re经典视频在线| 国产精品免费久久久久影院无码| 精品国产中文一级毛片在线看| 夜夜爽免费视频| 欧美色图久久| 人妻丰满熟妇αv无码| 精品无码人妻一区二区| 成·人免费午夜无码视频在线观看| 国产欧美精品一区二区 | 欧美成人第一页| 国产精品浪潮Av| 制服丝袜亚洲| 欧美成人免费午夜全| 最新国产高清在线| 97精品久久久大香线焦| 26uuu国产精品视频| 日本在线亚洲| 天天摸夜夜操| 亚洲无码37.| 大学生久久香蕉国产线观看| 亚洲国产av无码综合原创国产| 精品视频免费在线| 精品国产一区二区三区在线观看 | 国产精品一区在线观看你懂的| 欧美国产在线精品17p| 成人在线综合| 漂亮人妻被中出中文字幕久久| 亚洲人成日本在线观看| 色网在线视频| 国内视频精品| 韩日无码在线不卡| 久久久亚洲国产美女国产盗摄| 91精品小视频| 九色视频一区| 91精品视频在线播放| 日本午夜影院| 中国精品自拍| 精品小视频在线观看| 一本色道久久88亚洲综合| …亚洲 欧洲 另类 春色| 成人午夜久久| 91亚洲免费| 亚洲免费黄色网| 黑人巨大精品欧美一区二区区| 色婷婷在线影院| 亚洲美女久久| 91在线一9|永久视频在线| 91精品啪在线观看国产| 亚洲欧美不卡视频| 成人噜噜噜视频在线观看| 嫩草影院在线观看精品视频| 在线看免费无码av天堂的| 91www在线观看| 91麻豆精品视频| 91亚瑟视频| 久久精品国产一区二区小说| 欧美成人综合在线| 久久亚洲天堂| 国产乱子伦一区二区=| 毛片手机在线看| 亚洲精品第一在线观看视频| 精品国产美女福到在线不卡f| 欧美亚洲国产视频| 亚洲视频一区| jizz亚洲高清在线观看| 亚洲欧美日韩精品专区| 中字无码av在线电影| 亚洲国产综合精品中文第一| 亚洲专区一区二区在线观看| 欧美成人精品高清在线下载| 国产精品手机在线播放| 国产福利在线观看精品| 欧美精品成人一区二区在线观看| 精品视频一区在线观看| 亚洲色精品国产一区二区三区| 国产毛片高清一级国语| yjizz视频最新网站在线| 人妻21p大胆| 国产精品永久免费嫩草研究院| 在线99视频| 日本影院一区| 亚洲国产日韩欧美在线|