单片机和嵌入式系统编程_01_V1

上传人:woxinch****an2018 文档编号:57125818 上传时间:2018-10-19 格式:PPT 页数:28 大小:2.68MB
返回 下载 相关 举报
单片机和嵌入式系统编程_01_V1_第1页
第1页 / 共28页
单片机和嵌入式系统编程_01_V1_第2页
第2页 / 共28页
单片机和嵌入式系统编程_01_V1_第3页
第3页 / 共28页
单片机和嵌入式系统编程_01_V1_第4页
第4页 / 共28页
单片机和嵌入式系统编程_01_V1_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《单片机和嵌入式系统编程_01_V1》由会员分享,可在线阅读,更多相关《单片机和嵌入式系统编程_01_V1(28页珍藏版)》请在金锄头文库上搜索。

1、单片机原理与应用,2018/10/19,第5部分 单片机和嵌入式系统编程 2,学习内容和目标 从信息交互角度的建立通讯的概念 总览各种通讯方法,及其注意事项 建立帧、包、报文等基本概念,以及其使用方法 建立通讯中需要注意的问题注意: 思维一定要开阔一些,多问为什么。 允许不用举手,并随时打断,向我提任何和课程相关的问题。,2018/10/19,2,本节学习目标,1.1 引言 信息交互:发出和接收信息的过程。 通常由6个部分组成:信息源、信息、信息传递的通道或网络、接收者、反馈、噪音。 事实上,信息交互不仅仅存在于通讯系统中。至少目前的定义,通讯就是信息交互的过程。那么请从信息流的角度看待通讯问

2、题 即使对于某个测控系统,当中传递的也是信息(信号只是信息的载体)。,2018/10/19,3,1 信息交互与通讯,继续考虑上述的封闭测控系统,可以在任何一个环节与环节之间采用模拟的或数字的通讯方式,传递信息。,2018/10/19,4,1.1 引言(续1),需要考虑的是如何有效的传递信息: 采用何种载体 如何保证信息在传递过程中的正确率,请务必注意:必须依据信源特性确定载体类型、特征等问题。,当前来说,信号是目前在工业中传递信息最常用的载体。当前,工业中常用的标准信号规格可以分为: 模拟信号:05V的电压信号、420mA的电流信号 数字信号:这是目前用的最多的,并且有着多种形式可供选择。 不

3、论传递何种信号,必然需要考虑两个内容: 确定发射机与接收机之间的物理连接方法; 确定发射机和接收机之间对话模式。 物理链接、对话模式、信号特征三者往往是统一的,必须综合考虑。另外,在实现中往往加入其他因素进行综合考虑,例如:环境状况、成本问题、工艺问题、保密性问题、对以下2个实例进行分析:为什么使用这种方式?能否使用其他的通讯方式?实现这些通讯方式的过程中需要注意哪些内容? 电缆式测井中采用7000m电缆将仪器和HOST PC连接起来。但是在仪器与遥传短节之间采用 CAN Bus连接; 在一些数控机床中,PLC的CPU模块与其他模块采用RS232通讯。,2018/10/19,5,1.2 信号、

4、信号传输与通讯,对以下2个实例进行分析:为什么使用这种方式?能否使用其他的通讯方式?实现这些通讯方式的过程中需要注意哪些内容? 电缆式测井中采用7000m电缆将仪器和HOST PC连接起来。但是在仪器与遥传短节之间采用 CAN Bus连接; 在一些数控机床中,PLC的CPU模块与其他模块采用RS232通讯。,2018/10/19,6,1.2 信号、信号传输与通讯(续1),接口:泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。 对于目前的信息科学领域,接口可以分为两大类: 软件接口:例如,用户界面、J

5、AVA接口、动态链接库接口、 硬件接口:RS232、Ethernet、I2C、 简单的说接口就是一个契约或者规范。 正如,信号可以分为两类一样,接口也可以分为两类: 模拟接口: 数字化接口: 不论是模拟或数字接口,都必须在数字化控制中考虑以下问题: 速度: 资源占用:CPU时间、中断、DMA 传输距离: 差错控制: 供电: 其他:,2018/10/19,7,1.3 通讯接口引论,2.1 引言 考虑:在MCU内部,所谓总线是否可以归纳到接口的范畴。在这里,若非特别指明,接口均指代系统间的通讯连接。,2018/10/19,8,2 数字化通讯接口,大部分的数字化通讯接口以下图为基础进行修改,实现通讯

