通信接口与通信协议.ppt

上传人:小飞机 文档编号:5320857 上传时间:2023-06-25 格式:PPT 页数:65 大小:1.48MB
返回 下载 相关 举报
通信接口与通信协议.ppt_第1页
第1页 / 共65页
通信接口与通信协议.ppt_第2页
第2页 / 共65页
通信接口与通信协议.ppt_第3页
第3页 / 共65页
通信接口与通信协议.ppt_第4页
第4页 / 共65页
通信接口与通信协议.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《通信接口与通信协议.ppt》由会员分享,可在线阅读,更多相关《通信接口与通信协议.ppt(65页珍藏版)》请在三一办公上搜索。

1、通信接口与通信协议,Bob Bi,OSI:Open System Interconnection,通信接口与通信协议,并行通信与串行通信,Parallel bus,ISA,PCI,AXISPIIICRS232RS485/RS422CANUSBNetworkMODBUSJTAG,常用名词,通信介质双绞线,同轴电缆,光纤等。总线两个或多个通信主体共享的一组通信线路。通信协议描述了各通信主体在总线上的通信规则。时序图是描述硬件协议的常用方法。通信主体指参与通信的操作设备,如处理器,存储器等。一般分为主操作设备(master)和从操作设备(slave)。带宽,数据传输速率,波特率,Communicat

2、ion terms,数据方向表示待传输的数据在通信主体间的移动方向。可以用接收/发送来表示。单工,全双工,半双工数据只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。地址表示待传输数据的来源或目的地。也可理解为通信主体在总线上的ID。同步通信,异步通信同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流。异步通信时不要求接收端时钟和发送端时钟同步。发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。,并行通信,处理器,存储器(从设备),data,addr,enable,r/w,enable,addr,data,fse

3、tup,fread,fsetup,fwrite,r/w,int,ISA 总线,SPI 总线概述,Serial Peripheral Interface 串行外围设备接口,是Motorola公司推出的一种同步串行接口技术。SPI 主要应用在 EEPROM,Flash,实时时钟(RTC),数模转换器(ADC),数字信号处理器(DSP)以及数字信号解码器之间.它在芯片中只占用四根管脚(Pin)用来控制以及数据传输,节约了芯片的 pin 数目,同时为 PCB 在布局上节省了空间.正是出于这种简单易用的特性,现在越来越多的芯片上都集成了 SPI技术.采用主-从模式(Master-Slave)控制方式,S

4、S信号进行对从设备的片选。采用同步方式(Synchronous)传输数据,主设备提供SCLK信号给从设备。,SPI总线连接,SPI连接方式SPI有4种工作方式,由CPOL和CPHL两位来决定。当CPOL为0时,CLK的空闲状态为低电平。当CPOL为1时,CLK的空闲状态为高电平。当CPHL为0时,在CLK的第1个跳变沿数据被采样。当CPHL为1时,在CLK的第2个跳变沿数据被采样。,SPI时序图:CPHL=1,SPI时序图:CPHL=0,SPI时钟配置,在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求。因为主设备这边的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一

5、定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据是在时钟的下降沿还是上升沿输出数据。但要注意的是由于主设备的SDO连接从设备的SDI从设备的SDO连接主设备的SDI从设备SDI接收的数据是主设备的SDO发送过来的主设备SDI接收的数据是从设备SDO发送过来的所以主设备这边SPI时钟极性的配置即SDO的配置跟从设备的SDI接收数据的极性是相反的跟从设备SDO发送数据的极性是相同的。,IIC总线概述,I2C总线是Philips公司开发的一种二线串行总线,可以使嵌入式系统中的外部设备和CPU 以及外设之间进行进行通信。SDA:串行数据总线(Serial DAta)SCL:串行时钟信号(Serial

6、 CLock)支持多主通信,是多主机总线。技术指标:传输速率:100kbps 3.4Mbps寻址位数:7位 10位,IIC总线连接方式,IIC总线接口电平,SDA和SCL在空闲状态都是高电平。所有设备的SDA和SCL线与连接。SCL 线是高电平时,SDA 线从高电平向低电平切换表示起始条件。当SCL 是高电平时,SDA 线由低电平向高电平切换表示停止条件。正常通信时,SDA在SCL为高时保持稳定,当SCL为低时数据变化。,IIC总线时序图,IIC总线有很多工作模式,下面是最简单的一个模式的数据传输时序。,串行同步通信协议,面向比特的同步协议。,串行异步通信协议,起止式异步协议的特点是一个字符一

