欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    嵌入式系统.pdf

    • 资源ID:70322100       资源大小:1.84MB        全文页数:40页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式系统.pdf

    调试嵌入式系统设计中的串行总线调试嵌入式系统设计中的串行总线应用指南应用指南2 自动柜员机 移动电话 计算机打印机 防抱死刹车控制器 微波炉 导弹使用的惯性引导系统 DVD播放机 个人数字助理(PDA)工业自动化和监测使用的可编程逻辑控制器(PLC)便携式音乐播放机 可能还包括烤面包机嵌入式系统可能包含许多不同类型的设备,包括微处理器、微控制器、DSP、RAM、EPROM、FPGA、模数转换器、数模转换器和I/O。这些设备在传统上一直使用宽并行总线相互通信及与外部世界通信。然而今天,嵌入式系统设计中使用的越来越多的构件将用串行总线代替宽并行总线,原因如下:减少了要布线的信号数量,降低了要求的电路板空间 降低了成本 降低了功率要求 减少了封装上的针脚数量 嵌入式时钟 差分信令,改善抗噪声能力 采用标准串行接口的器件大量供应尽管串行总线提供了大量的优势,但它们也给嵌入式系统设计人员带来了某些重大挑战,因为它以串行方式传送信息,而不是以并行方式传送信息。本应用指南讨论了嵌入式系统设计人员的常用挑战,及怎样使用下述系列示波器中的功能迎接这些挑战:DSA/DPO70000D、MSO/DPO70000C、DPO7000C、MSO/DPO5000、MSO4000、MSO/DPO4000B、MSO/DPO3000和MSO/DPO2000 系列。图1.逻辑分析仪采集的微控制器的时钟、地址总线、数据总线和控制线。调试嵌入式系统设计中的串行总线 3并行结构与串行结构比较在并行结构中,总线的每个组件都有自己的信号路径。可能有16条地址线、16条数据线、一条时钟线和各种其它控制信号。通过总线发送的地址或数据值会通过所有并行线路同时传送。因此,使用大多数示波器和逻辑分析仪中的状态触发或码型触发功能触发关心的事件相对简便。同时,可以简便地一目了然地了解在示波器或逻辑分析仪显示屏上捕获的数据。例如,在图1中,我们使用逻辑分析仪从微控制器中采集时钟线、地址线、数据线和控制线。通过使用状态触发,我们隔离了我们查找的总线。为“解码”总线上发生的情况,我们需要查看每条地址线、数据线和控制线的逻辑状态。在串行总线中,所有这些信息都必须以串行方式在相同的少数导线(有时是一条)上发送。这意味着一个信号可能包括地址信息、控制信息、数据信息和时钟信息。例如,看一下图 2 中所示的控制器区域网(CAN)串行信号。这条消息包含帧头、标识符(地址)、数据长度代码、数据、CRC 和帧尾及少量其它控制位。时钟嵌入在数据中,使用填充位保证接收设备拥有数量充足的边沿锁定时钟,这使情况变得进一步复杂化。即使是经过训练的眼睛,也很难迅速了解这一消息的内容。现在想象一下这是一条有问题的消息,一天只发生一次,您需要触发采集这条消息。传统示波器和逻辑分析仪不能有效处理这类信号。图3.从I2C总线中采集的一条消息。图 2.从 CAN总线中采集的一条消息。即使是比较简单的串行标准,如I2C,与并行协议相比,观察总线上传输的内容仍要明显困难得多。I2C采用分开的时钟线和数据线,因此至少在本例中,您可以使用时钟作为参考点。但是,您仍需要找到消息开头(数据变低,时钟为高),手动检查和记下每个时钟上升沿上的数据值,然后把各个位整理成消息结构。在长采集中解码一条消息就会需要几分钟时间,而您不知道这是不是实际要找的消息。如果不是,您需要在下一条消息上重新开始这一麻烦的、容易出错的过程。最好只触发查找的消息内容,但多年来示波器的逻辑分析仪上使用的状态触发和码型触发并不能发挥作用。它们是为了考察多条通道中同时发生的问题设计的。为处理串行总线,其触发引擎深度必需有几千种状态(每个 bit位一个状态)。即使存在这种触发功能,但为所有这些bit位逐个状态编程也不是件好玩的事。必须找到一种更好的方式!现在有一种更好的方式。下面几节重点介绍了怎样使用泰克示波器1,测试嵌入式系统设计中使用的最常用的低速串行标准。注 1 支持的串行总线标准视示波器型号变化。如需了解不同泰克示波器支持的总线,请参阅附录 A或访问 。应用指南4 或 10位 1位 1位 8位 1位 8位 1 位 1 位 8位 1位开始 地址 R/W 确认 数据0 确认0 数据 1 确认1 .数据 N 确认N 结束I2C背景知识I2C或“I squared C”是指集成电路间总线。它最初是飞利浦公司在20世纪80年代研制的,为把控制器连接到电视机上的外设芯片提供了一种低成本方式,但之后其已经发展成为嵌入式系统设备之间通信的一项全球标准。它采用简单的两线设计,广泛用于领先芯片制造商生产的各种芯片中,如I/O、模数转换器、数模转换器、温度传感器、微控制器和微处理器,芯片制造商则包括:Analog Devices,Atmel,Infineon,Cyprus,英特尔,Maxim,飞利浦,Silicon Laboratories,ST Microelectronics,德州仪器,Xicor等等。工作方式I2C的物理两线接口由双向串行时钟(SCL)和数据(SDA)线组成。I2C支持总线上多个主从设备,但一次只能激活一个主设备。任何I2C设备可以连接到总线上,允许任何主设备与从设备交换信息。每台设备都使用唯一的地址识别,它可以作为发射机或接收机操作,具体取决于设备功能。在开始时,I2C只使用7位地址,但随着时间推移,它演变成也支持10位地址。它支持三种位速率:100 kb/s(标准模式)、400 kb/s(快速模式)和3.4 Mb/s(高速模式)。最大设备数量取决于 400 pf的最大容量,或大约支持20-30台设备。I2C标准规定了下述格式,如图4 所示:Start表明设备控制总线,一条消息将开始传送 Address7位或10位数字,表示将要读取或写入的设备地址 R/W Bit1位,表明是否将从设备中读取数据或向设备写入数据 Ack1位,来自从设备,确认主设备的操作。通常每个地址和数据字节有一个确认位,但不总是有确认位 Data 从设备中读取或写入设备的字节的整数 Stop表明消息结束,主设备已经释放总线有两种方式对I2C分组、以进行解码:7位+读或写(R/W)位方案,8 位(1字节)、其中作为地址的一部分包括R/W位。7位地址方案是固件和软件设计工程师遵守的指定方案。但是,许多其它工程师使用8位地址方案。泰克示波器可以在任一方案中解码数据。调试嵌入式系统设计中的串行总线 5处理I2C通过 DPOxEMBD 串行触发和分析应用模块或 SR-EMBD应用软件,泰克示波器为处理I2C总线的嵌入式系统设计人员提供了强大的工具。前面板有多个Bus按钮,允许用户把到示波器的输入定义为一条总线。I2C总线的设置菜单如图 5 所示。通过简单地定义时钟和数据位于哪条通道上及用来确定逻辑1和0的门限,示波器可以理解通过总线传输的协议。有了这些知识,示波器可以触发任何指定的消息级信息,然后把得到的采集数据解码成有意义的、容易理解的结果。边沿触发已经过了好多天了,希望您已经采集到关心的事件,然后逐条消息手动解码消息,同时查找问题。例如,考虑一下图6 中的嵌入式系统。I2C总线连接到多台设备上,包括CPU、EEPROM、风扇速度控制器、数模转换器和大量的温度传感器。这部仪器被退回工程部分析故障,该产品持续过热,自动关机。要检查的第一件事是风扇控制器和风扇本身,但似乎一切正常。然后要检查温度传感器是否有问题。风扇速度控制器定期轮询两个温度传感器(位于仪器中不同的区域),调节风扇速度,稳定内部温度。我们怀疑其中一个或两个温度传感器读数不正确。为查看传感器与风扇速度控制器之间的交互。我们只需连接到I2C时钟和数据线,设置总线。我们知道,两个传感器在I2C总线上的地址分别是18和19,因此我们决定设置触发事件,查找地址18上的写入操作(风扇速度控制器轮询图5.I2C总线设置菜单。总线定义输入 门限显示为总线总线解码十六进制图6.I2C总线实例。温度传感器#1温度传感器#2SCLK(时钟)SDA(数据)风扇速度控制器传感器的当前温度)。触发的采集结果如图7中的屏幕图所示。图7.I2C地址和数据总线波形解码。应用指南6 用垂直绿条表示。在显示另一个开始、而没有上一个Stop 时,会发生重复开始。地址用黄框显示,W表示写入,R表示读取。地址值可以用十六进制显示,也可以用二进制显示。数据用青框显示。数据值可以用十六进制显示,也可以用二进制显示。Missing Acks用红框内的感叹号表示。Stops 用红色竖条表示。表1.总线条件。际部件,我们发现其中一条地址线焊接不当。温度传感器不能在总线上通信,结果导致设备过热。由于示波器的I2C触发和总线解码功能,我们只需几分钟时钟,就成功地隔离了这个潜在的难检问题。在图7所示的实例中,我们触发了写入操作,但示波器强大的 I2C 触发还包括许多其它功能。Start 在SDA变低、SCL为高时触发。Repeated Start 在没有上一个停止条件下发生开始条件时触发。这通常是主设备发送多条消息、而没有释放总线时发生的情况。Stop SDA为高、SCL 为高时触发。Missing Ack从设备通常配置成在每个地址和数据字节后发送确认。在从设备没有生成确认位的情况下示波器可以触发采集。Address触发用户指定的地址或任何预先编程的专用地址,包括全呼、开始字节、HS模式、EEPROM或 CBUS。地址可以是 7 位或10位地址,以二进制或十六进制输入。数据触发二进制或十六进制输入的最多12字节的用户指定数据值 地址和数据-可以输入地址数据值及读写,捕获确切的关心的事件这些触发可以隔离您关心的特定总线业务,解码功能则可以即时查看采集中总线上传输的每条消息的内容。调试嵌入式系统设计中的串行总线 7SPI背景知识串行外设接口总线(SPI)最初是摩托罗拉在20世纪80年代末为其 68000 系列微控制器研制的。由于该总线简单、流行,许多其它制造商也已经采用这一标准。它现在用于嵌入式系统设计常用的各种器件中。SPI主要用于微控制器和直接外设之间。它通常用于移动电话、PDA和其它移动设备中,在CPU、键盘、显示器和内存芯片之间通信。工作方式SPI总线是一种主/从结构的4线串行通信总线。4个信号是时钟(SCLK),主输出/从输入(MOSI),主输入/从输出(MISO)和从选择(SS)。在两台设备通信时,一台设备称为“主设备”,另一台设备称为“从设备”。主设备驱动串行时钟。它同时收发数据,因此是一种全双工协议。SPI使用 SS 线路指明与哪台设备传送数据,而不是总线上的每台设备都有一个唯一的地址。这样,总线上的每台唯一的设备都需要从主设备提供自己的SS信号。如果有3台从设备,那么主设备有3条SS引线,每条引线都连接到每台从设备上,如图8 所示。在图8 中,每台从设备只与主设备通话。但是,SPI 可以串联多台从设备,每台从设备依次进行操作,然后把结果发回主设备,如图9 所示。因此您可以看到,SPI实现方案没有“标准”。在某些情况下,在不要求从设备向回到主设备通信时,MISO信号可以完全省略。在其它情况下,只有一台主设备和一台从设备,SS信号捆到接地上,这通常称为 2 线 SPI。在SPI数据传送发生时,8位数据字移出MOSI,不同的8位数据字移入MISO。这可以视为16位循环位移寄存器。在传送发生时,这个16位位移寄存器位移8个位置,从而在主设备和从设备之间交换8位数据。一对寄存器-时钟极性(CPOL)和时钟相位(CPHA)决定着驱动数据的时钟边沿。每个寄存器有两种可能的状态,支持四种可能的组合,所有这些组合互不兼容。因此,主/从设备对必须使用相同的参数值进行通信。如果使用多个固定在不同配置的从设备,那么每次需要与不同的从设备通信时,主设备必须重新进行配置。图9.串联SPI 配置。图8.常用的SPI配置。应用指南8 SPIDPOxEMBD串行触发和分析应用模块或SR-EMBD应用软件可以解码和触发SPI总线。我们可以再次使用前面板的 Bus 按钮,简单地输入总线基本参数,包括SCLK,SS,MOSI和MISO位于哪条通道上、门限和极性,来定义一条SPI 总线(参见图 10)。例如,考虑一下图 11中的嵌入式系统。一条SPI总线连接到一个合成器、一个DAC及某个I/O上。合成器连接到VCO上,VCO为其余系统提供一个2.5 GHz时钟。在启动时,CPU应该对合成器编程。但是不知道哪里出了问题,VCO在产生3 GHz的信号。调试这个问题的第一步是考察CPU和合成器之间的信号,确定存在信号,没有物理连接问题,但我们找不到发生了什么问题。然后,我们决定看一下SPI总线上传送的合成器编程使用的实际信息。为捕获这些信息,我们把示波器设成在合成器 Slave Select 信号激活时触发采集,并对DUT通电,捕获启动编程命令。采集结果如图 12所示。通道1(黄色)是SCLK,通道2(青色)是MOSI,通道3(洋红色)是SS。为确定我们是否对设备正确编程,我们看一下合成器的产品资料。总线上的前三个消息假设是初始化合成器、加载分路器比率、锁存数据。根据技术数据,前三个传送中最后半个字节(一个十六进制字符)应该分别是 3,0和 1,但我们看到的是 0,0和 0。图11.通过SPI 控制的合成器。8 位 CPU(主设备)合成器图12.采集SPI 总线之外的合成器配置消息。调试嵌入式系统设计中的串行总线 9在消息末尾全是0时,我们认识到,我们在SPI中犯了一个最常见的错误,即在软件中以相反的顺序在每个24 位字中对各个位编程。在迅速改变软件配置后,得到下面的采集,VCO正确锁定在2.5 GHz,如图13所示。图 13.正确的合成器配置消息。在上面的实例中,我们使用简单的SS Active触发。泰克示波器完整的SPI 触发功能包括下述类型:SS Active 在从设备选择行对从设备变真时触发。MOSI-在从主设备到从设备用户指定最多 16 个字节时触发。MISO在从设备到主设备用户指定最多16个字节时触发。MOSI/MISO 在主设备到从设备及从设备到主设备用户指定最多 16个字节时触发。这些触发也可以隔离关心的特定总线业务,解码功能则可以立即查看采集中总线传送的每条消息的内容。应用指南10 USB 2.01.5 Mbps667 ns全速 USB 2.012 Mbps83.3 ns高速 USB 2.0480 Mbps2.8 nsSuperSpeed USB 3.05 Gbps200 ps表2.USB 速度。USB背景通用串行总线(USB)已经成为当前个人电脑上的主要接口,代替了以前使用的许多外部串行总线和并行总线。自其1995年问世以来,USB的用途已经不再局限于最初的个人电脑,而是成为许多电子设备中广泛使用的接口。2000年发布的USB 2.0规范涵盖了目前使用的大多数USB设备。USB 2.0代替了USB 1.1规范,在 USB 1.1规范的低速接口和全速接口中增加了一个高速接口(参见表 2)。USB 已经不再局限于系统间通信。例如,芯片间USB(IC_USB)和高速芯片间(HSIC)USB已经用于芯片到芯片通信。IC_USB、HSIC 和其它增强技术完善了 USB2.0 规范。2008年,USB 3.0规范发布。USB 3.0称为SuperSpeedUSB,其速度比高速USB 2.0快了10倍。SuperSpeedUSB 可以向下兼容 USB 2.0 设备。USB 3.0 是一种附加规范,与 USB 2.0 规范一起使用,而不是代替USB2.0。SuperSpeed USB设备必须实现USB 2.0设备框架命令和描述符。USB实现者论坛(USB-IF)负责管理和推广USB标准和USB技术。USB规范可以参阅USB-IF网站:www.usb.org。工作方式USB配置采用一个主控制器带1-127台设备。USB采用分级星形拓扑,选配多个集线器,扩展了总线(图14)。主机是唯一的主设备,控制着所有总线业务。主机发起到各个设备的所有通信,各个设备不能中断主机。表 2 显示了 4 种 USB 速度。高速设备先以全速开始操作,然后转换到高速。USB 2.0总线的速度受到与主控制器相连的速度最低的设备限制。SuperSpeed USB 使用两个主控制器:一个用于SuperSpeed USB 设备,一个用于 USB 2.0 设备。与USB 2.0系统一样,包括USB 2.0设备的总线速度受到最低速度的限制。图14.USB分层星形拓扑采用集线器,扩展了总线。主控制器集线器集线器集线器设备设备设备设备设备设备设备设备设备设备调试嵌入式系统设计中的串行总线 11图15.USB端点是设备的数据源和数据接收端,拥有到应用软件的逻辑管道。主控制器源端管道接收端管道设备地址0-127端点0数据源端点0数据接收端端点15数据源端点15数据接收端图16.USB 4线电缆在上行端口采用“A”连接器,在下行端口采用“B”连接器。主控制器A 连接器上行端口USB电缆下行端口B 连接器设备设备端点设备端点是设备中的数据源和接收端。每台设备最多可以有16个数据端点(图 15)。端点0 是必须的,主机使用它与设备通信。管道是主机中的应用软件与设备端点之间的逻辑连接。枚举枚举是开机或设备热插拔时发生的配置过程。主机检测到USB总线上存在设备,然后主机借助SETUP令牌轮询设备,令牌使用地址0和端点0。然后,主机为设备分配一个唯一的地址,范围为1-127。此外,主机还识别设备速度和数据传送类型。在枚举过程中,会确定设备的种类。设备种类定义设备的功能,如打印机、海量存储器、视频、音频、人机接口、等等。电气配置主机使用上行“A”连接器,设备使用下行“B”连接器。每个连接器有三个版本:标准型,迷你型,微型。USB 2.0电缆有四条线,如图16所示。两条线用来从主机供电:5 V电源(红线)和接地(黑线)。这些连接器的设计是先连接电源引脚和接地引脚,然后再连接数据数据引脚。主机提供 100 mA-500 mA的电流,并拥有智能电源管理功能。例如,可以由主机或集线器监测为设备提供的电源,在发生过流情况时关闭电源。应用指南12 速度状态低状态高低速2.8V全速2.8V高速0 V 10%400 mV 10%表3.电信号特点。PID 类型PID 名称PID令牌OUT0001IN1001SOF0101SETUP1101数据DATA00011DATA11011DATA20111MDATA1111握手ACK0010NAK1010STALL1110NYET0110特殊PRE1100ERR1100SPLIT1000PING0100Reserved0000表4.USB数据包类型。差分双绞线Data+(D+绿线)和Data-(D-白线)用于使用主机控制的半双工差分信令实现双向通信。表3列出了信号电平。总线采用DC 耦合。在没有连接设备时,主机会同时拉低D+和 D-,这称为单端零(SE0)状态。在设备连接到 USB 总线上时,USB 总线电压会拉到正或拉到负,极性表明了设备速度。图17.低速和高速SYNC 字段。在J空闲状态下,低速设备会拉高D-,得到负差分电压。全速设备会拉高D+,得到正差分电压。K状态与J 状态相反。数据使用非归零反向(NRZI)编码和位填充技术,保证跳变数达到最小。最低有效位先传送,最高有效位后传送。数据包数据包是USB通信的基本要素。数据包开头是一个同步字段,后面是数据包标识符。数据包标识符后面没有字段或者有其它字段,具体视数据包类型而定。包尾字段结束数据包。从J空闲状态开始,对低速和全速USB,数据包开头是一个8位同步(SYNC)字段。SYNC是3 KJ对,后面跟着两个 Ks(图 17)。高速USB的SYNC字段是15 KJ对后面跟着两个K,允许使用集线器把重复的 SYNC 字段减少到 5KJ 对,后面跟着两个 K。数据包标识符(PID)是第二个数据包字节,其中包括一个4位PID及其4位PID补数,用来校验错误。在第一个PID 4位与最后PID 4位补数不匹配时,会发生PID编码错误。这些位先发送到总线最低有效位上,最后发送到最高有效位上。PID 4位值识别17种数据包,如表4所示。注意,数据包PRE和ERR的PID代码相同。数据包类型分为令牌包、数据包、握手包和特殊包。包尾(EOP)长3位。EOP开头是两位的SE0,结尾是一位 J 状态。调试嵌入式系统设计中的串行总线 13图21.包头。图18.握手包的组织结构。图19.OUT、IN 和SETUP令牌包的组织结构。11位地址5位CRC16位CRC图20.数据包,带有 DATA0或 DATA1 的 PID。帧号5位CRC握手包如图18所示,握手包由Sync字节、PID字节和EOP组成,如确认的数据包(ACK)和否认的数据包(NAK)。令牌包主机发送的令牌包由SYNC和PID组成,后面是两个字节,其中包括一个 11 位地址和5 位循冗余校验(CRC)(图 19)。OUT、IN和SETUP令牌11位地址分成一个7位设备地址和一个 4 位端点标识符。地址零是专用的,用于在枚举过程开始时没有指配地址的设备。在之后的枚举过程中,主机会为设备指配一个非零地址。所有设备都有一个端点零。端点零用于设备控制和状态。其它设备端点用于数据源和/或接收端。主机向设备发送一个OUT令牌,然后是一个数据包。主机向设备发送一个IN 令牌,预计会从设备收到一个数据包或握手包,如NAK。数据包数据包包含一个PID字节、多个数据字节和16位CRC,如图20所示。DATA0和DATA1数据包有一个1位序列号,用来停止和等待自动重复请求握手。DATA0和DATA1数据包在无差错传输中交替。在发生传输错误时,会使用相同序列号重发数据包。无差错数据事务是指在主机向设备发送一个DATA0 数据包时,设备会发送一个握手ACK包,然后主机发送一个 DATA1包。如果主机没有收到握手ACK包或从设备收到 NAK,那么它会重发DATA0数据包。如果设备发送一个ACK包,收到拥有相同序列号的数据包,那么设备会确认数据包,但会作为重复数据而忽略数据。帧头如图21所示,帧头(SOF)包用来同步异步数据和被轮询的数据流。在每个连续SOF 中,11位帧号会递增 1。应用指南14 NAK。处理 USB 2.0DPO4USB 和 SR-USB 应用软件可以在部分泰克示波器上支持USB串行触发和分析。对低速和全速USB,所有示波器型号都提供了触发、解码和搜索支持。对高速USB,要求?1 GHz型号示波器,以利用DPO4USB和SR-USB 提供的触发、解码和搜索功能。例如,通过查看存储器设备是否对来自存储器设备的数据IN令牌请求应答NAK,可以检查全速存储器设备的数据时延性能。TDP1000差分探头用来探测计算机与USB存储器设备之间的 USB延伸电缆。在把探头连接到电缆上时,我们使用探头上的 TDP1000 菜单按钮,AutoZero(自动清零)探头的4.25 V 范围。为定义 USB总线,我们进入总线菜单,从支持的标准列表中选择USB。然后,我们从左到右使用设置按钮,定义总线的各个参数:速度、源通道、探头类型和门限。本例中使用全速预置 1.4 V 和-1.4 V门限。首先,我可以触发SETUP令牌,检查枚举过程。在枚举后,我们可以触发帧头(SOF)包,检查J空闲状态是否为正或测量SOF SYNC字段的位宽度,检验速度,检查帧头(SOF)包。然后,我们可以配置示波器,触发NAK 令牌,然后把示波器置入Single采集模式。然后,我们可以从存储器设备发出计算机请求数据。如果存储器设备准备传送数据,示波器将不会触发。但是,如果存储器设备没有准备传送数据,那么它将发送一个NAK,应答计算机主机IN令牌,示波器将触发NAK。图22说明了NAK采集。调试嵌入式系统设计中的串行总线 15图 23.使用配有选项SR-USB的MSO5024上的串行触发功能捕获的解码后的高速 USB 2.0 波形。我们还可以复制示波器触发设置,作为Wave Inspec-tor的搜索指标。Wave Inspector将搜索整个采集,查找NAK的每个例程。在本例中,Wave Inspector找到11个NAK。第一个NAK在触发位置,其它10个NAK在触发后。所有NAK都是对重发IN令牌的计算机主机作出的应答。通过使用Wave Inspector next和previ-ous前面板按钮,跳到每个标明的NAK,可以简便地查看每个 NAK。提供的 USB触发功能包括:同步 复位 暂停 恢复 包尾(EOP)令牌(地址)包 SETUP,IN,OUT和 SOF 数据包 任意数据值,DATA0,DATA1,DATA2或 MDATA数据匹配,支持最多 16 个数据字节的码型 握手包-任意握手值,或 ACK,NAK,STALL,或 NYET 专用包-Reserved,PRE,或 PRE,ERR,SPLIT,或 PING 错误类型包括PID 校验位,令牌 CRC5,数据 CRC16 和位填充Wave Inspector还可以搜索触发使用的所有相同指标。通过泰克示波器,您可以简便地捕获和分析USB 2.0信号、协议和数据,然后把它们与其它模拟信号和数字信号关联起来,使您能够全面了解设计特点。应用指南16 802.3 标准以太网帧格式。以太网背景以太网是局域网(LAN)使用的一系列基于帧的计算机网络技术,最初是施乐PARC于20世纪70年代开发的。电气和电子工程师学会(IEEE)在1980 年出版了第一个草议标准。IEEE 802.3 CSMA/CD于1982年获批,国际 ISO/IEEE 802.3 标准于1984 年获批。工作方式两种最常用的以太网版本是大多数个人电脑上使用的10BASE-T和100BASE-TX。前面的数字表示以Mb/s为单位的数据速率。BASE表示信号是基带信号,因此没有 RF信号调制。T 表示网络节点之间使用的局域网电缆中的双绞线。10BASE-T和100BASE-TX的流行及硬件实现成本不断下降,使得越来越多的嵌入式系统设计采用以太网技术。以太网提供了基于分组的对等通信,实现直接点到点通信。在物理层,10BASE-T和100BASE-TX信号传送地址信息、控制信息、数据信息和时钟信息。数据按数据字节顺序传送,称为数据包。以太网数据包可以在内部承载其它更高级的协议数据包。例如,以太网数据包可以包含互联网协议(IP)数据包,IP数据包又可以包含传送控制协议(TCP)数据包。这种复杂的信号使得分析10BASE-T和100BASE-TX波形时很难隔离关心的事件。IEEE 802.3标准规定了以太网数据帧格式,其中包含多个字段,如图24所示。前置码长 7个字节,由同步使用的 1 和 0 交替的码型组成。起始帧分界符长一个字节,包括交替的1和0,但末尾是两个 1。目的和源介质访问控制(MAC)地址都长6个字节,从最有效位到最无效位顺序传送。每个以太网节点被分配一个唯一的MAC地址,用来指定每个数据包的目的地址和源地址。这样,它构成了大多数链路层(OSI第二层2)网络的基础,上层协议依赖链路层,生成复杂的运行网络。长度/类型字段是一个长两字节的值。如果长度/类型的十进制值1500,那么它表示数据字段中的数据字节数。如果长度/类型值1536(0 x0600),那么它是一个EtherType值,指明了以太网帧净荷中封装的协议。(例如,IPv4 的 EtherType设置成 0 x0800)数据包包含46-1500个字节。如果数据长度小于46个字节,那么数据字段将填充到长 46个字节。帧校验顺序是32位循环冗余校验(CRC),在目的地址、源地址、长度/类型和数据字段中提供了错误校验功能。最后,在发送每个帧后,发射机必须发送最低12个字节的空闲字符,然后才能传送下一个帧,或者发射机必须通过反确认发送启用信号,保持空闲状态同等数量的时间。调试嵌入式系统设计中的串行总线 17图 25.10BASE-T解码显示画面。处理以太网以太网正广泛用于当前嵌入式设计中。通过在物理层和协议层分析以太网业务,可以了解嵌入式设计其它子系统的运行情况。但是,一个差分以太网信号中包含着地址信息、控制信息、数据信息和时钟信息,很难隔离关心的事件。DPO4ENET以太网串行触发和分析应用模块把部分泰克示波器转换成强大的工具,支持自动触发、解码和搜索,可以调试基于 1 0 B A S E-T 和100BASE-TX 的系统。示波器可以触发以太网数据包内容,如起始帧分界符、MAC地址、MAC长度/类型、MAC客户端数据、Q标记控制信息、IP 包头、TCP 包头、TCP/IPv4 客户端数据、包尾、空闲(仅适用于100BASETX)和FCS(CRC)错误。解码后的显示画面为构成 10BASE-T 和 100BASE-TX的各个信号提供了更高级的综合视图,可以简便地识别数据包开始位置和结束位置,识别子数据包成分,如前置码、SFD、MAC地址、数据、FCS、错误、等等。总线上每个数据包都被解码,取值可以在总线波形中用十六进制、二进制或 ASCII 显示。除查看总线波形本身上解码后的数据包数据外,您可以以表格方式查看捕获的所有数据包,这在很大程度上与软件列表的查看方式类似。数据包带有时间标记,连续列出每个成分栏(时间、目的地址、源地址、长度、数据、FCS/CRC、错误)。串行触发特别适合隔离关心的事件,但在捕获事件后,需要分析周围数据时,您该怎么办呢?DPO4ENET应用模块使得Wave Inspector能够自动搜索采集的数据,查找用户自定义标准,如串行数据包内容。每个发生时点都用搜索标记突出显示。您只需按示波器前面板上的Previous()和 Next()按钮,就可以在不同标记之间快速移动。应用指南18 RS-232-C互通。业内还有几个相关标准,如RS-422和RS-485,这些标准类似,但使用差分信令在远距离内通信。工作方式两台设备称为DTE(数据终端设备)和DCE(数据电路端接设备)。在某些应用中,DTE设备控制着DCE设备;在其它应用中,这两台设备是对等的,DTE和DCE之间的区别可以是任意的。RS-232标准规定了各种各样的信号,许多信号并不常用。两个最重要的信号是发送的数据(Tx)和接收的数据(Rx)。Tx把数据从DTE传送到DCE。DTE设备的Tx线路是DCE设备的Rx线路。类似的,Rx把数据从DCE传送到 DTE。RS-232标准没有规定使用哪些连接器。最常用的连接器是25针连接器和9针连接器。也可以使用10针、8针或 6 针连接器。还可以在不使用标准连接器的情况下,把同一块电路板上的两台RS-232设备连接起来。在连接两台RS-232设备时,通常要求零讯号调制器。这种设备交换多条线路,包括Tx和Rx线路。通过这种方式,每台设备可以在Tx线路上发送数据,在Rx线路上接收数据。表5显示了RS-232信号常用的9针连接器使用的针脚输出。记住,如果信号已经传过零讯号调制解调器,那么许多信号将被交换。最重要的是,将交换Tx 和 Rx。在探测RS-232信号时,通常要使用接续盒。这种设备允许简便地探测RS-232电缆内部的信号。接续盒成本低,可以从电子器件经销商处购买。信号缩写针脚Carrier Detect(载波检测)DCD1Received Data(接收的数据)Rx2Transmitted Data(发送的数据)Tx3Data Terminal Ready(数据端子就绪)DTR4Common Ground(公共接地)G5Data Set Ready(数据集就绪)DSR6Request to Send(请求发送)RTS7Clear to Send(清除发送)CTS8Ring Indicator(振铃指示符)RI9表5.常用的RS-232连接器针脚输出。调试嵌入式系统设计中的串行总线 19开始数据0数据1数据 2数据3数据4数据5数据6数据7奇偶性停止(可选)(可选)1 位1位1位1位1位1位1位1位1位1位1-2位RS-232标准没有规定通过总线传送的内容。ASCII文本是最常见的内容,但也使用二进制数据。数据通常会划分成数据包。在ASCII文本中,数据包最后通常带有新行符或回车符。在二进制数据中,通常使用其它值,如 00或 FF 十六进制。设备通常使用通用异步接收机/发射机(UART)实现RS-232。UART 在市面上流行的部件中广泛使用。UART 采用位移寄存器,把一个数据字节转换成串行流,反之亦然。在嵌入式设计中,UART还直接通信,而不需使用RS-232 收发机。图 26 显示了 RS-232 数据的一个字节。这个字节由下述位组成:开始位-字节的开头是一个开始位。数据位-后面跟着多个数据位。最常见的是8个数据位,某些应用使用7个数据位。即使在只传送7个位时,数据通常也会非正式地称为一个字节。在UART到 UART 通信中,有时会使用9 位数据字。奇偶性-一个可选的奇偶性位。结束位-1 个、1.5 个或2 个结束位。RS-232总线没有时钟线路。每台设备使用自己的时钟,确定什么时候对数据线路采样。在许多设计中,UART使用Tx和Rx信号的上升沿,把自己的时钟与其它设备的时钟同步起来。图 26.RS-232字节结构。应用指南20 RS-232DPOxCOMP 应用模块或 SR-COMP 应用软件支持串行触发和分析RS-232总线。您可以在示波器上方便地查看 RS-232、RS-422、RS-485 或 UART 数据,而不需连接PC 或专用解码器。通过使用前面板总线按钮,我们可以输入基本参数,如使用的通道、位速率和奇偶性,定义RS-232 总线(参见图 27)。在本例中,我们选择了ASCII解码;示波器还以二进制或十六进制方式显示 RS-232数据。想象一下您有一台设备轮询传感器,请求通过RS-232总线传送数据。传感器没有对数据请求作出应答。您想确定传感器是不是没有收到请求,或者是不是收到请求、但忽略了请求。首先,探测Tx和Rx线路,在示波器上设置一条总线。然后把示波器设置成在通过Tx线路发送数据请求时触发采集。触发后的采集如图28所示。在这里,我们可以看到数字通道1 上的Tx线路及数字通道0上的Rx线路。但是,我们更关心解码的数据,其显示在原始波形上方。我们放大查看传感器的响应。概况显示了Tx线路上的请求及Rx线路上的响应。光标显示在请求结束后大约37ms时发出回复。提高控制器的超时可以解决这个问题,因为它为传感器回复提供了足够的时间。图28.测量两条RS-232 总线上的消息时延。图27.RS-232 总线设置菜单。示波器的RS-232触发包括下述功能:Tx 开始位-在表明字节开始的位上触发。Tx 数据包尾-在数据包最后一个字节上触发。数据包可以以某个字节结尾:零(00 十六进制),换行(0A十六进制),回车(0D十六进制),空格(20十六进制)或FF十六进制。Tx 数据-触发最多 10个字节的用户指定数据值。Rx开始位、Rx数据包尾和Rx数据-这些与Tx触发类似,但发生在 Rx 线路上。通过泰克示波器,可以简便地查看RS-232信号,分析信号,把这些信号与设备中的其它活动关联起来。调试嵌入式系统设计中的串行总线 21仲裁字段11位(标准 ID)29位(外部 ID)控制字段6 位数据字段0-8 字节CRC字段16位ACK2位EOF7 位INT3位SOF1 位CAN背景知识CAN(控制器区域网)总线是博世公司在20世纪80年代专门研制的一种分层串行数据通信协议,以在电气噪声环境中作为设备之间的通信总线。1992年,梅塞德兹-奔驰率先在其汽车系统中采用 CAN。今天,每个汽车制造商都在使用CAN控制器和网络,控制汽车中的各种设备。业内研制了一种更新的、成本更低的总线,称为LIN(后面将对此讨论),以满足不需要CAN总线那么高的成本、通用性和速度的应用需求。LIN在许多应用中已经取代了CAN,但CAN仍是引擎定时控制、防抱死刹车系统和传动系控制等使用的主要总线。由于能够容忍电气噪声、减少连线、校验错误及高速传送速率,CAN正迅速扩展到其它应用中,如工业控制、舰队

    注意事项

    本文(嵌入式系统.pdf)为本站会员(asd****56)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开