DIY小四轴之电路设计(三)

DIY小四轴之电路设计(三)

上次我们分析过空心杯电机的驱动、基本传感器的电路配置,下面我们来聊聊2.4G通信电路和最小系统

五、2.4G通信电路

飞行器必须要和外部通信,比如和手柄通信,常用的通信手段有2.4G通信、蓝牙通信等等。2.4G通信的解决方案有两个,一个是直接在四轴上做一个排针接口,然后接入某宝上可以轻松买到的2.4G模块。
在这里插入图片描述
另一个方案是将2.4G通信电路直接开在飞行器电路板上面,当然这个方案略显复杂,可能不适合新手,不感兴趣的可以跳过去看后面。这里介绍一款Si24R1的2.4G通信芯片。

Si24R1数据手册: https://wenku.baidu.com/view/13e8aa404128915f804d2b160b4e767f5bcf8004.html.

Si24R1是一款工作在2.4~2.5GHz 世界通用ISM 频段、专为低功耗无限场合设计,集成嵌入式ARQ基带协议引擎的无线收发器芯片。工作频率范围为2400MHz—2525MHz,共有126个1MHz的带宽的信道。

它与单片机之间通过SPI通信,之所以选择SPI通信,是因为它比IIC和USART等通信方式都要快,毕竟通信模块本身就需要去传输大量信息。其引脚定义如下图:
在这里插入图片描述
为了方便理解,我们对照一个已经成型的电路图来讲解。
在这里插入图片描述
中间的芯片是Si24R1芯片,下面的Y2是一个四引脚16MHz的晶振,左侧出来的部分是天线配置电路,左下角是电源转换电路,我们一个部分一个部分地来看。

首先是电源转换电路,是通过R10和R11两个0值电阻将RF_3V3和3V3连在一起,将RF_GND与GND连在一起,0值电阻就是没有电阻,作用是方便调试,只要将电阻焊上去整个2.4G射频电路才启动。

其次是Si24R1芯片的SPI部分,正常的SPI通信至少需要四根线:
(1)SDO/MOSI – 主设备数据输出,从设备数据输入;
(2)SDI/MISO – 主设备数据输入,从设备数据输出;
(3)SCLK – 时钟信号,由主设备产生;
(4)CS/SS – 从设备使能信号,由主设备控制。
这里分别对应上面的4、5、3、2号引脚,这些引脚需要被接在单片机设定好的引脚上面。

其次是CE引脚,它的作用是选择芯片的收发模式。然后是IRQ引脚,它的作用是接收中断信号,如果单片机代码写得比较好,可是尝试使用中断去控制芯片,通信速度会快很多。

其次是VDD和VSS,分别代表电源正极和负极,电源正负极之间需要接滤波电容,不同大小的滤波电容可以过滤掉不同频率的交流分量。

其次是XC2和XC1是晶振接口,为什么这个芯片明明接了SCLK,有了时钟信号,还需要晶振呢?这是因为SCLK是针对于SPI通信协议来说的,它统一了单片机和芯片ARQ引擎之间的时间关系;而这个晶振提供的时钟信号是针对内置的射频电路包括FSK调制器和解调器使用的,它统一的是模块和模块的天线、调制解调部分的时间关系。

言归正传,四脚无源晶振是有极性的,OSCO-XC2,OSCI-XC1这个关系不能颠倒。两个电容(负载电容)的作用是把电能转换成其他形式的能。如果没这两个电容的话,振荡部分会因为没有回路而停振。具体的需要去了解晶振电路。

再向后看就是天线部分,这个部分建议大家直接参考Si24R1的数据手册,里面有一个最基本的配置电路。具体天线电路设计到更深层的射频电路知识,我也不是很了解。

六、单片机最小系统

现在我们有了电机驱动电路作为飞行器的翅膀、有了传感器配置电路作为飞行器的眼睛、有了电源电路作为飞行器的心脏,有了2.4G射频电路作为遥控器通信的手段,下面我们需要给飞行器安装一个大脑。

单片机作为一个控制系统,是四轴飞行器的大脑,我们需要把大脑给搭建好,随后才能去控制周围的电路。
在这里插入图片描述
单片机说简单点,本质上不就是这个芯片嘛,我们需要设计一个电路来驱动这个芯片。驱动这样一个芯片,外围电路得满足四种基本需求:电源、复位、时钟、调试接口。恰好满足这四种功能的单片机电路,称之为单片机的最小系统。当然这部分需要参考的自然是我们的芯片手册,下面我们以STM32C8T6为例,来分开讲一下这四种电路是怎样的。

1.电源:单片机一般都是3.3v供电

在这里插入图片描述
这里介绍几种常用的引脚字符:
VCC:C=circuit 表示电路的意思, 即接入电路的电压
VDD:D=device 表示器件的意思, 即器件内部的工作电压;
VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压

VDDA,VSSA是模拟部分的电源,A=Analog,为所有的模拟电路部分供电,包括:ADC模块,复位电路,PVD(可编程电压监测器),PLL,上电复位(POR)和掉电复位(PDR)模块,控制VBAT切换的开关等。即使不 使用ADC功能,也需要连接VDDA。

VDDA的电压的精确度直接影响到ADC的精确度。所以在一些比较专业的设计中呢,VDDA通常是通过一个精准3V3芯片来供电的,在这里我们不需要ADC功能特别准确,所以我们就用两个滤波电容,意思意思就可以了。

2.时钟电路:
一般的晶振都是应该去设计外部容抗匹配,如下如所示:
在这里插入图片描述
三个引脚的晶振其实是把两个电容集成到里面去了,晶振两端的引脚就是晶振引脚,中间的引脚是地线,外部不需要另外接匹配电容了。
在这里插入图片描述
3.启动与复位
单片机启动的模式有三种,是由单片机BOOT0和BOOT1两个引脚上的电平决定的,三种模式如下:

BOOT0 BOOT1 启动模式
低电平 低或高 从主闪存存储器启动
高电平 低电平 从系统存储器启动
高电平 高电平 从内置SRAM启动

(1)用户闪存 : 芯片内置的Flash,正常的工作模式。
(2)SRAM: 芯片内置的RAM区,就是内存,可以用于调试。
(3)系统存储器: 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。启动的程序功能由厂家设置。

我们通常用前两种启动模式,所以只需要让BOOT1总是置为低电平;而BOOT0是可变的就可以了。

4.调试接口一般有SWD和JTAG接口,当然如果想用USART1也是可以的,把对应IO口用排母接出来可以了,具体的内容查询STM32对应的芯片手册。

电路的设计到这里就结束了,以后会看个人情况来更新STM32平台上的代码部分。欢迎留言交流,如有不对之处,恳请指出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章