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