7、个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位,为低电平,字符本身有5-7位数据位组成,接着字符后面是一位校验位,也可以没有校验位。最后是一位,或二位停止位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平,这样就保证起始位开始处一定有一个下跳沿。,RS-232概述,RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(recommended standard)代表推荐标准,232是标识号,C

8、代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EIARS-422A、EIA RS-423A、EIARS-485。它适合于数据传输速率在020kb/s范围内的通信。在通信速率低于20kb/s时,RS-232C 所直接连接的最大物理距离为15m(50英尺)。EIA-RS-232C 的电气特性(在TxD和RxD上)逻辑1(MARK)=-3V-15V逻辑0(SPACE)=+3+15V,RS-232C连接,RS-232C规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线,

9、常用的只有9根。一般用3根。,RS-422,在RS-232的基础上,为了增强驱动能力和抗干扰能力,产生了RS-422。RS-422有两对差分信号传输线,一对发送,一对接收。RS-422的电气特性:逻辑“1”以两线间的电压差为+(26)V表示;逻辑“0”以两线间的电压差为-(26)V表示。RS-422最大的通信距离约为1219m,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S的传输速率下,才可以达到最大的通信距离。,RS-422,由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力,故允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Mast

10、er),其余为从设备(Salve),从设备之间不能通信,所以RS-422支持点对多的全双工通信。,RS-485,RS-485的电气特性和RS-422一样。RS-485,在RS-422后推出,绝大部分继承了422,主要的差别是RS-485可以是半双工的,而且一个驱动器的驱动能力至少可以驱动32个接收器(即接收器为1/32单位负载),当使用阻抗更高的接收器时可以驱动更多的接收器。所以现在大多数全双工485驱动/接收器对都是标:RS422/485的,因为全双工RS485的驱动/接收器对一定可以用在RS422网络。RS-485总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者2

11、56个节点,最大的可以支持到400个节点。RS-485组成半双工网络,一般是两线制,多采用屏蔽双绞线传输。RS-485网络中只能有一个主设备,其余为从设备。,RS-485 总线网络,RS485网络拓扑采用终端匹配的总线结构。构建时需注意:1.采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。2.应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。3.终端负载电阻问题,需在总线电缆的开始和末端都并接终端电阻,阻值一般为120,因为一般双绞线的特性阻抗为100120.,CAN bus,控制器局域网CAN(Co

12、ntroller Area Network),最初是由德国Bosch公司设计的,应用于汽车的监测和控制。1991年9月,Philips制定并发布CAN技术规范:CAN 2.0 A/B。1993年11月,ISO组织正式颁布CAN国际标准 ISO11898。CAN-bus是唯一成为国际标准的现场总线,也是国际上应用最广泛的现场总线之一。CAN总线协议包括对CAN控制器和收发器的规定。即包括物理层和数据链路层。,CAN bus,通讯距离与波特率有关,最大通讯距离可达10km,最大通讯波持率可达1Mbps。CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN

13、总线上最大地址数可达256,实际收发器一般支持120个。显性(逻辑0):CAN_H对地为3.5V(3V),CAN_L为1.5V(1V)隐性(逻辑1):CAN_H对地为2.5V(2.3V),CAN_L为2.5V(2.3V)CAN2.0A:CAN标准报文格式CAN2.0B:CAN标准报文格式和扩展报文格式具有11位标识符的CAN帧称为:标准帧具有29位标识符的CAN帧称为:扩展帧,CAN bus,CAN总线收发器CAN总线网络连接和匹配电阻的设计可参考RS-485总线匹配电阻设计。原理相同。,CAN bus 帧格式,数据桢:从发送节点向其它节点发送数据远程帧:向其它节点请求发送具有同一识别符的数据

14、桢错误帧:指明已检测到总线错误过载帧:用以在数据桢(或远程帧)之间提供一份附加的延时,CAN bus 标准数据桢结构,CAN bus 扩展数据桢结构,CAN bus 总线仲裁,总线上显性电平支配隐性电平。逻辑0为显性电平,逻辑1为隐性电平。总线空闲时,任何节点可以发送报文。总线上每条报文都具有惟一的11位或者29位标识符。报文标识符的值越小,具有越高的优先权。多个节点同时发送时,总线在”仲裁场”逐位仲裁,高优先权的报文赢得仲裁,继续发送报文。失去仲裁权的报文在总线空闲时重新发送。,CAN bus 仲裁,USB概述,USB(Universal Serial BUS,通用串行总线)是在1994年底

