簡介
第十五屆智能車競賽中的信標組別使用了新的聲音信標[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口來使用。
2. STC8G1K08 MCU板設計
(1) 無線調頻電路:
無線調頻電路包括調頻信號發(fā)生IC(QN8027)電路以及無線信號功率放大部分。調頻信號發(fā)生采用了QN8027集成電路設計,大大減少了外圍電路設計以及調試過程。使用12MHz晶體提供標準的參考振蕩頻率。從單片機輸出的Chirp信號經過RA1,RA2分壓之后,形成大約峰峰值為1V的模擬信號加在音頻雙聲道輸入端口ALI(PIN10),ARI(PIN9)。
產生的調頻信號通過電容C6耦合到高頻三極管T1(9018)進行功率放大輸出,輸出射頻信號經過電容C3耦合到天線。
(2)PWM低通濾波電路:
由8G1K08產生的PWM信號,需要經過低通濾波形成模擬信號。為了提高信號的質量,需要提高PWM的頻率 以及PWM的控制占空比的位數 。在單片機主頻 一定的情況下,這兩個參數相互牽連,它們之間滿足:
在實際設計中,上述參數為:
設計RC低通濾波器的截止頻率比 低一個數量級左右。取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。
(4)原理圖總圖:
完整的電路原理圖如下圖所示:
(5)PCB設計:
下圖給出了快速制版布置的PCB版圖,以及焊接之后的測試電路板。在調頻無線輸出端口,使用一條20厘米的多股銅絲線作為天線。
電路板下面有六針插座,便于在面包板上完成調試。調試完之后,便可以通過該接口連接工作電源以及外部的控制信號了。
六針的定義為:
序號 | 功能 | 描述 |
---|---|---|
1 | VCC | 工作電源+5V |
2 | GND | 電源地 |
3 | TXD | MCU串口輸出 |
4 | RXD | MCU串口輸入 |
5 | INT3 | 開關量輸入,控制信號板工作 |
6 | CHIRP | 音頻信號輸出,內阻200歐姆 |
電路功能調試
1. PWM輸出
下圖實測在PWM設置為0x1f,輸出為50%時,PWM波形以及對應的頻率。
2. Chirp信號
設置單片機TIMER0,產生10kHz的中斷,在中斷程序中交替發(fā)送0.2048秒的Chirp信號以及0.2048秒的靜音。
Chirp信號數據是建立在程序區(qū)中的2048字節(jié)長度的表格,預先通過PYTHON語言生成6bit的數據。
Chirp生成的公式為:
然后將x[n]轉化成0~63的整形數。
下面是經過RC低通濾波之后的Chirp音頻模擬信號。
3. 射頻信號
使用DSA815頻譜儀,外接一根拉桿天線,接收到信號板發(fā)送的調頻無線信號,頻譜的中心在95.1MHz。
調頻信號的強度大于本地調頻廣播的無線信號10倍以上,即使該信號與調頻廣播電臺重疊,信號板發(fā)送的調頻信號也能夠壓制住調頻廣播電臺的信號。
下面是通過調頻收音機在95.1MHz接收到的音頻信號。
參考資料
聲音信標: 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
本文涉及到的硬件和軟件資源可以在CSDN中下載:
BEACONSTC8G1K08.zip
卓大大,還是想打一些文字,雖然可能不會有什么實質性的影響。這次學校初步預計是五月底六月初返校,雖然八月底比賽但是校賽預計會在七月份,中間還要有期末考試復習,時間確實比較趕,但坐車時間短其實大家也能克服,無非就是辛苦一些,最重要的問題是很多大三的同學其實是有保研資格的(我們學校做車的同學很多都是專業(yè)年級前20),以目前的形式來看勢必會耽誤保研的安排。
按照往年的學長學姐的進程,應該是有機會參加一個夏令營的,但是這樣一來可能夏令營就沒辦法參加了,同時比往屆延時一到兩周也會影響到九推準備。
如果能夠在寒假舉行的話我們還是會如約參加,畢竟不為別的,也是給過去半年的努力一個結果?;蛟S沒有完美的解決方案,最終也必然會損害到某一方的利益吧。
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯系我們,謝謝!