串行总线技术全面解析

发布者:RadiantDusk最新更新时间:2014-01-22 来源: ofweek关键字:串行总线技术  时钟源  数据源 手机看文章 扫描二维码
随时随地手机看文章
随着嵌入式技术的发展,串行总线技术也被越来越多的应用于各个领域。比如CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。

  为满足用户对特殊串行总线调试的需求,一些测试仪器厂商推出了具备自定义串行总线触发和分析功能的示波器产品,用户可根据自己的需要进行简单的设定就能实现非通用串行总线的调试。下文以横河电机公司新推出的DLM2000示波器为例,详细说明一下此种功能。

  总线,英文叫作“BUS”,即我们中文的“公共车”,这是非常形象的比如,公共车走的路线是一定的,我们任何人都可以坐公共车去该条公共车路线的任意一个站点。如果把我们人比作是电子信号,这就是为什么英文叫它为“BUS”而不是“CAR”的真正用意。当然,从专业上来说,总线是一种描述电子信号传输线路的结构形式,是一类信号线的集合,是子系统间传输信息的公共通道。通过总线能使整个系统内各部件之间的信息进行传输、交换、共享和逻辑控制等功能。如在计算机系统中,它是CPU、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过主机相连接,外部设备通过相应的接口电路再于总线相连接。

  串行总线的分析功能分为两个部分,总线触发和总线分析。

  自定义串行总线的触发:

图表1 自定义串行总线触发设定菜单

  DLM2000支持标准的CAN/LIN/I2C/SPI/UART总线触发,在串行总线触发菜单中有一项是<用户定义>(User Define)。进入这一项就可以进行自定义总线的触发设置。在此菜单中可以进行如下设置:

  数据源(DATA):指定通道作为数据信号源。

  激活电平(Active):指定将高电平或者低电平设为逻辑1。

  时钟(Clock):对于通过时钟同步的总线,可以进行时钟的相关设置,选择时钟源以及设定在时钟信号的上升沿或下降沿进行采样。

  片选(CS):当使用时钟同步信号时,通过片选信号来控制数据的有效性。可以设置片选源,以及高电平有效或者低电平有效。

  锁存(Latch):可以指定时钟同步采样的数据源码型与指定码型进行比较的时间。可以是定锁存源,以及在锁存源的上升沿或是下降沿进行比较。

  触发条件:可以将数据码型作为触发条件使用。当采样得到的数据源的码型与指定码型一致时,数据码型触发条件成立。

图表2 自定义串行总线触发条件设定

  数据码型的长度可以设为1~128位,并制定按照二进制或是十六进制来设定码型。

  比特率:当没有同步时钟源时,可以对信号的比特率进行设定,设定范围从1kbps至50Mbps,步进值为1kbps。

  下面是一个带时钟同步信号的自定义总线触发示例。

  首先正确设置时钟源 数据源、片选信号和锁存信号,再设置好相应的触发条件,就可以像通用串行总线一样进行触发,捕获所需要的信号波形。[page]

  

图表3 时钟同步串行总线触发示例

  自定义串行总线的分析:

  解码设置

  进行自定义总线的触发之后,就可以进行解码分析了。同样要进行相应的设置。与触发的设置类似,要指定数据源、时钟源、片选源和锁存源,并进行相应的设定;对于没有时钟同步的总线,还要指定比特率,可设置范围也是1kbps~50Mbps。之所以要设置解码起始点,是因为示波器没有内置自定义总线的协议,无法判断总线的帧结构,所以需要手动指定解码的起始点。

图表4 自定义串行总线分析设定

  解码显示

  打开解码显示功能,就可以在数据波形的下方看到解码的结果了。由于没有内置协议,所以无法以帧结构方式进行显示。

