吴忠躺衫网络科技有限公司

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

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

3天內不再提示

基于MSP430和nRF905實現無線數傳系統的設計

電子設計 ? 來源:現代電子技術 ? 作者:陳嬋,陳可中 ? 2021-06-15 16:14 ? 次閱讀

在特殊環境的數據測控應用中,無線數據傳輸已經越來越廣泛地被運用,MSP430+nRF905的組合特別適合于低功耗,短距離(100-200m)、小數據量的無線數傳系統,MSP430 CPU在低功耗應用方面有很大優勢,nRF905無線收發芯片具有功耗低、控制簡單、可自動處理字頭和CRC校驗的優點,兩者結合組成的數傳系統可以在很多產品中得到應用。

1 MSP430簡介

MSP430是TI公司新推出的16位系列單片機,在電池供電的低功耗應用中具有獨特的優勢,其工作電壓在1.8-3.6V之間,正常工作時功耗可控制在200μA左右,低功耗模式使可實現2μA甚至0.1μA的低功耗,MSP430具有非常高的集成度,通常在單個芯片上集成有12位的A/D、比較器、多個定時器,片內USART、看門狗、片內振蕩器、大量的I/O端口及大容量的片內存儲器,一般單片就可以滿足大多數的應用需要。

在低功耗應用中設計程序時,最好采用以下方法:CPU在初始化完成后,處于低功耗工作模式,在有外部事件發生時喚醒進入終端服務程序,完成后重新進入低功耗模式,照此循環往復,可以最大限度地降低功耗。

2 nRF905簡介

nRF905是挪威Nordic公司推出的單片射頻發射器芯片,工作電壓為1.9-3.6V,32引腳QFN封裝(5mm×5mm),工作于433/868/915MHz3個ISM頻道(可以免費使用)。nRF905可以自動完成處理字頭和CRT(循環冗余碼校驗)的工作,可由片內硬件自動完成曼徹斯特編碼/解碼,使用SPI接口微控制器通信,配置非常方便,其功耗非常低,以-10dBm的輸出功率發射時電流只有11mA,在接收模式時電流為12.5mA。

nRF905傳輸數據時為非實時方式,即發送端發出數據,接收端收到后先暫存于芯片存儲器內,外面的MCU可以在需要時再到芯片中去取。nRF905一次的數據傳輸量最多為32B。

2.1 nRF905的工作模式及設置

nRF905的兩種工作模式和兩種節能模式,分別為掉電模式、待機模式、ShockBurst TM接收模式和ShockBurst TM發送模式,這幾種模式由外界CPU通過控制nRF905的3個引腳PWR_UP、TRX_CE和TX_EN的高低電平來決定,如表1所列。

外界MCU通過SPI總線配置nRF905的內部寄存器,讀寫數據時必須把其置為待機或掉電模式,nRF905在待機模式時功耗為40μA,在掉電模式時功耗為2.5μA。

2.2 nRF905的狀態輸出

nRF905有3個引腳用于狀態輸出,分別是:CD(載波檢測)、AM(地址匹配)和DR(數據就緒),均為高電平有效,nRF905在處于接收模式時,若檢測到接收頻率段的載波,就置CD為高,接著檢測載波數據中的地址字節,若與本身已配置的接收地址相同,則置AM為高,若再檢測到接收數據中的CRC校驗正確,則存儲有效數據字節,置DR為高。

此外,nRF905還有一個時鐘輸出引腳uPCLH,供用戶選擇使用。通過配置內部寄存器,可改變其頻率輸出,這一點在調試時很有用。無線系統至少需要一發一收兩個設備,調試時若出現問題很難判斷是哪一方的故障。可以通過修改nRF905的寄存器,用示波器觀察uPCLK輸出是否變化的方法,來判斷其硬件電路和CPU操作,nRF905的程序是否正確,從而判斷及設備是否工作正常。

2.3 nRF905的數據接口

