1、Click to modify the text,Second level,Third level,Fourth level,Enter slide title,APC by Schneider Electric,Name Date,All content in this presentation is protected 2008 American Power Conversion Corporation,Click to modify the text,Second level,Third level,Fourth level,Enter slide title,通信接口与通信协议,Bob
2、 Bi,OSI:Open System Interconnection,通信接口与通信协议,并行通信与串行通信,Parallel bus,ISA,PCI,AXI,SPI,IIC,RS232,RS485/RS422,CAN,USB,Network,MODBUS,JTAG,常用名词,通信介质,双绞线,同轴电缆,光纤等。,总线,两个或多个通信主体共享的一组通信线路。,通信协议,描述了各通信主体在总线上的通信规则。时序图是描述硬件协议的常用方法。,通信主体,指参与通信的操作设备,如处理器,存储器等。一般分为主操作设备(,master,)和从操作设备(,slave,)。,带宽,数据传输速率,波特率,Co
3、mmunication terms,数据方向,表示待传输的数据在通信主体间的移动方向。可以用接收,/,发送来表示。,单工,全双工,半双工,数据只能单向传送为单工;信息能双向传送但不能同时双向传送称为半双工;信息能够同时双向传送则称为全双工。,地址,表示待传输数据的来源或目的地。也可理解为通信主体在总线上的,ID,。,同步通信,异步通信,同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流。异步通信时不要求接收端时钟和发送端时钟同步。发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。,并行通信,处理器,存储器,(从设备),data,addr,enable,r/w,
4、enable,addr,data,f,setup,f,read,f,setup,f,write,r/w,int,ISA,总线,SPI,总线概述,Serial Peripheral Interface,串行外围设备接口,是,Motorola,公司推出的一种同步串行接口技术。,SPI,主要应用在,EEPROM,Flash,实时时钟,(RTC),数模转换器,(ADC),数字信号处理器,(DSP),以及数字信号解码器之间,.,它在芯片中只占用四根管脚,(Pin),用来控制以及数据传输,节约了芯片的,pin,数目,同时为,PCB,在布局上节省了空间,.,正是出于这种简单易用的特性,现在越来越多的芯片上都
5、集成了,SPI,技术,.,采用主,-,从模式,(Master-Slave),控制方式,,SS,信号进行对从设备的片选。,采用同步方式,(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,SP
6、I,时序图:,CPHL=0,SPI,时钟配置,在主设备这边配置,SPI,接口时钟的时候一定要弄清楚从设备的时钟要求。因为主设备这边的时钟极性和相位都是以从设备为基准的。因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据是在时钟的下降沿还是上升沿输出数据。但要注意的是由于主设备的,SDO,连接从设备的,SDI,从设备的,SDO,连接主设备的,SDI,从设备,SDI,接收的数据是主设备的,SDO,发送过来的主设备,SDI,接收的数据是从设备,SDO,发送过来的所以主设备这边,SPI,时钟极性的配置即,SDO,的配置跟从设备的,SDI,接收数据的极性是相反的跟从设备,SDO,
7、发送数据的极性是相同的。,IIC,总线概述,I,2,C,总线是,Philips,公司开发的一种二线串行总线,可以使嵌入式系统中的外部设备和,CPU,以及外设之间进行进行通信。,SDA:,串行数据总线,(Serial DAta),SCL:,串行时钟信号(,Serial CLock,),支持多主通信,是多主机总线。,技术指标:,传输速率:,100kbps 3.4Mbps,寻址位数:,7,位,10,位,IIC,总线连接方式,IIC,总线接口电平,SDA,和,SCL,在空闲状态都是高电平。所有设备的,SDA,和,SCL,线与连接。,SCL,线是高电平时,,SDA,线从高电平向低电平切换表示起始条件。,
8、当,SCL,是高电平时,,SDA,线由低电平向高电平切换表示停止条件。,正常通信时,,SDA,在,SCL,为高时保持稳定,当,SCL,为低时数据变化。,IIC,总线时序图,IIC,总线有很多工作模式,下面是最简单的一个模式的数据传输时序。,串行同步通信协议,面向比特的同步协议。,串行异步通信协议,起止式异步协议的特点是一个字符一个字符传输,并且传送一个字符总是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。,每一个字符的前面都有一位起始位,为低电平,字符本身有,5-7,位数据位组成,接着字符后面是一位校验位,也可以没有校验位。最后是一位,或二位停止位,停止位后面是不定长度的空闲位。
9、停止位和空闲位都规定为高电平,这样就保证起始位开始处一定有一个下跳沿。,RS-232,概述,RS-232C,标准(协议)的全称是,EIA-RS-232C,标准,其中,EIA(Electronic Industry Association,)代表,美国电子工业协会,,,RS,(,recommended standard,)代表推荐标准,,232,是标识号,,C,代表,RS232,的最新一次修改(,1969,),在这之前,有,RS232B,、,RS232A,。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有,EIA,RS-422,A,、,EIA RS-423A,、,EIA,R
10、S-485,。,它适合于,数据传输速率,在,0,20kb/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,根。一般用,3,根。,RS-422,在,RS-232,的基础上,为了增强驱动能力和抗干扰能力,产生了,RS-
11、422,。,RS-422,有两对差分信号传输线,一对发送,一对接收。,RS-422,的电气特性:逻辑“,1”,以两线间的电压差为,+(26)V,表示;逻辑“,0”,以两线间的电压差为,-(26)V,表示。,RS-422,最大的通信距离约为,1219m,,最大,传输速率,为,10Mb/S,,传输速率与传输距离成反比,在,100Kb/S,的传输速率下,才可以达到最大的通信距离。,RS-422,由于接收器采用高输入阻抗和发送,驱动器,比,RS232,更强的驱动能力,故允许在相同传输线上连接多个接收,节点,,最多可接,10,个节点。即一个主设备(,Master,),其余为从设备(,Salve,),从设
12、备之间不能通信,所以,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,个,节点,,如果使用特制的
13、485,芯片,可以达到,128,个或者,256,个节点,最大的可以支持到,400,个节点。,RS-485,组成半双工网络,一般是两线制,多采用屏蔽双绞线传输。,RS-485,网络中只能有一个主设备,其余为从设备。,RS-485,总线网络,RS485,网络拓扑采用终端匹配的总线结构。构建时需注意:,1.,采用一条双绞线电缆作总线,将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。,2.,应注意总线特性阻抗的连续性,在阻抗不连续点就会发生信号的反射。,3.,终端负载电阻问题,需在总线电缆的开始和末端都并接终端电阻,阻值一般为,120,,因为一
14、般双绞线的特性阻抗为,100120,.,CAN bus,控制器局域网,CAN(Controller Area Network),,最初是由德国,Bosch,公司设计的,应用于汽车的监测和控制。,1991年9月,,Philips,制定并发布,CAN,技术规范:,CAN 2.0 A/B。1993,年11月,,ISO,组织正式颁布,CAN,国际标准,ISO11898。,CAN-bus,是唯一成为国际标准的现场总线,也是国际上应用最广泛的现场总线之一。,CAN,总线协议包括对,CAN,控制器和收发器的规定。即包括物理层和数据链路层。,CAN bus,通讯距离与波特率有关,最大通讯距离可达,10km,,
15、最大通讯波持率可达,1Mbps,。,CAN,总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。,CAN,总线上最大地址数可达,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
16、CAN,总线收发器,CAN,总线网络连接和匹配电阻的设计可参考,RS-485,总线匹配电阻设计。原理相同。,CAN bus,帧格式,数据桢:从发送节点向其它节点发送数据,远程帧:向其它节点请求发送具有同一识别符的数据桢,错误帧:指明已检测到总线错误,过载帧:用以在数据桢(或远程帧)之间提供一份附加的延时,CAN bus,标准数据桢结构,CAN bus,扩展数据桢结构,CAN bus,总线仲裁,总线上显性电平支配隐性电平。,逻辑,0,为显性电平,逻辑,1,为隐性电平。,总线空闲时,任何节点可以发送报文。,总线上每条报文都具有惟一的,11,位或者,29,位标识符。,报文标识符的值越小,具有越高的
17、优先权。,多个节点同时发送时,总线在,”,仲裁场,”,逐位仲裁,高优先权的报文赢得仲裁,继续发送报文。,失去仲裁权的报文在总线空闲时重新发送。,CAN bus,仲裁,USB,概述,USB,(,Universal Serial BUS,,通用串行总线)是在,1994,年底由英特尔、康柏、,IBM,、,Microsoft,等多家公司联合提出的。,USB,的显著特点就是支持即插即用和热插拔功能。,目前主要使用的协议版本为,USB1.1,,,USB2.0,和,USB3.0,,各协议向下兼容。,USB1.1,支持,12Mbps,和,1.5Mbps,的数据传输率。,USB2.0,支持高达,480Mbps,
18、的数据传输率。,USB3.0,支持,5Gbps,。,USB,标准接口为,4,针插头(,USB3.0,为,9,针)。,USB,控制逻辑,收 发 器,USB,寄存器,D+,D-,USB,接口,CPU,总线,USB,功能模块图,USB,网络,USB,网络采用阶梯式星形拓扑结构。一个,USB,网络中只能有一个主机。主机内设置了一个根集线器,提供了主机上的初始附属点。,USB,协议规定最多允许,5,级集线器进行级联。,集线器,(复合设备),游戏杆,USB,设备,(,根阶梯,),阶梯,0,扫描仪,鼠标,集线器,USB,设备,阶梯,1,阶梯,2,主机,(根集线器),USB,主设备和从设备,USB,系统中包括
19、主机,集线器和从设备。主机中还集成了一个根集线器。主机定时对集线器的状态进行查询,当一个新设备接入集线器时,主机会检测到集线器状态改变,主机发出一个命令使该端口有效并对其进行设置。位于这个端口上的设备进行响应,主机收到关于设备的信息,主机的操作系统确定对这个设备使用那种驱动程序,接着设备被分配一个唯一标识的地址,范围从,0127,,其中,0,为所有的设备在没有分配惟一地址时使用的默认地址。主机向它发出内部设置请求。当一个设备从总线上移走时,主机就从其可用资源列表中将这个设备删除。,USB,主机,USB,的所有数据通信(不论是上行通信还是下行通信)都由,USB,主机启动,所以,USB,主机在整个
20、数据传输过程中占据着主导地位。在,USB,系统中只允许有一个主机。从开发人员的角度看,,USB,主机可分为三个不同的功能模块:客户软件、,USB,系统软件和,USB,总线接口。,客户软件一般包括,USB,设备驱动程序和界面应用程序两部分。,USB,系统软件一般包括,USB,总线驱动程序和,USB,主控制器驱动程序这两部分。这些软件通常由操作系统提供,开发人员不必掌握。,USB,总线接口包括主控制器和根集线器两部分。该部分与,USB,系统软件的接口依赖于主控制器的硬件实现,开发人员不必掌握。,USB,从设备,设备代表一个,USB,设备,它由一个或多个配置组成。设备描述符用于说明设备的总体信息,并
21、指明其所含的配置的个数。一个,USB,设备只能有一个设备描述符。,一个,USB,设备可以包含一个或多个配置,如,USB,设备的低功耗模式和高功耗模式可分别对应一个配置。在使用,USB,设备前,必须为其选择一个合适的配置。配置描述符用于说明,USB,设备中各个配置的特性,如配置所含接口的个数等。,USB,设备的每一个配置都必须有一个配置描述符。,一个配置可以包含一个或多个接口,如对一个光驱来说,当用于文件传输时使用其大容量存储接口;而当用于播放,CD,时,使用其音频接口。接口是端点的集合,可以包含一个或多个可替换设置,用户能够在,USB,处于配置状态时,改变当前接口所含的个数和特性。接口描述符用
22、于说明,USB,设备中各个接口的特性,如接口所属的设备类及其子类等。,USB,设备的每个接口都必须有一个接口描述符。,USB,从设备,端点是,USB,设备中的实际物理单元,,USB,数据传输就是在主机和,USB,设备各个端点之间进行的。端点一般由,USB,接口芯片提供,例如,Freescale,的,MC68HC908JB8,。,USB,设备中的每一个端点都有唯一的端点号,每个端点所支持的数据传输方向一般而言也是确定的:或是输入(,IN,)或是输出(,OUT,),也有些芯片提供的端点的数据方向是可以配置的,例如,MC68HC908JB8,包含有两个用于数据收发的端点:端点,1,和端点,2,。其中
23、端点,1,只能用于数据发送,即支持输入(,IN,),端点,2,既能用于数据发送也可用于数据接收,即支持输入(,IN,)和输出(,OUT,)操作。需要注意的是,在这里数据的传输方向是站在主机的立场上来看得。比如端点,1,只能发送数据,在主机看来是端点,1,向主机输入数据,即,IN,操作;当端点,2,配置为接收数据时,主机向端点,2,输出数据,即,OUT,操作。这一点是初学者比较容易产生混淆的地方。,利用设备地址、端点号和传输方向就可以指定一个端点,并和它进行通信。,0,号端点比较特殊,它有数据输入,IN,和数据输出,OUT,两个物理单元,且只能支持控制传输。,USB,从设备,在,USB,设备中通
24、常还含有字符串描述符,以说明一些专用信息,如制造商的名称、设备的序列号等。它的内容以,UNICODE,的形式给出,且可以被客户软件所读取。对,USB,设备来说,字符串描述符是可选的。,在,USB,系统结构中,可以认为数据传输是在主机软件(,USB,系统软件或客户软件)和,USB,设备的各个端点之间直接进行的,它们之间的连接称为管道。管道是在,USB,设备的配置过程中建立的。,管道和,USB,设备中的端点一一对应。一个,USB,设备含有多少个端点,其和主机进行通信时就可以使用多少条管道,USB,接口,USB,使用一根屏蔽的,4,线电缆与网络上的设备进行互联。数据传输通过一个差分双绞线进行,这两根
25、线分别标为,D+,和,D-,,另外两根线是,Vcc,和,Ground,,其中,Vcc,向,USB,设备供电。使用,USB,电源的设备称为总线供电设备,而使用自己外部电源的设备叫做自供电设备。为了避免混淆,,USB,电缆中的线都用不同的颜色标记。,通常,VCC,为,5V,,可以提供,500mA,的电流。,D+,和,D-,为差分信号,在,+400mV,和,-400mV,之间变化。,引脚编号,信号名称,缆线颜色,1,Vcc,红,2,Data-(D-),白,3,Data+(D+),绿,4,Ground,黑,USB,接口,从一个设备连回到主机,称为上行连接;从主机到设备的连接,称为下行连接。为了防止回环
26、情况的发生,上行和下行端口使用不同的连接器。,A,型连接头,用于上行连接。而,B,型插头在从主机或集线器接出的下行电缆的一端。,1,2,3,4,1,2,4,3,A,型连接头,B,型连接头,USB,通信格式,USB,的数据包使用反向不归零编码(,NRZI,)。,USB,控制器发送,/,接收信号会进行编,/,解码。,在反向不归零编码时,遇到“,0”,转换,遇到“,1”,保持。,在,USB,电缆上使用反向不归零编码和差动信号的传输,0,0,0,1,1,1,1,1,1,1,1,0,1,1,数据,空闲,反向不归零码,填充后数据,填充位,USB,检测设备连接和速度,USB,主机,USB,低速设备,USB,
27、数据线,+5V,D+,D-,15,千欧,1.5,千欧,Vcc,D+,D-,地,15,千欧,USB,主机,USB,全速设备,USB,数据线,+5V,D+,D-,15,千欧,1.5,千欧,Vcc,D+,D-,地,15,千欧,USB,通信协议,包(,Packet,)是,USB,系统中信息传输的基本单元,所有数据都是经过打包后在总线上传输的。,USB,包由五部分组成,即同步字段(,SYNC,)、包标识符字段(,PID,)、数据字段、循环冗余校验字段(,CRC,)和包结尾字段(,EOP,),包的基本格式如下图:,SYNC,字段,:,由,8,位组成,作为每个数据封包的前导,用来产生同步作用,使,USB,设
28、备与总线的包传输率同步,它的数值固定为,00000001,。,PID,字段,:,用来表示数据封包的类型。包标识符中的校验字段是通过对类型字段的每个位求反码产生的,,PID,字段如下图所示:,同步字段(,SYNC,),PID,字段,数据字段,CRC,字段,包结尾字段(,EOP,),PID0,PID1,PID2,PID3,PID0,PID1,PID2,PID3,USB,通信协议,信息包的类型,包括令牌、数据、握手或特殊四种信息包类型。,封包类型,PID,名称,PID,编码,意义,令牌,OUT,0001B,从主机到设备的数据传输,IN,1001B,从设备到主机的数据传输,SOF,0101B,帧的起始
29、标记与帧码,SETUP,1101B,从主机到设备。表示要进行控制传输,数据,DATA0,0011B,偶数数据封包,DATA1,1011B,奇数数据封包,握手,ACK,0010B,接收器收到无错误的数据封包,NAK,1010B,接收器无法接收数据或发射器无法送出数据,STALL,1110B,端点产生停滞的状况,特殊,PRE,1100B,使能下游端口的,USB,总线的数据传输切换到低速的设备,USB,数据传输,在,USB,的传输中,制定了,4,种传输类型:控制传输、中断传输、批量传输以及等时传输。,控制传输类型分为,2,3,个阶段:设置阶段、数据阶段(无数据控制没有此阶段)以及状态阶段。,根据数据
30、阶段的数据传输的方向,控制传输又可分为,3,种类型:控制读取(读取,USB,描述符)、控制写入(配置,USB,设备)以及无数据控制。,设备列举过程,第一步,使用预设的地址,0,取得设备描述符。,第二步,设置设备的新地址。,第三步,使用新地址取得设备描述符。,第四步,取得配置描述符。,第五步,设置配置描述符。,工业以太网概述,嵌入式系统常用的以太网协议是,IEEE802.3,(,Ethernet,),/IEEE802.3u.,工业以太网数据传输特点:,1.,所有数据位的传输由低位开始,传输的位流是用曼彻斯特编码。,2.,以太网是基于冲突检测的总线复用方法,冲突退避算法是由硬件自动执行的。,3.,
31、以太网传输的数据段的长度,,DA+SA+TYPE+DATA+PAD,最小为,60B,,最大为,1514B,。,4.,通常的以太网卡可以接收,3,种地址的数据,一个是广播地址,一个是多播地址(或者叫组播地址,在嵌入式系统中很少用到),一个是它自己的地址。但有时,用于网络分析和监控,网卡也可以设置为接收任何数据包。,5.,任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配。不同厂家使用不同地址段,同一厂家的任何两个网卡的地址也是唯一的。根据网卡的地址段(网卡地址的前,3,个字节)可以知道网卡的生产厂家。,工业以太网协议分层,物理传输帧,MAC,层的物理传输帧格式:,同步位,
32、用于收发双方的时钟同步,同时也指明了传输的速率,是,56,位的的二进制数,101010101010,,最后,2,位是,10,。,SD,:分隔位,表示下面跟着的是真正的数据而不是同步时钟,为,8,位的,10101011,。,DA,:目的地址,以太网的地址为,48,位(,6,个字节)二进制地址,表明该帧传输给哪个网卡。如果为,FFFFFFFFFFFF,,则是广播地址。广播地址的数据可以被任何网卡接收到。,SA,:源地址,,48,位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同样是,6,个字节。,物理传输帧,TYPE,:类型字段,表明该帧的数据是什么类型的数据,不同协议的类型字段不同。如:,
33、0800H,表示数据为,IP,包,,0806H,表示数据为,ARP,包,,814CH,是,SNMP,包,,8137H,为,IPX/SPX,包。小于,0600H,的值是用于,IEEE802,的,表示数据包的长度。,DATA,:数据段,该段数据不能超过,1500B,。因为以太网规定整个传输包的最大长度不能超过,1514E,(,14B,为,DA,,,SA,,,TYPE,)。,PAD,:填充位。由于以太网帧传输的数据包最小不能小于,60B,,除去(,DA,、,SA,、,TYPE,的,14B,),还必须传输,46B,的数据,当数据段的数据不足,46B,时,后面通常是补,0,(也可以补其他值)。,FCS,
34、32,位数据校验位。,32,位的,CRC,校验,该校验由网卡自动计算,自动生成,自动校验,自动在数据段后面填入。不需要软件管理。,通常,,PR,、,SD,、,PAD,、,FCS,这几个数据段都是网卡(包括物理层和,Mac,层的处理)自动产生的,剩下的,DA,、,SA,、,TYPE,、,DATA,这,4,个段的内容是由上层的软件控制的。,工业以太网接口,在嵌入式系统中增加以太网接口,通常有如下两种方法实现:,嵌入式处理器网卡芯片,带有以太网接口的嵌入式处理器,工业以太网接口,DTE,接口定义,数据终端设备包括网卡,路由器,以太网接口,DCE,接口定义,数据通信设备包括交换机,MODBUS,协
35、议概述,Modbus,是由,Modicon,(现为施耐德电气公司的一个品牌)在,1979,年发明的,是全球第一个真正用于工业现场的总线协议。为更好地普及和推动,Modbus,在基于以太网上的分布式应用,目前施耐德公司已将,Modbus,协议的所有权移交给,IDA,(,Interface for Distributed Automation,,分布式自动化接口)组织,并成立了,Modbus-IDA,组织,为,Modbus,今后的发展奠定了基础。,MODBUS,协议为应用层协议。,控制器通信使用主,从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应
36、反应。,典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。,主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。,Modbus,建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。,MODBUS,协议概述,MODBUS,通用帧,MODBUS,协议定义了一个与基础通信层无关的简单协议数据单元(,PDU,)。特定总线或网络上的,MODBUS,协议映射能够在应用数据单元(,ADU,)上引入一些附加域。,通用,MODBUS,帧,地址域有,256,个不同地址,MODBUS,功能
37、码分类,MODBUS,传输模式,MODBUS,使用,RTU,模式或者,ASCII,模式。,RTU,模式为默认模式。,一个,MODBUS,网络必须使用相同的模式。,RTU(Remote Terminal Unit),模式:报文中每个,8,位字节含有两个,4,位十六进制字符。,RTU,模式位序列,RTU,报文帧,RTU,报文帧必须以连续字符流发送,如果两个字符之间的空闲间隔大于,1.5,个字符时间,则报文帧被认为不完整应该被接收节点丢弃。,MODBUS,传输模式,ASCII(American Standard Code for Information Interchange),:报文中的每个,8,
38、位子节以两个,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,兼容,),。,标准的,JTAG,接口是,4,线,TMS,、,TCK,、,TDI,、,TDO,,
39、分别为模式选择、时钟、数据输入和数据输出线。标准还有其他选用的信号如,TRST,等。,JTAG,主要功能有二,一为测试芯片的电气特性,二为,Debug,,对芯片及外围设备进行测试。,JTAG,的工作原理可以归结为:在器件内部定义一个,TAP(Test Access Port,,测试访问口,),,通过专用的,JTAG,测试工具对内部节点进行测试和调试。,边界扫描,BS,在,JTAG,调试当中,边界扫描(,Boundary-Scan,)是一个很重要的概念。边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描
40、寄存器(,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,边界扫描链,






