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