6、。,2018/10/19,9,2.2 数字化接口电路的构成,接口的基本功能: 数据传送:CPU执行输入/输出指令与外部设备交换数据。(串行、并行) 数据缓冲:用于输入输出过程中的暂存,对方不能及时接收数据时,将数据暂存在接口电路中。根据接口的需要可以是1个或2个字节,或是FIFO存储器,也可以是数据存储区。 信号变换:完成数字信号与I/O设备信号(如模拟信号、开关信号、计数脉冲等)的相互转换。 中断:大多数接口电路有中断功能,以提高接口程序的效率。接口的高级功能 差错控制:实现检错或纠错。 高层通信协议:实现呼叫、数据包、流量控制等。 即插即用、电源管理、动态配置等。,2018/10/19,1

7、0,2.3 通讯接口运行概述,接口的操作:程序对接口的访问(读/写)方式。不同的接口电路支持不同的操作方式。 查询控制方式:在程序的主动控制下,通过读取状态寄存器了解接口的情况,完成相应的程序操作。为了及时了解接口的状态,需要时间密集的查询操作。CPU效率低。 中断控制方式:当接口出现需要程序干预的事件,通过中断通知CPU,CPU再读取状态寄存器,确定事件的种类,以便执行不同的代码处理。CPU效率高而且及时。 DMA控制方式:CPU与接口的数据传送采用DMA传送,即传送的具体过程由硬件(DMA控制器)完成,传送速度比通过CPU快,尤其是在批量传送时效率很高。,2018/10/19,11,2.3

8、 通讯接口运行概述(续1),通信协议是指通信双方对数据传送控制的一种约定,包括对数据格式,同步方式,传送速度,传送步骤,检纠错方式以及控制字符定义等问题做出统一规定。通信双方必须共同遵守,它也叫做链路控制规程。 由于这些规格(语言)的规定都是事先在会议上讲好的,一般我们称之为“协议”(英文称为protocol)。 协议主要由以下三个要素组成: 语法:“如何讲”,数据的格式、编码和信号等级(电平的高低) 语义:“讲什么”,数据内容、含义以及控制信息。 定时规则(时序):明确通信的顺序、速率匹配和排序。讨论接口则必须讨论协议,硬件接口相同,不代表协议相同;协议类型相同,不代表编码方式相同;。正是由

9、于多种不同,使得目前存在各种各样的通讯方式。 例如,同样是TCP协议,但是并非一定使用RJ45接头;同样电平标准也可以设定的不同。同样,对于RS232的串口标准,即使按照以前规定的7位字符位,但是若组成方式不同也会有不同。,2018/10/19,12,2.4 数字通讯协议,可以参考ISO/OSI的7层网络架构。 实现信息交互/通讯,的最终目标是考虑如何让接收方能够“理解”发送方的意图。,2018/10/19,13,2.5 完整的数字化通讯模型,多种多样、千变万化的通讯接口。 PC机常用内部总线和接口:ISA、PCI、PCI-E、Compact-PCI、PC104、PXI、PC104 Plus、

10、DDR 3、STAT、STAT 2、SCSI、 PC机常用对外总线和接口:RS232、PS2、VGA、HDMI、USB 2.0、USB3.0、SCSI、PCMCIA、 常用无线接口:Blue Tooth、WIFI、CDMA、WCDMA、LTE、芯片之间常用接口: 高速串口:SPI、HDMI、PCI-E 并口: 低速串口:I2C工业常用接口: 早期串行接口:RS232、RS422、RS485、 工业网络总线:工业以太等 现场总线:目前比较热门的接口 其他:,2018/10/19,14,2.6 常见通讯接口举例,3.1 数据传输中的报文 报文(message)是通讯中交换与传输的数据单元,即站点一

11、次性要发送的数据块。 报文包含了将要发送的完整的数据信息,其长短很不一致,长度不限且可变。 显然报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输。封装的方式就是添加一些信息段,那些就是报文头以一定格式组织起来的数据。比如里面有报文类型,报文版本,报文长度,报文实体等等信息。 注意: 报文帧; 报文是一个完整的内容,当然可以将一个很长的、很大的报文拆分成几个小的报文 报文不是由硬件完成的,而是由通讯双发约定的(协议) 由于为通讯使用,所以报文还必须考虑到便于传输、校验、信息说明等内容,2018/10/19,15,3 报文、包和帧的概念,一般在ISO的网络层,往往将报文拆分后,根

