色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用ATmega16和nRF905芯片實現無線數據傳輸系統的設計方案

牽手一起夢 ? 來源:網絡整理 ? 作者:佚名 ? 2020-01-16 09:42 ? 次閱讀

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

1 、系統硬件設計

1.1 系統結構

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

利用ATmega16和nRF905芯片實現無線數據傳輸系統的設計方案

1.2 ATmega16和nRF905

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

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

1.3 硬件電路

硬件電路主要由電源與復位電路、外部數據設備接口電路、單片機系統和nRF905應用電路等幾部分組成。硬件電路如圖2所示。

1.3.1 電源與復位電路

nRF905和單片機的典型工作電壓為+3.3 V,而系統供電電源為+5V,所以采用低壓差線性穩壓器TPS7333實現+5 V~+3.3 V的線性穩壓。為了實現穩定、可靠的復位,使用低電壓工作的復位芯片TPS70733產生復位信號

1.3.2 外部數據設備接口

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

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

1.3.3 單片機與nRF905接口電路

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

利用ATmega16和nRF905芯片實現無線數據傳輸系統的設計方案

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

2 、系統軟件設計

2.1 數據傳輸過程

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

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

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

2.2 USART串口軟件設計

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

2.2.1 串口數據幀格式

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

利用ATmega16和nRF905芯片實現無線數據傳輸系統的設計方案

數據指所傳輸的業務等內容,數據長度見表1,數據內容定義如下:

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

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

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

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

e) 發送數據:發送數據長度不定,最長不超過254字節。

2.2.2 USART初始化

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

2.2.3 數據發送和接收

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

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

2.3 SPI接口軟件設汁

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

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

2.4 nRF905配置及收發流程

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

nRF905發送模式工作過程如下:

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

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

c) nRF905自動完成數據打包(加入前導碼和CRC),包經過GFSK調制以100 kbit/s發送,當傳輸完畢DR置位。

d) 如果將AUTO_RETRAN位置高,nRF905將連續發送數據包,直至將TRX_CE引腳復位。

e) 當TRX_CE引腳被設置為低時,nRF905結束發送模式,并進入standby模式。

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

a) 將TRX_CE置位,TX_EN復位后650μs,nRF005進入接收模式等待數據到來。

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

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

d) 數據接收完畢后,nRF905 DR和AM引腳復位并準備進入下一個工作模式。

應該注意的是,在數據發送過程中無論將TRX_CE、TX_EN怎樣設置,nRF905都會完成此次發送而不受影響,此后,進八所設置的工作模式。而在接收數據包的過程中TRX_CE或TX_EN狀態改變,則nRF905會立即改變工作模式,丟失數據。

2.5 主程序流程

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

利用ATmega16和nRF905芯片實現無線數據傳輸系統的設計方案

3、 結束語

我們采用 nRF905射頻收發芯片和ATmega16微控制器設計了短距離無線數據傳輸設備,完成硬件電路和系統軟件調試后,進行了無線數據收發實驗。實驗結果表明,在300 m通信距離,該無線傳輸設備工作穩定,能實現數據的高速有效傳輸,具有低功耗、抗干擾能力強等優點。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    455

    文章

    50714

    瀏覽量

    423154
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634653
  • 無線
    +關注

    關注

    31

    文章

    5450

    瀏覽量

    173244
