国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于nRF905的無線數(shù)據(jù)傳輸設(shè)備設(shè)計

發(fā)布時間:2010-12-14 12:29    發(fā)布者:designer
關(guān)鍵詞: nRF905 , 數(shù)據(jù)傳輸
無線通信在機動性要求較強的設(shè)備中或人們不方便隨時到達(dá)現(xiàn)場的條件下得到了越來越廣泛的應(yīng)用,如無線數(shù)據(jù)采集、無線設(shè)備管理和監(jiān)控、汽車儀表數(shù)據(jù)的無線讀取等都是其典型應(yīng)用。微功率短距離無線通信技術(shù)作為無線通信實用技術(shù),一般使用單片射頻收發(fā)芯片,加上微控制器和少量外圍器件構(gòu)成專用或通用無線通信模塊,通常射頻芯片采用GFSK(高斯頻移鍵控)調(diào)制方式,工作于ISM(工業(yè)、科學(xué)、醫(yī)療)頻段,通信模塊包含簡單透明的數(shù)據(jù)傳輸協(xié)議或使用簡單的加密協(xié)議,用戶不必對無線通信原理和工作機制有較深的了解,只要依據(jù)命令字進(jìn)行操作即可實現(xiàn)基本的數(shù)據(jù)無線傳輸功能,因其功率小、開發(fā)簡單快速而在工業(yè)、民用等領(lǐng)域應(yīng)用廣泛。本文介紹利用ATmega16單片機和無線數(shù)據(jù)收發(fā)芯片nRF905構(gòu)成的短距離無線數(shù)據(jù)傳輸設(shè)備,給出了硬件和軟件設(shè)計方案。

1 系統(tǒng)硬件設(shè)計

1.1 系統(tǒng)結(jié)構(gòu)

無線數(shù)據(jù)傳輸系統(tǒng)結(jié)構(gòu)如圖1所示。該系統(tǒng)由外部數(shù)據(jù)設(shè)備和無線數(shù)據(jù)傳輸模塊組成,外部數(shù)據(jù)設(shè)備為PC機或數(shù)據(jù)采集等設(shè)備,我們設(shè)計的主要是無線數(shù)據(jù)傳輸模塊。無線數(shù)據(jù)傳輸模塊基于微功耗單片射頻收發(fā)器nRF905設(shè)計,采用Atmel公司的高性能、低功耗8位處理器ATmega16為主處理芯片,完成數(shù)據(jù)的處理和控制。





1.2 ATmega16和nRF905

Atmel公司的ATmega16單片機具有先進(jìn)的RISC(精簡指令集計算機)結(jié)構(gòu)、非易失性程序和數(shù)據(jù)存儲器,16 kB可編程Flash存儲器、512 B的EEPROM和1 kB片內(nèi)SRAM,具有豐富的外設(shè)接口,其USART(通用同步和異步接收器和轉(zhuǎn)發(fā)器)是一個高度靈活的串行通信設(shè)備,SPI(串行外設(shè)接口)允許ATmega16與外設(shè)或其他AVR器件進(jìn)行高速的同步數(shù)據(jù)傳輸。

nRF905是挪威Nordic VLSI公司推出的單片射頻收發(fā)器,工作電壓為1.9 V~3.6 V,工作于433/868/915 MHz這3個ISM頻段,頻道轉(zhuǎn)換時間小于650μs,最大數(shù)據(jù)速率為100 kbit/s。nRF905由頻率合成器、接收解調(diào)器、功率放大器、晶體振蕩器和GFSK調(diào)制器組成,不需外加聲表面濾波器,ShockBurstTM工作模式,自動處理字頭和CRC(循環(huán)冗余檢驗),使用SPI接口與微控制器通信,配置非常方便。此外,其功耗很低,以-10 dBm輸出功率發(fā)射時電流只有11 mA,工作于接收模式時的電流為12.5 mA,具有窄閑模式與關(guān)機模式,易于實現(xiàn)功率管理。

