五种通信总线协议详解-创新互联
基础:
UART硬件连接
UART控制器
一般情况下处理器中都会集成UART控制器,我们使用UART进行通信时只需要对其内部的相关寄存器进行设置即可
Exynos4412下的UART控制器(Exynos4412的主频是1000兆)
设置引脚功能的本质是让引脚在芯片内部连接到某一个对应的控制器上
这里可以设置为GPIO、UART和PWM三种功能
通信基础 - 并行和串行
并行通信:
例如:char 类型的数据 1个字节8位 BIT[0] - BIT[7]可以一次性传送过去
串行通信:
过独木桥
单工和双工
单工通信:
发送器 -> 接收器
波特率(每秒钟传送的二进制位的个数)
波特率用于描述UART通信是的通信速度,其单位为(bps bit per second)即每秒钟传送的bit的数量
一、URAT(Universal Asynchronous Receiver Transmitter)
通用异步收发器,是一种通用的串行、异步通信总线,该总线有两条数据线,可以实现全双工的发送和接收,在嵌入式系统中常用于主机与辅助设备之间的通信
异步:收发双方时钟不同步
如果连续发了两个0或者两个1或者多个1或0,如何去判断1和0的个数?
方式一:通过时间去判定,波特率,每秒钟发送的二进制位的个数,那这样子可能会因为两部机器的时间有不同步而产生错位的情况
如何避免?
采用串行通信方式,每次只允许一个位通过,这样子就避免了错位的问题
串口通信可以避免累计误差的出现
UART存在的问题
1)电气接口不统一
名称栏目:五种通信总线协议详解-创新互联
标题来源:http://abwzjs.com/article/edisg.html
- UART只是对信号的时序进行了定义,而未定义接口的电气特性
- UART通信时一般直接使用处理器使用的电平,即TTL电平,但不同的处理器使用的电平存在差异,所以不同的处理器使用的UART通信时一般不能直接相连
- UART没有规定不同器间连接时连接器的标准,所以不同期间之间通过UART通信时连接很不方便
- 接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容,所以需要使用电平转换芯片才能与TTL电路连接
- 通信速度较低
- 易产生共模干扰,抗噪声干扰性较弱
- 传输距离较短(15m)
- 接口的信号电平值较低,不易损坏接口电路的芯片,且与TTL电平兼容,可方便地与TTL电路连接
- 通信速度快
- 抗噪声干扰性强
- 传输距离较远(1500m)
- 可实现多节点组网
- 主机发送起始信号启用总线
- 主机发送一个字节数据指明从机地址和后续字节的传送方向
- 被寻址的从机发送应答信号回应主机
- 发送器发送一个字节数据(这一个字节的数据最后一位来决定除第一次发送的是主机发送给从机还是从机发给主机)
- 接收器发送应答信号回应发送器... …(循环步骤4、5)
- 通信完成后主机发送停止信号释放总线
- IIC总线上传送的数据是广义的,既包括地址,又包括真正的数据
- 主机在发送起始信号后必须先发送一个字节的数据,该数据的高7位为从机地址,最低位表示后续字节的传送方向,‘0'表示主机发送数据,'1'表示主机接收数据;总线上所有的从机接收到该字节数据后都将这7位地址与自己的地址进行比较,如果相同,则认为自己被主机寻址,然后再根据第8位将自己定为发送器或接收器
- SCL为高电平时,SDA由高变低表示起始信号
- SCL为高电平时,SDA由低变高表示停止信号
- 起始信号和停止信号都是由主机发出,起始信号产生后总线处于占用状态,停止信号产生后总线处于空闲状态
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
10年积累的成都做网站、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有永福免费网站建设让你可以放心的选择与我们合作。名称栏目:五种通信总线协议详解-创新互联
标题来源:http://abwzjs.com/article/edisg.html