我们采用AT89C52单片机设计了集成芯片测试系统。该测试系统能够实现对高校实验室中常用的TTL、CMOS系列芯片及一些常用按键开关的功能检测,同时通过RS232串行口与PC机相连,可以在PC机上直接对测试系统进行操作。
1 系统组成
该测试仪的硬件电路由AT89C52单片机,并行扩展接口8155,显示驱动,键盘输入,看门狗和复位电路以及串行接口电路组成。
按照芯片测试插座旁边的指向,插入待测的数字芯片或按键;通过键盘输入指令或数字,单片机经过键盘扫描从8155读回键值,根据键值执行相应的子程序。假设输入测试命令键,单片机将调用测试子程序,并将测试结果送到显示器上显示(“good”or“bad”);假设输入数字键,单片机会自动将输入的数字显示到显示器上;假设输入其它命令键,单片机将调用相应的功能子程序,执行相应的命令。
2 系统硬件设计
2.1 单片机
单片机采用美国ATMEL公司生产的AT89C52单片机。该芯片不仅具有MCS-51系列单片机的所有特性,而且片内集有8K字节的电擦除闪速存储器(Flash ROM),价格低。由于使用片内程序存储器,所以,EA/VP接高电平;AT89C52的最大工作频率为24MHz,系统利用单片机的内部振荡器加石英晶体构成时钟源,为了工作可靠,晶体振荡频率选为12MHz。
2.2 8155接口芯片
由于AT89C52片内的输入输出口有限,需要外加专用的外围接口芯片。INTEL 8155H既有RAM又有I/O口,并且可直接与MCS/51系列单片机相连接,不需要增加任何硬件逻辑。因此,本设计中,用8155的I/O口作键盘显示器的并行接口电路,以便AT89C52中的P1口、P2口用作被测芯片接口。
2.3 通信接口
采用MAXIM公司的串行接口芯片MAX487将PC机和测试仪器连接起来。测试仪接收PC机的信号,执行相应的操作后再将处理结果上传到PC机,以便在PC机上直接对测试系统进行操作(见图2)。
2.4 测试芯片接口
根据AT89C52中的P1口与P2口的特点,本设计采用AT89C52的P1口和P2口作为测试芯片的接口,其中,P1口中的P1.7用于控制14/16管脚的电源地的转换,P2口中的P2.7作为高8位地址控制信号。
(1)单片机与测试芯片之间加电阻
需要注意的是,在单片机与测试芯片之间需串接470Ω(或510Ω)和电阻。首先,串接电阻的目的是对AT89C52起限流保护的作用,假设,P1.0输出高电平,此时,测试芯片又为非门,那么,将引起灌电流现象,致使P1.0口线上的电流非常大,对AT89C52有害。其次可以保证逻辑电平的正确,在连接线上串接几百欧的电阻而不接几千欧的电阻原因在于:假设让p1.0的逻辑低电平,这样,基极将是高电平,又有,p1口上的上拉电阻为3K左右,如果连接线上的电阻也取3K,那么,将使p1.0输出逻辑高电平,此时逻辑电平是错误的;如果连接的电阻为470Ω左右,p1.0口仍然能够正确地输出逻辑低电平,这样就保证了逻辑电平的正确性。
(2)测试芯片从14到16管脚时电源地的转换
因为测试芯片管脚从14位到16位不定,所以,存在电源地转换的问题。本设计中p1.6管脚是被转换 的对象,用p1.7管脚电平的高低来控制p1.6接地与否,这个电路是利用晶体三极管来实现的。当SETB P1.7时,P1.6接地,此时能测14管脚的芯片;当CLR P1.7时,P1.6是正常的测试位,此时能测试16管脚的芯片。所以,只要在生个芯片测试子程序中将P1.7作相应的设置即可。
2.5 键盘显示电路
本设计是采用8155并行扩展口构成的键盘、显示电路。LED8位8段显示器共阴极,8155 PB口提供段选码,PA提供位选码。键盘为3×7矩阵键盘,餍列输出由PA口提供,行输入由PC0~PC2提供。LED的段、位信号分别采用74LS07与74LS06驱动。LED采用软件译码动态扫描显示工作方式,键盘采用逐列扫描查询工作方式。
3 系统软件设计
系统软件由主程序和若干子程序构成。有显示子程序、键盘扫描子程序、键值处理子程序和测试子程序组成。其中,测芯睡的功能键包括:自动测试并显示型号(AUTO)和指定型号测试芯片(TEST),显然,后者速度要快得多。程序流程框图如图4所示。
系统开机后,首先执行主程序,完成系统初始化工作,然后调用显示子程序,在显示器上给出提示符rd,告诉听任者机器已准备好,可以接收键盘输入;当显示器上出现提示符rd后,立即调入键盘扫描子程序,此时,操作者可通过键盘输入数据或命令,经键盘扫描后从8155读回键值并进行按键分析,判断按下的键是数字键还是功能键,如果是数字键,则将与键号相对应的数据送往显示缓冲区显示;如果是功能键,则转入相应的功能键处理程序,最后返回到显示程序,开机状态一直重复这个过程。
编制软件时,在扫描键盘前应熄灭显示器,即向8155的PA口输出显示空白的段码OFFH,这样,不会因为对键盘的扫描而干扰显示器的显示。键盘扫描的延时10ms消抖,既可用专用的延时子程序实现,也可用DISP显示子程序实现。本设计中,显示完五位LED所需时间为10ms以上,因此,用显示子程序延时,效果更佳。
4 抗干扰措施
使用环境存在多种干扰源,如电磁干扰、电压波动大等,为此,我们从硬件、软件两方面采取了一些措施。
(1)硬件方面:采用特殊设计的开关电源,它能适应较宽的电压波动,可随瞬间浪涌冲击;注意多级去耦,电路中每片集成电路芯片的电源引脚上均加一个0.01μF瓷片电容;应用看门狗电路,采用看门狗集成电路MAX1232,它是MAXIM公司推出的高性能、低价格、低功耗8脚双列直插芯片。
(2)软件方面:配合看门狗电路,有死机拦截程序和软件陷阱。
5 结束语
实用结果表明,该测试仪设计简单,占用硬件资源少,有良好的人机对话功能,便于携带、操作、能够满足课程教学实验的要求,性能稳定、可靠。
从长远打算,增加测试芯片的类型势在必行。首先,从扩展被测芯片的管脚数量来说,可以在外接8155的基础上再外接8255,利用8255的三个端口来扩展测试芯片的接口;其次,随着测试芯片数量的增加,程序存储器的容量也将相应地增大,那时,我们可以采用P2口作为高8位地址,外挂程序存储器。经过以上扩展,该测试仪功能将更加完善。