12位A_D转换器TLC2543与51系列单片机接口技术_王宜怀
- 格式:pdf
- 大小:209.38 KB
- 文档页数:6
第19卷第5期苏 州 丝 绸 工 学 院 学 报Vol.19No.51999年10月JOURNALOFSUZHOUINSTITUTEOFSILKTEXTILETECHNOLOGYOct.1999文章编号:1000-1999(1999)05-0045-06
12位A/D转换器TLC2543与51系列单片机接口技术*
王宜怀(苏州大学工学院 苏州,215006)
摘 要:从应用角度介绍了具有11个输入端的12位A/D转换器TLC2543的结构与编程要点,探讨了TLC2543与51系列单片机的接口方法,用软件合成SPI操作,给出了接口电路与A/D采集程序设计实例,并对实际应用时应注意的问题进行了探讨。关键词:A/D转换;TLC2543芯片;51系列单片机;接口技术中图法分类号:TP33417 文献识别码:B
具有11个输入端的12位模数转换器TLC2543是美国德州仪器公司于近几年推出的一种性能价格比较优的12位A/D转换芯片,具有多种封装形式,并具有民用级、工业级、军用级产品。在产品型号、规格、封装形式、适用范围等方面,已形成一个系列。一九九八年以来开始在我国推广使用。就12位A/D转换器来说,TCL2543具有转换快、稳定性好、与微处理器接口简捷、价格低等优点,相信在我国单片机应用领域将会很快推广。鉴于51系列单片机是我国单片机应用领域的主流型号,一批与之兼容的单片机(如AT89C51、GMS97C51等)于近几年相继推广使用,51系列术语含义可以扩大,我们可以把与51系列兼容的单片机称为广义51系列或51系列兼容机,以下统一使用51系列术语。可以预计,51系列单片机的开发应用,在我国的单片机应用领域仍将是主导地位,因此,探讨TLC2543与51系列单片机接口具有实际意义。但是,TLC2543与带有串行外设接口(SPI,SerialPeripheralInterface)的微处理器易于接口,而51系列单片机不具有SPI,因此必须用软件合成SPI的操作。本文结合实际应用TLC2543的体会,从应用角度出发,介绍了TLC2543的基本结构与编程要点,给出了TLC2543与51系列单片机的接口电路以及A/D采集程序设计实例,同时讨论了TLC2543应用中一些应注意的问题。
1 TLC2543的引脚及功能
*收稿日期:1999-06-30作者简介:王宜怀(1962-),男,副教授基金项目:科技三项费用TLC2543是12位开关电容逐次逼近模数转换器,有多封装种形式,其中DB、DW或N封装的管脚图见图1。TLC2543有20根引脚,其它封装形式引脚数及引脚功能相同。引脚的功能简要分类说明如下:(1)电源引脚Vcc,20脚:正电源端,一般接+5V。GND,10脚:地。REF+,14脚:正基准电压端,一般接+5V。REF-,13脚:负基准电压端,一般接地。(2)控制引脚CS,15脚:片选端,由高到低有效,由外部输入。EOC,19脚:转换结束端,向外部输出。I/OCLOCK,18脚:控制输入输出的时钟,由外部输入。图1 TLC2543管理图 (3)模拟输入引脚AIN0~AIN10,1~9脚、11~12脚:11路模拟输入端,输入电压范围:0.3V~Vcc+0.3V。(4)控制字输入引脚DATATNPUT,17脚:控制字输入端,选择通道及输出数据格式的控制字由此输入。(5)转换数据输出引脚DATAOUT,16脚:A/D转换结果输出的3态串行输出端。
2 TLC2543的编程要点211 控制字的格式控制字为从DATAINPUT端串行输入TLC2543芯片内部的8位数据,它告诉TLC2543要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。其中高4位(D7~D4)决定通道号,对于0通道至10通道,该4位分别为0000、0001、,、1010,该4位为其它数字时的功能,用于检测校正,本文不作具体介绍。低4位决定输出数据长度及格式,其中D3、D2决定输出数据长度,TLC2543的输出数据长度有8位、12位、16位,但由于TLC2543为12位A/D转换芯片,经过分析可以看出,8位、16位输出对TLC2543的应用意义不大,宜定在12位输出,D3、D2两位为00即可。D1决定输出数据是高位先送出,还是低位先送出,若为高位先送出,该位为0,反之为1。D0决定输出数据是单极性(二进制)还是双极性(2的补码),若为单极性,该位为0,反之为1。举例说明:设采集第6通道、输出数据为12位、高位先送出、输出数据的格式为二进制,则控制字为:01100000,用十六进制表示即为60H,本文基于此格式说明转换过程。212 TLC2543的内部寄存器
46苏州丝绸工学院学报 第5期从编程角度看,TLC2543内部寄存器有输入数据寄存器与输出数据寄存器。输入数据寄存器存放从DATAINPUT端移入的控制字。输出数据寄存器存放转换好的数据,以供从DATAOUT端移出。213 转转过程上电后,片选CS必须从高到低,才能开始一次工作周期,此时EOC为高,输入数据寄存器被置为0,输出数据寄存器的内容是随机的。开始时,片选CS为高,I/OCLOCK、DATAINPUT被禁止,DATAOUT呈高阻状态,EOC为高。使CS变低,I/OCLOCK、DATAINPUT使能,DATAOUT脱离高阻状态。12个时钟信号从I/OCLOCK端依次加入,随着时钟信号的加入,控制字从DATAINPUT一位一位地在时钟信号的上升沿时被送入TLC2543(高位先送入),同时上一周期转换的A/D数据,即输出数据寄存器中的数据从DATAOUT一位一位地移出。TLC2543收到第4个时钟信号后,通道号也已收到,因此,此时TLC2543开始对选定通道的模拟量进行采样,并保持到第12个时钟的下降沿。在第12个时钟下降沿,EOC变低,开始对本次采样的模拟量进行A/D转换,转换时间约需10Ls,转转完成EOC变高,转转的数据在输出数据寄存器中,待下一个工作周期输出。此后,可以进行新的工作周期。
3 TLC2543与51系列单片机接口目前使用的51系列单片机没有SPI或相同的接口能力,为了与TLC2543接口,可以根据上节所给出的编程要点,利用软件合成SPI操作,完成A/D数据的采集。图2给出了TLC2543与51系列接口的一种方式。图中TLC2543与单片机之间只用4根线,转换结束EOF未接入单片机,这是基于二个工作周期之间的单片机指令一般大于10Ls,转换已经完成,不必判断EOF,也可以通过试验或计算指令执行时间确定转换是否结束,这样可以省去一根接线。下一节将根据此电路进行A/D采集程序的设计。需要说明的是,图2仅给出原理图,为了使电路简捷,有关电源、参考电压、去耦等电路未画出。
图2 TLC2543与51系列单片机的接口电路4 数据采集程序设计根据TLC2543的工作原理及图2电路,可以进行A/D采集程序的设计。设TLC2543工作于输出数据为12位、高位先送出、输出数据为二进制的格式,这样控制字的高4位为通道号,低4位均为0。以下是采集一个通道的TLC2543A/D转换子程序,其中给出了详细的注释。
47第19卷 王宜怀:12位A/D转换器TLC2543与51系列单片机接口技术 以下是利用上述子程度采集0通道数据放入内存21H、22H,采集1通道数据放入内存23H、24H的主程序。注意其中调用了三次子程序,而第一次调用取出的数据是随机数。
48苏州丝绸工学院学报 第5期5 应用TLC2543应注意的几个问题在TLC2543的应用中,以下几个问题值得注意:511 硬件设计中,EOC引脚是否连接问题。EOC引脚由高变低是在第12个时钟的下降沿,它标志TLC2543开始对本次采样的模拟量进行A/D转换,转换完成后EOC变高,标志转换结束。从理论上讲,应该通过EOC,判断是否可以进行新的周期以便从TLC2543中取出已转换的A/D数据,但是,正如前面介绍,TLC2543的一次A/D转换时间约为10Ls,而一般情况下,一个工作周期后,单片机的后续处理工作已大于10Ls,因此,除非特别需要,一般可以不接EOC。512 一个输入输出工作周期为12个时钟信号,随这12个时钟信号的进入,TLC2543的DATAOUT引脚送出的12位数,为上一个工作周期的A/D转换数据,而这一数据是何通道的采集量,取决于上一工作周期从DATAINPUT引脚送入TLC2543的控制字的前四位。那么对于系统上电后第一个工作周期,从DATAOUT取出的数据是没有意义的。513 控制字的低4位决定输出数据长度及格式,初始设定后,一般不要在运行过程中改变,以免数据混乱。而在工作周期循环,若累加器A中数据没有处理好,容易把非法的控制字带入TLC2543,引起输出数据格式错误,这一点,应予特别注意。514 CS端控制着TLC2543的转换初始化与输入输出。本文中CS端控制转换过程,CS在输入输出数据过程必须保持为低,即在输入12个时钟信号期间CS必须保持0。之后,CS端被置高,以便使CS由高到低的变化,而产生下一工作周期。CS端被置高时,与TLC2543相联的其它三线,呈高阻状态,可为其它线路使用,硬件设计时,可设计为共享线路,软件编程时,根据CS情况决定谁使用这些线路。
49第19卷 王宜怀:12位A/D转换器TLC2543与51系列单片机接口技术