《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于nRf2401和CP2102的USB2.0無線測控網絡
基于nRf2401和CP2102的USB2.0無線測控網絡
摘要: 本系統使用nRf2401和CP2102實現PC-USB2.0-MCU高速無線測控網絡。系統通過CP2102實現USB2.0接口,通過nRF2401實現無線數據收發。同時nRf2401廠商免費提供驅動程序,開發方便、快速。本文闡述該系統的工作原理、硬件構成及軟件設計方案。
Abstract:
Key words :

  0 前言

  現在,越來越多的無線技術被應用到自動控制系統中。nRf2401是挪威Nordic公司推出的單片2.4GHz無線收發一體芯片,支持多點間通信,最高傳輸速率達到1Mbit/s,可以用于無線網絡中。

  USB2.0口傳輸速率是480Mbps,有即插即用和熱插拔功能。接口提供內置電源,可以向外設提供5V和最多500mA的電源。因此在以計算機為上位機的控制系統中,USB口比較適合作為計算機與測控網絡的接口。

  USB接口器件的開發過程比較復雜,開發者需要知道USB協議、USB設備驅動程序開發、主機應用程序開發等知識,使用USB-UART橋接電路CP2102可以避免上述麻煩。

  1系統的設計思想及nRf2401和CP2102介紹

  系統的設計思想如圖1所示。系統是由 CP2102、nRF2401、單片機等組成。

系統設計思想

  圖1  系統設計思想

  nRF2401是業界體積最小、功耗最低、外圍元件最少的低成本射頻芯片。有125個頻道,速率(0~1Mbps)、發射功率和工作頻率等所有工作參數可編程設置。每個芯片可以通過軟件設置最多40bit地址,而且只有收到本機地址時才會輸出數據。內置CRC糾檢錯硬件電路和協議。nRf2401內置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊。工作于2.4~2.5GHz ISM自由頻段,采用SoC方法設計,只需少量外圍元件便可組成射頻收發電路。nRF2401沒有復雜的通信協議,它完全對用戶透明,同種產品之間可以自由通信。

  CP2102是美國Silicon公司生產的高集成度USB-UART橋接電路。它們能夠用最簡單的外部電路、最少的外部器件簡便實現USB2.0到UART的轉換。

  使用CP2102作為USB接口器件最大的特點是開發方便:①廠商免費提供適用于Windows(含Windows CE)、Linux等操作系統的驅動程序。驅動程序將計算機的USB口虛擬成一個COM口,計算機使用普通操作串口的命令訪問虛擬COM口。②內置USB2.0全速功能控制器、USB收發器、48MHz內部晶體振蕩器、1KB字節 E2PROM及異步串行數據總線(UART),電路無需任何外部的USB器件。③CP2102的UART接口波特率為300bps~921.6kbps,可以滿足無線網絡的傳輸要求。

  2硬件電路的實現

  上位機系統電路如圖2所示。單片機選用ATmega16,是ATMEL公司生產的高性能、低功耗的8 位AVR® 微處理器,采用先進的RISC 結構,數據吞吐率高達1 MIPS/MHz。片內集成有16K 字節可編程Flash、512 字節的E2PROM、1K字節的SRAM、兩個可編程 的串行UART和可工作于主機/從機模式的SPI 串行接口。

