基于RF2.4 GHz的超低功耗無線數(shù)傳系統(tǒng)設計
其中,Reg48為數(shù)據(jù)幀格式配置寄存器,需要設置前導區(qū)的長度(默認為3字節(jié)),同步字長度默認為64位,前導尾默認長度為4位,數(shù)據(jù)默認為NRZ格式。該寄存器的第2位為1則配置為睡眠模式,第3位為1則配置為待機模式。Reg49~51用于設置發(fā)射和接收的延遲時間。Reg52~55用于設置同步控制字,默認全部為0000H。Reg57用于配置是否啟用CRC校驗、包長度控制方式等。Reg48~57詳細配置數(shù)據(jù)如下:
Reg0~28主要是配置發(fā)射功率、VCO、RSSI、接收延時、通道選擇與控制、AMS測試及控制、BPF和AGC控制、發(fā)射與接收數(shù)據(jù)控制、直流漂移控制、PLL同步控制、數(shù)據(jù)收發(fā)的時序控制、N/VCO參數(shù)控制、時鐘等。Reg0~28詳細配置數(shù)據(jù)如下:
Reg0~28初始化完成后再延時2 ms,就可以直接進行數(shù)據(jù)的收發(fā)了。特別要注意的是,幀寄存器Reg48~57必須在RFIC寄存器Reg0~28之前初始化。所有寄存器讀寫和收發(fā)的數(shù)據(jù)都是通過SPI接口進行的,并且只支持從模式,SPI操作時序如圖4所示。在芯片第28腳LDO_TUNE接地時(R1斷開,R2接O Ω電阻),其數(shù)據(jù)在SPI_CLK時鐘的上升沿有效;當LDO_TUNE接VDD時(R2斷開,R1接0 Ω電阻),數(shù)據(jù)在SPI_CLK時鐘的下降沿有效。只要SPI_SS為高電平,寄存器中的數(shù)據(jù)就保持不變;只有SPI_SS為低電平時,才能重新改寫寄存器中的內容。
EMl98810有兩種檢測收發(fā)數(shù)據(jù)包長度的方法:一種是自動在數(shù)據(jù)幀內檢測出來,最大幀長度不能超過255字節(jié)。先設置Reg57的第13位為1,則發(fā)送或接收數(shù)據(jù)區(qū)中的第1個字節(jié)就代表數(shù)據(jù)的長度,幀控制器會自動控制收發(fā)開始與停止。另外一種是保持發(fā)射或接收的狀態(tài)不變,通過外接MSP430F247來控制數(shù)據(jù)包的正確發(fā)送與接收。
發(fā)送數(shù)據(jù)流程如圖5所示。在發(fā)射數(shù)據(jù)時,先設置Reg7的第8位為1,允許在內部狀態(tài)機控制下進入數(shù)據(jù)發(fā)射狀態(tài),再設置Reg7的O~6位為所選通道。在發(fā)送前導尾區(qū)數(shù)據(jù)前,MSP430F247必須將數(shù)據(jù)放人FIFO中,如果數(shù)據(jù)長度超過63字節(jié),應該分多次寫入。FIFO_flag=1表示FIFO為空,MSP430F247利用此信號作為中斷請求,保證發(fā)送數(shù)據(jù)寫入FIF0的實時性,在數(shù)據(jù)發(fā)送完成后PKT_flag=1。
如果設置Reg7[7]=1和Reg7[O~6]為與發(fā)射相同的通道,則芯片進入自動接收狀態(tài),接收數(shù)據(jù)流程如圖6所示。當檢測到同步字后會自動進行數(shù)據(jù)包的接收解碼,接收完成后進入待機模式。如果接收數(shù)據(jù)超過63字節(jié),則有FIFO_flag=1,MSP430F247利用此信號作中斷請求以保證讀出數(shù)據(jù)的實時性。
評論