ICL7135的串行采集方式在单片机中的应用
1 ICL7135的串行工作方式
1.1 ICL7135的测量周期
ICL7135的测量周期包括下列四相(节拍):
(1)AUTO-ZERO(自动调零)相
在该相时,内部IN+和IN-输入与引脚断开,且在内部连接到ANLG-COMMON,基准电容被充电至基准电压,系统接成闭环并为自动调零(AUTOZERO)电容充电以补偿缓冲放大器、积分器和比较器的失调电压。此时,自动调零精度令受系统噪声的限制,以输入为基准的总失调小于10μV。
(2)SINGAL-INTEGRATE(信号积分)相
在该相,自动调零环路被打开,内部的IN+和IN-输入被连接至外部引脚。在固定的时间周期内,这些输入端之间的差分电压被积分。当输入信号相对于转换器电源不反相(NO-RETURN)时,IN-可直接连接至ANJG-COMMON以便输出正确的共模电压。同时,在这一相完成的基础上,输入信号的极性将被系统所记录。
(3)DEINTEGRATE(去积分)相
该相的基准用于完成去积分(DEINTEGRATE)任务,此时内部IN-在内部连接ANLG-COMMON,IN+跨接至先前已充电的基准电容,所记录的输入信号的极性可确保以正确的极性连接至电容以使积分器输出极性回零。输出返回至零所需的时间正比于输入信号的幅度。返回时间显示为数字读数,并由1000(Vid/Vref)确定。满度或最大转换值发生在Vid等于Vref的两倍时。
(4)ZERO-INTEGRATE(积分器返回零)相
内部的IN-连接到ANLG-COMMON,系统接成闭环以使积分器输出返回到零。通常这相需要100~200个时钟脉冲,但是在超范围(OVERRANGE)转换后,则需要6200个脉冲。
1.2 ICL7135时序图
图1所示是Vid为常数时的ICL7135时序图,由图1可知:在Signal-Integrate(即信号积分)相开始时,ICL7135的BUSY信号线跳高并一直保持高电平,直到De integrate(去积分)相结束时才跳回低电平。在满量程情况下,这个区域中的最多脉冲个数为30002个。其中De integrate(去积分)相的脉冲个数反映了转换结果。
图2是不同Vid值时的ICL7135时序。由图2可见:对于不同模拟量输入,ICL7135的BUSY信号的高电平宽度也不同。
2 与单片机系统的串行连接
在ICL7135与单片机系统进行连接时,如果使用ICL7135的并行采集方式,则不但要连接BCD码数据输出线,又要连接BCD码数据的位驱动信号输出端,这样至少需要9根I/O口线。因此,系统的连接比较麻烦,且编程也非常复杂。
而ICL7135的串行接法是通过计脉冲数的方法来获得测量转换结果的。由其时序分析可知,在Deintegrate(去积分)相,其脉冲数与转换结果具有一一对应关系。
实际上,可以通过单片机(例如ATMEL公司的51系列单片机AT89C52)的定时器T0(也可以使用定时器T1)来计脉冲器。由于,定时器T0所用的CLK频率是系统晶振频率的1/12。因此可利用单片机(AT89C52)的ALE信号作为ICL7135的脉冲(CLK)输入。但要注意,在软件设计编程中,若指令中不出现MOVX指令,ALE端产生的脉冲频率将是晶振的1/6。至此,便可找到定时器所使用的频率与单片机系统晶振频率的关系,以及ICL7135所需的频率输入与单片机系统晶振频率的关系。
为了使定时器T0的计数脉冲的ICL7135工作所需的脉冲同步,可以将ICL7135的BUSY信号接至AT89C52的P3.2(INT0)引脚上,并且将定时器T0的选通控制信号GATE倍1。此时定时器T0是否工作将受BUSY信号的控制。由上述时序图可知,当ICL7135开始工作时,即在积分波形的Signal-Integrate相开始时,也就是ICL7135的BUSY信号跳高时,定时器T0才开始工作,且定时器T0的TH0、TL0所记录的数据与ICL7135的测试脉冲(从积分波形的Signal-Integrate相开始时Deintegrate相结束这一区域内的脉冲称为测量脉冲)存在一定的比例关系。其系统连接图如图3所示。
在这种情况下,由于定时器T0和ICL7135所用的时钟不是同一路。因此,应当找到定时器T0所记录的数据和测量脉冲之间的某种比例关系。其比例关系如下:
Ftime=Fosc/12
Fale=Fosc/6
Freal=Fosc/24
Ficl=Fale/N
其中,Fosc为系统晶振频率;Ftime为定时器所用频率;Fale为单片机ALE输出的频率;Freal为ICL7135的测量脉冲频率;Ficl为ICL7135所用的输入频率,该频率可通过Dale分频得到。N为分频比,该系统中N应选为4。
图4 ICL713
ICL7135串行采集单片 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)