上位機系統電路的串行UART和可工作于主機/從機模式的SPI 串行接口

  圖2 上位機系統電路

  CP2102無需外部電阻和晶體,VBus與REGIN引腳連到USB接口的Vbus端,在REGIN端加1μF的去耦電容。CP2102與單片機接口是標準UART電平,RTX、TXD引腳分別是串口的接收、輸出端,與單片機的對應引腳相連。CP2102的USB端與計算機的USB口連接。CP2102的SUSPEND腳是USB口掛起信號端,接到單片機的PC4引腳。

 無線收發模塊

  圖3 無線收發模塊

  上位機所有器件均由計算機的USB口提供電源。ATmega16L的電源電壓范圍為2.7~5.5V,nRF2401的電源電壓范圍為1.9~3.6V,利用計算機USB口的+5V電源,通過MIC2937A芯片將電壓轉換為3.3V。

  無線收發模塊電路如圖3所示。nRf2401外圍元件很少,可使用單鞭天線或環形天線,電感需要采用高Q高精度的貼片繞線高頻電感,晶體需采用高穩定晶體,電容應選用高穩定貼片元件。nRf2401通過SPI接口與單片機進行通訊,ATmega16集成了SPI接口(CLK、MISO、MOSI引腳),與nRf2401的CLK1、DATA相連接。nRf2401的CS是片選端,CE是發送或接收控制端,PWR_UP是電源控制端,分別由單片機的PC5、PC6、PC7引腳控制。nRf2401的DR1為高時表明在接收緩沖區有數據,接單片機的中斷引腳。

  3 單片機程序設計

  3.1單片機對串口的編程

  ATmega16集成有串口,使用前需要先對它進行初始化。具體過程如下:①UCSRA=0,異步正常模式;②UBRR=1,設置波特率為500Kbps;③UCR= 0x98,使能接收中斷,允許發送;④SREG=0x80;//開中斷。

  初始化后,可以通過串口與CP2102進行數據交換。采用中斷方式接收,當有串口數據到達時單片機產生中斷,單片機響應中斷從接收緩沖器讀入數據。串口接收中斷程序如下:

  #pragma interrupt_handler uart_rec:8

  unsigned char i;

  void uart_rec()

  {i=UDR;}

  串口發送程序如下:①UDR=1,發送數據;②while(!(USR&0x40)),等待發送結束;③USR&=~0x40,清發送完標志。

  3.2單片機對nRf2401的編程

  單片機對nRf2401的編程包括對nRf2401進行配置、發送數據、接收數據等程序。

  當PWR_UP=1、CE=0、CS=1時nRf2401進入配置工作狀態。配置字最高可達18字節,作用是使nRf2401子系統能夠處理RF協議。配置字從最高位開始,依次通過SPI接口(CS、CLK1和DATA)送給配置寄存器。本系統配置為ShockBurst方式,配置字分為如下四塊:有效數據寬度(DATA2_W和DATA1_W)、地址寬度(ADDR2和ADDR1)、接收頻道地址(ADDR_W)、CRC配置(CRC_L和CRC_EN)。其值從高到低分別為8EH, 08H, 1CH, 20H, 50H, 0AH, 0

 