1.3 硬件電路

硬件電路主要由電源與復(fù)位電路、外部數(shù)據(jù)設(shè)備接口電路、單片機系統(tǒng)和nRF905應(yīng)用電路等幾部分組成。硬件電路如圖2所示。





1.3.1 電源與復(fù)位電路

nRF905和單片機的典型工作電壓為+3.3 V,而系統(tǒng)供電電源為+5V,所以采用低壓差線性穩(wěn)壓器TPS7333實現(xiàn)+5 V~+3.3 V的線性穩(wěn)壓。為了實現(xiàn)穩(wěn)定、可靠的復(fù)位,使用低電壓工作的復(fù)位芯片TPS70733產(chǎn)生復(fù)位信號。

1.3.2 外部數(shù)據(jù)設(shè)備接口

無線數(shù)據(jù)傳輸模塊與外部數(shù)據(jù)設(shè)備之間采用RS-232接口,ATmega16的PD0-PD1用于連接RS-232串口。通常,PC機與單片機用兩根線方式進(jìn)行全雙工異步通信。由于AVR單片機輸人輸出為TTL電平,PC機配置的是RS-232標(biāo)準(zhǔn)串行接口,二者電氣規(guī)范不一致,因此,使用ICL3221收發(fā)芯片實現(xiàn)串口電平轉(zhuǎn)換。

數(shù)據(jù)傳輸速率在板可設(shè)置或通過外部數(shù)據(jù)設(shè)備設(shè)置。在板波特率利用ATmega16的PA7、PA6兩位設(shè)置,可設(shè)置為9.6kbit/s、19.2 kbit/s、38.4kbit/s、115.2 kbit/s。利用外部數(shù)據(jù)設(shè)備設(shè)置波特率時,單片機的初始數(shù)據(jù)傳輸速率為9.6 kbit/s,PA7、PA6置為00狀態(tài),當(dāng)單片機收到波特率沒置命令后,數(shù)據(jù)傳輸速率調(diào)整為設(shè)定值。

1.3.3 單片機與nRF905接口電路

單片機與nRF905的接口電路很最要。nRF905內(nèi)部有5個寄存器:狀態(tài)寄存器、配置寄存器、發(fā)射地址寄存器、發(fā)射數(shù)據(jù)寄存器和接收數(shù)據(jù)寄存器。除了對寄存器讀寫外,還需對nRF905工作模式的切換進(jìn)行控制。單片機與nRF905的信號連接見圖3。





ATmega16與nRF905之間的雙向數(shù)據(jù)傳輸使用SPI接口,單片機的PB7-PB4連接nRF905的SPI接口,PD2-PD7連接nRF905的控制信號和檢測信號,用于nRF905的模式切換以及通信過程中必須的信號指示接口。

2 系統(tǒng)軟件設(shè)計

2.1 數(shù)據(jù)傳輸過程

PC機(或其他外部設(shè)備)有數(shù)據(jù)傳輸或需設(shè)置設(shè)備參數(shù)時,通過串口將數(shù)據(jù)發(fā)送給單片機,單片機接收數(shù)據(jù)后,將需發(fā)送的數(shù)據(jù)(這里包括目標(biāo)設(shè)備地址和所要發(fā)送的數(shù)據(jù))通過SPI接口發(fā)送給nRF905,nRF905將數(shù)據(jù)加前導(dǎo)碼和CRC碼,將數(shù)據(jù)包發(fā)送。

當(dāng)nRF905接收到有效數(shù)據(jù)后,DR置高,單片機檢測到DR為高電平后,復(fù)位TRX_CE引腳,使nRF905進(jìn)入空閑模式,通過SPI接口從nRF905中讀出接收數(shù)據(jù),然后通過USART傳送給PC機或其他外部沒備。

