网站地图
范文同学网


自动化 模具 机械 电子 通信 动画 英语范文 工程管理 金融范文 旅游管理 工业工程 生物工程 给排水范文 西门子PLC 历史学 三菱PLC
单片机 财务 会计 法律 行政 物理 物流范文 电子商务 制药工程 包装工程 土木工程 材料科学 汉语言范文 欧姆龙PLC 电压表 松下PLC
计算机 化工 数电 工商 食品 德语 国贸范文 人力资源 教育管理 交通工程 市场营销 印刷工程 机电一体化 数控范文 变电站 文化产业

  • 网站首页|
  • 文档范文|
  • 人工降重|
  • 职称文章发表|
  • 合作期刊|
  • 范文下载|
  • 计算机范文|
  • 外文翻译|
  • 免费范文|
  • 原创范文|
  • 开题报告

联系方式

当前位置:范文同学网 -> 免费范文 -> 电子专业 -> 基于单片机和EDA技术的逻辑分析仪设计
自动化文档范文| 电子机电范文| 测控技术范文| 通信专业范文| 电气工程范文| 通信工程范文| 电子信息工程范文| 免费自动化范文| 免费电子范文| 免费电气范文| 通信范文
·电气自动化原创文章范文 ·学前教育专业原创文章范文 ·国际经济贸易原创文章范文 ·药学专业原创文章范文 ·英语专业原创文章范文 ·公共事业管理原创文章范文
·金融专业原创文章范文 ·广播电视编导原创文章范文 ·电子商务专业原创文章范文 ·法律专业原创文章范文 ·工商管理原创文章范文 ·汉语言文学原创文章范文
·人力资源管理原创文章范文 ·摄影专业原创文章范文 ·心理学专业原创文章范文 ·教育管理原创文章范文 ·市场营销原创文章范文 ·计算机专业原创文章范文
·物流管理专业原创文章范文 ·小学教育专业原创文章范文 ·行政管理专业原创文章范文 ·土木工程管理原创文章范文 ·财务会计专业原创文章范文 ·信息管理信息系统原创范文
·新闻学专业原创文章范文 ·眼视光技术原创文章范文 ·播音与主持原创文章范文 ·广告学专业原创文章范文 ·表演专业原创文章范文 ·动画专业原创文章范文
·视觉传达设计原创文章范文 ·数控技术专业原创文章范文 ·录音艺术原创文章范文 ·光机电应用技术原创范文 ·机电一体化原创文章范文 ·印刷技术专业原创文章范文
·动漫设计与制作原创范文 ·软件技术专业原创文章范文 ·书法学专业原创文章范文 ·应用电子技术原创文章范文 ·电子信息工程技术原创范文 ·机械专业原创文章范文
·酒店管理专业原创文章范文 ·旅游管理专业原创文章范文 ·文化产业管理专业原创范文 ·体育教育专业原创文章范文 ·通信工程专业原创文章范文 ·护理专业原创文章范文

本专业推荐:带proteus仿真程序的文档设计范文  原创文档范文点击进入 → 自动化单片机相关的原创文档范文

基于单片机和EDA技术的逻辑分析仪设计

本文ID:LW8771 ¥
摘要:本设计采用单片机控制8路逻辑信号电平采集;采用EDA技术设计的CPLD芯片处理逻辑信号,控制点阵扫描和分析结果在示波器上显示;单片机和CPLD间采用中断方式交换数据。该设计具有1、3级触发方式,触发字位置和浮动时标线显示等功能,以及友好操作界面和波形稳定显示等特点,并拓宽示波器使用功能。 关键字:点阵扫..

 

摘要:本设计采用单片机控制8路逻辑信号电平采集;采用EDA技术设计的CPLD芯片处理逻辑信号,控制点阵扫描和分析结果在示波器上显示;单片机和CPLD间采用中断方式交换数据。该设计具有1、3级触发方式,触发字位置和浮动时标线显示等功能,以及友好操作界面和波形稳定显示等特点,并拓宽示波器使用功能。

 

