ICL7135的串行采集方式在单片机电压表中的应用
文章作者:严仍友 汪仁煌
文章类型:设计应用 文章加入时间:2003年10月22日1:3
文章出处:国外电子元器件

摘要:介绍了对A/D芯片ICL7135进行串行数据采集的具体方法,同时利用该方式结构简单、编程简洁、占用单片机资源少的特点,给出了用ICL7135与AT89C52单片机构成电压表系统的硬件和软件设计方法。

关键词:单片机 ADC 电压表 ICL7135

在常用的A/D转换芯片(如ADC0809、ICL7135、ICL7109等)中,ICL7135与其余几种有所不同,它是一种四位半的双积分A/D转换器,具有精度高(精度相当于14位二进制数)、价格低廉、抗干扰能力强等优点。通常情况下,设计者都是用单片机来并行采集ICL7135的数据,本文介绍用单片机串行方式采集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 ICL7135A/D转换器与系统的连接图

由上述频率之间的比率关系可知,AT98C52的定时器T0所用的频率是ICL7135的测量脉冲频率的两倍。因此,定时器T0所记录的脉冲数也是ICL7135的测量脉冲的两倍。图中,分频数可根据ICL7135的要求和单片机的时钟频率来选择。在这里,提倡使用四分频,这样可使定时器T0在对测量脉冲计数时不会溢出。若使用4以上的分频数,则需在软件上作一下改进。

要得到测量脉冲的个数,只需将定时器所记录的脉冲个数除以2即可。而要得到A/D转换结果所对应的脉冲数则应用测量脉冲的个数减去10001。这些转换通常可通过软件完成,因此非常简单。通过A/D转换结果所对应的脉冲数可得到被测的模拟量。通过对串行方式的讨论可以看出:使用这种方法可以不再使用8255芯片来扩展口线。其优点是占用口线少,能节省系统的硬件资源,提高系统的抗干扰能力,不用添加任何扩展口线器件,从而使系统的成本得到降低。

3 基于单片机系统的电压表设计

3.1 系统的硬件

图4所示是单片机电压表系统中ICL7135与单片机系统的典型连接示意图。图中,单片机系统的晶振为6MHz,单片机的ALE信号频率为1MHz;考虑到系统连接方面和单片机ALE信号频率范围等因素,笔者取ICL7135的输入频率为ALE信号的四分频,即选用125kHz。这样选用的好处是T0定时器在对测量脉冲计数时不会产生溢出。

3.2 系统的软件设计

ICL7135A/D与单片机连接电路的软件设计系统的程序流程图如图5所示。

    该软件流程图由三部分组成。其中转换子程序是在主程序中调用的,目的是为了不占用很长的中断时间。T0计数器设定为方式1、定时状态、选通控制设为“1”。故TMOD控制字设置为“05H”。由于T0计数器用的是系统的晶振频率,因此与设定为计数状态效果一样。

4 结束语

ICL7135的串行方式在实践中的应用效果很好。与并行方式相比,其突出的优点是结构简单、程序简洁、占用单片机的资源少、可提高抗干扰能力,同时可提高仪器的检测可靠性,并且可在不添加任何扩展口线器件的情况下使系统的成本得到降低。

