数字集成电路参数测试仪报告精.docx
《数字集成电路参数测试仪报告精.docx》由会员分享,可在线阅读,更多相关《数字集成电路参数测试仪报告精.docx(26页珍藏版)》请在冰豆网上搜索。
数字集成电路参数测试仪报告精
重庆大学本科学生课程设计指导教师评定成绩表
说明:
1、学院、专业、年级均填全称。
2、本表除评语、成绩和签名外均可采用计算机打印。
重庆大学本科学生课程设计任务书
说明:
1、学院、专业、年级均填全称。
2、本表除签名外均可采用计算机打印。
本表不够,可另附页,但应在页脚添加页码。
一、设计目的.......................................5
二、设计要求.......................................5
三、方案设计与论证比较.............................5
四、硬件设计.......................................6
4.1、DA模块THS5651工作原理及电路设计
4.2、放大模块1
4.3、ADC0809工作原理及电路设计
4.4、Iil模块
4.5、Iol模块
4.6、12864模块
五、软件设计.....................................
5.1、数值显示模块
5.1.1、分频模块
5.1.2十位数据波形发生模块
5.1.3去抖模块
5.1.4文本显示模块
5.1.5按键切换模块
5.1.6ADC0809驱动模块
5.2图形显示模块
5.2.1输入输出电压采样模块
5.2.2输入输出电压数据转换模块
5.2.3显示模块
5.2.4波形显示的整体电路
六、系统功能测试及结果..............................
6.1测试方法
6.1.1Vol,Voh,Vil,Vih的测试方法
6.1.2Vil的测试方法
6.1.3Vol的测试方法
6.2测试结果
6.3测试精度分析
七、设计过程总结与体会...........................参考文献........................................附件一系统电路图:
附件二元器件清单:
附件三
一、设计目的
在当今社会中,电子技术发展迅速,数字集成电路的应用广泛,而74系列逻辑芯片在数字电路中又有着非常广泛的应用,因而数字电路设计中必须要求所用的数字电路芯片逻辑功能完整,但在数字电路芯片测试中又有很多不便,实际测试较繁琐。
针对上述需要,我们针对常用的74系列逻辑芯片设计了一种数字电路芯片测试仪,用来检测常用74系列芯片的型号和逻辑功能的好坏,从而给数字电路的设计、制作带来方便。
通过本次综合设计,要求同学学会基本的电路搭建和焊接。
能够设计简单的应用系统,并对所建立的系统进行分析。
二、设计要求
基本要求:
1、能对74系列中小规模数字集成电路的VIH(max)、VIL(min)、VOH、VOL、IIL、IOL等参数指标进行单项自动测试。
2、能对所参数进行显示,在QC12864B显示屏进行数字化显示。
3、要求数模转换精度高。
4、版图设计合理、美观,布局合理。
资源节约。
布线要求易读,无太大弯折。
电路板的焊点要求结实,电接触良好、稳定度高。
5、软件设计要求可读性高,可靠性高,逻辑合理。
采样合理,具有代表性。
扩展要求:
1、对波形进行采样处理,通过ROM在12864上显示波形。
2、用鼠标对波形的数值显示进行操作,控制鼠标所对应的曲线位置显示出
该点的数值。
三、设计方案论证与比较
设计方案
本方案通过FPGA给DA模块发送数字信号,从而产生连续性较好的模拟信号,然后输7404芯片。
再用AD模块采集7404输出端的电压,讲采集的数字进行处理运算,从而实现对7404各路反相器的逻辑电路进行VOL、VIL、VOH、VIH、
6
IOL、IOH等参数的测试。
测试的结果讲显示在12864液晶显示屏上,显示分为数字化显示和传输线显示。
方案论证
1、FPGA采用Cyclon系列的EP1C6Q240C8,该芯片提供5980个逻辑单元和92106b的存储容量单元,综合考虑满足设计的基本需求。
2、DA模块采用10线的THS5651A1,它提供一个全面差分输出电流为20mA和大于300KW的输出阻抗,同时支持单端和差分应用。
输出电流可以直接联储向负载没有额外的外部输出缓冲器需要,设计方便。
3、放大级,为了满足DA模块输出电压有5V的压降要求,所以需加入一个放大级。
4、AD模块采用ADC0809CCN,八位的A/D转换器。
方案比较
该设计采用12864作为显示模块,12864相比于1602区别在于有很多优点。
首先12864功能多与1602,12864频幕明显大于1602,12864不仅能显示字符,而且还能够显示图像。
明显1602达不到这个功能。
虽然12864优先于1602,但是12864的指令却和1602相似所以选择12864更为明智。
四、硬件设计
4.1DA模块,THS5651工作原理及电路设计
THS5651是一个10位分辨率的数字模拟转换器(DAC)特别适合用于数字数据传输的有线和无线通信系统。
其输入数字量的最低有效位发生变化时,所对应的输出电流的变化量即为它的精度,它反映了输出模拟量的最小变化值。
10位的THS5651芯片管脚如下:
7
其参考电压为3.3V,输出为差分电流信号,准确片上基准和控制放大器允许用户调整这个输出电流20mA到2mA,2mA,无显著退化的表现。
这降低能源消耗,同时可以提供20dB增益范围控制能力。
另外,一个外部参考电压和控制放大器可用于在应用程序使用的是乘法数模转换器。
输出电压范围为1.25V。
各引脚作用:
AGND20模拟电路接地
AVDD24模拟电源电压(4.5V-5.5V)
CLK28外部时钟输入,输入数据的上升沿锁存时钟
COMP223内部偏置节点,需要0.1中频解耦电容
D[9:
0][1:
10]数据输入端口,D9是最重要的数据位(最高有效位),D0是最重要的数据位(LSB)
DGND26数字电路接地
DVDD27数字电源电压(3V-5.5V
EXTIO17作为外部参考输入时,内部参考禁用(即EXTL0=AVDD。
作为内部基准输出时(即EXTL0=AGND),需要0.1中频解耦电容
AGND时作为参考输出。
EXTLO16内部参考地面,连接到AVDD禁用内部参考源
IOUT122数模转换器电流输出。
全面当所有的输入位设置为1.
IOUT221补充数模转换器电流输出,全面当所有输入位为0.
8
MODE25模式选择。
内部下拉。
模式0被选中,如果该信号是左浮动或连接到DGND,可见时序图
NC[11:
14]没有联系
SLEEP15异步硬件断电投入,主动式高,内部下拉,需要5ms,关闭需要3ms。
一般接法如下:
本次设计使用的核心板已经集成了THS5651模块,直接使用即可。
4.2放大模块
4.3ADC0809模块工作原理即电路设计
ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
ADC0809内部由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
9
其管脚图如下:
D7-D0:
8位数字量输出引脚。
IN0-IN7:
8位模拟量输入引脚。
VCC:
+5V工作电压。
GND:
地。
REF(+):
参考电压正端。
REF(-):
参考电压负端。
START:
A/D转换启动信号输入端。
ALE:
地址锁存允许信号输入端。
(以上两种信号用于启动A/D转换)
EOC:
转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
10OE:
输出允许控制端,用以打开三态数据输出锁存器。
CLK:
时钟信号输入端(一般为500KHz)。
A、B、C:
地址输入线。
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示。
CBA选择的通道
000IN0
001IN1
010IN2
011IN3
100IN4
101IN5
110IN6
111IN7
数字量输出及控制线:
11条
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。
VREF(+),VREF(-)为参考电压输入。
本次设计中只需要3路电压输入,即经过反相器的电压输入,和Iil,IOl转换过来的电压输入。
为方便电路连接,电路设计时使用的是IN4,IN5,IN6三个输入。
VREF(+)接正5V电源,VREF(-)接地。
ALE,EOC,OE,ST等控制管脚和D7—D0都接入FPGA,由程序控制。
原理图如下:
4.4Iil测试模块
反相器输入低电平电流Iil测试方法是在输出端悬空,输入端串接一个电阻,考虑电阻对输入电压的影响,应当尽量小,故选用10欧姆电阻。
但是由于反相器输入电阻无穷大,小电阻上的压降将非常小,因此采用差分运算电路把电阻上的压降进行放大,在传入AD模块采集后传给FPGA,由程序处理得到电阻上的压降再除以电阻得到电流。
为了得到较大的放大倍数,RF取100K,R1和R1’用100K的滑动变阻器,可以获得较大的调整范围。
的计算公式:
。
4.5Iol测试模块
反相器输出低电平电流Iol的测试方法与Iil的测试类似,都是通过检测出串联电阻的压降用差分运算电路放大后传入AD,在采集进入FPGA处理,求得流过电阻的电流。
差分运算电路同样RF取100K,R1和R1’用100K的滑动变阻器,只是,测Iil时是输出悬空,输入端加上Vil的电压时流过电阻的电流,而Iol是输入悬空,从反相器输出端施加Vol的电压时流过电阻的电流。
电路设计时,以上两个模块在同一片运放芯片TL084上,故在此一起给出原理图:
4.612864显示模块
12864液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
可与CPU直接接口,提供两种界面来连接微处理机:
8-位并行及串行两种连接方式。
具有多种功能:
光标显示、画面移位、睡眠模式等。
共有20个管脚:
管脚号
管脚名称LEVER管脚功能描述1
VSS0电源地2
VDD+5.0V电源电压3
V0-液晶显示器驱动电压4D/I(RSH/LD/I=“H”,表示DB7∽DB0为显示数据
D/I=“L”,表示DB7∽DB0为显示指令数据
5R/WH/LR/W=“H”,E=“H”数据被读到DB7∽DB0
R/W=“L”,E=“H→L”数据被写到IR或DR
6EH/LR/W=“L”,E信号下降沿锁存DB7∽DB0
R/W=“H”,E=“H”DDRAM数据读到DB7∽DB0
7
DB0H/L数据线8
DB1H/L数据线9
DB2H/L数据线10
DB3H/L数据线11
DB4H/L数据线12
DB5H/L数据线13
DB6H/L数据线14
DB7H/L数据线15
CS1H/LH:
选择芯片(右半屏信号16
CS2H/LH:
选择芯片(左半屏信号17
RETH/L复位信号,低电平复位18
VOUT-10VLCD驱动负电压19
LED+-LED背光板电源20
LED--LED背光板电源
通过改变LED背光电源两管脚之间的电压差可以调节屏幕亮度,而通过改变液晶驱动电压与VDD之间的电压差,可以调节显示的对比度。
本次设计中在Vout与V0之间介入变阻器来改变电压。
调节滑动变阻器即可方便调节屏幕显示的对比度。
其内部主要功能器件有:
(1).指令寄存器(IR
IR是用于寄存指令码,与数据寄存器数据相对应。
当D/I=0时,在E信号下降沿的作用下,指令码写入IR。
(2).数据寄存器(DR
DR是用于寄存数据的,与指令寄存器寄存指令相对应。
当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。
DR和DDRAM之间的数据传输是模块内部自动执行的。
(3).忙标志:
BF
BF标志提供内部工作情况。
BF=1表示模块在内部操作,此时模块不接受外部指令和数据。
BF=0时,模块为准备状态,随时可接受外部指令和数据。
利用STATUSREAD指令,可以将BF读到DB7总线,从检验模块之工作状态。
(4).显示控制触发器DFF
此触发器是用于模块屏幕显示开和关的控制。
DFF=1为开显示(DISPLAYOFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。
DDF的状态是指令DISPLAYON/OFF和RST信号控制的。
(5).XY地址计数器
XY地址计数器是一个9位计数器。
高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。
X地址计数器是没有记数功能的,只能用指令设置。
Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。
(6).显示数据RAM(DDRAM)
DDRAM是存储图形显示数据的。
数据为1表示显示选择,数据为0表示显示非选择。
DDRAM与地址和显示位置的关系见DDRAM地址表。
(7).Z地址计数器
Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。
当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。
Z地址计数器可以用指令DISPLAYSTARTLINE预置。
因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。
此模块的DDRAM共64行,屏幕可以循环滚动显示64行。
12864有自己的指令系统,通过这些指令控制12864进行读,写,刷屏,显示等操作。
原理图设计如下:
五、软件设计
5.1数值显示模块
5.1.1分频模块
时序是fpga开发的核心内容。
而实现时序匹配得当自然离不开分频器。
所谓分频,就是把输入的信号的频率变成成倍地低于输入频率的输出信号。
分频器的实现方法可以有很多种。
本次课程设计所所用到的分频器,其工作原理是把输入的信号作为一个计数脉冲,由于计数器的输出端口是按照一定的规矩输出脉冲的,所以对输出端口输出的信号脉冲,就可以看作是对输入信号的分频。
至于分频频率是怎么样的,由所设定的计数器所决定。
本次课程设计所用的分频器有2000分频,400分频,40分频分频器。
所有分频器的均为占空比可调的分频器。
实验中设定均为百分之五十的占空比。
设计中用到的2000分频分频器如图
(1)
16
所示。
图
(1)2000分频分频器模块图
5.1.2十位数据波形发生模块
此次设计的数字集成电路参数测试仪,其要求外部必须给与一个测试信号。
本设计使用fpga控制DA芯片产生一个联系递增的模拟量,即锯齿波信号。
Fpga中控制DA产生信号的模块是波形发生模块。
由于外部所配置的DA芯片为10位的,因此输出的信号管脚为十位。
该波形发生模块通过输入端的clk来触发,使得内部的变量循环自加,锯齿波波形输出。
另外,为了配合后端的数据选择,特此在波形发生模块中也设定了选择功能,通过A,B,C三个选择端口的选择可以实现发生信号的变化,新增加的发生内容为定值发生,即使得DA能够发出一个固定的电平。
用于电流参量的测试Iol和Iil的测试。
图
(2)为十位数据波形发生模块。
17
图
(2)10位波形发生模块
5.1.3去抖模块
由于本次设计中使用到按键进行显示页面的切换,因此去抖模块的使用是很有必要的。
本设计中有效的利用了fpga中的资源,使用的去抖的方法是用软件实现。
该方法相对于硬件D触发器去抖方法,实现较容易,可靠性强。
人触发按键一般的抖动时间低于20ms,因此在20ms内存在很多波动的信号影响后端的判断。
软件去抖的方法就是在判断到第一次触发之后使用空操作的方法延时20ms,即屏蔽之后的抖动来实现去抖的作用。
本实验中用到的去抖动的时钟为1Khz,即每个脉冲触发刚好间隔1ms,在该时钟的触发下,不停地对输入端KEY_IN进行上升沿的捕捉。
一旦捕捉到上升沿,即空循环20个时钟,实现消抖功能。
本次设计中使用到的去抖模块如图(3)所示。
18
图(3)去抖模块
5.1.4文本显示模块
本次课程设计的题目的重点和难点是用fpga实现lcd屏幕12864的控制。
本次有四个界面用到了文本显示模块。
分别是开机界面、电压量测量模块、输入低电平电流测量模块、输出高电平电流测评模块。
各个模块的VHDL实现方法大致相同。
即通过大家的输入端口的clk_lcd输入的时钟信号进行界面内容的填写。
本实验中的文本显示模块的工作思路大体都是在clk_lcd的脉冲触发下进行界面文字的填写。
文字的填写可以通过查找对应的文字库的二进制代码来填写到对应的地址上来实现。
本设计中的文本显示模块使用到了状态机的方法来实现。
总共用到二十个状态机。
前四个状态分别实现指令的配置以及清屏、设定光标初始地址以及设定光标移动方向等,即通常所说的LCD初始化。
之后的16个状态分别是给每一列写二进制代码。
总之使得整个屏幕得到填充。
需要注意到的一点就是,文本显示模块的时钟信号的设定有一定的要求。
根据手册上的数据可知,每写一个指令或者数据都需要耗费一定的时间,这个时间是微秒级别的。
每一次清屏也是需要时间,这个时间是毫秒级别的。
为了满足显示屏的最低工作时间。
本次所设定的信号时间为4ms一个周期的时钟信号。
几个模块的图见图(4)、图(5)、图(6)和图(7)。
图(4)开机界面
19
图(5)电压量测试模块
图(6)输入低电平电路测试模块
图(7)输出低电平电流测试模块
20
5.1.5按键切换模块
各个界面之间的切换通过按键的选择来实现。
按键切换模块分为两个部分。
前端部分是设定由按键触发的选择模块,即通过按键的次数来循环变换A,B,C三条通道是输出值,从而改变选择的通道。
之后又用A、B、C接到各个通路的选择器上,即后端选择部分。
通过十一个一个74151选择器同步输出端口的值。
另外,A、B、C端口还接到之前波形发生模块上,实现源到测试终端一条路的统一,避免了干扰。
按键切换模块见图(8)、图(9)。
图(8)按键切换前端模块
图(9)按键切换后端模块
5.1.6ADC0809驱动模块
对AD器件惊喜采样控制,传统的方法多数是用单片机完成的。
编程简单,但是控制的周期长,速度慢。
当AD的采样速度比较快时。
Mcu的慢速度极大地限制了AD高速性能的特性。
但是如果使用状态机来控制AD的采样,整个周期需要4-5个状态即可完成。
而状态机之间的跳变所需要的周期相对较小。
因此可以进行高速采样。
基于此,本实验使用fpga来完成AD驱动模块。
通过对时序图的了解,知道START为装换的启动控制信号,高电平有效;ALE为模拟信号输入宣统端口地址锁存信号,上升沿有效;一旦START有效后,状态信号EOC即可变为低电平,表示进入锁存状态,转换时间约为100us。
转换结束后,ECO将变为高电平。
此后外部控制可以使得OE由低电平变为高电平(输出有效),此时,ADC0809的输出数据总线从原来的高状态变为输出数据有效。
AD驱动模块见图(10)。
图(10)AD驱动模块
5.2图形显示模块
5.2.1输入输出电压采样模块
由于输入电压是有1024个电所组成的,但是12864无法提供1024*1024个点来逐一显示,所以必须开辟一个模块用于对数据进行采样,以便于显示。
采样不仅要具有代表性,还要有规律性。
综合考虑我们采用每间隔16个点进行采样,该模块如图(11)所示。
图(11)电压采样模块
5.2.2输入输出电压数据转换模块
12864的显示数据时8线的,但是我们得到的却是两个8位的输入输出数据,为了满足12864的写数据要求,所以必须有一个模块来对采样数据进行处理。
处理后的数据接下来是要写入显示模块,从某种意义上讲,它也可以看作数据中转站也算是一个存储器ram,可读可写。
该模块如图(12)所示。
图(12)数据转换模块5.2.3显示模块
12864的波形显示指令与字符显示模块是不同的指令,所以必须有一个专门的显示模块用于显示波形。
Xy位数据转换模块的输出端,clk位时钟信号,rs位控制端,必须注意rs要反馈给数据转换模块,以控制它的读数据,以达到读数据和显示数据的同步。
该模块如图(13)所示。
图(13)显示模块5.2.4波形显示的整体电路
在波形显示模块中的w模块是一个个分频器,它的目的在于使数据读出的时钟与12864的显示时钟同步,既显示一个数据的时间内保证只送一次数据给显示模块。
这样才不会出现数据传输的混乱局面。
Clk_high是一个高频率时钟,它是datarom的写时钟,它要求能够在很快的时间内就能把数据进行转换并记录。
波形显示模块如图(14)所示。
六、系统功能测试与结果
6.1测试方法
6.1.1Vol,Voh,Vil,Vih的测试方法
通过FPGA发生十位数据给DA,输出一个模拟量,再经过运放处理,使得输出到反相器输入端的电压的变化范围为0-5V,且在示波器下观察为线性电压。
经过反相器输出端的电压经过AD采样,进入FPGA.。
至此,FPGA可以接收到同步的反相器输出数字信号以及同步的反相器输入信号。
采集到的信号均进行数字处理。
将得到的二进制数值转换为相应的十进制数值,乘上外部电路决定的参数(对于DA