www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 通信技術 > 通信技術
[導讀] 引言眾所周知,WiFi與其他短距離無線通信相比,具有通信速率高、穩(wěn)定、安全、支持設備多等優(yōu)點。尤其是近幾年智能手機迅速發(fā)展,使WiFi快速普及,這就給傳統(tǒng)的嵌入式系統(tǒng)無線通信帶來了機遇和挑戰(zhàn)。就通信角度而言,

 引言

眾所周知,WiFi與其他短距離無線通信相比,具有通信速率高、穩(wěn)定、安全、支持設備多等優(yōu)點。尤其是近幾年智能手機迅速發(fā)展,使WiFi快速普及,這就給傳統(tǒng)的嵌入式系統(tǒng)無線通信帶來了機遇和挑戰(zhàn)。就通信角度而言,數以億計的智能手機其實就是一個個潛在的手持遙控器或數據終端,如果能在嵌入式系統(tǒng)中支持WiFi網絡,將極大地拓展與外部的通信方式。但是,由于WiFi對系統(tǒng)資源要求比較高,所以嵌入式系統(tǒng)采用WiFi的發(fā)展相對滯后,常見的方案是,在原有的嵌入式系統(tǒng)中外接一個WiFi通信轉接模塊,將Wi Fi信號轉換為UART、SPI等常見的通信方式。這種方式實現比較簡單,但是缺點也非常明顯,額外增加了成本,這也是阻礙嵌入式系統(tǒng)WiFi發(fā)展的一個主要因素。本文介紹了直接將WiFi網卡集成到嵌入式系統(tǒng)的解決方案,系統(tǒng)MCU直接驅動USB接口的WiFi網卡,從而省去了WiFi轉UART等橋接模塊,明顯降低了系統(tǒng)成本,而且同時理論上解決了采用橋接模塊潛在的通信速率瓶頸問題。

1 系統(tǒng)方案

本文設計的嵌入式WiFi方案是智能手機以WiFi方式遙控智能小車的系統(tǒng),系統(tǒng)架構如圖1所示。手機端就是一個運行在手機上的Android應用程序,小車端的核心控制板采用STM32F105RB芯片,WiFi網卡采用基于RT5370的嵌入式模塊。RT5370是一款USB接口的WiFi芯片,基于其實現的USB無線網卡非常常見,價格優(yōu)勢明顯。STM32F105RB是ST公司STM32系列芯片的一款,72 MHz主頻,具有128 KB Flash、48 KB RAM和豐富的I/O資源,同時價格比較低,在中小嵌入式系統(tǒng)中廣泛采用,同時其支持USB OTG,可以驅動RT5370。

該系統(tǒng)的核心就是在基于STM32F105RB的小車控制板上實現對RT5370 WiFi模塊的支持,使該控制板工作在AP模式,手機通過WiFi從控制板獲得IP,然后運行相應的Android應用程序控制小車。

2 硬件設計

小車控制板包括WiFi接口和功率輸出驅動兩大部分。因為本文的重點是嵌入式WiFi實現,所以只給出該部分的硬件實現,如圖2所示。圖中STM32F105RB的USB工作在主機模式,與WiFi模塊通過6引腳2.0 mm的單排針連接。由于STM32F105RB USB模塊內部有下拉電阻,所以電路連接非常簡單。

3 軟件流程及移植

系統(tǒng)軟件架構如圖3所示。整個系統(tǒng)由USB驅動、WiFi協議棧、網絡協議棧、應用程序4個主要部分組成。

USB部分實現WiFi網卡和系統(tǒng)MCU之間的通信,WiFi網卡收發(fā)的數據通過USB與MCU進行交互,STM32F105RB作為USB主機,WiFi網卡作為USB客戶端。

WiFi協議棧負責802.11協議的解析和封裝,向下和USB驅動交互,向上和TCP/IP協議棧交互:發(fā)送端,從TCP/IP協議棧接收數據,封裝成WiFi封包,通過調用USB驅動實現物理發(fā)送;接收端,從USB驅動接收數據,解析802.11協議,傳送給TCP/IP協議棧,實現向應用層的傳遞。

TCP/IP協議棧實現IP、ICMP、UDP、TCP等協議,包括實現協議封裝、解析以及基本的路由。當前有很多優(yōu)秀的開源TCP/IP協議棧,本項目中選用LWIP,因為該協議比較成熟,適合資源有限的嵌入式系統(tǒng)。LWIP支持DHCP客戶端,但是在該系統(tǒng)中作為AP來用,需要DHCP服務器,這里自己設計了一個簡單的DHCP服務器。

應用程序部分,調用網絡編程接口和手機進行通信,將收到的數據轉化為驅動小車輸出的PWM信號,來驅動小車。

3.1 USB驅動

ST公司的固件庫提供了對于USB的支持。本系統(tǒng)就基于該USB庫架構,實現了USB WiFi模塊需要的特定功能。

STM32的USB庫架構如圖4所示,其給用戶提供的接口非常清晰,包括USB主機的初始化,以及對應狀態(tài)機的實現。

3.1.1 USB主機初始化

USB主機的初始化通過USBH_Init函數實現,這個函數有5個結構類型的參數,在調用這個函數前,需要先設置好這5個參數的內容。該函數原形如下:

參數pdev,phost分別代表STM32 USB的核心控制結構和USB主機的控制結構,在STM32的USB庫中已經定義,對應USB_OTG_CORE和USB_HOST。USB_OTG_FS_CORE_ID表示工作在USB的全速方式。參數Class_cb和usr_cb為用戶定義的USB類控制結構和用戶定義的初始化結構。這兩個結構是要實現的內容,其中,用戶定義的USB類控制結構,包括初始化、釋放、請求和狀態(tài)機4個處理函數,分別在代表用戶設計的USB類的初始化、釋放、初始化請求和正常工作狀態(tài)中會用到。

