基于單片機(jī)的對講機(jī)加密系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
CTCSS(Continuous Tone Controlled Squelch Systern,連續(xù)語音控制靜噪系統(tǒng))是一種將低于音頻頻率的頻率(67.0~250.3 Hz)附加在音頻信號中一起傳輸?shù)募夹g(shù)。國際標(biāo)準(zhǔn)的CTCSS編碼一共有38組頻率,因?yàn)檫@些靜噪信號頻率為67.0~250.3 Hz,低于話音通信帶寬的下限,所以被稱為“亞音頻”。CTCSS技術(shù)已經(jīng)廣泛用于無線電通信中,是傳統(tǒng)無線電臺通信中一種常見的收發(fā)限制手段。在電臺的中繼站和對講機(jī)中,采用CTCSS技術(shù)可以避免接收到不相干的呼叫。
在對講機(jī)設(shè)計(jì)中采用亞音頻技術(shù),其目的是避免不同用戶的相互干擾,避免收聽無關(guān)的呼叫和干擾信號。因?yàn)樗梢栽诠餐诺乐兄浦箒碜云渌脩舻脑捯艉托帕罡蓴_,故也稱為音鎖(tone lock)。當(dāng)對講機(jī)的發(fā)射機(jī)發(fā)送話音信號的同時(shí)不斷發(fā)出亞音頻連續(xù)信號,經(jīng)調(diào)制后在同一信道發(fā)射出去。當(dāng)接收機(jī)收到載波信號和亞音頻信號后進(jìn)行調(diào)解。亞音頻信號經(jīng)過濾波器整形輸入CPU中進(jìn)行解碼后,與本機(jī)預(yù)置的CTC-SS碼進(jìn)行比較以決定是否開啟靜噪電路。只有亞音頻碼相同時(shí),靜噪電路音頻輸出才能打開,通過揚(yáng)聲器發(fā)出聲音。如果沒有檢測到CTCSS信號,或者信號和當(dāng)前設(shè)置不符,則關(guān)閉靜噪,揚(yáng)聲器聽不到聲音。本文就此提出一種基于STC12C2052單片機(jī)的對講機(jī)加密系統(tǒng)設(shè)計(jì)方案。
1 STCl2C2052單片機(jī)簡介
STC12C2052是宏晶科技推出的STC12系列增強(qiáng)型8051單片機(jī),速度比普通的8051快12倍,具有較寬的操作電壓范圍。其片上集成:256字節(jié)的RAM;15個(gè)通用可編程I/O口,可以設(shè)置成準(zhǔn)雙向口/弱上拉、推挽/強(qiáng)上拉、僅為輸入/高阻、開漏(復(fù)位后為準(zhǔn)雙向口/弱上拉模式)4種模式;EEPROM功能;2個(gè)16位定時(shí)器/計(jì)數(shù)器;RC振蕩器,在精度要求不高時(shí)可以省略外部晶振;獨(dú)立的片內(nèi)看門狗定時(shí)器。
1.1 STC12C2052的PCA/PWM工作原理
STC12C2052單片機(jī)中的PCA可編程計(jì)數(shù)器陣列含有一個(gè)特殊的16位定時(shí)器,它可與2個(gè)16位捕獲/比較模塊相連。每個(gè)模塊可編程工作在4種模式下,即上升/下降沿捕獲、軟件定時(shí)器、高速輸出和可調(diào)制脈沖輸出。設(shè)計(jì)時(shí),可將模塊0連接到P3.7(CEX0/PCA0/PWM0),模塊1連接到P3.5(CEX1/PCA1/PWM1)。由于寄存器CH和CL的內(nèi)容是正在自由遞增計(jì)數(shù)的16位PCA定時(shí)器的值,因此,PCA定時(shí)器可作為2個(gè)模塊的公共時(shí)間基準(zhǔn),并可通過編程工作在1/12振蕩頻率、1/2振蕩頻率、定時(shí)器0溢出或ECI腳的輸入(P3.4)。定時(shí)器的計(jì)數(shù)源由CMOD SFR的CPS1和CPS0位來確定。
1.2 STC12C2052的PCA脈寬調(diào)節(jié)模式
所有PCA模塊都可用作PWM輸出。其輸出頻率取決于PCA定時(shí)器的時(shí)鐘源。由于所有模塊共用僅有的PCA定時(shí)器,所以它們的輸出頻率相同。各個(gè)模塊的輸出占空比是獨(dú)立變化的,與使用的捕獲寄存器對EPCnL、CCAPnL有關(guān)。當(dāng)CL SFR的值小于EPCnL、CCAPhL時(shí),輸出為低;而當(dāng)PCA CLSFR的值等于或大于EPCnL、CCAPnL時(shí),輸出為高。當(dāng)CL的值由FF變?yōu)?0溢出時(shí),EPCnH、CCAPnH的內(nèi)容將被裝載到EPCnL、CCAPnL中,這樣就可無干擾地更新PWM。使能PWM模式時(shí),模塊CCAPMn寄存器的PWMn和ECOMn位必須置位。由于PWM是8位的,所以可用下式來計(jì)算PWM的信號頻率:
[!--empirenews.page--]
2 PWM調(diào)制原理
脈寬調(diào)制(Pulse WidthModulation,PWM)是利用微處理器的數(shù)字輸出來對模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。脈沖寬度調(diào)制原理如圖1所示。
圖1 脈沖寬度調(diào)制原理
簡而言之,PWM是一種對模擬信號電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來對一個(gè)具體模擬信號的電平進(jìn)行編碼。PWM信號仍然是數(shù)字的,因?yàn)樵诮o定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(0FF)。電壓或電流源是以一種通(ON)或斷(0FF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通,即直流供電被加到負(fù)載上時(shí);斷,即供電被斷開時(shí)。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。
PWM的一個(gè)優(yōu)點(diǎn)是從處理器到被控系統(tǒng)信號都是數(shù)字形式的,無需進(jìn)行數(shù)/模轉(zhuǎn)換。讓信號保持為數(shù)字形式可將噪聲影響降到最小。只有噪聲在強(qiáng)到足以將邏輯1改變?yōu)檫壿?,或?qū)⑦壿?改變?yōu)檫壿?時(shí),才能對數(shù)字信號產(chǎn)生影響。
PWM相對于模擬控制的另外一個(gè)優(yōu)點(diǎn)是對噪聲抵抗能力強(qiáng),這也是在某些時(shí)候?qū)WM用于通信的主要原因。從模擬信號轉(zhuǎn)向PWM可以極大地延長通信距離。在接收端,通過適當(dāng)?shù)腞C或LC網(wǎng)絡(luò)可以濾除調(diào)制高頻方波,并將信號還原為模擬形式。
許多微控制器內(nèi)部都包含有PWM控制器。例如,STC12C2052內(nèi)含兩個(gè)PWM控制器,每一個(gè)都可以選擇接通時(shí)間和周期。占空比是接通時(shí)間與周期之比;調(diào)制頻率為周期的倒數(shù)。執(zhí)行PWM操作之前,這種微處理器要求在軟件中完成以下工作:
?、僭O(shè)置提供調(diào)制方波的片上定時(shí)器/計(jì)數(shù)器的周期;
?、谠赑WM控制寄存器中設(shè)置接通時(shí)間;
?、墼O(shè)置PWM輸出的方向,這里是通用I/O引腳;
?、軉佣〞r(shí)器;
?、菔鼓躊WM控制器(雖然具體的PWM控制器在編程細(xì)節(jié)上會有所不同,但它們的基本思想是相同的)。
[!--empirenews.page--]
3 硬件設(shè)計(jì)
CTCSS系統(tǒng)的設(shè)計(jì)是圍繞一組低頻率音頻信號(67.0~250.3 Hz)進(jìn)行的(32或38,根據(jù)不同的標(biāo)準(zhǔn))。這些亞音頻信號是完全正弦波,且頻率差很要求很嚴(yán)格。在大多數(shù)設(shè)計(jì)中采用求定點(diǎn)正弦函數(shù)值的做法:以產(chǎn)生正弦波為例,采用定點(diǎn)法來生成波形,即將一個(gè)周期的正弦波按360°等分為若干點(diǎn),計(jì)算出各點(diǎn)的正弦函數(shù)值,并轉(zhuǎn)化相應(yīng)的D/A轉(zhuǎn)換器輸入數(shù)值,這樣得到一個(gè)正弦函數(shù)表。通過程序?qū)⒃摫泶嬗趩纹瑱C(jī)的程序存儲器中,利用單片機(jī)的定時(shí)器來產(chǎn)生定時(shí),每當(dāng)定時(shí)時(shí)間到時(shí),查表得到該點(diǎn)對應(yīng)的輸出值,然后通過D/A轉(zhuǎn)換得到該點(diǎn)對應(yīng)的電壓值。如此,周而復(fù)始地查表輸出,就可以得到所要的正弦波。由于一個(gè)周期正弦波的點(diǎn)數(shù)固定,因此改變定時(shí)器的定時(shí)值就改變相鄰兩點(diǎn)的間隔時(shí)間,從而改變正弦波的頻率。
在此,通過另外一種更簡便的方法來產(chǎn)生多種波形。使用單片機(jī)的PWM調(diào)制信號產(chǎn)生多種波形,但此種方法的缺陷就是產(chǎn)生波形的頻率有限。
3.1 亞音頻信號的產(chǎn)生方法
計(jì)算公式:y=256/2+80*sin(2PI*x/512)。
通過下面的代碼生成正弦表:
[!--empirenews.page--]
假設(shè)PWM的頻率為32 768 000/256Hz,那么在每次PWM中斷時(shí)改變一次PWM的占空比(改變的規(guī)律如正弦表所示)。最終輸出波形經(jīng)過低通濾波器濾波之后就變成了正弦信號,如圖2所示。
圖2 正弦信號的產(chǎn)生
3.2 亞音頻信號的硬件電路
加密系統(tǒng)主要由鍵盤電路、在線程序下載電路和電源電路組成。其硬件電路如圖3所示。其中,XW-5-LOW為穩(wěn)壓輸出芯片。
圖3 硬件電路圖
(1)鍵盤電路。由于本系統(tǒng)所需要的按鍵數(shù)量較少,因此采用獨(dú)立式按鍵即可達(dá)到要求。將6個(gè)獨(dú)立式按鍵與單片機(jī)P1口的6根線相連。這6個(gè)按鍵最多可以形成64種組合,可以完成對任意頻率的亞音頻信號的設(shè)定工作。
(2)在線編程電路。在電路中將GND、P3.1、P 3.O、VCC、P1.1、P1.0這6個(gè)信號線引出來,這樣用戶就可以在自己的系統(tǒng)中直接編程了。
(3)電源電路和低通濾波電路。經(jīng)穩(wěn)壓芯片穩(wěn)壓和電容濾波后產(chǎn)生電路所需的電源,濾波電路是由RC濾波電路實(shí)現(xiàn)的。
4 軟件設(shè)計(jì)
軟件設(shè)計(jì)包括主程序和看門狗子程序、讀取按鍵子程序、定時(shí)器0中斷服務(wù)子程序、定時(shí)器1中斷服務(wù)子程序。主程序首先完成對看門狗、與PWM相關(guān)的各個(gè)特殊功能寄存器,以及定時(shí)器0和定時(shí)器1的初始化設(shè)定。然后對當(dāng)前的按鍵進(jìn)行判定,根據(jù)所按的按鍵產(chǎn)生相應(yīng)的亞音頻信號。
定時(shí)器0中斷子程序主要完成PWM的定時(shí)器和捕獲寄存器的值的更新,并在P3.5、P3.7腳輸出相應(yīng)的脈沖信號(即正弦波信號)。定時(shí)器1中斷子程序主要完成各個(gè)亞音頻信號的周期的定時(shí)工作。
5 結(jié)論
以往的實(shí)現(xiàn)方法都是使用音頻鎖相環(huán)進(jìn)行檢測和生成亞音頻,設(shè)計(jì)難度較大,調(diào)試麻煩,而本文的數(shù)字化方案無需任何調(diào)試即可實(shí)現(xiàn)高精度、高穩(wěn)定性的亞音頻,且大大降低制作成本。
CTCSS可以在共用信道中制止來自其他用戶的無用話音以及其他信令干擾。它是通過亞音頻(數(shù)字亞音頻)信令編/解碼來提高通信網(wǎng)絡(luò)抵御外界干擾能力,并解決非網(wǎng)絡(luò)用戶入網(wǎng)問題的信令識別系統(tǒng)。同時(shí),CTCSS具有選擇呼叫功能,可利用連續(xù)單音頻編碼(數(shù)字編碼)進(jìn)行選擇呼叫,并始終和傳輸話音信號同時(shí)進(jìn)行,也是當(dāng)前最有效的選呼方式。主呼叫只要按PTT就能發(fā)出群呼或全呼,當(dāng)對講機(jī)通話結(jié)束后無需按鍵掛機(jī),較之以電話互連方式人工編碼選呼(DTMF)要更為方便、快捷。