軟件功能模塊由CPU寄存器初始化、串行口初始化、串口收發(fā)送程序、SPI初始化、SPI收發(fā)送程序、I/O口初始化、nRF905配置寄存器操作、nRF905接收程序、發(fā)送程序、主程序模塊組成。下面簡要介紹主要的軟件功能模塊。

2.2 USART串口軟件設(shè)計

AVR USART與AVR UART在寄存器位定義、波特率發(fā)生器、發(fā)送器操作、發(fā)送緩沖器的功能以及接收器操作等方面完全兼容,此外,接收緩沖器進(jìn)行了兩方面改進(jìn):增加了一個緩沖器;接收移位寄存器可以作為第3級緩沖。

2.2.1 串口數(shù)據(jù)幀格式

外部數(shù)據(jù)設(shè)備與無線數(shù)據(jù)傳輸設(shè)備間的雙向數(shù)據(jù)傳輸使用相同的幀格式,幀格式由幀頭、幀長、幀標(biāo)志和數(shù)據(jù)組成。幀頭為數(shù)據(jù)幀開始標(biāo)志,固定為0FF81H,長度2字節(jié)。幀長指從幀標(biāo)志開始至本幀結(jié)束的所有數(shù)據(jù)的字節(jié)數(shù),不包括幀頭、幀長本身,單位為字節(jié),幀長占1字節(jié)。幀標(biāo)志用以指示本幀數(shù)據(jù)的內(nèi)容屬性,長度為1字節(jié)。不同類型幀的數(shù)據(jù)長度和幀標(biāo)志具體定義如表1所示。





數(shù)據(jù)指所傳輸?shù)臉I(yè)務(wù)等內(nèi)容,數(shù)據(jù)長度見表1,數(shù)據(jù)內(nèi)容定義如下:

a) 波特率設(shè)置:01H~0AH對應(yīng)波特率(單位為kbit/s)為2.4、4.8、9.6、14.4、19.2、28.8、38.4、57.6、76.8、115.2。

b) 設(shè)備地址設(shè)置:設(shè)備地址為00000000H~FFFFFFFFH。

c) 發(fā)射功率:00H為低功率;01H為高功率。

d) 工作頻率:433 MHz頻段,信道間隔100 kHz。

e) 發(fā)送數(shù)據(jù):發(fā)送數(shù)據(jù)長度不定,最長不超過254字節(jié)。

2.2.2 USART初始化

初始化USART操作包括波特率設(shè)置、數(shù)據(jù)格式和UCSRB寄存器設(shè)置。USART的波特率寄存器UBRR和降序計數(shù)器相連接,一起構(gòu)成可編程的預(yù)分頻器或波特率發(fā)生器。UBRR值的計算由該公式完成:UBRR=fosc/(16baud)-1,其中Baud為波特率,fosc為系統(tǒng)時鐘頻率。通過設(shè)置UCSRC寄存器,設(shè)置數(shù)據(jù)格式為8位數(shù)據(jù)位和1位停止位。通過設(shè)置UCSRB寄存器,使能串口發(fā)送和接收,并響應(yīng)接收完成中斷。

2.2.3 數(shù)據(jù)發(fā)送和接收

數(shù)據(jù)發(fā)送采用查詢方式。置位UCSRB寄存器的發(fā)送允許位TXEN將使能USART的數(shù)據(jù)發(fā)送,將需要發(fā)送的數(shù)據(jù)加載到發(fā)送緩沖區(qū)將啟動數(shù)據(jù)發(fā)送,加載過程為CPU對UDR寄存器的寫操作。發(fā)送數(shù)據(jù)時,按照幀格式在所需發(fā)送的數(shù)據(jù)前加上幀頭、幀長、幀標(biāo)志組幀發(fā)送。

數(shù)據(jù)接收采用中斷方式。置位UCSRB寄存器的接收允許位RXEN將啟動USART的數(shù)據(jù)接收器,通過讀取UDR寄存器就可以獲得接收緩沖器的內(nèi)容。接收數(shù)據(jù)時,幀標(biāo)志有效才能開始接收一幀數(shù)據(jù),并根據(jù)讀出的幀長信息完成接收規(guī)定長度的數(shù)據(jù)。

