ARMday06(总线、串口、RCC章节分析)

总线

总线是完成各个部件之间传输的一种媒介

串行/并行总线

串行总线,

在同一时刻,根据时钟线的变化,只可以收发一位数据

优点:占用引脚资源少

缺点:传输速度比较慢

并行总线,

在同一时刻,根据时钟线的变化,可以收发多位数据(1字节=8位)

优点:传输速度比较快

缺点:占用引脚资源比较多

单工/半双工/全双工

单工:要么做发送器,要么做接收器,方向是单一

半双工:可以做发送器,可以做接收器,但是不可以同时进行数据收发

全双工:可以做发送器,可以做接收器,并且可以同时进行数据收发

同步/异步

同步:双方通信时,共用一个时钟线,根据时钟线变化,完成数据收发

异步:双方通讯时,都有各自独立的时钟源,但是双方通讯时,需要保证时钟频率一致

串口配置信息(异步串行全双工总线)

配置相关内容

ARMday06(总线、串口、RCC章节分析)_第1张图片

1、串口为串行通讯方式,代表一个时钟周期,只可以收发一位数据

2、115200代表什么,以及115200单位 单位:bps(比特率、二进制/秒)

115200代表:1S钟可以传输115200bits数据

115200倒数代表:表示收发1位数据所需要的时间

3、8N1代表什么

8:8位数据位

N:无奇偶校验位

1:1位停止位

协议

ARMday06(总线、串口、RCC章节分析)_第2张图片

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总线

ARMday06(总线、串口、RCC章节分析)_第3张图片

3、确定UART控制器通过哪根总线与cortex-A7核进行连接 ===> APB1总线

ARMday06(总线、串口、RCC章节分析)_第4张图片

确定基地址

ARMday06(总线、串口、RCC章节分析)_第5张图片

ARMday06(总线、串口、RCC章节分析)_第6张图片

分析RCC_MP_AHB4ENSETR寄存器

ARMday06(总线、串口、RCC章节分析)_第7张图片

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寄存器

ARMday06(总线、串口、RCC章节分析)_第8张图片

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

待更。。。 

你可能感兴趣的:(单片机,嵌入式硬件)