关键字:点阵扫描控制;逻辑分析;CPLD;VHDL编程

 

The design of the logical analysis apparatus of one-chip microcomputer and the EDA's technology baseding on

 

 

【Abstract】This design uses the one-chip microcomputer to be controlled gathering of logical signal levels of 8 tunnels, Use CPLD's chip of EDA's technical design to the logic signal processing and Control  scanning to the lattice signal and The result of display analysis on the oscillograph , Use the interrupt mode exchange data between one-chip microcomputer and CPLD. this design has 1 and 3 grade of method of activation , trigger word seat display and time to be marked thread display  etc. merit ability,As well as friendly operation interface and waveform stabilization what shows  etc. characteristic , And widen the oscillograph use merit ability .

 

【Key words】The lattice scanning control; The logical analysis; CPLD; VHDL's programming

 

1  引言 

 

逻辑分析仪是数字电路调试和信号分析中不可缺少的工具。本设计参照“2003年全国大学生电子设计竞赛”的题目,用双踪信号示波器作为逻辑分析结果显示设备;用单片机控制逻辑信号采集和逻辑分析仪的各项功能操作;用EDA(电子设计自动化)技术设计的CPLD(复杂可编程逻辑器件)芯片处理逻辑信号,控制逻辑分析结果波形的点阵扫描;达到一般逻辑分析仪应有的功能和指标[1]。本设计的逻辑分析仪特点是性能稳定、成本低,并拓宽了示波器使用功能。

 

2  总体结构及各硬件设计

 

逻辑信号分析的总体结构如图1所示;其中逻辑分析仪由8路逻辑信号检测电路、单片机系统和CPLD点阵扫描控制电路构成。逻辑分析仪能接受8路逻辑信号(D7~D0)和位传送时钟信号(B-CLK);其接受的逻辑信号形式如图2所示。

 

 

逻辑分析仪各部分解释如下:

 

2.1  逻辑信号检测

 

8路逻辑信号检测部分由8选1采样模拟开关(CD4051)和模数转换器ADC(MAX7820)组成,如图3所示。为了适应较宽范围(0.25~4V)逻辑信号门限电压(逻辑1的电压)的输入,对逻辑信号电平采用模拟信号采样,当AD转换获得逻辑信号电平的数字量(A/D-DATA)大于门限电压对应的数字量时,确定为逻辑1。由于分时检测8路逻辑信号(D7~D0),要求采样开关速度和AD转换速度要远远大于逻辑信号位传送速度;当位传送时钟信号到来时,才能保证8路逻辑信号每1路采样点在靠近位的中间位置,从而得到可靠的电平数字量。

 

本设计的CD4051从地址选通(CH-SELECT)到数据输出时间约500ns,MAX7820转换一路信号所需的时间约3ns,采集处理8路逻辑信号各位(1个字节)所需时间约5us。若8路逻辑信号每位采样点在位中间的三分之一区,则逻辑信号的位宽约为15us,因此本设计的逻辑分析仪可对66kHz以下波特率的8路信号进行逻辑分析。

 

 

2.3  单片机系统

 

单片机系统[2]由单片机(AT89C51)、点阵液晶显示模块和4×4键盘三部分组成,其示意图见图1的“单片机系统”部分。单片机的P0口在不同的时间段分别用于显示数据输出,逻辑信号采样数据输入,采样字节输出的数据传送;P1、P3口用于逻辑信号检测(见图3引脚标注)、CPLD点阵扫描控制(见图4引脚标注)和液晶显示模块的操作控制;P2口用于4×4键盘扫描及按键信息接受。单片机系统的键盘和显示部分用于完成1、3级触发方式,1级、3级触发字,16级门限电压选择,数据采集区的前、中、后显示页面(16字节)选择,时间线位置等参数的设定和显示,以及相关功能操作。

 

2.4  CPLD点阵扫描控制

 