15、由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。USB的显著特点就是支持即插即用和热插拔功能。目前主要使用的协议版本为USB1.1,USB2.0和USB3.0,各协议向下兼容。USB1.1支持12Mbps和1.5Mbps的数据传输率。USB2.0支持高达480Mbps的数据传输率。USB3.0支持5Gbps。USB标准接口为4针插头(USB3.0为9针)。,USB网络,USB网络采用阶梯式星形拓扑结构。一个USB网络中只能有一个主机。主机内设置了一个根集线器,提供了主机上的初始附属点。USB协议规定最多允许5级集线器进行级联。,USB主设备和从设备,USB系统中包括主机,集线器

16、和从设备。主机中还集成了一个根集线器。主机定时对集线器的状态进行查询,当一个新设备接入集线器时,主机会检测到集线器状态改变,主机发出一个命令使该端口有效并对其进行设置。位于这个端口上的设备进行响应,主机收到关于设备的信息,主机的操作系统确定对这个设备使用那种驱动程序,接着设备被分配一个唯一标识的地址,范围从0127,其中0为所有的设备在没有分配惟一地址时使用的默认地址。主机向它发出内部设置请求。当一个设备从总线上移走时,主机就从其可用资源列表中将这个设备删除。,USB主机,USB的所有数据通信(不论是上行通信还是下行通信)都由USB主机启动,所以USB主机在整个数据传输过程中占据着主导地位。在

17、USB系统中只允许有一个主机。从开发人员的角度看,USB主机可分为三个不同的功能模块:客户软件、USB系统软件和USB总线接口。客户软件一般包括USB设备驱动程序和界面应用程序两部分。USB系统软件一般包括USB总线驱动程序和USB主控制器驱动程序这两部分。这些软件通常由操作系统提供,开发人员不必掌握。USB总线接口包括主控制器和根集线器两部分。该部分与USB系统软件的接口依赖于主控制器的硬件实现,开发人员不必掌握。,USB从设备,设备代表一个USB设备,它由一个或多个配置组成。设备描述符用于说明设备的总体信息,并指明其所含的配置的个数。一个USB设备只能有一个设备描述符。一个USB设备可以包

18、含一个或多个配置,如USB设备的低功耗模式和高功耗模式可分别对应一个配置。在使用USB设备前,必须为其选择一个合适的配置。配置描述符用于说明USB设备中各个配置的特性,如配置所含接口的个数等。USB设备的每一个配置都必须有一个配置描述符。一个配置可以包含一个或多个接口,如对一个光驱来说,当用于文件传输时使用其大容量存储接口;而当用于播放CD时,使用其音频接口。接口是端点的集合,可以包含一个或多个可替换设置,用户能够在USB处于配置状态时,改变当前接口所含的个数和特性。接口描述符用于说明USB设备中各个接口的特性,如接口所属的设备类及其子类等。USB设备的每个接口都必须有一个接口描述符。,USB

19、从设备,端点是USB设备中的实际物理单元,USB数据传输就是在主机和USB设备各个端点之间进行的。端点一般由USB接口芯片提供,例如Freescale的MC68HC908JB8。USB设备中的每一个端点都有唯一的端点号,每个端点所支持的数据传输方向一般而言也是确定的:或是输入(IN)或是输出(OUT),也有些芯片提供的端点的数据方向是可以配置的,例如MC68HC908JB8包含有两个用于数据收发的端点:端点1和端点2。其中端点1只能用于数据发送,即支持输入(IN),端点2既能用于数据发送也可用于数据接收,即支持输入(IN)和输出(OUT)操作。需要注意的是,在这里数据的传输方向是站在主机的立场

