EDA课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号
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 重复输出循环移位逻辑序列00000101
1.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。