CPLD点阵扫描控制部分由可编程逻辑阵列(CPLD)、数模转换器(DAC)和X、Y、Z轴扫描信号放大电路组成,并在CPLD控制下工作;其电路如图4所示。

 

 

CPLD向通过输出中断CPLD-INT请求(单片机的INT0)从单片机系统获得采样字节;对每个采样字节按顺序进行8路逻辑信号位波形(或时标线)的点阵扫描的信息处理,并控制数模转换(DAC)、信号放大、信号扫描显示和回扫信号消隐处理。在处理一个页面(1/3数据区)16个采样字节后,重复处理过程。

 

CPLD内部由计数器链(2分频器,点、位、字节计数器)、数据接收器、X轴位边界定位器、加法器、Y轴定位输出器、2选1多路器、消隐控制器等部分组成,如图5所示。CPLD外部引脚CLK(CPLD-CLK)、EN(使能)、TR(信息类型控制)、DI[7~0] (CPLD-DATA)、CP(锁存)、-INT(CPLD-INT)分别连逻辑分析仪单片机的ALE、P1.7、P3.1、P0[0~7]、P3.0、P3.2引脚(见图4的引脚标注);-WR、A0(通道选择)、DO[7~0]分别连DAC的-WR、A0、D[7~0]引脚;Zout连信号放大器的Z轴输入端。CPLD工作原理说明如下:

 

 

开机后,CPLD内部复位,EN=0,CPLD处于保持状态。

 

1.数据传送——首先设置EN=0,CPLD处于保持;然后,CP的上升沿,将外部数据送入数据接收器;设置TR=0,传送8路信号采样字节;TR=1,传送触发字或时标线位置的4位编码(给出16个位置信息)。传送数据后,设置EN=1,CPLD工作。

 

2.逻辑信号扫描——在EN=1,TR=0前提下,外部时钟CLK的上升沿驱动计数器链工作。字节计数器(采样字节计数)值ByteC经过X轴位边界定位器处理后的值X1(X1=ByteC*10H)与点计数器(位内点计数)值Xc再经过加法器处理,产生当前扫描点X轴数字量X=X1+Xc=ByteC*10H+Xc。位计数器(采样字节各位计数)值BitC和数据接收器(存放采样字节)值DI[7~0]经过Y轴定位输出器处理,产生当前扫描点Y轴数字量的Y有两种:①当DI[BitC]=0,Y=0E0H-(BitC*20H)+05H;②当DI[BitC]=1,Y=0E0H-(BitC*20H)+15H。在A0正(A0=1)、负(A0=0)状态对2选1多路器的驱动下,分时将Y、X送到DO[7~0]总线上;以此同时,在两个-WR(-CLK)的上升沿(A0正、负半个周期的中间)驱动下,将送到DO[7~0]总线上的Y和X分别写入数模转换器DAC的两个通道。位计数器值BitC=7时,表示一个采样字节处理完,CPLD发出传送下一个字节的中断请求-INT。逻辑分析仪单片机收到中断请求后,进行一次数据传送处理。

 

3.触发字和时间线位置扫描——在EN=1前提下,TR=1将数据接收器DI[3~0](位置信息)送入字节计数器,并控制点计数器值Xc=0,经过X轴位边界定位器和加法器处理后,产生扫描点X轴数字量X=X1+Xc=DI[3~0]*10H+0;同时TR=1控制Y轴定位输出器的值Y按计数方式工作,在CLK1驱动下,输出Y=00~0FFH的计数值,在示波器屏上显示竖线,表示触发字或时间线位置。当Y=0FFH时,表示位置信息扫描完毕,发出传送下一个字节的中断请求信号。

 