20、上来看得。比如端点1只能发送数据,在主机看来是端点1向主机输入数据,即IN操作;当端点2配置为接收数据时,主机向端点2输出数据,即OUT操作。这一点是初学者比较容易产生混淆的地方。利用设备地址、端点号和传输方向就可以指定一个端点,并和它进行通信。0号端点比较特殊,它有数据输入IN和数据输出OUT两个物理单元,且只能支持控制传输。,USB从设备,在USB设备中通常还含有字符串描述符,以说明一些专用信息,如制造商的名称、设备的序列号等。它的内容以UNICODE的形式给出,且可以被客户软件所读取。对USB设备来说,字符串描述符是可选的。在USB系统结构中,可以认为数据传输是在主机软件(USB系统软件

21、或客户软件)和USB设备的各个端点之间直接进行的,它们之间的连接称为管道。管道是在USB设备的配置过程中建立的。管道和USB设备中的端点一一对应。一个USB设备含有多少个端点,其和主机进行通信时就可以使用多少条管道,USB接口,USB使用一根屏蔽的4线电缆与网络上的设备进行互联。数据传输通过一个差分双绞线进行,这两根线分别标为D+和D-,另外两根线是Vcc和Ground,其中Vcc向USB设备供电。使用USB电源的设备称为总线供电设备,而使用自己外部电源的设备叫做自供电设备。为了避免混淆,USB电缆中的线都用不同的颜色标记。通常VCC为5V,可以提供500mA的电流。D+和D-为差分信号,在+

22、400mV和-400mV之间变化。,USB接口,从一个设备连回到主机,称为上行连接;从主机到设备的连接,称为下行连接。为了防止回环情况的发生,上行和下行端口使用不同的连接器。A型连接头,用于上行连接。而B型插头在从主机或集线器接出的下行电缆的一端。,USB通信格式,USB的数据包使用反向不归零编码(NRZI)。USB控制器发送/接收信号会进行编/解码。在反向不归零编码时,遇到“0”转换,遇到“1”保持。,USB检测设备连接和速度,USB通信协议,包(Packet)是USB系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。USB包由五部分组成,即同步字段(SYNC)、包标识符字段(

23、PID)、数据字段、循环冗余校验字段(CRC)和包结尾字段(EOP),包的基本格式如下图:SYNC字段:由8位组成,作为每个数据封包的前导,用来产生同步作用,使USB设备与总线的包传输率同步,它的数值固定为00000001。PID字段:用来表示数据封包的类型。包标识符中的校验字段是通过对类型字段的每个位求反码产生的,PID字段如下图所示:,USB通信协议,信息包的类型,包括令牌、数据、握手或特殊四种信息包类型。,USB数据传输,在USB的传输中,制定了4种传输类型:控制传输、中断传输、批量传输以及等时传输。控制传输类型分为23个阶段:设置阶段、数据阶段(无数据控制没有此阶段)以及状态阶段。根据

24、数据阶段的数据传输的方向,控制传输又可分为3种类型:控制读取(读取USB描述符)、控制写入(配置USB设备)以及无数据控制。设备列举过程第一步,使用预设的地址0取得设备描述符。第二步,设置设备的新地址。第三步,使用新地址取得设备描述符。第四步,取得配置描述符。第五步,设置配置描述符。,工业以太网概述,嵌入式系统常用的以太网协议是IEEE802.3(Ethernet)/IEEE802.3u.工业以太网数据传输特点:1.所有数据位的传输由低位开始,传输的位流是用曼彻斯特编码。2.以太网是基于冲突检测的总线复用方法,冲突退避算法是由硬件自动执行的。3.以太网传输的数据段的长度,DA+SA+TYPE+

25、DATA+PAD最小为60B,最大为1514B。4.通常的以太网卡可以接收3种地址的数据,一个是广播地址,一个是多播地址(或者叫组播地址,在嵌入式系统中很少用到),一个是它自己的地址。但有时,用于网络分析和监控,网卡也可以设置为接收任何数据包。5.任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配。不同厂家使用不同地址段,同一厂家的任何两个网卡的地址也是唯一的。根据网卡的地址段(网卡地址的前3个字节)可以知道网卡的生产厂家。,工业以太网协议分层,物理传输帧,MAC层的物理传输帧格式:同步位,用于收发双方的时钟同步,同时也指明了传输的速率,是56位的的二进制数,最后2位是

26、10。SD:分隔位,表示下面跟着的是真正的数据而不是同步时钟,为8位的10101011。DA:目的地址,以太网的地址为48位(6个字节)二进制地址,表明该帧传输给哪个网卡。如果为FFFFFFFFFFFF,则是广播地址。广播地址的数据可以被任何网卡接收到。SA:源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同样是6个字节。,物理传输帧,TYPE:类型字段,表明该帧的数据是什么类型的数据,不同协议的类型字段不同。如:0800H表示数据为IP包,0806H表示数据为ARP包,814CH是SNMP包,8137H为IPX/SPX包。小于0600H的值是用于IEEE802的,表示数据包

