通信简介,通信简介通信方式分为两种:

网络 6
串行(字符数据按位传输,区别高低位,控制时序稍复杂-)并行(数据位一次传输完成,传输中需要其他控制信号线完成,速度快)通信协议:包含数据格式,同步方式,传输速率,校验方式等。
串行通信同步方式同步(发送接收方使用同一套时钟) 同步通信时要建立发送方时钟对接收方时钟的直接控制。
外同步:有一单独的时钟信号内同步:数据与时钟信号一同发送 面向字符同步(IBM的二进制同步规程BSC) 面向位同步(HDLC和IBM的同步数据链路控制规程SDLC) 异步(发送接收使用各自的时钟)异步通信的特点是不要求收发双方时钟的严格一致,实现容易,设备开销较小,但每个字符要附加2~3位用于起止位,各帧之间还有间隔,因此传输效率不高。
通信方向 单工,半双工,全工。
校验方式 奇偶校验奇校验包含校验位,累计的1为偶数个偶校验包含校验位,累计的1为奇数个 CRC校验累加和校验 传输速率(波特率与比特率) 比特率是每秒钟传输二进制代码的位数,单位是:位/秒(bps)。
如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位、1个停止位、8个数据位),这时的比特率为10位×240个/秒=2400bpsbit/s 参考文档关于波特率与比特率的概念传输速率应该用比特率。
比特率=波特率X单个调制对应的二进制位数。
接口通信 RS232(全双工) 机械特性:阳头为计算机端 电气特性: RS-422A(全双工) 与RS232区别是收发双方的信号地不再共用。
另外,每个方向用于传输数据的是两条平衡导线。
所谓“平衡”,是指输出驱动器为双端平衡驱动器。
如果其中一条线为逻辑“1”状态,另一条线就为逻辑“0”,比采用单端不平衡驱动对电压的放大倍数大一倍。
驱动器输出允许范围是±2~±6V。
差分电路能从地线干扰中拾取有效信号,差分接收器可以分辨200mV以上的电位差。
若传输过程中混入了干扰和噪声,由于差分放大器的作用,可使干扰和噪声相互抵消。
因此可以避免或大大减弱地线干扰和电磁干扰的影响。
RS-485(半双工) 点对多(最多32)。
差模信号。
抗干扰以及电阻匹配 参阅WIZ_RS232RS485电气特性与抗干扰设计 8051串口通信 UART(UniversalAsynchronousReceiver/Transmitter)通用异步收发器 工作方式 方式
0,方式
1,方式
2,方式
3, 8位移位寄存器,同步通信,一般配合移位器件或其他器件使用。
8位异步全双工,可变比特率。
9位异步,全双工。
固定比特率。
可使用奇偶校验或多机通信。
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值越大宽容度越高,也就是波特率越小越不容易出错”当使用软件模拟的时候,需要注意。
误差来源有4:串口时钟启动,停止的滞后。
T1时钟发生器产生时钟的本身误差(1个机器周期)T2晶振误差T3波特率发生器/定时器计算误差T4 软件模拟串口通信(参考波特率因子)

标签: #接入点 #软件 #网络安全 #租房子 #打印机 #做什么 #手机 #房屋出租