调试嵌入式系统设计中的低速串行总线

时间:2023-07-21
  今天,嵌入式系统几乎遍布在人类社会的每个角落。嵌入式系统可以简单定义为属于大型系统或机器一部分的一种专用计算机系统,其目的是为该系统或机器提供监测和控制服务。

  嵌入式系统可能包含许多不同类型的器件,包括微处理器、微控制器、DSP、RAM、EPROM、FPGA、模数转换器、数模转换器和I/O。这些在传统上一直使用宽并行总线相互通信及与外部世界通信。然而今天,嵌入式系统设计中使用的越来越多的构件将用串行总线代替宽并行总线。 尽管串行总线提供了大量的优势,但它们也给嵌入式系统设计人员带来了某些重大挑战。

  在并行结构中,总线的每个组件都有自己的信号路径。可能有16条地址线、16条数据线、一条时钟线和各种其它控制信号。通过总线发送的地址或数据值会通过所有并行线路同时传送。因此,使用大多数示波器和逻辑分析仪中的状态触发或码型触发功能相对简便。同时,可以一目了然地了解在示波器或逻辑分析仪显示屏上捕获的数据。例如,我们使用逻辑分析仪从微控制器中采集时钟线、地址线、数据线和控制线。通过使用状态触发,我们隔离了我们查找的总线。为“了解”总线上发生的情况,我们需要查看每条地址线、数据线和控制线的逻辑状态。

  在串行总线中,所有这些信息都必须以串行方式在相同的少数导线(有时是一条)上发送。这意味着一个信号可能包括地址信息、控制信息、数据信息和时钟信息等。而传统示波器和逻辑分析仪是不能有效处理这类信号的。即使是比较简单的串行标准,如I2C,与并行协议相比,观察总线上传输的内容仍要明显困难得多。I2C采用分开的时钟线和数据线,因此至少在本例中,您可以使用时钟作为参考点。但是,您仍需要找到消息开头(数据变低,时钟为高),手动检查和记下每个时钟上升沿上的数据值,然后把各bit位整理成消息结构。在采集中解码一条消息就会需要几分钟时间,而且您还不知道这是不是实际要找的消息。如果不是,您需要在下一条消息上重新开始这一麻烦的、容易出错的过程。只触发查找的消息内容,但多年来示波器或逻辑分析仪上使用的状态触发和码型触发并不能发挥作用。它们是为了考察多条通道中同时发生的问题而设计的。为处理串行总线,其触发引擎深度必需有几千种状态(每个bit位一个状态)。即使存在这种触发功能,但为所有这些bit位逐个状态编程也不是件好玩的事,必须找到一种更好的方式!



  本文将介绍如何使用泰克新推出的DPO4000系列示波器中提供的功能,去帮助嵌入式系统设计人员去应对这些挑战。通过DPO4EMBD串行触发和分析应用模块,DPO4000系列成为处理I2C总线的嵌入式系统设计人员的强大工具。前面板有两个总线按钮(B1和B2),允许用户把到示波器的输入定义为一条总线。I2C总线的设置菜单。



  通过简单地定义时钟和数据位于哪条通道上及用来确定逻辑1和0的门限,示波器可以理解通过总线传输的协议。有了这些功能,示波器可以触发任何指定的消息级信息,然后把得到的采集数据解码成有意义的、容易理解的结果,采集到感兴趣的事件,然后逐条分析,找到终问题。
上一篇:基于单片机的IPTV机顶盒的设计
下一篇:设计基于MSP430单片机的微功耗中文人机界面

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料