基于S3C2440的测试系统数字稳压电源的设计

发布者:MysticalEssence最新更新时间:2016-11-08 来源: ofweek关键字:S3C2440  测试系统  数字稳压电源 手机看文章 扫描二维码
随时随地手机看文章
  0 引 言

  直流稳压电源是一种比较常见的电子设备,一直被广泛地应用在电子电路、实验教学、科学研究等诸多领域。近年来,嵌入式技术发展极为迅速,出现了以单片机、嵌入式ARM 为核心的高集成度处理器,并在自动化、通信等领域得到了广泛应用。电源行业也开始采用内部集成资源丰富的嵌入式控制器来实现数字稳压电源的控制系统。数字稳压电源是用脉宽调制波(PWM)来控制MOS管等开关器件的开通和关闭,从而实现电压电流的稳定输出。数字稳压电源还具备自诊断功能,能实现过压过流保护、故障警告等。

  相比之前的模拟电源,数字稳压电源大大减少了在模拟电源中常见的误差、老化、温度漂移、非线性不易补偿等诸多问题,提高了电源的灵活性和适应性。将SAMSUNG公司的嵌入式ARM 处理器S3C2440芯片应用到实验室测试系统数字稳压电源的设计中,采用C语言和汇编语言,实现一种以嵌入式ARM 处理器为核心,具备PID控制器以及触摸屏等功能的测试系统数字稳压电源控制系统。

  1 测试系统数字稳压电源组成及工作原理

  数字稳压电源由主控制器、PWM 稳压电路、电压电流取样电路、PID控制器、触摸屏组成,系统原理框图如图1所示。

基于S3C2440的测试系统数字稳压电源的设计

▲ 图1 系统原理框图

  本电源对输出的电压电流信号进行采样,进行PID控制,最后输出PWM 驱动波形调节输出电压。输出电压提供给芯片测试平台,供其测试芯片时使用。

  前端交流电源输入到整流模块,经整流滤波后输出平稳的直流电压。该直流电压直接输出至IGBT模块。

  高精度A/D转换器将后端输出的电压电流信号由模拟信号量变为数字量供给S3C2440进行数字PID运算,经过PID 控制器运算后,由S3C2440输出PWM 至IGBT,从而构成一个闭环控制系统,控制电压电流稳定输出,从而实现数字稳压电源设计,提供给芯片测试系统使用。ARM 控制器通过触摸屏实现人机交互界面,在触摸屏上设置参数和显示信息。
 

  2 硬件设计

  2.1 ARM 控制系统组成

  鉴于PID运算和PWM 波输出模块要求高,通过考查,选择SAMSUNG公司的S3C2440,这是一款32位基于ARM920T内核的CPU,拥有高达400MHz的频率,完全能满足PID控制器运算的实时性要求;16位的定时器,可实现精度高达0.03μs的PWM 脉冲波,并且有防死区功能;24个外部中断源,完全可以满足对系统外部故障信息进行实时响应;内部嵌入LCD控制器,并拥有DMA通道,使得电压电流值能够实时显示在LCD上,还可以通过触摸屏设计一些所需的参数;多达140个通用I/O口,可以方便地扩展外部接口和设备;拥有8通道多路复用ADC,10位的数字编码,高达500kSPS转换率,满足了测试系统所需的A/D转换精度。

  2.2 PWM 稳压电路设计

  脉冲宽度调制(Pulse Width Modulation,PWM)原理是PWM 调制信号对半导体功率开关器件的导通和关断进行控制,使输出端得到一些列幅值相等而宽度不相等的脉冲,经过处理后得到稳定的直流电压输出。

  PWM 调制信号由ARM 主控制器根据设定的电压值,按一定的规则对各脉冲宽度进行调制后给出脉冲信号。

  PWM 稳压电路如图2所示。

基于S3C2440的测试系统数字稳压电源的设计

