freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于pic單片機(jī)的wifi控制系統(tǒng)(更新版)

  

【正文】 可 選 ) 圖 程 上層封裝好的數(shù)據(jù)包一般是以太網(wǎng)數(shù)據(jù)包, 因?yàn)樯蠈右话闶且粋€(gè) TCP/IP 協(xié)議棧,故這里需要對(duì)以太網(wǎng)數(shù)據(jù)包進(jìn)行轉(zhuǎn)換, 首先需去掉以太網(wǎng)幀頭,只保留 IP 包數(shù)據(jù),然后根據(jù)此時(shí)連接的模式和網(wǎng)絡(luò)配置進(jìn)行對(duì) 幀頭的封裝, 幀頭比較重要的 本 科 畢 業(yè) 設(shè) 計(jì) 第 23 頁(yè) 共 47 頁(yè) 有兩個(gè)域,一是加密模式,因?yàn)榧用苣J降牟煌瑫?huì)影響許多域的設(shè)置,這里只實(shí)現(xiàn)了簡(jiǎn)單的無(wú)加密模式的封裝方式,二是地址域的裝填, addr1 裝填關(guān)聯(lián)到的路由的 MAC地址,addr2 裝填 RT73 無(wú)線網(wǎng)卡的 MAC 地址 (源地址 ), addr3 裝填以太幀中的目的地址。 rt2501_switch_channel 進(jìn)行初步的信道選擇 ,不進(jìn)行此步驟也可以,這僅僅用來(lái)測(cè)試。 b) 實(shí)現(xiàn) RT73 無(wú)線網(wǎng)卡基本數(shù)據(jù)幀的收發(fā)操作,對(duì)一些重要而根本的 幀進(jìn)行解析。 DataByteCnt 域,指明數(shù)據(jù)幀的長(zhǎng)度。 驅(qū)動(dòng)程序?qū)崿F(xiàn)了幾個(gè)發(fā)送隊(duì)列,當(dāng) 內(nèi)核調(diào)用網(wǎng)卡的發(fā)送函數(shù)后, 送入的 skb網(wǎng)絡(luò)數(shù)據(jù) 將被傳入不同的發(fā)送隊(duì)列,這里的發(fā)送函數(shù)本身是異步的,是可以被內(nèi)核重入的,也就是說(shuō)操作系統(tǒng)中運(yùn)行的不同函數(shù)有可能會(huì)“同時(shí)”調(diào)用發(fā)送函數(shù),所以這些由內(nèi)核發(fā)送來(lái)的 skb數(shù)據(jù)包就會(huì)安放在發(fā)送隊(duì)列里等待發(fā)送,由上流程圖可以看出,每次 skb 數(shù)據(jù)包放入發(fā)送隊(duì)列后,隨即調(diào)用出列函數(shù) RTMPDeQueuePacket,此函數(shù)除了直接被 RTMPSendPacket 函數(shù)調(diào)用外,還會(huì)被發(fā)送完成的 回調(diào) 函數(shù)調(diào)用, 來(lái)檢測(cè)是否有未發(fā)送完的數(shù)據(jù)。 課題關(guān)注的是網(wǎng)卡的初始化過(guò)程, 網(wǎng)卡的基帶芯片是一個(gè) 8051 核的微控制器,為了保證處理速度,網(wǎng)卡的內(nèi)置程序并沒(méi)有固化在基帶芯片中,而是需要在每一次上電后由 USB 的 Control 傳輸下載到 基帶芯片中的 SRAM 中,所以網(wǎng)卡初始化的第一步就是下載固化程序,而基帶芯片的工作狀態(tài)和配置信息都存放在特定的控制寄存器中,所以控制寄存器也是初始化的重點(diǎn)。 / / 設(shè) 備 關(guān) 閉u s b _ r t u s b _ s e n d p k t 。 a) 網(wǎng)卡初始化代碼分析 Linux 驅(qū)動(dòng)以內(nèi)核模塊的方式裝載到內(nèi)核中, RT73 網(wǎng)卡驅(qū)動(dòng)也不例外 。 b) 舊式的共享密鑰身份驗(yàn)證,此種認(rèn)證方法,必須使用 WEP 的加密方式,因此只能用于實(shí)現(xiàn)了 WEP 的產(chǎn)品上,共享密鑰身份驗(yàn)證要求在身份驗(yàn)證之前,必須傳遞共享密鑰給工作站 。 h) Authentication 幀 : 工作站通過(guò)共享密鑰以及 Authentication 幀進(jìn)行身份驗(yàn)證 。 基礎(chǔ)結(jié)構(gòu)網(wǎng)絡(luò)中,接入點(diǎn)負(fù)責(zé)傳送 Beacon 幀 。 一些加密信息也包含在了幀主體中。 NAV 的實(shí)質(zhì)是一個(gè)定時(shí)器,它 作為一個(gè)字段 包含在 幀頭中, 用來(lái)預(yù)定 媒介使用的時(shí)間。 規(guī)范該主要定義了 無(wú)線網(wǎng)絡(luò) 物理層和介質(zhì)訪問(wèn)控制子層 (MAC)的協(xié)議規(guī)范 。 4. SOF幀中斷,正常情況下, USB 主機(jī)會(huì)每隔 1ms 發(fā)送 SOF 幀,此時(shí)會(huì)產(chǎn)生中斷。 b) USBHostWrite()函數(shù)進(jìn)行一次 OUT 事務(wù)傳輸,基本原理和 USBHostRead()函數(shù)相同。 在此層中,主要完成 RT73模塊的初始化,以及 協(xié)議棧和 USB 主機(jī)之間的接口函數(shù)。 在有些情況下 USB 客戶機(jī)驅(qū)動(dòng)程序?qū)雍蛻?yīng)用程序?qū)涌梢院喜橐粚?,雖然犧牲了層次和可維護(hù)性 但是能夠提高不少效率,在 課題中,以上兩層就合并為一層。 PIC32MX440 單片機(jī) USB 外設(shè) PIC32 的通用串行總線( Universal Serial Bus, USB)模塊包含模擬和數(shù)字元件, 使用最少量的外部元件即可實(shí)現(xiàn) 全速和低速嵌入式主機(jī)、全速設(shè)備或 OTG操作。 f) 主機(jī)通過(guò) 0地址向該設(shè)備發(fā)送 get_device_descriptor 標(biāo)準(zhǔn)請(qǐng)求,獲取設(shè)備 描述符。 c) 批量傳輸:用于對(duì)延遲要求寬松,大量數(shù)據(jù)的可靠傳輸,如 U盤等。 4 系統(tǒng)軟件設(shè)計(jì) USB 協(xié)議棧 移植 USB 協(xié)議介紹 USB(Universal Serial Bus)通用串行總線,最早由 INTEL 和微軟倡導(dǎo)發(fā)起,時(shí)至今日已成為 最流行的桌面設(shè)備總線 , 現(xiàn)已發(fā)展到 。 在 無(wú)線協(xié)議上層一般還會(huì)有 TCP/IP 協(xié)議。 軟件部分: MCU 作為 USB 主機(jī),它所有發(fā)起的事務(wù)(不論控制或是 BULK 傳輸)都采用唯一的端點(diǎn) 0進(jìn)行傳輸。也有一些適合單片機(jī)接口的 WIFI 模塊比如具有 SDIO 接口的 Marvell8686 和 SPI 接口的MRF24WB0MB 芯片,不過(guò)接口雖然貼近單片機(jī)但是價(jià)格一般偏貴,不符合本次設(shè)計(jì)的要求,此次設(shè)計(jì)采用了雷凌公司的 RT73 無(wú)線模塊。 Technologies 的 M4K? 內(nèi)核的復(fù)雜片上系統(tǒng) , M4K?是最新型的 32 位 低功耗 RISC 處理器內(nèi)核,采用了增強(qiáng)型 MIPS32174。此部分是整個(gè)系統(tǒng)的核心功能,數(shù)據(jù)采集和處理的方式?jīng)Q定了系統(tǒng)的總體功能。 WIFI 設(shè)備使用的頻段為 ~ 5GHz 的免許可頻段, 在頻率資源上不存在限制, 因此使用成本低廉也成為了 WIFI 技術(shù)的又一大優(yōu)勢(shì)。 無(wú)線通信技術(shù)越來(lái)越受到關(guān)注,人們需要一種不受約束的通信技術(shù),能夠隨時(shí)隨地的獲取信息。 IEEE IEEE 。在一些工業(yè)控制系統(tǒng)中 ,有時(shí)僅需要 WIFI 網(wǎng)絡(luò)節(jié)點(diǎn)傳送少量的數(shù)據(jù),此時(shí)對(duì)傳輸性能要求并不高,當(dāng)我們需要大量的這種節(jié)點(diǎn)時(shí),選用 PC 機(jī)或是 ARM 的控制方案顯然成本會(huì)很高。 無(wú)線通信部分主要完成如下功能: a) 無(wú)線數(shù)據(jù)幀的封裝,數(shù)據(jù)的加密解密等基帶處理。 主要特性 : a) 最高可達(dá)到 DMIPS/MHz 的性能 b) 可編程預(yù)取高速緩存存儲(chǔ)器,以增強(qiáng)閃存中的執(zhí)行效率 本 科 畢 業(yè) 設(shè) 計(jì) 第 3 頁(yè) 共 47 頁(yè) c) 16 位指令模式( MIPS16e),用于緊湊型代碼 d) 帶有 63個(gè)優(yōu)先級(jí)的向量中斷控制器 e) 可編程的用戶和內(nèi)核工作模式 f) 可對(duì)外設(shè)寄存器執(zhí)行原子級(jí)位操作(單周期) g) 乘法 /除法單元,最高指令發(fā)出速率為每個(gè)時(shí)鐘一條 32 16 乘法指令 h) 高速 Microchip ICD 端口,具有基于硬件的非侵入式數(shù)據(jù)監(jiān)視和應(yīng)用程序數(shù)據(jù)流功能 i) EJTAG 調(diào)試端口,支持廣泛的第三方調(diào)試、編程和測(cè)試工具 j) 指令控制的功耗管理模式 k) 5 級(jí)流水線指令執(zhí)行 l) 內(nèi)部代碼保護(hù),以幫助保護(hù)知識(shí)產(chǎn)權(quán) m) PIC32MX440 系列單片機(jī)具有 USBHOST 外設(shè),可以方便的和具有 USB接口的 WIFI 無(wú)線網(wǎng)卡連接。 c) 支持 64/124 位的 WEP 加密和 WPA 和 AES 加密認(rèn)證方式。同時(shí), MCU端讀取 RT73 基本配置信息,比如 MAC 地址等重要的信息。 軟件部分相對(duì)復(fù)雜,對(duì)于實(shí)現(xiàn)一個(gè) WIFI 控制系統(tǒng)核心而言,需要如下軟件模塊: 1. 高效而穩(wěn)定的 USBHOST 協(xié)議棧; 2. 協(xié)議棧; 3. 小巧而穩(wěn)定的 TCP/IP 協(xié) 議棧 。 USB 事務(wù)處理是 USB 主機(jī)和 USB 設(shè)備間進(jìn)行數(shù)據(jù)傳輸?shù)幕締挝?,基本事?wù)傳輸由一系列特定格式的信息包組成,一般而言,一次事務(wù)傳輸分為三個(gè)階段:令牌階段,數(shù)據(jù)階段和握手階段。 b) 主機(jī)向 HUB 查詢?cè)?PORT 的狀態(tài),得知有設(shè)備連接,并知道了該設(shè)備的基本特性。 i) 主機(jī)通過(guò)新地址向設(shè)備發(fā)送 get_device_descriptor 標(biāo)準(zhǔn)請(qǐng)求,獲取設(shè)備的描述符。 USB DMA 控制器在RAM 和 SIE 的數(shù)據(jù)緩沖區(qū)之間傳輸數(shù)據(jù)。在 WIFI 控制系統(tǒng)中, 協(xié)議棧作為應(yīng)用程序?qū)樱梢灾苯诱{(diào)用 USB主機(jī)層的 API 進(jìn)行數(shù)據(jù)幀的傳輸。然后,主機(jī)層將檢查 TPL 來(lái)判斷是否支持該設(shè)備。 此外, USB 外設(shè) 中斷處理程序 也是主機(jī)棧重要的組成部分 ,此部分處理 USB 外設(shè)發(fā)生的所有中斷,基本的事務(wù)傳輸也是在中斷處理程序中控制的。 c) 將 的事件處理函數(shù)標(biāo)利用宏定義 define USB_HOST_APP_EVENT_HANDLER 標(biāo)識(shí)到 USB 主機(jī)棧中,當(dāng) RT73 連接后,會(huì)調(diào)用 層的事件處理函數(shù),此時(shí) 本 科 畢 業(yè) 設(shè) 計(jì) 第 11 頁(yè) 共 47 頁(yè) 層會(huì)進(jìn)行一些初始化操作。在 IBSS 中,工作站之間可以直接通信,一般是為了特定的目的而組成的臨時(shí)性的網(wǎng)絡(luò);一類是基礎(chǔ)結(jié)構(gòu)型網(wǎng)絡(luò),這是 一種最常用的組網(wǎng)方式,在基礎(chǔ)結(jié)構(gòu)型網(wǎng)絡(luò)里,工作站必須先與接入點(diǎn)建立關(guān)聯(lián),才能取得網(wǎng)絡(luò)服務(wù),也就是說(shuō),各工作之間是由接入點(diǎn)數(shù)據(jù)轉(zhuǎn)發(fā)而建立通信的 ,無(wú)線接入點(diǎn)是基礎(chǔ)結(jié)構(gòu)型網(wǎng)絡(luò)的核心。在大多數(shù)情況下,該字段被用來(lái)設(shè)定 NAV。 1) 數(shù)據(jù)幀 數(shù)據(jù)幀負(fù)責(zé)最主要的數(shù)據(jù)傳送工作,負(fù)責(zé)將上層協(xié)議放置在幀主體中加以傳遞 。 c) Probe Response 幀 : 若 Probe Request 幀探查的網(wǎng)絡(luò)與之兼容,該網(wǎng)絡(luò)就會(huì)回復(fù) Probe Response 幀給予響應(yīng) 。 掃描過(guò)程中會(huì)用到的幾個(gè)參數(shù) : a) BSSType:指定網(wǎng)絡(luò)屬于 IBSS、基礎(chǔ)結(jié)構(gòu)或是同時(shí)搜索兩者 b) BSSID:工作站可以掃描所要加入的特定網(wǎng)絡(luò),也可 掃描允許它加入的所有網(wǎng)絡(luò) c) SSID:原來(lái)指定某個(gè) ESS 的位字符串,這些字符串通常被設(shè)定為人們易于識(shí)別的網(wǎng)絡(luò)名稱 。 和身份驗(yàn)證一樣,關(guān)聯(lián)操作是由移動(dòng)式工作站發(fā)起的。 功 本 科 畢 業(yè) 設(shè) 計(jì) 第 16 頁(yè) 共 47 頁(yè) 能函數(shù)也會(huì)被內(nèi)核識(shí)別。 / / 網(wǎng) 卡 設(shè) 備 操 作R T 7 3 U S B 端 點(diǎn) 檢 測(cè)注 冊(cè) 網(wǎng) 絡(luò) 設(shè) 備 p A d n e t _ d e v初 始 化 R T 7 3 無(wú) 線 網(wǎng) 卡調(diào) 用 u s b _ r t u s b _ i n i t _ d e v i c e 函 數(shù)結(jié) 束 圖 probe函數(shù)流程圖 VID 和 PID 是 USB 設(shè)備的廠商 ID 和產(chǎn)品 ID, USB 設(shè)備進(jìn)行枚舉后得到設(shè)備描述符包含有 VID 和 PID,驅(qū)動(dòng)程序會(huì)根據(jù) VID 和 PID 來(lái)判斷是否支持當(dāng)前插入的設(shè)備。在網(wǎng)卡初始化時(shí),這些配置信息會(huì)被引用。 RTUSBHardTransmit 函數(shù)會(huì)根據(jù)上層的信息決定如何封裝 幀頭和發(fā)送描述符幀頭。 當(dāng) RT73 網(wǎng)卡連接上時(shí), 內(nèi)核調(diào)用 probe 函數(shù)時(shí)裝載了 RTUSBBulkRxHandle 軟中斷例程, 這個(gè)軟中斷會(huì)在系統(tǒng)空閑的時(shí)候運(yùn)行, 隨后 RTUSBBulkRxHandle 接收參數(shù) pAd, 這個(gè)指針指向了包含了網(wǎng)卡的信息的關(guān)鍵數(shù)據(jù)結(jié)構(gòu) PRTMP_ADAPTER,由這個(gè)數(shù)據(jù)接收可以獲得任何信息,也包括現(xiàn)在正在進(jìn)行 BULKIN 的 urb的信息,這里可以判斷正在進(jìn)行的 urb 數(shù)據(jù)請(qǐng)求 已啟動(dòng),如果已啟動(dòng)這時(shí)需調(diào)用 RTUSBBulkRcecive 函數(shù)進(jìn)行實(shí)際的 urb 傳輸,反之,如果 urb 已完成, 本 科 畢 業(yè) 設(shè) 計(jì) 第 20 頁(yè) 共 47 頁(yè) 則需調(diào)用 RTUSBRxPacket 函數(shù)進(jìn)行 協(xié)議棧的處理,并將處理后的數(shù)據(jù)包傳送到網(wǎng)絡(luò)系統(tǒng)的上層,通常是 TCP/IP 層,這里 RTUSBRxPacket 完畢后再調(diào)用 urb 傳輸。 根據(jù) 無(wú)線網(wǎng)絡(luò)的工作方式,可以建立如下的狀態(tài)機(jī)模型: enum { RT73_S_BROKEN, RT73_S_IDLE, RT73_S_SCAN, RT73_S_CONNECTING, RT73_S_CONNECTED, RT73_S_MASTER, }。而控制幀主要用來(lái)對(duì)數(shù)據(jù)的分片和 RTS, CTS 進(jìn)行處理這部分對(duì)于簡(jiǎn)單的通信來(lái)講是不需要的,所以并沒(méi)有實(shí)現(xiàn)控制幀的處理。 第一種方案效率比較低,第二種方案的軟件編寫較復(fù)雜,所以后面具體實(shí)現(xiàn)時(shí)采用了 RTOS 的方法。 數(shù)據(jù)幀處理流程 ,見(jiàn) i e e e 8 0 2 1 1 _ i n p u t _ d a t a數(shù) 據(jù) 幀 輸 入判 斷 地 址 域 的 地 址 是否 匹 配 ?i e e e 8 0 2 1 1 _ n e w _ r s s i _ s a m p l e根 據(jù) 收 到 的 數(shù) 據(jù) 計(jì) 算 新 的r s s i 采 樣 值判 斷 D A T A 類 型 ?N O _ D A T A 類 型P i n g f r o m A PR e p l a y i n g !結(jié) 束 處 理正 常 的 通 信 數(shù) 據(jù)去 除 l l c 層 數(shù) 據(jù)直 接 在 本 地 緩 沖 裝 填為 以 太 幀 圖 數(shù)據(jù)幀處理 數(shù)據(jù)幀一般有兩種類型,一種類型為 NO_DATA 數(shù)據(jù),此種數(shù)據(jù)只是無(wú)線 AP 為了求證工作站是否還存在于網(wǎng)絡(luò)中,每當(dāng)工作站有一段時(shí)間沒(méi)有進(jìn)行通信后, 無(wú)線 AP 就會(huì)發(fā)送 NO_DATA 數(shù)據(jù)包;另外一種數(shù)據(jù)幀就是正常的網(wǎng)絡(luò)數(shù)據(jù)包,這種數(shù)據(jù)包只需將幀頭簡(jiǎn)單處理即可將 數(shù)據(jù)幀變?yōu)橐蕴W(wǎng)數(shù)據(jù)幀。移植 LWIP 最重要的是實(shí)現(xiàn)鏈路層的設(shè)備接口 ,故 分別添加了 iwif 無(wú)線 WiFi 的接口定義和底層數(shù)據(jù)包的收發(fā)代碼,此外還需實(shí)現(xiàn)操作系統(tǒng)模擬層的代碼,這部分 FreeRTOS 支持的比較完
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1