4.消隐处理——在Xc=0FH,即开始下1路时钟位各点扫描时,点计数器输出Z1=1;在BitC=7,即开始8路信号下一组各时钟位(下一个采样字节)扫描时,Y轴定位输出器输出Z2=1;在Y=OFFH,即触发字和时间线位置扫描结束时,Y轴定位输出器输出Z2=1;在A0=1时,为了消除当前传送的Y轴数字量与前一次X轴数字量产生的干扰扫描点,2分频器输出的A0使Z3=1;Z1、Z2、Z3信号经过消隐控制器(或非门电路)处理,使Zout为低电平,经反相放大器处理后,向示波器Z轴输出+12V电压,以消除回扫线和干扰点。

 

双踪信号示波器调整到X-Y工作方式,探头Y1为X轴输入,探头Y2为Y轴输入,显像管电子枪控制端为Z轴输入。CPLD输出的X、Y轴数字量X、Y经过数模转换和放大处理后,产生示波器X、Y轴扫描的模拟信号,在示波器屏上显示8路逻辑信号。CPLD输出的Zout信号经放大后,控制示波器的Z轴,以消隐回扫线和干扰点,使8路逻辑信号更清晰的显示。

 

3  软件设计

 

软件设计部分有逻辑信号检测及数据采集处理、键盘显示扫描处理、采样字节输出处理和CPLD内部结构设计VHDL(硬件描述语言)编程四部分。本文主要介绍逻辑信号检测及数据采集处理和CPLD结构设计VHDL编程部分。

 

3.1  逻辑信号检测及数据采集处理

 

逻辑信号检测及数据采集处理是通过单片机的INT1中断服务程序来完成。其中1级触发字逻辑信号检测中断服务程序和数据采集处理子程序流程如图6、图7所示。

 

当各项参数设定后,按“确认键”保存参数,并打开逻辑信号检测中断(INT1),关闭采样字节输出中断(INT0)。每次逻辑信号发生器的位传送时钟(B-CLK)触发一次逻辑信号检测中断服务程序的执行,每次服务程序执行要进行8次路选和8次AD转换启动,并分别检测转换结束状态和读取转换结果。每次逻辑信号检测中断服务,要调用8路逻辑信号数据采集处理子程序,将8路信号状态转换成1个采样字节,并存入采样数据区。当数据区存满后,关闭逻辑信号检测中断,打开采样字节输出中断,等待CPLD输出中断请求(CLPD-INT)。

 

 

CPLD点阵扫描控制电路在每次输出8路1位信号波形后,向单片机系统发出采样字节输出中断;对每次采样字节输出中断的服务,单片机要对CPLD进行一次采样字节输出及写操作控制。输出的采样字节有波形数据、触发字和时标线位置三种数据类型。

 

3.2  CPLD结构设计的VHDL编程

 

CPLD内部结构各部分设计采用硬件描述语言VHDL编程来实现[3]。由于篇幅所限,仅给出部分设计的编程及解释说明。

 

1.点计数器设计的编程

 

if TR='0' then     -- TR=0时,逻辑信号时钟位的扫描点计数。

 

  if f='0' then    -- f为回扫时钟插入标志位,f=0时,正常的点计数扫描。

 

    Xc<=Xc+1;      -- 点计数增1。

 

  else

 

    Xc<=Xc;        -- f=1时,Xc保持1个时钟时间。

 

  end if;

 

  if Xc="1111" then

 

    f<='1';        -- 计完1个时钟位16个点后,f置1控制插入一个回扫时钟

 

    BitC<=BitC+1;  -- 采样字节的位计数增1

 

    Z1<='1';       -- 控制下一时钟周期不显示

 

  else 

 

    f<='0';        -- 控制正常计数

 

    Z1<='0';       -- 控制正常显示

 

  end if;

 

else              -- TR=1时,触发字和时标线位置扫描

 

  Xc<="0000";     -- 点计数器值Xc 置0

 

end if;

 

    程序中的“Xc<=Xc+1”语句仅为点计数器增1作准备,只有下一个时钟到来后,才计数增1变化;因此,对后边的“if Xc="1111" then”语句,判断到Xc="1111"时,已经为点计数器Xc变成0做好了准备。程序中的“--”为注释标志。

 

2.Y轴定位输出器设计的编程

 