▲ 图2 PWM 稳压电路

  半导体功率开关器件其开关转换速度的快慢直接影响电源的转换效率和负载能力,本系统PWM 稳压电路中,驱动电路由电阻、电容、晶体管和场效应管组成,MOSFET是电压单极性金属氧化硅场效应晶体管,所需驱动功率很小,容易驱动。MOSFET的输入阻抗很高,其导通和关断就相当于输入电容充放电过程。根据所选器件的参数,计算出满足的条件,保证驱动电路提供足够大的过充电流,实现MOSFET 快速、可靠的开关。

  3 软件设计

  采用S3C2440为核心处理器,其丰富的片上资源和优秀的运算速度,保证了系统的实时性,编写软件主要以C语言进行驱动和应用程序的开发,其大容量存储器,完全能满足系统程序的数据存储。

  该测试系统中ARM 处理器所要实现的主要功能和软件实现方法如下。

  3.1 PWM 波产生

  PWM 用于对电路中IGBT 的驱动。根据输出采样,设定和调整定时器配置寄存器TCFGn 和定时器n计数缓存寄存器TCNTBn中的值来改变输出PWM 波的周期和脉冲宽度。修改TCNTBn的值可以控制PWM 波的占空比增加或减少1,PWM 输出占空比增加或者减少千分之一,可以达到千分之一的控制精度。

  3.2 监控和保护系统

  为了使数字稳压电源能够可靠、安全地为测试系统提供电压,该系统设置了监控和保护系统,主要用于过流保护和过压保护等,ARM 处理器对电压和电流采用双重检测,当电压电流超出所设定的危险值范围时,声光报警,并启动保护电路。

  3.3 PID控制算法

  PID控制器由比例、积分、微分控制器组合,将测量的受控对象(在本系统中为电压电流值)与设定值相比较,用这个误差来调节系统的响应,以达到动态实时的控制过程。

  在数字稳压电源PID控制系统中,使用比例环节控制电压电流的输出与输入误差信号成比例改变,但是这里会存在一个稳态误差,即实际值与给定值间存在的偏差,因此需要引入积分环节来消除稳态误差以提高系统精度。但由于电源系统在导通、关断时,产生积分积累,会引起电压电流超调,甚至会出现震荡。为了减小这方面的影响,设定给定一个误差值范围,当电压电流与设定工作值的误差小于这一给定值时,采用积分环节去消除系统比例环节产生的稳态误差。PID控制算法设定阈值ε,当|e(k)|>ε时,采用PD控制环节,减少超调量,使系统有较快的响应;当|e(k)|<ε时,采用PID控制,以保证电压电流精度和稳定度。在电压达到千分之一精度范围后,需要加入积分环节,以完成电源开机时迅速稳定的输出。PID算法流程图如图3所示。

基于S3C2440的测试系统数字稳压电源的设计

▲ 图3 PID控制算法流程图。

  PID控制算法程序采用结构体定义:

  struct PID{

  unsigned int SetPoint; //设定目标Desired Value

  unsigned int Proportion; //比例常数Proportional Const

  unsigned int Integral; //积分常数Integral Const

  unsigned int Derivative; //微分常数Derivative Const

  unsigned int LastError; //Error[-1]

  unsigned int PrevError; //Error[-2]

  unsigned int SumError; //Sums of Errors

  }spid;

  在PID控制算法中,经过不断与给定值进行比较,动态控制电压电流输出的稳定,同时确保电压电流输出的精度。

  PID控制算法程序如下:

  unsigned int PIDCalc(struct PID *pp,unsigned int Next-Point)

  {

  unsigned int dError,Error;

  Error=pp->SetPoint-NextPoint; //偏差

  pp->SumError+= Error; //积分

  dError=pp->LastError-pp->PrevError; //当前微分

  pp->PrevError=pp->LastError;

  pp->LastError= Error;

  return(pp->Proportion* Error //比例

  +pp->Integral*pp->SumError //积分项

  +pp->Derivative*dError); //微分项

  }

  3.4 系统程序

  测试系统的整体程序流程图如图4所示。

基于S3C2440的测试系统数字稳压电源的设计

▲ 图4 主程序流程图

  本文所设计的测试系统数字稳压电源能够满足芯片测试所需的电源要求。图5为输出的一路电压。由图可知,所输出的电压稳定。

基于S3C2440的测试系统数字稳压电源的设计

▲ 图5 输出电压波形图

  4 结 语

  本文设计的稳压电源提供的电压稳定可靠,系统运行也非常稳定。由于可扩展的I/O 非常多,可以同时为多个芯片提供各种所需的稳压电源电压值。该系统不仅能够用在实验室芯片测试工作中,而且可以通过软件编程的方法,修改一些控制程序,使所设计的稳压电源作为智能电子产品性能测试的电源电压,这样提高了设备的使用效率,有着不错的应用前景。

关键字:S3C2440  测试系统  数字稳压电源 引用地址:基于S3C2440的测试系统数字稳压电源的设计

上一篇:基于μC/OS-II的嵌入式激光测距系统
下一篇:智能电力负荷控制与监测系统设计

推荐阅读最新更新时间:2024-03-16 15:19

