找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3189|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

MSP430單片機關(guān)于XS1212通訊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:161501 發(fā)表于 2017-1-12 18:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
k Easy-link  編程指南
項目名稱 :2 SX1212 M 433M  標(biāo)準(zhǔn)模塊
項目型號 : LSD4RF-2H310N10


文 件 修 改 記 錄 臺 帳
項目名稱 Easy-link 編程指南 項目型號 LSD4RF-2H310N10
編制人 蔣俊杰 編制日期 2015-08
審核人 孫香濤、于海波 審核日期 2015-08
版本號 修改日志 修改人 審核人
修改日期
(XXXX-XX-XX)
V1.0 新建 蔣俊杰 于海波 2015-08-21

目 目  錄
第一章 簡介..............................................................................................................................................................1
第二章 快速建立通信測試試驗.............................................................................................................................. 2
第三章 例程流程圖.................................................................................................................................................. 4
第四章 移植..............................................................................................................................................................5
1、修改宏定義.................................................................................................................................................. 5
2、SPI 初始化................................................................................................................................................... 6
3、MCU 硬件功能的移植................................................................................................................................... 6
4、建立測試工程.............................................................................................................................................. 8
第五章 更改無線模塊的通信參數(shù)........................................................................................................................ 10
1、設(shè)置載波頻率............................................................................................................................................ 10
2、設(shè)置波特率................................................................................................................................................ 11
3、設(shè)置同步字................................................................................................................................................ 12
4、定義是否打開 CRC..................................................................................................................................... 13
5、數(shù)據(jù)包長度定義........................................................................................................................................ 13
6、數(shù)據(jù)包數(shù)據(jù)定義........................................................................................................................................ 14
7、調(diào)制方式 FSK 與 OOK 的切換.................................................................................................................... 14
第六章 LSD4RF-2H310N10 例程部分代碼介紹......................................................................................................15
1、SX1212_RF.h.............................................................................................................................................. 15
2、SX1212_RF.c.............................................................................................................................................. 15
3、SX1212_RF.c.............................................................................................................................................. 15
4、讀寫 LSD4RF-2H310N10 寄存器的值........................................................................................................ 15
5、清除 LSD4RF-2H310N10 的 FIFO............................................................................................................... 15
6、設(shè)置 LSD4RF-2H310N10 的工作模式........................................................................................................ 16
7、復(fù)位 LSD4RF-2H310N10 模塊.................................................................................................................... 16
8、初始化 LSD4RF-2H310N10 模塊................................................................................................................ 16
9、發(fā)送數(shù)據(jù)包................................................................................................................................................ 17
10、接收數(shù)據(jù)包.............................................................................................................................................. 17
敬告用戶:................................................................................................................................................................17
1
章 第一章  簡介
本編程指南主要講解了 LSD4RF-2H310N10 easy-link(簡單通信)庫函數(shù)調(diào)
用的應(yīng)用。方便用戶快速建立測試工程,進(jìn)行簡單的通信。
Easy-link 為用戶提供了一個數(shù)據(jù)包長度可變的通信測試代碼。代碼中有關(guān)
無線模塊的文件主要包括了 SX1212_RF.h、SX1212_RF.c 文件。主函數(shù) SX1212_tx
(SX1212_rx)調(diào)用了對應(yīng)文件里的函數(shù),為用戶調(diào)用函數(shù)和測試提供了參考。
Easy-link 代碼完全用的標(biāo)準(zhǔn) C 語言寫的,用戶只需更改一些宏定義和
SX1212_RF 配置參數(shù)就可以方便地應(yīng)用于其他 MCU 平臺。
提示:本程序只是為用戶提供一個簡單易用的通信測試代碼,當(dāng)用戶測試
通信成功后,可以適當(dāng)?shù)馗鶕?jù)自己的需求更改一些參數(shù)。
經(jīng)測試,本代碼在 MSP430F4152 平臺上正常運行。
實物連接圖,按照藍(lán)色連接線直接插入。
Msp430 底板
無線模塊
2
章 第二章  快速建立通信測試試驗
為了使客戶更快更方便的使用我們的產(chǎn)品,我們將程序做了統(tǒng)一的整合規(guī)
范,讓客戶更容易操作起來,提高開發(fā)進(jìn)度?蛻糁恍枰郊纯赏瓿 easy-link
(簡單通信)數(shù)據(jù)收發(fā)。(適用于 MSP430F4152)
步驟一:
首先根據(jù)自己使用的(MCU)單片機,修改對應(yīng) msp430_sys.h 中的
LSD_SPI_SIMO 、 LSD_SPI_SCK 、 LSD_SPI_SOMI 、 LSD_SPI_NSS_CONFIG 、
LSD_SPI_NSS_DATA、LSD_RF_IRQ0、LSD_RF_IRQ1 的宏定義,例如如下。
3
根據(jù)不同平臺,根據(jù)自己實際用的射頻IO 口,修改相應(yīng)的 IO 口定義 。
本測試代碼基于 MSP430F4152 平臺。
步驟二 :
1、建立發(fā)送測試 SX1212_tx.c 工程,在 workspace 處選擇 SX1212_tx,
并且選中 SX1212_tx.c 為當(dāng)前文件編譯。下載到一個控制底板(MSP430)
2、建立接收測試 SX1212_rx.c 工程,在 workspace 處選擇 SX1212_rx,
并且選中 SX1212_rx.c 為當(dāng)前文件編譯。下載到另一個控制底板(MSP430)
步驟三 :
完成后,上電模塊可自動進(jìn)行數(shù)據(jù)收發(fā)?稍谠撝袛嗪瘮(shù)中增加 LED 亮滅
的功能來觀察通信效果。如下,
4
章 第三章  例程流程圖
初始化后進(jìn)入空閑狀態(tài),如想進(jìn)入接收狀態(tài),可以調(diào)用 LSD_RF_RXmode();進(jìn)入
接收狀態(tài),如想進(jìn)入發(fā)送發(fā)送數(shù)據(jù),可以調(diào)用 SendRfFrame((unsigned char
*)(&RF_Pkt), sizeof(RF_Pkt))函數(shù),接收和發(fā)送可以直接切換,也可以進(jìn)入
空閑后,再切換。
注意:每次完成發(fā)送或接收會自動進(jìn)入低功耗狀態(tài)。
上電
初始化
空閑
發(fā)送
接收
InitSX1212();
LSD_RF_RXmode();
SendRfFrame((unsigned char *)(&RF_Pkt),
LSD_RF_RXmode();
SendRfFrame((unsigned char *)(&RF_Pkt),
5
章 第四章  移植
1 1 、 修改宏定義
因為無線模塊是通過 SPI 總線控制的,所以首先得移植模擬的 SPI。找到頭
文件 msp430_sys.h,根據(jù)自己的需求修改宏定義 SIMO、SCK、SOMI、NSS_CONFIG、
NSS_DATA 對應(yīng)的 IO 口。此舉決定了 SPI 通信成功與否。
根據(jù)需要,在 msp430_sys.h 中更改 IRQ0 的宏定義對應(yīng)的 IO 口,這決定了
無線模塊能否正常發(fā)送接收。IRQ0 連接到 MCU 具有外部中斷的 IO 口上。IO 口
中斷開,選擇上升沿觸發(fā)中斷。
這六處宏定義是與 MCU 相連的最基本的五個接口,請務(wù)必調(diào)試成功。如果
換到其他平臺請仔細(xì)區(qū)別各個平臺的 IO。例如普通 51 單片機的 P0,P1,P2 端口
6
沒有方向寄存器和功能選擇寄存器等。
2 2 、I SPI  初始化
在 SX1212_RF.c 文件中,定義了 SPI 的初始化,
設(shè)置了 SPI 的 IO 口的方向,輸入輸出初始電平。如果用的其他平臺的 MCU,保
證自己用的 IO 口功能就行。(初始化 SIMO、SCK、SOMI、NSS_CONFIG、NSS_DATA)
3 3 、U MCU  硬件功能的移植
本示例程序用到了 MSP430F4152 的定時器 TIMERA 中斷功能,和端口 PORT1
的外部中斷功能。在非 MSP430 平臺上的時候注意這個功能的移植,因為無線模
塊的發(fā)送和接收都是在中斷函數(shù)里進(jìn)行的。在SX1212_tx.c 文件里,
(1 1 ) 定時發(fā)送一包數(shù)據(jù)
7
(2 2 ) 中斷接收一包數(shù)據(jù)
8
4 4 、 建立測試工程
(1 1 ) 建立發(fā)送測試 c SX1212_tx.c  工程 ,在 workspace 處選擇 SX1212_tx,
并且選中 SX1212_tx.c 為當(dāng)前文件。
首先初始化 MCU。
然后初始化無線模塊 SX1212,如果初始化失敗,MCU 會重新啟動。(提示:
失敗一般是 SPI 通信不正常,請確保 SPI 能正確通信。其次,再檢查硬件連接
正確與否。最后再看模塊有無損壞)
測試通過后,建立數(shù)據(jù)包。
MCU 進(jìn)入低功耗。
編譯通過后,下載到一個控制底板,作為發(fā)送方。
(2) 、 建立接收測試 c SX1212_rx.c  工程 ,在 workspace 處選擇 SX1212_rx,
并且選中 SX1212_rx.c 為當(dāng)前文件。
首先初始化 MCU。
然后初始化無線模塊 SX1212,如果初始化失敗,MCU 會重新啟動。(提示:
9
失敗一般是 SPI 通信不正常,請確保 SPI 能正確通信。其次,再檢查硬件連接
正確與否。最后再看模塊有無損壞)
測試通過后,模塊進(jìn)入接收模式。
MCU 進(jìn)入低功耗。
編譯通過后,下載到另一個控制底板,作為接收方。
完成后,進(jìn)行通信測試,如果不成功,請排查之前的步驟有沒有做好。直到
通信成功。
通信成功的現(xiàn)象:
A 模塊發(fā)送一包數(shù)據(jù)包紅燈閃爍,B 模塊接收到數(shù)據(jù)包黃燈閃爍,B 模塊并將
數(shù)據(jù)回傳給 A 模塊,A 模塊接收到回傳數(shù)據(jù)后黃燈閃爍。
A 模塊
B 模塊
A 發(fā)送數(shù)據(jù)包
B 發(fā)送回傳數(shù)據(jù)包
10
章 第五章  更改無線模塊的通信參數(shù)
在通信成功的前提下,可以到這章,了解怎么更改無線模塊的通信參數(shù)。
首先,到 SEMTECH 官網(wǎng)下載軟件 SX1212 Start Kit,方便寄存器的配置。
該軟件打開后,整個界面是灰色的,不能操控。同時按下 Ctrl+Alt+N,可以解除
灰色限制,整個界面都可以操作。
1 1 、 設(shè)置載波頻率
點擊在如上圖所示的紅色圓圈內(nèi)的 McParam,同時在下面的紅色橢圓內(nèi)輸入
頻率值,例如,434 000 000,然后按下 Enter 鍵,你會看到如圖所示變?yōu)榧t色
的數(shù)值,該數(shù)值表示當(dāng)前載波頻率對應(yīng)的數(shù)值。
載波頻率由四個寄存器控制,分別是 REG_MCPARAM1 地址 0x00、REG_R1 地
址 0x06、REG_P1 地址 0x07、REG_S1 地址 0x08。其地址右邊的數(shù)值即當(dāng)前寄存
11
器配置的數(shù)值。載波頻率設(shè)置好后,在 SX1212_RF.c 文件里找到對應(yīng)的寄存器,
修改 REG_MCPARAM1、REG_R1、REG_P1、REG_S1 右邊的數(shù)值,下載程序,模塊就
會以 434MHZ 的載波頻率工作了。如圖,
2 2 、 設(shè)置波特率
回到軟件 SX1212 Start Kit,在如下紅色圓圈內(nèi)輸入波特率,以及頻偏 Fdev。
更改參數(shù) Fdev 時,對應(yīng)的 RxBW 也應(yīng)做相應(yīng)的修改,建議用戶參考 SX1212 的
DATASHEET,因為這兩個參數(shù)會影響模塊的通信效果。
修改成 25000 的波特率后,其寄存器對應(yīng)的數(shù)值會變?yōu)榧t色
12
同理,到 SX1212_RF.c 文件里去更改波特率,如圖,
如果想更改其他參數(shù),請結(jié)合數(shù)據(jù)手冊和SX1212 Start Kit 上位機軟件,
將改好的數(shù)值更新到 SX1212_RF.c 頭文件中,這些參數(shù)會在無線模塊的初始化
中完成。
3 3 、 設(shè)置同步字
對照數(shù)據(jù)手冊,設(shè)置 REG_SYNCCONFIG,
本歷程中同步字默認(rèn)設(shè)置為如下圖所示,
如果需要更改,請結(jié)合上位機軟件,在 packet→sync 對應(yīng)的處輸入你想設(shè)
置的數(shù)值,查看 REG 表中對應(yīng)的數(shù)值,將數(shù)值更新到 SX1212_RF.c 文件中。
13
4 4 、 定義是否打開  CRC
由數(shù)據(jù)手冊可以看到
5 、 數(shù)據(jù)包長度定義
因為之前數(shù)據(jù)設(shè)的可變模式,所以它的值盡量設(shè)為較大值,這里設(shè)置為 64
14
個字節(jié)
由數(shù)據(jù)手冊可以看到,
6 6 、 數(shù)據(jù)包數(shù)據(jù)定義
這里隨意定義了一個 64 個字節(jié)的發(fā)送數(shù)據(jù)包,用戶可根據(jù)自己的需求做改動。
7 7 、 調(diào)制方式 K FSK 與 與 K OOK  的切換
本例程默認(rèn)為 FSK 調(diào)制方式。
在文件 SX1212_RF.c 中,已設(shè)置了初始值,如下,
對照數(shù)據(jù)手冊,該值的含義是:數(shù)據(jù)包模式、FSK。
調(diào)制方式的切換,同理我們可以利用上位機來設(shè)置調(diào)制方式。
注意:保證收發(fā)雙方的這些寄存器設(shè)置必須一致。沒有提及的參數(shù),在通
信沒有成功之前,不建議修改。
15
章 第六章 LSD4RF-2H310N10 例程部分代碼介紹
1 1 、 SX1212_RF.h
全是芯片 SX1208 內(nèi)部寄存器的宏定義,方便用戶的理解和使用。禁止修改。
2 2 、 SX1212_RF.c
首先定義了一個 SX1212 的結(jié)構(gòu)體。該結(jié)構(gòu)體包含了 SX1212 的寄存器地址
和寄存器值。方便用戶配置寄存器,一個地址對應(yīng)一個寄存器數(shù)值。
3 3 、 SX1212_RF.c
改文件里包含了 SX1212 的驅(qū)動程序。比如,模擬 SPI,發(fā)送數(shù)據(jù)包,切換
模式等函數(shù)。
4 4 、 讀寫 0 LSD4RF-2H310N10  寄存器的值
5 5 、 清除 0 LSD4RF-2H310N10 的 的  FIFO
16
6 6 、 設(shè)置 0 LSD4RF-2H310N10  的工作模式
7 7 、 復(fù)位 0 LSD4RF-2H310N10  模塊
8 8 、 初始化 0 LSD4RF-2H310N10  模塊
17
9 9 、 發(fā)送數(shù)據(jù)包
10 、 接收數(shù)據(jù)包




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表