2.3 SPI接口軟件設(shè)汁

本設(shè)計中SPI配置為主機模式,nRF905為從設(shè)備。SPI波特率最高可設(shè)置為1/2系統(tǒng)時鐘,系統(tǒng)時鐘為8 MHz,因此SPI速率可達(dá)4 MHz。此外,正確選擇SPI的工作模式對SPI數(shù)據(jù)傳輸非常重要,AT-mega16的SCK的相位和極性有4種組合,SPI工作模式由CPOL、CPHA設(shè)置,根據(jù)nRF905的SPI讀寫時序,ATmega16的SPI工作模式應(yīng)設(shè)置為模式0。

ATmega16與nRF905同時進(jìn)行雙向數(shù)據(jù)傳輸。ATmega16配置為SPI主機時,SPI接口不自動控制SS引腳,由用戶軟件來控制。ATmega16通過將從機的CSN引腳置低實現(xiàn)與從機的同步。SPI時鐘由寫入到SPI發(fā)送緩沖寄存器的數(shù)據(jù)啟動,SPI MOSI引腳上的數(shù)據(jù)發(fā)送次序由寄存器SPCR的DORD位控制,置位時數(shù)據(jù)的LSB(最低位)首先發(fā)送,否則數(shù)據(jù)的MSB(最高位)首先發(fā)送。我們選擇先發(fā)送MSB,同時接收到的數(shù)據(jù)傳送到接收緩沖寄存器,CPU進(jìn)行右對齊從接收緩沖器中讀取接收到的數(shù)據(jù)。應(yīng)該注意,當(dāng)需要從nRF905中讀取多個數(shù)據(jù)時,即使nRF905并不需要ATmega16串行輸出的數(shù)據(jù),每讀取一個數(shù)據(jù)前都要向SPI發(fā)送緩沖器寫一個數(shù)據(jù)以啟動SPI接口時鐘。由于SPI系統(tǒng)的發(fā)送方向只有1個緩沖器,而在接收方向有2個緩沖器,所以在發(fā)送時一定要等到移位過程全部結(jié)束后,才能對SPI數(shù)據(jù)寄存器執(zhí)行寫操作;而在接收數(shù)據(jù)時,需要在下一個字節(jié)移位過程結(jié)束之前通過訪問SPI數(shù)據(jù)寄存器讀取當(dāng)前接收到的數(shù)據(jù),否則第1個數(shù)據(jù)丟失。

2.4 nRF905配置及收發(fā)流程

對nRF905寄存器的操作是一個很關(guān)鍵的問題,nRF905的所有配置都是通過SPI接口進(jìn)行的。nRF905的SPI接口只有在掉電模式和standby模式是激活的。當(dāng)CSN為低時,SPI接口開始等待一條指令,任何一條新指令均由CSN由高到低的轉(zhuǎn)換開始。

nRF905發(fā)送模式工作過程如下:

a) 當(dāng)ATmega16發(fā)送數(shù)據(jù)時,將接收設(shè)備地址和所要發(fā)送的數(shù)據(jù)通過SPI接口寫入nRF905,SPI傳輸速率由初始化設(shè)置。

b) 置位TRX_CE、TX_EN,激活nRF905發(fā)送模式。

c) nRF905自動完成數(shù)據(jù)打包(加入前導(dǎo)碼和CRC),包經(jīng)過GFSK調(diào)制以100 kbit/s發(fā)送,當(dāng)傳輸完畢DR置位。

d) 如果將AUTO_RETRAN位置高,nRF905將連續(xù)發(fā)送數(shù)據(jù)包,直至將TRX_CE引腳復(fù)位。

e) 當(dāng)TRX_CE引腳被設(shè)置為低時,nRF905結(jié)束發(fā)送模式,并進(jìn)入standby模式。