if TR='0' then        -- TR='0'逻辑信号扫描,由位计数器值和数据接收器值确定Y值

 

if BitC="000" then  — 第1路逻辑信号,对应字节内的最高位,示波器上端

 

if DI(7)='0' then  Y<="11100101"; -- DI(7)=0,Y=E5H

 

else  Y<="11110101";              -- DI(7)=1,Y=F5H

 

end if;

 

elsif BitC="001" then              -- 第二路

 

if DI(6)='0' then Y<="11000101"; -- DI(6)=0,Y=C5H

 

else  Y<="11010101";             -- DI(6)=1,Y=D5H

 

end if;

 

elsif BitC="010" then              -- 第三路

 

if DI(5)<='0'then Y<="10100101"; -- DI(5)=0,Y=A5H

 

else  Y<="10110101";             -- DI(5)=1,Y=B5H

 

end if;

 

elsif BitC="011" then              -- 第四路

 

if DI(4)<='0'then Y<="10000101"; -- DI(4)=0,Y=85H

 

else  Y<="10010101";             -- DI(4)=1,Y=95H

 

end if;

 

elsif BitC="100" then              -- 第五路

 

if DI(3)='0' then Y<="01100101"; -- DI(3)=0,Y=65H

 

else  Y<="01110101";             -- DI(3)=1,Y=75H

 

end if;

 

elsif BitC="101" then              -- 第六路

 

if DI(2)='0' then Y<="01000101"; -- DI(2)=0,Y=45H

 

else  Y<="01010101";             -- DI(2)=1,Y=55H

 

end if;

 

elsif BitC="110" then              -- 第七路

 

if DI(1)='0' then Y<="00100101"; -- DI(1)=0,Y=25H

 

else  Y<="00110101";              -- DI(1)=1,Y=35H

 

end if;

 

elsif BitC="111" then              -- 第八路

 

if DI(0)='0' then Y<="00000101";  -- DI(0)=0,Y=05H

 

else  Y<="00010101";              -- DI(0)=1,Y=15H

 

end if;

 

end if;

 

else        -- TR='1'触发字和时标线位置扫描,Y轴定位输出器按计数方式工作

 

if Y<"11111111" then   -- Y<"11111111"时,计数增1,从下到上扫描位置线

 

Y<=Y+1;Z2<=’0’;    -- Z2=’0’,正常显示

 

else                   -- Y="11111111"时,消隐控制,发出中断申请

 

Z2<='1', INT<='0';

 

end if;

 

end if;

 

4  结束语

 

本设计将单片机和EDA技术结合起来,简化了硬件结构,工作性能稳定,经过应用测试,达到了逻辑分析仪应有的功能要求。

 

通过本设计,笔者认为,运用EDA技术设计电路,设计者可专注于电路的行为和功能,而不必考虑电路如何实现及电路布线,并且可通过计算机进行设计效果的模拟和修改,为设计者提供了更广阔的设计空间。用单片机和EDA技术开发的电子产品,在功能、性能指标和开发效率等方面比传统的方法有明显的提高,而且成本降低。

 

参考文献:[1]顾乃级,孙续. 逻辑分析仪原理与应用[M]. 北京:人民邮电出版社,1973. 

 

          [2]李华,MCS-51系列单片机实用接口技术[M]. 北京:北京航空航天大学出版社,1993. 

 

          [3]潘松,黄继业. EDA技术实用教程[M]. 北京:科学出版社,2002.

 

 

基于单片机和EDA技术的逻辑分析仪设计相关范文
上一篇:浅谈仿真软件在集成电路教学中的.. 下一篇:光电测速设置设计
点击查看关于 基于 单片机 EDA 技术 逻辑 分析仪 设计 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文

关于我们 | 联系方式 | 范文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士文章范文


范文同学网提供文档范文,原创文章范文,网站永久域名www.lunwentongxue.com ,lunwentongxue-范文同学网拼音首字母组合

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2024 范文同学网 版权所有