
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于niosii的嵌入式網絡通信系統圖 1 系統模塊圖系統模塊圖1所示。設計采納了altera公司的cyclone ii系列芯片。在其中配置niosii軟核處理器控制外圍設備和協議棧的運行。而且添加了一個計算校驗和的用戶命令(cal_checksum)。片上ram用作內存運行程序;flash用法了sharp公司的lh28f160s3t-l13a,用來存儲程序和配置信息,系統上電后,先將程序從flash中拷貝到片上ram運行;網絡接口芯片用法smsc公司的10/100m以太網接口控制芯片lan9c111,所以在sopc builder中配置系統時,需要加上altera免費提供的lan9c111接
2、口控制器,嵌入式設備通過lan9c111就可以接入以太網,與網絡上的其他設備舉行網絡通信;sdram選用micron公司的mt48lc8m16a2,用來緩存網絡數據,其中sdram控制器用法altera免費提供的sdram控制器。要提高系統的性能,一方面是提高處理器的處理能力;另一方面就是將用軟件處理比較費時光的模塊用法硬件模塊來實現。經過分析發覺,在網絡協議棧的運行過程中,最耗費時光的是校驗和的計算,尤其是當數據量十分大的時候。為此,特地用硬件定制了一個用戶命令校驗和計算命令(cal_checksum),對數據校驗和的計算實現硬件加速,作為一個命令添加到niosii系統中,在協議棧程序中調用
3、來縮短計算校驗和的時光,提高處理速度,達到提升系統性能的目的。2.3 校驗和計算命令(cal_chkusm)在上面的分析中已經提到過,在囫圇協議棧的處理中,最耗時光的就是數據校驗和的計算,特殊是當數據長度很大時。所以在設計中將數據校驗和的計算采納硬件模塊來實現,作為niosii的一個用戶自定義命令,以提大學驗和計算的速度。在協議棧的移植過程中,將數據的寬度修改為16位,便利最后將16位校驗和的計算結果添加到相應的域。校驗和的計算需要無數個時鐘周期才干完成,所以校驗和計算命令用法了multi-cycle用戶命令結構。multi-cycle用戶命令的端口操作有:固定長度和可變長度。由于網絡傳輸的數
4、據長度是不斷變幻的,所以校驗和計算命令挑選可變長度操作,這也影響到端口信號的挑選。multi-cycle用戶命令結構的信號有:reset,clk,clk_en,start,dataa31:0,datab31:0,done,result31:0。其中除了reset,clk,clk_en三個信號外,其他信號都是可選的,要按照詳細的應用挑選。本設計中校驗和計算命令用到了start,dataa31:0,done,result31:0。start信號作為數據有效信號,dataa31:0為數據輸入信號,當校驗和計算完成時done信號有效,通知cpu讀取result端口上的數據,因此計算校驗和命令規律必需確
5、保當done信號有效時,result端口上的數據有效。在sopc builder中添加校驗和計算命令,然后重新產生系統,再在quartusii中更新并編譯,在ide的重新編譯一次工程,系統庫中的“system.h”文件包含校驗和計算命令的宏定義如下:define alt_ci_cal_chksum_n 0x00000000define alt_ci_cal_chksum(a) _builtin_custom_ini(alt_ci_cal_chksum_n,(a)用戶只需要在源文件中將計算校驗和部分用法上面的宏做相應的替換就可以,對用戶來說這再容易不過了,就像是調用一個子函數。由此可見,基于ni
6、osii軟核處理器開發的嵌入式系統,具有普通嵌入式處理器不能比擬的優勢。3 軟件設計協議棧用法了現在在嵌入式應用領域已經很成熟的uip。假如用法altera提供的lwip協議棧,那么就得考慮其在嵌入式操作系統上的移植,這樣無疑會增強系統軟件設計的復雜度和代碼量。設計的關鍵部分是uip協議棧在nios ii上的移植。針對niosii的特點,將uip做適當的修改,使niosii處理器的處理能力得到充分發揮,提高系統的性能。uip本來是針對8位處理器的,現在將其修改為16位,這樣理論上處理能力就提高了一倍,系統的性能也就提升了一倍。按照tcp/ip模型結構,數據鏈路層和物理層用法網絡接口芯片lan9
7、c111完成;網絡層和傳輸層協議解析在niosii中由嵌入式tcp/ip協議棧實現;應用層由用戶按照需要編寫。各個模塊合起來共同完成網絡通信功能。3.1 底層驅動程序的編寫lan9c111芯片的底層驅動是由altera免費提供的,可以調用這些底層驅動來完成初始化、通信建立、監聽等通信功能。這些底層驅動函數是已經封裝好的,用戶不需要了解其詳情就可以編寫網絡通信程序,但是為了舉行高級的開發,必需對囫圇程序的工作機制有一定的了解。幾個主要的底層驅動函數來完成啟動、復位和初始化phy、以太網packet的收發及中斷處理函數等工作:static void r_lan91c111_enable():用于啟
8、動芯片工作,使能發送和接收。int nr_lan91c111_reset():對芯片盡心復位。static int r_lan91c111_init_phy( ):完成物理層芯片的初始化。int nr_lan91c111_set_irq():設置芯片的中斷上層的通信程序調用這些函數實現網絡接口的控制,通信功能的實現以此為基礎。3.2 通信軟件的實現通信軟件完成設備之間通信的主要功能,主要是uip協議棧的。傳輸層實現了tcp和udp,這在軟件設計時就需要做不同的考慮,不同的數據傳輸需求要求用法不同的傳輸層協議,比如,實時性要求高的傳輸應用就要求用法無銜接的udp協議;對實時性要求不高并且要保證數
9、據傳輸的牢靠性的應用用法面對銜接的、牢靠的tcp協議可以保證傳輸的牢靠性。程序框架如下:main()netif_init(); / 網絡接口初始化uip_init(); / 協議棧初始化arp_table_init(); / arp 表初始化netconn_new() / 建立新的銜接netconn_bind() / 綁定端口號netconn_listen() / 偵聽端口while(1)if (收到數據) / 處理接收的數據else if(發送數據) / 發送數據else / 返回預備下次處理圖2是軟件處理流程。圖2 通信軟件流程圖4 結束語采納niosii舉行系統設計,因為sopc builder工具的強大系統開發功能再加上niosii ide集成開發環境,使得系統的設計變得容易便利、可擴展性強,并且系統軟件的設計與系統設計同時舉行,大大縮短開發周期。在該網絡平臺的設計中,用法了嵌入式領域十分成熟的uip,并且是開放源
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCMA 0201-2024瀝青混合料攪拌設備自動化上料系統
- T/CCMA 0158-2023樁架內漲式離合器自由下放卷揚機裝機測試方法
- T/CCIAS 014-2023火鍋蘸料
- T/CAQI 71-2019管道直飲水系統服務規范
- 2024年度江蘇省二級注冊建筑師之建筑結構與設備押題練習試題A卷含答案
- 彈唱教學面試題及答案
- 弟子出師考試題及答案
- 東莞醫院面試題及答案
- 福州美工面試題及答案
- 小兒面部皮疹的臨床護理
- 3D打印砼構件工藝優化與應用拓展
- 中醫藥文化進校園
- 四年級四年級下冊閱讀理解20篇(附帶答案解析)經典
- 農藥安全使用技術
- 骨纖的影像學診斷
- 三年級下冊安全教育課件
- 公路物流運輸項目整體服務投標方案(技術標)
- 2024新版護欄加工合同范本doc
- 沖壓模具畢業設計答辯課件
- 實驗室質量控制規范 考試題附有答案
- 胸椎骨折的護理查房
評論
0/150
提交評論