830 likes | 1.13k Views
计算机控制系统 主讲教师 : 路飞 山东大学控制科学与工程学院 Email:lawyerlf@sdu.edu.cn;Tel:88392115. 第 2 章 总线技术与 MODBUS 通信协议. 本章要点 1 .总线的组成及功能 2 . RS-232C 和 RS-485 串行通信接口 3. MODBUS 通信协议. 本章主要内容. 2.1 概述 2.2 串行通信基础 2.3 RS-232C 串行通信接口 2.4 RS-485 串行通信接口 本章小结 思考题. 2.1 概述. 本节主要介绍总线的概念、分类、组成和功能。.
E N D
计算机控制系统 主讲教师:路飞 山东大学控制科学与工程学院 Email:lawyerlf@sdu.edu.cn;Tel:88392115
第2章 总线技术与MODBUS通信协议 本章要点 1.总线的组成及功能 2.RS-232C和RS-485串行通信接口 3.MODBUS通信协议
本章主要内容 • 2.1 概述 • 2.2 串行通信基础 • 2.3 RS-232C串行通信接口 • 2.4 RS-485串行通信接口 • 本章小结 • 思考题
2.1 概述 本节主要介绍总线的概念、分类、组成和功能。 • 2.1.1 总线的概念及分类 • 2.1.2 总线组成及总线功能
2.1.1 总线的概念及分类 • 总线定义: 采用总线结构是微型计算机系统体系结构的特点之一。总线是若干连线的集合。 • 是计算机各模块间进行信息传输的通道; • 包括通道控制、仲裁方法、传输方式等内容。 总线结构越来越复杂,功能越来越强大。了解总线对工程技术人员来说很重要。
2.1.1 总线的概念及分类 • 总线分类: 在计算机系统中,一般将总线分为内部总线(系统总线)和外部总线。 内部总线—计算机内部各功能模块之间进行通信的通道,是构成完整计算机系统的内部信息枢纽。如:ISA总线、PCI总线、STD总线。 外部总线—用于计算机系统与系统之间或计算机系统与外部设备之间的通信。有两类: 并行总线:各位间并行传输; 串行总线:各位间串行传输。
2.1.2 总线的组成及总线功能 1 总线组成: • 数据总线 • 地址总线 • 控制总线 • 电源
2.1.2 总线的组成及总线功能 • 数据总线 • 是外部设备和总线主控设备之间进行数据传送的数据通道; • 通常用D0、D1…Dn表示数据位的序号,序号和数据的位权一致; • n表示数据宽度,表示总线传输数据的能力; • 数据总线宽度基本上表征了总线数据传输能力,反映该总线的性能。
2.1.2 总线的组成及总线功能 • 地址总线 • 是外部设备和总线主控设备之间传送地址信息的通道; • 通常用A0、A1…An表示; • 地址总线的宽度表明了该总线的寻址范围。
2.1.2 总线的组成及总线功能 • 控制总线 • 是专供各种控制信号传递的通道,总线操作的各项功能都是由控制总线完成的; • 是总线信号中种类最多、变化最大、功能最强的信号,最能体现总线特色; • 不同总线标准最大的不同体现在控制总线上,地址总线、数据总线、电源可以相同或相似。
2.1.2 总线的组成及总线功能 • 电源 • +12V、-12V、+5V、-5V是系统必备总线; • 计算机系统发展的趋势:向低压发展。
2.1.2 总线的组成及总线功能 2 总线功能 • 总线功能是计算机总线研究的重点; • A-BUS、D-BUS、C-BUS的功能: • 数据传输功能; • 中断功能; • 多主设备支持功能; • 错误处理功能。
2.1.2 总线的组成及总线功能 • 数据传输功能 • 是总线的基本功能; • 用总线传输率表示,单位为MB/s; • 受总线宽度、时钟频率等因素的影响。
2.1.2 总线的组成及总线功能 • 中断功能 • 是计算机对紧急事物响应的机制,是计算机反应灵敏与否的关键; • 当外部设备与主设备之间进行服务约定时,中断是实现服务约定的联络信号; • 中断信号线的多少反映系统响应多个中断源的能力。
2.1.2 总线的组成及总线功能 • 多主设备支持功能 • 多主设备使用同一条总线,首先是总线占用权问题; • 总线仲裁器确定哪个主设备申请占用总线。
2.1.2 总线的组成及总线功能 • 错误处理功能 • 包含奇偶校验错、系统错、电池失效等错误检测处理; • 提供相应的保护对策。
2.2 内部总线 内部总线是计算机内部各功能模板之间进行通信的通道,又称作系统总线,是构成完整计算机系统的内部信息枢纽。如:ISA总线、PCI总线、STD总线。 目前,ISA总线已经被淘汰。
2.2 内部总线 本节主要介绍内部总线中的STD总线和PCI总线。 • 2.2.1 STD总线 • 2.2.2 PCI总线
2.2.1 STD总线 STD总线最早在1978年由Pro-Log公司和Mostek公司推出; 1987年批准为国际标准IEEE961; 最初的规范为STD-80,只支持8位数据总线宽度,后来可以支持16位的数据传输; 1990年,颁布STD32规范。STD32具有32位数据总线宽度,32位寻址能力,是工业型的高端计算机。兼容STD-80规范,产品可以互操作。
2.2.1 STD总线 1 STD总线的特点 • 是56根并行计算机总线; • 采用小模板结构,56根引脚线有确切定义; • 采用模块化的总体设计布局; • 开放式的系统结构; • 丰富的I/O功能。
2.2.1 STD总线 2 STD总线的信号分配 • 是56根引脚按功能分为五大类; • 逻辑电源线(引脚1~6); • 数据总线(引脚7~14); • 地址总线(引脚15~30) ; • 控制总线(引脚31~52); • 辅助电源线(引脚53~56)。
电源线(引脚1~6和引脚53~56 ) • 逻辑电源线和辅助电源线分别为数字电路和模拟电路提供电源; • 两组电源各自有独立的地线,减少了干扰; • 引线5、6有两种使用可能。
数据总线(引脚7~14) • 双向、三态(输出有三种稳态:高电平、低电平、悬浮态); • 当前主模块控制数据流方向; • 临时主模块请求总线时,主模块能释放数据总线,响应请求。
地址总线(引脚15~30) • 三态,当前主模块控制地址总线; • 临时主模块请求总线时,主模块能释放地址总线,响应请求; • 数据总线和地址总线可以分时复用。
控制总线(引脚31~52) • 五部分组成; • 存储器和I/O控制; • 外围设备定时控制; • 中断和总线控制; • 时钟和复位; • 串级优先级链。
2.2.2 PCI总线 1 概述 • PCI总线版本; • 开发动机; • PCI总线应用; • PCI总线计算机系统; • PCI总线优点。
PCI总线版本 • 目标是建立一种工业标准的、低成本的、允许灵活配置的、高性能局部总线结构; • PCI总线是一种高性能、32位或64位地址/数据线复用总线; • 总线规范定义了PCI硬件环境。
开发动机 • 面向图形的操作系统使得标准PC I/O结构中的处理器和显示外设间产生了瓶颈; • PCI总线是独立于CPU的系统总线,采用独特的缓冲器设计,使显卡、声卡、网卡等高速的外围设备可以直接挂在CPU总线上,打破了瓶颈,使CPU性能得以充分发挥; • 但PCI对于3D显示力不从心,成为制约显示系统和整机性能的瓶颈,APG总线应运而生。
PCI总线应用 • 已经成为工业标准; • 其高性能总线体系结构可以满足不同系统的要求; • PCI总线被应用于多种平台和体系结构中。 服务器、高档台式机、低中档台式机、便携机
3.3V 5V 自动配置 64位升级路 服务器 高档台式机 低中档台式机 便携机 X86结构的 Alpha AXPTM未来CPU 处理器系列 处理器系列 图2-1 PCI局部总线应用
处理器 Cache 桥/存储控制器 DRAM 声卡 视频卡 PCI Local Bus 网络卡 SCSI卡 扩展总线桥 基本I/O设备 图像卡 硬盘 硬盘 显示器 图2-2 PCI计算机系统方框图
PCI总线的优点 • 高性能; • 低成本; • 使用方便; • 使用寿命长; • 可靠性/可操作性; • 适应性; • 数据完整性; • 软件兼容性。
2 PCI引脚 • PCI接口对单个目标设备需要至少47个引脚; • 对主控设备最少需要49个引脚。
PCI COMPLIANT DEVICE AD[31∷00] AD[63∷32] 地址与 数据 C/BE[3∷0]# C/BE[7∷4]# ] 64位 扩展 PAR64 REQ64# ACK64# LOCK# INTA# INTB# INTC# INNTD# SBO# SDONE TDI TDO TCK TMS TRST# PRA FRAME# TRDY# IRDY# STOP# DEVSEL# IDSEL 接口控制 接口控制 中断 PERR# SERR# 支持 高速缓存 出错报告 REQ# GNT# 仲裁 (只主控用) JTAG (IEEE1149.1) CLK RST# 系统 图2-3 PCI引脚
2.3 外部总线 在外部总线主要用于计算机系统与系统之间或计算机与外部设备之间的通信。 有两大类: 并行总线、串行总线。
2.3.1 串行通信基础 在串行通信中,参与通信的两台或多台设备通常共享一条物理通路。发送者依次逐位发送一串数据信号,按一定的约定规则为接收者所接收。为确保每次传送的数据报文能准确到达目的地,必须在通信连接上采取相应的措施。
1 串行异步通信数据格式 • RS-232C、RS-485均可采用异步收发数据格式; • 每次异步传输都应该在发送的数据之前设置最少一个起始位—通知接收方有数据到达,给接收方准备接收数据、缓存数据、做出其他响应所需要的时间; • 传输结束时,由一个停止位通知接收方本次传输过程终止,以便于接收方正常终止本次通信转入其他工作。
D0 D1 D2 D3 D4 D5 D6 D7 停止位 停止位 数据位 起始位 奇偶位 1 串行异步通信数据格式 图2-1 串行异步通信数据格式
1 串行异步通信数据格式 • 若通信线上无数据发送,该线路处于逻辑1状态; • 当计算机向外发送一个字符数据时,应先送出起始位 “0”,接着是5~8位数据位,且规定低位在前、高位在后,然后是一个奇偶校验位,最后加上一个停止位“1”表示字符的结束。
2 连接握手 • 通信帧的起始位可以引起接收方的注意,但发送方不能确认接收方是否做好了接收数据的准备—利用连接握手可以使收发双方确认建立了连接联系,可以进入数据收发状态;
连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,表明要发送数据,接收者则通过握手信号回应发送者,说明自己已经做好接收数据的准备;连接握手过程是指发送者在发送一个数据块之前使用一个特定的握手信号来引起接收者的注意,表明要发送数据,接收者则通过握手信号回应发送者,说明自己已经做好接收数据的准备; • 可以用软件也可以用硬件来实现。
3 确认 • 是接收者为表明数据已经收到而向发送者回复信息的过程; • 确认报文可以是一个特别定义过的字节,发送者收到确认报文就可以认为数据传输过程正常结束; • 如果发送者没有收到确认报文,就认为通信出现问题,将采取重发或者其他行动。
4 差错检验 • 由于通信线路周围电磁干扰的存在,以及收发器件噪声的影响,信息在发送、接收及传递过程中难免出现差错。通信网络的差错控制技术就是要及时将差错检测出来,并采取适当的纠正措施,以确保接收信息的准确性; • 差错控制技术包括差错检验与纠正错误。
数据通信中的接收者可以通过差错检验来判断接收的数据是否正确;数据通信中的接收者可以通过差错检验来判断接收的数据是否正确; • 串行通信中常用的差错检验方法:冗余数据校验、奇偶校验、校验和、循环冗余校验等。
冗余数据校验 • 发送冗余数据是实行差错检验的一种简单方法; • 发送者对每条报文都发送两次,接收者根据这两次收到的数据是否一致来判断本次通信的有效性; • 花费两倍的时间来进行报文的传输,适宜于短报文的传送校验。
奇偶校验 • 可以按奇数位校验,也可以按偶数位校验; • 奇偶校验是在传递字节最高位后附加一位校验位。奇校验时传送字节与校验位中“0”的数目为奇数,偶校验时传送字节与校验位中“0”的数目为偶数; • 接收端按同样的校验方式对收到的信息进行校验。如发送时规定为奇校验时,若收到的字符及校验位中“0”的数目为奇数,则认为传输正确;否则,认为传输错误。
校验和 • 是在通信数据中加入一个差错检验字节; • 对一条报文中的所有字节进行数学或逻辑运算,计算出校验和—作为差错检验字节,与通信数据一起组成该条报文; • 接收端对收到的数据重复这样的计算,如果得到一个不同的结果,就认为传输发生了错误。
循环冗余校验(CRC) • 采用循环冗余校验时,发送端发送的信息由基本信息位与校验冗余位两部分组成。发送端在发送基本信息位的同时,发送端的CRC校验位生成器自动生成CRC校验位(由基本信息除以所谓生成多项式而得),一旦基本信息位发送完,就将CRC校验位紧随其后发送; • 接收端用接收到的基本信息及校验位除以同一多项式,如果这种除法的余数为0,即能被除尽,则认为传输正确;否则认为传输错误。
5 纠正错误 常用的纠错方式有三种:重发纠正错误、自动纠正错误、混合纠正错误。 • 重发纠正错误 当接收端检测出接收错误时,以适当方式将检测结果反馈给发送端,发送端重新发送该信息。这种过程可以重复多次,直至接收端接收正确为止。