通信接口与通信协议.ppt

上传人:xt****7 文档编号:6055745 上传时间:2020-02-15 格式:PPT 页数:65 大小:1.75MB
返回 下载 相关 举报
通信接口与通信协议.ppt_第1页
第1页 / 共65页
通信接口与通信协议.ppt_第2页
第2页 / 共65页
通信接口与通信协议.ppt_第3页
第3页 / 共65页
点击查看更多>>
资源描述
通信接口与通信协议 BobBi OSI OpenSystemInterconnection 通信接口与通信协议 并行通信与串行通信 Parallelbus ISA PCI AXISPIIICRS232RS485 RS422CANUSBNetworkMODBUSJTAG 常用名词 通信介质双绞线 同轴电缆 光纤等 总线两个或多个通信主体共享的一组通信线路 通信协议描述了各通信主体在总线上的通信规则 时序图是描述硬件协议的常用方法 通信主体指参与通信的操作设备 如处理器 存储器等 一般分为主操作设备 master 和从操作设备 slave 带宽 数据传输速率 波特率 Communicationterms 数据方向表示待传输的数据在通信主体间的移动方向 可以用接收 发送来表示 单工 全双工 半双工数据只能单向传送为单工 信息能双向传送但不能同时双向传送称为半双工 信息能够同时双向传送则称为全双工 地址表示待传输数据的来源或目的地 也可理解为通信主体在总线上的ID 同步通信 异步通信同步通信要求接收端时钟频率和发送端时钟频率一致 发送端发送连续的比特流 异步通信时不要求接收端时钟和发送端时钟同步 发送端发送完一个字节后 可经过任意长的时间间隔再发送下一个字节 并行通信 处理器 存储器 从设备 data addr enable r w enable addr data fsetup fread fsetup fwrite r w int ISA总线 SPI总线概述 SerialPeripheralInterface串行外围设备接口 是Motorola公司推出的一种同步串行接口技术 SPI主要应用在EEPROM Flash 实时时钟 RTC 数模转换器 ADC 数字信号处理器 DSP 以及数字信号解码器之间 它在芯片中只占用四根管脚 Pin 用来控制以及数据传输 节约了芯片的pin数目 同时为PCB在布局上节省了空间 正是出于这种简单易用的特性 现在越来越多的芯片上都集成了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 SPI时序图 CPHL 0 SPI时钟配置 在主设备这边配置SPI接口时钟的时候一定要弄清楚从设备的时钟要求 因为主设备这边的时钟极性和相位都是以从设备为基准的 因此在时钟极性的配置上一定要搞清楚从设备是在时钟的上升沿还是下降沿接收数据 是在时钟的下降沿还是上升沿输出数据 但要注意的是 由于主设备的SDO连接从设备的SDI 从设备的SDO连接主设备的SDI 从设备SDI接收的数据是主设备的SDO发送过来的 主设备SDI接收的数据是从设备SDO发送过来的 所以主设备这边SPI时钟极性的配置 即SDO的配置 跟从设备的SDI接收数据的极性是相反的 跟从设备SDO发送数据的极性是相同的 IIC总线概述 I2C总线是Philips公司开发的一种二线串行总线 可以使嵌入式系统中的外部设备和CPU以及外设之间进行进行通信 SDA 串行数据总线 SerialDAta SCL 串行时钟信号 SerialCLock 支持多主通信 是多主机总线 技术指标 传输速率 100kbps3 4Mbps寻址位数 7位10位 IIC总线连接方式 IIC总线接口电平 SDA和SCL在空闲状态都是高电平 所有设备的SDA和SCL线与连接 SCL线是高电平时 SDA线从高电平向低电平切换表示起始条件 当SCL是高电平时 SDA线由低电平向高电平切换表示停止条件 正常通信时 SDA在SCL为高时保持稳定 当SCL为低时数据变化 IIC总线时序图 IIC总线有很多工作模式 下面是最简单的一个模式的数据传输时序 串行同步通信协议 面向比特的同步协议 串行异步通信协议 起止式异步协议的特点是一个字符一个字符传输 并且传送一个字符总是以起始位开始 以停止位结束 字符之间没有固定的时间间隔要求 每一个字符的前面都有一位起始位 为低电平 字符本身有5 7位数据位组成 接着字符后面是一位校验位 也可以没有校验位 最后是一位 或二位停止位 停止位后面是不定长度的空闲位 停止位和空闲位都规定为高电平 这样就保证起始位开始处一定有一个下跳沿 RS 232概述 RS 232C标准 协议 的全称是EIA RS 232C标准 其中EIA ElectronicIndustryAssociation 代表美国电子工业协会 RS recommendedstandard 代表推荐标准 232是标识号 C代表RS232的最新一次修改 1969 在这之前 有RS232B RS232A 它规定连接电缆和机械 电气特性 信号功能及传送过程 常用物理标准还有有EIARS 422A EIARS 423A EIARS 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 422 RS 422有两对差分信号传输线 一对发送 一对接收 RS 422的电气特性 逻辑 1 以两线间的电压差为 2 6 V表示 逻辑 0 以两线间的电压差为 2 6 V表示 RS 422最大的通信距离约为1219m 最大传输速率为10Mb S 传输速率与传输距离成反比 在100Kb S的传输速率下 才可以达到最大的通信距离 RS 422 由于接收器采用高输入阻抗和发送驱动器比RS232更强的驱动能力 故允许在相同传输线上连接多个接收节点 最多可接10个节点 即一个主设备 Master 其余为从设备 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个或者256个节点 最大的可以支持到400个节点 RS 485组成半双工网络 一般是两线制 多采用屏蔽双绞线传输 RS 485网络中只能有一个主设备 其余为从设备 RS 485总线网络 RS485网络拓扑采用终端匹配的总线结构 构建时需注意 1 采用一条双绞线电缆作总线 将各个节点串接起来 从总线到每个节点的引出线长度应尽量短 以便使引出线中的反射信号对总线信号的影响最低 2 应注意总线特性阻抗的连续性 在阻抗不连续点就会发生信号的反射 3 终端负载电阻问题 需在总线电缆的开始和末端都并接终端电阻 阻值一般为120 因为一般双绞线的特性阻抗为100 120 CANbus 控制器局域网CAN ControllerAreaNetwork 最初是由德国Bosch公司设计的 应用于汽车的监测和控制 1991年9月 Philips制定并发布CAN技术规范 CAN2 0A B 1993年11月 ISO组织正式颁布CAN国际标准ISO11898 CAN bus是唯一成为国际标准的现场总线 也是国际上应用最广泛的现场总线之一 CAN总线协议包括对CAN控制器和收发器的规定 即包括物理层和数据链路层 CANbus 通讯距离与波特率有关 最大通讯距离可达10km 最大通讯波持率可达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帧称为 扩展帧 CANbus CAN总线收发器CAN总线网络连接和匹配电阻的设计可参考RS 485总线匹配电阻设计 原理相同 CANbus帧格式 数据桢 从发送节点向其它节点发送数据远程帧 向其它节点请求发送具有同一识别符的数据桢错误帧 指明已检测到总线错误过载帧 用以在数据桢 或远程帧 之间提供一份附加的延时 CANbus标准数据桢结构 CANbus扩展数据桢结构 CANbus总线仲裁 总线上显性电平支配隐性电平 逻辑 0 为显性电平 逻辑 1 为隐性电平 总线空闲时 任何节点可以发送报文 总线上每条报文都具有惟一的11位或者29位标识符 报文标识符的值越小 具有越高的优先权 多个节点同时发送时 总线在 仲裁场 逐位仲裁 高优先权的报文赢得仲裁 继续发送报文 失去仲裁权的报文在总线空闲时重新发送 CANbus仲裁 USB概述 USB UniversalSerialBUS 通用串行总线 是在1994年底由英特尔 康柏 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系统中包括主机 集线器和从设备 主机中还集成了一个根集线器 主机定时对集线器的状态进行查询 当一个新设备接入集线器时 主机会检测到集线器状态改变 主机发出一个命令使该端口有效并对其进行设置 位于这个端口上的设备进行响应 主机收到关于设备的信息 主机的操作系统确定对这个设备使用那种驱动程序 接着设备被分配一个唯一标识的地址 范围从0 127 其中0为所有的设备在没有分配惟一地址时使用的默认地址 主机向它发出内部设置请求 当一个设备从总线上移走时 主机就从其可用资源列表中将这个设备删除 USB主机 USB的所有数据通信 不论是上行通信还是下行通信 都由USB主机启动 所以USB主机在整个数据传输过程中占据着主导地位 在USB系统中只允许有一个主机 从开发人员的角度看 USB主机可分为三个不同的功能模块 客户软件 USB系统软件和USB总线接口 客户软件一般包括USB设备驱动程序和界面应用程序两部分 USB系统软件一般包括USB总线驱动程序和USB主控制器驱动程序这两部分 这些软件通常由操作系统提供 开发人员不必掌握 USB总线接口包括主控制器和根集线器两部分 该部分与USB系统软件的接口依赖于主控制器的硬件实现 开发人员不必掌握 USB从设备 设备代表一个USB设备 它由一个或多个配置组成 设备描述符用于说明设备的总体信息 并指明其所含的配置的个数 一个USB设备只能有一个设备描述符 一个USB设备可以包含一个或多个配置 如USB设备的低功耗模式和高功耗模式可分别对应一个配置 在使用USB设备前 必须为其选择一个合适的配置 配置描述符用于说明USB设备中各个配置的特性 如配置所含接口的个数等 USB设备的每一个配置都必须有一个配置描述符 一个配置可以包含一个或多个接口 如对一个光驱来说 当用于文件传输时使用其大容量存储接口 而当用于播放CD时 使用其音频接口 接口是端点的集合 可以包含一个或多个可替换设置 用户能够在USB处于配置状态时 改变当前接口所含的个数和特性 接口描述符用于说明USB设备中各个接口的特性 如接口所属的设备类及其子类等 USB设备的每个接口都必须有一个接口描述符 USB从设备 端点是USB设备中的实际物理单元 USB数据传输就是在主机和USB设备各个端点之间进行的 端点一般由USB接口芯片提供 例如Freescale的MC68HC908JB8 USB设备中的每一个端点都有唯一的端点号 每个端点所支持的数据传输方向一般而言也是确定的 或是输入 IN 或是输出 OUT 也有些芯片提供的端点的数据方向是可以配置的 例如MC68HC908JB8包含有两个用于数据收发的端点 端点1和端点2 其中端点1只能用于数据发送 即支持输入 IN 端点2既能用于数据发送也可用于数据接收 即支持输入 IN 和输出 OUT 操作 需要注意的是 在这里数据的传输方向是站在主机的立场上来看得 比如端点1只能发送数据 在主机看来是端点1向主机输入数据 即IN操作 当端点2配置为接收数据时 主机向端点2输出数据 即OUT操作 这一点是初学者比较容易产生混淆的地方 利用设备地址 端点号和传输方向就可以指定一个端点 并和它进行通信 0号端点比较特殊 它有数据输入IN和数据输出OUT两个物理单元 且只能支持控制传输 USB从设备 在USB设备中通常还含有字符串描述符 以说明一些专用信息 如制造商的名称 设备的序列号等 它的内容以UNICODE的形式给出 且可以被客户软件所读取 对USB设备来说 字符串描述符是可选的 在USB系统结构中 可以认为数据传输是在主机软件 USB系统软件或客户软件 和USB设备的各个端点之间直接进行的 它们之间的连接称为管道 管道是在USB设备的配置过程中建立的 管道和USB设备中的端点一一对应 一个USB设备含有多少个端点 其和主机进行通信时就可以使用多少条管道 USB接口 USB使用一根屏蔽的4线电缆与网络上的设备进行互联 数据传输通过一个差分双绞线进行 这两根线分别标为D 和D 另外两根线是Vcc和Ground 其中Vcc向USB设备供电 使用USB电源的设备称为总线供电设备 而使用自己外部电源的设备叫做自供电设备 为了避免混淆 USB电缆中的线都用不同的颜色标记 通常VCC为5V 可以提供500mA的电流 D 和D 为差分信号 在 400mV和 400mV之间变化 USB接口 从一个设备连回到主机 称为上行连接 从主机到设备的连接 称为下行连接 为了防止回环情况的发生 上行和下行端口使用不同的连接器 A型连接头 用于上行连接 而B型插头在从主机或集线器接出的下行电缆的一端 USB通信格式 USB的数据包使用反向不归零编码 NRZI USB控制器发送 接收信号会进行编 解码 在反向不归零编码时 遇到 0 转换 遇到 1 保持 USB检测设备连接和速度 USB通信协议 包 Packet 是USB系统中信息传输的基本单元 所有数据都是经过打包后在总线上传输的 USB包由五部分组成 即同步字段 SYNC 包标识符字段 PID 数据字段 循环冗余校验字段 CRC 和包结尾字段 EOP 包的基本格式如下图 SYNC字段 由8位组成 作为每个数据封包的前导 用来产生同步作用 使USB设备与总线的包传输率同步 它的数值固定为00000001 PID字段 用来表示数据封包的类型 包标识符中的校验字段是通过对类型字段的每个位求反码产生的 PID字段如下图所示 USB通信协议 信息包的类型 包括令牌 数据 握手或特殊四种信息包类型 USB数据传输 在USB的传输中 制定了4种传输类型 控制传输 中断传输 批量传输以及等时传输 控制传输类型分为2 3个阶段 设置阶段 数据阶段 无数据控制没有此阶段 以及状态阶段 根据数据阶段的数据传输的方向 控制传输又可分为3种类型 控制读取 读取USB描述符 控制写入 配置USB设备 以及无数据控制 设备列举过程第一步 使用预设的地址0取得设备描述符 第二步 设置设备的新地址 第三步 使用新地址取得设备描述符 第四步 取得配置描述符 第五步 设置配置描述符 工业以太网概述 嵌入式系统常用的以太网协议是IEEE802 3 Ethernet IEEE802 3u 工业以太网数据传输特点 1 所有数据位的传输由低位开始 传输的位流是用曼彻斯特编码 2 以太网是基于冲突检测的总线复用方法 冲突退避算法是由硬件自动执行的 3 以太网传输的数据段的长度 DA SA TYPE DATA PAD最小为60B 最大为1514B 4 通常的以太网卡可以接收3种地址的数据 一个是广播地址 一个是多播地址 或者叫组播地址 在嵌入式系统中很少用到 一个是它自己的地址 但有时 用于网络分析和监控 网卡也可以设置为接收任何数据包 5 任何两个网卡的物理地址都是不一样的 是世界上唯一的 网卡地址由专门机构分配 不同厂家使用不同地址段 同一厂家的任何两个网卡的地址也是唯一的 根据网卡的地址段 网卡地址的前3个字节 可以知道网卡的生产厂家 工业以太网协议分层 物理传输帧 MAC层的物理传输帧格式 同步位 用于收发双方的时钟同步 同时也指明了传输的速率 是56位的的二进制数101010101010 最后2位是10 SD 分隔位 表示下面跟着的是真正的数据而不是同步时钟 为8位的10101011 DA 目的地址 以太网的地址为48位 6个字节 二进制地址 表明该帧传输给哪个网卡 如果为FFFFFFFFFFFF 则是广播地址 广播地址的数据可以被任何网卡接收到 SA 源地址 48位 表明该帧的数据是哪个网卡发的 即发送端的网卡地址 同样是6个字节 物理传输帧 TYPE 类型字段 表明该帧的数据是什么类型的数据 不同协议的类型字段不同 如 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 32位数据校验位 32位的CRC校验 该校验由网卡自动计算 自动生成 自动校验 自动在数据段后面填入 不需要软件管理 通常 PR SD PAD FCS这几个数据段都是网卡 包括物理层和Mac层的处理 自动产生的 剩下的DA SA TYPE DATA这4个段的内容是由上层的软件控制的 工业以太网接口 在嵌入式系统中增加以太网接口 通常有如下两种方法实现 嵌入式处理器 网卡芯片带有以太网接口的嵌入式处理器 工业以太网接口 DTE接口定义数据终端设备包括网卡路由器 以太网接口DCE接口定义数据通信设备包括交换机 MODBUS协议概述 Modbus是由Modicon 现为施耐德电气公司的一个品牌 在1979年发明的 是全球第一个真正用于工业现场的总线协议 为更好地普及和推动Modbus在基于以太网上的分布式应用 目前施耐德公司已将Modbus协议的所有权移交给IDA InterfaceforDistributedAutomation 分布式自动化接口 组织 并成立了Modbus IDA组织 为Modbus今后的发展奠定了基础 MODBUS协议为应用层协议 控制器通信使用主 从技术 即仅一设备 主设备 能初始化传输 查询 其它设备 从设备 根据主设备查询提供的数据作出相应反应 典型的主设备 主机和可编程仪表 典型的从设备 可编程控制器 主设备可单独和从设备通信 也能以广播方式和所有从设备通信 如果单独通信 从设备返回一消息作为回应 如果是以广播方式查询的 则不作任何回应 Modbus建立了主设备查询的格式 设备 或广播 地址 功能代码 所有要发送的数据 错误检测域 MODBUS协议概述 MODBUS通用帧 MODBUS协议定义了一个与基础通信层无关的简单协议数据单元 PDU 特定总线或网络上的MODBUS协议映射能够在应用数据单元 ADU 上引入一些附加域 通用MODBUS帧地址域有256个不同地址 MODBUS功能码分类 MODBUS传输模式 MODBUS使用RTU模式或者ASCII模式 RTU模式为默认模式 一个MODBUS网络必须使用相同的模式 RTU RemoteTerminalUnit 模式 报文中每个8位字节含有两个4位十六进制字符 RTU模式位序列RTU报文帧RTU报文帧必须以连续字符流发送 如果两个字符之间的空闲间隔大于1 5个字符时间 则报文帧被认为不完整应该被接收节点丢弃 MODBUS传输模式 ASCII AmericanStandardCodeforInformationInterchange 报文中的每个8位子节以两个ASCII字符发送 例如 子节0X5B会被编码为两个字符 0 x35和0 x42 ASCII编码0 x35 5 0 x42 B 当通信链路或者设备无法符合RTU模式的定时管理时使用该模式 ASCII模式位序列ASCII报文帧报文中字符间的时间间隔可以达一秒 如果有更大的间隔 则接受设备认为发生了错误 JTAG概述 JTAG JointTestActionGroup 联合测试行动组 是一种国际标准测试协议 IEEE1149 1兼容 标准的JTAG接口是4线 TMS TCK TDI TDO 分别为模式选择 时钟 数据输入和数据输出线 标准还有其他选用的信号如TRST等 JTAG主要功能有二 一为测试芯片的电气特性 二为Debug 对芯片及外围设备进行测试 JTAG的工作原理可以归结为 在器件内部定义一个TAP TestAccessPort 测试访问口 通过专用的JTAG测试工具对内部节点进行测试和调试 边界扫描BS 在JTAG调试当中 边界扫描 Boundary Scan 是一个很重要的概念 边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元 因为这些移位寄存器单元都分布在芯片的边界上 周围 所以被称为边界扫描寄存器 Boundary ScanRegisterCell 当芯片处于调试状态的时候 这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来 通过这些边界扫描寄存器单元 可以实现对芯片输入输出信号的观察和控制 对于芯片的输入管脚 可以通过与之相连的边界扫描寄存器单元把信号 数据 加载倒该管脚中去 对于芯片的输出管脚 也可以通过与之相连的边界扫描寄存器 捕获 CAPTURE 该管脚上的输出信号 在正常的运行状态下 这些边界扫描寄存器对芯片来说是透明的 所以正常的运行不会受到任何影响 边界扫描链BSC 芯片输入输出管脚上的边界扫描 移位 寄存器单元可以相互连接起来 在芯片的周围形成一个边界扫描链 Boundary ScanChain TAP状态机 TAP结构示例 TAP结构示例 ScanChain0内核的外围电路 包括数据总线 地址总线等 长度113位 ScanChain1为扫描链0的子集 包括0 31数据总线及BREAKPT信号 长度33位 ScanChain2访问EmbeddedICE RT的内部寄存器 长度38位 可以让控制器进入调试状态 设置断点 观察点 ScanChain3边界扫描链
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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