单片机
返回首页

基于C8051F410的信号模拟电路设计

2015-10-23 来源:eefocus

  为了实现对发射装置的自动测试。所有利用微机技术设计新型的检测仪。以CPU模块为核心,通过程序控制D/A转换器来产生三组精确在不同的时段取18个不同的直流电压值的直流电压信号,简化了设计,降低了成本,实现了测试步骤的自动切换。但是以此设计的在检测仪的使用过程中会经常出现重测合格(RTOK)现象,即检测仪测定某件装备不合格,但是更换仪器或重新开机后再对该装备进行测试时结果良好。后经分析.认为主要是检测仪中产生这三组精确信号的模拟电路存在工作点漂移问题,精度不高。电压输出不稳定,从而导致测试状态不正确。

       为了解决这个问题,基于C8051F410单片机,并采用PWM调制技术和负反馈测量技术设计了一种新的精确信号模拟电路,以达到有效抑制工作点漂移问题,并提高模拟电路输出精度.从而实现解决装备维护使用工作中存在的实际问题。


  1 电路结构及原理
  电路设计采用了闭环控制结构,如图l所示。以C8051F410单片机为核心,通过程序设定需要输出电压的初始参数,控制单片机内部的PCA(可编程计数器阵列)产生适当的PWM波形,C805IF410芯片的可编程计数器阵列由一个专用的16位计数器/定时器和3个16位捕捉/比较模块组成,经二级信号放大电路和推挽式输出电路放大后得到精确直流电压信号。为了抑制工作点漂移并保证足够的输出精度,通过将输出信号经分压后引回至C8051F410单片机,利用单片机内部的数/模转换器测量该电压,并与初始设定参数相比较,最终经由程序调节PWM波形的占空比,从而实现具有高可靠性和较高精度的直流电压输出信号。
        电路利用单片机的PWM端口,在不改变PWM方渡周期的前提下.通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而得到所需要的电压信号。所以要求单片机必须具有ADC端口和PWM端口这两个必需条件,ADC的位数要求尽量高,单片机的工作速度要求尽量快。经选型发现,C8051F410单片机处理器最高运行时钟可达50MHz,具有6个PCM模块,可实现PWM输出;具有1个12位ADC模块,满足电压测量精度要求。

2 硬件设计

        整个电路以C805IF410单片机为核心,主要包括C8051F410单片机的外围电路设计、放大电路设计以及电压反馈测量前置电路设计三个部分。如图2所示。

C805IF410单片机有P0、P1、和P2数字/模拟可配置的I/0 口,所有的数字和模拟资源都可以通过这三组24个I/O引脚使用。输出一路精确模拟信号,需要设置—个引脚作为PWM输出口,一个作为ADC输入口。在这里,我们设置PO.1为PWM输出口,P0.2为ADC输人口。
  外围电路设计包括在线调试和下载电路、外部参考电压电路和滤波电路。本文利用单片机提供的C2调试接口设计了在线调试和下载电路.如图2左上侧电路所示.通过计算机串口实现单片机的快速编程和系统在线调试。图2下右侧为外部参考电压电路琏接到单片机的Vref引脚.为单片机ADC等模块提供2.048伏电压参考.可通过电位器进行调校。

  放大电路包括二级电压放大电路和推挽式功率输出电路两个部分.如图2右侧电路所示。
  电压反馈测量前置电路如图2右侧上部所示,实质为分压电路。由于设定C8051F410单片机参考电压为2.048伏,而输出电压最大值为12伏左右,因此选择电阻R15=4.3K,R16=20K,电位器Pv1标称电阻为5K,并可通过调节电位器来改变电压倍数。


  3 软件设计

  运用c语言编程来实现PWM控制,并利用C8051F410芯片的可编程计数器阵列组成PWM发生器。捕捉/比较模块有六种工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM和16位PWM。每个捕捉/比较模块的丁作方式都可以被独立配置。对PCA的配置和控制是通过系统控制器的特殊功能寄存器来实现的.主要有以下几个:

         1) PCAOMD可编程计数器阵列方式寄存器。该寄存器用于设置可编程计数器阵列的工作模式及时钟源。
        
            2) PCAOCN可编程计数器阵列控制寄存器。该寄存器包括溢出标志、运行控制标志以及捕捉/比较标志。

   3) PCAOCPn可编程计数器阵列捕捉,比较寄存器(高低字节)。该寄存器用于设置捕捉/比较模块n的高低字节。

         4) PCAOCPMn可编程计数器阵列捕捉/比较寄存器。该寄存器可进行捕捉/比较模块n的工作方式。

            如图3所示,本电路主要利用PCA模块2来产生PWM波形。初始设置PCAOCN为0x40,置位PCA模块2捕捉/比较标志,在发生一次捕捉时该位由硬件置位,该位置‘1’将导致CPU转向PCA中断服务程序。初始设置PCAOMD为0x08.PCA计数器,定时器时钟选择系统时钟。初始设置PCAOCPM2为0xc2,使能16位脉冲宽度调制、比较器功能和PCA模块2的脉宽调制方式。PCAOCP2的值将在程序流程中实时设定。

具体实现方法与步骤如下:

 

  1)初始设置:根据设定电压值生成初始PWM波形和频率参数。

 

  2)电压测量:测量此时输出电压和设定值之间的偏差,用于调整PWM参数。

 

  3)调整PWM参数:把设定的输出电压与实际读取到的输出电压进行比较.若实际电压值偏小,则向增加输出电压的方向调整PWM的占空比;若实际电压偏大,则向减小输出电压的方向调整PWM的占空比。

 

  4)使能PWM输出。

 

  另外.在软件PWM的调整过程中还要注意ADC的读数偏差和电源工作电压等引入的纹波干扰。合理采用算术平均法等数字滤波技术。

 

  4 结论

 

  基于C8051F410单片机,采用PWM调制技术和负反馈测量技术设计了一种新的精确信号模拟电路,克服了原电路因工作点不稳定的问题。经实验验证,榆测设备重测合格的现象不再出现。本电路从处理器到被控系统信号都是数字形式的,无需进行数模转换,抗噪性能强,工作稳定,具有较高的输出精度,对于同类电路的设计具有一定的借鉴意义。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • 如何构建一个触摸传感器电路

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章