张鹏辉,张武军,潘逸刚
(中国电子科技集团公司第58研究所,江苏 无锡 214035)
利用模拟测试系统和单片机测试音频控制电路
张鹏辉,张武军,潘逸刚
(中国电子科技集团公司第58研究所,江苏 无锡 214035)
单片机因其体积小、集成度高、功能强、可靠性高、编程开发灵活等特点得到广泛应用。传统的音频控制电路测试需要使用数模混合测试系统,测试时间长、投入成本高。文章介绍了一种新的音频控制电路测试方案,提出了基于单片机在模拟电路测试系统上测试这种音频电路的方法,采用keil C的IDE环境进行软件开发,并通过Multisim软件对设计进行了仿真,最后完成了实装验证和批量生产。该方法具有稳定性高、可编程、低成本、测试速度快等优点。可以看作是数字电路在模拟电路测试系统上的创新型测试,从而加深对模拟电路测试系统的深层次利用,提高了系统的利用率。
单片机;音频控制电路;测试;模拟电路测试系统
音频控制电路作为一种数字电路,一般都在数字测试系统上测试,但是由于测试功能较多,时间较长,测试成本较高。而模拟电路测试系统由于没有数字模块,而无法测试数字电路,现在我们提出一种基于单片机方法,给模拟电路测试系统提供一个数字信号源作为外接数字信号模块,使模拟电路测试系统具有数字信号模块,这样也就可以测试音频控制电路了。而且该方法还具有稳定性高、可编程、低成本、可在短时间内大量推广等优点。
我们这里选用的是JC-XXXXA模拟集成电路测试系统,该系统由精密测量单元(PMU)、器件电压源(DPS)、电压电流源(VIS)、参考电压源(VS)、音频电压源(AS)、音频电压表(AVM)、时间测量单元、通道板、系统总线控制板、接口板等几部分组成。它可以用于运算放大器、比较器、模拟开关、音响电路电话机电路、三端电源、A/D、D/A等多种模拟集成电路的直流参数、动态功能及交流参数的测试,适合集成电路生产测试(包括中测和成测)、设计验证、进厂检验测试及质量/可靠性分析测试,是一款测试精度较高、功能强大的测试系统。但是该测试系统没有配置数字模块,无法进行数字信号的发送和接收,对某些带数字控制部分的模拟电路难以测试。
Atmel公司生产的CMOS型51系列单片机,具有MCS-51内核,用Flash ROM代替ROM作为程序存储器,可擦除1 000次以上,具有集成度高、稳定性高、体积小、控制功能强、编程开发方便、价格低等优点,而且还支持串行扩展技术,成为当今最流行的单片机,这里我们选用AT89S52单片机。
图1是某音频控制电路的管脚定义,它通过DATA串行数据输入口进行读数据,其时序如图2。
图1 音频控制电路的管脚
图2 串行数据和时钟的时序
在时钟的上升沿时读取数据信号,在时钟的下降沿时读取触发信号,这样一个11位数据为一个数据周期,数据格式共11位为D0~D10,其中D0位表示控制声道的选择:0表示选择声道1,1表示选择声道2;D1位表示控制几个声道的选择:0表示同时控制两个声道,1表示同时只能控制一个声道;D2~D8为调节音量大小的控制信号码,D9和D10保持为1。
本系统功能由硬件和软件两部分协调完成,硬件部分主要完成测试信号的输出;软件部分主要完成信号的处理及整个系统控制功能。
其工作原理为由测试系统向本系统单片机发送一个信号,然后单片机再向电路发出一组有延时的特定信号,以模拟音频控制电路的音量变化,并验证音频控制电路的功能是否正常,同时电路输出一个返回信号给测试系统来判断测试电路是否合格。
该系统主要包括以下几个部分:单片机、单片机外围电路、单片机与测试电路的接口、测试系统和单片机的接口等。单片机内部存储22组信号数据,测试系统发送start信号给单片机,单片机收到后向测试电路发送一组11位数据,然后单片机内部序号加1,下一次收到start信号时发送下一组数据,直到在一个测试周期内输出一组信号。当单片机收到End信号时,内部清零,下一次发送将由第一组数据开始。图3是系统结构图。
图3 系统结构图
该系统软件主要由主程序、数据发送等两个模块组成。本系统的软件采用C语言编写,在Keil软件环境下进行编译连接,可以很好地反映程序的运行情况。在上机调试时发现,由于系统的原因,在它给单片机发送信号时会产生抖动,从而使单片机接收到不稳定的信号,产生错误。所以在单片机接收测试系统的信号部分,增加了延时去除抖动,提高测试的精度。
5.2.1 主程序设计
主程序主要完成硬件初始化、去抖动、子程序调用等功能,主程序流程如图4所示。
图4 主程序流程图
去抖动功能主要由一个延时函数实现,当收到触发信号时,通过延时函数来消除抖动,并在处理完start或end信号后进行软件延迟,防止系统输出start或end信号的周期过长,单片机系统把一个信号当成多个信号来处理。
子程序主要是一个数据发送的模块,它把要发送的信号分为三段,第一段共两位:D0D1,第二段共七位:D2~D8,第三段共两位:D9D10。由于第一段和第三段每次发送的信号都相同,所以为了测试方便不用把它们和第二段放在一起,只需要把第二段单独放在一个数组中即可,在测试时把第一段和第三段信号加在要调用的第二段信号的前端和末尾即可完成测试,这样可以减少数据的调用次数,提高测试效率。
5.2.2 数据发送程序设计
数据发送程序通过软件编写驱动时钟端口和DATA端口输出一组1/0二进制信号,同时发送时减少对系统资源的消耗,我们把要发送的一组音量控制码信号存放在一个数组里,在发送时调用这个数组即可。表1为音量控制码表。为了测试方便,置D0D1位为00、D9D10位为11,加上D2~D8的控制位,这样组成一个11位的要发送信号。为了配合模拟电路测试系统,对于每一个要发送的信号,都采取从左向右按位发送,直到一个信号发送完毕,单片机系统进入等待阶段。
表1 音量控制码信号格式
本系统使用Multisim 10版本进行软件仿真,图5是软件仿真的连线图和波形图。
图5 原理连线及仿真波形图
在软件仿真阶段,先进行数据发送模块的仿真,把数据发送的输出口接在示波器的信号输入口上,观察波形图,当能够完成数据的发送之后,再和主程序集成在一起,进行精确的周期仿真。仿真时检测输出的1/0二进制信号的波形图是否与要发送的音量控制码二进制信号波形相匹配,直到完成一个周期的测试,结果和预期情况一致,仿真还解决了信号与时钟的时序匹配问题和系统延时问题。
在仿真成功后,将C51程序烧写入单片机,然后在测试系统上进行了外围电路焊接,结合烧写后的单片机对某音频控制电路进行了上机调试,并进行了实测,结果符合仿真预期,系统工作正常。
单片机在现今的应用非常广泛,几乎覆盖了各行各业,但是作为数字模块外接在模拟电路测试系统上测试数字电路,应该说是一次创新的应用,而且相信未来这样的创新应用会越来越多。
Testing Audio Control-IC based on Simulator-IC Test System and Microcontroller
ZHANG Peng-hui, ZHANG Wu-jun, PAN Yi-gang
(China Electronics Technology Group Corporation No.58Research Institute,Wuxi214035,China)
Microcontroller is widely used due to its small size, high integration, powerful function, and strong reliability and easy to program. The traditional audio-IC testing needs mixed-digital-analog IC test system which costs long test time and large investment. A new test method about audio-IC is described. It’s advanced to test audio-IC based on microcontroller on the analog-IC test system. Software exploitation is operated under keil C’s IDE environment and simulated using Multisim. Afterwards, validation and mass production is completed. The advantages of this method are high reliability, programmable, low cost and high test speed. It’s regarded as an innovative test that digital-IC tested on analog-IC test system.
microcontroller; audio control-IC; test; analog-IC test system
TN407
A
1681-1070(2011)09-0005-03
2011-04-22
张鹏辉(1983—),男,河南永城人,现在中国电子科技集团公司第58研究所从事集成电路测试技术研究工作。