基于AVR實(shí)現(xiàn)USB2.0無(wú)線測(cè)控網(wǎng)絡(luò)
前言
nRf2401是挪威Nordic公司推出的單片2.4GHz無(wú)線收發(fā)一體芯片,支持多點(diǎn)間通信,最高傳輸速率達(dá)到1Mbit/s,可以用于無(wú)線網(wǎng)絡(luò)中。口傳輸速率是480Mbps,有即插即用和熱插拔功能。接口提供內(nèi)置電源,可以向外設(shè)提供5V和最多500mA的電源。因此在以計(jì)算機(jī)為上位機(jī)的控制系統(tǒng)中,USB口比較適合作為計(jì)算機(jī)與測(cè)控網(wǎng)絡(luò)的接口。
USB接口器件的開(kāi)發(fā)過(guò)程比較復(fù)雜,開(kāi)發(fā)者需要知道USB協(xié)議、USB設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)、主機(jī)應(yīng)用程序開(kāi)發(fā)等知識(shí),使用USB-UART橋接電路CP2102可以避免上述麻煩。
1系統(tǒng)的設(shè)計(jì)思想及nRf2401和CP2102介紹
系統(tǒng)的設(shè)計(jì)思想如圖1所示。系統(tǒng)是由 CP2102、nRF2401、單片機(jī)等組成。
nRF2401是業(yè)界體積最小、功耗最低、外圍元件最少的低成本射頻芯片。有125個(gè)頻道,速率(0~1Mbps)、發(fā)射功率和工作頻率等所有工作參數(shù)可編程設(shè)置。每個(gè)芯片可以通過(guò)軟件設(shè)置最多40bit地址,而且只有收到本機(jī)地址時(shí)才會(huì)輸出數(shù)據(jù)。內(nèi)置CRC糾檢錯(cuò)硬件電路和協(xié)議。nRf2401內(nèi)置頻率合成器、功率放大器、晶體振蕩器和調(diào)制器等功能模塊。工作于2.4~2.5GHz ISM自由頻段,采用SoC方法設(shè)計(jì),只需少量外圍元件便可組成射頻收發(fā)電路。nRF2401沒(méi)有復(fù)雜的通信協(xié)議,它完全對(duì)用戶透明,同種產(chǎn)品之間可以自由通信。
CP2102是美國(guó)Silicon公司生產(chǎn)的高集成度USB-UART橋接電路。它們能夠用最簡(jiǎn)單的外部電路、最少的外部器件簡(jiǎn)便實(shí)現(xiàn)USB2.0到UART的轉(zhuǎn)換。
使用CP2102作為USB接口器件最大的特點(diǎn)是開(kāi)發(fā)方便:①?gòu)S商免費(fèi)提供適用于Windows(含Windows CE)、Linux等操作系統(tǒng)的驅(qū)動(dòng)程序。驅(qū)動(dòng)程序?qū)⒂?jì)算機(jī)的USB口虛擬成一個(gè)COM口,計(jì)算機(jī)使用普通操作串口的命令訪問(wèn)虛擬COM口。②內(nèi)置USB2.0全速功能控制器、USB收發(fā)器、48MHz內(nèi)部晶體振蕩器、1KB字節(jié) E2PROM及異步串行數(shù)據(jù)總線(UART),電路無(wú)需任何外部的USB器件。③CP2102的UART接口波特率為300bps~921.6kbps,可以滿足無(wú)線網(wǎng)絡(luò)的傳輸要求。
2硬件電路的實(shí)現(xiàn)
上位機(jī)系統(tǒng)電路如圖2所示。單片機(jī)選用ATmega16,是ATMEL公司生產(chǎn)的高性能、低功耗的8 位AVR? 微處理器,采用先進(jìn)的RISC 結(jié)構(gòu),數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz。片內(nèi)集成有16K 字節(jié)可編程Flash、512 字節(jié)的E2PROM、1K字節(jié)的SRAM、兩個(gè)可編程 的串行UART和可工作于主機(jī)/從機(jī)模式的SPI 串行接口。
圖2 上位機(jī)系統(tǒng)電路
CP2102無(wú)需外部電阻和晶體,VBus與REGIN引腳連到USB接口的Vbus端,在REGIN端加1μF的去耦電容。CP2102與單片機(jī)接口是標(biāo)準(zhǔn)UART電平,RTX、TXD引腳分別是串口的接收、輸出端,與單片機(jī)的對(duì)應(yīng)引腳相連。CP2102的USB端與計(jì)算機(jī)的USB口連接。CP2102的SUSPEND腳是USB口掛起信號(hào)端,接到單片機(jī)的PC4引腳。
圖3 無(wú)線收發(fā)模塊
上位機(jī)所有器件均由計(jì)算機(jī)的USB口提供電源。ATmega16L的電源電壓范圍為2.7~5.5V,nRF2401的電源電壓范圍為1.9~3.6V,利用計(jì)算機(jī)USB口的+5V電源,通過(guò)MIC2937A芯片將電壓轉(zhuǎn)換為3.3V。
無(wú)線收發(fā)模塊電路如圖3所示。nRf2401外圍元件很少,可使用單鞭天線或環(huán)形天線,電感需要采用高Q高精度的貼片繞線高頻電感,晶體需采用高穩(wěn)定晶體,電容應(yīng)選用高穩(wěn)定貼片元件。nRf2401通過(guò)SPI接口與單片機(jī)進(jìn)行通訊,ATmega16集成了SPI接口(CLK、MISO、MOSI引腳),與nRf2401的CLK1、DATA相連接。nRf2401的CS是片選端,CE是發(fā)送或接收控制端,PWR_UP是電源控制端,分別由單片機(jī)的PC5、PC6、PC7引腳控制。nRf2401的DR1為高時(shí)表明在接收緩沖區(qū)有數(shù)據(jù),接單片機(jī)的中斷引腳。
評(píng)論