可以用四种传输方法使TLC2543得到全12位分辩率

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可以用四种传输方法使TLC2543得到全12位分辩率,每次转换和数据传递可以使用12或16个时钟周期。

一个片选()脉冲要插到每次转换的开始处,或是在转换时序的开始处变化一次后保持为低,直到时序结束。

图2显示每次转换和数据传递使用16个时钟周期和在每次传递周期之间插入的时序,图3显示每次转换和数据传递使用16个时钟周期,仅在每次转换序列开始处插入一次时序。

图216时钟传送时序图(使用,MSB在前)

图316时钟传送时序图(不使用,MSB在前)

5TLC2543在智能仪器仪表中的应用

TLC2543是12位分辩率,与MAX186在功能上基本相同,但价格比MAX186低得多,因此TLC2543在便携式数据记录仪、医用仪器、电力检测仪表中具有广泛的应用。下面主要讲述TLC2543在电力监控显示屏中的应用。

在电厂和变电站中,电网中的电压和电流由于多种原因常常处于波动状态,为了给工作人员提供有效数据,并在超值范围内采取有效措施,监测电网中电压和电流值是非常必要的。该系统主要是采用TLC2543作A/D转换器,把电压和电流值转换成数字信号,GMS90C32作CPU,进行数字信号处理,PS7219作LED显示驱动器,把监测的电压和电流值显示出来,本文主要介绍TLC2543在电力监控显示屏中与单片机GMS90C32的接口部分,包括硬件和软件两部分。

5.1硬件

GMS90C××和GMS97C××系列是LGS公司的51系列单片机,这类单片机都不带SPI或相同的接口能力,为了和TLC2543模数转换器接口,需要用软件来模拟SPI的时序操作。图4是TLC2543和GMS90C××或GMS97C××的接口简图,TLC2543的I/O时钟、数据输入、片选由并行双向I/O口1的引脚P1.0、P1.1、P1.3提供。TLC2543的转换结果数据通过口1的P1.2脚接收,通道选择和方式数据通过口3输入到微控制器。

图4TLC2543和GMS90C32接口

在设计制作时要注意如下三个问题:

(1)电源去耦

当使用TLC2543这种12位A/D器件时,每个模拟IC的电源端必须用一个0.1μF的陶瓷电容连接到地,用作去耦电容。在噪声影响较大的环境中,建议每个电源和陶瓷电容端并一个10μF的钽电容,这样能够减小噪声的影响。

(2)接地

对模拟器件和数字器件,电源的地线回路必须分开,以防止数字部分的噪声电流通过模拟地回路引入,产生噪声电压,从而对模拟信号产生干扰。所有的地线回路都有一定的阻抗,因此地线要尽可能宽或用地线平面,以减小阻抗,连线应当尽可能短,如果使用开关电源,则开关电源要远离模拟器件。

(3)电路板布线

使用TLC2543时一定要注意电路板的布线,电路板的布线要确保数字信号和模拟信号隔开,模拟线和数字线特别是时钟信号线不能互相平行,也不能在TLC2543芯片下面布数字信号线。

5.2软件

包括主程序和两个子程序“SET1”、“SET2”。主程序定义口1的I/O引脚方向:P1.2设置为输入端,P1.0、P1.1和P1.3设置为输出端。设定P1.3使TLC2543片选端为高,“SET1”被调用,这个子程序模拟SPI操作,在TLC2543和微控制器间交换数据。检测最低位前导(LSBF)标志,即通道选择/方式数据字节的位1,以决定转换结果的哪个字节最先传送,子程序“SET2”用于映射相应于所选择的特定通道的MSBYTE和LSBYTE到偶数或奇数的RAM地址。

程序清单如下:

ORG2000H

BEGIN:

MOVSP,#50H

;设置堆栈指针

MOVP1,#04H

;定义口1的输入和输出

CLRP1.0

;清I/O时钟

SETBP1.3

;设置片选

为高

MOV A,#0FFH

ACALLSET1

;调SET1子程序

ACALLSET2

;调SET2子程序

JMPBEGIN

;转到BEGIN

SET1:

MOVR4,P3

;读方式/通道数据

MOV A,R4

CLRP1.3

;设置片选为低

JBACC.1,LSB

;如果A的位1为1,则先传送低字节

MSB:

MOVR5,#08H

;设置高4位计数器

LOP1:

MOVC,P1.2

;读转换结果

RLC A

;A寄存器的内容左移

MOVP1.1,C

;输出方式/通道字节

SETBP1.0

;设置I/O时钟为高

CLR P1.0

;设置I/O时钟为低

DJNZR5,LOP1

;不为0则返回LOP1

MOVR2,A

;把高字节放到R2

MOV A,R4

;把方式/通道控制字放到R2 JBACC.1,RETURN

LSB:

MOVR5,#08H

;设置低字节计数器

LOP2:

MOVC,P1.2

;读转换数据到C

RLC A

;A的内容到C

MOVP1.1,C

;输出方式/通道字节

SETBP1.0

;设置时钟为高

CLRP1.0

;设置时钟为低

DJNZR5,LOP2

;R5不为0,则返回LOP2

MOVR3,A

;把低字节反放到R3

MOV A,R4

;把方式/通道控制字放到R3

JBACC.1,MSB

;如果R4的位1为1,则传送高字节

RETURN:

RET

SET2:

MOV A,R4

;读方式/通道控制字

ANLA,#0F0H

;保留通道控制字

SWAPA

;A寄存器中的高4和低4位交换

相关文档
最新文档