基于STC8G1K08信标信号板设计
扫描二维码
随时随地手机看文章
简介
第十五届智能车竞赛中的信标组别使用了新的声音信标[1]作为车模导引信号。如何在新版信标还没有正式出品之前就开始车模信号接收和处理模块的调试是很多同学关心的问题。
在之前,同学们通过音箱播放信标Chirp音频[2]文件来模拟信标发出的声音,调试相应的麦克风阵列。这种方式比较简单,但还是缺少信标中的调频无线发送的同步音频信号,这使得信标的检测精度降低,响应速度缓慢了。
下面介绍一种使用一款八管脚(SOP8封装)单片机 STC8G1K08来制作简化版的信标信号板,用于车模的调试。
功能定义
根据信标导航信号[3]的要求,信号板需要具有以下四个方面的功能:
-
能够产生符合要求的Chirp信号[4],来驱动音频功放通过扬声器发出声音;并通过调频信号发送同步无线信号;
-
发送调频无线信号,提供给车模接收同步音频信号;并作无线导航。
-
驱动扬声器发送Chirp声音信号。
-
与信标控制板连接,检测控制板上的脉冲信号控制信号发送;
为了简化设计,信号板只需要能够产生Chirp信号,并通过调频无线发送即可。使用一个普通的调频收音机接收调频无线信号,并发出Chirp声响,作为实际信标的位置。通过外部连接一个开关来确定是否发出声响。
如果调试多个信标时,可以使用多个调频收音机,分别放在不同的地点。有人工打开或者关闭,模拟多个信标导航的情形。
电路设计
1. STC8G1K08单片机资源
STC8G1K08单片机,SOP8封装,除了电源(VCC),底线(GND)之外,其余管脚都可以使用,除了可以做普通的IO之外,还可以为内部的AD,TIMER,SPI, I2C,CCP等模块提供外部端口。
用于发送调频无线信号的QN8027[5]使用I2C总线控制,使用到8G1K的I2C总线接口(P3.3:SDA, P3.2:SCL)。
由于8G1K08没有DA输出,可以使用其内部CCP模块产生PWM(P5.4:CCP2)信号,通过低通滤波来产生Chirp模拟信号。
输入端口P5.5(INT3)可以用于判断外部的开关信号确定是否发送信号。
最后还剩下UART的两个引脚,可以用于芯片程序下载。并作为普通的IO口来使用。
2. STC8G1K08 MCU板设计
(1) 无线调频电路:
无线调频电路包括调频信号发生IC(QN8027)电路以及无线信号功率放大部分。调频信号发生采用了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。另外,为了提高调频信号发射功率,电路的工作电压也需要更好一些。最后选择VCC= 5V。
因此需要单独使用一个3.3V的稳压芯片为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的中断,在中断程序中交替发送0.2048秒的Chirp信号以及0.2048秒的静音。
Chirp信号数据是建立在程序区中的2048字节长度的表格,预先通过PYTHON语言生成6bit的数据。
Chirp生成的公式为:
然后将x[n]转化成0~63的整形数。
下面是经过RC低通滤波之后的Chirp音频模拟信号。
3. 射频信号
使用DSA815频谱仪,外接一根拉杆天线,接收到信号板发送的调频无线信号,频谱的中心在95.1MHz。
调频信号的强度大于本地调频广播的无线信号10倍以上,即使该信号与调频广播电台重叠,信号板发送的调频信号也能够压制住调频广播电台的信号。
下面是通过调频收音机在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
卓大大,还是想打一些文字,虽然可能不会有什么实质性的影响。这次学校初步预计是五月底六月初返校,虽然八月底比赛但是校赛预计会在七月份,中间还要有期末考试复习,时间确实比较赶,但坐车时间短其实大家也能克服,无非就是辛苦一些,最重要的问题是很多大三的同学其实是有保研资格的(我们学校做车的同学很多都是专业年级前20),以目前的形式来看势必会耽误保研的安排。
按照往年的学长学姐的进程,应该是有机会参加一个夏令营的,但是这样一来可能夏令营就没办法参加了,同时比往届延时一到两周也会影响到九推准备。
如果能够在寒假举行的话我们还是会如约参加,毕竟不为别的,也是给过去半年的努力一个结果。或许没有完美的解决方案,最终也必然会损害到某一方的利益吧。
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!