基于8255集成电路的测试的设计与实现教材Word格式.docx
《基于8255集成电路的测试的设计与实现教材Word格式.docx》由会员分享,可在线阅读,更多相关《基于8255集成电路的测试的设计与实现教材Word格式.docx(18页珍藏版)》请在冰点文库上搜索。
通过对大量的TTL集成电路的分析,建立了测试。
通过编写测试程序,最终以速度快、准确率高的测试结果实现了测试74LS00系列芯片的任务。
论文阐述此次设计的背景及意义、集成电路测试系统现状、本文要解决的主要问题,对系统总体方案进行描述,详细说明整个硬件系统的构成和叙述测试结果[1]。
通过对实验电路和程序进行测试和试运行,结果证明达到了设计要求。
以集成电路的测试,硬件电路简单可靠,软件测试精确快速。
并且具有体积小、重量轻、成本低等优点。
关键词:
集成电路,功能测试,LCD夜晶屏幕,74LS00芯片
1引言
随着“软件无线电”技术和集成电路技术的飞速发展,用集成控制方法从一个参考频率源产生多种频率的技术——集成电路被广泛应用。
具体体现在相对带宽宽、频率转换时间短、频率分辨率高、输出相位连续、可产生宽带正交信号及其他多种调制信号、可编程和全控制化、控制灵活方便等方面,并具有极高的性价比。
现已广泛应用于通讯、导航、雷达、遥控遥测、电子对抗以及现代化的仪器仪表工业等领域。
美国AD公司推出的高集成度的采用先进的CMOS技术的集成电路[2]。
AD9850是高稳定度的集成电路合成器件,内部数据输入寄存器、可编程控制系统、高性能数/模转换器(DAC)及高速比较器,能实现可编程编程控制的集成电路和时钟发生器,如接上精密时钟源,AD9850可产生一个频谱纯净、频率和相位都可编程控制的正弦信号。
AD9850中包含高速比较器,正弦波也可直接用作频率信号源,也可通过比较器转换成方波,作为时钟输出。
本文主要介绍了集成电路和74LS00芯片的工作原理、主要特点及应用设计。
1.1课题的研究背景及意义
集成电路是二十世纪发展起来的新型高技术产业之一,也是二十一世纪全面进入信息化社会的必要前提和基础。
自1958年德克萨斯仪器公司制造出第一款集成电路以来,集成电路产业一直保持着惊人的发展速度,在信息化时代的今天,集成电路的发展以及应用显得尤为引人注目。
从电子管、晶体管、中小规模集成电路、超大规模集成电路,发展到当今市场主流的专用集成电路,乃至现处于飞速发展阶段的系统及芯片,集成电路始终沿着速度更快、集成度更高、规模更大的方向不断发展。
到目前为止,集成电路仍然基本上遵循着摩尔定律发展,即集成度几乎每18个月增长一倍。
随着集成规模的进一步扩大,集成电路的应用领域日益扩大,无论是在军事方面的高科技应用,还是在人们日常生活方面的普通应用,集成电路都发挥着举足轻重的作用,因此,集成电路的可靠性显得越来越重要。
为了保证集成电路的功能和性能参数符合技术要求,发挥其在整个电路系统中的重要作用,在集成电路的设计验证、产品检验以及现场维护等方面都需要对集成电路进行测试,测试技术已经成为谋求集成电路生存与发展的一门支撑技术[3]。
无论是元件还是电路和系统,由于制造工艺的限制、使用寿命以及工作条件等影响,故障的产生是不可避免的,所以集成电路的测试便成为亟需解决的问题。
尤其是在教学过程中,学生要熟悉并掌握某些型号集成电路芯片的逻辑功能及使用方法,就必须要反复进行实验,在经过大量的实验以后,芯片肯定会由于各种原因而产生故障,若是更换新的芯片,会过于浪费,因此这势必会成为教学过程中的障碍。
本论文将设计一种简易测试集成电路芯片的仪器,根据其逻辑功能的真值表,测试其功能,判断其是否能正常工作,据此还可进行对已损坏芯片进行维修。
这不仅能解决集成电路芯片教学过程中的有关问题,节约成本,更能在测试过程中使学生更加深刻了解集成电路相关知识。
1.2国内外集成电路测试系统现状
目前有两种集成电路测试系统,一种是整板测试,称板级测试系统。
另一种是对单个芯片测试称芯片级测试系统。
电路板的测试可分为带微处理器的电路板的测试和不带微处理器的电路板的测试,即CPU板和普通电路板的测试。
芯片级测试又分在线测试和离线测试。
所谓在线测试是指对焊接在电路板上的各种芯片做逻辑测试和故障诊断;
而离线测试是对脱离电路板的芯片进行测试和故障判断。
在单个芯片测试系统中,有专门用来测试芯片的仪器,此类仪器设计较为复杂,技术含量高,操作也要求比较专业。
另一种测试系统是在使用过程中将测试芯片作为辅助功能的。
目前国内有一款仪器就属于这种类型,它是南京西尔特公司生产的型号为SUPERPRO/3000U的通用编程器。
编程器是一个把可编程的集成电路写上数据的工具,编程器主要用于存储器(含BIOS)之类的芯片的编程(或称刷写)。
基本配置48脚万能驱动电路。
所选购的适配器都是通用的(插在DIP48锁紧座上),即支持同封装所有类型器件,48脚及以下DIP器件无需适配器直接支持。
在主机上以PEP3000驱动扩展器替换标准DIP48驱动模块后万能驱动电路路数达到100,则直至100脚的器件均可使用通用适配器(有些器件也可选用专用适配器,直接插在DIP48插座上,则无需换装PEP3000)。
通用适配器保证快速新器件支持。
I/O电平由DAC控制,直接支持低达1.5V的低压器件。
更先进的集成电路极大抑制工作噪声,配合IC厂家认证的算法,无论是低电压器件、二手器件还是低品质器件均能保证极高的编程良品率。
编程结果可选择芯片的不同而不同,保证结果持久稳固。
在其编写程序的主要功能的基础上,还可测试标准TTL/COMS电路,并能自动判断型号。
通过向被测芯片发送信号检验其输出电平,再根据事先存入资源库的芯片逻辑功能真值表来判断其型号。
通用编程器另外一个重要特点是具有管脚接触不良检测功能。
平时锁紧座处于悬空状态,放入任何IC都不会因为原有的电压造成短路或者烧坏IC。
当进行编程等操作时,通用编程器首先采用独特的专用总线,利用微弱的信号检测管脚接触状况。
只有接触良好才施加所需电压,并且判断器件的ID代码,只有ID代码正确后才进行编程操作;
如果接触不良,立刻连续图形显示接触不良状况(集成电路系列产品特有的功能),直到接触良好才进行操作[4]。
在图形显示器件接触不良的时候,可以形象的看到器件每一个管脚的接触状况。
特别是器件有一些管脚处于接触良好与接触不良之间的状态,如果不用连续的图形显示,例如仅仅一次的数字显示,是不能很好地发现问题的,如果遇到这种情况,与管脚相应的LCD灯会不断闪烁,并提示“接触不良”字样。
同时通用编程器特有的管脚接触不良检测功能,有效防止了因为器件放反、部分管脚短路、接触不良等原因所造成的损失。
1.2课程设计的目的
通过对四与非门(74LS00)集成电路芯片的测试,了解测试一般数字集成电路方法,进一步熟悉可编程并行接口8255的使用。
课程设计注重提高学生应用能力、创新能力。
在掌握了基本的实验方法和实验技能且理论教学完成的基础上,要求学生通过一周的集中工作,初步锻炼综合运用所学知识的能力,通过讨论与合作,完成一项完整的设计工作。
更深入的了解微机芯片的用法和程序的完成过程,调试方法及技巧。
通过这个环节来加深对《微机原理与接口技术》所学内容的理解和融会贯通。
2设计方案与论证
2.1本设计所要解决的主要问题
基于8255A集成电路测试属于芯片级集成电路逻辑功能测试系统,主要采用功能验证测试法产生测试矢量,离线完成20脚以下TTL74/54等系列芯片的测试。
为此,在本文中要解决的问题主要有:
(1)测试自动化,20脚测试插座固定,测试范围不受被测器件的输入、输出、电源和地的位置的限制。
(2)同型号大批量器件测试简捷方便,效率很高。
(3)能测试TTL74/54系列的门电路,译码器等器件。
(4)可查阅测试数据库内所有芯片的逻辑功能,作为电子手册使用。
(5)整机电源电压为+5V,供电方式为直流稳压电源。
(6)可脱机工作,携带方便,轻巧美观。
综上所述,我们将从测试系统工作原理出发,借鉴一些成熟的经验,查阅了大量的资料,经过分析比较,确立了总体方案和构建硬件系统;
通过对大量TTL集成电路的统计和分析,利用功能验证测试算法建立了测试数据库,编制了测试程序,最终完成整个集成电路的设计。
3设计原理及功能说明
3.1工作原理
8255芯片有三种工作方式:
基本输入/输出方式(方式0)、选通工作方式(方式1)、双向传送方式(方式2)。
这次测试的工作方式是方式0:
方式0相当于三个独立的8位简单接口,各端口既可设置为输入口,也可设置为输出口,但不能同时实现输入及输出。
C端口可以是一个8位的简单接口,也可以分为两个独立的4位端口。
方式0常用于连接简单外设(适于无条件或查询方式)。
常使A端口和B端口作为8位数据的输入或输出口,使C口的某些位作状态输入[5]。
测试原理:
由于每个集成电路都有8个输入端和4个输出端,因此我们可设置8255A的端口A与B工作在方式0,且A口作输出,其8位分别与集成电路的8个输入端相连,这样便可测试这3类集成电路,对于门电路的识别,只要每个门电路的二个输入端从00变化到11,通过读取其输出值,便可判断出门电路的类型,如表1所示:
表3-1集成电路的输出值
输入
输出
门电路
A口
B口低4位输入
2位输入
8位输出
74LS00
00
00000000
1111
01
01010101
10
10101010
11
11111111
0000
3.2测试原理图
图3-1流程图
3.3功能说明
8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。
同时必须具有与外设连接的接口A、B、C口。
由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部
分、控制部分[6]。
(1)与CPU连接部分
根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。
由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0~A1。
此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。
各信号的引脚编号如下:
数据总线DB:
编号为D0~D7,用于8255与CPU传送8位数据。
地址总线AB:
编号为A0~A1,用于选择A、B、C口与控制寄存器。
控制总线CB:
片选信号、复位信号RST、写信号、读信号。
当CPU要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。
(2)与外设接口部分
根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。
各通道的引脚编号如下:
A口:
编号为PA0~PA7,用于8255向外设输入输出8位并行数据。
B口:
编号为PB0~PB7,用于8255向外设输入输出8位并行数据。
C口:
编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。
(3)控制器
8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。
相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:
A组控制器:
控制A口与上C口的输入与输出。
B组控制器:
控制B口与下C口的输入与输出。
3.4程序主要代码[7]
datasegment
ioportequ0d400h-0280h
io8255aequioport+288h
io8255bequioport+28ah
io8255cequioport+28bh
sedb00000000b,01010101b,10101010b,11111111b;
检测时发送的数据
ac0db00001111b,00001111b,00001111b,00000000b
;
74LS00正确时检测时接收的数据
outbufdb'
THECHIPISOK'
07h,0ah,0dh,'
$'
newsdb'
THECHIPISBAD'
dataends
codesegment
assumecs:
code,ds:
code
start:
movax,data
movds,ax
movdx,io8255c;
对8255进行初始化编程
moval,89h;
使A口输出,C口输入
outdx,al
movdi,offsetac0;
DI中存放接收数据的缓冲区首址
movsi,offsetse;
SI中存放发收数据的缓冲区首址
movcx,05h;
发送四个字节
again:
deccx
jzexit;
如果四个数值都相等,则显示提示信息
movdx,io8255a
moval,[si]
movbl,[di]
outdx,al;
发送数据
incsi
incdi
movdx,io8255b
inal,dx;
读芯片的逻辑输出
andal,0fh
cmpal,bl
jeagain;
若正确就继续
error:
movdx,offsetnews;
若有错,芯片有问题
movah,09h;
显示错误的提示信息
int21h
jmpppp
exit:
movdx,offsetoutbuf;
显示正确的提示信息
movah,09h
ppp:
movah,4ch;
返回
codeends
endstart
4调试与结果测试
开关量状态的检测。
例如,在某一系统中,有8个开关K7~K0,要求不断检测它们的通断状态,并随时在发光二级管LED7-LED0上显示出来。
开关断开,相应的LED点亮;
开关合上,LED熄灭。
可用8255A构成的硬件电路,来实现上述功能。
无按键按下时,由于接到+5V的上拉电阻的作用,列线被置成高电平;
某件按下后,该键所在的列线被和行线接通,如向被按下键所在行线输出低电平信号,对应列线也将为低电平;
当从B口读取列线信号时,便能检测到该列线上的低电平;
读取B口的状态时,还能读到行线上的低电平信号;
根据读入的行和列状态中低电平的位置,便能确定那个键被按压下。
调试结果:
图4-1端口PA0、PA1输出,端口PC0输入
图中8255A的PA0和PA1端口与被测试对象的各输入端相连,PC0口与各输出端相连接。
图4-2端口PA2、PA3输出,端口PC1输入
图中8255A的PA2和PA3端口与被测试对象的各输端相连,PC1口与各输出端相连接。
图4-3端口PA4、PA5输出,端口PC2输入
图中8255A的PA4和PA5端口与被测试对象的各输入端相连,PC2口与各输出端相连接。
图4-4端口PA6、PA7输出,端口PC3输入
图中8255A的PA6和PA7端口与被测试对象的各输入端相连,PC3口与各输出端相连接。
8255A测试集成电路中芯片74LS00,由此可见芯片是好的。
5总结
8255芯片使用灵活,通用性强,而且使用成本低、性能稳定,得到了广泛的应用。
在这一周的实验过程中碰到了很多的难题和障碍,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!
通过这次课程设计,我们对各个芯片有了进一步的了解,对各个芯片的功能有了更深刻的认识和体会,平时上课的理论知识只是停留在理论的层面,只有通过了这样的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识真正运用到了实践中去。
在课程设计过程中,同组人员之间相互合作,共同研究使我更加坚信了团体的力量。
在团体的共同协作和努力下,任何的难题都可以被解决!
经过1个星期的课程设计,完成任务的效果和预想中有很大的出入,以为是一个简单的实验,也没有查阅资料,直到调试的时候,来编程,才发现有困难!
即时大框架做好了,也很可能失败,很多小细节时我们不容忽视的。
就拿刚开始来说,编完之后调试,有五十多个错误,看着蒙了,其实检查检查都是一些书写错误。
调试成功链接却没有效果,完全不知道从哪里改起!
经过老师的重新改正才真正完成明白了以后工作做什么事都不是一蹴而就的,需要逐步发现错误还要避免弯路才可以做成。
这次设计对我综合运用所学知识的能力提高不小,以前上课做的实验都是很简单的编程,跟硬件结合也没有这么复杂,实现的功能都比较简单,可是这次要实现的功能相对来说是比较复杂的。
而且可能实现一个目的不止一个途径,一个方法行不通的时候要找其他的方法,一条路走到老并不适合。
这次试验通过亲自动手动脑也发现任何复杂的东西都是以简单的东西为基础的,所以平时的基本功很重要。
更清楚的告诉我们里理论源于实际,而实践是以理论为基础的!
经过这次设计明白了很多,收获很多。
首先,在平时的学习中一定要一丝不苟,每一个小细节都应该明白为什么,因为往往成败就在这些小细节上;
其次,在平时的学习中我们应该多注意一些实际应用中的东西,比如各种芯片的用法、功能,各种软件的使用等等。
毕竟理论的学习是为了为实践服务的。
另外,在很多时候我们都应该记住创新,在弄懂别人的东西的之后,我们需要静下心来钻研,以求更加完美的东西,进一步创新,敢于创新。
遇到问题的时候更加要沉下心来,不能浮躁,要认真一步步分析、找到每一个不清楚的地方,尽力独立解决为题。
总之,这次设计实践在很大程度上提高了我们的动手能力,加深了我们队理论知识的理解,进一步加深了对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
我们大家在实验的时候都团结合作,遇到问题时候一起探讨,增强了我们的合作精神。
最后,感谢老师的悉心指导以及同学们的热心帮助!
参考文献
[1]专著.王忠民.微机原理与接口技术[M]人民邮电出版社2007-6
[2]专著.微机原理及接口技术实验指导书[M]自动教研室2014-12
[3]专著.谭博学,苗汇静主编.集成电路原理及应用[M]电子工业出版社2011-6
[4]专著.相伟主编.汇编语言程序设计[M]中国水利水电出版社2006-11
[5]专著.郑学坚,周斌编著.微型计算机原理及应用[M]西安电子科技大学出版社2009-09
[6]专著.沈复兴,陈利永编著.电子技术基础[M]电子工业出版社2001-1-1
[7]网上资料
附录1:
总体电路原理图
8255A与集成电路的连接图
附录2:
元器件清单
8255A内部结构及其引脚功能
8255A是40引脚双列直插式芯片,片内有A,B,C3个8位I/O端口,可提供24条可编程的输入/输出端口线。
1.内部结构
8255A的内部结构由三部分电路组成:
与CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。
(1)与CPU的接口电路
与CPU的接口电路由数据总线缓冲器和读/写控制逻辑组成。
数据总线缓冲器是一个三态、双向、8位寄存器,8条数据线D7~D0与系统数据总线连接,构成CPU与8255A之间信息传送的通道,CPU通过执行输出指令向8255A写入控制命令或往外设传送数据,通过执行输入指令读取外设输入的数据。
读/写控制逻辑电路用来接收CPU系统总线的读信号RD,写信号WR,片选择信号CS,端口选择信号A1,A0和复位信号RESET,用于控制8255A内部寄存器的读/写操作和复位操作。
(2)内部控制逻辑电路
内部控制逻辑包括A组控制与B组控制两部分。
A组控制寄存器用来控制A口PA7~PA0和C口的高4位PC7~PC4;
B组控制寄存器用来控制B口PB7~PB0和C口的低4位PC3~PC0。
它们接收CPU发送来的控制命令,对A,B,C3个端口的输入/输出方式进行控制。
(3)输入/输出接口电路
8255A片内有A,B,C3个8位并行端口,A口和B口分别有1个8位的数据输出锁存/缓冲器和1个8位数据输入锁存器,C口有1个8位数据输出锁存/缓冲器和1个8位数据输入缓冲器,用于存放CPU与外部设备交换的数据。
对于8255A的3个数据端口和1个控制端口,数据端口既可以写入数据又可以读出数据,控制端口只能写入命令而不能读出,读/写控制信号(RD,WR)和端口选择信号(CS,A1和A0)的状态组合可以实现A,B,C3个端口和控制端口的读/写操作。
2.引脚信号
8255A的引脚分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
D7~D0(databus):
三态、双向数据线,与CPU数据总线连接,用来传送数据。
CS:
片选信号线,低电平有效时,芯片被选中。
A1,A0(portaddress):
地址线,用来选择内部端口。
RD:
读出信号线,低电平有效时,允许数据读出。
WR:
写入信号线,低电平有效时,允许数据写入。
RESET:
复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(portA):
A口输入/输出信号线。
PB7~PB0(portB):
B口输入/输出信号线。
PC7~PC0(portC):
C口输入/输出信号线。
VCC:
+5V电源。
GND:
电源地线。