27、的长度。DATA:数据段,该段数据不能超过1500B。因为以太网规定整个传输包的最大长度不能超过1514E(14B为DA,SA,TYPE)。PAD:填充位。由于以太网帧传输的数据包最小不能小于60B,除去(DA、SA、TYPE的14B),还必须传输46B的数据,当数据段的数据不足46B时,后面通常是补0(也可以补其他值)。FCS:32位数据校验位。32位的CRC校验,该校验由网卡自动计算,自动生成,自动校验,自动在数据段后面填入。不需要软件管理。通常,PR、SD、PAD、FCS这几个数据段都是网卡(包括物理层和Mac层的处理)自动产生的,剩下的DA、SA、TYPE、DATA这4个段的内容是由上

28、层的软件控制的。,工业以太网接口,在嵌入式系统中增加以太网接口,通常有如下两种方法实现:嵌入式处理器网卡芯片带有以太网接口的嵌入式处理器,工业以太网接口,DTE接口定义数据终端设备包括网卡路由器,以太网接口DCE接口定义数据通信设备包括交换机,MODBUS协议概述,Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动Modbus在基于以太网上的分布式应用,目前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for Distributed Automation,分布式自动化接口)组织,

29、并成立了Modbus-IDA组织,为Modbus今后的发展奠定了基础。MODBUS协议为应用层协议。控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。,MODBUS协议概述,MODBUS通用帧,MODBUS 协议定义了一个与基础通信层

30、无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS 协议映射能够在应用数据单元(ADU)上引入一些附加域。通用MODBUS帧地址域有256个不同地址,MODBUS功能码分类,MODBUS传输模式,MODBUS使用RTU模式或者ASCII模式。RTU模式为默认模式。一个MODBUS网络必须使用相同的模式。RTU(Remote Terminal Unit)模式:报文中每个8位字节含有两个4 位十六进制字符。RTU模式位序列RTU报文帧RTU报文帧必须以连续字符流发送,如果两个字符之间的空闲间隔大于1.5 个字符时间,则报文帧被认为不完整应该被接收节点丢弃。,MODBUS传输模式,AS

31、CII(American Standard Code for Information Interchange):报文中的每个 8 位子节以两个ASCII 字符发送(例如:子节0X5B 会被编码为两个字符:0 x35 和0 x42(ASCII 编码0 x35=5,0 x42=B)。)。当通信链路或者设备无法符合RTU 模式的定时管理时使用该模式。ASCII模式位序列ASCII报文帧报文中字符间的时间间隔可以达一秒。如果有更大的间隔,则接受设备认为发生了错误。,JTAG概述,JTAG(Joint Test Action Group,联合测试行动组)是一种国际标准测试协议(IEEE 1149.1兼容

32、)。标准的JTAG接口是4线TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。标准还有其他选用的信号如TRST等。JTAG主要功能有二,一为测试芯片的电气特性,二为Debug,对芯片及外围设备进行测试。JTAG的工作原理可以归结为:在器件内部定义一个TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试和调试。,边界扫描BS,在JTAG调试当中,边界扫描(Boundary-Scan)是一个很重要的概念。边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围

33、),所以被称为边界扫描寄存器(Boundary-Scan Register Cell)。当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。对于芯片的输入管脚,可以通过与之相连的边界扫描寄存器单元把信号(数据)加载倒该管脚中去;对于芯片的输出管脚,也可以通过与之相连的边界扫描寄存器“捕获”(CAPTURE)该管脚上的输出信号。在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。,边界扫描链BSC,芯片输入输出管脚上的边界扫描(移位)寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-Scan Chain)。,TAP 状态机,TAP 结构示例,TAP结构示例,Scan Chain 0 内核的外围电路,包括数据总线、地址总线等,长度113位。Scan Chain 1为扫描链0的子集,包括0-31数据总线及BREAKPT信号,长度33位。Scan Chain 2访问EmbeddedICE-RT的内部寄存器,长度38位。可以让控制器进入调试状态,设置断点、观察点。Scan Chain 3边界扫描链,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号