12、据各自的通讯协议进行封装,并下发到下一层。打包的工作可以分为两类,一类是需要用户实现的,一类则可以依靠硬件驱动和硬件实现的。 譬如,某网页的内容非常多,不可能仅靠一个报文就够的。因此可以对报文进行拆分。拆分后,依据网络层进行打包传递。但是将较大的报文进行拆分,将面对多的问题(略)。有些工作目前已经被整合到驱动中,有些则需要用户自己实现。 在有些接口协议中,帧数据就是包数据。但是请不要将包和帧等同起来。 对于包的理解,在TCP/IP中应用的非常多。推荐书籍:TCP/IP详解(3卷),W.Richard Stevens 著,机械工业出版社,2018/10/19,16,3.2 数据传输中的数据包(p

13、acket),通讯传输中,帧是由不同的“位”组成的最小数据段。数据包往往也会被拆分,按照帧的单位进行传输。 帧由几部分组成,不同的部分执行不同的功能。 例如CAN Bus协议,将帧同报文一样,分成帧头、数据、帧尾三个部分。 帧头和帧尾往往由协议自动指定。 帧的大小由通讯设备来确定,对于有些通讯接口而言,帧的大小是固定的,例如RS232、CAN Bus等;但是有些通讯接口的帧大小是在一定范围内浮动的,例如以太网。 不仅在通讯接口中,帧的概念在其他很多地方都有使用。例如,目前的有些高清摄像机,实际保存的是图片,只不过拍摄这些图片的时间间隔非常短,连续起来就像视频(事实上视频也是按照帧进行划分的)。

14、这些图片往往被称为帧。 帧的结构是由相对应的通讯接口进行确定的。 在很多通讯协议中(例如RS232、CAN Bus、SPI等),报文被拆分成包或帧。因此对于接收方来说,获取接收信息,必须按照规则将帧进行整合,从而得到报文。,2018/10/19,17,3.3 帧(Frame),虽然协议,或者接口,均带有编码和解码的概念,但是并不是我们说采用何种通讯接口,就可以实现通讯。在当前的很多工业通讯中,接口并未定义应用层和表示层的协议。换句话说,这些接口只能够告诉你报文的0、1组成方式,而不能告诉你报文所代表的具体含义。 编码往往具有两种范畴: 将对象数据采用约定的协议(往往自定义),切分成由0、1组成

15、的数据段; 在通信理论中,编码是对原始信息符号按一定的数学规则所进行的变换。编码的目的是要使信息能够在保证一定质量的条件下尽可能迅速地传输至信宿。 事实上,在应用中这两种范畴都使用到了。解码则是编码的逆过程。,2018/10/19,18,4 编码(Code)和解码(Decode),某设备中,采用以太网传输采样数据、控制命令、状态信息等内容。,2018/10/19,19,5 报文编码和解码示例1,考虑: 如何来保证接收方能够接收到来自发送方的数据和指令? 必须保证不能丢数据; 必须保证能够正确的理解数据背后的含义;,显然需要分析对象特征从而确定以下内容 分析应用环境,以保证可靠性 分析数据流量和

16、传输特征,来确定传输速率、带宽 分析交互方法,从而确定通讯协议 分析数据类型,划分报文 分析传递的信息内容,确定报文编码、解码方式 其他;以上内容并非各自独立,确定使用何种通讯协议必须综合考虑所有因素,有时因素之间存在矛盾的问题,因此需要根据对象特性进行平衡。 如果经过综合分析和论证,选定了通讯协议和接口,那么报文的编码和解码方式则可以开始。,2018/10/19,20,5 报文编码和解码示例1(续1),在这里,我们将所有的报文分为三个部分:报文头、报文正文、报文尾。报文结构 报文头结构 报文尾结构,2018/10/19,21,5 报文编码和解码示例1(续2),在报文头中: 报文起始标志:0x55AA是常用的标志 由于存在多种报文,每种报文长度并不确定,为了方便将帧数据组装成报文,则需要给出报文长度 发送方标识:由于具有多个设备,每个设备均可以做发送方,并且每个发送方数据的含义不同,因此为了方便解码必须指定发送方,从而使用对应的编码方式。(当然还有其他原因,略) 报文类型:有时候一个个发送方会发送多种报文,为了区别这种来自单个设备的多个报文。(问:如果这样为啥还用发送方标识) 时戳:当前报文发送和接收到的时间。报文尾的主要目的在于: 如何确定报文结束; 如何确定报文接收的正确性; 如何保证帧组装和解码时,不会出错。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号