EDA课程设计报告

  • 格式:doc
  • 大小:471.50 KB
  • 文档页数:24

学号EDA课程设计课程名称 EDA技术题目名称简易逻辑分析仪学生学院信息工程学院 _专业班级学号学生姓名2012年 1 月 1 日简易逻辑分析仪的设计1. 设计的任务与要求设计并制作一个8 路数字信号发生器与简易逻辑分析仪,其结构框图如图1 所示:图12.1. 简易逻辑分析仪系统结构框图1.1设计基本要求基本要求:(1)制作数字信号发生器能产生8路可预置的循环移位逻辑信号序列,输出信号为TTL 电平,序列时钟频率为100Hz,并能够重复输出。

逻辑信号序列示例如图2所示。

(2)制作简易逻辑分析仪a.具有采集8路逻辑信号的功能,并可设置单级触发字。

信号采集的触发条件为各路被测信号电平与触发字所设定的逻辑状态相同。

在满足触发条件时,能对被测信号进行一次采集、存储。

b .能利用模拟示波器清晰稳定地显示所采集到的8路信号波形,并显示触发点位置。

c.8位输入电路的输入阻抗大于50k Ω,其逻辑信号门限电压可在0.25~4V范围内按16级变化,以适应各种输入信号的逻辑电平。

d.每通道的存储深度为20bit。

图12.2 重复输出循环移位逻辑序列000001011.2 设计发挥部分(1)能在示波器上显示可移动的时间标志线,并采用LED或其它方式显示时间标志线所对应时刻的8路输入信号逻辑状态。

(2)简易逻辑分析仪应具备3级逻辑状态分析触发功能,即当连续依次捕捉到设定的3 个触发字时,开始对被测信号进行一次采集、存储与显示,并显示触发点位置。

3级触发字可任意设定(例如:在8路信号中指定连续依次捕捉到两路信号11、01、00作为三级触发状态字)。

(3)触发位置可调(即可选择显示触发前、后所保存的逻辑状态字数)。

(4)其它(如增加存储深度后分页显示等)。

2. 方案论证与选择2.1 数字信号发生器方案▪利用单片机内的定时器,产生计数溢出中断,从而实现信号频率要达到100Hz的要求。

▪当改变拨段开关的预设值后,按下数字开关,单片机会重新读入8位数据,并对改变后的数据进行读取和输出。

▪在中断程序中对信号实现循环右移和输出,每次中断到来的时候,单片机便对输出端口输送一组信号。

图1 数字信号发生器2.2 逻辑分析仪的设计方案一:采用高性能单CPU系统实现,比如32位的ARM芯片作为控制系统核心。

如果采用此方案,可以很好的解决同时采样和控制显示的功能,但是ARM 系统设计调试复杂,在短时间内难以很好的完成设计,所以不宜采用此方案。

方案二:针对分析中提出的问题,我们也可以采用两片普通51单片机来实现系统设计,一片51实现数据采集,存储;另一片51实现控制示波器实时显示功能,两片51之间采用串行通信来解决数据通信问题,这样的方案可以满足题目提出的设计要求。

方案三:采用大规模FPGA来实现系统,采用FPGA来实现相应功能,一般是使用状态机方式来实现,即所解决的问题都是规则的有限状态转换问题。

分析本题目的要求,可以看出,其中的逻辑控制灵活多变,适合于采用程序控制的cpu执行方式,如使用FPGA来实现,大部分的资源会消耗用来控制键盘和显示等辅助功能,用在主逻辑控制方面的资源相对比较少。

另外,考虑到逻辑复杂程度和实现规模,可采用芯片大概要到Alter EPF11C50、Alter EP1C6等级别的芯片来实现,但此种规模PLD系统受实验室条件限制,无法顺利开发,而且其所需元器件和EPC配置芯片在本地无法买到,因而综合比较后我们淘汰掉本方案。

综合分析上述各方案,比较其优缺点,包括灵活性、可靠性、可扩展性和易操作性,所以选用方案二。

3. 简易逻辑分析仪方案实现(1)结构组成:本分析仪由数据采集存储和控制显示两部分构成:数据采集存储模块由信号输入电路、89C52单片机、小键盘和液晶显示模块组成;逻辑状态与波形显示模块由D/A变换器(TLC7226)和89C52构成。

两模块之间采用串行通信方式。

结构框图如下:(2)数据采集和存储部分此部分对应框图中的MCU1、电压比较器、键盘和LCD液晶显示1、输入电路:八路输入信号通过电压比较器LM339和D/A转换器TLC7226提供的基准电压作比较后,作为存储单片的输入,8路信号接入LM339同相输入端,可以获得较大阻抗。

