当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]通用串行总线(Universal Serial Bus, USB)是连接外部设备的一个串口总线标准,在计算机上使用广泛,但也可以用在机顶盒和游戏机上,补充标准(On-The-Go)使其能够用于在便携设备之间直接交换数据。

通用串行总线(Universal Serial Bus, USB)是连接外部设备的一个串口总线标准,在计算机上使用广泛,但也可以用在机顶盒和游戏机上,补充标准(On-The-Go)使其能够用于在便携设备之间直接交换数据。

随着嵌入式技术的发展,串行总线技术也被越来越多的应用于各个领域。比如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。

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

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

 

 

图表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的自定义串行总线分析功能可在一定程度上为用户的分析工作提供便利,而且不用付出高昂的费用。这也是当初开发这个功能的初衷。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

USB(Universal Serial Bus)是一种通用的串行总线标准,它被广泛应用于连接计算机及其外部设备。USB通信系统具有以下特点:

关键字: USB 串行总线 计算机

USB:Universal Serial Bus,通用串行总线。USB最初由英特尔与微软倡导发起,最大的特点是尽可能的实现热插拔和即插即用。

关键字: USB接口 串行总线 即插即用

近日,通用串行总线(USB)标准组织USB-IF公开了USB-C(即USB Type-C)接口新规范USB Type-C 2.1,这是自2019年8月USB Type-C 2.0规范之后,USB标准组织对USB-C接口的...

关键字: 串行总线 供电 USB

I2C(IIC)属于两线式串行总线,由飞利浦公司开发用于微控制器(MCU)和外围设备(从设备)进行通信的一种总线,属于一主多从(一个主设备(Master),多个从设备(Slave))的总线结构,总线上的每个设备都有一个特...

关键字: IIC 通信协议 串行总线

PCI Express总线是较旧的PCI/ PCI-X总线的高速串行替换。PCI Express总线与旧PCI之间的主要区别之一是总线拓扑。

关键字: PCIE 通道 串行总线

CAN和CANopen区别

关键字: canopen can

摘要:基于Linux字符设备操作接口和各类串行总线的共,性,按照分层的思想,抽象出各种总线的统一接口。统一接口的应用层API与底层的具体总线操作形式无关,而且便于应用系统的升级和移植。文中给出了一种多种串行总线统一接口的...

关键字: 统一接口 嵌入式系统 Linux 设备驱动 串行总线

摘要:IEEE1394串行总线以其高速实时性的特点和灵活可配置的拓扑结构为提高系统,性能提供了一种有效的途径。文中介绍了IEEEStd1394b总线系统的功能和特点,并以FPGA和DSP为控制核心设计了1394b双向数据...

关键字: 1394b FPGA DSP PCI9054 串行总线

变送器的应用十分广泛,根据用途不同,变送器也具有不同的种类,比如上篇文章介绍的温度变送器以及即将介绍的称重变送器。

关键字: 称重变送器 串行总线

IIC是串行总线,只用到两个线,应用非常广泛,本文介绍IIC的软件协议及硬件相关知识。

关键字: IIC 串行总线
关闭
关闭