2020年深圳大学电子设计大赛作品报告
题目名称:32位单片机核心板设计
摘要
【摘要】设计主要分为四个模块:STM32核心板、OLED显示屏、五线四项步进机、TFT.
STM32
核心板除了核心单片机之外,包含了基础电路一个复位按键、三个独立按键、两个LED、下载接口以及串行通信接口、降压电路、晶振电路、JTAG/SWD调试接口;五线四相步进机接风扇,实现通过按键控制风扇的转速;OLED以及TFT彩屏模块已通过引脚排针引出。本设计已初步实现32位单片机核心板的基础功能以及新增模块正常使用。
【关键词】STM32核心板;OLED;五线四项步进机;TFT
目 录
1.需求分析...........................................................................................................................
[2\. 方案选择与论证\\\\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. \](#_Toc37249815)
[3\. 系统架构及功能描述\\\\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. \](#_Toc37249816)
[4\. 理论分析与计算\\\\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\. \](#_Toc37249817)
[5.电路图和PCB\\\\\.................................................................................................................. \](#_Toc37249818)
[6.调试与测试结果\\\\\.............................................................................................................. \](#_Toc37249819)
[结束语\\\\\.................................................................................................................................... \](#_Toc37249820)
[【参考文献】\\\\\...................................................................................................................... \\\\\](#_Toc37249821)
32位单片机核心板设计
电子与信息工程学院:何乃佳 专业:电子科学与技术 学号:2018161050
电子与信息工程学院:连童升 专业:电子信息工程 学号:2018132032
电子与信息工程学院:陈厚余 专业:微电子科学与工程 学号:2018163066
电子与信息工程学院:苏泳标 专业:通信工程 学号:2019282108
# 1.需求分析
功能要求:
本设计除核心单片机外,包含1个复位按键、3个独立按键、2个LED、下载接口以及串行通信接口,OLED显示驱动、并通过引脚引出部分或全部IO端口,且可实现电机、小车、灯盘和彩色触摸屏等功能。
技术性能指标;
1.
电路原理图以及PCB布局布线模块化规范化美观整齐;
2.
测试实现各模块功能正常使用,IO接口正常;
3.
制作PCB,焊接元器件完整美观。
需要准备的知识与材料:
1.
学习立创EDA平台使用;
2.
学习32位微控制器开发原理,相关的硬、软件知识如原理图绘制,编程测试等;
3. PCB
的设计,包括元件布局、元件布线、添加泪滴、覆铜及打样等知识。
4.需要的主要材料:32位单片机核心板原理图及相应的PCB、STM32F103RCT6芯片(关于芯片选择详见下文)、五线四相步进电机ULN2003D1013TR、TFT彩屏、OLED显示屏、PCB板。其余次要材料如电阻、电容者,不再赘述。
# 2\. 方案选择与论证
对于本题需要首先解决的重要问题——MCU的选取。我们提出了两种方案:
1. STM32系列芯片。
2. AVR32系列芯片。
为方便后续工作的顺利进行,我们进行了全面细致的对比分析,现论述如下:
AVR单片机的主要优点在于高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作 业。然而,AVR的片内RAM的地址区间为 0~00DF(AT90S2313) 和0060~025F(AT90S8515、AT90S8535),它们占用的是数据空间的地址,这些片内RAM仅仅是用来存储数据的,通常不具备通用寄 存器的功能。当程序复杂时,通用寄存器R0~R31就显得不够用。并且,AVR没有位操作,只能以字节形式来控制和判断相关寄存器位。再者,通过查阅资料,我们知道使用C语言对其编程时与我们习惯的51C语言有较大差别,这是不利于我们高效使用的。
上述各方面在相比之下,STM32系列都略胜一筹。并且,STM32系列单片机可集成丰富的片上资源,而且电路覆盖面广却不复杂。其次,可以基于固件库开发,可以采用C语言编程,资料多,性价比高。
进一步考虑到功耗、价格、熟悉程度以及芯片资源等多种因素,综上所述,我们小组选择的是ST(意法半导体)公司的STM32F103RCT6芯片。
****
# 3\. 系统架构及功能描述
3.1
STM32F103芯片
STM32F103是基于一个支持实时仿真和嵌入式跟踪的32 位 CPU 的微控制器,STM32F1系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。芯片集成定时器,CAN,ADC,SPI,I2C,USB,UART,等多种功能。
3\.2
晶振电路模块
高速外部时钟信号由8MHz无源晶振提供,低速外部时钟信号由32.768KHz无源晶振提供,并且分别加上两个负载电容。通过对芯片进行软件设计可以将晶体振荡器的频率分频为所需的频率。
3\.3 复位电路模块
STM32F103芯片的14号引脚连接到主控芯片的复位引脚(nRST)上,按下复位键S2时,系统将会复位到初始的状态。
3\.4 通信下载接口电路**
通信下载接口电路选择USART串行通信,+5V引脚接有红色二极管判断上电情况
3\.5
JTAG/SWD调试接口
设计了JTAG/SWD调试接口,帮助硬件调试
3\.6 LED与独立按键电路
LED电路选择蓝绿两种LED灯,独立按键电路默认高电平。
3\.7 电压转换电路
此外,电压转换电路也很重要,虽然大部分IO口都能承受5V电压,但有些不行,所以采用 AMS1117芯片加压为
3V3
3\.8 OLED显示屏接口电路
对于OLED的设计,我们小组决定与核心板分开设计,在核心板上留有OLED显示屏接口,其CS、RES、SCK、DIN引脚都上拉,另外建一原理图来画OLED驱动电路,采用的是0.98寸基于SSD1306驱动芯片的OLED,以4线SPI模式通信。
3\.9 五线四项步进机模块
使用ULN2003D达林顿晶体管,留有5个输入输出引脚,其中OUT1-4引脚用来控制五线四项步进机,OUT5用来接喇叭。使用了6脚排针,1号脚接5V,用来为电机和喇叭供电。
3\.10 TFT彩屏触摸模块
TFT彩屏触摸接口,用14脚排母,引出所有引脚,T\_IRQ、T\_DIN、T\_CS、T\_CLK、TFT\_SCK、TFT\_SDI、TFT\_RST、TFT\_CS引脚上拉。打算外接的彩屏为2\.8寸基于ILI9341控制芯片的TFT屏,以SPI模式通信。
3\.11 其他一些设计电路
(1**\*\*)BOOT0和BOOT1引脚下拉,从用户闪存启动,并且为BOOT0预留接高电平以便从系统存储器启动。
(2**\*\*)为了能起控制作用也设计了外扩引脚,把部分引脚引出来。
****
****
4\. 理论分析与计算
STM32核心板:
l STM32的内核为
Cortex-M3 CPU
架构如右图所示:
本设计芯片引脚图如下图所示
l GPIO模式:其允许通过配置软件将GPIO引脚配置成8种模式,而STM32的通用输入/出脚通常分为
GPIOC GPIOD…GPIOG.
l AMS1117降压电源模块:稳压
3.3V
l 外设ADC转换电路:STM32F103RCT6挂载的ADC外设,其内嵌的12位ADC共有3个且彼此相互独立,同时每一个ADC均设有6个外部通道。
拓展模块:
●
电机接口电路:
使用ULN2003D达林顿晶体管,留有五个输入
输出引脚,其中OUT1-4引脚控制五线四项步
进机,OUT5可接喇叭,通过6脚排针从
STM32
核心板引出,1号脚接5V用于电机跟喇叭供电。
步进电机型号为28BYJ-48,是一种步进减速电机
下图中,中间的部分是转子,由一个永磁体组成,边上的是定子绕组。当一组定子通电时,会产生一个方向的磁场,当定子产生的磁场和转子的磁场不是一个方向时,定子和转子间会产生一个扭力是转子运转。依次改变绕组的磁场就会使转子正转或者反转,比如通电的方向为A-B-C-D时,电机正转,反方向通电时,电机反转
一般电机的驱动方式为八拍方式驱动:
A AB B BC C CD D DA
还有一种方式为四拍方式驱动:
AB-BC-CD-DA-AB
28BYJ-48步进电机的电机步进角为5.625度,四项八拍驱动,且该步进机为减速步进机,带减速齿轮,减速比为1:64,因此输出轴的步进角为5.625/64=0.08789度。从上可知,对于电机,64个脉冲转动一圈,对于输出轴,4096个脉冲一圈。若控制买个脉冲间隔1ms,则输出轴上一个周期的时间便是4.096s,通过改变脉冲频率,便可改变转速。
●
TFT彩屏用14脚排母:
引出所有引脚,T\_IRQ、T\_DIN、T\_CS、T\_CLK、
TFT\_SCK、TFT\_SDI、TFT\_RST、TFT\_CS引脚上拉,
外接2.8寸基于ILI9341控制芯片的TFT屏,SPI通信。
●
OLED显示屏:
采用0.98寸基于SSD1306驱动芯片的OLED,CS、
RES、SCK、DIN引脚上拉,以四线SPI通信,另外
本设计将OLED模块与核心板分开设计,在核心板上
预留OLED显示屏接口,引脚引出。
| | | |
| --- | --- | --- |
| 序号 | 名称 | 说明 |
| 1 | VCC | 电源(3.3V) |
| 2 | CS | 片选信号,低电平有效,连接 F103 核心板的PB12 |
| 3 | RES | 复位引脚,低电平有效,连接 F103 核心板的PB13 |
| 4 | D/C | 数据指令控制,DC=1,传输数据,DC=0,传输指令连接 F103 核心板的PC3 |
| 5 | SCK | 时钟线,连接 F103 核心板的PB14 |
| 6 | DIN | 数据线,连接 F103 核心板的PB15 |
| 7 | GND | 接地 |
OLED 显示模块是一款集 SSD1306 驱动芯片、0.96 寸/128*64 分辨率以及驱动电路为一体的集成显示屏,我们通过 SPI 接口对 OLED 显示屏进行控制。将 OLED 显示屏插在 所设计的STM32 核心板上的 OLED 显示屏接口,即可通过核心板实现对 OLED 显示屏的控制。
● TFT彩屏
本次使用的彩屏是以ILI9341驱动,采用14Pin SPI通信的。
ILI9341是一个用于TFT液晶显示的单芯片控制驱动器,具有262,144色的
\[240xRGB\]\(水平\)x320\(垂直\)像素显示解决方案。它的组成包括一个720通道的源极驱动器,一个320通道的栅极驱动器,172800字节用于图形显示的GRAM,以及供电电路。
ILI9341有精确的电压(软件)控制,来支持全色,8色显示模式和睡眠模式,这使得ILI9341成为一个理想的中小型手提产品的LCD驱动器,比如数字电话,智能手机,MP3和PMP。
内部模块结构图如下:
# 5.电路图和PCB
图一为本次设计的32位单片机核心板的原理图:
本设计的32位核心板采用STM32F103RCT6核心板,基础模块基本实现,拓展模块如OLED模块的具体设计如图二所示,五线四相步进机以及TFT彩屏模块通过引脚排针引出,电机使用ULN2003D达林顿晶体管,OUT1\-4用于控制五线四相步进机;TFT彩屏用14脚排针引出所有引脚,T\_IRQ、T\_DIN、T\_CS、T\_CLK、TFT\_SCK、TFT\_SDI、TFT\_RST、TFT\_CS引脚上拉。
#
6.调试与测试结果
基础部分中的复位按键,独立按键,led,下载接口和串行通信接口,oled
驱动,外扩引脚均完备,此外还拓展了一些,如步进电机、喇叭等等。
6.1 LED
使能控制LED的引脚,写1点亮,写0
熄灭。
若要实现流水翻转可起初只点亮一个led,然后反转两个led
的输出信号即可
6\.2
独立按键
烧写按键控制led变换来测试按键是否正常。对于该板独立按键的连接引脚,因为接了电源,默认高电平,当按下按键,IO
为低电平。(效果与视频演示时展现)
6.3 OLED
显示屏模块:
本设计中利用 OLED 显示原理以及 SSD1306 芯片工作原理实现OLED显示器显示,并编写程序基于 SSD1963 芯片控制 OLED 模 块驱动,最终在应用层通过调用 API 函数验证 OLED
驱动是否能够正常工作。
OLED 显示模块支持的 SPI 通信模式需要 4 根信号线和 1 根复位控制线,分别是:OLED片选信号 CS、命令/数据控制信号 D/C、串行时钟线 SCK、串行数据线 DIN 以及复位引脚 RES。 因此,只能往 OLED 显示模块写数据而不能读数据,在 SPI 通信模式下,每个数据长度均为 8 位,在 SCK 的上升沿,数据从 DIN 移入到 SSD1306,并且是高位在前。D/C 线用作命令/数据
控制。
OLED 显示流程如下。首先,配置相关 GPIO,其次,关闭显示,配置 SSD1306, 开启显示,接着清屏,然后写 STM32 上的 GRAM,最后,将 STM32 上的 GRAM 更新到 OLED 上,就完成了 OLED
的显示。
测试结果如下图
6\.4
步进电机模块
首先按照顺序接好线,然后步进电机的代码编写。使能四个输出引脚,采用八拍,所以声明数组{0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}
进入循环,按照数组对应引脚值输出,每一状态延时一段时间,即可控制电机转动,当反方向读取数组,电机反转。延迟时间为1ms时,一个周期变为4.096s。
6.5
喇叭
单片机控制喇叭播放音乐,是一件有趣事,这其中有太多的知识,不仅关于单片机控制还有音乐方面的知识。
乐曲演奏的两个基本参数是每个音符的频率值(音调)及其持续的时间(音长)。因此只要控制输出到扬声器的激励信号的频率和持续时间,就可以发出连续的音乐声。
1. 音调的控制
频率的高低决定音调的高低。简谱中从低音1 到高音1
的每个音名对应的频率如下表所示。
为了减小输出的偶次谐波分量,输出到扬声器的波形应为对称方波,因此在扬声器前要加一个二分频。表中给出了各音阶频率时计数器不同的预置数。采用加载预置数实现分频的方法比采用反馈复零法节约资源,实现起来也容易些。
2. 音长的控制
音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。
根据每一个节拍常数,利用定时器延时一定时间,使该段时间内处于同一频率。
6.6 TFT
彩屏
(以上实现功能都会在视频中进一步展示。)
# 结束语
在本次设计中,我们从认识STM核心板的最基本结构开始,到学习设计PCB板、元器件布局、布线,再到学习书写程序并验证功能,几乎将设计工作从始至终地实践了一次。此外,因为疫情原因,我们还额外学习到仿真的知识。毫不夸张地说,这个题目让我们收获了数不胜数的重要知识。特此将要点书写成报告,并将线上展示作品成果。在此感谢各位老师的悉心指导和耐心审阅!同时感谢立创提供的平台和经济上的优惠支持!
# 【参考文献】
[1]
唐浒,韦然等.电路设计与制作实用教程——基于立创EDA.北京:电子工业出版社,2019.
[2]
李辉.STM32单片机原理分析与硬件电路设计.陕西,2018.
[3]基于STM32的单片机设计,百度百科,
[http://www.51hei.com/bbs/dpj-120138-1.html](http://www.51hei.com/bbs/dpj-120138-1.html).
[4]0.96
寸OLED12864显示屏设计方案,CSDN,
[\\\\\https://blog.csdn.net/chengoes/article/details/105743754?from=groupmessage,groupmessage\\\\\](https://blog.csdn.net/chengoes/article/details/105743754?from=groupmessage,groupmessage)
.
ID |
Name |
Designator |
Footprint |
Quantity |
BOM_Supplier |
BOM_Supplier Part |
1 |
22pF |
C13,C14 |
C0603 |
2 |
LCSC |
C1653 |
2 |
32.768KHz |
Y2 |
FC-135R_L3.2-W1.5 |
1 |
LCSC |
C32346 |
3 |
ULN2003D1013TR |
U3 |
SOIC-16_L9.9-W3.9-P1.27-LS6.0-BL |
1 |
LCSC |
C61273 |
4 |
220S-1*14P H=8.5MM Ytype Gold-plated |
H3 |
HDR-TH_14P-P2.54-V |
1 |
LCSC |
C124407 |
5 |
10K |
R23,R24 |
R0603 |
2 |
LCSC |
C15401 |
6 |
1K |
R9 |
0603 |
1 |
LCSC |
C25585 |
7 |
HDR-M-2.54_1x6 |
J5 |
HDR-M-2.54_1X6 |
1 |
LCSC |
C190819 |
8 |
68000-102HLF |
J6 |
68000-102HLF |
1 |
LCSC |
C168673 |
9 |
100nF |
C18,C19,C20 |
0603 |
3 |
LCSC |
C14663 |
10 |
0805G (Green) |
LED2 |
LED0805-FD |
1 |
LCSC |
C2297 |
11 |
8MHz |
Y1 |
OSC-SMD_L11.5-W4.8-P9.50 |
1 |
LCSC |
C12674 |
12 |
SMD Tactile Switch6*6*6mm |
KEY3,KEY2,KEY1 |
SW-SMD_4PIN-L6.00-W6.00 |
3 |
LCSC |
C23873 |
13 |
100 |
R19,R22 |
R0603 |
2 |
LCSC |
C22775 |
14 |
22uF |
C9,C10,C12,C7 |
C0603 |
4 |
LCSC |
C478860 |
15 |
10pF |
C16,C15 |
C0603 |
2 |
LCSC |
C237161 |
16 |
10uH |
L1 |
0603 |
1 |
LCSC |
C1035 |
17 |
10uH |
L2 |
L0603 |
1 |
LCSC |
C1035 |
18 |
AMS1117 3.3 |
U2 |
SOT-223_L6.7-W3.5-P2.30-BR |
1 |
LCSC |
C347222 |
19 |
10uF |
C6 |
C0805 |
1 |
LCSC |
C471371 |
20 |
SS210 |
D1 |
SMA_L4.3-W2.6-LS5.2-FD |
1 |
LCSC |
C14996 |
21 |
A2541HWV-7P |
H1 |
HDR-TH_7P-P2.54-V_A2541HWV-7P |
1 |
LCSC |
C225504 |
22 |
PWR |
LED-RED(0805) |
LED0805-RD |
1 |
LCSC |
C131244 |
23 |
XH-6A |
J4 |
XH-TH_6PIN-V-PITCH2.50-R |
1 |
LCSC |
C5663 |
24 |
Header-Male-2.54_1x20 |
J3,J2,J1 |
HDR-TH_20PIN-V-MALE-PITCH2.54 |
3 |
LCSC |
C50981 |
25 |
17-21/BHC-XL2M2TY/3T |
LED1 |
LED0805-RD |
1 |
LCSC |
C72035 |
26 |
10K |
R13,R14,R12,R11,R10,R2,R28,R30,R31,R32,R33,R34,R35,R36,R1,R3,R4,R5,R6,R7,R8,R15 |
0603 |
22 |
LCSC |
C25804 |
27 |
Switch,3*6*2.5Plastic head white,260G, 0.25mm,SMD |
RST1 |
SWITCH-3X6X2.5_SMD |
1 |
LCSC |
C71857 |
28 |
HDR-IDC-2.54-2X10P |
J8 |
IDC-TH_20P-P2.54-V-R2-C10-S2.54 |
1 |
LCSC |
C3405 |
29 |
330 |
R21,R20 |
0603 |
2 |
LCSC |
C23138 |
30 |
100nF |
C11,C17,C1,C2,C3,C4,C5,C8 |
C0805 |
8 |
LCSC |
C476766 |
31 |
STM32F103RCT6 |
U4,U1 |
LQFP-64_L10.0-W10.0-P0.50-LS12.0-BL |
2 |
LCSC |
C8323 |
展开
7
18
收藏到专辑