串口通信原理及操作流程.ppt

上传人:xt****7 文档编号:4259156 上传时间:2020-01-04 格式:PPT 页数:62 大小:2.31MB
返回 下载 相关 举报
串口通信原理及操作流程.ppt_第1页
第1页 / 共62页
串口通信原理及操作流程.ppt_第2页
第2页 / 共62页
串口通信原理及操作流程.ppt_第3页
第3页 / 共62页
点击查看更多>>
资源描述
第六讲串口通信原理及操作流程 曾铁军 主要内容 串行通信总线标准及其接口 MCS 51的串行接口 实例1 信息编码 文字 信息载体 文字 纸张 信息传送方式 邮递员 实例2 第四步 第二步 第一步 说出同学A的名字或学号 提问 说出同学B的名字或学号 提问 课堂上老师先让同学A 再让同学B回答问题的过程 实例3 老师让学习委员来取作业本的两种方式 1 老师等着学习委员来取 2 将作业本放在办公桌上 学习委员自己来取 串行通信基础知识 1 1串行通信与并行通信 1 2异步通信与同步通信 1 3串行通信的传输方向 1 4信号的调制与解调 1 5串行通信的错误校验 1 6传输速率与传输距离 串行通信与并行通信 在计算机系统中 CPU和外部通信有两种通信方式 并行通信和串行通信 并行通信 即数据的各位同时传送 串行通信 即数据一位一位顺序传送 并行通信 串行通信 异步通信与同步通信 1 异步通信异步通信是指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程 为使双方的收发协调 要求发送和接收设备的时钟尽可能一致 步通信的数据格异式 中断的概念 异步通信的特点 不要求收发双方时钟的严格一致 实现容易 设备开销较小 但每个字符要附加2 3位用于起止位 各帧之间还有间隔 因此传输效率不高 建立发送方时钟对接收方时钟的直接控制 使双方达到完全同步 此时 传输数据的位之间的距离均为 位间隔 的整数倍 同时传送的字符间不留间隙 即保持位同步关系 也保持字符同步关系 外同步 自同步 同步通信 同步通信 标题 中包含源地址 目标地址和路由指示等信息 SOH 01H 表示标题的开始 STX 02H 表示传送的数据块开始 组终字符ETB 17H 或文终字符ETX 03H 校验码 典型的面向字符的同步规程 IBM的二进制同步规程BSC 面向位的同步格式 将数据块看作数据流 并用序列01111110作为开始和结束标志 为了避免在数据流中出现序列01111110时引起的混乱 发送方总是在其发送的数据流中每出现5个连续的1就插入一个附加的0 接收方则每检测到5个连续的1并且其后有一个0时 就删除该0 典型的面向位的同步协议如ISO的高级数据链路控制规程HDLC和IBM的同步数据链路控制规程SDLC 同步通信的特点是以特定的位组合 01111110 作为帧的开始和结束标志 所传输的一帧数据可以是任意位 所以传输的效率较高 但实现的硬件设备比异步通信复杂 1 3串行通信的传输方向 1 4信号的调制与解调 调制器 Modulator 把数字信号转换成模拟信号 然后送到通信线路上去 解调器 Demodulator 把从通信线路上收到的模拟信号转换成数字信号 调制解调器MODEM 由于通信是双向的 调制器和解调器合并在一个装置中 调制解调的方式有多种 这里调频为例 通过数字信号对二个不同频率的正弦载波信号的键控和信号的合成实现 1 5串行通信的错误校验 1 奇偶校验在发送数据时 数据位尾随的1位为奇偶校验位 1或0 奇校验时 数据中 1 的个数与校验位 1 的个数之和应为奇数 偶校验时 数据中 1 的个数与校验位 1 的个数之和应为偶数 接收字符时 对 1 的个数进行校验 若发现不一致 则说明传输数据过程中出现了差错 2 代码和校验代码和校验是发送方将所发数据块求和 或各字节异或 产生一个字节的校验字符 校验和 附加到数据块末尾 接收方接收数据同时对数据块 除校验字节外 求和 或各字节异或 将所得结果与发送方的 校验和 进行比较 相符则无差错 否则即认为传送过程中出现了差错 3 循环冗余校验这种校验是通过某种数学运算实现有效信息与校验位之间的循环校验 常用于对磁盘信息的传输 存储区完整性校验等 这种校验方法纠错能力强 广泛应用于同步通信中 1 6传输速率与传输距离 码元传输速率RB简称传码率 又称符号速率等 它表示单位时间内传输码元的数目 单位是波特 Baud 记为B 例如 若1秒内传2400个码元 则传码率为2400B 数字信号有多进制和二进制之分 但码元速率与进制数无关 只与传输的码元长度T有关 由于M进制的一个码元可以用log2M个二进制码元去表示 因而在保证信息速率不变的情况下 M进制的码元速率RBM与二进制的码元速率RB2之间有以下转换关系 信息传输速率Rb简称传信率 又称比特率等 它表示单位时间内传递的平均信息量或比特数 单位是比特 秒 可记为bit s 或b s 或bps C51串口通信时一个比特是一个码元 所以波特率等同于比特率 即每秒钟传输二进制代码的位数 单位是 位 秒 bps 如每秒钟传送240个字符 而每个字符格式包含10位 1个起始位 1个停止位 8个数据位 这时的比特率为 10位 240个 秒 2400bps 传输距离与传输速率的关系 串行接口或终端直接传送串行信息位流的最大距离与传输速率及传输线的电气特性有关 当传输线使用每0 3m 约1英尺 有50PF电容的非平衡屏蔽双绞线时 传输距离随传输速率的增加而减小 当比特率超过1000bps时 最大传输距离迅速下降 如9600bps时最大距离下降到只有76m 约250英尺 2串行通信总线标准及其接口 2 1RS 232C接口 用于串行通讯的标准 规定采用一个25个脚的DB 25连接器对连接器的每个引脚的信号加以规定对各种信号的电平加以规定 IBM将RS232简化成了DB 9连接器工业控制的RS 232一般只使用RXD TXD GND三条线 笔记本通过本设备可连接到串口鼠标 各种串口设备 PLC POS 门禁 检测 通讯用仪器仪表等串口232接口的外设 电气特性 逻辑电平 EIA RS 232C对电气特性 逻辑电平和各种信号线功能都作了规定 在TxD和RxD上 逻辑1 3V 15V逻辑0 3 15V在RTS CTS DSR DTR和DCD等控制线上 信号有效 接通 ON状态 正电压 3V 15V信号无效 断开 OFF状态 负电压 3V 15V RS 232信号传输 UART 并行 TTL 收发器 D0 D7 0V 5V RS 232 12V 12V 12或者 12V RS 232信号传输及信号波形 RS 232信号传输及信号波形 功能特性 过程特性 过程特性规定了信号之间的时序关系 以便正确地接收和发送数据 远程通信连接 RS 232连接类型I TxDRxDRTSCTSDTRDSRDCDGND TxDRxDRTSCTSDTRDSRDCDGND DTE信号 DTE信号 典型应用 PC 交叉电缆 PC 接线 RS 232连接类型II 典型应用 PC 直连电缆 Modem 近程通信连接 RS 232C接口存在的问题 有电平偏移 传输距离短 传输速率低 抗干扰能力差 1 2 3 RS 422A接口 RS 422A输出驱动器为双端平衡驱动器 如果其中一条线为逻辑 1 状态 另一条线就为逻辑 0 比采用单端不平衡驱动对电压的放大倍数大一倍 差分电路能从地线干扰中拾取有效信号 差分接收器可以分辨200mV以上电位差 若传输过程中混入了干扰和噪声 由于差分放大器的作用 可使干扰和噪声相互抵消 因此可以避免或大大减弱地线干扰和电磁干扰的影响 RS 422A传输速率 90Kbps 时 传输距离可达1200米 2 3RS 485接口 RS 485是RS 422A的变型 RS 422A用于全双工 而RS 485则还可用于半双工 RS 485是一种多发送器标准 在通信线路上最多可以使用32对差分驱动器 接收器 RS 485的信号传输采用两线间的电压来表示逻辑1和逻辑0 由于发送方需要两根传输线 接收方也需要两根传输线 传输线采用差动信道 所以它的干扰抑制性极好 又因为它的阻抗低 无接地问题 所以传输距离可达1200米 传输速率可达1Mbps RS 485是一点对多点的通信接口 一般采用双绞线的结构 普通的PC机一般不带RS485接口 因此要使用RS 232C RS 485转换器 对于单片机可以通过芯片MAX485来完成TTL RS 485的电平转换 在计算机和单片机组成的RS 485通信系统中 下位机由单片机系统组成 上位机为普通的PC机 负责监视下位机的运行状态 并对其状态信息进行集中处理 以图文方式显示下位机的工作状态以及工业现场被控设备的工作状况 系统中各节点 包括上位机 的识别是通过设置不同的站地址来实现的 RS 232 RS 422 RS 485比较 80C51串行口的结构 物理上有独立的接收 发送缓冲器SBUF 它们占用同一地址99H 接收器是双缓冲结构 发送缓冲器 因为发送时CPU是主动的 不会产生重叠错误 UART应考虑的因素 1是作扩展IO口用还是通信用 通信的话是双机通信还是多机通信 2UART与MCU联系 接收和发送两方面3通信速率4一帧数据的长度5数据校验 发送和接收两方面6UART作为一被控模块 能否被控 3 280C51串行口的控制寄存器 SCON是一个特殊功能寄存器 用以设定串行口的工作方式 接收 发送控制以及设置状态标志 SM0和SM1为工作方式选择位 可选择四种工作方式 SM2 多机通信控制位 主要用于方式2和方式3 当接收机的SM2 1时可以利用收到的RB8来控制是否激活RI RB8 0时不激活RI 收到的信息丢弃 RB8 1时收到的数据进入SBUF 并激活RI 进而在中断服务中将数据从SBUF读走 当SM2 0时 不论收到的RB8为0和1 均可以使收到的数据进入SBUF 并激活RI 即此时RB8不具有控制RI激活的功能 通过控制SM2 可以实现多机通信 在方式0时 SM2必须是0 在方式1时 若SM2 1 则只有接收到有效停止位时 RI才置1 REN 允许串行接收位 由软件置REN 1 则启动串行口接收数据 若软件置REN 0 则禁止接收 TB8 在方式2或方式3中 是发送数据的第九位 可以用软件规定其作用 可以用作数据的奇偶校验位 或在多机通信中 作为地址帧 数据帧的标志位 在方式0和方式1中 该位未用 RB8 在方式2或方式3中 是接收到数据的第九位 作为奇偶校验位或地址帧 数据帧的标志位 在方式1时 若SM2 0 则RB8是接收到的停止位 TI 发送中断标志位 在方式0时 当串行发送第8位数据结束时 或在其它方式 串行发送停止位的开始时 由内部硬件使TI置1 向CPU发中断申请 在中断服务程序中 必须用软件将其清0 取消此中断申请 RI 接收中断标志位 在方式0时 当串行接收第8位数据结束时 或在其它方式 串行接收停止位的中间时 由内部硬件使RI置1 向CPU发中断申请 也必须在中断服务程序中 用软件将其清0 取消此中断申请 PCON中只有一位SMOD与串行口工作有关 SMOD PCON 7 波特率倍增位 在串行口方式1 方式2 方式3时 波特率与SMOD有关 当SMOD 1时 波特率提高一倍 复位时 SMOD 0 波特率的计算在串行通信中 收发双方对发送或接收数据的速率要有约定 通过软件可对单片机串行口编程为四种工作方式 其中方式0和方式2的波特率是固定的 而方式1和方式3的波特率是可变的 由定时器T1的溢出率来决定 串行口的四种工作方式对应三种波特率 由于输入的移位时钟的来源不同 所以 各种方式的波特率计算公式也不相同 方式0的波特率 fosc 12方式2的波特率 2SMOD 64 fosc方式1的波特率 2SMOD 32 T1溢出率 方式3的波特率 2SMOD 32 T1溢出率 当T1作为波特率发生器时 最典型的用法是使T1工作在自动再装入的8位定时器方式 即方式2 且TCON的TR1 1 以启动定时器 这时溢出率取决于TH1中的计数值 T1溢出率 fosc 12 256 TH1 在单片机的应用中 常用的晶振频率为 12MHz和11 0592MHz 所以 选用的波特率也相对固定 常用的串行口波特率以及各参数的关系如表所示 3 380C51串行口的工作方式 一 方式0串行口为同步移位寄存器的输入输出方式 主要用于扩展并行输入或输出口 数据由RXD P3 0 引脚输入或输出 同步移位脉冲由TXD P3 1 引脚输出 发送和接收均为8位数据 低位在先 高位在后 波特率固定为fosc 12 1 方式0输出 2 方式1输入 用软件置REN为1时 接收器以所选择波特率的16倍速率采样RXD引脚电平 检测到RXD引脚输入电平发生负跳变时 则说明起始位有效 将其移入输入移位寄存器 并开始接收这一帧信息的其余位 接收过程中 数据从输入移位寄存器右边移入 起始位移至输入移位寄存器最左边时 控制电路进行最后一次移位 当RI 0 且SM2 0 或接收到的停止位为1 时 将接收到的9位数据的前8位数据装入接收SBUF 第9位 停止位 进入RB8 并置RI 1 向CPU请求中断 三 方式2和方式3方式2或方式3时为11位数据的异步通信口 TXD为数据发送引脚 RXD为数据接收引脚 方式2和方式3时起始位1位 数据9位 含1位附加的第9位 发送时为SCON中的TB8 接收时为RB8 停止位1位 一帧数据为11位 方式2的波特率固定为晶振频率的1 64或1 32 方式3的波特率由定时器T1的溢出率决定 1 方式2和方式3输出 发送开始时 先把起始位0输出到TXD引脚 然后发送移位寄存器的输出位 D0 到TXD引脚 每一个移位脉冲都使输出移位寄存器的各位右移一位 并由TXD引脚输出 第一次移位时 停止位 1 移入输出移位寄存器的第9位上 以后每次移位 左边都移入0 当停止位移至输出位时 左边其余位全为0 检测电路检测到这一条件时 使控制电路进行最后一次移位 并置TI 1 向CPU请求中断 2 方式2和方式3输入 接收时 数据从右边移入输入移位寄存器 在起始位0移到最左边时 控制电路进行最后一次移位 当RI 0 且SM2 0 或接收到的第9位数据为1 时 接收到的数据装入接收缓冲器SBUF和RB8 接收数据的第9位 置RI 1 向CPU请求中断 如果条件不满足 则数据丢失 且不置位RI 继续搜索RXD引脚的负跳变 串行口工作之前 应对其进行初始化 主要是设置产生波特率的定时器1 串行口控制和中断控制 具体步骤如下 确定T1的工作方式 编程TMOD寄存器 计算T1的初值 装载TH1 TL1 启动T1 编程TCON中的TR1位 确定串行口控制 编程SCON寄存器 串行口在中断方式工作时 要进行中断设置 编程IE IP寄存器 在计算机组成的测控系统中 经常要利用串行通信方式进行数据传输 80C51单片机的串行口为计算机间的通信提供了极为便利的条件 利用单片机的串行口还可以方便地扩展键盘和显示器 对于简单的应用非常便利 这里仅介绍单片机串行口在通信方面的应用 4单片机串行口应用举例 4 1单片机与单片机的通信 一 点对点的通信1 硬件连接 例题 在上位机上用串口调试助手发送一个字符X 单片机收到字符后返回给上位机 IgetX 串口波特率设为9600 4 2 多机通信 1 硬件连接单片机构成的多机系统常采用总线型主从式结构 所谓主从式 即在数个单片机中 有一个是主机 其余的是从机 从机要服从主机的调度 支配 80C51单片机的串行口方式2和方式3适于这种主从式的通信结构 当然采用不同的通信标准时 还需进行相应的电平转换 有时还要对信号进行光电隔离 在实际的多机应用系统中 常采用RS 485串行标准总线进行数据传输 2 通信协议所有从机的SM2位置1 处于接收地址帧状态 主机发送一地址帧 其中8位是地址 第9位为地址 数据的区分标志 该位置1表示该帧为地址帧 所有从机收到地址帧后 都将接收的地址与本机的地址比较 对于地址相符的从机 使自己的SM2位置0 以接收主机随后发来的数据帧 并把本站地址发回主机作为应答 对于地址不符的从机 仍保持SM2 1 对主机随后发来的数据帧不予理睬 从机发送数据结束后 要发送一帧校验和 并置第9位 TB8 为1 作为从机数据传送结束的标志 主机接收数据时先判断数据接收标志 RB8 若RB8 1 表示数据传送结束 并比较此帧校验和 若正确则回送正确信号00H 此信号命令该从机复位 即重新等待地址帧 若校验和出错 则发送0FFH 命令该从机重发数据 若接收帧的RB8 0 则存数据到缓冲区 并准备接收下帧信息 主机收到从机应答地址后 确认地址是否相符 如果地址不符 发复位信号 数据帧中TB8 1 如果地址相符 则清TB8 开始发送数据 从机收到复位命令后回到监听地址状态 SM2 1 否则开始接收数据和命令 作业 在上位机上用串口调试助手发送一个字符X 单片机收到字符后返回给上位机 OK 串口波特率设为7200 ThankYou
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!