基于CC1101的無(wú)中心數(shù)字對(duì)講機(jī)設(shè)計(jì)
射頻模塊布線是整個(gè)系統(tǒng)PCB板設(shè)計(jì)的中核心。外圍器件最好選用體積小的貼片元件,濾波電容盡可能接近器件引腳布置,這樣濾波效果會(huì)更好。盡可能將數(shù)字電路遠(yuǎn)離射頻電路,因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/數(shù)字">數(shù)字電路存在陡峭的上升下降沿,所以DSP和MCU都是射頻電路的巨大噪聲源。也可以考慮使用金屬屏蔽罩,雖然該辦法存在很多缺點(diǎn),但仍然非常有效,而且在很多時(shí)候是隔離關(guān)鍵電路的唯一辦法。雖然CC1101的使用手冊(cè)給出了外圍器件的詳細(xì)參數(shù),但實(shí)際應(yīng)用中,很多時(shí)候阻抗匹配仍然需要重新測(cè)量計(jì)算,也要調(diào)整相應(yīng)器件的參數(shù)。比如接地電容,由于PCB板存在分布電容,實(shí)際使用的電容要比推薦的略小一些。整個(gè)PCB板最好采用統(tǒng)一接地方式。雖然數(shù)字地會(huì)干擾射頻地和模擬地,但是若分開(kāi)成3部分,最終總是有些高速信號(hào)線要穿過(guò)這些分開(kāi)的接地點(diǎn)。
為了提高系統(tǒng)穩(wěn)定高質(zhì)量的能源和準(zhǔn)確的脈沖信號(hào)。CC1101單獨(dú)使用了27 MHz的無(wú)源晶體振蕩器,MCU則采用8 MHz,DSP與AIC23B共同使用一個(gè)12 MHz晶體振蕩器,DSP再用軟件設(shè)置為144 MHz。此時(shí),DSP需要的內(nèi)核電壓為1.35 V,外圍電壓為2.7~3.6 V,AIC23B需要1.5 V,其他器件工作在3.3 V。所以系統(tǒng)電源將采用5 V供電,然后用LDO穩(wěn)壓器,分別降成各個(gè)器件所需的電壓。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)包括MCU和DSP兩部分。MCU部分包括各硬件驅(qū)動(dòng)程序和各硬件間的協(xié)調(diào)調(diào)度,以及通信協(xié)議程序;DSP的主體是語(yǔ)音處理算法的設(shè)計(jì)。這里主要討論MCU程序設(shè)計(jì)。
CC1101擁有卓越的數(shù)據(jù)包處理能力。發(fā)送時(shí),只需簡(jiǎn)單設(shè)置寄存器,當(dāng)用戶往CC1101內(nèi)的TXFIFO寫(xiě)入數(shù)據(jù)后,器件自動(dòng)在數(shù)據(jù)包內(nèi)增加前導(dǎo)字節(jié)(長(zhǎng)度可控),同步信息,CRC16校驗(yàn),并根據(jù)寄存器設(shè)置將FIFO內(nèi)寫(xiě)入的頭兩個(gè)字節(jié)數(shù)據(jù)標(biāo)志為長(zhǎng)度信息(此功能可選)和地址信息(可選)。接收狀態(tài)下,器件自動(dòng)偵測(cè)前導(dǎo)碼,同步碼,地址信息和計(jì)算并比較CRC16。此外,CC1101還支持變長(zhǎng)數(shù)據(jù)包格式和交織功能。這些原本需要復(fù)雜算法和巨大運(yùn)算量和存儲(chǔ)空間的功能由硬件支持,MCU的編程難度大大降低,其負(fù)荷也大為減輕。
程序采用中斷程序+循環(huán)主程序的方式。將最緊急需要立即處理的事件,設(shè)置為高優(yōu)先級(jí)中斷,以便在多個(gè)中斷同時(shí)申請(qǐng)中斷時(shí)能夠優(yōu)先得到響應(yīng)。中斷2~6分別是MCU與DSP和CC1101的數(shù)據(jù)收發(fā)及鍵盤(pán)信號(hào)監(jiān)測(cè)。由于MSP430的速度很快,其他事件的處理都放在主程序中,循環(huán)執(zhí)行。為了節(jié)省能量,若無(wú)外部信號(hào)要處理,主程序循環(huán)一段時(shí)間后,系統(tǒng)轉(zhuǎn)入低功耗模式中。MCU程序的開(kāi)發(fā)環(huán)境為IAR Systems,采用匯編語(yǔ)言編寫(xiě)。圖4為系統(tǒng)軟件設(shè)計(jì)流程。
5 CC1101編程要點(diǎn)
CC1101的寄存器眾多,包括狀態(tài)寄存器將近80個(gè),若手動(dòng)配置容易出錯(cuò),因此Chipcon公司提供了SmartRF Studio射頻仿真軟件。該軟件可根據(jù)程序員的需求(包括頻率,速率,調(diào)制方式,等)自動(dòng)給出一組最佳的寄存器配置參數(shù),若與TI公司的相關(guān)評(píng)估板聯(lián)用,還可以對(duì)射頻器件的PLL回路的晶體振蕩器選擇,頻道間隔,分頻,調(diào)制,數(shù)據(jù)格式,數(shù)據(jù)比率,RF射頻功率輸出進(jìn)行仿真。用以評(píng)價(jià)RF PCB的層設(shè)計(jì)是否符合射頻設(shè)計(jì)規(guī)范。使無(wú)線電系統(tǒng)設(shè)計(jì)人員在沒(méi)計(jì)早期階段就能準(zhǔn)確輕松評(píng)估RFIC,加快電子系統(tǒng)開(kāi)發(fā)。但需要注意的是:CC1101器件處于idle狀態(tài)時(shí)才能對(duì)寄存器進(jìn)行配置。CC1101的數(shù)據(jù)接口與控制接口復(fù)用。傳輸數(shù)據(jù)或命令主要依靠訪問(wèn)不同寄存器進(jìn)行區(qū)別,地址與命令/數(shù)據(jù)則是依靠時(shí)序區(qū)別。
CC1101有2個(gè)64字節(jié)FIFO,一個(gè)接收數(shù)據(jù)(RX FI-FO),另一個(gè)發(fā)送數(shù)據(jù)(TX FIFO)。FIFO控制器能偵測(cè)RXFIFO是否上溢和TX FIFO是否下溢。但是寫(xiě)FIFO時(shí),MCU必須控制TX FIFO是否產(chǎn)生溢出;讀RX FIFO時(shí),MCU也必須避免讀空值,這些錯(cuò)誤CC1101都無(wú)法偵測(cè)到。
6 結(jié)束語(yǔ)
針對(duì)傳統(tǒng)模擬對(duì)講機(jī)僅單工通信和頻譜利用率不高的缺限,提出一種基于CC1101的無(wú)中心數(shù)字對(duì)講機(jī)設(shè)計(jì)方案,該設(shè)計(jì)方案可應(yīng)用于搶險(xiǎn)、救災(zāi)、野外作業(yè)等缺乏基礎(chǔ)通信設(shè)施的環(huán)境。射頻模塊電路設(shè)計(jì)是方案中的重點(diǎn),無(wú)論是儀器測(cè)得的參數(shù)還是反復(fù)實(shí)地測(cè)試都表明射頻部分的電源、接地和阻抗匹配不僅極大影響通信距離也密切關(guān)系通信質(zhì)量。由于未使用功率放大器和所用天線增益較低(2 dB),該系統(tǒng)的實(shí)際通信距離與當(dāng)今主流模擬對(duì)講機(jī)相比尚有差距,但該設(shè)計(jì)方案仍對(duì)對(duì)講機(jī)的數(shù)字化研究工作有一定參考價(jià)值。
評(píng)論