BH, 0CH, 0DH, 0EH, 0AAH, 28H, 0AH, 0BH, 0CH, 0A3H, 6FH, 65H。配置后nRf2401的通道1數據段長度80bit(其中nRf2401的序列號8byte + 2byte溫度數據),地址段長度40bit,通道1硬件地址0AAH, 28H, 0AH, 0BH, 0CH,啟用16位片上校驗功能,單通道接收,突發傳遞模式,通信速率1Mbit/s,晶振頻率16MHz,工作頻段2.450GHz,開始處于接收狀態。

 

  當PWR_UP=1、CE=1、CS=0時為收發方式。ShockBurst發送過程如下:①CE=1,nRf2401開始工作;②將接收節點地址寫入nRf2401;將需要發射的數據寫入nRf2401;③CE=0,激活ShockBurst發送。

  通過中斷方式接收數據。當有數據需要接收時,nRf2401會將DR1置高產生中斷信號,接收完畢后DR1又會被置低。首先配置中斷0為上升沿觸發方式(ISC01=1, ISC00=1),具體接收過程如下:①校驗接收到的RF包的地址和欲接收的RF包中有效數據的長度;②CE=1,激活RX;③經過200μs處理,nRf2401子系統監視啟動并等待信號的到來;④當收到一個有效的數據包(正確的地址和CRC),nRf2401子系統移去前綴、地址和CRC位;⑤nRf2401子系統通過把DR1置高,產生中斷信號;⑥CE=0,RF設為低功耗方式;⑦單片機取出有效數據,需要注意的是,每接收一個字節需要先寫0xff 到nRF2401。

  完整的射頻數據包由四部分組成:前綴、地址、有效數據和CRC。前綴一般是8位(也可以設置為4位,由地址的首位決定)。如果地址的首位是0,前綴為01010101;如果地址的首位是1,前綴為10101010。ShockBurst方式下,CP2102接收到有效的數據包后,自動移去前綴、地址和CRC,只留有效數據。

  4 計算機控制軟件的編程

  當把CP2102與計算機連接時,系統會提示發現新硬件,并要求安裝驅動程序,執行CP2102驅動程序的安裝文件即可。驅動程序安裝后,在設備管理器中會有CP2102虛擬的COM口(一般是COM3)。

  VB開發環境集成有串口控件MSComm,該控件是將RS-232的初級操作予以封裝,用高級的Basic語言即可實現串口數據的發送和接收[2]。

  首先向工具箱添加MSComm控件,并產生一個串口對象,取對象名為“MSc”。然后編程對MSc進行初始化,步驟如下:①MSc.CommPort=3, 選擇安裝驅動程序后計算機虛擬的COM3口;②MSc.Settings = "500000,n,8,1",設置通信波特率是500kbps,無校驗,8位數據,1位停止位;③MSc.InputMode=1,數據以二進制形式存取;④MSc.RThreshold=1,每收到1個字符都觸發接收事件;⑤MSc.PortOpen=True,打開串口。

  發送數據只是向控件的Output屬性寫數據即可,既MSc.Output=輸出的數據。

 

  接收數據采取事件驅動方式,程序代碼如下:

  Public Sub msc_OnComm()

  Select Case MSc1.CommEvent

                       Case comEvReceive

 

                                   av = MSc.Input  '接收數據

                                   ……'根據接收的數據進行處理

  End S

       elect

 

     End Sub

  5 結束語

  本系統通過CP2102實現USB2.0接口,通過nRf2401通實現無線數據收發,具有開發簡單、可靠性高等特點,傳輸速率可以達到900kbps,在工業控制、消費電子等各個領域都具有廣闊的應用前景。本文的創新點:系統使用CP2102芯片實現USB2.0接口,芯片廠商免費提供驅動程序,計算機端程序開發方便。使用nRf2401實現無線數據收發,有內置地址設置、CRC糾檢錯、工作于自由頻段優點。文章給出詳細的硬件電路和軟件程序。

  參考文獻

  [1] Silicon Laboratories Inc.CP2102 Product Data Sheet, http:// www.silabs.com,2006

  [2] 范逸之等.Visual Basic與RS-232串行通信控制.北京:中國青年出版社,2002.1

  [3] nRF240x Configurator User Guide. Nordic VLSI document, Nordic Cooperation.

  [4] 彭祖林,鄧羅根,劉細華.用于測量體溫的無線實時監測系統的設計與實現[J].微計算機信息,2005,1:59-61

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩亚洲欧美成人一区| 久久精品中文| 欧美在线91| 亚洲一二三区精品| 亚洲另类自拍| 亚洲国产日韩欧美在线99 | 亚洲电影天堂av| 欧美一区激情| 欧美一级视频| 午夜精品理论片| 亚洲欧美日韩国产综合| 亚洲综合999| 亚洲欧美日韩另类| 午夜精品区一区二区三| 亚洲女性喷水在线观看一区| 亚洲影院色在线观看免费| 亚洲一区黄色| 香蕉视频成人在线观看| 久久国产天堂福利天堂| 久久国产免费看| 亚洲黄色在线| 99re6这里只有精品视频在线观看| 亚洲精品免费在线| 亚洲精品少妇30p| 一区二区三区.www| 亚洲资源在线观看| 午夜激情综合网| 久久精品国产清高在天天线| 久久一区二区视频| 欧美成人午夜影院| 欧美日韩国产欧| 国产精品美女久久| 国产亚洲欧美aaaa| 在线成人国产| 亚洲精品资源| 亚洲线精品一区二区三区八戒| 亚洲女性裸体视频| 欧美自拍偷拍午夜视频| 亚洲国产日韩欧美在线图片 | 午夜日本精品| 久久免费视频网| 男女精品视频| 欧美午夜不卡在线观看免费 | 亚洲精品乱码久久久久久| 一区二区三区精品久久久| 亚洲欧美国产一区二区三区| 久久精品国语| 一区二区三区国产在线观看| 午夜天堂精品久久久久| 久久久噜噜噜| 欧美欧美全黄| 国产欧美视频一区二区| 一区二区三区在线视频播放| 91久久一区二区| 午夜精品理论片| 亚洲破处大片| 亚洲女与黑人做爰| 久久久精品2019中文字幕神马| 欧美成人精品一区二区| 国产精品欧美日韩一区| 亚洲成人在线| 亚洲欧美日本伦理| 亚洲精品乱码| 欧美一级在线播放| 欧美精品日韩综合在线| 国产欧美日韩视频一区二区| 亚洲欧洲精品一区二区三区波多野1战4 | 国产日韩三区| 日韩午夜av在线| 久久黄色网页| 亚洲欧美日韩在线播放| 欧美电影电视剧在线观看| 国产精品视频精品视频| 91久久夜色精品国产九色| 性欧美1819sex性高清| 亚洲素人一区二区| 蜜桃精品久久久久久久免费影院| 国产精品美女久久久| 亚洲人午夜精品免费| 亚洲电影一级黄| 午夜日韩福利| 欧美日韩在线播放一区| ●精品国产综合乱码久久久久| 亚洲欧美一区二区三区极速播放 | 欧美性大战xxxxx久久久| 在线精品视频免费观看| 亚洲网友自拍| 一本色道**综合亚洲精品蜜桃冫| 久久野战av| 国产亚洲精品综合一区91| 亚洲一区免费视频| 一二美女精品欧洲| 欧美成人精品三级在线观看| 狠狠色综合播放一区二区| 午夜精品福利在线观看| 亚洲免费影视第一页| 欧美日韩视频第一区| 亚洲日本理论电影| 亚洲人成网站在线播| 看欧美日韩国产| 国产主播一区二区三区| 亚洲欧美视频在线观看视频| 亚洲欧美激情诱惑| 欧美视频一区二| 日韩视频在线播放| 一本久久综合亚洲鲁鲁五月天| 欧美大片免费久久精品三p | 亚洲欧洲精品一区二区精品久久久 | 久久综合网hezyo| 国产日韩在线看| 亚洲欧美制服中文字幕| 亚洲欧美一区二区在线观看| 欧美午夜理伦三级在线观看| 99在线|亚洲一区二区| 一区二区激情| 欧美日韩国产系列| 亚洲三级色网| 中文精品视频| 国产精品扒开腿爽爽爽视频| 夜夜爽www精品| 亚洲在线成人精品| 国产精品国码视频| 亚洲欧美福利一区二区| 欧美在线观看日本一区| 国产婷婷精品| 久久se精品一区二区| 久久欧美肥婆一二区| 黄色成人片子| 最新国产成人av网站网址麻豆 | 亚洲最新色图| 欧美三级网页| 亚洲一区二区在线播放| 欧美一乱一性一交一视频| 国产亚洲va综合人人澡精品| 久久国产精品72免费观看| 理论片一区二区在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲黄色在线看| 一区二区成人精品| 国产精品扒开腿做爽爽爽视频 | 国产精品v欧美精品v日韩精品 | 一级日韩一区在线观看| 国产精品成人一区二区网站软件 | 亚洲视频在线观看三级| 国产精品成人一区二区三区吃奶| 亚洲欧美另类久久久精品2019| 久久久久在线| 亚洲人在线视频| 午夜在线一区二区| 好看的日韩视频| 91久久精品www人人做人人爽| 欧美连裤袜在线视频| 一区二区三区欧美视频| 久久精品官网| 亚洲精品视频免费| 欧美一区二区| 亚洲国产高清视频| 亚洲一区在线观看视频| 国产精品电影网站| 老司机免费视频久久 | 久久阴道视频| 亚洲人成在线播放网站岛国| 亚洲午夜电影网| 国产日韩三区| 99精品福利视频| 国产欧美一区二区三区久久人妖 | 亚洲欧美日韩国产中文在线| 久久夜色精品一区| 日韩视频一区二区| 久久久国产精品一区二区三区| 亚洲国产综合91精品麻豆| 亚洲影音先锋| 国产亚洲欧美激情| 一区二区免费看| 国产在线视频欧美一区二区三区| 亚洲美女视频在线观看| 国产伦理一区| 99精品欧美一区| 国产一级揄自揄精品视频| 亚洲毛片播放| 国产一区二区精品丝袜| 夜夜爽www精品| 国内伊人久久久久久网站视频| 在线一区观看| 在线精品亚洲| 欧美在线视频免费播放| 亚洲精品一区二区三区婷婷月| 久久xxxx精品视频| 夜夜嗨网站十八久久| 久久综合中文色婷婷| 亚洲一区二区在线免费观看| 欧美激情精品久久久久久大尺度| 亚洲欧美日韩专区| 欧美视频一区在线观看| 亚洲日本中文字幕免费在线不卡| 国产欧美日韩视频一区二区| 一区二区欧美日韩| 1024精品一区二区三区| 久久精品国产精品| 亚洲午夜伦理|