nRF905接收模式工作過程如下:

a) 將TRX_CE置位,TX_EN復(fù)位后650μs,nRF005進(jìn)入接收模式等待數(shù)據(jù)到來。

b) 當(dāng)nRF905在接收信號檢測到載波,則CD(carrier detect)引腳置位;然后,如果接收到有效地址則AM(address match)置位,最后將接收到的有效數(shù)據(jù)包去掉前導(dǎo)碼、地址,CRC正確后,將DR(data ready)引腳置位。

c) CPU復(fù)位TRX_CE引腳,使nRF905進(jìn)入空閑模式,然后通過SPI接口讀取數(shù)據(jù)。

d) 數(shù)據(jù)接收完畢后,nRF905 DR和AM引腳復(fù)位并準(zhǔn)備進(jìn)入下一個工作模式。

應(yīng)該注意的是,在數(shù)據(jù)發(fā)送過程中無論將TRX_CE、TX_EN怎樣設(shè)置,nRF905都會完成此次發(fā)送而不受影響,此后,進(jìn)八所設(shè)置的工作模式。而在接收數(shù)據(jù)包的過程中TRX_CE或TX_EN狀態(tài)改變,則nRF905會立即改變工作模式,丟失數(shù)據(jù)。

2.5 主程序流程

主程序流程圖如圖4所示。




3 結(jié)束語

我們采用 nRF905射頻收發(fā)芯片和ATmega16微控制器設(shè)計了短距離無線數(shù)據(jù)傳輸設(shè)備,完成硬件電路和系統(tǒng)軟件調(diào)試后,進(jìn)行了無線數(shù)據(jù)收發(fā)實驗。實驗結(jié)果表明,在300 m通信距離,該無線傳輸設(shè)備工作穩(wěn)定,能實現(xiàn)數(shù)據(jù)的高速有效傳輸,具有低功耗、抗干擾能力強等優(yōu)點。
本文地址:http://m.qingdxww.cn/thread-46592-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
QQ42142951 發(fā)表于 2011-7-25 10:48:58
Nordic是專業(yè)的射頻品牌,公司絕對優(yōu)勢配合提供NRF24L01/NRF24L01+/NRF24LE1/NRF24LU1P/NRF905/NRF24AP2系列,在研發(fā)樣品階段需要樣品支持,試產(chǎn)階段需要少批量支持,大批量生產(chǎn)階段需要長期穩(wěn)定供應(yīng),甚至協(xié)助做產(chǎn)品優(yōu)化,請隨時聯(lián)系!13510620050
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 在线免费观看成人| 色无极在线影院| 日本三级免费| 午夜伦情| 夜夜橹橹网站| 狠狠色色综合网站| 国内精品免费视频精选在线观看| 亚洲VA欧美VA天堂V国产综合| 天天做天天看夜夜爽毛片| 色一欲一性一乱一区二区三区| 天堂在线91| 背着老婆爆操性感小姨子| 台湾18成人影院| 青青草在视线频久久| 亚欧成人乱码一区二区| 一级片免费在线观看| 久久久久久久久人体| 碰碰人人| 日韩一级影院| 色在线亚洲视频www| 99精品视频在线观看| 色姊姊真舒服| 亚洲免费观看网站| 亚洲ay| 曰批全过程免费观看视频| 麻豆一区二区三区蜜桃免费| 午夜视频在线免费播放| 三级黄色在线免费观看| 亚洲成人免费在线| 国精产品一区二区三区四区糖心| 曰批国产精品视频免费观看| 啪啪国产| 天天排行网| 国产高清亚洲日韩字幕一区| 亚洲中文字幕日本在线观看| 欧美亚洲国产精品久久第一页| 射射综合网| 粉嫩无套白浆第一次jk| 亚洲色综合中文字幕在线| 亚洲精品免费在线观看| 亚洲欧美韩日|