新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用单片机设计动态输入范围的PWMA/D转换器

用单片机设计动态输入范围的PWMA/D转换器

作者:时间:2012-02-28来源:网络收藏

1 COP820CJ芯片介绍

本文引用地址:http://www.eepw.com.cn/article/171993.htm

COP820CJ 是美国国家半导体公司生产的一款8位,它内含64字节RAM和1k字节ROM,并带有24个I/O口,时钟频率为10MHz,工作电压为 2.5~6.0V。 COP820 CJ具有多唤醒(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所列。

12.jpg

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 COP820CJ的工作原理

2.1基本原理

13.jpg

利用COP820CJ的片上模拟比较器和脉冲宽度调制方式可以构成由软件调控且输入可变的A/D。其工作原理图见图1所示。图中,L1和L2 为比较器输入端,当电容电压小于输入电压时, L3端输出高电平脉冲。反之,L3输出低脉冲,并对低脉冲减1计数。电路中的输入电压可通过L1、L2之间并联的两个背向二极管对电容C1快速充放电,以使两者电位迅速接近。

比较器允许的输入电压为0.4V~VCC-1. 5V(此时电容电压与充电、放电时间之间为近似线性关系),实际输入电压可能要更小一些。因此,可以通过设定高低脉冲的参数使电容电压始终保持在测量之内。若电源为5V,时钟频率为10MHz,脉冲周期为24个,即2.4μs,输入电压范围是1.0V~3.3V。那么,可以设置高脉冲为先低8个时钟,再高16个时钟;设置低脉冲为先高5个时钟,再低19个时钟。这样,如果L3始终输出高脉冲,电容电压VH将近似为VCC×16/24=3.30V;如果L3始终输出低电平,电容电压VL则近似为VCC×5/24=1.04V。进行A/D转换时,L3可根据比较结果输出高低脉冲,当脉冲数足够多时,计数器的值即代表了输入的电压值,并可用下式表示:

14.jpg

其中,NTON为计数器的值,NTOTAL为总脉冲数。

2.2转换时间及分辨率

由于脉冲周期为2.4μs,若脉冲总数为100,那么,进行两次计数的转换时间近似为2.4×100×2=480μs。当输入为高速变化的信号时,只需减少脉冲总数即可。如脉冲总数为100,输入电压为1.0~3.3V,则分辨率为23mV。为提高分辨率,可先对输入信号进行粗测,然后调整高低脉冲的占空比,以使对应电压略超出测量结果的上下限值,这样即可获得更高的分辨率。

3软件

图 2所示是用COP820CJ的A/D的工作软件流程图。其中,控制寄存器2(CNTRL2[CC])的第三位是比较器允许位,第四位为比较器输出。X指令为交换两寄存器中的数据。

“SBIT(RBIT)i,n”指令为将n 寄存器的第i位置1(0)“IFBITi,n”指令在n寄存器的第i位为1时执行下一条指令,否则跳过。“DRSZn”指令的作用是先将寄存器n的值减 1,如结果非零,则执行下一条指令,否则跳过。

比较器相关文章:比较器工作原理


pwm相关文章:pwm原理



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