用戶根據要求分別實現對應的功能,對應本項目的WiFi模塊,具體的移植實現如下:

其中,USBH_CDC_InterfaceInit實現WiFi模塊的初始化,對應Linux版本驅動中的芯片寄存器配置、通信緩沖區(qū)配置、加載固件的掛鉤函數等處理,以及在MainVirtualIF_open中實現打開WiFi等操作。USBH_CDC_Handle則實現USB的狀態(tài)機功能。

用戶定義的初始化函數是給用戶提供一個實現自己特定初始化操作的接口,這里沒有用到。

這些參數都設置好后,直接調用USBH_Init即可實現對USB硬件和架構的初始化。

3.1.2 USB狀態(tài)機

USB初始化完成后,其核心處理都是由USB狀態(tài)機USBH_Process來實現從枚舉、功能處理到異?;謴偷鹊墓芾?,其中會通過函數掛鉤的方式調用在初始化過程中設置的對應函數。

具體狀態(tài)轉換過程如圖5所示。首先主機檢測是否有USB模塊插入,如果有,則轉入枚舉過程。對于本系統(tǒng)來說,WiFi模塊直接安裝在控制板上,上電后就會檢測到有插入并轉入枚舉過程;枚舉結束后,STM32F105RB的USB庫會給用戶提供一個用戶輸入和特定類初始化的操作,對于該WiFi模塊,歸屬于通信類,在類初始化操作中會作WiFi模塊相應地初始化,包括讀取模塊的配置信息、MAC地址等;在這些初始化過程完成后,會進入模塊狀態(tài)機處理過程,對于該WiFi模塊來說,就是循環(huán)處理接收數據的過程。在這個過程中如果發(fā)生異常,則進入異常處理后重新從空閑狀態(tài)開始狀態(tài)切換。標準的STM32F105RBUSB模塊還有USB模塊拔除的狀態(tài)轉換,由于該項目中WiFi模塊直接裝在母板上,所以不會進入這個狀態(tài)。

特別地,USB WiFi狀態(tài)機處理函數主要實現WiFi數據的傳輸,具體的傳輸通過USB的批處理傳輸方式進行。對于數據接收,系統(tǒng)會一直輪詢WiFi模塊,判斷是否有數據可用。如果有,則將數據讀入接收緩沖區(qū)中,并設置相應的標志通知上層軟件。對于數據發(fā)送,上層直接發(fā)起數據傳輸,調用USB發(fā)送函數,進行發(fā)送。

3.2 802.1 1協議驅動

WiFi協議棧的實現基于Mediatek官方提供的Linux源碼驅動,相應移植到該項目的STM32F105RB系統(tǒng)中。圖6分析了RT5370 Linux的驅動流程和需要完成的對應移植工作。

從左邊的驅動流程可以看出,首先是設置Linux驅動架構下面的probe、open等函數,在本系統(tǒng)中這塊并不需要,直接從硬件初始化開始,由于驅動本身就是可移植性比較好的C語言代碼,所以這塊代碼基本可以直接移植過來;然后是驅動所需的通信緩沖區(qū)的資源初始化,這部分和操作系統(tǒng)相關,根據本系統(tǒng)的情況,直接預留相應的內存作為通信緩沖區(qū);WiFi對應的配置信息在Linux下是一個配置文件,在存在根文件的系統(tǒng)中,對于沒有文件系統(tǒng)的情況,直接將對應的配置值以默認值的方式保存,但是這也導致了一個問題,相應的WiFi配置(如SSID等)不可以更改,需要在后續(xù)實現中完善;這些設置工作都準備好后,啟動對應的定時器和2個任務分別處理WiFi的廣播Beacon連接信息和實際用戶數據,并用相應的定時器和模塊實現。

3.3 TCP/IP協議棧LWIP

完成了WiFi驅動從Linux到STM32F105RB系統(tǒng)的移植后,相當于實現了OSI模型中網絡層的移植,后續(xù)就是相應協議棧的移植。本項目中協議棧選用LWIP,版本是v1.3.2。需要指出的是,由于該項目的USB WiFi工作于AP模式,需要實現DHCP服務器的功能。而在LWIP中只有DHCP客戶端功能,服務器需要自己實現,在本項目中根據需要實現了一個簡單的DHCP服務器。

3.4 應用程序

在實現了WiFi驅動、協議棧以及DHCP服務器后,基于STM32的WiFi已經可以工作,分別用手機和計算機與控制板連接,成功獲得IP,在計算機端運行ping命令,可以成功ping通。在此基礎上,編寫基于LWIP的套接子程序,以及相應的小車驅動程序,實現通過手機可以流暢地控制小車。

結語

試驗表明,該系統(tǒng)實現的WiFi除具有成本方面的優(yōu)勢外,還具有系統(tǒng)啟動快、通信響應快的特點,通常系統(tǒng)2 s即可以啟動,手機3 s即可以獲得IP,比常用路由器的響應快了很多;ICMP響應通常小于2 ms,響應速度的優(yōu)勢也非常明顯。用手機通過WiFi控制智能小車,可以做到流暢控制。理論和實踐證明,在基于Cortex—M3的低成本嵌入式系統(tǒng)中實現WiFi是完全可行的。

當然,由于時間限制,該項目WiFi系統(tǒng)的加密功能,以及通常的WiFi系統(tǒng)需要的基于web界面方式的配置功能尚未實現??紤]到當前STM32F105RB的資源使用情況,我們使用了80 KB空間,系統(tǒng)還留有48 KB空間,后續(xù)完整實現加密和Web界面配置在理論上是可行的,有待進一步驗證。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