外设知识学习笔记
-
推挽、开漏、高阻
-
GPIO的三种输出状态:
-
推挽:(一般情况)
高电平时,把电流“推”出去。
低电平时,把电流“挽”回来。
”推挽“强调的时电流的动作。
-
开漏:
将上面的MOS管Q1视为开路。
还需接入一个上拉电阻(高阻)来保证电压相同。
适用场景:
使用推挽,控制器的电压太高会把芯片烧毁。需要使用开漏保护芯片。
也支持很多个GPIO对一个芯片的控制
-
-
串口通讯
-
微控制器连接到电脑需要3根线。TX-RX,RX-TX,GND
-
数据:10位,除了起始位和停止位之外,剩下的8个是二进制数据
-
波特率:1秒之内发送 x 位数据,x就为波特率
-
接收时间:\(\frac{1s}{x}\)
-
函数:
Serial.begin(x);//波特率 Serial.println('C');//数据
-
RS232(Recommended Standard推荐标准)
加入一个MAX232芯片,就能将TTL电平转换为RS232的电平了。
电压处于3~15V电压,在RS232中都算高电平。
RS232是负逻辑:
232芯片收到的电压是5V,它输出-12V。
收到0V,它输出+12V。
抗干扰能力增强,上下相差20V,传输距离也更远。
-
RS485标准
485是在232的基础上又加了一个电平转换芯片。
485可以将TTL信号转化为差分信号,也可以将差分信号转化为TTL信号
差分信号:用两根信号线的差值来表示逻辑0和1,抗干扰能力强
485采用双绞线结构,如果受到干扰,则两根信号线一起受到干扰。电压差值基本保持不变
485可以进行“一主多从”的组网通讯,串口和RS232只能进行点对点的通信。
-
-
I2C通讯协议(最简单的总线通讯)
-
I2C一般采用 “一主多从” 模式,单片机是主机,其他设备都是从机。
-
起始位信号的发送:在时钟信号为高电平期间,数据信号完成从高到低的跳变(下降沿)
-
地址码:发送7为地址码(128种结果)
-
逻辑1的传输:时钟信号为高的期间,数据信号始终为高
-
逻辑0的传输:时钟信号为高的期间,数据信号始终为低
-
读写数据位:
- 写数据:0
- 读数据:1
-
应答信号:
由从机发送给主机
- 收到:0
- 没收到/读取完成:1
-
-
寄存器地址:8位,放入寄存器地址。后面是寄存器返回的应答信号
-
数据位:8位,断电后仍可保留,发送完成之后再给主机发送应答信号0.
-
停止信号:
当时钟信号为高时,数据信号需要完成由低到高的跳变。
-
读数据帧:
-
I2C总线对与设备的IO口做了一些阉割,去掉了上面的MOS管,这样就不会存在短路的情况。
-
在总线上加入上拉电阻,总线默认处于高电平状态。(类似于开漏输出)
-
上拉电阻取值:
- 取值过大,会出现寄生电容(爬坡,信号失真)
- 取值太小,下面的MOS管无法到达高电平
-
其实I2C的抗干扰能力是比较弱的,只适用于同一块电路板上的芯片之间进行通信。不适合超过30cm的电路板之间的通信
-
-
SPi通讯协议
-
SPi通讯采用一主多从模式
-
SS(片选信号线,确定给哪个从机通讯,低电平时片选有效)
-
SCK(时钟信号线,主设备产生)
-
MOSI(Master Output主机输出,Slave Input从机输出)
-
MISO (主设备接收数据)
-
93C46:一个EEPROM存储器,可以经受100次擦写,数据可以保存一百年
-
SPi是串行同步通讯
-
有几个上升沿,就会传输多少个数据
-
读写数据的方式:
-
-
CAN总线(Controller Area Network控制器局域网)
-
ECU:电子控制单元。
-
CAN协议:ECU之间进行通讯
-
CAN总线 : 连接ECU,大大减少了线束的长度
-
CAN收发器: 将普通信号转化为差分信号,也可以把接收到的差分信号转化为普通电平信号
-
识别码:具体发给的是哪个ECU
-
RTR位:
- 远程请求帧:1
- 数据帧:0
-
控制码:控制数据长度
-
LDE位
- 标准格式:0
- 扩展格式:1
-
空闲位:0
-
DLC位:数据长度编码
DLC是几,后面的数据位就是几个字节.
-
-
CRC码:循环冗余校验位
计算出的和收到的CRC不一致,说明数据存在问题,会重新发送一遍数据帧.
-
CRC界定符:1 为了把后面的信息隔开
-
ACK码
- ACK确认槽,发送1,回复0表示应答
- ACK界定位,1,隔开数据
-
7位结束位,都是1
-
-
识别码代表了优先级,当总线出现逻辑1和逻辑0时,总线会被置为逻辑0,有一个数据帧将不再发送了.
-
-
模数转换器(SAR\ADC)
-
AD转换:
- 取样保持
- 量化和编码
-
ADC的类型:
- 逐次逼近型
- 并联比较型
- 双积分型
- \(\Delta\)-\(\sum\) 型
- 流水线型
-
逐次逼近型:
主次逼近寄存器确定数字量的过程中用到了二分
-
-
定时器
-
基本定时器:TIM6\TIM7.只有简单的定时功能 ( 以及触发一个DAC )
-
通用计时器:TIM2\TIM3\TIM4\TIM5, 多了一些功能
-
高级定时器:TIM1\TIM8, 在通用计时器的基础上,多了刹车信号输入,死区时间互补输出等工业电机的功能.
-
预分频器: 通过分频将若干个信号合并为一个信号.通过计数时钟脉冲的个数来计时.
- 影子寄存器: 我们设置的新预分频值,要等到下个技术周期才生效.
-
自动重装载寄存器.(可以自己选择是否使用影子寄存器)
将寄存器定时m个脉冲,计数器就会从0数到m-1,然后重置定时并触发中断.
-