一百三十一、开发板介绍
131.1 核心板介绍
131.2 拓展板
一百三十二、相关硬件基础内容介绍
132.1 PCB
PCB( Printed Circuit Board),中文名称为印制电路板,又称印刷线路板,
是重要的电子部件,是电子元器件的支撑体,是电子元器件电气相互连接的载体。
由于它是采用电子印刷术制作的,故被称为“印刷”电路板。
132.2 电路板丝印
- 可以通过不同元器件的丝印标号在电路原理图中对应的硬件原理图
电路板丝印是用丝网bai印刷技术来制作印刷电路板。 丝印指得是丝印层,画pcb的时候是分层的,其中包含文字的那一层,用来标注元件或者添加其他信息,这一层叫丝印层。通过丝网印刷方式将元件外形、序号以及其他说明性文字印制在元件面或焊锡面上, 以方便电路板生产过程的插件(包括表面封装元件的贴片)以及日后产品的维修操作。
- 不同的电路元件的丝印图:
Ux : 常作为开发板上芯片的标号 Rx : 电阻 Cx : 电容 Dx : 二极管 Qx : 三极管
- 标准器件的丝印的编号:
U? --> 芯片 C? --> 电容 R? --> 电阻 L? --> 电感 D? --> 二极管 Q? --> 三极管 J? --> 接插件 CON? --> 接插件
- 非标准器件的丝印编号:器件的编号的名字可以自定义
FAN1 --> 风扇 LD1 --> LED1灯 KEY1 --> 按键1
- 网络标号
在原理图上,器件引脚上边红色的字,就是网络标号, 网络标号相同的两个引脚说明具有相同的电器连接属性, 即在PCB板上两个引脚通过导线进行连接。网络标号(net label)是一个电气连接点,一般由字母或数字组成, 具有相同网络标号的电气连接线、管脚、及网络是连接在一起的
一百三十三、GPIO讲解
133.1 GPIO概念
GPIO,英文全称为General-Purpose IO ports,也就是通用IO口。
在嵌入式系统中常常有数量众多,但是结构却比较简单的外部设备/电路,对这些设备/电路,有的需要CPU为之提供控制手段,有的则需要被CPU用作输入信号。
而且,许多这样的设备/电路只要求一位,即只要有开/关两种状态就够了,
比如:控制某个LED灯亮与灭;或者通过获取某个管脚的电平属性来达到判断外围设备的状态。对这些设备/电路的控制,使用传统的串行口或并行口都不合适。所以在微控制器芯片上一般都会提供一个“通用可编程IO接口”,即GPIO。
133.2 LED灯电路原理图分析
133.2.1 在开发板上找到LED1的丝印
- 通过查看资源拓展板,发现LED1的丝印为LD1
133.2.2 根据LED1丝印找到LED1在拓展板上的原理图
这个LED1电路原理图种有一个3.3v的电源,右边接地,
在LED1发光二极管左边接了一个电阻,用于分压限流,保护电路,右边接到一个三极管的集电极,三级管的基极网络标号为LED1
133.2.3 根据网络标号找转接板电路原理图
133.2.4 分析核心板电路原理图
通过分析,发现led1接的三极管的基极最终连接在SOC(stm32mp157aaa)的PE10管脚。
133.3 LED1工作原理分析
133.3.1 LED1工作原理
根据电路原理图分析,想要让LED1亮,只需要有电流流经发光二极管即可,需要形成闭合回路,
即需要三极管的集电极和发射极导通,这里需要三极管基极控制。
133.3.2 三极管分析
- 三极管一般有两种应用场景:
1.可以在电路里设计放大电路 2.可以充当开关 三极管分为NPN和PNP NPN:当基极有一个高电平的输入时,集电极和发射极导通当基极有一个低电平的输入时,集电极和发射极截止 PNP:当基极有一个高电平的输入时,集电极和发射极截止当基极有一个低电平的输入时,集电极和发射极导通所以在LED1电路中,只需要三极管的基极有一个高电平的输入,集电极和发射极就能导通,电流就能够顺利流经发光二极管,发光二极管就能正常工作而三极管的基极接在SOC的PE10管脚,所以只要PE10管脚输出高电平,LED1就可以亮
133.4 软件编程控制硬件原理
133.4.1 SOC对于GPIO控制的工作框图
133.4.2 软件编程控制硬件的原理
在芯片的生产厂商生产出芯片之后,会在内存空间中固化一段内存,这段内存占用了0-4G的内存寻址空间,对于这段内存中有一段内存专门用于进行硬件外设的控制,想要让外设进行工作,只需要向外设对应的这片内存中写0或者写1即可。这段空间是是属于外设的特殊功能寄存器组织
- 软件编程控制硬件的思想:
通过编程操作特殊功能寄存器,向特殊功能寄存器中写入特定的数据,就可以间接控制外设进行工作
- 通用寄存器(R0-R15 CPSR)
1.存在于CPU内部 2.cpu想要读写数据,不需要寻址,只需要基于寄存器编号操作即可 3.由ARM公司设计
- 特殊功能寄存器:
1.存在于SOC内部(内存中) 2.操作这些寄存器需要使用内存读写指令,也需要这些内存的地址 3.特殊功能寄存器由芯片厂商来实现 4.特殊功能寄存器负责完成外设功能的实现
133.5 GPIO相关数据手册分析
133.5.1 GPIO章节
-
GPIO功能描述
-
GPIO输出功能框图分析
GPIO输出可以通过,两种模式实现- 推挽输出
- 开漏输出+上拉/下拉电阻
-
mos管特性介绍
- 推挽输出
由两个互补的mos管相互配合完成高低电平的输出,推挽输出既可以输出高电平,也可以输出低电平
- 开漏输出
在输出框图种只有一个Nmos管起作用,所以只能输出低电平,想要输出高电平必须外接上拉电阻
或者
在输出框图种只有一个Pmos管起作用,所以只能输出高电平,想要输出低电平必须外接下拉电阻
- 推挽输出
-
GPIO相关寄存器介绍
- GPIOX_MODER寄存器
GPIO模式选择寄存器,一组GPIO有16个管脚,这个寄存器两位管理一个管脚功能
- GPIOx_OTYPER
用于设置GPIO的输出方式
- GPIOx_OSPEEDR
用于设置GPIO端口的输出速度
- GPIOx_PUPDR
设置上拉下拉电阻
- GPIOx_ODR
GPIO数据输出寄存器
- GPIOx_BSRR
管脚置位/复位寄存器
- GPIOX_BRR
- GPIOX_MODER寄存器
-
GPIOE基地址的确定
GPIOE_MODER->0X50006000 GPIOE_OTYPER->0X50006004 GPIOE_OSPEEDR->0X50006008 GPIOE_PUPDR->0X5000600C GPIOE_ODR->0X50006014