外圍MCU通過SPI總線配置nRF905的內部寄存器和收發數據,nRF905的SPI總線包括4個引腳:CSN(SPI使能)、SCK(SPI時鐘)、MISO(主入從出)和MOSI(主出從入)。這里nRF905為從機,其SPI的時鐘范圍很寬,可以從1Hz-10MHz,因此MCU在寫控制程序時不必苛求時間的準確度。

SPI總線的每次操作都必須在使能引腳CSN的下降沿開始,CSN低電平有效,總線上的數據在時鐘的上升沿有效,MCU對SPI總線的操作不外乎兩種方式:讀和寫,在進行讀操作時,先把CSN置低,然后在MOSI數據線上輸出一個表示讀命令的字節,與此同時,nRF905會在MISO數據線上輸出一字節表示狀態信息的數據,隨后輸出一地址字節,后面跟隨有效數據,在進行寫操作時比較簡單,MCU先把CSN拉低,然后在MOSI線上輸出寫命令字節和數據字節即可。

2.4 nRF905的寄存器配置

nRF905內部有5類寄存器:一是射頻配置寄存器,共10個字節,包括中心頻點、無線發送功率配置、接收靈敏度、收發數據的有效字節數、結社地址配置等重要信息;二是發送數據寄存器,共32字節,MCU要向外發的數據就需要寫在這里,三是發送地址,共4個字節,一對收發設備要正常通信,就需要發送端的發送地址與接收端的接手地址配置相同,四是接收數據寄存器,共32字節,nRF905接收到的有效數據就存儲在這些寄存器中,MCU可以在需要時到這里讀取,五是狀態寄存器,1個字節,含有地址匹配和數據就緒的信息,一般不用。

MCU若要操作這些寄存器,需遵循nRF905規定的操作命令,常用的有以下7種,都是1個字節;寫射頻配置(0XH,“X”含4位二進制位,該字節表示要開始寫的初始字節數)、讀射頻配置(1XH,“X”含4位二進制位,該字節表示要從哪個字節開始讀)、寫發送數據(20H),讀發送數據(21H)、寫發送地址(22H)、讀發送地址(23H)和讀接收數據(24H),關于寄存器的詳細信息可以參閱nRF905的數據手冊。

2.5 nRF905的工作過程

nRF905在正常工作前應由MCU先根據需要寫好配置寄存器,或是按照默認配置工作,其后的工作主要是兩個:發送數據和接收數據。

發送數據時,MCU應先把nRF905置于待機模式(PWR_UP引腳為高、TRX_CE引腳為低)然后通過SPI總線把發送地址和待發送的數據都寫入相應的寄存器中,之后把nRF905置于發送模塊(PWR_UP、TRX_CE和TX_EN全置高)數據就會自動通過天線發送出去,若射頻配置寄存器中的自動重發位(AUTO_RETRAN)設為有,數據包就會重復不斷地一直向外發,直到MCU把TRX_CE拉低,退出發送模式為止。為了數據更可靠地傳輸,建議多使用此種方式。

接收數據時,MCU先在nRF905的待機模式中把射頻配置寄存器中的接收地址寫好,然后置其于接收模式(PWR_UP=1、TRX_CE=1、TX_EN=0),nRF905就會自動接收空中的載波,若收到地址匹配的和校驗正確的有效數據,DR引腳會自動置高,MCU在檢測到這個信號后,可以改其為待機模式,通過SPI總線從接收數據寄存器中讀出有效數據。

3 系統硬件設計

MSP430的USART模塊可通過寄存器配置為通用異步串行口或SPI模塊功能,這里配置為SPI模塊,本系統選用的MCU是MSP430F133,在硬件設計時把MCU的SPI接口和nRF9051SPI接口相連即可,另外再選幾個I/O口連接Nrf9051輸出輸出信號,如圖1所示。

