蔣濤(四川師范大學物理與電子工程學院,四川成都,610068)
一種無線鍵控系統的設計與實現
蔣濤
(四川師范大學物理與電子工程學院,四川成都,610068)
在嵌入式系統設計中,經常需要將外部的參數和鍵盤命令通過無線的方式傳遞給系統。常見的藍牙和WIFI模塊需要較高的成本,本系統主要服務于課程教學,為了降低成本,本文設計和實現了一種基于DTMF信號的無線鍵控系統。該系統利用任何手機都具備的DTMF信號作為傳輸載體,采用Goertzel算法實現按鍵檢測,減輕了后端處理器的負擔。在不用安裝無線模塊的情況下,低成本地實現了無線鍵控的功能。經MATLAB仿真和DSP實驗,表明本系統的設計方案是可行的,系統能夠接收手機命令和執行相應的控制功能。
鍵控系統;DTMF信號;Goertzel算法
在嵌入式系統的設計中,經常需要通過無線方式給受控系統傳遞命令和參數。近年來,無線通信技術發展迅速,多種無線通信手段都能滿足這種需求,比如WIFI、Bluetooth、ZigBee等短距離無線通信技術。特別是近年物聯網技術的迅猛發展,出現了ESP8266、CC2540、CC2530等電路模塊,不管是向云端傳輸傳感數據,還是通過無線方式向系統傳遞信息和參數都非常容易實現。但上述提及的技術手段需要發送方和接收方必須具備相應的通信模塊,增加了系統方案的成本。本文設計的系統服務于數字信號處理課程教學,讓學生能生動形象地學習DFT變換和Goertzel算法。出于教學和成本的考慮,不需要上述復雜的通信手段實現鍵控系統。由于移動通信技術的蓬勃發展,手機的普及率非常高,手機成為與鑰匙、錢包類似的東西,是每個人必備的物品。雙音多頻信號(DTMF)是電話系統中電話機與交換機之間的一種用戶信令,每部手機都具備DTMF信號的產生功能,同時麥克風接口是實驗室很多開發板和電子設備的標配。本文提出了一種利用手機的DTMF信號,通過音頻傳遞的方式,實現了一種無線鍵盤控制的方案。經過MATLAB仿真和DSP實驗驗證,該方案是可行和有效的,幾乎不需要額外成本。通過該系統的設計與教學演示,使得學生增加了學習數字信號處理理論的樂趣,對信號的頻譜分析有了更深刻的理解。
本文提出的系統主要實現了無線鍵盤控制功能,由手機和鍵盤受控系統構成,系統原理框圖如圖1所示。

圖1 系統原理框圖
手機利用撥號鍵盤產生DTMF音頻信號,驅動揚聲器發聲。揚聲器發出的聲音信號傳遞到受控系統的麥克風,由麥克風采集聲音信號,經AD采樣后送到微處理器進行分析。微處理器運行相應的算法判斷手機撥號界面的什么按鍵按下,根據按鍵的預設功能判斷出傳遞的參數和命令,繼而驅動外設控制機構,實現系統的控制功能。
1.1 DTMF信號的產生
DTMF(Dual Tone Multi Frequency)信號是音頻電話的撥號信號,DTMF在數字通信及其它方面有廣泛的應用,成為現代通信系統的一個標準[1]。DTMF信號是用7個單音頻信號任意兩個進行組合來表示0到9、*和#共12個撥號音,具體的組合方式見表1所示。實現表1的音頻組合信號的方法很多,常見的有三種:(1)利用數學公式計算正弦函數的值(2)利用二階數字正弦波振蕩器產生正弦波(3)采用直接頻率合成DDS技術,通過查表法獲取正弦波的值。本教學演示系統重點在于DTMF信號的檢測,直接利用任何手機本身就具有的DTMF信號來完成信號的產生。用音頻線很容易從手機耳機插孔中獲取想要的DTMF信號。為了方便驗證系統方案的可行性,不失一般性,本文采用了安卓APP應用軟件DTMF Tone Ad來完成DTMF信號的產生,在此對軟件作者表示感謝。該軟件安裝完成后,打開軟件會得到如圖2所示的界面,按下需要的鍵就可以產生對應的DTMF信號并通過揚聲器傳輸出去。

表1 DTMF信號的音頻組合方式

