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

正文內(nèi)容

畢業(yè)設(shè)計-基于pic單片機(jī)的wifi控制系統(tǒng)-文庫吧資料

2024-12-09 17:06本頁面
  

【正文】 是無線網(wǎng)卡的核心結(jié)構(gòu),包含了網(wǎng)絡(luò)驅(qū)動層所需要的一切信息,如果需要一些設(shè)備信息,只需得到 PRTMP_ADAPTER 的指針即可。 / / 網(wǎng) 卡 狀 態(tài)r t 7 3 _ i o c t l 。 / / 設(shè) 備 關(guān) 閉u s b _ r t u s b _ s e n d p k t 。 Usb_rtusb_probe 函數(shù)會對網(wǎng)卡進(jìn)行初始化,并將一些網(wǎng)絡(luò)操 作函數(shù)注冊到內(nèi)核,所以 probe 函數(shù)是理解網(wǎng)卡工作流程的關(guān)鍵,以下是 probe 函數(shù)的流程圖 : P r o b e ( ) 函 數(shù) 入 口判 斷 V I D 和 P I D , 驅(qū) 動 是 否 支 持申 請 P R T M P _ A D A P T E R 結(jié) 構(gòu) 體 , 并 初 始化網(wǎng) 絡(luò) 操 作 函 數(shù) 注 冊 到 內(nèi) 核 :u s b _ r t u s b _ o p e n 。 struct usb_driver rtusb_driver = { .name=rt73, // 網(wǎng)卡驅(qū)動標(biāo)識 .probe=usb_rtusb_probe, // RT73 連接時調(diào)用的函數(shù) .disconnect=usb_rtusb_disconnect, // RT73 斷開時調(diào)用的函數(shù) .id_table=rtusb_usb_id, // USB 驅(qū)動支持的設(shè)備列表 ifdef CONFIG_PM .suspend = rt73_suspend, // 電源管理相關(guān)函數(shù) .resume = rt73_resume, endif }。 Module_init 將 RT73 網(wǎng)卡驅(qū)動注冊到內(nèi)核中 , 以下的結(jié)構(gòu)體 會被注冊到 內(nèi)核中。 a) 網(wǎng)卡初始化代碼分析 Linux 驅(qū)動以內(nèi)核模塊的方式裝載到內(nèi)核中, RT73 網(wǎng)卡驅(qū)動也不例外 。 RT73 無線網(wǎng)卡 linux 驅(qū)動分析 由于沒有 RT73 無線網(wǎng)卡的詳細(xì)資料手冊, 所以需要分析 RT73 的 linux 驅(qū)動程序來明確 RT2571 基帶處理芯片的初始化過程,和詳細(xì)的工作流程。 關(guān)聯(lián)過程涉及三個步驟: 首先移動工作站發(fā)送 Association Request(關(guān)聯(lián)請求 )幀。關(guān)聯(lián)只限于 infrastructure(基礎(chǔ)結(jié)構(gòu)型 )網(wǎng)絡(luò),在邏輯上等同于在有線網(wǎng)絡(luò)中插入網(wǎng)線,一旦完成此過程,無線工作站就可以通過分布式系 統(tǒng)與整個世界連接。 b) 舊式的共享密鑰身份驗證,此種認(rèn)證方法,必須使用 WEP 的加密方式,因此只能用于實現(xiàn)了 WEP 的產(chǎn)品上,共享密鑰身份驗證要求在身份驗證之前,必須傳遞共享密鑰給工作站 。這種認(rèn)證方法包含了兩個管理幀,首先由移動工作站發(fā)送 authentication(身份驗證 )的管理幀,它的作用是發(fā)出身份驗證請求。 d) ScanType:主動掃描會主動傳送 Probe Request 幀以識別該區(qū)域的網(wǎng)絡(luò) e) 被動掃描則是被動聆聽 Beacon 幀以節(jié)省電力 f) ChannelList:進(jìn)行掃描時,工作站通過指定所要嘗試的信道列表來對某個信道進(jìn)行探測或聆聽 g) ProbeDelay:主動探測某個信道時,為了避免一直等不到 Probe Response 幀而設(shè)定的延時定時器,以微妙為單位 本 科 畢 業(yè) 設(shè) 計 第 15 頁 共 47 頁 h) MinChannelTime 與 MaxChannelTime:指在掃描每個特定信道時所使用的最小與最大的時間量 2) 身份驗證 規(guī)范要求工作站在傳送幀之前必須確認(rèn)身份,以取得網(wǎng)絡(luò)資源的使用權(quán), 當(dāng)通過了“低級”的身份驗證后,才能進(jìn)行高級的 身份驗證 。 以下列出了最基本的管理操作: 1) 掃描 使用 網(wǎng)絡(luò)之前,必須找出網(wǎng)絡(luò)的存在,在無線領(lǐng)域中,工作站要加入任何兼容 網(wǎng)絡(luò)之前必須先經(jīng)過一番識別工作,在所在區(qū)域內(nèi)識別現(xiàn)有網(wǎng)絡(luò)的過程稱為掃描 。 h) Authentication 幀 : 工作站通過共享密鑰以及 Authentication 幀進(jìn)行身份驗證 。 f) Reassociation Request 幀 :位于相同 ESS 中,當(dāng)在不同的 BSS 之間移動的工作站若要再次使用分布式系統(tǒng)( DS),必 需與網(wǎng)絡(luò)重新關(guān)聯(lián),區(qū)別于關(guān)聯(lián)請求幀 的是:它包含工作站當(dāng)前所關(guān)聯(lián)的接入點 地址 。 d) Disassociation 幀與 Deauthentication 幀 :Disassociation (取消關(guān)聯(lián))幀用來終結(jié)一段關(guān)聯(lián)關(guān)系,而 Deauthentication(解除身份驗證)幀則用來終結(jié)一段認(rèn)證關(guān)系 。 b) Probe Request 幀 : 工作站通過 Probe Request 幀來掃描所在區(qū)域內(nèi)的 網(wǎng)絡(luò)。 基礎(chǔ)結(jié)構(gòu)網(wǎng)絡(luò)中,接入點負(fù)責(zé)傳送 Beacon 幀 。 幾種重要的管理幀: a) Beacon(信標(biāo))幀 : Beacon 幀主要來聲明網(wǎng)絡(luò)的存在。 2) 控制幀 控制幀主要用于協(xié)助數(shù)據(jù)幀的傳遞,所有控制幀都使用相同的 Frame Control 字段 。下面詳述各種幀的結(jié)構(gòu)和用途。 一些加密信息也包含在了幀主體中。 4) Sequence Control 字段 順序控制字段, 2 字節(jié),由 4位的片段編號 (Fragment Number)和 12 位的順序編號(Sequence Number)組成,原來重組幀片段以及丟棄重復(fù)幀。 3) Address 字段 地址字段包含不同類型的 MAC 地址,地址的類型取決于發(fā)送幀的類型。 2) Duration/ID 字段 持續(xù)時間 /標(biāo)志, 2個字節(jié)。 NAV 的實質(zhì)是一個定時器,它 作為一個字段 包含在 幀頭中, 用來預(yù)定 媒介使用的時間。 標(biāo)準(zhǔn)具備兩種載波監(jiān)聽功能:物理載波 監(jiān)聽 和虛擬載波監(jiān)聽 。方案采用了第二種組網(wǎng)方式,這種方式組網(wǎng)方便,程序編寫較容易。 a) 網(wǎng)絡(luò)類型 無線網(wǎng)絡(luò)分為了兩種類型 :一類是獨(dú)立型網(wǎng)絡(luò) (independent BSS,簡稱IBSS)。 規(guī)范該主要定義了 無線網(wǎng)絡(luò) 物理層和介質(zhì)訪問控制子層 (MAC)的協(xié)議規(guī)范 。 協(xié)議規(guī)范介紹 IEEE802 家族是由一系列局域網(wǎng)技術(shù)規(guī)范所組成的。 d) USB 主機(jī)棧需要調(diào)用 USBInitialize()函數(shù)進(jìn)行初始化,并且 USBTasks()函數(shù)需要定 期調(diào)用,以對設(shè)備進(jìn)行枚舉和初始化操作,這里可以選擇多種方式來定期調(diào)用,比如放在大循環(huán)中或是利用 中斷定時調(diào)用。 b) 將 RT73 模塊的廠商 ID 和產(chǎn)品 ID 加入 USB_TPL(目標(biāo)外設(shè)表 )中,這樣當(dāng) RT73 枚舉初始化時,會根據(jù)的得到設(shè)備描述符和 USB_TPL 中的信息進(jìn)行比對以確定是否連接的是RT73 設(shè)備。 4. SOF幀中斷,正常情況下, USB 主機(jī)會每隔 1ms 發(fā)送 SOF 幀,此時會產(chǎn)生中斷。 2. USB 設(shè)備斷開中斷。 所有的 USB 中斷共用一個中斷號,所以中斷處理程序中需要判斷中斷的類型并合理處理。 d) USBHostSetNAKTimeout() 此函數(shù)設(shè)置指定端點的 NAK的超時次數(shù),也就是說如果主機(jī)連續(xù)得到了超過指定次數(shù)的 NAK 握手包,則指定端點會返回一個錯誤狀態(tài)。 b) USBHostWrite()函數(shù)進(jìn)行一次 OUT 事務(wù)傳輸,基本原理和 USBHostRead()函數(shù)相同。 除了維護(hù)一個 USB 狀態(tài)機(jī)任務(wù)外, USB 主機(jī)層還提供了一些可供驅(qū)動層和應(yīng)用層 調(diào)用 的 API, 這 部分包含一 系列的數(shù)據(jù)傳輸函數(shù),上層 USB 主機(jī)設(shè)備驅(qū)動可以直接調(diào)用此部分的 API函數(shù) 。如果是支持的設(shè)備,主機(jī)層將初始化相應(yīng)的客戶機(jī)驅(qū)動程序 USB 主機(jī)層主要維護(hù) 了一個 USB 主機(jī)狀態(tài)機(jī),負(fù)責(zé)完成設(shè)備上電枚舉時的狀態(tài)遷移,以及各種 USB 外設(shè)事件的處理。 設(shè)備第一次連接到總線時,主機(jī)層將從 設(shè)備讀取描述符,以確定設(shè)備類型以及支持的功能。 在此層中,主要完成 RT73模塊的初始化,以及 協(xié)議棧和 USB 主機(jī)之間的接口函數(shù)。多功能設(shè)備通常將由多客戶機(jī)驅(qū)動程序來控制。 b) USB 客戶機(jī)驅(qū)動程序?qū)? 每個 USB 外部設(shè)備實現(xiàn)一個具體的功能,有 些設(shè)備可能有多重功能。它是由用戶設(shè)計和實現(xiàn)的代碼,應(yīng)用程序?qū)涌梢酝ㄟ^一個或多個 USB 客戶機(jī)驅(qū)動程序,并在需要時使用系統(tǒng)中任何其他固 件,與 USB設(shè)備進(jìn)行通信。 在有些情況下 USB 客戶機(jī)驅(qū)動程序?qū)雍蛻?yīng)用程序?qū)涌梢院喜橐粚?,雖然犧牲了層次和可維護(hù)性 但是能夠提高不少效率,在 課題中,以上兩層就合并為一層。 PIC 單片機(jī) USBHOST 協(xié)議棧 USB 嵌入式主機(jī)棧按實現(xiàn)邏輯分為三層,分別為應(yīng)用程序?qū)樱?USB 客戶機(jī)驅(qū)動程序?qū)樱?USB 主機(jī)層。集成的上拉和下拉電阻省去了對外部信號傳輸元件的需要。 USB 模塊由 時鐘發(fā)生器、 USB 電壓比較器、收發(fā)器、串行接口引擎( Serial Interface Engine,SIE)、專用 USBDMA 控制器、上拉和下拉電阻以及寄存器接口組成。 PIC32MX440 單片機(jī) USB 外設(shè) PIC32 的通用串行總線( Universal Serial Bus, USB)模塊包含模擬和數(shù)字元件, 使用最少量的外部元件即可實現(xiàn) 全速和低速嵌入式主機(jī)、全速設(shè)備或 OTG操作。 設(shè)備枚舉過程相當(dāng)設(shè)備自身的初始化過程 經(jīng)過了枚舉的設(shè)備此時才能在整個 USB總線中進(jìn) 行數(shù)據(jù)傳輸 。 j) 主機(jī)通過新地址向設(shè)備發(fā)送其他 get_configuration 請求,獲取設(shè)備的配置描述符。 h) 主機(jī)通過標(biāo)準(zhǔn)請求 set_address 給設(shè)備分配地址。 f) 主機(jī)通過 0地址向該設(shè)備發(fā)送 get_device_descriptor 標(biāo)準(zhǔn)請求,獲取設(shè)備 描述符?,F(xiàn)在設(shè)備進(jìn)入到 defalut狀態(tài),可以從 Vbus 獲取不超過 100mA 的電流。 c) 主機(jī)等待(至少 100mS)設(shè)備上電穩(wěn)定,然后向 HUB 發(fā)送請求,復(fù)位并使能該 d) PORT。 USB 主機(jī)除負(fù)責(zé)基本的數(shù)據(jù)傳輸外,還對設(shè)備的熱插拔進(jìn)行了支持,每當(dāng)一個設(shè)備插入 USB 接口后, USB 主機(jī)檢測到外部信號線上電平的變化,由此判斷有設(shè)備插入,此時 USB主機(jī)隨即對外設(shè)進(jìn)行枚舉并分配地址,具體的枚舉過程如下: a) 連接了設(shè)備的 HUB 在 HOST 查詢其狀態(tài)改變端點 狀態(tài)改變端點 狀態(tài)改 變端點 狀態(tài)改變端點時返回對應(yīng)的 bitmap,告知 HOST 某個 PORT 狀態(tài)發(fā)生了改變。 c) 批量傳輸:用于對延遲要求寬松,大量數(shù)據(jù)的可靠傳輸,如 U盤等。 USB 設(shè)備會根據(jù)收到的令牌包來決定是否和主機(jī)進(jìn)行配合來完成本次事務(wù)傳輸;數(shù)據(jù)包中包含了本次事務(wù)傳輸中的真正有效數(shù)據(jù);握手包,處于事務(wù)傳輸?shù)哪┪?,一般用來確認(rèn)傳輸是否已成功。 其中,令牌階段表示事務(wù)處理的開始,并定義了傳輸類型;數(shù)據(jù)階段負(fù)責(zé)傳輸相關(guān)的數(shù)據(jù);握手階段用于報告事務(wù)處理的狀態(tài) ,以表明數(shù)據(jù)接收是否成功。 USB 采用輪詢廣播的方式傳輸數(shù)據(jù),每一個 USB 設(shè)備都有其自身的地址,所有的數(shù)據(jù)傳輸均由 USB主機(jī)發(fā)起,任何時刻整個 USB 傳輸系統(tǒng)中只允許一個數(shù)據(jù)包進(jìn)行傳輸。 4 系統(tǒng)軟件設(shè)計 USB 協(xié)議棧 移植 USB 協(xié)議介紹 USB(Universal Serial Bus)通用串行總線,最早由 INTEL 和微軟倡導(dǎo)發(fā)起,時至今日已成為 最流行的桌面設(shè)備總線 , 現(xiàn)已發(fā)展到 。 3 系統(tǒng)硬件設(shè)計 系統(tǒng)供電電路 Vin3Vout2GND1U6Vin3Vout2GND1U7Vin3Vout2GND1*1R491R50220UC11104C5+220UC12104C6EXT +220UC13104C7+5V123DCDC+9VGNDAKD51N5819 圖 系統(tǒng)電源設(shè)計 如圖 為系統(tǒng)的供電電路,系統(tǒng)采用 9V 的電源適配器電源輸入,由于 PIC32MX440單片機(jī)需要 供電,故需要三端穩(wěn)壓器提供 電壓,之所以采用兩路 供電電路,主要 9V的輸入電壓較高,所以實際 1117 輸出的電流會比較小,所以一路供電支MCU,另一路可以提供給其它的功率較大的設(shè)備。 以上的三個軟件組件聯(lián)系 緊密:首先,處于最底層的是 USB 協(xié)議棧,此部分負(fù)責(zé) MCU 和 USB 無線網(wǎng)卡之間的 幀通信, USB 總線是一種主從輪詢式總線 ,所以相對于 PCI 或其他同步總線來說耗費(fèi) CPU 時間較多,尤其是在接收數(shù)據(jù)時,不能采用中斷的方式通知 CPU,而只能采用不斷試探輪詢的方法來確 本 科 畢 業(yè) 設(shè) 計 第 5 頁 共 47 頁 認(rèn)有數(shù)據(jù)到達(dá),所以此 USB 部分的通信效率就比較重要;第二,在 USB 上層是 無線通信協(xié)議棧, 幀通過 USB 總線進(jìn)行傳輸, 協(xié)議棧解析 幀數(shù)據(jù)并作出響應(yīng)的響應(yīng);第三,最上層為 TCP/IP 協(xié)議棧,此部分接收 TCP/IP 幀進(jìn)行處理。 綜合以上分析,方案的硬件設(shè)計并不復(fù)雜,主要是系統(tǒng)的供電設(shè)計以及 PIC32 單片機(jī)最小系統(tǒng)設(shè)計; USB 接口的設(shè)計等。 在 無線協(xié)議上層一般還會有 TCP/IP 協(xié)議??梢韵氲綑z測是否有數(shù)據(jù)到達(dá)會耗費(fèi)較多的 CPU
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1