《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 基于ARM7處理器uC/OS系統(tǒng)的Nos-Wlan移植

基于ARM7處理器uC/OS系統(tǒng)的Nos-Wlan移植

2011-06-24
作者:余俊(北京中電華大電子設(shè)計(jì)有限責(zé)任公司)

1 引言

目前,在無線監(jiān)控、工業(yè)控制、視頻傳輸?shù)刃袠I(yè)應(yīng)用中,嵌入式無線系統(tǒng)主要采用以NORDIC解決方案為代表的無操作系統(tǒng)環(huán)境,該方案由“CPU+無線數(shù)傳模塊”構(gòu)成,能夠?qū)崿F(xiàn)短距離低帶寬無線通信。為滿足這種需求,北京中電華大電子設(shè)計(jì)有限責(zé)任公司(以下簡稱華大電子)適時(shí)的推出了不依賴于任何操作系統(tǒng)的Nos-Wlan模塊以加速現(xiàn)有產(chǎn)品的無線功能的升級(jí),模塊支持國內(nèi)(WAPI)/國際(802.11i)安全標(biāo)準(zhǔn)。本文主要介紹了華大電子Nos-Wlan模塊在基于ARM7核處理器LPC2478uC/OS-ii環(huán)境下的移植。

2 Nos-Wlan模塊介紹

Nos-Wlan系列模塊產(chǎn)品是為了滿足工業(yè)應(yīng)用、安防監(jiān)控等領(lǐng)域中,現(xiàn)有產(chǎn)品的無線功能升級(jí)的需要而研發(fā)的,其最大的特點(diǎn)在于:它提供了一個(gè)不基于任何操作系統(tǒng)的驅(qū)動(dòng)軟件,可以集成到任何的系統(tǒng)平臺(tái)中運(yùn)行,并實(shí)現(xiàn)高速的數(shù)據(jù)傳輸,使得沒有操作系統(tǒng)也能使用Wi-Fi進(jìn)行視頻傳輸成為可能。Nos-Wlan產(chǎn)品硬件如圖1所示:

圖 1 TLG09UB09

Nos-Wlan其驅(qū)動(dòng)軟件結(jié)構(gòu)如圖2所示:

圖 2 Nos-Wlan驅(qū)動(dòng)結(jié)構(gòu)

Nos-Wlan模塊集成到主機(jī)系統(tǒng)中的位置如圖3所示:

圖 3 Nos-Wlan在主機(jī)系統(tǒng)的位置

3 LPC2478處理器uC/OS-ii系統(tǒng)框圖

該系統(tǒng)以NXP的LPC2478處理器為核心,外圍集成了FLASH,SDRAM,UART模塊,以太網(wǎng)接口模塊,USB OTG接口模塊,LCD液晶屏和觸摸屏模塊,以及以FPGA為核心的視頻采集模塊以及華大電子的Nos-Wlan模塊,該系統(tǒng)主要應(yīng)用于視頻監(jiān)控領(lǐng)域,其系統(tǒng)硬件框架如圖4所示:

圖 4 系統(tǒng)硬件框架

4 Nos-Wlan模塊軟件移植

根據(jù)華大電子Nos-Wlan軟件用戶手冊,Nos-Wlan模塊軟件移植所調(diào)用的模塊內(nèi)部接口函數(shù)有:hedrv_Init,hedrv_UsbPlugIn,hedrv_UsbPullOut,hedrv_UsbRx,hedrv_UsbTxDone,hedrv_UsbControlDone,hedrv_TickFunction,所需要實(shí)現(xiàn)的模塊內(nèi)部回調(diào)函數(shù)有:hosts_UsbHostReset,hosts_UsbTx,hosts_UsbControl,Nos-Wlan模塊軟件移植代碼部分主要實(shí)現(xiàn)模塊內(nèi)部的初始化,模塊內(nèi)部所使用源時(shí)鐘注冊,USB控制幀及批量傳輸幀的發(fā)送和接收。其中,系統(tǒng)USB HOST(OHCI)驅(qū)動(dòng)是基于周立功公司所提供的基于U盤的OHCI驅(qū)動(dòng)修改而來,以適應(yīng)USB無線網(wǎng)卡的需求。