2、触发和存储原理:本部分功能主要依靠51单片机来实现。

根据题目要求,对逻辑信号的采集是要依靠触发字来触发的。

触发字又分单级触发字和三级触发字两种,单级触发字的预置依靠小键盘输入实现。

当单片机采集到的状态字和用户所提供的触发字8位逻辑状态完全一致时,开始一次数据采集,连续采集24位,然后存储到显示缓冲区中,这样每个显示通道的存储深度为 24bit;对于三级触发字方式,设定从外部采两位的状态,连续取三次,都和我们设定的两位逻辑状态一样的情况下,将进入3级触发采集状态,开始采集。

采集完24位数据后,存储起来。

为了同时显示8路信号,所以数据送去显示前要把采集到的数据进行拼装处理,把采集到的24个字节排列成适合显示的8通道数据组合,每一通道存放从同一输入端口采集到的24BIT信息即组合形成8个存储深度为24BIT的数据显示通道,这样就可以把数据依次送到示波器上按行扫描显示。

(3)逻辑状态与波形显示部分此部分对应框图中的MCU2、D/A转换器和示波器。

本部分的主要难点集中在示波器显示控制上,我们先对示波器的显示方法进行分析讨论:1、显示方法分析:要能同时在示波器上看到8路信号波形,模拟示波器需要用外接扫描信号方式工作示波器上显示数字信号发生器的8路信号和1路触发点位置标识,共需9个通道。

同时显示这9个通道的信号,需要采用动态扫描的方法:借助9个不同的基准电压,使显示的9路波形分别处在不同的位置上,即把要在示波器上显示的信号电平Qi+Vi偏置电平(i=0~7)加与示波器Y轴输入端。

X轴输入则是由TLC7226提供的线性锯齿波。

显示的信号电平Qi+Vi其叠加效果如下图的Y++所示:具体扫描方式有三种方案可供选择:(1)、按行扫描方式,X用外触发方式,扫描10次扫完一屏。

X要外接线性的锯齿波信号,Y和上述说明中没有变化。

按行扫描送的数据是把数据采集存储24BIT深度后,把Q0--Q7的数据串行送到示波器,即先送Q0的24BIT,再依次送Q1--Q7的24BIT,扫完一屏要送9次(还有时标数据)。

时标的扫描方法:扫描光标是单独进行的一行扫描。

我们在扫描光标亮点的时候,给X提供一个小平台电压,这样扫描光点在平台电压的持续时间内水平方向不移动,而与此同一时间,Y方向上快速扫描,形成一竖直的时标线。

这样X轴的电压是带一个小平台的锯齿波。

(2)、按行扫描方式,X用外触发方式,扫描9次扫完一屏,X、Y接法和方案一一样。

此扫描方法没有单独去实现时标的显示扫描,时标的扫描显示通过将时标分成9次显示分别在各频道的扫描显示中打点显示,由于一屏的扫描时间为(1/25)S,眼睛是觉察不到时标的分段显示过程的。

这样也可减少一次扫描时间,提高显示质量,且同样可以实现方案二中的竖直时标线,也不至于造成产生小平台锯齿波的问题。

此方法较简单,且效果也不错。

(3)、按列扫描方式,X采用外触发方式,故X、Y接法同方案2。

具体扫描过程是:按列扫描时送数据的顺序是8位为一组,即单片机采集一次的Q0--Q7共8BIT数据,扫完一屏需送24次。

扫描第一个通道的10点(即1BIT)结束后,X输入的电平立刻变为此BIT的起始处的电平值,Y方向同时变化一台阶,再扫描第二个频道的10点,重复第一频道的操作,一直扫描到存储深度24(第0页),则扫完一屏。

此方案中X端的不规则锯齿输入的提供也是一个问题,这种方案情况下的时标输入也是先计算好位置,在单BIT扫描中打点实现的。

综合以上几种方案的分析比较,我们选用方案2,此方案灵活简单,实现起来相对方便,而且可以达到较好的效果。

2、具体硬件实现:(1)、D/A转换器:TLC7226提供的基准电压变化范围大(0~5V),可适应各种输入信号的逻辑电平,提高了测量范围和测量精度。

此输入电路在本设计中,由于信号发生器输出TTL电平,没有将这一优点体现出来。

数据显示模块用一片162A液晶显示,用高四位传输数据,接法与信号发生器中一样。

TLC7266加示波器显示模块产生周期相同的X和Y信号,便于波形显示的同步,且可以显示较复杂的波形。

