基于CC1101的無(wú)中心數(shù)字對(duì)講機(jī)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:基于射頻收發(fā)器CC1101,單片機(jī)(MCU)MSP430F149和DSP TMS320VC5509A,設(shè)計(jì)了一種無(wú)中心數(shù)字對(duì)講機(jī)。詳細(xì)介紹了系統(tǒng)的設(shè)計(jì)方案及各個(gè)模塊的器件選型和電路設(shè)計(jì),MCU部分的軟件設(shè)計(jì)以及CC1101的編程要點(diǎn)。
關(guān)鍵詞:無(wú)線(xiàn)通信;數(shù)字對(duì)講機(jī);CC1101;MSP430F149
1 引言
對(duì)講機(jī)在諸多行業(yè)領(lǐng)域廣泛應(yīng)用。雖然模擬對(duì)講機(jī)現(xiàn)今仍壟斷市場(chǎng),但數(shù)字通信以其更豐富的業(yè)務(wù)種類(lèi),更好的業(yè)務(wù)質(zhì)量、保密性和連接性,尤其可提高頻譜效率,更有效利用寶貴的頻譜資源,因此對(duì)講機(jī)數(shù)字化是大勢(shì)所趨。這里介紹一種基于CC1101射頻器件的數(shù)字無(wú)線(xiàn)對(duì)講機(jī)的語(yǔ)音通信技術(shù)。
2 整體設(shè)計(jì)方案
雖然提供包含圖像、文字、語(yǔ)音的綜合業(yè)務(wù)是未來(lái)對(duì)講機(jī)的發(fā)展趨勢(shì),但鑒于對(duì)講機(jī)的數(shù)字化研究尚處于起步探索階段,而且語(yǔ)音傳輸仍是對(duì)講機(jī)最廣泛最重要的作用,該系統(tǒng)設(shè)計(jì)的核心是經(jīng)語(yǔ)音數(shù)字化處理后通信更安全可靠,話(huà)音更清晰。此外,由于業(yè)界至今尚無(wú)統(tǒng)一的標(biāo)準(zhǔn)和法規(guī),系統(tǒng)應(yīng)留存一定的擴(kuò)展和變換空間,以適應(yīng)新的變化和進(jìn)一步研究的需要。
得益于微電子技術(shù)的長(zhǎng)足進(jìn)步和快速發(fā)展,射頻電路的靈敏度不斷提高,無(wú)線(xiàn)接收機(jī)在相應(yīng)的發(fā)送設(shè)備不工作時(shí)也會(huì)有數(shù)據(jù)解調(diào)輸出,因而無(wú)線(xiàn)通信系統(tǒng)中有必要使用數(shù)據(jù)幀分組傳輸數(shù)據(jù)。還需要使用幀同步技術(shù)保證通信系統(tǒng)能從混亂的數(shù)據(jù)中識(shí)別合法的數(shù)據(jù)幀。由于在無(wú)線(xiàn)通信系統(tǒng)中存在干擾、噪聲、多徑、衰落等現(xiàn)象,使得無(wú)線(xiàn)通信信道在傳輸數(shù)字信息時(shí)經(jīng)常出現(xiàn)誤碼,為此,常采用信道編碼技術(shù),在幀中增加校驗(yàn)碼元。在無(wú)線(xiàn)通信中,最常用的是CRC16,它可以糾正一定程度的隨機(jī)錯(cuò)誤,但卻沒(méi)有能力糾正突發(fā)差錯(cuò)的能力,需要用交織編碼的方法使其變成交錯(cuò)碼。
此外,為保證通信的可靠性,還需要合理設(shè)置幀的長(zhǎng)度。幀長(zhǎng)與編碼方式有關(guān),曼切斯特編碼時(shí)不要超過(guò)256字節(jié),若采用其他方式,則不要超過(guò)64字節(jié)。采取短幀方式通信有利于降低干擾,但幀太短又會(huì)增加開(kāi)銷(xiāo),降低效率。此外,幀的長(zhǎng)度還受硬件系統(tǒng)限制,如處理器的處理能力、緩沖、天線(xiàn)帶寬等。綜合各方面因素,這里采用圖1所示數(shù)據(jù)幀格式。由于語(yǔ)音信號(hào)一般比較微弱,根據(jù)Mu/A律編碼規(guī)則,容易出現(xiàn)長(zhǎng)連“1”或長(zhǎng)“0”情況。若出現(xiàn)這種情況,由于長(zhǎng)時(shí)間不出現(xiàn)“0”點(diǎn),接收端的本地同步信號(hào)的相位會(huì)逐漸漂移,甚至失步。若采用變換歸零或重新編碼的方式,又有可能降低系統(tǒng)抗干擾能力或頻帶利用率。為此,需要采用擾碼技術(shù),消除長(zhǎng)“1”長(zhǎng)“0”。
為了實(shí)現(xiàn)一對(duì)一雙丁通話(huà)和一對(duì)多的廣播,該系統(tǒng)采用時(shí)分雙工(TDD)方式,分成接收和發(fā)送兩個(gè)時(shí)隙,保留1.5 ms時(shí)間作為射頻部分的收發(fā)轉(zhuǎn)換保護(hù)。
3 系統(tǒng)硬件設(shè)計(jì)
使用微處理器,通過(guò)軟硬件的配合實(shí)現(xiàn)設(shè)計(jì)功能;采用基于CC1l01的設(shè)計(jì)方法,根據(jù)需求定義其內(nèi)部邏輯和引腳;運(yùn)用“白頂向下”和“模塊化”的理念,是現(xiàn)代電子系統(tǒng)設(shè)計(jì)的特點(diǎn)。因而,該系統(tǒng)采用DSP處理語(yǔ)音數(shù)據(jù),使用MCU以彌補(bǔ)DSP控制上的缺憾,采用優(yōu)秀設(shè)計(jì)的射頻器以降低軟件復(fù)雜度和MCU的負(fù)荷。系統(tǒng)邏輯框架如圖2所示。系統(tǒng)由射頻模塊、語(yǔ)音處理模塊、MCU模塊、人機(jī)接口模塊和電源模塊組成。系統(tǒng)主處理器負(fù)責(zé)所有設(shè)備控制、任務(wù)調(diào)度、功能協(xié)調(diào)、通信協(xié)議控制。該系統(tǒng)采用TI公司的MSP430F149,該器件擁有60 KB的Flash ROM和2 KB的SRAM。人機(jī)交換模塊是連接使用者與系統(tǒng)的橋梁,指示系統(tǒng)工作狀況,接收使用者的指令。語(yǔ)音處理模塊的語(yǔ)音信號(hào)經(jīng)麥克風(fēng)進(jìn)入A/D轉(zhuǎn)換器,經(jīng)采樣量編程數(shù)字信號(hào),傳輸至DSP,實(shí)現(xiàn)數(shù)字濾波和壓縮。語(yǔ)音處理器選用TI公司的TMS320VC5509A,與經(jīng)典的C54x相比,其綜合性能提高5倍,而功耗卻僅為C54x的1/6。其工作頻率高達(dá)200 MHz,具有3個(gè)McBSP,64 KB的DARAM和192 KB的SARAM。DSP與MCU間采用SPI通信方式,DSP的McBSP1接MCU的USART1,MCU主模式,DSP從模式。SDRAM采用HY57V641620,具有4 M×16 bit容量,工作頻率為72 MHz,內(nèi)核速率為DSP一半,與DSP的EMIF可直接無(wú)縫連接。
CODEC實(shí)現(xiàn)語(yǔ)音信號(hào)的采樣、模/數(shù)轉(zhuǎn)換、編碼后傳輸給DSP進(jìn)行信號(hào)調(diào)理包括濾波壓縮等。在接收節(jié)點(diǎn),則接收DSP傳來(lái)送的信號(hào),數(shù)模轉(zhuǎn)換后還原成模擬語(yǔ)音信號(hào),由于此時(shí)的信號(hào)比較微弱,加入音頻功率放大器MAX4368放大,再輸出至揚(yáng)聲器。CODEC選用TI公司的TLV320AIC23B(以下簡(jiǎn)稱(chēng)AIC23B),與DSP的McBSP模塊實(shí)現(xiàn)無(wú)縫連接,串行傳輸數(shù)據(jù);而DSP通過(guò)I2C總線(xiàn)初始化AIC23B。該系統(tǒng)采用主從模式,AIC23B 工作在主模式下,向DSP傳送收發(fā)數(shù)據(jù)所需的時(shí)鐘和幀同步信號(hào)。
該系統(tǒng)采用1 M×16 bit的Flash以解決上電復(fù)位后DSP程序加載問(wèn)題,需要20根地址線(xiàn),但DSP的PGE封裝僅引14根地址線(xiàn),因而使用CPLD映射到DSP的一個(gè)CE空間以擴(kuò)展地址。具體連線(xiàn)方式請(qǐng)參看文獻(xiàn)[5]。
從DSP出來(lái)的語(yǔ)音信號(hào)經(jīng)由MCU控制到達(dá)射頻模塊,加入前導(dǎo)冗余同步碼等構(gòu)成幀后經(jīng)交織發(fā)射。CC1101是TI公司一款高性?xún)r(jià)比的單片UHF收發(fā)器,為低功耗無(wú)線(xiàn)電應(yīng)用而設(shè)計(jì)。它是CC1100器件的加強(qiáng)升級(jí)版,靈敏度更高,功耗更小,帶寬更大。MSP430F149與CC1101采用SPI方式通信,MSP430F149工作在主模式,使用USART1模塊,3線(xiàn)模式,CC1101從模式,工作在403~425 MHz頻段內(nèi)。射頻模塊電路如圖3所示。
射頻模塊布線(xiàn)是整個(gè)系統(tǒng)PCB板設(shè)計(jì)的中核心。外圍器件最好選用體積小的貼片元件,濾波電容盡可能接近器件引腳布置,這樣濾波效果會(huì)更好。盡可能將數(shù)字電路遠(yuǎn)離射頻電路,因?yàn)閿?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)線(xiàn)要穿過(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)用戶(hù)往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ú)線(xiàn)電系統(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ù)或命令主要依靠訪(fǎng)問(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ì)量。由于未使用功率放大器和所用天線(xiàn)增益較低(2 dB),該系統(tǒng)的實(shí)際通信距離與當(dāng)今主流模擬對(duì)講機(jī)相比尚有差距,但該設(shè)計(jì)方案仍對(duì)對(duì)講機(jī)的數(shù)字化研究工作有一定參考價(jià)值。