新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于MCU和nRF905的低功耗遠距離無線傳輸系統

        基于MCU和nRF905的低功耗遠距離無線傳輸系統

        作者: 時間:2010-12-09 來源:網絡 收藏


        3 點對點無線通信的實現

        3.1 SPI接口

        nRF905利用SPI口實現與的雙向通訊。nRF905的SPI總線包括4個引腳:CSN(SPI使能)、SCK(SPI時鐘)、MISO (主入從出)和MOSI(主出從入)。其中CSN可以接到一個GPIO端口控制芯片工作,而其他三個腳則連接到主控的SPI接口上。主控可以使用GPIO端口控制nRF905的3根控制線,控制低功耗的PWR_UP、正常工作的TX_EN、選擇發送還是接收方式的TRX_CE。nRF905有兩種節能模式和兩種工作模式,分別為掉電模式、待機模式、Shock Burst 接收模式和Shock Burst發送模式。這幾種模式由主控MCU通過控制nRF905的3個引腳PWR_UP、TRX_CE和TX_ EN的高低電平來決定。nRF905有3個引腳用于狀態輸出,分別是:CD(載波檢測)、AM(地址匹配)和DR(數據就緒),均為高電平有效。 nRF905在處于接收模式時,若檢測到接收頻率段的載波,就置CD為高。接著檢測載波數據中的地址字節,若與本身已配置的接收地址相同,則置AM為高;若檢測到接收數據中的CRC校驗正確,則存儲有效數據字節,置DR為高。

        本文引用地址:http://www.104case.com/article/156893.htm

        MCU通過SPI總線配置nRF905的內部寄存器和收發數據。這里nRF905為從機,其SPI的時鐘范圍很寬,可為1Hz~10MHz,因此 MCU在寫控制程序時不必苛求時間的準確度。SPI總線的每次操作都必須在使能引腳CSN的下降沿開始,CSN 低電平有效,總線上的數據在時鐘的上升沿有效。MCU對SPI總線進行讀操作時,先把CSN置低,然后在MOSI 數據線上輸出一個表示讀命令的字節,與此同時,nRF905會在MISO數據線上輸出一個字節表示狀態信息的數據,隨后輸出一個地址字節,后面跟隨有效數據。在進行寫操作時比較簡單,MCU先把CSN拉低,然后在MOSI線上輸出寫命令字節和數據字節即可。

        3.2 數據收發過程

        在nRF905正常工作前,必須由MCU根據需要寫好配置寄存器。發送數據時,先通過MCU把nRF905置于待機模式(PWR_UP置為高、 TRX_CE置為低),然后通過SPI總線把發送地址和待發送的數據都寫入相應的寄存器中,之后把nRF905置于發送模式(PWR_UP、TRX_CE 和TX_EN全部置高),配置成功后數據就會自動發送出去。若射頻配置寄存器中的自動重發位(AUTO_RETRAN)設為有效,數據包就會被重復發出,直到MCU拉低TRX_CE退出發送模式為止。nRF905發送數據的流程圖如圖2所示。

        基于MCU和nRF905的低功耗遠距離無線傳輸系統




        關鍵詞: MCU

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 集贤县| 大渡口区| 肥西县| 义马市| 西乌珠穆沁旗| 安塞县| 盈江县| 虎林市| 永丰县| 黑水县| 康马县| 噶尔县| 姚安县| 虹口区| 临湘市| 乐安县| 濮阳市| 永州市| 长兴县| 虎林市| 清原| 兴宁市| 黑龙江省| 定兴县| 文水县| 元朗区| 合水县| 汝南县| 吴桥县| 内江市| 威宁| 海阳市| 长寿区| 化德县| 株洲县| 清远市| 合江县| 长武县| 涿鹿县| 临城县| 南漳县|