【導(dǎo)讀】第十五屆智能車競賽中的信標(biāo)組別使用了新的聲音信標(biāo)[1]作為車模導(dǎo)引信號。如何在新版信標(biāo)還沒有正式出品之前就開始車模信號接收和處理模塊的調(diào)試是很多同學(xué)關(guān)心的問題。
在之前,同學(xué)們通過音箱播放信標(biāo)Chirp音頻[2]文件來模擬信標(biāo)發(fā)出的聲音,調(diào)試相應(yīng)的麥克風(fēng)陣列。這種方式比較簡單,但還是缺少信標(biāo)中的調(diào)頻無線發(fā)送的同步音頻信號,這使得信標(biāo)的檢測精度降低,響應(yīng)速度緩慢了。
下面介紹一種使用一款八管腳(SOP8封裝)單片機(jī) STC8G1K08來制作簡化版的信標(biāo)信號板,用于車模的調(diào)試。
功能定義
根據(jù)信標(biāo)導(dǎo)航信號[3]的要求,信號板需要具有以下四個方面的功能:
1. 能夠產(chǎn)生符合要求的Chirp信號[4],來驅(qū)動音頻功放通過揚(yáng)聲器發(fā)出聲音;并通過調(diào)頻信號發(fā)送同步無線信號;
2. 發(fā)送調(diào)頻無線信號,提供給車模接收同步音頻信號;并作無線導(dǎo)航。
3. 驅(qū)動揚(yáng)聲器發(fā)送Chirp聲音信號。
4. 與信標(biāo)控制板連接,檢測控制板上的脈沖信號控制信號發(fā)送;
為了簡化設(shè)計,信號板只需要能夠產(chǎn)生Chirp信號,并通過調(diào)頻無線發(fā)送即可。使用一個普通的調(diào)頻收音機(jī)接收調(diào)頻無線信號,并發(fā)出Chirp聲響,作為實際信標(biāo)的位置。通過外部連接一個開關(guān)來確定是否發(fā)出聲響。
如果調(diào)試多個信標(biāo)時,可以使用多個調(diào)頻收音機(jī),分別放在不同的地點(diǎn)。有人工打開或者關(guān)閉,模擬多個信標(biāo)導(dǎo)航的情形。
電路設(shè)計
1. STC8G1K08單片機(jī)資源
STC8G1K08單片機(jī),SOP8封裝,除了電源(VCC),底線(GND)之外,其余管腳都可以使用,除了可以做普通的IO之外,還可以為內(nèi)部的AD,TIMER,SPI, I2C,CCP等模塊提供外部端口。
用于發(fā)送調(diào)頻無線信號的QN8027[5]使用I2C總線控制,使用到8G1K的I2C總線接口(P3.3:SDA, P3.2:SCL)。
由于8G1K08沒有DA輸出,可以使用其內(nèi)部CCP模塊產(chǎn)生PWM(P5.4:CCP2)信號,通過低通濾波來產(chǎn)生Chirp模擬信號。
輸入端口P5.5(INT3)可以用于判斷外部的開關(guān)信號確定是否發(fā)送信號。
最后還剩下UART的兩個引腳,可以用于芯片程序下載。并作為普通的IO口來使用。
▲ STC8G1K08端口功能配置
2. STC8G1K08 MCU板設(shè)計
(1) 無線調(diào)頻電路:
無線調(diào)頻電路包括調(diào)頻信號發(fā)生IC(QN8027)電路以及無線信號功率放大部分。調(diào)頻信號發(fā)生采用了QN8027集成電路設(shè)計,大大減少了外圍電路設(shè)計以及調(diào)試過程。使用12MHz晶體提供標(biāo)準(zhǔn)的參考振蕩頻率。從單片機(jī)輸出的Chirp信號經(jīng)過RA1,RA2分壓之后,形成大約峰峰值為1V的模擬信號加在音頻雙聲道輸入端口ALI(PIN10),ARI(PIN9)。
▲ FM電路設(shè)計
產(chǎn)生的調(diào)頻信號通過電容C6耦合到高頻三極管T1(9018)進(jìn)行功率放大輸出,輸出射頻信號經(jīng)過電容C3耦合到天線。
(2)PWM低通濾波電路:
由8G1K08產(chǎn)生的PWM信號,需要經(jīng)過低通濾波形成模擬信號。為了提高信號的質(zhì)量,需要提高PWM的頻率fPWM以及PWM的控制占空比的位數(shù)bPWM。在單片機(jī)主頻fOSC一定的情況下,這兩個參數(shù)相互牽連,它們之間滿足:
在實際設(shè)計中,上述參數(shù)為:
設(shè)計RC低通濾波器的截止頻率比fPWM低一個數(shù)量級左右。取C=0.1uF,R=220Ω,那么低通濾波器的截止頻率為:
(3)電源電路:
由于QN8027只能工作在3.3V電壓下。8G1k08單片機(jī)可以工作的電壓范圍比較寬,但是為了能夠工作在35MHz的主頻下,其電壓VCC需要等于5V。另外,為了提高調(diào)頻信號發(fā)射功率,電路的工作電壓也需要更好一些。最后選擇VCC= 5V。
因此需要單獨(dú)使用一個3.3V的穩(wěn)壓芯片為AN8027提供電源。此外使用電阻-二極管鉗位電路將單片機(jī)I2C的5V信號轉(zhuǎn)換成3.3V信號接入QN8027。
▲ 電源電路與I2C總線接口電路
(4)原理圖總圖:
完整的電路原理圖如下圖所示:
▲ 原理圖設(shè)計
(5)PCB設(shè)計:
下圖給出了快速制版布置的PCB版圖,以及焊接之后的測試電路板。在調(diào)頻無線輸出端口,使用一條20厘米的多股銅絲線作為天線。
▲ PCB設(shè)計電路圖
電路板下面有六針插座,便于在面包板上完成調(diào)試。調(diào)試完之后,便可以通過該接口連接工作電源以及外部的控制信號了。
六針的定義為:
電路功能調(diào)試
1. PWM輸出
下圖實測在PWM設(shè)置為0x1f,輸出為50%時,PWM波形以及對應(yīng)的頻率。
▲ CCP2上的PWM波形輸出
2. Chirp信號
設(shè)置單片機(jī)TIMER0,產(chǎn)生10kHz的中斷,在中斷程序中交替發(fā)送0.2048秒的Chirp信號以及0.2048秒的靜音。
Chirp信號數(shù)據(jù)是建立在程序區(qū)中的2048字節(jié)長度的表格,預(yù)先通過PYTHON語言生成6bit的數(shù)據(jù)。
Chirp生成的公式為:
然后將x[n]轉(zhuǎn)化成0~63的整形數(shù)。
下面是經(jīng)過RC低通濾波之后的Chirp音頻模擬信號。
▲ PWM濾波后的Chirp信號
3. 射頻信號
使用DSA815頻譜儀,外接一根拉桿天線,接收到信號板發(fā)送的調(diào)頻無線信號,頻譜的中心在95.1MHz。
▲ 信號板發(fā)送的調(diào)頻無線信號的頻譜
調(diào)頻信號的強(qiáng)度大于本地調(diào)頻廣播的無線信號10倍以上,即使該信號與調(diào)頻廣播電臺重疊,信號板發(fā)送的調(diào)頻信號也能夠壓制住調(diào)頻廣播電臺的信號。
下面是通過調(diào)頻收音機(jī)在95.1MHz接收到的音頻信號。
▲ 調(diào)頻收音機(jī)接收到的信號
參考資料
[1] 聲音信標(biāo): https://zhuoqing.blog.csdn.net/article/details/104231420
[2] 信標(biāo)Chirp音頻: https://zhuoqing.blog.csdn.net/article/details/105575349
[3] 信標(biāo)導(dǎo)航信號: https://zhuoqing.blog.csdn.net/article/details/105004283
[4] Chirp信號: https://zhuoqing.blog.csdn.net/article/details/105762739
[5] QN8027: https://zhuoqing.blog.csdn.net/article/details/104710034
本文涉及到的硬件和軟件資源可以在CSDN中下載:
BEACONSTC8G1K08.zip
推薦閱讀: