星论文网欢迎您的来访,本中致力于各类论文代写,论文发表,代写代发论文服务

想快速发表职称论文找星论文网
当前位置:代写网论文资料->理工论文->计算机论文

简易逻辑分析仪设计

作者:代写论文  来源:星论文网  发布时间:2010-05-22 14:37:10

一、引言
逻辑分析仪是一种类似于示波器的波形测试设备,它可以检测硬件电路工作时的逻辑电平,并加以储存,用图形的方法直观地表现出来,一般的逻辑分析仪可以同时进行多个通道的分析,便于用户检查和分析电路中的错误,逻辑分析是电路设计中不可缺少的仪器,通过它可以迅速定位错误,解决问题达到事半功倍的效果。
然而传统的逻辑分析仪的价格较高,基于计算机串行接口的简易逻辑分析仪,可以以较小的成本提供相应的性能,我们所设计的简易逻辑分析仪就是基于硬件采集电路和PC机终端显示的简易设备,因此这个课题需要硬件和软件两部分,我所承担的是课题中的硬件设计的内容,要实现从硬件采集模块采集信号信息在PC机上进行时实显示。
本设计采用单片机(80C31)作为系统的控制核心。整个设计采用了模块化的设计思想,包括采样保持电路、逻辑信号门限电压比较、信号采集、串口电平转换。整个系统较好的实现了逻辑分析仪的设计要求,达到了较高的性能指标。
二、软硬件环境
硬件环境是ME-5103仿真器,它是用于对MCS-51系列单片机软件,硬件调试高性能普及型开发工具。它的产品和相关附件包括:带有8KRAM的ME-5103单片机在线仿真器,仿真电缆, RS232电缆,用户手册。仿真器本机晶体振荡器频率为6MHZ,使用外部晶体振荡器的频率范围为4-16MHZ。
所使用的软件环境为Proteus 6.9仿真软件,它具有仿真设计一般电路和单片机电路的强大功能,其主要包括电路原理图设计、PCB板设计和电路仿真器件设计。
三、总体设计
本系统采用单片机作为数据处理及控制核心,由单片机完成系统控制、信号的采集分析及信号的处理,以及通过RS232数据线进行串行异步通信。显示部分利用PC机及高级语言编程实现,将设计任务分解为逻辑信号门限电压比较、信号采集、TTL电平与RS232电平转换电路模块。简单逻辑分析仪在实现上分成软件和硬件两部分,硬件部分主要是实现对信号的采集和编码,形成有特定意义的字节通过RS-232串口向PC端传输;软件部分要实现的功能是通过RS-232串口接收传送上来的字节,并对数据进行处理,实现逻辑分析仪触发锁定、时间测量等各种功能。方框图如下:
 
图1  系统方框图
四、各模块设计方案
(一)数据采集模块
系统输入信号直接使用数字信号发生器产生的逻辑信号序列,通过一个反相器后可得到幅度刚好相反的另外一组逻辑信号序列,把这两组数据当作逻辑分析仪所要检测的数据。如下所示:
 
图2  逻辑信号的产生
两路数据保持电路的作用是当时钟触发脉冲到来时,启动LF398对8路输入信号进行保持,这样可以保证ADC0809转换的8路数据为同一时刻的数据。同时LF398的输入阻抗大于50KΩ,电路如下图所示:
 
图3  保持电路
LF398为采样保持芯片,该芯片具有输入阻抗高,采样速率快,下降速率低等一系列优良的交直流性能,被广泛应用于高精度采样保持电路中。其特点有:电源电压±5V到±18V;兼容TTL、PMOS、CMOS逻辑输入;采样电容为0.01μF时,保持阶跃典型值为0.5mV。
因为ADC0809的基准电压为+5V,则+4.98V的电压对应的数字输出量为255,本设计中采用3V为逻辑信号门限电压,其对应的数字量为:154。将A/D转换来的数字量与逻辑信号门限电压所对应的数字量进行比较,若大于则判为逻辑‘1’,若小于则判为逻辑‘0’。单片机检测数字信号发生器来的同步脉冲,当检测到脉冲上升沿时,控制LF398保持当前数据,然后触发ADC0809进行采集,并将采集到的数据与触发字进行比较,当满足触发条件时,单片机将采集到的数据处理后通过P0口发送出去,原理图如下所示。通道1到通道8对应的地址为8000H-8007H。
 
图4  信号采集电路
 (二) 串行通信
用单片机普通 I/O口实现串行通信的方法,可在单片机的最小应用系统中实现与两个以上串行接口设备的多机通信。
1、串行通信协议
串行接口的基本通信方式口的基本通信方式有异步和同步两种方式。异步通信采用用异步传送格式,如下图:
 
图5  异步数据传送格式
数据发送和接收均将起始位和停止位作为开始和结束的标志。在异步通信中,起始位占用一位(低电平),用来表示字符开始。其后为8位的数据编码,最后为停止位(高电平)用来表示字符传送结束。上述字符格式通常作为一个串行帧,串行通信中,每秒传送的数据位为波特率。如数据传送的波特率为 9600波特,则字节中每一位传送时间为 T=1/9600=0.104 ms。根据数据传送的波特率即字节中每一位的传送时间,便可用普通I/O口来模拟实现串行通信的时序。硬件电路 80C31单片机通过普通 I/O口与 PC机 RS232串口实现通信。
单片机的串行通信的波特率可以程控设定,通过软件可对单片机串行口编程为四种工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可变的,由定时器T1的溢出率来决定。
串行口的四种工作方式对应三种波特率。由于输入的移位时钟的来源不同,所以,各种方式的波特率计算公式也不相同。
方式0的波特率 =  fosc/12
方式2的波特率 =(2SMOD/64)• fosc
方式1的波特率 =(2SMOD/32)•(T1溢出率)
方式3的波特率 =(2SMOD/32)•(T1溢出率)
单片机的串行端口有 2 个控制寄存器,用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率以及中断标志 TI 和 RI 。 单片机的串行端口有 1 个数据寄存器 SBUF ,该寄存器为发送和接收所共有,在一定条件下,向 SBUF 写入数据就启动了发送过程,读 SBUF 就启动了接收过程。
在实时控制中,由于事件的突发性,常采用中断的方式进行数据传送,中断方式能更大限度地提高资源的利用率,使 CPU 在不进行数据通信时做其他的工作。 方式 1 是 10 位异步通信方式,其中包括 1 个起始位, 8 个数据位和 1 个停止位。波特率由定时器 T1 的溢出率和串口控制寄存器 SMOD 的状态确定,在 CPU 的晶振为 11.0592MHz 时,波特率常采用 9600b/s 。  对 SBUF 进行写操作就可启动发送,在发送移位时钟的同步下,从 TXD 先送出起始位,然后是 8 位数据位,最后是停止位,这样, 1 帧数据发送完,中断标志 TI 置位。 在允许接收的条件下 (REN = 1) ,当 RXD 出现由 1 到 0 的负跳变时,即被当成是串行发送来的 1 帧数据的起始位,从而启动 1 次接收过程。当 8 位数据接收完,并检测到高电平停止位后,即把收到的 8 位数据装入 SBUF ,置位 RI , 1 帧数据的接收过程就完成了。
2、电平转换电路
51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,由于 PC系列微机串行口为 RS232C标准接口,与输入、输出均采用 TTL电平的80C31单片机在接口规范上不一致,因此TTL电平到RS232接口电平的转换采用MAXIM公司的 MAX232 标准RS232接口芯片,该芯片可以用单电压(+5V)实现 RS232接口逻辑“1”(-3V~15V)和逻辑“0”(+3V~15V)的电平转换。我们采用了三线制连接串口,即和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对本课题来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。I/O口与 PC机RS232串口实现通信的硬件接口电路如图所示:
 
图6  TTL—RS232电平转换电路
五、软件设计
软件设计的代码如下:
ORG 0000H
MAIN: MOV   RO,   #20H   ;      数据暂存区首址
      MOV   R2,  #08H    ;      采样点数
      SETB  IT1           ;     脉冲触发方式
      SETB  EA            ;     开中断
      SETB  EX1           ;
      MOV   DPTR,#7FF8H  ;     指向0809首地址
      MOVX  @DPTR, A      ;     启动A/D转换
HERE: SJMP  HERE          ;     等待中断
MOVX   A  ,  @DPTR    ;   读数  
      MOVX   @R0,  A        ;   取数
     INC    DPTR           ;   更新通道
     INC    R0             ;   更新暂存单元
     DJNZ   R2 ,   DONE    ;
     RETI  
DONE:MOVX   @DPTR,  A
     RETI
    MOV  TMOD, #20H             ;定时器1设为工作方式2
    MOV  TL1,  #0F3H            ;定时器初值
    MOV  TH1,  #0F3H            ;8位重装值
    SETB  TR1                   ;启动定时器1
    MOV  SCON ,#50H             ;将串行口设置为方式1,REN=1
    MOV  R0,  #20H              ;发送数据区首地址
    M0V  R1,  #40H              ;接受数据区首地址
    ACALL  SOUT                 ;先输出一个字符
    SETB  ES        
    SETB  EA
LOOP:SJMP  $                     ;等待中断
     ORG   0023H                 ;串行口中断入口
     AJMP  SBR1                  ;转至中断服务程序
     ORG   0100H                
SBR1:JNB   R1,SEND               ;TI=1,为发送中断
     ACALL SIN                   ;RI=1,为接收中断
     SJMP  NEXT                  ;转至统一的出口
SEND:ACALL SOUT                  ;调用发送子程序
NEXT:RETI                        ;中断返回
SOUT:CLR  TI
     MOV  A,@R0                  ;取发送数据到A
     INC  R0                     ;修改发送数据指针
     MOV  SBUF,A                 ;发送数据
     RET                         ;返回

SIN: CLR  RI
     MOV  A,SBUF                 ;读出接受缓冲区内容
     MOV  @R1,A                  ;读入接收缓冲区
     INC  R1                     ;修改接受数据指针
     RET                         ;返回
END

单片机软件流程如下图所示:

 
图7  软件流程图

六、系统测试
(一) 调试方法和过程
采用分别调试各单元模块,调试通过后再进行整机调试的方法。
(二) 测试仪器
PC机、双踪示波器 ,ME-5103单片机仿真器、数字万用表、信号发生器 。
(三) 测试数据和结果
(1) 信号发生器输出序列为TTL电平。
(2) 测试结果:单级触发、输出功能正常。 如:信号序列:
通道1:101010101010101010101010101010101010101010
通道2:  010101010101010101010101010101010101010101
(四)波形显示
虚拟示波器显示波形如图所示:
 
图8  PC机接收显示图形
(1) 触发点、时间标志线显示正常,能在PC机上的虚拟示波器上读出时间标志线和2路信号的逻辑状态。
(2) 触发位置调节正常。能显示触发前后所保存的逻辑状态。
七、结束语
 本文设计了一种基于MCS-51系列单片机和虚拟示波器组成的简易逻辑分析仪,能够清晰稳定的显示所采集到的多路信号波形,性能稳定,整个系统软硬结合,降低了硬件复杂程度,在实际应用中取得了较好的效果。
参考文献:
[1]何宏。单片机原理及接口技术教程。国防工业出版社,2006年11月第一版。
[2]李广弟,朱月秀,王秀山。单片机基础。北京航空航天大学出版社,2001年7月第二版。
[3]邓元庆,关宇,贾鹏。数字电路设计基础与应用。清华大学出版社,2005年5月第一版。
[4]何桥。计算机硬件技术基础。电子工业出版社,2006年7月。


本文TAGS:简易逻辑分析仪设计_代写计算机论文
  • 好的评价如果您觉得此论文资料好,就请您
      0%(0)
  • 差的评价如果您觉得此论文资料差,就请您
      0%(0)
文章评论
   评论摘要(共 0 条,得分 0 分,平均 0 分)
如您需要代写代发表论文请联系QQ:800054855