4.1 模塊初始化

模塊初始化函數(shù)aq3_usb_init,完成整個(gè)模塊的初始化,包括Nos Wifi模塊內(nèi)部內(nèi)存池的初始化(調(diào)用模塊接口函數(shù)hedrv_Init)、USB傳輸部分主數(shù)據(jù)結(jié)構(gòu)的初始化、USB傳輸主線程的創(chuàng)建、模塊內(nèi)部源時(shí)鐘的初始化及網(wǎng)卡的初始化(調(diào)用模塊接口函數(shù)hedrv_UsbPlugIn),網(wǎng)卡初始化完成后模塊內(nèi)部會(huì)調(diào)用用戶注冊的初始化完成回調(diào)函數(shù)(DevInitDone,用戶實(shí)現(xiàn)),該函數(shù)由網(wǎng)卡初始化函數(shù)hedrv_UsbPlugIn的參數(shù)傳入。

4.2 模塊的卸載

模塊卸載函數(shù)aq3_usb_exit,完成整個(gè)模塊的卸載,包塊模塊主源時(shí)鐘的釋放、Nos Wifi模塊的卸載(調(diào)用模塊接口函數(shù)hedrv_UsbPullOut)及所申請(qǐng)資源的釋放等。

4.3 Nos-Wlan模塊臨界保護(hù)的實(shí)現(xiàn)

由于ucos-ii是實(shí)時(shí)的多任務(wù)嵌入式操作系統(tǒng),模塊需要對(duì)相關(guān)數(shù)據(jù)結(jié)構(gòu)進(jìn)行臨界保護(hù),其實(shí)現(xiàn)只需要使用ucos-ii提供的臨界保護(hù)函數(shù)即可:

void hosts_EnterCritical (void)

{

OS_ENTER_CRITICAL();

}

void hosts_LeaveCritical (void)

{

OS_EXIT_CRITICAL();

}

4.4 模塊源時(shí)鐘

模塊的源時(shí)鐘時(shí)由系統(tǒng)tick定時(shí)器產(chǎn)生的,驅(qū)動(dòng)向系統(tǒng)tick服務(wù)程序注冊定時(shí)器超時(shí)回調(diào)函數(shù),該函調(diào)函數(shù)進(jìn)行計(jì)時(shí),當(dāng)10ms定時(shí)時(shí)間到時(shí),該函數(shù)調(diào)用模塊定時(shí)器超時(shí)處理回調(diào)函數(shù)hedrv_TickFunction。

4.5 USB控制幀、Bulkin幀、Bulkout幀傳輸

