孙晨晨
【摘要】为提高DS1233器件测量效率及工作可靠性,在深刻理解信号特征的基础上设计了基于TLC5615的筛选测试仪。本测试仪以ATMEGA 16单片机为核心,采用内部10位AD检测。利用TLC5615接收单片机信号并输出模拟量,被检测的DS1233器件在低电压情况下产生的复位信号,通过NOKIA 5510显示复位电压及工作状态。测试表明:测试仪具有较高的精度,能够正确筛选出损坏的DS1233器件。
【关键词】TLC5615;DS1233;AD;复位电压
1.引言
DS1233经济型复位可以为微处理器监视两个重要条件:电源异常及外部数据覆盖故障。精密的温补基准和比较器电路用来监测电源状况(VCC)。一旦检测到电源超出容差范围,内部将产生电源失效信号、强迫置为复位状态。当VCC恢复到正常条件时,复位状态将持续保持大约350ms,以便电源和处理器达到稳定状态。基于DS1233应用的广泛性,本文设计了一个DS1233器件筛选测试仪,它应用了ATMEGA 16单片机控制TLC5615芯片,通过数据的双向传输输出复位电压值。实验结果证明:该测试仪可方便地嵌入DS1233,且操作简便,成本低廉。
2.测试仪总体设计思路
测试仪设计的总体思路如下。该测试仪选用高性能、低功耗的ATMEGA 16单片机作为控制核心,使用TLC5615芯片接收单片机数字信号,转换为模拟信号输出。单片机对DS1233在低电压的情况产生复位信号进行内部AD检测,检测到复位信号后单片机立即保持发送给TLC5615芯片当前的数字信号,最终根据TLC5615芯片输出的模拟量在液晶屏上显示出DS1233的复位电压值。
3.系统硬件实现
3.1 电源电路设计
由于NOKIA5110显示屏需要3.3V电压供电,市场上多数销售的电源适配器为5V输出,3.3V的适配器很少也很贵。所以本课题采用5V的开关电源做总电源,NOKIA5110显示屏需要的3.3V电压有1117-3.3三端稳压器和滤波电路提供。
3.2 串行数模转换器TLC5615
TLC5615芯片为美国德州仪器公司1999年推出的产品,是具有串行接口的转换器。其输出为电压型,最大输出电压为基准电压值的两倍。带有上电复位功能,即把DAC寄存器复位至全零,TLC5615功耗低、性能价格比高,目前在国内市场很容易购买在。TLC5615与单片机的DIN引脚用于TLC5615与ATMEGA 16之间的数据传输, TLC5615芯片的SCLK接收单片机发出的时钟信号。
3.3 NOKIA 5510液晶显示模块
NOKIA 5510液晶显示模块与单片机的接口电路中,单片机的PB0-PB4分别控制NOKIA 5510液晶显示模块上的芯片使能SCE 、外部复位输入RES 、数据/命令D/C 、串行数据输入SDIN和串行时钟输入SCLK。电路的逻辑电压范围为2.7V-3.3V。
4.软件设计
本测试仪主要由ATMEGA 16单片机AD采集,串行数模转换器TLC5615输出模拟量和NOKIA 5510液晶显示模块组成。测试流程图如下:
图1 测试流程图
4.1 ATMEGA 16单片机AD采集
ATmega16有一个10位的逐次逼近型ADC。ADC与一个8通道的模拟多路复用器连接,能对来自端口 A 的 8 路单端输入电压进行采样。单端电压输入以 0V (GND) 为基准。ADC的操作由两个寄存器控制分别是ADMUX多工选择寄存器和ADCSRA控制状态寄存器。设置程序如下:
void ad_init(uchar io)
{ADMUX=io|0x40; // AREF引脚为参考电压
ADCSR|=BIT(ADEN);//ad使能
ADCSR|=0X07;//分频
ADCSR|=BIT(ADIE);//中断使能
ADCSR|=BIT(ADSC);//ad開启
}
4.2 TLC5615的程序设计
从时序图可以看出,当片选CS为低电平时,输入数据DIN由时钟SCLK同步输入,而且最高有效位在前,低有效位在后。输入时SCLK的上升沿把串行输入数据DIN移入内部16位移位寄存器。片选CS的上升沿把数据传送至寄存器,当片选CS为高电平时,串行输入数据DIN不能由时钟同步送入移位寄存器,输出数据DOUT保持最近的数值不变而不进入高阻状态。由此想要串行输入数据和串行输出数据必须满足两个条件:第一时钟SCLK的有效跳变;第二片选CS为低电平。
具体程序如下:
void tlc5615(uint data)
{uchar i;
data<<=5;
cs0;clk0;
for(i=0;i<12;i++)
{if((data&0x8000)==0)
{clk0;din0;clk1;}
else
{clk0;din1;clk1;}
data<<=1;clk0;
} cs1;
}
4.3 NOKIA5110显示器的程序设计
NOKIA5110显示器的指令格式分为两种模式:如果D/C(模式选择)置为低,当前字节解释为命令字节。如果D/C置为高,接下来的字节将存储到显示数据RAM。每一个数据字节存入之后,地址计数自动递增。在数据字节最后一位期间会读取D/C信号的电平。每一条指令可用任意次序发送到PCD8544。首先传送的是字节的MSB(高位)。
5.实验论证
本实验过程如图2,开启测试仪电源,将1个DS1233插入其中,按下测试按钮。此时扫描程序启动,直至单片机检测到复位信号后停止扫描。液晶屏上显示出电压值为4.33V即为DS1233的复位电压。实验证明,本测试仪是确实可行的。
图2 DS1233测试仪
参考文献
[1] TLC5615数据手册http://www.alldatasheet.com/Datasheet-pdf/pdf/28916/TI/TLC5615.html
[2] NOKIA5110显示器http://www.alldatasheet.com/datasheet-pdf/pdf/18170/PHILIPS/PCD8544.html
[3] 刘海成 AVR单片机原理及测控工程应用:基于ATmega48/ATmega16 北京航空航天大学出版社
[4] 江海波深入浅出AVR单片机:从ATmega48/88/168开始 中国电力出版社