首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年4月26日星期五
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
嵌入式逻辑分析仪的设计与实现

The Design of Embedded Logic Analyzer

华中科技大学电信系 萧奋洛 王元祥 杨志专


本文介绍了一种嵌入式逻辑分析仪的设计与实现过程。该仪器以单片机AT89C55和FPGA ACEX1K50为核心处理器,采用大屏幕液晶显示和红外键盘控制,实现了带示波器波形显示的嵌入式逻辑分析仪。在软件方面,该仪器以多机通信为基础,让多个处理器协调工作,使得仪器稳定可靠。


引言

常规的逻辑分析仪体积庞大、价格昂贵,使得这类仪器难以实现室外现场检测。为此,我们根据逻辑分析仪原理设计并实现了带示波器波形显示的嵌入式逻辑分析仪。

图1 系统框图(略)

本系统以单片机为主处理器,以FPGA为协处理器,其中FPGA主要完成8路TTL数据的采集与普通模拟示波器的显示控制。在系统结构上,我们采用总线方式实现单片机对FPGA的控制流传输,使用双口RAM实现大量高速数据流的交换,使系统非常稳定、可靠。整个系统主要由数据信号发生器、程控逻辑门限设定、数据采集、触发控制、数据处理、波形存储、示波器显示控制和操作面板等功能模块组成,图1给出了该系统的总体框图。


理论分析与参数计算

多级逻辑门限设定的计算

由于要求逻辑门限电压可在0.25~4V范围内按16级变化。也即起始电压 ,末尾电压、根据等差数列理论,其步长为:

d=\frac{a_{n}-a_{1}}{n-1}=\frac{a_{16}-a_{1}}{16-1}=\frac{4V-0.25V}{15}=0.25V

因此,对应的16级逻辑门限电压依次为:0.25V、0.5V、…… 3.75V、4.00V。

存储深度M

由于要求屏幕上显示8路波形(即行数Z=8),每行位数m1=20bit,每页存储深度M1=m1 Z=20bit 8=20Byte。本设计扩展存储页数n=5,故系统的存储深度为:M=\sum_{i=1}^{n}M_{i}=n M_{1}=5 M_{1}=5 20Byte=100Byte

扫描频率

根据人眼的视觉特性,当场频率fV≥50Hz时,感觉不到闪烁。由于模拟示波器上要显示8路信号(即行数Z=8 ),故欲得到稳定的波形显示,行频率为:

f_{H}=Z f_{V}≥8 50Hz=400Hz

本设计取:场频率fV=50Hz、行频率fH=400Hz。


主要电路分析与设计

八路数字信号发生器

信号发生器需要有八路信号和一路时钟输出,其输出频率为100Hz。在这里使用一片单片机AT89C2051作为信号发生器,和主机的通信采用多机通信方式,由主机发送预置数据,从机被动接收。此外,信号发生器使用8 8开关矩阵进行通道切换,实现一对一和一对多的波形通道切换控制。

通道输入信号调理电路

由于要求输入阻抗大于50K ,故通道输入前端加一级电压跟随器,然后进入高精度、宽输入电压范围的电压比较器MAX912,整形后输出标准TTL电平的逻辑信号,电路如图2所示。

图2 其中两路信号调理(略)

同时,为了实现16级可变的逻辑门限电压,采用8位D/A芯片TLC7524构成程控衰减器,5V基准源AD586作为参考电压,此时D/A输出电压为:

V_{O}=\frac{D_{IN}}{256} V_{REF}=\frac{D_{IN}}{256} 5V=D_{IN} 0.0195V

其中DIN为输入的数字量,改变DIN即可改变衰减器的衰减倍数,而步长d=0.25V,故数字步长△DIN=12。最后输出作为比较器MAX912的比较电压。

显示驱动电路

示波器波形显示部分主要由锯齿波扫描和信号扫描组成,根据需要还扩展了Z轴的显示控制功能。

(1)由于示波器屏幕上要显示8路波形,因此外部D/A必须分时复用。但为了避免回扫线对显示效果的影响,X轴输入与Y轴输入必须保持严格同步,并且DAC还必须具备足够快的转换速率。因此,为了简化硬件设计,我们选择转换频率为10MHz的双通道高速D/A芯片TLC7528,电路如图3所示。

图3 显示接口电路(略)

(2)示波器的Z轴具有亮度调节功能,我们通过控制Z轴的输入电压来实现触发位置的标定和回扫线的消隐。实验证明:当Z轴输入电压为0V左右时,示波器显示正常波形;当Z轴输入电压为5V左右时,示波器显示灰暗波形;当Z轴输入电压为10V左右时,示波器显示全灭。由于利用FPGA直接控制Z轴,而FPGA的I/O输出电压为0~3.3V,为此在外面必须附加驱动电路。驱动电路可以采用D/A的方式,但Z轴对小范围的连续电压输入并不敏感,因此我们直接利用比较器和模拟开关,实现对时间轴任意位置的亮、暗、灭三级标定,电路如图4所示。

图4 Z轴输入控制电路(略)

红外键盘和接收电路

本系统采用电视机遥控器作为键盘。接收部分采用红外接收头接收和单片机AT89C2051解码,通过多机通信协议向主机回传键值,进行按键处理。

掉电保存电路

本系统采用EEPROM芯片24LC64对用户数据进行保存。由于24LC64具有I2C结构,不仅可以节省宝贵的口线资源,而且有8KByte的存储空间,可以充分满足用户的要求。


系统软件设计

FPGA软件部分

示波器显示控制难点在于示波器屏幕回扫线的消隐。我们采取两级措施,达到了彻底清除回扫线的效果。一方面利用模拟示波器第三通道(Z轴)实现消隐,即在锯齿波尾通过控制Z轴使屏幕熄灭,这样可以有效地抑制场回扫线。另一方面将行回扫线移向屏幕两端以外,使屏幕显示非常清晰,其控制流程图如图5所示。

图5 示波器显示控制流程图(略)

单片机软件部分

单片机软件主要实现各种触发控制和人机界面。在本系统中,主机需要通过多机通信协议控制所有从机;通过总线方式与FPGA通信,实现触发控制和显示控制。系统软件流程图如图6所示,触发控制流程图如图7所示。

图6 系统软件流程框图(略)

图7 触发控制流程图(略)



结果

本仪器检测灵敏度高、性价比高,已成功应用在现场维修、数字电路设计和小型实验室等多种场合,是一种性能很好的带示波器波形显示的嵌入式逻辑分析仪。

《世界电子元器件》2005.10
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com