收藏 人收藏

    評論

    相關推薦

    Atmega16主控的nRF905驅動程序

    Atmega16主控的nRF905驅動程序 
    發表于 11-26 09:11

    基于nRF905無線串口通信系統

    本文介紹了一種硬件設計簡單、數據傳輸可靠的無線串口通信系統的設計與實現。文中從基于nRF905芯片
    發表于 03-04 12:21

    基于NRF905無線溫度采集系統設計方案

    數據的相對測量精度也都在0.18%以下,測量精度較高,且受環境影響較小。    5 結語  本文提出了一種基于NRF905無線溫度采集系統設計
    發表于 12-04 16:01

    一種基于nRF905和C8051F單片機的無線數據傳輸系統設計

    無線射頻器收發組成的一種無線數據傳輸系統方案。該系統由發射和接收模塊組成,發射模塊主要將要發送
    發表于 07-19 06:02

    如何利用ATmega16nRF905實現無線數據傳輸設備設計?

    本文介紹利用ATmega16單片機和無線數據收發芯片nRF905構成的短距離
    發表于 06-01 06:54

    MSP430和nRF905無線數傳系統設計

    MSP430和nRF905無線數傳系統設計 栽特殊環境的數據測控應用中,無線數據傳輸已經越來
    發表于 09-28 14:36 ?184次下載

    基于nRF905無線數據傳輸系統

    介紹了單片射頻收發器nRF905,設計了基于nRF905和MCU的無線通信系統;給出了相關的硬件設計電路和完整的通信協議;經過實際數據通信實
    發表于 12-13 17:11 ?141次下載

    基于SPI總線的無線數據傳輸系統設計

    基于SPI總線的無線數據傳輸系統設計   摘要: 通過基于SPI總線的無線數據通信設備,利用
    發表于 03-13 11:42 ?3783次閱讀
    基于SPI總線的<b class='flag-5'>無線</b><b class='flag-5'>數據傳輸</b><b class='flag-5'>系統</b>設計

    NRF905無線串口通信系統

    本文介紹了一種硬件設計簡單、數據傳輸可靠的無線串口通信系統的設計與實現。文中從基于nRF905芯片
    發表于 03-22 14:23 ?216次下載

    NRF905無線收發芯片原理及設計實現

    介紹了無線收發芯片nRF905 的功能, 及其與51 單片機的接口設計。單片機可以很容易地通過SPI 接口訪問nRF905, 功耗低。多頻道多頻段, 可以很方便地
    發表于 03-02 16:43 ?444次下載
    <b class='flag-5'>NRF905</b><b class='flag-5'>無線</b>收發<b class='flag-5'>芯片</b>原理及設計<b class='flag-5'>實現</b>

    nRF905無線數據傳輸系統

    nRF905無線數據傳輸系統
    發表于 11-06 11:32 ?0次下載

    基于nRF905數傳芯片無線表決系統設計

    基于nRF905數傳芯片無線表決系統設計
    發表于 02-17 10:01 ?7次下載

    基于nRF905芯片無線傳輸設計與實現

    介紹 了利 用nRF905芯片進行 無線傳輸的設計 思想和 實現方法。整個無線
    發表于 10-25 18:04 ?547次下載

    nRF905無線數據傳輸系統

    電子設計研發部分的研發人員常用資料,nRF905無線數據傳輸系統,感興趣的可以瞧一瞧。
    發表于 11-03 14:53 ?0次下載

    NRF905無線收發芯片原理及設計實現

    介紹了無線收發芯片nRF905 的功能,及其與51單片機的接口設計。單片機可以很容易地通過SPI 接口訪問nRF905, 功耗低。多頻道多頻段,可以很方便地
    發表于 06-17 08:00 ?11次下載
    <b class='flag-5'>NRF905</b><b class='flag-5'>無線</b>收發<b class='flag-5'>芯片</b>原理及設計<b class='flag-5'>實現</b>
    主站蜘蛛池模板: 亚洲一级特黄| 国产女人91精品嗷嗷嗷嗷| va亚洲va天堂va视频在线| 99久久国产露脸精品麻豆| www在线小视频免费| 富婆夜店找黑人猛男BD在线| 国产精品视频人人做人人爽| 后入到高潮免费观看| 久久热国产在线视频| 美女脱了内裤张开腿让男人桶到爽| 免费麻豆国产黄网站在线观看| 秋霞午夜一级理论片久久| 十分钟免费观看高清视频大全| 性按摩AAAAAAA片| 尹人综合网| china chinese中国人玩| 国产成人无码AV麻豆| 九九热免费在线观看| 暖暖日本免费播放| 无码内射成人免费喷射| 尹人久久大香找蕉综合影院| 成人毛片免费在线观看| 国产一在线精品一区在线观看| 酒色.com| 色综合伊人色综合网站中国| 亚洲中文字幕在线第六区| bdsm中国精品调教ch| 国产学生在线播放精品视频| 裸妇厨房风流在线观看| 乳交高H糙汉宠文| 亚洲AV无码乱码国产麻豆穿越| 18未满不能进的福利社| 暗卫受被肉到失禁各种PLAY| 国精产品砖一区二区三区糖心| 久久精品亚洲精品国产欧美| 欧美午夜精品一区二区蜜桃| 亚洲精品在线不卡| xx顶级欧美熟妞xxhd| 久久国产36精品色熟妇| 日韩亚射吧| 7777色鬼xxxx欧美色夫|