总线
总线是完成各个部件之间传输的一种媒介
串行/并行总线
串行总线,
在同一时刻,根据时钟线的变化,只可以收发一位数据
优点:占用引脚资源少
缺点:传输速度比较慢
并行总线,
在同一时刻,根据时钟线的变化,可以收发多位数据(1字节=8位)
优点:传输速度比较快
缺点:占用引脚资源比较多
单工/半双工/全双工
单工:要么做发送器,要么做接收器,方向是单一
半双工:可以做发送器,可以做接收器,但是不可以同时进行数据收发
全双工:可以做发送器,可以做接收器,并且可以同时进行数据收发
同步/异步
同步:双方通信时,共用一个时钟线,根据时钟线变化,完成数据收发
异步:双方通讯时,都有各自独立的时钟源,但是双方通讯时,需要保证时钟频率一致
串口配置信息(异步串行全双工总线)
配置相关内容
1、串口为串行通讯方式,代表一个时钟周期,只可以收发一位数据
2、115200代表什么,以及115200单位 单位:bps(比特率、二进制/秒)
115200代表:1S钟可以传输115200bits数据
115200倒数代表:表示收发1位数据所需要的时间
3、8N1代表什么
8:8位数据位
N:无奇偶校验位
1:1位停止位
协议
1、空闲态
空闲态处于高电平状态,总线没有进行数据传输时,总线处于空闲状态
2、起始信号
串口通信开始的标志,起始信号处于低电平状态
3、数据位
串口完成数据的收发,数据位可以设置为7位/8位/9位
4、校验位
奇校验:数据位和校验位1的个数为奇数
假设发送的数据为0x55(01010101),校验位:1
假设发送的数据为0x51(01010001),校验位:0
偶校验:数据位和校验位1的个数为偶数
假设发送的数据为0x55,校验位:0
假设发送的数据为0x51,校验位:1
5、停止位
1)发送数据结束的标志,停止位处于高电平状态
2)校准时钟源,因为串口采用的是异步通讯,双方都有自己独立的时钟源
但是在实际的数据传输过程中,一帧数据传输完成之后,肯定会存在误差
越往后,误差越大,导致收发数据不准确
RCC章节分析
确定总线
通过2.5.2章节确定总线名称
1、确定RCC控制器通过哪根总线与cortex-A7进行连接 ===> AHB4总线
2、确定GPIO控制器通过哪根总线与cortex-A7进行连接 ===> AHB4总线
3、确定UART控制器通过哪根总线与cortex-A7核进行连接 ===> APB1总线
确定基地址
分析RCC_MP_AHB4ENSETR寄存器
1、RCC_MP_AHB4ENSETR:RCC AHB4 Periph. Enable For MPU Set Register寄存器作用===>使能GPIO对应组控制器 2、RCC_MP_AHB4ENSETR地址 = RCC基地址 + 偏移地址 = 0x50000000 + 0xA28 = 0x50000A28 3、如何使能GPIOB组/GPIOG控制器 PB2 ===> UART4_RX ===> 使能GPIOB组控制器 ===> 0x50000A28[1] = 1 PG11 ===> UART4_TX===> 使能GPIOG组控制器 ===> 0x50000A28[6] = 1
分析RCC_MP_APB1ENSETR寄存器
1、RCC_MP_APB1ENSETR:RCC AAPB1 Periph. Enable For MPU Set Register寄存器作用===>使能UART对应组控制器 2、RCC_MP_APB1ENSETR地址 = RCC基地址 + 偏移地址 = 0x50000000 + 0xA00 = 0x50000A00 3、如何使能UART4组控制器 PB2 ===> UART4_RX ===> 使能UART4组控制器 ===> 0x50000A00[16] = 1 PG11 ===> UART4_TX===> 使能UART4组控制器 ===> 0x50000A00[16] = 1