基于单片机和EDA技术的逻辑分析仪设计(第8页)
本文共计8912个字,预计阅读时长30分钟。【 字体:大 中 小 】
当各项参数设定后,按“确认键”保存参数,并打开逻辑信号检测中断(INT1),关闭采样字节输出中断(INT0)。每次逻辑信号发生器的位传送时钟(B-CLK)触发一次逻辑信号检测中断服务程序的执行,每次服务程序执行要进行8次路选和8次AD转换启动,并分别检测转换结束状态和读取转换结果。每次逻辑信号检测中断服务,要调用8路逻辑信号数据采集处理子程序,将8路信号状态转换成1个采样字节,并存入采样数据区。当数据区存满后,关闭逻辑信号检测中断,打开采样字节输出中断,等待CPLD输出中断请求(CLPD-INT)。
600)makesmallpic(this,600,1800);' src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/ksohtml/wps_clip_image-27242.png" width="514" height="421" />
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;
