复位电路部分
一、简介
复位对电路的可靠运行起着重要的作用。
基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关过程中引起的抖动而影响复位。
复位不仅是上电复位,各个模块也都存在复位,USB复位、网口复位、内存复位、看门狗复位等等。
二、常见问题
- 未提供复位信号
- 复位信号驱动能力不足
- 复位时序不对
- 复位宽度不够
- 复位信号的有效电平
三、RC 复位电路
3.1 RC复位电路
RC复位电路可以实现基本复位功能
缺点:解决不了电源毛刺,边沿缓慢等问题,驱动能力变差
3.2专用复位芯片
该 706 芯片提供电源监控、上电复位、看门狗复位等,右边几个为复位引脚输出。
3.2.1 复位
VCC 小于 4.65V 时复位。
出现低电平,低于 0.8V 时,并持续时间达到 150nm 时复位。
复位的状态:输出一个 160~180ms 宽度的低脉冲
3.2.2 电源监控
是电源监控管脚,当FPI电压低于1.25V时,PFO输出低电平,这可以对另外一组电源或者信号进行监控。
3.2.3看门狗
在 1.6s 之内 WDI 上的信号边沿没有变化,即电平没有反转,就会输出低电平。直到 WDI 有翻转了才恢复。
还有就是 VCC 低于 4.65v 时 , 也会复位。
3.2.4注意事项
复位宽度: 复位信号的宽度:输出一个 160~180ms 宽度的低脉冲
最典型的复位宽度为 200ms ,故对芯片要求大于 160ms 就不要选这个芯片。
电平有效的逻辑
看门狗要注意WDI的宽度,喂狗信号的宽度。
3.2.5时序
在下图中, Twp 是 WDI 时钟的脉宽,Trs复位的脉宽,Twd就是溢出周期。
注意在复位时,复位的宽度一定要大于等于看门狗要求的复位时间。
3.3 “与”门复位电路
在下图中,U76 为“与”门。按下按键,RESET输出复位信号;没有喂狗输出复位信号。
时序部分
一、时序基础
在高速电路中,更关注信号边沿。
1.1基础参数
- 时钟频率(Freq):F
- 时钟周期():
- 建立时间(Setup Time):
如在上升沿采样,那在上升沿之前数据保持不变的时间叫建立时间,一般有最大值和最小值。
接收端对建立时间是有要求的,必须要大于最小值才能稳定的采样。 - 保持时间(Hold Time):
上升沿之后数据保持不变的时间叫保持时间,保证采样的稳定可靠,采样后数据不变。 - 时钟输出延时(Time from Clock to Output):
器件上时钟的输入和输出的延时,受器件工艺的影响。 - PCB传输延时(Flight Time):
走线长度、走线内外层等因素影响。 - 时钟偏差(Clock Jitter):
时钟抖动。 - 建立时间裕量(Setup Time Margin):
想要时钟可靠的采样,建立时间大于最小值。比如大于0 ,就可以采样;大于一个值,采样稳定。 - 保持时间裕量(Hold Time Margin):
想要时钟可靠的采样,建立时间大于最小值。比如大于0 ,就可以采样;大于一个值,采样稳定。
1.2建立时间和保持时间图示
1.3时序设计介绍
(1)建立时间(Tsu:setup time)
在时钟沿到来之前数据从不稳定到稳定所需的时间。
说明:如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器。
(2)保持时间(Th:hold time)
是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间。
如果保持时间不够,数据同样不能被稳定的打入触发器,Th就是指这个最小的保持时间。
结论:建立时间是在时钟脉冲到来之前,保持时间是在时钟脉冲到来之后。
1.4举例
时钟沿到来时采样数据 D ,将采到的数据寄存下来,并输出到 Q 端,所以如果没有新的时钟沿到来,则 Q 端输出的一直是上次采样的数据,每来一个时钟沿,采样一次数据 D 。
那么分析这个建立时间和保持时间,我们分两种情况,一种是 clka 没有传输延时( clock skew ),一种是由传输延时,前者相对容易一些。
1.4.1没有延时
左下图中的 E 点为右下图中 D1 输出的 端,右下出的公式为最经典的源通步公式
:数据正确采样后从 D 端到达 Q 端的延时,触发器固有属性,不可改变
::D1 输出端到 D2 输入端的组合逻辑延时和布线延时
:触发器的建立时间,触发器固有属性,不可改变
:触发器的保持时间,触发器固有属性,不可改变
:时钟周期
:假设源时钟为 clka,clka 到达 D1 的延时
: 同,是 clka 到达 D2 的延时
1.4.2有延时
事实上 Clock 的传输也是有延时的,其实就是常说的 clock skew (时钟偏斜),就是同一个时钟沿达到 D1 和 D2 的时延差别,如果 D1 和 D2 离的很远,那么相应的 clockskew 就会更大。
注意时钟偏斜是一个方向的,时钟抖动是两个方向的。
时钟电路部分
一、晶体时钟电路
1.1经典晶体时钟电路
两个负载电容,一个反馈电阻
1.2电容选择
下图公式中:
是指晶体的容性负载:外接晶体振荡电路上所有电容的总和,一般十几到几十皮法。
:隐性电容
如果不考虑 , 和 相等,即,故 。
但是由于忽略了隐性电容 , →,如果某晶体数据手册中建议容性负载 为12.5pF ,则选择 25pF(两倍) → 22pF(偏小,向1.5~1.8倍靠近,选择常规参数电容)。
1.3电阻的选择
RTC的电阻一定要大于10M
1.4 PCB注意事项
(1)离处理器近(比晶振优先)
(2)晶体附近信号对晶体信号进行避让
(3)包地处理
(4)晶体下所有层不要走线
(5)注意晶振的使用温度
二、晶振时钟电路
2.1电路原理图
其中 L1 为磁珠。
2.2器件的作用
(1)R1具体作用如下:
可以减少谐波。有源晶振的输出是方波,当阻抗不匹配的时候将引起谐波干扰。加上串联电阻后,该电阻与输入电容构成RC电路将方波变成正弦波。
可以进行阻抗匹配(就是这个晶振电路期望的阻抗,由这个电阻去达到一部分来有优秀的晶振输出),减少反射信号的干扰。
(2)C5与串联电阻组成RC滤波电路:减少时钟信号的过冲,即输出的波形直角处稍微变缓一点。
(3)有源晶振的电源引脚最好不要直接接电源,而是通过一个磁珠后接入,这可大大降低电源噪声对时钟输出频率的影响。
晶振电源的去耦电容的匹配也很重要,去耦电容般选3个,容值依次递减。在pcb布局中要注意这3个电容离电源越近容值越小。
有源晶振的时钟输出端串联一个小电阻,作用是为了减少信号反射,以免造成信号反射引起的信号过冲。
2.3PCB设计注意事项
- 耦合电容应尽量靠近晶振的电源引脚,位置摆放顺序:按电源流入方向,依容值从大到小依次摆放,容值最小的电容最靠近电源引脚。
- 品振的外壳必须接地,可以晶振的向外辐射,也可以屏蔽外来信号对品振的干扰。
- 品振下面不要布线,保证完全铺地,同时在品振的300mi1范围内不要布线,这样可以防止品振干扰其他布线、器件和层的性能。
- 时钟信号的走线应尽量短,线宽大一些,在布线长度和远离发热源(处理器)上寻找平衡。
- 晶振不要放置在PCB板的边缘,在板卡设计时尤其注意该点。
三、时钟驱动器
3.1典型的时钟驱动器电路
由单端到差分的设计
(1)负载能力
比如可以带动了 12pF 的容性负载那就可以带动 3 pF 的 ADC 4片。
(2)占空比
(3)通道偏移
跟走线有关
(4)器件之间偏移
器件之间的偏移
MCU模块电路设计
一、最小系统
1.1结构框图
基本都认识,其中 RMII 为百兆网口
1.2电路图
“最小系统”称“嵌入式核心控制模块
最小系统的组成: ①主芯片、 ②电源与接地、③晶体振荡器、④复位电路、⑤调试系统(JTAG、UART)、存储系统。
1.3 MCU芯片
1.4Cortex-M3的最小系统组成
(1)时钟模块:通常经ARM内部锁相环进行相应的倍频,以提供系统各块运行所需的时钟频率输入
(2)复位模块:实现对系统的复位
(3)电源系统:为系统各模块供电
(4)调试系统:
JTAG模块--实现对程序代码的下载和调试
UART模块--实现对调试信息的终端显示
(5)存储系统:
Flash存储模块--存放启动代码、操作系统和用户应用程序代码
SDRAM模块--为系统运行提供动态存储空间,是系统代码运行的主要区域
1.5引脚分类:
电源:(VBAT)、(VDD VSS)、(VDDA VSSA)、(VREF+ VREF-)等;(数字地和模拟地)
复位与启动:NRST、B00T0、B00T1
晶振:主晶振OSC IN OSC OUT、RTC晶振
下载:JTMS SWDIO、JTCK SWCLK JTDI JTDO JNTRST等
GPIO: PAO-PA15等,专用器件接到专用的总线,比如I2C,SPI,SDIO,FSMCDCMI这些总线的器件需要接到专用的IO
1.6MCU电源设计
- 芯片内部有很多功能单元,这些单元都需要供电,采用多引脚供电可以就近获取电源,无需在内部穿越。
- 不同单元之间,有时不希望电源互相影响,采用独立的电源引脚,可以避免这种影响实际使用时,每个引脚不但要连接电源,还应在电源引脚附近加上退藕电容。其目的是当器件工作时,电流的变化会引起电源的电压微小波动,加上退藕电容后,这种波动就不容易传递到另外的电源引脚。
- 一般VDD和VSS管脚均匀分布在芯片的四周的,是基于电源完整性的考虑,可以为芯片提供最好的电源质量,降低电源阻抗,保证高速数字电路可靠工作的手段。
- 关于VBAT:当使用电池或其他电源连接到VBAT脚上时,当VDD断电时,可以保存备份寄存器的内容和维持RTC的功能。如果应用中没有使用外部电池,VBAT引脚应接到VDD引脚上。
1.7 STM32的4个时钟源
- 高速外部时钟(HSE):外部晶振时钟源,晶振频率4~16MHz,一般用8MHz的晶振,为系统提供较为精确时钟。
- 高速内部时钟(HSI):内部RC振荡器产生,频率为8MHz,但不稳定。
- 低速外部时钟(LSE):外部品振作时钟源,主要提供给实时时钟模块,一般采用32.768KHZ。
- 低速内部时钟(LSI):内部RC振荡器产生,也主要提供给实时时钟模块,频率大约为40KHZ。
注意事项:
- 在对于时钟精度要求比较高的场合,一般都不采用内部时钟,而选择外部时钟源(如RTC)。
- 每个外设都配备了外设时钟的开关,当我们不使用某个外设时,可以把这个外设时钟关闭,从而降低STM32的整体功耗。
- 当使用某个外设时,一定要记得开启外设的时钟。
1.8经典晶振电路
1.电容典型值:5-25pF,通常两个电容具有相同的参数
2.如果编写STM32程序需要用STM32固件库和外部高速时钟,而外部晶振不是8MHz,还需要配置STM固件。
1.9复位电路
通常ST单片机,支持三种复位形式,分别为系统复位、上电复位和备份区域复位
- 电源复位:当系统上电、掉电,以及系统从待机模式返回时,发生电源复位。电源复位能够复位除了备份区域寄存器之外的所有寄存器的状态。
- 系统复位:图上任一事件发生时,均能产生一个系统复位:系统复位能够复位除时钟控制寄存器CRS中的复位标志和备份区域中的寄存器之外的所有寄存器。
- 备份区域复位:对于备份区域的复位,一种是在软件复位的时候设定备份区域控制寄存器中的对应位产生的;另一种是当电源和电池都掉电又重新上电时产生的。
二、最小系统设计
没什么设计的亮点,所有的最小系统原理都是那样,可能会因为场合需要有细微差别。