ICL7135的串行采集方式在单片机电压表中的应用相关推荐

  1. 【51单片机】串行通信,采用中断,串行口方式3,甲机发送,乙机接收:接收数据通过七段数码管显示。

    实验要求:甲.乙双机通过串行口进行连接,采用中断方式,编写串行口方式3下的甲.乙双机发送与接收程序. 甲机发送:发送数据存放在数组TRA[16]里面. 乙机接收:接收数据通过一个七段数码管进行显示.晶 ...

  2. 结合实际代码谈常见串行通讯方式—USART、SPI以及IIC

    按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是8 根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,而并行通讯一般是指使用8.16 ...

  3. python与单片机如何进行串行口通信_51单片机的串行口通信方式

    介绍:串行口是单片机与外界进行信息交换的工具. 8051单片机的通信方式有两种: 并行通信:数据的各位同时发送或接收. 串行通信:数据一位一位次序发送或接收.参看下图: 串行通信的方式: 异步通信:它 ...

  4. (九)串行口方式0 拓展并行输出端口 02 74LS164芯片

    1.先讲解74LS164 移位芯片: 74HC164.74HCT164 是 8 位边沿触发式移位寄存器,串行输入数据,然后并行输出. 数据通过两个输入端(DSA 或 DSB)之一串行输入:任一输入端可 ...

  5. 高速串行自同步方式介绍及原理

    高速串行信号与并行信号相比,最主要的就是通信方式的改进,这种通信方式又叫自同步方式,也即两块芯片之间通信,其中发送芯片产生的数据流同时包括数据和时钟信息,如下图所示. 要实现上图所示的通信,在芯片内部 ...

  6. 串行口方式二 波特率_一文就能看懂“串口通讯”的概念、3个通讯方式、9大注意事项...

    串行通信是数据处理设备和外围设备之间最广泛使用的信息传输方法.每个设备可能是您的个人电脑或移动设备在运行串行协议.该协议是一种安全可靠的通信形式,由源主机(发送方)和目的主机(接收方)制定一套规则.为 ...

  7. 计算机网络钟中PCF,串行时钟PCF8583在微机保护装置中的应用

    引言 微机保护装置配备的高性能实时时钟,用来记录微机保护动作.开关变位.事故与预告等事件的时间信息,从而形成完整的事件顺序记录,对分析继电保护的动作行为.提高电力系统运行的可靠性具有重要意义.与先前的 ...

  8. mysql可串行化读音,Oracle与MySQL中“可串行化”的对比测试

    Oracle与MySQL中"可串行化"的对比测试 Oracle与MySQL中"可串行化"的对比测试 Thomas Kyte 在"Oracle 9i&a ...

  9. 51单片机串行通讯方式2

    要求使用单片机的串口方式2,波特率自定,晶振频率:11.0592MHz,完成双机点对点通信. 功能要求: 1.1号单片机循环发送0-15的数据给2号单片机,同时发送奇偶校验位,然后接收2号单片机返回的 ...

最新文章

  1. 4个开源在线调查工具
  2. 出栈顺序 与 卡特兰数(Catalan)的关系
  3. Feature Engineering 特征工程 1. Baseline Model
  4. 某盘视频网页播放视频修改播放速度代码
  5. CVE-2021-2429:MySQL InnoDB Memcached 插件中的堆缓冲区溢出漏洞详解
  6. 【李宏毅2020 ML/DL】补充:Meta Learning - Gradient Descent as LSTM
  7. 前台html基础标签7.6
  8. html =拼接dom,在js代码拼接dom对象到页面上去的模板总结(必看)
  9. 通达信公式系统 入门 LTS
  10. pe linux 引导修复工具下载,winpe系统引导修复工具
  11. 最新要饭网源码1.6终极版
  12. cmd 批量复制文件/文件夹
  13. 华数机器人旋转编程_华数机器人离线编程软件简介与InteRobot2018 新增功能
  14. Marlin固件解析G代码部分分析
  15. ios 中h5网页跳到第三方后回到项目字体变大
  16. fMRI Tutorial:FSL处理功能核磁共振数据
  17. 【密码资料】纳瓦霍密码
  18. Oracle(11g)数据库教程之十:Oracle操作题 (复习课)
  19. FX5U 原点回归指令 DSZR
  20. u盘启动 联想一体机_联想一体机如何进入bios设置u盘启动_联想一体机设置U盘启动步骤...

热门文章

  1. android获得SIM序号以及号码,获取sim卡序列号
  2. 计算机课用不用带眼镜,上网课要戴防蓝光眼镜吗?
  3. 51单片机甲醛浓度采集
  4. iphone快捷指令一键重启_一键重启捷径怎么设置 一键重启捷径设置教程
  5. 利用raster包进行栅格数据处理(3)
  6. cascade自己训练级联分类器(人脸检测)
  7. 面向智慧城市的物联网技术应用指南(全文)
  8. 转发《“谈管理者的惰怠行为”——徐直军在2011年5月10日PSST体系干部大会上的讲话》
  9. Premiere Pro之代理剪辑(十)
  10. GiliSoft USB Lock(电脑usb锁定软件)官方中文版V10.2.1 |电脑软件U盘锁下载