對于初次接接觸無線系統的設計者,因其射頻部分的元件采購,焊接和調試比較麻煩,可以選用PTR8000模塊,該模塊內核使用nRF905,硬件電路已經焊好,十月起來相對方便一些。

4 控制程序設計

本系統設計的重點是控制nRF901的程序設計,大致分為兩個階段:首先是對NrF905進行初始配置,配置完成后按 需要便攜書記的發送或接收程序。

4.1 初始化配置

第一階段應完成初始化配置,分以下幾項:

1)MSP430的SPI接口設置,MSP4301異步串行接口和SPI接口用同一個USART模塊,賊里需要用軟件配置為SPI功能,本設計中SPI配置為主機模塊、3線制和8位數據,程序源代碼參見子程序“SPI_SET五”。

2)初始化nRF901的射頻配置寄存器,這些寄存器中有很多信息,必須根據實際情況進行配置,本設計中nRF905外界16MHz晶體,“XOF應配置為“011”;“PA_PWR”為發射功率,RX_RED_PWR”為接收命靈敏度,可根據需要配置;另外還有發送地址、接收地址、發送數據和結社數據的長度(字節數)可根據實際應用配置,注意賊組寄存器中海油接收時的實際地址,不而發送地址在其他單獨的寄存器中。

3)配制nRF901的發送地址,最多4個字節(32位),發送端的發送地址應于接受端設備的結社地址相同,在實際工作中nRF901可以自動濾濾除地址不相同的數據,只有地址匹配且校驗正確的數據彩繪被接受,并存儲在接收數據寄存器中。

4.2 發送數據

使nRF905發送數據前需要MSP430通過SPI總線在待機模式便板待法數據填進發送數據寄存器中,一次最多32B,然而把nRF9051“TRX_CE”、“TX_EN” 因該都置為高電平,數據就會自動發送出去,本設計射頻配置寄存器中選定了自動重發位,因此在“TRX_CE”被置高的時間內數據一直在重復不斷地發。本程序中設計延時500ms,之后拉低“TR X_CE”因該,回到待機模式。

4.3 接收數據

MSP430把nRF905的“TRX_CE”引腳置為高電平,“TX_CE引腳拉為低電平后就刻蝕結社數據,本設計中CPU在設定的35s內一直判斷Nrf9051“DR”引腳是否便變高個,若為高則證明接收到了有效數據,可以退出接收模式,弱一致沒有接受2到,待時間到時也退出接接受是模塊,退出后在待機模塊,CPU通過SPI總線把NRF905內部的接收數據寄存器中數據讀出,即接收道德有效數據。

便攜接受部分程序時,有一點應該注意,很多資料中都沒有提到,就是CPU在MOSI信號線上發出讀命令字節后“MISO”信號線上nRF905會自動返回一字節數據,本本身的狀態寄存器信息,后續的接收數據并不會自動跟著輸出,只有CPU在MOSI上輸出一個字節(可以是隨意值),nRF905才會在“MISO”上返回一個字節,CPU再發,nRF905再滿會,直到讀完為止。

責任編輯:gt

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

    關注

    6043

    文章

    44622

    瀏覽量

    638523
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    121157
  • 無線
    +關注

    關注

    31

    文章

    5470

    瀏覽量

    173822