本系統(tǒng)中USB幀的發(fā)送都是統(tǒng)一在USB傳輸主線程里處理的,USB相關(guān)幀的傳輸接口函數(shù)只需要完成相關(guān)發(fā)送數(shù)據(jù)結(jié)構(gòu)的初始化后將其提交給USB傳輸處理主線程即可。USB控制幀傳輸函數(shù)hosts_UsbControl只需完成USB標(biāo)準(zhǔn)請(qǐng)求數(shù)據(jù)結(jié)構(gòu)USB_DEV_REQ的初始化,USB BULKOUT幀傳輸函數(shù)hosts_UsbTx只需要完成USB請(qǐng)求數(shù)據(jù)結(jié)構(gòu)urb的初始化,USB BULKIN幀傳輸函數(shù)usb_bulkin也是只需要完成USB請(qǐng)求數(shù)據(jù)結(jié)構(gòu)urb的初始化。USB傳輸主線程usb_transfer_thread,主要處理USB控制幀和批量傳輸幀的發(fā)送及其USB傳輸完成后的處理,其中USB控制傳輸采用同步的通信方式,批量傳輸采用異步的方式,提交urb后即返回,等到傳輸完成后USB HOST驅(qū)動(dòng)調(diào)用提交urb時(shí)注冊的回調(diào)函數(shù),該回調(diào)函數(shù)發(fā)送消息給USB傳輸主線程,由主線程完成對(duì)傳輸完成后的后續(xù)處理。USB傳輸完成后,主線程將根據(jù)完成幀的類型分別調(diào)用模塊控制幀回調(diào)函數(shù)hedrv_UsbControlDone或者BULKOUT幀回調(diào)函數(shù)hedrv_UsbTxDone通知模塊本次傳輸完成,后模塊判斷內(nèi)部緩存隊(duì)列是否為空,若不為空,則模塊調(diào)用控制幀或者BULKOUT幀傳輸回調(diào)函數(shù)(hosts_UsbControl,hosts_UsbTx)繼續(xù)發(fā)送。BULKIN幀傳輸完成后,傳輸完成回調(diào)函數(shù)將調(diào)用模塊內(nèi)部接口函數(shù)hedrv_UsbRx將接收到的數(shù)據(jù)幀提交模塊處理后繼續(xù)提交BULKIN幀以接受網(wǎng)卡上行數(shù)據(jù)。

4.6 Nos-Wlan網(wǎng)絡(luò)協(xié)議棧接口

該部分移植代碼涉及的模塊回調(diào)函數(shù)有:hedrv_AllocateNetBuf,hedrv_NetSendNetBuf及hedrv_NetSend,需要用戶實(shí)現(xiàn)的模塊回調(diào)函數(shù)是hosts_NetRecv。其中hedrv_NetSend是hedrv_AllocateNetBuf和hedrv_NetSendNetBuf的綜合,hedrv_AllocateNetBuf用于向模塊申請(qǐng)發(fā)送內(nèi)存,hedrv_NetSendNetBuf進(jìn)行發(fā)送操作,而hedrv_NetSend函數(shù)則是將用戶數(shù)據(jù)拷貝到模塊內(nèi)部所申請(qǐng)的動(dòng)態(tài)內(nèi)存里進(jìn)行相關(guān)處理及發(fā)送。用戶實(shí)現(xiàn)hosts_NetRecv回調(diào)函數(shù)用于處理網(wǎng)卡接收的數(shù)據(jù)幀,其中數(shù)據(jù)幀是以以太網(wǎng)包的形式由模塊內(nèi)部調(diào)用該函數(shù)以提交給用戶進(jìn)行處理的。

調(diào)用模塊MAC幀發(fā)送函數(shù)需要用戶將需要發(fā)送的數(shù)據(jù)包打包成以太網(wǎng)數(shù)據(jù)包后提交模塊發(fā)送,調(diào)用函數(shù)hedrv_NetSend,用戶只需將打包的以太網(wǎng)數(shù)據(jù)包和長度傳給該函數(shù)即可,模塊內(nèi)部將完成緩存空間的申請(qǐng)和釋放,用戶也可以調(diào)用函數(shù)hedrv_AllocateNetBuf自行申請(qǐng)緩存空間并將以太網(wǎng)數(shù)據(jù)包拷貝至空間后調(diào)用函數(shù)hedrv_NetSendNetBuf進(jìn)行發(fā)送,申請(qǐng)的空間不需要用戶進(jìn)行釋放操作,模塊內(nèi)部將會(huì)在發(fā)送成功后自行釋放。

當(dāng)網(wǎng)卡接收到MAC數(shù)據(jù)幀時(shí),模塊將調(diào)用回調(diào)函數(shù)hosts_NetRecv提交用戶處理,該函數(shù)由用戶實(shí)現(xiàn),提交該函數(shù)的MAC數(shù)據(jù)模塊將其打包成以太網(wǎng)數(shù)據(jù)包,用戶只需要按以太網(wǎng)數(shù)據(jù)包處理即可。

5 結(jié)論