开发SCADA无线电设备的自动化测试系统
Aprisa SR典型应用网络图 "NI PXI 射频平台是一个理想的选择,因为它具有成套的范例,组件易于获取,并且运行快速。工程师们用于理解射频原理的时间变少,这样他们就可以集中精力开发更加优化且易于使用的测试序列应用。" - Christopher Farmer, CPE Systems 挑战: 为一个智能监控和数据采集(SCADA)无线电设备设计和开发一个具有成本效益的测试解决方案,使其能够适应较大的生产产量,并可以进行一系列复杂的设备编程、测试和射频校准任务,而且整个过程中只需极少的操作人员干预,每个单元的测试时间少于5分钟。 解决方案: 使用NI 射频PXI技术,并结合性能强大的NI TestStand和
[测试测量]
开发SCADA无线电设备的自动化<font color='red'>测试系统</font>
s3c2440头文件之2440lib.h
//=================================================================== // File Name : 2440lib.h // Function : S3C2440 // Date : February 26, 2002 // Version : 0.0 // History // 0.0 :Feb.20.2002:SOP : Programming start // 0.01:Mar.29.2002:purnnamu: For Sleep_wake_up, the START... label is added //==================
[单片机]
keil4.74中运行s3c2440程序出现警告 进行一步骤修改
安装提示 一步一步的修改 解析 警告 warning: A1608W: MOV pc, rn  instruction used, but BX  rn  is preferred。  这需要配置keil软件 在option属性中Asm选项卡中去掉Enable ARM/Thumb Interworking选项。 编译出现一个警告 src2440init.s(341): warning: A1876W: Use of '|' as a synonym for the :OR: operator is deprecated. 警告信息:warning: A1876W: Use of ‘|’ as
[单片机]
keil4.74中运行<font color='red'>s3c2440</font>程序出现警告 进行一步骤修改
S3C2440挂载NFS根文件系统
主要记录下如何在ARM开发板上挂载NFS根文件系统。 PC主机:Ubuntu 和redhat 9.0 目标板:TQ2440开发板,linux内核2.6.32 1.PC上安装NFS服务 sudo apt-get install nfs-kernel-server sudo apt-get install portmap nfs-common 2. 编辑/etc/exports文件 yj423@ubuntu:~$ cat /etc/exports /home/yj423/nfswork *(rw,sync,no_root_squash) 设置/home/yj423/nfswork为被挂载的文件目录 3.启动NFS服务 sudo /
[单片机]
<font color='red'>S3C2440</font>挂载NFS根文件系统
ARM9_S3C2440学习(四)FIQ和IRQ区别
ARM 处理器有 FIQ和 IRQ 两级外部中断,它们都是由对电平敏感的低电平(LOW)信号激活进入处理器的。为了产生中断,CPSR 中的相应禁用位必须清零。 快速中断请求(Fast Interrupt Request,FIQ),IRQ全称为Interrupt Request,即是“中断请求”的意思。 FIQ 的优先级比 IRQ高,具体表现如下: (1)当发生多个中断时,首先处理 FIQ。 (2)处理 FIQ会导致禁用 IRQ 和后续 FIQ,在 FIQ处理程序启用之前,不会处理 IRQ 和后续 FIQ。这通常是通过在处理程序结束时从 SPSR恢复 CPSR来完成的。 FIQ 向量是向量表的最后一个入口,因此
[单片机]
s3c2440裸板_时钟系统及定时器
若Fout = 200MHz则, Fout = 2 *m * Fin / (p * 2 ^ s) = 2 * (92 + 8) * 12MHz / (3 * 2 ^ 2) = 200MHz m = 100, MDIV = 92 p = 3, PDIV = 2 s = 2, SDIV = 2 #define S3C2440_MPLL_200MHZ ((0x5c 12) | (0x01 4) | (0x02)) CLKDIVN = 0x03; // FCLK:HCLK:PCLK=4:2:1, HDIVN=1,PDIVN=1 /* * * * * * * * * * * * *
[单片机]
<font color='red'>s3c2440</font>裸板_时钟系统及定时器
s3c2440的2440init.s详解_补充
1.S3C2440支持两种启动方式:NAND FLASH和NOR FLASH。 网上有很多文章分析TQ2440的启动文件2440init.s。介绍的很详细,我这里只是把S3C2440上电后的程序流程描述下。 不管在哪种启动方式下,ARM上电启动都是从0X00000000开始运行。下面是复位程序入口。 AREA Init,CODE,READONLY ENTRY ResetEntry b ResetHandler …… ResetEntry的值在ARM上电运行时是0X00000000,在JTAG仿真时是0X30000000。这个值很关键,在拷贝程序时会用到。 从NAND FLASH启动时,在ARM上电时,ARM会自动把
[单片机]
VXI总线测试系统
引言 在托卡马克等离子体物理放电过程中,破裂与据齿的研究具有重要的意义。在大多数托卡马克放电过程中都存在破裂与锯齿。破裂是一个值得注意的事件,其间等离子体的约束遭到严重的破坏,它不仅限制了等离子体的电流和密度的运行区域,而且它造成的机械应力和热负荷给等离子体容器壁带来严重损害。对破裂,目前在理论上仍缺乏详尽理解,大体上可将其分为低q破裂和密度极限破裂。利用村上(Murakami)参数作横坐标的Hugill图,我们可以得到破裂和托卡马克等离子体运行区域的初略了解。 在大多数情况下托卡马克等离子体中心存在驰豫振荡,也就是温度和密度的锯齿振荡。在上升期,磁轴附近的电流密度增加,中心q值下降,在下降期,磁轴附近的电流密度下降,中心
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved