主頁(http://www.by236.com):基于CC1101的無中心數字對講機設計(2) 為了提高系統穩定高質量的能源和準確的脈沖信號。CC1101單獨使用了27 MHz的無源晶體振蕩器,MCU則采用8 MHz,DSP與AIC23B共同使用一個12 MHz晶體振蕩器,DSP再用軟件設置為144 MHz。此時,DSP需要的內核電壓為1.35 V,外圍電壓為2.7~3.6 V,AIC23B需要1.5 V,其他器件工作在3.3 V。所以系統電源將采用5 V供電,然后用LDO穩壓器,分別降成各個器件所需的電壓。
4 系統軟件設計 CC1101擁有卓越的數據包處理能力。發送時,只需簡單設置寄存器,當用戶往CC1101內的TXFIFO寫入數據后,器件自動在數據包內增加前導字節(長度可控),同步信息,CRC16校驗,并根據寄存器設置將FIFO內寫入的頭兩個字節數據標志為長度信息(此功能可選)和地址信息(可選)。接收狀態下,器件自動偵測前導碼,同步碼,地址信息和計算并比較CRC16。此外,CC1101還支持變長數據包格式和交織功能。這些原本需要復雜算法和巨大運算量和存儲空間的功能由硬件支持,MCU的編程難度大大降低,其負荷也大為減輕。 程序采用中斷程序+循環主程序的方式。將最緊急需要立即處理的事件,設置為高優先級中斷,以便在多個中斷同時申請中斷時能夠優先得到響應。中斷2~6分別是MCU與DSP和CC1101的數據收發及鍵盤信號監測。由于MSP430的速度很快,其他事件的處理都放在主程序中,循環執行。為了節省能量,若無外部信號要處理,主程序循環一段時間后,系統轉入低功耗模式中。MCU程序的開發環境為IAR Systems,采用匯編語言編寫。圖4為系統軟件設計流程。 5 CC1101編程要點 CC1101有2個64字節FIFO,一個接收數據(RX FI-FO),另一個發送數據(TX FIFO)。FIFO控制器能偵測RXFIFO是否上溢和TX FIFO是否下溢。但是寫FIFO時,MCU必須控制TX FIFO是否產生溢出;讀RX FIFO時,MCU也必須避免讀空值,這些錯誤CC1101都無法偵測到。 6 結束語 (中國集群通信網 | 責任編輯:陳曉亮) |





