首页 > 范文大全 > 正文

致远电子技术专栏:逻辑分析仪-从入门到精通讲座(28)

开篇:润墨网以专业的文秘视角,为您筛选了一篇致远电子技术专栏:逻辑分析仪-从入门到精通讲座(28)范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

具有时钟信号时序分析技巧

1 引言

在数字信号设计中,具有时钟信号的总线越来越被广泛的应用。如SPI、SSI、IIC、AC97、PS2、SD等协议都有时钟信号。广州致远电子有限公司的逻辑分析仪软件为方便客户推出了“通用CLK总线分析”帮助用户分析具有CLK总线的数据,本篇章以此插件解决PS/2总线分析简单介绍具有时钟信号时序的分析方法。

2 CLK总线分析组件介绍

“通用CLK分析组件”是广州致远电子有限公司,为采用具有时钟信号非标准协议分析所推出的一款辅助解码分析组件。其设置界面如图l所示。

具有时钟信号总线除了数据总线(DATA信号线)和时钟总线(CLK信号线)外,一般还有一条用于标志数据传输是否有效的片选信号线(CS信号线),如常见的信号SSI、IIS、AC97等总线。

具有CS信号线的时钟总线中,一般CS根据不同总线需求在低电平或者高电平标志着Data总线有效。同时“通用CLK分析组件”还支持“边沿”模式,即CS信号发生改变时代表新数据的开始,如HS总线。

很多具有时钟信号的总线中也存在一定的协议不存在CS信号线,如IIC、PS2等。他们通过信号线的停止和开启区分数据的有效和无效。为了解决没有片选信号线的总线分析,“通用CLK分析组件”提供了“CLK超时”设置。该设置标志了如果CLK信号当出现某个时钟超出该设置的时间则表示DATA信号线上的数据无效。

现实开发中有许多总线并非数据开始后立即采集数据,它们存在1个或者多个时钟延迟,为此“通用CLK分析组件”提供了“开始后数据延迟Bit”设置,实现对该类型功能的适应。

如图1所示,除了总线设置和CS模式、时钟超时设置外,该分析组件也提供了,采样点、空闲电平、数据长度、数据传输模式、过滤无效数据、CS无效时清空数据等常规设置使得该组件对时钟信号总线具有较强的适应能力。

3 PS/2协议介绍

PS/2设备接口是IBM公司研发的用于鼠标键盘的接口。它主要有5个引脚,除了电源、接地、保留线外,主要靠时钟线和数据线进行数据交换。

PS/2总线主要负责的是主机和设备之间的数据传输。信号在通常情况下保持高电平,传输数据0时就把数据线拉低,传输数据1时就让数据线保持高电平。PS/2鼠标和键盘履行一种双向同步串行协议,换句话说,每次数据线上发送一位数据并且在时钟线上发一个脉冲就被读入,键盘/鼠标可以发送数据到主机,而主机也可以发送数据到设备。但主机总是在总线上有优先权,它可以在任何时候抑制来自于键盘/鼠标的通信,只要把时钟拉低即可。

从键盘/鼠标发送到主机的数据在时钟信号的下降沿被读取;从主机发送到键盘/鼠标的数据在上升沿被读取。时钟信号只能由键盘/鼠标产生:如果主机要发送数据,它必须首先告诉设备开始产生时钟信号。

由于数据线和时钟线在正常情况下都保持高电平,当键盘或鼠标等待发送数据时,首先检查以确认是否是高电平。如果不是,是主机抑制通信,设备必须缓冲任何要发送的数据,直到重新获得总线控制权。如果时钟线是高电平则表明总线空闲,设备可以开始传输数据。传输数据过程如图2所示。

由于PS/2设备总是产生时钟信号。如果主机要发送数据,它必须首先把时钟和数据线设置为“请求发送状态”。下拉时钟线至少100μs来抑制通信和下拉数据线来请求发送。然后释放时钟。当设备检测到这个状态,它将开始产生8个数据位和1个停止位时钟信号。在停止位发送后,设备应答接收到的字节,把数据线拉低并产生最后一个时钟脉冲。具体过程如图3所示。

4 解析PS/2

现在我们就用“通用CLK总线分析”去分析PS/2,总线上传输的数据。

由图2和图3可知PS/2属于具有时钟信号,大多数人只关心数据段(“D0~D7”)8个bit位,至于开始位(“S”)、校验位(“P”)、结束位(“E”)和响应位(“ACK”)都可以通过分析数据位前后观察进行比较。因此我们通过“通用CLK组件”仅分析数据段所组成的数据。

PS/2时钟信号一般在80μs左右,在每个数据传输时都会存在大于100μs的时间间隔,由于PS/2没有CS信号,需要采用时钟超时作为开始信号。因此设置“时钟超时”为“90μs”。设置“CS模式”为“无CS”。

PS/2在开始数据传输前都会有1Bit的开始位,该开始位为不关心的数据,需要忽略掉,因此设置“开始后数据延迟Bit”设置为“1”。

PS/2在数据传输时时钟空闲时为高电平,因此设置“空闲电平”为“高电平”。

PS/2在数据传输时,设备发送到主机采用的是下降沿采样,主机发送到设备采用上升沿采样。从图2、图3中可以发现PS/2每bit数据传输有效时间内都存在一个下降沿和上升沿;在设备发送到主机中D0对应的是第2个下降和上升沿;在主机发送到设备时,D0对应的是第1个上升沿,第2个下降沿。因此我们设置“采样点”为“下降沿”。

由于D0属于数据的低位最先接受,因此设置“数据模式”为“LSB”(低位最先传输)。

由于存在D0~D7共8个数据,因此设置“数据宽度”为“8”。

最后根据我们需要的数据为数据数值,因此我们设置“过滤无用数据”有效。

根据需求设置的“通用CLK总线分析”如图1所示。

调用“通用CLK总线”分析结果如图4所示。该分析结果和调用“PS/2总线分析”分析的结果完全相同。调用“PS/2总线分析”的设置界面如图5所示。

5 总结

如果没有PS/2分析组件,完全可以通过“通用CLK分析组件”帮助分析部分信息,简化工作。同样如果遇到其他的具有时钟信号的总线,没有相应的分析组件也可以采用类似的方法解决部分分析问题加快开发进度。

分析数据时没有相应的分析组件相当常见,人工分析又是一个耗时的任务。可以巧妙使用现有分析组件的功能简化工作,提高开发效率。