本文詳細(xì)介紹了華大電子Nos-Wlan模塊在LPC2478處理器uC/OS-ii系統(tǒng)上的移植,整個(gè)項(xiàng)目周期為2周,其中系統(tǒng)CPU主頻為40MHz,Nos-Wlan模塊在該平臺(tái)下吞吐可達(dá)4Mbps,穩(wěn)定通信可達(dá)72小時(shí)不斷網(wǎng)。通過該系統(tǒng)的移植,證明了華大電子Nos-Wlan模塊能夠加速客戶產(chǎn)品無線功能的升級(jí)。

參考文獻(xiàn)

[1] 北京中電華大電子設(shè)計(jì)有限公司. Nos-Wlan軟件用戶手冊[Z]. 北京:北京中電華大電子設(shè)計(jì)有限公司,2009.

[2] Compaq,Microsoft,National Semiconductor.Open Host Controller Interface Specification for USB[S].1999.

[3] Compaq,Hewlett-Packard,Intel,Lucent,Microsoft,NEC,Philips.Universal Serial Bus Specification Revision 1.1 [S].1998.

[4] 邵貝貝等. 嵌入式實(shí)時(shí)操作系統(tǒng)uC/OS-II[M]. 北京:北京航空航天大學(xué)出版社,2006.

[5] NXP Semiconductors.LPC24XX User manual Rev.04[S].2009.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
狠狠久久亚洲欧美| 亚洲人成在线免费观看| 欧美成人免费全部| 久久久久一区二区| 欧美亚洲在线视频| 亚洲欧美电影院| 亚洲专区免费| 亚洲综合二区| 性欧美暴力猛交69hd| 亚洲欧美在线一区二区| 亚洲性xxxx| 亚洲女同精品视频| 亚洲一区日韩在线| 亚洲影院色无极综合| 亚洲一区影院| 午夜精品久久久久久久久| 亚洲欧美日韩精品久久久久| 亚洲欧美一区二区精品久久久| 亚洲一区二区三| 99视频精品全部免费在线| 一本色道久久88亚洲综合88| 日韩亚洲欧美成人| 一区二区三区视频在线看| 亚洲一区二区在线观看视频| 亚洲在线中文字幕| 午夜久久tv| 久久精品99国产精品| 亚洲电影免费在线观看| 亚洲欧洲日本在线| 一本色道**综合亚洲精品蜜桃冫| 欧美一级午夜免费电影| 欧美一区二区在线| 亚洲电影一级黄| 亚洲日本电影| 一本色道久久综合亚洲精品高清 | 久久精品成人一区二区三区蜜臀 | 亚洲国产精品一区二区第一页| 国产精品成人免费| 欧美视频中文一区二区三区在线观看 | 亚洲你懂的在线视频| 亚洲一区视频在线| 欧美一区二区黄色| 快播亚洲色图| 欧美日韩精品免费观看视频完整 | 先锋影音一区二区三区| 欧美在线观看视频一区二区三区| 一区二区三区久久网| 亚洲一区二区三区免费观看| 性欧美激情精品| 亚洲三级视频| 亚洲欧美日韩另类| 久久久蜜桃一区二区人| 欧美美女bb生活片| 国产精品每日更新| 伊人久久大香线蕉av超碰演员| 国产一区二区三区直播精品电影| 国产精品美女视频网站| 国产一区自拍视频| 亚洲精品网址在线观看| 午夜精品视频一区| 亚洲另类自拍| 欧美一区二区三区视频在线| 欧美91视频| 国产精品青草综合久久久久99| 国产精品高潮呻吟视频| 国产揄拍国内精品对白| 亚洲裸体在线观看| 欧美亚洲综合另类| 一区二区三区欧美在线观看| 久久久国产一区二区三区| 欧美日韩亚洲综合| 伊人久久久大香线蕉综合直播| 玉米视频成人免费看| 99在线精品观看| 亚洲国产美国国产综合一区二区| 亚洲国产成人精品久久| 亚洲一区在线直播| 狂野欧美激情性xxxx欧美| 欧美午夜宅男影院| 亚洲高清资源| 亚洲综合欧美日韩| 日韩视频亚洲视频| 久久综合给合| 国产日韩欧美一区在线 | 日韩一级精品| 亚洲福利视频在线| 欧美在线亚洲| 欧美特黄视频| 亚洲欧洲在线播放| 亚洲国产精品久久91精品| 欧美一级在线播放| 国产精品激情| 亚洲国产精品精华液2区45| 亚洲视频在线看| 日韩亚洲视频在线| 久久视频免费观看| 国产九九精品| 亚洲无玛一区| 亚洲一区二区三区777| 欧美日本不卡视频| 亚洲国产精品一区二区三区| 久久精品99无色码中文字幕| 欧美在线免费| 国产精品一区一区| 亚洲一区二区在| 亚洲一区二区在线视频| 欧美日韩精品免费观看| 亚洲欧洲一区二区三区| 亚洲黄色尤物视频| 免费成人小视频| 欲香欲色天天天综合和网| 欧美怡红院视频一区二区三区| 亚洲国产黄色| 久久精品最新地址| 国产伦精品一区二区三区四区免费 | 亚洲大片av| 亚洲国产精品v| 蜜桃av一区二区三区| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲欧洲在线免费| 亚洲精品久久久久中文字幕欢迎你| 在线亚洲+欧美+日本专区| 欧美高清视频一区二区三区在线观看| 欧美性片在线观看| 亚洲精品乱码久久久久久蜜桃91| 亚洲欧美精品suv| 亚洲欧美日韩国产另类专区| 欧美日韩一区二区三区高清| 亚洲乱码久久| 亚洲一区尤物| 国产精品地址| 亚洲综合导航| 久久久久国色av免费观看性色| 欧美日韩国产综合视频在线观看中文 | 日韩视频精品在线| 亚洲天堂成人在线观看| 欧美午夜无遮挡| 亚洲一区在线看| 先锋影音久久| 国产一区久久久| 亚洲国产精品黑人久久久| 欧美成人精品高清在线播放| 亚洲激情成人网| 一区二区三区欧美视频| 国产精品久久久久永久免费观看 | 久久狠狠亚洲综合| 国产一区二区三区视频在线观看| 一本色道久久加勒比精品| 这里只有精品电影| 国产精品黄视频| 欧美一区在线直播| 欧美国产日韩一区二区| 一本久久a久久精品亚洲| 亚洲欧美日韩国产中文| 国产视频精品xxxx| 亚洲全部视频| 欧美视频一二三区| 欧美一区二区三区播放老司机| 午夜精品一区二区三区在线| 国产精品一区2区| 亚洲国产日韩欧美在线图片 | 激情综合色综合久久综合| 亚洲毛片av在线| 国产精品扒开腿爽爽爽视频| 性欧美1819性猛交| 另类人畜视频在线| 日韩一级裸体免费视频| 欧美在线一二三四区| 亚洲国产婷婷| 小嫩嫩精品导航| 亚洲高清在线观看| 亚洲欧美另类在线| 亚洲第一精品夜夜躁人人爽| 亚洲午夜激情在线| 国内精品久久久久久| 中文网丁香综合网| 极品尤物av久久免费看| 在线中文字幕一区| 狠狠色伊人亚洲综合成人| 亚洲午夜激情免费视频| 国产一区二区三区四区| 亚洲最快最全在线视频| 国产日韩av一区二区| 亚洲精品裸体| 国产日产欧美精品| 99精品视频一区二区三区| 国产亚洲综合在线| 在线亚洲精品| 精品69视频一区二区三区| 亚洲色图在线视频| 一区二区三区中文在线观看 | 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲婷婷综合久久一本伊一区| 国产精品99久久久久久久久久久久| 欧美激情一区二区三区在线| 亚洲视频专区在线| 欧美69wwwcom| 午夜一区二区三视频在线观看| 久久久久久午夜| 亚洲午夜激情|