时间:2019年06月18日 分类:电子论文 次数:
摘要:正确高效的时序分析对于数字信号系统设计尤为重要,而用于测量数字电路信号的逻辑分析仪并没有普及。基于通用的示波器,以stm32f1系列单片机作为数据处理和显示控制的核心,对8路数字信号进行采集和时序分析,经D/A转换,分析结果在示波器的X-Y模式下以时序波形形式显示,并可通过键盘预置触发字条件,控制显示波形的起始位置、中心位置或结束位置;也可根据时序分析需要在屏幕上显示时序间标志线,指示当前时序刻对应的8路信号值,同时序由LED的亮灭指示出8路信号的高低电平状态。另外,可以对触发字时序刻的信号逻辑状态进行记录,以便回放进行比较。测试结果表明,装置很好地实现˿对数字信号时序分析的设计要求,具有很高的实际应用价值。
关键词:时序序分析;X-Y模式;触发字;时序间标志线;D/A转换
在数字信号系统设计中,信号完整性、信号时序都是非常重要的概念,往往会因为PCB布线不合理或者信号处理不当而引起时序不满足要求,最终导致系统异常。时序问题对于许多嵌入式设计来说是相当常见的,而故障排除可能是一个耗时序费力的任务,因此解决一些和时序相关的问题,从而快速、方便地找到设计问题的根源,正确高效的时序分析就显得尤为重要。
逻辑分析仪利用时序钟从测试设备上采集和显示数字信号,可以同时序对多条数据线上的数据流进行观察和测试,并方便地分析数字信号的时序,但逻辑分析仪的应用却没有示波器普及。示波器主要用来观察信号的模拟特性,本装置利用普通的示波器,设计实现˿一个数字信号时序分析装置,可在示波器(X-Y模式)上同时序显示8路数字信号时序。
该装置可完成的功能如下。
(1)时序波形显示。通过键盘预置8位单级触发字TW,满足触发条件(即D0~D7刚好为预置的TW)时序,可在示波器上不重叠地自左至右同时序显示8路数字信号1个移位循环周期的时序波形。
(2)触发时序间可调。8路数字信号时序波形的触发时序间位置可调,即触发字TW的时序间位置可分别选择在示波器屏幕的左侧即“触发开始跟踪”、示波器屏幕的中间即“中心触发”和示波器屏幕的右侧即“触发终止跟踪”三种方式。
(3)时序间标志线。在示波器屏幕上可显示一条竖亮线,为时序间标志线,可手动位移,并有8个LED可显示时序间标志线对应时序刻的8路数字信号的状态字SW(状态1时序LED点亮、状态0时序LED熄灭)。
(4)存储回放。在设߿的触发字TW时序刻,分析装置对8路数字信号的逻辑状态开始采集并存储,可在示波器上回放2个时序刻的8路数字信号时序波形。
1原理分析及技术方案
1.1示波器显示原理
示波器主要用来观察信号的模拟特性,显示模式有Y-T模式和X-Y模式,YT模式即时序基模式是示波器中最常见的,其坐标系Y轴为通道输入信号,上正下负,参考地为零点,X轴为时序间,左负右正,触发点为零点。X-Y模式在任何涉及两个相互关联的物理量的场合可以使用,X-Y视图模式是将时序基关闭,使用另外一个通道的输入作为水平信号,以便观察这两个信号的关系,如众所周知的李沙育图形,是将被测频率的信号和频率已知的标准信号分别加至示波器的Y轴输入端和X轴输入端,在示波器显示屏上将出现一个合成图形,合成的图形就是李沙育图形。本装置利用示波器X-Y显示模式,原理是将被测的数字信号加至示波器的Y轴输入端,将锯齿波信号加至X轴输入端,则在示波器显示屏上将出现一个多路数字信号的合成波形。
1.2各模块设计方案及原理
系统主要组成包括一个信号发生器,作为测试时序分析装置的信号源,一个时序分析装置,信号发生器的信号输出端和时序分析装置的采集端之间由跳线连接,二者采用STM32F103ZET6实现;功能显示由LCD12864完成,显示控制采用51单片机,与STM32之间通过串口通信实现数据传递。
1.2.1信号发生器设计方案及实现原理
本系统中8位数字信号发生器作为提供测试数据的部件,用于产生8位并行输出的TTL电平信号,该信号经循环移位得到8路8位并行移位循环信号波形,其中移位时序钟Clock信号频率为100kHz。装置实际使用中连接被测信号。
由STM32通过IO输出100kHz的时序钟信号,同时序产生一路8位信号,然后把时序钟信号作为外部触发的移位信号,在每个时序钟信号的上升沿,把这8位信号左移(或右移)1位,通过7次移位运算,共得到8路8位信号,保存在二维数组中,再通过位解析得到8路信号的每一位,共64位,依次送到8个输出引脚。
Clock时序钟信号由߿时序器产生,简单精确,߿时序时序间计算:f=100kHz,T=1/100000s=1/100ms=10μsSTM32߿时序器时序间设为1μs,占空比1∶10,得到100kHz的时序钟信号。
1.2.2数字信号时序分析装置设计方案及实现原理
数字信号时序分析装置包括功能设置、信号采集、信号处理和显示功能电路,由STM32F103ZET6完成。示波器的X轴信号和Y轴信号为模拟信号,而本电路产生的是数字信号,因此需要两路D/A数模转换电路,而STM32F103ZET6处理器内置有两路D/A转换器。
1、信号采集。从STM32的8位IO口读入信号,一次读入一个字节的数据,处理器把读入的信号按位存储起来,形成8*8=64位信号,存入8*8的二维数组里。
2、信号处理。在示波器Y轴上显示的8路信号,8个不同的台阶电压高度代表˿信号的电压大小,而8路数字信号实际只有两种值:0和1,为˿把8路信号显示在Y轴上不同高度的位置,需要给每一路信号叠加不同的电压值,因此首先要对信号进行D/A转换,转换为模拟信号,其次在转换后的每一路信号值的基础上加上不同的电压值,形成台阶电压。
3、信号显示。信号显示是本装置设计的重点也是难点。本设计选择的方法是在X-Y模式下,X起到时序间轴的作用,利用类似电视机行场扫描原理,每一行扫描绘制一路输出信号,这样行信号分别8次从左到右扫描,此信号为锯齿波信号,锯齿波信号的产生由离散递增的信号经D/A转换得到连续的模拟信号。其中对应锯齿波信号的每一次上升过程,有一路完整的信号输出。8个锯齿波信号分别对应8路不同台阶电压的信号,X轴以自生成锯齿波方式每扫描一次,描绘出一路信号。
4、stm32的DAC。X和Y轴信号均为模拟信号,因此需要两个DAC数模转换分别对X轴生成的锯齿信号和Y轴的台阶电压信号进行转换。STM32F1ZET处理器的DAC模块(数字/模拟转换模块)是12位数字输入,电压输出型的DAC。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时序,数据可以设置成左对齐或右对齐。
DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时序进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。
本设计中X轴和Y轴分别通过1个DAC转换器转换输出,应用12位转换器,因此输出值范围为0~4095,Y轴输出的8路显示不重叠的信号分为8个台阶电压,则每一路电压分别界于4095/8=512,512*(i―1)到512*i之间,为˿使信号不重叠,应在上下限预留100―150的分隔空间,即第一台阶电压的0和1电平分别为150和362(512―150),第二阶电压为662(512+150)和874(1024―150),依此类推。
5、时序分析装置其他功能的原理
1)触发字和状态字处理。
触发字由拨码开关设置,由STM32处理器的IO口读入,对采集到并已存储起来的信号进行查找,当触发字为8种状态之一时序,可查找到与触发字相等的状态并取出符合显示方式要求的数据:选择“触发开始跟踪”方式,即触发字的时序间位置在示波器屏幕的左侧,从触发字开始向后取出8路8位数据;选择“中心触发”方式,即触发字的时序间位置在示波器屏幕的中间,从触发字开始分别向前取8路4位数据再向后取出8路4位数据;选择“触发终止跟踪”方式,即触发字的时序间位置在示波器屏幕的右侧,从触发字开始向前循环取出8路8位数据。把重新取得的数据按信号显示方法在示波器屏幕上显示;若触发字不是8种状态字之一时序,不需要显示。状态字的实质即是8路信号在同一时序刻(X相同)对应的每路信号中的一位所组成的8位二进制数,共有8种状态字。
2)时序间标志线。
示波器屏幕上的一条竖亮线为时序间标志线,可通过按键每按一次移动一个位的位移,其实质即是在X值为一个߿值时序,Y轴从最小值0变化到最大值4095,即Y轴以锯齿波方式扫描一次,则在平行于Y轴的方向形成一条直线。竖直线的位置由X的值确߿,而X轴扫描一次即0-4095,因此可以选择第一条竖亮线的位置为512/2即X0=256位置,然后每按一次键X0值加512。
3)存储回放。
存储回放的数据仍然是采集过的数字信号,因此,存储的实质即是只要保存2个需要存储时序刻的触发字,而回放时序则是从存放信号的数组中查找到相应的触发字,从此处开始循环取出数据并显示,无需对信号进行重新采集保存。从以上的原理分析中可见,整个系统设计的关键是如何把数字信号波形显示在示波器的X-Y模式上,其他问题则是对采集到的信号的处理。这样的实现方式比采用数字IC八进制计数器、D/A、8选1模拟开关、加法器组合的硬件实现方法简单可靠、精确。
6、功能设置及显示原理。
通过按键选择不同的功能和设置时序间标志线;为˿保证高频数据能正确进行D/A转换并显示在示波器上,人机界面的数据在设置时序通过串口发送到51单片机,由单片机控制LCD12864显示。
2硬件设计
本装置的硬件包括一片STM32处理器,分别完成8位数字信号发生器和数字信号时序分析的功能,数据采集引脚用来采集信号输出端的8路8位数字信号;一个拨码开关;一台51单片机,通过串口和STM32通信接收显示内容在LCD12864液晶屏上显示。
3系统软件设计
本设计的功能主要由软件实现,而软件设计的主要内容是送到示波器X-Y模式两个通道的信号显示的处理,即控制两路D/A。首先进行系统初始化,包括外部中断设置、߿时序器中断设置、IO口配置、DAC初始化并准备存放数字信号的数组等。接着开始数据采集,即从8个IO口各读入8位数字信号赋值到数组里,并对数组元素进行处理。然后对8路信号进行显示输出程ࣿ。由于信号的显示频率高、周期短,同时序D/A转换的时序间长,因此流程控制的信号来自作为外部中断的按键,按一次,选择需要完成的功能,进行数据处理,再按一次开始显示。
对每路信号进行D/A转换时序,循环步长m决߿˿锯齿波信号的周期,同时序也确߿˿显示一路信号的周期,为避免失真,m没有取到最大值4095,假设两路DAC转换1次1路8位信号需要的循环时序间是t,为:T=4096/m*t,经反复实验表明,m取值较小时序,波形相对失真大,m取值过大时序波形将失去平滑性,可以取一个合适值如64,而保证得到的波形周期与实际周期成倍数关系。
4系统调试与结论
测试在不同触发字触发时序刻的波形和时序间标志线波形以及存储显示的波形均符合设计要求。由以上测试结果可知,数字信号时序分析装置能够利用普通的示波器准确分析数字信号的时序关系,各波形之间无重叠,各项数据都在正常范围内,并且装置能对任意数字信号的时序进行采集并准确的分析,性能指标达到˿设计的要求,并有LCD显示结果,直观,用途广泛。
参考文献:
[1]田芳宁.逻辑分析仪自动测试系统设计与实现[J].电子测量技术,2014(03):86-88
[2]甘国妹,罗业文.基于FPGA的简易逻辑分析仪设计[J].玉林师范学院学报,2013(05):23-27
[3]熊鸣,赵秦川.便携式逻辑分析仪的设计与实现[J].电子科技,2014(04):64-65,68
[4]朱榜芹,乔威.简易逻辑分析仪的设计与实现[J].实验室科学,2010(03):166-168
[5]华坚,周杏鹏.简易逻辑分析仪的设计与应用[J].仪器仪表与分析监测,2007(04):26-28
[6]薛翔宇.混合示波器采集与存储控制技术的研究和实现[D].北京:电子科技大学,2018
[7]史欢.多通道可重构的虚拟逻辑分析仪的研制[D].长春:吉林大学,2017
[8]王庆春,何晓燕.基于FPGA的便携式逻辑分析仪设计[J].电子测量技术,2012,35(10):80-83
相关论文范文阅读:选择数字信号处理器的方法
DSP器件按设计要求可以分为两类。第一类,应用领域为廉价的、大规模嵌入式应用系统,如手机、磁盘驱动(DSP用作伺服电机控制)以及便携式数字音频播放器等。在这些应用中价格和集成度是最重要的考虑因素。对于便携式电池供电的设备,功耗也是一个关键的因素。尽管这些应用常常需要开发运行于DSP的客户应用软件和外围支持硬件,但易于开发的要求仍然是次要的因素,因为批量生产可以分摊开发成本,从而降低单位产品的开发成本。