原理图
原理图部分使用的画幅尺寸为 A4,方便大家打印查看。
层次总框图
从上面的层次总框图可以快速了解开发板资源。采用模块化设计,方便大家在后续设计时可以直接在开源工程中复制复用图块。图中各个模块的描述和接口定义使得该电路的原理图更加清晰和完整。
主控芯片电路
晶振部分
左边是高速晶振(High-Speed External Clock, HSE),右边是低速晶振(Low-Speed External Clock, LSE)。这两个晶振的主要用途如下:
高速晶振(HSE):
- 主要时钟源:HSE 通常用作单片机的主要时钟源,可以通过内部的时钟倍频器(PLL)来提供用于 CPU 和外设的高速时钟信号。
- 精确时钟需求:对于需要精确时钟的应用,比如 USB 通信或者需要稳定时钟的通信接口(如以太网),HSE 提供了比内部 RC 振荡器更稳定、更精确的时钟信号。
低速晶振(LSE):
- 实时时钟(RTC):LSE 主要用于实时时钟(RTC)和看门狗(Independent Watchdog)等低功耗功能。由于这些功能即使在单片机处于低功耗模式时也需要继续运行,因此需要一个低频率的稳定时钟源。
- 低功耗操作:LSE 由于其低频率特性,非常适合在低功耗模式下运行,有助于减少整体功耗。
那为什么内部晶振精度会比外部晶振差很多呢?
- 内外晶振材料是不一样的,芯片的材料是硅,晶振是石英。这俩封装在一起的成本太高了。内部晶振一般是集成在微控制器内部的 RC(阻容)振荡器或者 LC(感容)振荡器。而外部晶振一般是用石英晶体制作的。
- 内部晶振依赖于电子元件的充放电周期来产生震荡,受环境温度,电源电压变化以及制造过程影响较大。外部晶振是利用石英晶体的压电效应来产生稳定的振荡频率,对温度和电压变化的敏感度比较低。
在立创梁山派·天空星中,我们用的晶振都是 YXC(扬兴晶振),具体测试如下:
100 脚芯片兼容部分
我们的开发板在设计之初就充分考虑到了芯片的兼容性问题,以适应国内外市场上 32 位单片机的多样化。正如国内 32 位单片机市场的迅猛发展,各种单片机层出不穷,形成了一个多姿多彩的技术生态。我们鼓励大家在自己的技术和经济条件允许的范围内,尽可能地支持和使用国产芯片。这不仅是对国内创新能力的信任,也是对国产半导体产业发展的实质支持。
我们的开发板设计灵活,能够适配市场上多个厂商生产的 100 脚封装的单片机。这样的设计理念旨在鼓励大家根据自己的具体项目需求和预算,选择最适合的微控制器,无论是国际品牌还是国产厂家。随着国产芯片使用者的增多,我们相信这将大大促进国内半导体技术的创新步伐,进而推动整个行业的进步。
对于学生和初学者而言,我们建议选择资料丰富、社区支持好的芯片作为起点。在我们提供的芯片列表(不只兼容这些)中,每一款单片机都有其独特的优势,但在功能和性能上大同小异。一旦掌握了其中一款芯片的编程和应用,对于其他芯片的学习也会变得轻松许多。这样的策略不仅降低了学习的门槛,也为将来转向更复杂或专业化的项目打下了坚实的基础。无论是正在追求教育目标的学生,还是希望将创意转化为现实的专业工程师。通过选择我们的开发板,您都能够享受到嵌入式开发的乐趣,并为国内半导体产业的繁荣贡献自己的一份力量。
针对部分引脚做了兼容处理,所以如果你收到的板子有一些阻容没贴,这并不是缺陷或错误,而是一种设计上的选择,以便于在不同的配置或使用不同芯片时,可以灵活地添加或去除这些元件。原理图中的阻容上面有一个 X 符号的,就是默认不贴的器件。大家在日常设计板子时也可以学习这种设计思路,这样当某一款芯片涨价过于离谱,需要更换供应商时,不至于需要重新改板。
在原理图中对参考电压的处理也进行了精心设计,您可以在原理图右上角找到 VREF+
的相关配置。我们提供了三种不同的参考电压选择,大家可以通过焊接或不焊接 R1
、R2
和 R4
这三个电阻来选择使用哪一路参考电压。
- 第一路是板载的高精度参考电压源,这对于需要精确模拟信号处理的应用是非常重要的。高精度参考源可以提供稳定的电压基准,这对于模拟数字转换器(ADC)和数字模拟转换器(DAC)的准确性和性能有着直接的影响。
- 第二路是将参考电压引出到排针,这样做提供了极高的灵活性,使大家能够根据自己的需求接入不同的外部参考电压源。对于追求极致性能的用户来说,这意味着大家可以选择使用市场上可用的最高精度的参考电压源。
- 第三路则是利用主电源通过磁珠和电容来提供的电压基准。这种设计有助于滤除可能影响参考电压稳定性的高频噪声,是一种既经济又有效的解决方案。也是低配版的默认选择。
供电部分
TYPE-C 部分
从左上角可以看到,TYPE-C 输入的 5V 和排针输入的 5V 是短接在一起的,所以大家在连接电脑时请谨慎对排针供电,这样做主要是节省成本,让排针输入和 USB 输入共用一个过流保护和防反接保护。
在上图的左边就是 TYPE-C 了,两个 CC 脚都接入了 5.1K 的下拉电阻,具体为什么可以去看看 TYPE-C 规范文档。如果是 A 口供电的话不焊接这两个 5.1K 下拉电阻是 OK 的;当用 C 口供电时,没有这两个下拉电阻,开发板将不会被供电。
中间的元件是一个来自 BORN(伯恩半导体) 的 ESD 保护器件,同时还内置了一个钳位二极管。他与右边的自恢复保险丝配合就可以实现下面的这些保护。
- USB 数据口静电防护:可以看到 USB 数据的 D+ 和 D-接到了防护器件的 IO 上。可以看到静电防护部分就是由多个二极管指向同一个地来实现的。在正常条件下这些二极管是不导电,但在遇到高电压时会导通,将电流迅速导向地线。他们就是用来响应高电压尖峰的,ESD 事件的持续时间非常短,通常在纳秒级别。保护器件能够在极短的时间内响应,从而保护电路不受瞬间高电压的影响,保护了我们的芯片引脚和电脑 USB 接口。
- 钳位(过压)保护:上图的 ESD 保护器件内置了一个钳位二极管,在正常电压条件下,钳位二极管处于高阻态,对电路的正常工作几乎没有影响。当电路中的电压超过钳位二极管的设计激活电压时,器件迅速从高阻态转变为低阻态。在低阻态时,钳位二极管允许电流流过,从而将过高的电压“钳位”在一个安全的水平。实测过压保护约在 13V 左右生效,我们选用的 CJ(江苏长电/长晶) 的 SCJA1117B-3.3-A 最大输入电压为 20V,所以满足设计需求。
- 过流保护:在正常工作条件下,自恢复保险丝的电阻很低,允许电流正常流过。当流过自恢复保险丝的电流超过其额定电流时,由于电流过大导致的热量会使 PTC 热敏电阻器迅速升温。随着温度的升高,PTC 热敏电阻器的电阻会增加,这是因为它们是正温度系数元件,即电阻随温度升高而增加。电阻的增加导致通过自恢复保险丝的电流显著减少,从而限制了电流,防止过流对电路造成损害。当过流条件消除,电路中的电流下降,自恢复保险丝开始冷却,其电阻值会逐渐降低,最终恢复到低电阻状态,允许电流再次正常流过。大家可以自行做个小实验,当电路正常工作时,用热风枪对着自恢复保险丝吹,自恢复保险就会生效了。
- 防反接:TYPC-C 是可以双向随意插的,反接可能性几乎没有。这里的防反接主要是防止大家在用排针供电时接反。从上图可以看到,当电源正确输入时,二极管不会被导通。当供电电源接反时上图中 ESD 防护器件的二号引脚就变成了正极,自恢复保险丝上面的
USB_IN_+5V
就变成了负极。那么这个钳位二极管就会导通,所有的电流就会都加在自恢复保险丝上面,剩下的就和上面的过流保护一样了。
中间下方的那个 R13
,1.5K 的上拉电阻主要是为了兼容 STM32F1。这个上拉电阻是用来告诉 USB 主机,已经连接了一个全速设备。STM32F1 系列是没有内置这个上拉电阻的。而 STM32F4 系列在芯片内部集成了可软件控制的上拉电阻,我们可以通过配置 USB 控制寄存器来启用或者禁用。对于 STM32F4 和大部分国产元件中这个电阻默认是不贴的。
LDO 电源
这里用的 LDO 是 CJ(江苏长电/长晶) SCJA1117B-3.3-A,输入输出均配有钽电容。钽电容价格高,但是他的容量密度高,等效串联电阻(ESR)低,有助于减少电压波动和噪声,从而提高电压稳定性。低 ESR 对于维持 LDO 稳压器的稳定输出和提高瞬态响应特别重要。详情请参考这个芯片的数据手册。
其他供电
- 电源指示灯:用来提示用户供电是否正常,当 LDO 正常输出 3.3V 时,这个灯就会亮起来。
- RTC 电池:默认是不贴的,大家可以买料回去自行焊接。它的主要作用是在主电源断电的情况下维持 RTC 的运行,确保时钟能够持续计时。
- 外部电压参考:这个就是前面介绍的第一路电压基准,可以看到他的地是模拟地,这个模拟地是通过一个 0 欧电阻和数字地单点相连的。
开发板调试接口
这里用的是双排 10P 的间距 2.54mm 的排针,方便大家直接用平时常见的杜邦线连接,推荐大家购买一些硅胶杜邦线使用,下载速度可以更快。可以看到在 SWCLK 和 SWDIO 的对面就是接地线,当使用双排线时这样可以让电路回流路径更短,经过实测可以跑满 Jlink PRO 的满速 50M(更高的速度没条件测)。
SWO 接口可以让我们当做串口输出使用,也可以让我们在 MDK(EKIL)的硬件调试中使用里面的逻辑分析仪查看变量。
引出了串口 1,方便调试程序使用。
电源部分 5V 输入和 3.3V 都有引出。
按钮和用户 LED
开发板板载了一个 LED 指示灯,是绿色的。为了节约 IO 口资源,这里用的是 PB2 也就是 BOOT1 作为控制 LED 亮灭的引脚。
这个引脚的主要功能是在复位后决定微控制器的启动模式。具体来说,它用于选择系统 SRAM 作为启动空间。一般是用来作为程序在内存中进行调试使用的,一般情况下很少用到,所以在本开发板中就直接用 R30
下拉电阻给强制下拉了。默认是不会进入内置 SRAM 启动的。
当系统启动之后,这个 BOOT1 就可以作为普通 IO 口(PB2)使用了。
板载三个按键:
- 复位按键:当 NRST 这个引脚被输入低电平时,就会触发单片机系统的硬件复位。图中的
R24
上拉到 3V3,确保按钮没按下时不会触发复位电平。当按键按下时,这个引脚的电平被拉低,使得系统复位。 - 用户按键:外置下拉电阻,当按键按下时引脚被输入高电平,可被用户编程使用。
- DFU 按键: (Device Firmware Upgrade),在上电前按下,可以让单片机进入系统 BootLoader,在此状态下可以连接对应单片机厂家提供的上位机,进行简单的烧录测试。
TF 卡与 SPI FLASH
左边的三个 0 欧姆排阻是为了实现 IO 口的无冲突引出,当用户 IO 口不够用且不需要使用 TF 卡或者 SPI FLASH 时就可以拆下这些 0 欧排阻。
TF 卡
TF 卡适合用来记录长时间的大量数据。
在实际工程中,一般用来做大容量的数据存储,长时间的数据记录,系统的更新和配置参数,存放较大文件以及进行实时的数据备份。
这里采用了 SDIO 接口的自弹式 TF 卡座,这种卡座设计允许 TF 卡插入后自锁,再次按下后弹出来,为了增强功能性,我们还连接了 TF 卡检测 IO 口集成到了电路中,这个检测口能够实时监测 TF 卡的插入状态。当 TF 卡被插入时,检测 IO 口会向微控制器发送信号,微控制器随后可以执行必要的初始化过程,以确保数据可以被顺利读取和写入。同样地,当 TF 卡被移除时,检测 IO 口也会通知微 控制器,后者则可以执行安全卸载程序,以保护存储在卡上的数据不受损坏。这种设计不仅提高了系统的可靠性,也为用户提供了额外的便捷,使得 TF 卡的使用更加直观和安全。在低配版本上,TF 卡座旁边的 ESD 防护默认是不贴的。
SPI FLASH
SPI FLASH 适合用来做快速的少量数据。
在实际工程中,一般用来做固件存储,配置参数的保存,简单的数据日志,屏幕字库,以及一些简短的文件。
这里用的是 GigaDevice(兆易创新)的 GD25Q32,低配版默认是不贴的,大家也可以选择更大容量的 SPI FLASH 自行焊接。
双路 80PIN 排针
这两个排针的布局和电源部分是和梁山派兼容的。上面的就是引出 IO 口的具体定义。