基于nRF24L01的無(wú)線(xiàn)USB控制系統
2 系統的硬件部分
2.1 nRY24L0l無(wú)線(xiàn)模塊原理圖
nRF24L01是挪威Nordic VLSI公司推出的單片射頻收發(fā)芯片,20個(gè)引腳4mm×4mm QFN封裝,內置頻率合成器、功率放大器、晶體振蕩器、調制器等功能模塊,采用Enhanced ShockBurst技術(shù),使用SPI接口與微控制器通信,速率為O~8Mb/s,配置方便。nRF24L01適用于無(wú)線(xiàn)數據通信、無(wú)線(xiàn)個(gè)人電腦外設、無(wú)線(xiàn)報警及安全系統、無(wú)線(xiàn)開(kāi)鎖、無(wú)線(xiàn)監測、家庭自動(dòng)化和玩具等諸多領(lǐng)域。關(guān)于該芯片的具體功能和工作模式及其編程過(guò)程請參照參考文獻。該模塊電路原理圖,如圖4所示。本文引用地址:http://dyxdggzs.com/article/202551.htm
nRF24L01模塊在PCB布線(xiàn)時(shí)采用雙面板,底層全部鋪地,頂層放置元器件,所有電容電阻電感采用0402封裝電容電感電阻盡量靠近芯片引腳,頂層也需大面積鋪地,在頂層和底層放置大量的通孔。該模塊供電電壓為3.3V,SPI接口可以直接與5V的MCU的IO口相連接,無(wú)SPI接口的MCU可以用IO口模擬SPI時(shí)序,使用方便。
2.2 USB控制芯片PDIUSBDl2原理圖
PDIUSBD12是一款性?xún)r(jià)高的USB控制芯片,它與MCU配合使用,這使得設計者可以靈活地選擇MCU,它與MCU之間通過(guò)并行接口通信,還支持本地DMA傳輸。圖5是PDIUSBD12與STC89C58RD+單片機連接的原理圖。
上圖未畫(huà)出STC89C58RD+單片機,只給出了網(wǎng)點(diǎn)名稱(chēng),如P00-P07、P27、ALE、INTl、WR、RD,STC89C58RD+與標準的80C51(如AT89S51)引腳完全兼容,PDIUSBD12與MCU的連接有2種方式:總線(xiàn)方式和分開(kāi)的地址數據方式。采用總線(xiàn)方式時(shí)引腳10的ALE連接MCU的ALE,引腳28的A0接到高電平;采用分開(kāi)的地址數據方式,則ALE連接低電平,A0連接任意的IO口,數據或地址(命令)由A0來(lái)區分。圖5采用總線(xiàn)方式。另外該無(wú)線(xiàn)USB控制器直接使用USB接口供電,省去了電源,降低了成本。
3 系統的軟件部分
3.1 USB的固件與PC端應用軟件設計
當USB設備連接到主機后,主機要先進(jìn)行一系列的枚舉過(guò)程,枚舉就是從USB設備讀取一些信息,知道設備是什么樣的設備,如何進(jìn)行通信,這樣主機就可以根據這些信息來(lái)加載合適的驅動(dòng)程序。枚舉過(guò)程使用控制傳輸,對于USB設備來(lái)說(shuō),固件所要處理的是必須對主機發(fā)來(lái)的標準設備請求進(jìn)行相應的正確的響應,除此之外依據USB設備的類(lèi)型還要響應主機發(fā)來(lái)的USB設備類(lèi)請求。另外如果開(kāi)發(fā)屬于生產(chǎn)商自定義的USB設備類(lèi),則需要開(kāi)發(fā)驅動(dòng)程序。為了減少開(kāi)發(fā)驅動(dòng)程序的復雜性,可根據實(shí)際情況使用USB標準設備類(lèi),現有的設備類(lèi)有以下幾種:音頻設備類(lèi)、通信設備類(lèi)、HID設備類(lèi)、顯示設備類(lèi)、海量存儲設備類(lèi)、電源設備類(lèi)、打印設備類(lèi)、集線(xiàn)器設備類(lèi)等,例如可選擇做成assStorage類(lèi)(海量存儲設備類(lèi))或HID(人機接口)設備類(lèi),這樣無(wú)需開(kāi)發(fā)驅動(dòng)程序,直接利用操作系統自帶的驅動(dòng)程序。本系統模擬成一個(gè)海量存儲設備類(lèi),這樣在枚舉過(guò)程中固件除了要響應了標準的USB設備請求外,還需要響應2個(gè)類(lèi)特殊請求:GetMaxLun和BulkOnlyMassStorageReset,正確枚舉之后PC機通過(guò)發(fā)送SCSI命令來(lái)控制U盤(pán)設備,對于海量存儲設備類(lèi)要響應以下幾個(gè)命令:INQUIRY、READCAPACITY、READ(10)、WRITE(10)、REQUEST SENSE、TEST UNIT READY等,除此外要自定義私有的SCSI命令,以實(shí)現控制無(wú)線(xiàn)USB設備。另外還要構造一個(gè)FAT文件系統的格式,要正確返回DBR和FAT文件分配表以及文件數據。
評論