完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
通信简介
通信方式分为两种: l 串行(字符数据按位传输,区别高低位,控制时序稍复杂-) l 并行(数据位一次传输完成,传输中需要其他控制信号线完成,速度快) 通信协议: 包含数据格式,同步方式,传输速率,校验方式等。 串行通信同步方式 l 同步(发送接收方使用同一套时钟) 同步通信时要建立发送方时钟对接收方时钟的直接控制。 n 外同步:有一单独的时钟信号 n 内同步:数据与时钟信号一同发送 面向字符同步(IBM 的二进制同步规程 BSC) 面向位同步(HDLC 和 IBM 的同步数据链路控制规程 SDLC) l 异步(发送接收使用各自的时钟) 异步通信的特点是不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个 字符要附加 2~3 位用于起止位,各帧之间还有间隔,因此传输效率不高。 通信方向 单工,半双工,全工。 校验方式 l 奇偶校验 n 奇校验 包含校验位,累计的1为偶数个 n 偶校验 包含校验位,累计的1为奇数个 l CRC校验 l 累加和校验 传输速率(波特率与比特率) 比特率是每秒钟传输二进制代码的位数, 单位是: 位/秒( bps)。 如每秒钟传送 240 个字符,而每个字符格式包含10 位(1 个起始位、 1 个停止位、 8 个数据位),这时的比特率为10 位×240 个/秒 = 2 400 bps bit/s 参考文档 关于波特率与比特率的概念 传输速率应该用比特率。 比特率 = 波特率 X 单个调制对应的二进制位数。 接口通信 RS232(全双工) 机械特性:阳头为计算机端 电气特性: RS-422A (全双工) 与RS232区别是收发双方的信号地不再共用。 另外, 每个方向用于传输数据的是 两条平衡导线。 所谓“ 平衡”, 是指输出驱动器为双端平衡驱动器。如果其中一条线为逻辑“ 1” 状态,另一条线就为逻辑“ 0”, 比采用单端不平衡驱动对电压的放大倍数大一倍。 驱动器输出允许范围是 ±2~±6V。 差分电路能从地线干扰中拾取有效信号,差分接收器可以分辨 200mV 以上的电位差。 若传输过程中混入了干扰和噪声,由于差分放大器的作用,可使干扰和噪声相互抵消。 因此可以避免或大大减弱地线干扰和电磁干扰的影响。 RS-485 (半双工) 点对多(最多32)。差模信号。 抗干扰以及电阻匹配 参阅 WIZ_ RS232 RS485 电气特性与抗干扰设计 8051串口通信 UART(Universal Asynchronous Receiver/Transmitter)通用异步收发器 工作方式 l 方式0, 8位移位寄存器,同步通信,一般配合移位器件或其他器件使用。 l 方式1, 8位异步全双工,可变比特率。 l 方式2, 9位异步,全双工。固定比特率。可使用奇偶校验或多机通信。 l 方式3, 9位异步全双工,可变波特率。可使用奇偶校验或多机通信。 内部实现简单机制:参见文档 软件设计 数据(一字节)传输低位在前,高位在后。 串口接收的时候,接收器以所选择波特率的 16 倍速率(波特率因子)采样 RXD引脚电平。 在发送数据时,发送器在发送时钟的下降沿将移位寄存器的数据串行移位输出;在接收数据时,接收器在接收时钟的上升沿对接收数据采样,进行数据位检测, 数据格式 (1)起始位:起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。 (2)数据位:数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定,一般可以是5位、7位或8位,标准的ASCII码是0~127(7位),扩展的ASCII码是0~255(8位)。传输数据时先传送字符的低位,后传送字符的高位。 (3)奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。由此可见,奇偶校验位仅是对数据进行简单的置逻辑高位或逻辑低位,不会对数据进行实质的判断,这样做的好处是接收设备能够知道一个位的状态,有可能判断是否有噪声干扰了通信以及传输的数据是否同步。 (4)停止位:停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。 (5)空闲位:空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。 异步通信的数据发送过程 清楚了异步通信的数据格式之后,就可以按照指定的数据格式发送数据了,发送数据的具体步骤如下: (1)初始化后或者无需发送数据,发送端输出逻辑1,可以有任意数量的空闲位。 (2)当需要发送数据时,发送端首先输出逻辑0,作为起始位。 (3)接着就可以开始输出数据位了,发送端首先输出数据的最低位D0,然后是D1, 最后是数据的最高位。 (4)如果设有奇偶检验位,发送端输出检验位。 (5)最后,发送端输出停止位(逻辑1)。 (6)如果没有信息需要发送,发送端输出逻辑1(空闲位),如果有信息需要发送,则 转入步骤(2)。 异步通信的数据接收过程 在异步通信中,接收端以接收时钟和波特率因子决定每一位的时间长度。下面以波特率因子等于16(接收时钟每16个时钟周期使接收移位寄存器移位一次)为例来说明。 (1)开始通信,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对接收时 钟计数。 (2)当计到8个时钟的时候,对输入信号进行检测,若仍然为低电平,则确认这是起 始位,而不是干扰信号。 (3)接收端检测到起始位后,隔16个接收时钟对输入信号检测一次,把对应的值作为 D0位数据。 (4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据,直到全 部数据位都输入。 (5)检验奇偶检验位。 (6)接收到规定的数据位个数和校验位之后,通信接口电路希望收到停止位(逻辑1), 若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志;若没 有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中取出 送至数据输入寄存器,若校验错,在状态寄存器中置“奇偶错”标志。 (7)本帧信息全部接收完,把线路上出现的高电平作为空闲位。 (8)当信号再次变为低时,开始进入下一帧的检测。 几个概念 (1)发送时钟:发送数据时,首先将要发送的数据送入移位寄存器,然后在发送时钟 的控制下,将该并行数据逐位移位输出。 (2)接收时钟:在接收串行数据时,接收时钟的上升沿对接收数据采样,进行数据位 检测,并将其移入接收器的移位寄存器中,最后组成并行数据输出。 (3)波特率因子:波特率因子是指发送或接收1个数据位所需要的时钟脉冲个数。在 同步传送方式,必须取n=1,即接收/发送时钟的频率等于收/发波特率。在异步传 送方式,n=1,16,64,即可以选择接收/发送时钟频率是波特率的1,16,64 倍。因 此 可由要求的传送波特率及所选择的倍数n 来确定接收/发送时钟的频率。 波特率误差分析 理论上一个字节发送或接收中BIT累加误差不能超过50%,传送9位数据格式+开始,停止位总共是11位。11*4%=48%约等于50%,实际上一般2%以内可以比较可靠通信(考虑对方误差)。 由于是异步通信,异步的波特率误差不会产生累积效应的。所以只要能保证一个字符的传送没有问题即可,反正都是先起始位,再数据位,最后是停止位。 “ 串口波特率高输出容易误码 单片机以波特率16倍的速度对串口信号采样 当发现启始信号以后与外部同步 每个信号位采样16次 其中选择中间三位(7、8、9)的值做此传输位值 这三个位的值如果不同 也要3选2 选2位一致的电平值为信号值 采样3次,那么每一位中间t/2 已及前后各一次吧。那么当原本中间的这次采样偏差超过t/2 就必然有2次采样落到相邻的位上。落到相邻的2次采样结果必然一样 比如 A发 , B收 。 假设发送一位的时间是t . B在接收时要不断采样,发现起始位后将试图以起始位的中点时刻开始每隔t时间取值一次。 假如A、B两者时钟精度一致,那么B取值时刻都在数据位的中点上,也就是每一位的t/2处。当A、B之间时钟有相对误差时,串口帧最后一位停止位时,B的采样时刻偏离这一位中点将达到最大值。但只要A、B之间最后累积偏差值 < t/2 时, B就不会采样到相邻的位,也就是不会出现错误。所以t值越大宽容度越高,也就是波特率越小越不容易出错 ”当使用软件模拟的时候,需要注意。 误差来源有4: n 串口时钟启动,停止的滞后。 T1 n 时钟发生器产生时钟的本身误差(1个机器周期)T2 n 晶振误差 T3 n 波特率发生器/定时器计算误差 T4 软件模拟串口通信(参考波特率因子) 通信笔记@Lyt.pdf (948.69 KB ) |
|
相关推荐
1个回答
|
|
|
串口,楼主辛苦,谢谢分享
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1599 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4738 浏览 0 评论
4229 浏览 9 评论
3822 浏览 16 评论
4398 浏览 1 评论
4210浏览 3评论
2379浏览 0评论
3393浏览 0评论
1158浏览 0评论
2843浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:30 , Processed in 0.606014 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2911