圖2 DTMF Tone Ad軟件界面
1.2 DTMF信號的檢測
根據DTMF信號的產生原理可知,利用DFT變換檢測接收到的信號頻率,很容易確定手機端按下的鍵值。DFT變換可以采用快速傅里葉變換算法來實現,但這種方案加重了微處理器的工作負擔。仔細分析DTMF信號的特點會發現,DTMF信號的頻譜只會在7個單音頻率的兩個頻率點上出現峰值。換句話說,只需要關心這7個頻點的頻譜信息,沒有必要計算信號在整個頻段上的頻譜。Goertzel算法[2]可以完成關心頻點頻譜的計算,不像DFT計算信號整個頻譜的信息,因此計算效率更高。本文采用了Goertzel算法來實現按鍵信號的檢測,非常適合處理能力不強的處理器。下面對Goertzel算法[3]做簡單介紹,設有限長序列x( n)的N點DFT為X( k),公式兩端同時乘以WN-kN可得


圖3 直接II型結構圖

該系統是IIR系統,為了實現該系統,可以采用直接II型基本結構,如圖3所示。
2.1 系統仿真
為了驗證系統實現的可能性,先對DTMF信號檢測算法進行MATLAB仿真。本系統采用的TMS320F28335開發板上有AIC23B芯片,能夠完成語音信號的采集。手機利用DTMF Tone Ad軟件完成DTMF撥號音的產生,AIC23B芯片采集音頻信號后存儲到FLASH芯片。將FLASH芯片存儲的音頻數據導出擴展名為dat的文件,由MATLAB的textread函數讀入進行分析。不失一般性,以按鍵1的處理為例進行闡述。為了方便數據處理,將數據分為205個數據點為一幀。由于按鍵并不是連續的,需要對數據進行能量檢測得到真正有效的數據幀再進行數據分析。設置好數據的采樣率,這是正確識別按鍵的關鍵,利用MATLAB自帶的函數goertzel進行分析,可得圖4的頻譜圖線。結合表1可以判斷出按鍵1按下,從結果看出,按鍵檢測算法是可行的。

圖4 按鍵信號的譜線圖
2.2 DSP實現
為進一步對上述仿真結果進行驗證,在DSP嵌入式系統上實現了按鍵檢測算法,并通過對 LED 燈的控制來完成系統搭建和驗證。該系統雖然在DSP系統上搭建,程序很容易移值到其它嵌入式MCU。為了方便學生完成音頻信號的采集,現在的DSP開發板大多帶有MIC接口,開發板上也具有AIC23B芯片。AIC23B芯片具備音頻輸入和輸出功能,它是一款高性能立體聲音頻編解碼芯片。AIC23B芯片內部集成了模數轉換(ADC)和數模轉換(DAC)部件,采用了先進的Sigma-delta過采樣技術,可以在8~96kHz采樣率范圍內提供16,20,24,32比特采樣[4]。整個系統的原理圖如圖5所示。
DTMF信號通過麥克風接到AIC23B芯片的MICIN引腳,通過芯片內部的AD模塊采集。AIC23B芯片包含控制和數據兩個通道,控制通道主要用于微處理器給AIC23B內的控制寄存器寫數據,完成采樣率控制等各種控制功能。采樣后的音頻數據通過數據通道傳遞給DSP芯片的MCBSP模塊,程序利用按鍵檢測后的結果,通過GPIO模塊完成受控設備的控制。整個系統主要采用C語言實現,非常方便移植到其它處理器。程序流程圖如圖6所示。

圖5 按鍵檢測的硬件原理框圖

圖6 按鍵檢測算法流程圖
程序先完成DSP程序的初始化設置,然后對knNW的實部和虛部進行處理和計算。對一些迭代變量進行初始化后,通過控制通道向AIC23B芯片寫數據。最后初始化MCBSP-A部件,設置中斷服務程序。當接收到音頻樣本時就進入中斷,為檢測出有效的音頻數據,將205個數據組合為一幀,根據數據能量判斷出有效數據。啟動Goertzel算法的迭代方程,算出感興趣頻率成分的頻譜值。最后利用排序得出幅度最大的兩個頻率分量,根據頻率分量的組合判斷出按鍵。系統使用LED燈模擬受控設備,執行LED燈的開和關閉操作。經過實驗,上述程序能夠實現無線接收手機的按鍵命令,完成LED燈的控制功能。以按鍵1為例,在程序中定義頻率數組f[7]={697,770,852,941,1209,1336,1477},利用m1和m2作為頻率的檢索指示變量,檢測結果如圖7所示,根據表1可判斷按鍵1被按下。

