用COP820CJ实现可变输入范围的PWM A/D转换

电源设计应用

438人已加入

描述

【摘 要】 介绍了8位单片机COP820CJ,并给出了一个用COP820CJ片上比较器设计的基于脉宽调制的A/D变换器,该A/D变换器可根据输入电压进行软件调整。
    关键词:PWM,A/D,计数

1 COP820CJ芯片介绍
  COP820CJ是美国国家半导体公司的一款8位单片机,其主要数据有:64字节RAM,1K字节ROM,24个I/O口,时钟频率10MHz,工作电压2.5V~6.0V。主要特性有:多输入唤醒机制(MIWU),低压复位的保护机制,片上模拟比较器,低电磁辐射设计,I/O口可编程为三态、推挽输出、弱上拉输入等。下面仅就将要涉及的部分加以介绍。
  COP820CJ的端口分为L/I/D/G四类。其中I口为4位输入端口,D口为4位输出端口,G口有6位I/O口和2位输入口,L口为8位I/O口。L口也是芯片的唤醒端口,其中,L1和L2又是比较器输入口,L3又是比较器输出口。L口配有数据寄存器(LDATA〔0DOH〕)和配置寄存器(LCONF〔0D1H〕),两寄存器共同决定该端口的状态。具体关系见表1。

A/D

  COP820CJ的片上RAM、端口、寄存器均映射到00H~FEH的数据内存空间,其中C0~CFH段主要是唤醒及看门狗控制寄存器,D0~DFH段有8个端口类寄存器,E0~EFH段为计时器和系统寄存器。00~2FH及F0~FFH为RAM地址。其中,F0~FEH段可用作寄存器,并包括B地址寄存器〔FCH〕、X地址寄存器〔FEH〕和SP堆栈指针〔FDH〕三个专用寄存器。
2 工作原理
2.1 基本原理
  利用COP820CJ芯片上的模拟比较器和脉冲宽度调制方式,可以构成由软件调控的可变输入范围的A/D转换器。原理图见图1。图中,L1和L2为比较器输入端,如电容电压小于输入电压,L3端输出高脉冲,反之,L3输出低脉冲,并对低脉冲减1计数。输入电压可通过L1、L2之间并联的两个背向二极管对电容C1快速充放电,使两者电位迅速接近。
  比较器允许的输入电压为0.4V~1.5V(此时电容电压与充电、放电时间之间为近似线性关系),实际输入电压范围可能要更小一些。因此,我们可以通过设定高低脉冲的参数,使电容电压始终保持在测量范围内。设电源为5V,时钟频率为10MHz,脉冲周期为24个时钟,即2.4微秒,输入电压范围是

A/D
1.0V~3.3V。我们可设置高脉冲为先低8个时钟,再高16个时钟;设置低脉冲为先高5个时钟,再低19个时钟。这样,如果L3始终输出高脉冲,电容电压VH近似为16/24×VCC=3.30V;如果L3始终输出低电平,电容电压VL近似为5/24×VCC=1.04V。A/D转换时,L3根据比较结果输出或高或低脉冲,当脉冲数足够多时,计数器的值即代表了输入电压值,并可用下式表示:
  VIN=VL+(VH-VL)×(TON/TOTAL)其中,TON为计数器的值,TOTAL为总脉冲数。
2.2 转换时间及分辨率
  由上可知,脉冲周期为2.4微秒,如脉冲总数选为100,进行两次计数,则转换时间近似为2.4×100×2=480微秒。如输入为高速变化信号,只需减少脉冲总数即可。如脉冲总数为100,输入电压为1.0~3.3V,则分辨率为23mV。为提高分辨率,可先对输入信号进行粗测,然后调整高低脉冲的占空比,使对应电压略超出测量结果的上下限值,这样可以获得更高的分辨率。
3 软件设计
3.1 流程图
  流程图见图2。
3.2 相关信息
  控制寄存器2(CNTRL2〔CCH〕)的第三位是比较器允许位,第四位为比较器输出。X指令为交换两寄存器中的数据。SBIT(RBIT)i,n指令为将n寄存器的第i位置1(0)。IFBITi,n指令在n寄存器的第i位为1时执行下一条指令,否则跳过。DRSZn指令先将寄存器n的值减1,如结果非零,则执行下一条指令,否则跳过。
    要保证脉冲周期为24个时钟,必须精确计算

A/D
A/D

指令周期。以下指令周期的时钟数为:NOP:1个时钟;
  SBIT/RBIT/IFBIT(对B,X寄存器操作时):1个时钟;
  DRSZ/JP:3个时钟。
3.3 汇编代码
A/D
A/D
A/D
A/D
    
  
参考文献

1 National Semiconductor Cor..COP820CJData Sheet.NationalSemiconductor,May 1999
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • A/D

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分