但单片机通过D/A转换器产生波形产生信号波形时,输出频率会受到单片机本身工作速度的限制(12MHZ晶振主频时,机器周期为1us);其次,要有一定的显示质量,在信号的一个周期内取样点不能太少,这进一步限制了信号的频率。

TLC7226是高性能D/A转换器,片内包含四路8位电压输出数/模转换器(DAC),每个DAC都有分离的片内锁存器,数据通过一个公共的8位TTL/CMOS 兼容(5V)输入口送入这些数据寄存器之一。

由A0和A1决定/WR变低时哪个DAC 被加载。

在/WR的上升沿,数据被锁存在被寻址的输入寄存器,只有保存在DAC 寄存器中的数据决定转换器的模拟输出。

由D/A转换器TLC7226和示波器组成,采用一片TLC7226产生三路模拟信号,OUT C提供基准电压,使逻辑信号门限电压在0~5V范围内按32级变化;OUT B提供线性锯齿波作为示波器X方向输入,用这个线性增长的电压作为扫描电压控制电子束移动,以产生示波器上光点的水平移动;OUT A提供Y轴偏置电平以区分各频段显示位置,一共需要9个电平以区分9个频段的输出显示。

此9个偏置电平和T0输出的信号相迭加,实现T0信号在示波器上的的分频段显示。

(2)、产生和使用门限单片机通过对D/A设置不同输出电压,得到门限电平从D/A转换器输出到LM339反相输入端。

(3)、产生Y轴偏置信号针对分通道显示时,我们注意到并不是简单的叠加偏置电平就可以的,因为叠加到偏置电平上的信号电压本身可能就很高,超过相邻偏置电平的变化值,这样就会发生相邻频道信号甚至多频道信号波形的叠加,这样我们的分频道实现多路显示也就已经没有了任何意义。

考虑到这种情况,我们就需要对信号叠加偏置电压前进行限幅处理,以使各路频道信号均匀的分布于示波器的屏幕上得以清晰显示。

并且要保证各信号之间要有一定的空白间隔,以区分显示9个频段。

针对此方案,我们设计了如下电路图2.2所示作为示波器的输入电路来实现在示波器上清晰显示,此电路不仅解决了上面我们注意到的存在问题即输入电平的幅度问题,同时简单的实现了时标的扫描显示。

这是一个同相求和的运算电路,运放接成电压跟随器形式:Vdot、Vdat、Vbase分别通过R1、R2、R3接运算放大器的同相输入端V2,并通过电阻R4接地,运算放大器的输出端接入反相输入端,接成电压跟随器。

由电压跟随器的特点可列写:Vo=V1 ,V1=V2V2/R4 + (V2-Vdot)/R1+(V2-Vdat)/R2+(V2-Vbase)/R3=0 所以 V0=K1*Vdot + K2*Vdat + K3*Vbas其中: K1=K/R1 ; K2=K/R2;K3=K/R3;1/K=1/R1+1/ R2+1/ R3+1/R4 ;Vbas是在0~5v范围内变化的模拟电压则在V0处的变化范围是0~2.68V即△V0=2.68;要在示波器上实现9频道的输出,则每一频道所占的变化电压是:△V=△V0 / 9=0.29;要使各频段的波形由空白间隔的显示,则让显示波形占频道的4/5,而留下1/5的空白区分各频道的波形使之不会发生相邻波形的重影现象,这样由于加法器的输入端接法,使得本来应该是0~5V的大幅度变化变为0~2.68V小幅度输出,再被9个频段平分,这时可计算得到每频道内显示的波形电压幅值为:△V2=△V* 4 / 5=0.232V;使Vdat的值从低电压0V变到5V时,调节R2合适数值,使△V2恰好为0.232V;若要显示光标,则需在空白的中间显示,这样叠加在△V2上显示时标亮点的△V1=(△V/5)/ 2=0.029V;此时使Vdot的值从低电压0V变到高电压5V时,调节R1数值使△V1恰好为0.029V;实际电路调节合适后可以得到电路的各参数:R1=2M欧,R2= 470K欧,R3= 36K欧,R4= 47K欧Vdot=0时,为正常的扫描模式:Vdot=1时,为打点扫描模式:在屏幕上显示的效果为:第一行为触发点显示行,在没有触发点的时候触发点显示行显示一条低电平的亮线,有触发点时则在触发字处显示持续一个周期的高电平,然后降下来显示低电平亮线,所以出现1BIT的高电平时,则表明有触发点且触发点就在这一位上,并且此触发点的位置是可以人工调节的。