圖7 按鍵檢測結果
本文完成了一種無線鍵控系統的設計與實現,該系統利用任何手機都具有的DTMF信號作為控制信號,實現了無線鍵控功能。系統接收端只需要簡單的音頻采集組件,成本非常低。設計該系統的主要目的是輔助信號處理課程的教學,若用于實際還需考慮通信距離和噪聲抑制等復雜問題。信號的采集和處理不再使用開發板,而直接利用手機的麥克風和處理器來完成,在手機上完成信號的分析和處理。在相應的引導下,學生能主動思考手機和信號處理領域的一些創新應用。
[1] 王乙斐,游舟浩,王穎,青海銀. DTMF信號的合成與識別[J].電子設計工程,2011,19 (7) :71-73.
[2]李羽,張晉濤,孫志鋒,焦建格.基于Goertzel算法的感應電機參數離線辨識[J].工業控制計算機,2015,28 (12) :162-164.
[3]邵朝,陰亞芳,盧光躍. 數字信號處理[M].北京:北京郵電大學出版社,2004.
[4]陳斌,馮燕. 基于DSP的耳機噪聲抵消系統的設計與實現[J].電聲技術,2010,34(4):79-82.
電流調節器很快壓制了電流,并出現超調,約為3.39%,小于所要求的5%。本階段,ASR迅速飽和。
第二階段恒流升速階段,由于電流上升受到了壓制,電流在達到Idm之后的變化不再明顯。但由于ASR飽和,轉速飛速上升,超過給定值n*,ASR退飽和,此時到達第三階段轉速調節階段,ASR調節作用立刻恢復,n和Id回降,n穩定在n*處,Id=IdL=0A (空載)。得出轉速超調σn%≈5.5%。符合設計的要求[8]。
4.2 故障仿真與分析

圖3 斷路控制單元
調速系統運行時,突發的反饋通路斷線對工業生產帶來較大風險,借助Simulink[9]對這一故障進行仿真,以轉速反饋斷線為例。本文設計了斷路控制單元來控制斷線,如圖3所示,通過設定Clock的計時時間,即可控制斷線時間。
通常ASR在第一階段內飽和,并在第二階段結束時退飽和,而ASR反饋斷線正相當于其飽和。所以說兩者的區別只存在于第三階段,反饋斷線后的ASR無法正常“退飽和”;且在電流調節器作用下,dI持續減小,負載阻礙作用減小。
本文詳細地介紹了雙閉環直流調速系統的工程設計方法并進行了仿真分析。在此基礎上,本文對突發的反饋斷線問題進行了探究,提出了一種斷線的Simulink仿真方法,并對此故障進行了理論的分析,對于調速系統和運動控制的研究具有一定的意義。
參考文獻
[1]胡壽松. 自動控制原理(第四版)[M].科學出版社, 2001.
[2]阮毅, 陳維鈞.運動控制系統[M].清華大學出版社, 2006.
[3]王兆安, 劉進軍.電力電子技術(第五版)[M]. 2009.
[4]StephenD.Umans, 烏曼, 劉新正,等.電機學[M].電子工業出版社, 2014.
[5]倪中遠.直流調速系統[M].機械工業出版社, 1996.
The design and implementation of one wireless key-controlled system
Jiang Tao
(School of Physics and Electronic Engineering, Sichuan Normal University, Chengdu Sichuan,610068)
It is usual that external parameter and keyboard command are transmitted to embedded system using wireless method. The common bluetooth and WIFI modules require higher costs. The system mainly serves the course teaching. In order to reduce costs, this paper designs and implements a wireless key-controlled system based on DTMF signals. It used DTMF signal of any mobile phone as transmission medium. The burden of back-end processors was reduced using goertzel algorithm. Low-costwireless key-controlled systemcome true without using wireless module.MATLAB simulation and DSP experiment show that the design scheme of this system is feasible, and the system can receive the commands and perform corresponding control functions.
key-controlled system; DTMF signal;goertzel algorithm