图表5 自定义串行总线解码显示格式设定

   数据搜索

  如果想在大量的数据中找到自己想要的数据,可以使用搜索功能,指定搜索的数据位数以及数据码型,执行搜索后很快就会将搜索到的结果标记出来并显示在缩放窗口中。搜索设定与触发条件设定类似。

  下面以列车上常用的MVB串行总线为例,介绍自定义串行总线功能的使用方法。

  多功能车厢总线MVB(Multifunction Vehicle Bus)是列车通信网络TCN(Train Communication Network)为实现位于同一车辆或固定重联的不同车辆中的标准设备之间的数据通信而定义的总线标准。

  MVB总线上的串行数据采用异步差分传输的曼彻斯特码,曼彻斯特编码中的每个数据位应用以下规范编码:

  a)一个“1”的编码在位元的前半部分为“高”,后半部分为“低”;

  b)一个“0”的编码在位元的前半部分为“低”,后半部分为“高”;

  如果曼彻斯特码中出现整个位元的高电平(NH)或整个位元的低电平(NL),则被认为非数据符,用于特殊场合,如:帧头,帧尾标识。

  MVB总线属于异步传输总线,所以在进行触发和分析时不需要设置时钟源、片选和锁存等信号,只需要设定正确的比特率与合适的开始点。MVB总线的比特率一般为1.5Mbps,正确设置就可以了。

  需要注意的是开始点的指定。因为MVB总线采用曼彻斯特编码,不同于常用的高低电平来确定逻辑“0”和“1”的方式,所以只有开始点的位置很合适才能正确解码。

  设置好之后,解码结果会显示在波形下方,通过人工对比可以简单判断解码是否正确。通过显示设置可以将解码结果显示为二进制、十六进制或者ASCII形式,便于读取。

图表6 MVB串行总线触发分析

  如上面示例那样,如果所调试的总线不是CAN,LIN,I2C,SPI以及UART这些通用串行总线,DLM2000的自定义串行总线分析功能可在一定程度上为用户的分析工作提供便利,而且不用付出高昂的费用。这也是当初开发这个功能的初衷。

关键字:串行总线技术  时钟源  数据源 引用地址:串行总线技术全面解析

上一篇:嵌入式Linux下的I2C设备驱动程序设计
下一篇:多传输技术并存 报警信号选有线OR无线

推荐阅读最新更新时间:2024-05-02 22:56

高速串行总线技术发展与应用分析
  虽然在嵌入式系统中有许多连接元件的方法,但最主要的还是以太网、PCI Express和RapidIO这三种高速串行标准。所有这三种标准都使用相似的串行解串器(SerDes)技术,它们提供的吞吐量和时延性能都要超过宽的并行总线技术。随着这些标准的不断发展,今后的趋势将是采用通用SerDes技术。这意味着这些协议提供的原始带宽不会有明显的差异。相反,每种协议的用途将取决于如何使用带宽。 大多数设计人员都很熟悉基本的以太网协议特征。以太网是一种尽力而为的数据包传送方式。在以太网物理层上建立的软件协议,如TCP/IP,需要提供信息的可靠传输,因为基于以太网的系统一般在网络层执行流量控制,而不是在物理层。一般基于以太网的系统带宽都
