1 最小系统原理图
最小系统主要有电源,时钟,调试,复位,以及控制芯片五大部分组成。
2 电源系统
由LDO(Low Dropout Regulator)低压差线性稳压器将5V转换为3.3V,为主控芯片供电。
关于电平转换,可以查看从电平角度理解数字电路
3 时钟电路
晶振是由石英晶体组成的,石英晶体之所以能当为振荡器使用,是基于它的压电效应:在晶片的两个极上加一电场,会使晶体产生机械变形;在石英晶片上加上交变电压,晶体就会产生机械振动,同时机械变形振动又会产生交变电场,虽然这种交变电场的电压极其微弱,但其振动频率是十分稳定的。当外加交变电压的频率与晶片的固有频率(由晶片的尺寸和形状决定)相等时,机械振动的幅度将急剧增加,这种现象称为“压电谐振”。
晶振电路为主控芯片提供系统时钟,所有的外设工作,CPU工作都要基于该时钟,类似于整个系统的“心跳节拍”。
晶振分为无源和有源,但是本质上都是皮尔斯震荡电路(反相放大器+电阻+电容+晶体+电源),只不过对于单片机而言,单片机内部集成了反相放大器和电阻以及电源,外接晶体和电容就可以了,这里的晶体就称之为无源晶振。
而有源晶振是将皮尔斯振荡器作成一个整体,直接加电源即可工作,当然,价格也会比无源的贵一些。
4 复位电路
主控芯片是低电平复位(引脚NRST),硬件按键复位属于系统复位之一(另外还有软件复位,看门狗计数终止复位等)。其中的电容C2的目的是按键消抖,防止在按键刚刚接触/松开时的电平抖动引发误动作(按键闭合/松开的接触过程大约有10ms的抖动,这对于主控芯片I/O控制来说已经是很长的时间,足以执行多次复位动作。由于电容电压不会突变,所以采用电容滤波,防止抖动复位误动作)。
5 调试接口
程序开发的过程中,需要下载bin/hex文件,以及在线仿真调试,可采用SWD或者JTAG的方式。SWD 模式比 JTAG 在高速模式下面更加可靠,且只需4引脚,实际开发中一般都采用SWD方式。其中的时钟线CLK是用于Jlink和芯片的时钟同步,一般频率设置为4MHz,可根据实际情况调整频率。
6 主控芯片STM32F103C8T6
理解上图的芯片特征,算是基本了解STM32这类主控芯片。包括核心主频,内存,闪存,工作模式,A/D数据转换,DMA,定时器,以及通信协议。这部分的知识量还是比较多,需要先整体把握,再分而治之。
比如:
主频跟cpu执行代码的速度相关,主频越高,cpu执行的速度就越快,芯片的成本也就越高;
内存SRAM的大小跟代码运行时的需求相关,比如全局变量,局部变量等数据都是跟SRAM相关,C语言中的逻辑分区:堆/栈/全局变量区,从物理角度分:都是属于SRAM;
闪存flash,是存放代码的物理区,bin/hex文件放在flash中,相当于电脑的硬盘;
DMA(Direct Memory Access)直接存储访问,是在外设与内存,内存与内存之间传输大量数据时用的,作用是减轻CPU的负担,以增加硬件的成本和复杂性,来达到提高整体效率的一种传输方案;
通信协议,这个就很多了,UART,SPI,IIC,CAN,USB等,主要作用是与外界设备通信所用,不同的通信方式有不同的协议,这个需要结合外部芯片的驱动来进一步学习。
参考资料:
1.stm32f103c8t6数据手册
2.stm32f103c8t6中文参考手册
来源: 整理文章为传播相关技术,网络版权归原作者所有,如有侵权,请联系删除。