收藏 人收藏

    評論

    相關推薦

    基于MSP430nRF905的多點無線通訊模塊

    本帖最后由 eehome 于 2013-1-5 09:48 編輯 基于MSP430nRF905的多點無線通訊模塊
    發表于 08-16 17:28

    怎么實現MSP430nRF905無線系統的設計?

    怎么實現MSP430nRF905無線系統的設
    發表于 05-27 06:24

    請問怎樣去設計MSP430+nRF905系統

    MSP430是什么?nRF905是什么?怎樣去設計MSP430+nRF905系統
    發表于 05-27 06:26

    MSP430nRF905無線系統設計

    MSP430nRF905無線系統設計 栽特殊環境的數據測控應用中,
    發表于 09-28 14:36 ?184次下載

    MSP430nRF905無線系統設計

    MSP430nRF905無線系統設計  2006-09-24
    發表于 02-08 15:48 ?765次閱讀

    基于MSP430NRF905無線發收應用實例

    基于MSP430NRF905無線發收應用實例.
    發表于 04-10 14:32 ?211次下載
    基于<b class='flag-5'>MSP430</b>的<b class='flag-5'>NRF905</b><b class='flag-5'>無線</b>發收應用實例

    MSP430nRF905無線系統設計

    MSP430nRF905無線系統設計
    發表于 02-17 09:46 ?5次下載

    基于MSP430nRF905無線系統設計

    基于MSP430nRF905無線系統設計
    發表于 02-17 10:00 ?13次下載

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

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

    基于MSP430nRF905的多點無線通訊模塊

    基于MSP430nRF905的多點無線通訊模塊。
    發表于 05-17 17:47 ?1次下載

    基于單片機MSP430NRF905無線通信模塊

    基于單片機MSP430NRF905無線通信模塊。
    發表于 05-17 17:47 ?2次下載

    MSP430nRF905無線系統設計

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

    nRF905無線數據多點跳通信系統

    基于nRF905無線數據多點跳通信系統
    發表于 09-01 11:27 ?9次下載
    <b class='flag-5'>nRF905</b>的<b class='flag-5'>無線</b>數據多點跳<b class='flag-5'>傳</b>通信<b class='flag-5'>系統</b>

    倉庫溫濕度監測與nRF905無線傳輸系統的設計詳析

    基于 MSP430的倉庫溫濕度監測系統采用了先進的數字式溫濕度一體化 SHT 芯片, 通過 nRF905無線方式傳輸數據, 大大簡化了硬件成本。
    發表于 04-27 11:06 ?14次下載
    倉庫溫濕度監測與<b class='flag-5'>nRF905</b><b class='flag-5'>無線</b>傳輸<b class='flag-5'>系統</b>的設計詳析

    NRF905無線模塊軟硬件開發包資料包括AVR MSP430 C51單片機軟件DEMO源碼: 51系

    NRF905無線模塊軟硬件開發包資料包括AVR MSP430 C51單片機軟件DEMO源碼: 51系(周立功單片機)-NRF905無線模塊軟
    發表于 07-22 12:44 ?36次下載
    <b class='flag-5'>NRF905</b><b class='flag-5'>無線</b>模塊軟硬件開發包資料包括AVR <b class='flag-5'>MSP430</b> C51單片機軟件DEMO源碼: 51系
    永利高百家乐进不去| 路单百家乐官网的玩法技巧和规则 | 百家乐知识技巧玩法| 网上百家乐官网赌场| 大发888赢速通充值| 金锁玉关24山砂水断| 百家乐官网娱乐开户| 威尼斯人娱乐场老品牌| 百家乐官网凯时赌场娱乐网规则| 赌博技巧| 大发888分析| 百家乐在线娱乐场| 百家乐官网必胜法hk| bet365备用网址b365etbyty| 百家乐单跳投注法| 百家乐官网游戏大厅下| 定陶县| 娱乐城在线| 威尼斯人娱乐城线路lm0| 百家乐游戏奥秘| 澳门百家乐官网实战视频| 凯旋门娱乐城开户| 威尼斯人娱乐场首页| 博狗百家乐开户| 真人百家乐官网赢钱| 真錢棋牌游戏| 德州扑克怎么玩| 威尼斯人娱乐场 澳门赌场| 百家乐有什么打法| 百家乐官网五湖四海娱乐场开户注册| 网上赌钱| 博彩吧| 百家乐官网必赢| 真人百家乐官网蓝盾娱乐网| 大发888注册 大发888官网| 百家乐官网如何看| 百家乐官网开闲几率| 古田县| 山东省| 赌博游戏网站| 德州扑克胜率计算器|