[嵌入式]
ATmega64 时钟源
时钟源 ATmega64 芯片有如下几种通过熔丝位选择的时钟源。时钟输入到AVR 时钟发生器,并通往其他合 适的模块。 Note: 1. 对于所有的熔丝位, “1” 表示未编程, “0” 代表已编程。 每个时钟源在后续部分单独介绍。当CPU 自掉电模式或省电模式唤醒之后,被选择的时 钟源用来为启动过程定时,保证振荡器在开始执行指令之前进入稳定状态。当CPU 从复 位开始工作时,还有额外的延迟时间以保证在开始正常工作之前电源达到稳定电平。看门 狗振荡器用来为自己的启动时间定时。看门狗溢出时间所对应的WDT 振荡器周期数列于 Table 7。看门狗振荡器的频率与工作电压有关,具体请参见 P328“ATmega64 典型特性 –
[单片机]
ATmega64 <font color='red'>时钟源</font>
STM32F4定时器时钟频率和时钟源
从时钟树中我们可以得知 (1)高级定时器timer1, timer8以及通用定时器timer9, timer10, timer11的时钟来源是APB2总线 (2)通用定时器timer2~timer5,通用定时器timer12~timer14以及基本定时器timer6,timer7的时钟来源是APB1总线 从STM32F4的内部时钟树可知, (1)当APB1和APB2分频数为1的时候,TIM1、TIM8~TIM11的时钟为APB2的时钟,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟; (2)而如果APB1和APB2分频数不为1,那么TIM1、TIM8~TIM11的时钟为APB2的时钟的两倍,TIM2~TIM7、
[单片机]
STM32F4定时器时钟频率和<font color='red'>时钟源</font>
利用低抖动LVPECL扇出缓冲器增加时钟源的输出数
电路功能与优势 许多系统都要求具有多个低抖动系统时钟,以便实现混合信号处理和定时。图1所示电路将ADF4351集成锁相环(PLL)和压控振荡器(VCO)与ADCLK948接口,后者可通过ADF4351的一路差分输出提供多达八路差分、低电压正射极耦合逻辑(LVPECL)输出。     现代数字系统经常要求使用许多逻辑电平不同于时钟源的高质量时钟。为了确保在不丧失完整性的情况下准确地向其它电路元件配电,可能需要额外的缓冲。此处介绍ADF4351时钟源和ADCLK948时钟扇出缓冲器之间的接口,并且测量结果表明与时钟扇出缓冲器相关的加性抖动为75 fs rms. 电路描述 ADF4351是一款宽带PLL和VCO,由三个独立的多频段VC
[电源管理]
利用低抖动LVPECL扇出缓冲器增加<font color='red'>时钟源</font>的输出数
STM32时钟源时钟系统配置
一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。 ①HSI是高速内部时钟,RC振荡器,频率为8MHz。 ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。 ③LSI是低速内部时钟,RC振荡器,频率为40kHz。 ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。 ⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。 二、在STM32上如果不使用外部晶振,OSC_IN和OSC_OUT的接法:如果使用内部RC振荡器而不使用外部晶振,请按照下面方法处理: ①对于1
[单片机]
USB音频的基本原理
 USB(通用串行总线)经过几十年发展,已经成为一种在个人电脑领域大量使用的标准。记忆棒、移动硬盘、鼠标和网络摄像头都通过USB连接。本文将深入分析USB音频:一种用来将PC、智能手机和平板电脑中所使用的电子音频与扬声器、麦克风或调音台等音频外设连接在一起的标准。本文将描述USB音频的工作原理,需要注意什么事项,以及对于高保真多通道输入输出,应如何使用USB音频等。 USB基本原理 USB是一种由PC(USB主机)发起一次传输,设备(例如一套USB扬声器)继而响应的通信协议。每次传输都寻址到一个特定设备,并寻址到该设备的一个特定端点。IN传输将数据发送至PC。当主机发起一次IN传输时,设备必须用主机所需的数据做出响应。OUT传输将数
[嵌入式]
ATtiny13 时钟源
ATtiny13芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,再分配到相应的模块。 不同的时钟选项将在后续部分进行介绍。当 CPU 自掉电模式或省电模式唤醒之后,被选 择的时钟源用来为启动过程定时,保证振荡器在开始执行指令之前进入稳定状态。当CPU 从复位开始工作时,还有额外的延迟时间以保证在 MCU 开始正常工作之前电源达到稳定 电平。这个启动时间的定时由看门狗振荡器完成。看门狗溢出时间所对应的 WDT 振荡器 周期数列于 Table 3。 缺省时钟源 器件出厂时 CKSEL = “10”, SUT = “10”,且 CKDIV8 编程。这个缺省设置的时钟源是 9.6MHz 的内部 RC
[单片机]
ATtiny13 <font color='red'>时钟源</font>
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved