CN105680866B - 一种pwm转模拟量低纹波输出方法 - Google Patents
一种pwm转模拟量低纹波输出方法 Download PDFInfo
- Publication number
- CN105680866B CN105680866B CN201610012655.XA CN201610012655A CN105680866B CN 105680866 B CN105680866 B CN 105680866B CN 201610012655 A CN201610012655 A CN 201610012655A CN 105680866 B CN105680866 B CN 105680866B
- Authority
- CN
- China
- Prior art keywords
- gintpcnt
- output
- cycle
- variable
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/06—Continuously compensating for, or preventing, undesired influence of physical parameters
- H03M1/0614—Continuously compensating for, or preventing, undesired influence of physical parameters of harmonic distortion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Analogue/Digital Conversion (AREA)
- Dc-Dc Converters (AREA)
Abstract
本发明公开了一种PWM转模拟量低纹波输出的方法,其具体包括以下步骤:S1:将离散性脉冲计数变量对象gintPCnt值作减去给定占空比变量intP值处理:gintPCnt=gintPCnt‑intP;S2:判断步骤S1的结果值变量gintPCnt是否小于0;S3:若结果值变量gintPCnt小于0则结果值变量gintPCnt加上分辨率周期值DUTY_CYCLE:gintPCnt=gintPCnt+DUTY_CYCLE;且IO输出电平为高:rPIN=1;S4:若结果值变量gintPCnt不小于0则IO输出电平为低:rPIN=0;S5:返回输出状态rPIN。采用本发明的技术方案后,将一个周期里的高低脉宽比均匀离散分配,但整体高低脉宽比例依然保持P:N,从而实现了PWM转模拟量低纹波输出方式,提高了输出精度。
Description
技术领域
本发明涉及一种PWM转模拟量低纹波输出的方法。
背景技术
PWM转模拟量输出即数/模转换在很多领域中会应用到。在数字化处理领域中CPU主要是数据数字逻辑0101的处理运算,但处理结果在很多应用场合又需要转换成模拟量输出指示,及作为其它设备的输入信号来源.当前大部分CPU的内部外设资源还是比较少集成直接DAC的模块,因此就需要我们通过其它方式进行转换输出处理。
PWM转换模拟量的传统方法,如图2所示的A部分,此部分算法为传统的PWM输出波形前高后低的占空比输出,为了方便描述,将DUTY_CYCLE值设为低分辨率如10点,占空比intP=3,将电容C2的充放电模型抽象为线性方式,则一个周期的输出波形及充放电曲线如图4所示。由图4可看出,这种PWM转换模拟量的传统方法,其转换方式是前高后低(或前低后高),即占空比的高低电平集中在一起,这种方式转换输出的模拟量纹波较大。
发明内容
本发明的目的是为了解决传统PWM转换模拟量输出纹波大而精度较差的问题,提供一种PWM转模拟量低纹波输出的方法。
为了实现上述目的,本发明采用如下技术方案:
一种PWM转模拟量低纹波输出的方法,具体包括以下步骤:
S1:将离散性脉冲计数变量对象gintPCnt值作减去给定占空比变量intP值处理:gintPCnt=gintPCnt-intP;
S2:判断步骤S1的结果值变量gintPCnt是否小于0;
S3:若结果值变量gintPCnt小于0则结果值变量gintPCnt加上分辨率周期值DUTY_CYCLE:gintPCnt=gintPCnt+DUTY_CYCLE;且IO输出电平为高:rPIN=1;
S4:若结果值变量gintPCnt不小于0则IO输出电平为低:rPIN=0;
S5:返回输出状态rPIN。
采用本发明的技术方案后,将一个周期里的高低脉宽比均匀离散分配,但整体高低脉宽比例依然保持P:N,从而实现了PWM转模拟量低纹波输出方式,提高了输出精度。
附图说明
图1为本发明中PWM转模拟量的载体硬件电路原理图;
图2为传统PWM转模拟量方法的流程图;
图3是本发明中PWM转模拟量方法的流程图;
图4是传统方式与本发明两种方式产生纹波分析的对比图。
以下结合附图和具体实施例对本发明作进一步详述。
具体实施方式
本发明一种PWM转模拟量低纹波输出的方法,其载体硬件电路如图1所示,CPU运算处理后的引脚(PWM_OUT)信号是PWM波形,经过电阻R78和电容C2组成的阻容器件充放电滤波成为含有一定纹波的直流电压信号,通过运算放大器U5A进行电压跟随处理后,由电容C3进行杂波滤除,然后经过运算放大器U5B进行相应输出电压的放大处理,从而实现了PWM转模拟量低纹波输出方式的载体。
本发明一种PWM转模拟量低纹波输出的方法,如图3所示的B部分,具体包括以下步骤:
S1:将离散性脉冲计数变量对象gintPCnt值作减去给定占空比变量intP值处理:gintPCnt=gintPCnt-intP;
S2:判断步骤S1的结果值变量gintPCnt是否小于0;
S3:若结果值变量gintPCnt小于0则结果值变量gintPCnt加上分辨率周期值DUTY_CYCLE:gintPCnt=gintPCnt+DUTY_CYCLE;且IO输出电平为高:rPIN=1;
S4:若结果值变量gintPCnt不小于0则IO输出电平为低:rPIN=0;
S5:返回输出状态rPIN。
本发明的上述算法实现的PWM输出波形为均匀分散的占空比波,为了方便描述,将DUTY_CYCLE值设为低分辨率如10点,占空比intP=3,将电容C2的充放电模型抽象为线性方式,则一个周期的输出波形及充放电曲线如图4所示。
从图4可看出,传统方式实现输出模拟量产生的纹波如图中的指示值dA,而采用本发明实现输出模拟量产生的纹波如图中的指示值dB,dB<dA,因此,可见本发明输出模拟量纹波比较低。
传统一个占空比调配PWM输出一个周期里的高低脉宽之比为P:N,而本发明是将这高低脉宽比均匀离散分配,但整体高低脉宽比例依然保持P:N。本发明的实现方式原理分析如下:
一个周期占空比的PWM分解出高脉宽为intP,低脉宽为intN(即为"DUTY_CYCLE-intP"),函数每执行一次离散性脉冲计数变量对象gintPCnt会调整一次,以判断实现本次函数执行后的输出为高电平或低电平作为离散输出的基本单位值,实现过程由以下分步骤分析,并随意假设实例值intP=3,intN=7,DUTY_CYCLE=10。
1)"gintPCnt=gintPCnt-intP"即自减去占空比intP值,第一次调用此函数(原始gintPCnt初始值为0)处理后,此变量gintPCnt变为"-intP"。此时判断小于0则返回输出为高电平,且同时处理此变量为"gintPCnt=gintPCnt+DUTY_CYCLE=-intP+DUTY_CYCLE=intN=7"即变为低脉宽的值,本次函数调用后结速返回高电平,即高电平输出1次。
2)第二次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=7-3=4。此时判断非小于0则返回输出为低电平,然后就完成本次函数结束返回低电平,即低电平输出1次。
3)第三次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=4-3=1。此时判断非小于0则返回输出为低电平,然后就完成本次函数结束返回低电平,即低电平输出2次。
4)第四次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=1-3=-2。此时判断小于0则返回输出为高电平,且同时处理此变量为"gintPCnt=gintPCnt+DUTY_CYCLE=-2+10=8"即变为低脉宽的值,本次函数调用后结速返回高电平,即高电平输出2次。
5)第五次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=8-3=5。此时判断非小于0则返回输出为低电平,然后就完成本次函数结束返回低电平,即低电平输出3次。
6)第六次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=5-3=2。此时判断非小于0则返回输出为低电平,然后就完成本次函数结束返回低电平,即低电平输出4次。
7)第七次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=2-3=-1。此时判断小于0则返回输出为高电平,且同时处理此变量为"gintPCnt=gintPCnt+DUTY_CYCLE=-1+10=9"即变为低脉宽的值,本次函数调用后结速返回高电平,即高电平输出3次。
8)第八次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=9-3=6。此时判断非小于0则返回输出为低电平,然后就完成本次函数结束返回低电平,即低电平输出5次。
9)第九次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=6-3=3。此时判断非小于0则返回输出为低电平,然后就完成本次函数结束返回低电平,即低电平输出6次。
10)第十次调用此函数,同样处理"gintPCnt=gintPCnt-intP",本次处理后gintPCnt=gintPCnt-intP=3-3=0。此时判断非小于0则返回输出为低电平,然后就完成本次函数结束返回低电平,即低电平输出7次。
11)第十一次调用此函数,则执行动作与第1)步是同样状态了,因为再次反复执行依然是1)-10)的周期过程了。而在于1)-10)的周期中可分析出输出的高电平共为3次,低电平7次,即实现了高低脉宽比为intP:intN。且实现了这高低脉宽比均匀离散分配效果了,即实现了如图4所示的本发明PWM输出波形。
本发明的核心在于"gintPCnt=gintPCnt-intP",和小于零"gintPCnt=gintPCnt+DUTY_CYCLE"的调整,即采用了intP与intN减比较处理实现高低脉宽比例调整处理,以决定每一次函数调用后的单位输出电平,从而整体的高低脉宽输出比例一直保持着"intP:intN"关系。
以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (1)
1.一种PWM转模拟量低纹波输出的方法,其特征在于,具体包括以下步骤:
S1:将一个周期占空比的PWM分解出高脉宽为intP,低脉宽为intN,即intN为"DUTY_CYCLE-intP",将离散性脉冲计数变量对象gintPCnt值作减去给定高脉宽变量intP值处理:gintPCnt=gintPCnt-intP;其中,原始gintPCnt初始值为0;函数每执行一次离散性脉冲计数变量对象gintPCnt会调整一次,以判断实现本次函数执行后的输出为高电平或低电平作为离散输出的基本单位值;
S2:判断步骤S1的结果值变量gintPCnt是否小于0;
S3:若结果值变量gintPCnt小于0则结果值变量gintPCnt加上分辨率周期值DUTY_CYCLE:gintPCnt=gintPCnt+DUTY_CYCLE;且IO输出电平为高:rPIN=1;
S4:若结果值变量gintPCnt不小于0则IO输出电平为低:rPIN=0;
S5:返回输出状态rPIN,完成一次函数调用;
S6:以DUTY_CYCLE的值为一个周期所需调用函数的次数,重复执行步骤S1-S5至所需的函数调用次数,即完成一个周期离散输出波形。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610012655.XA CN105680866B (zh) | 2016-01-08 | 2016-01-08 | 一种pwm转模拟量低纹波输出方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610012655.XA CN105680866B (zh) | 2016-01-08 | 2016-01-08 | 一种pwm转模拟量低纹波输出方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105680866A CN105680866A (zh) | 2016-06-15 |
CN105680866B true CN105680866B (zh) | 2019-02-19 |
Family
ID=56299613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610012655.XA Active CN105680866B (zh) | 2016-01-08 | 2016-01-08 | 一种pwm转模拟量低纹波输出方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105680866B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107835001A (zh) * | 2017-10-27 | 2018-03-23 | 上海辰竹仪表有限公司 | 脉冲宽度调制波的处理方法、系统、信号处理装置及介质 |
CN111490760B (zh) * | 2020-05-19 | 2023-05-12 | 广东海悟科技有限公司 | 基于pwm波形的单片机高精度模拟量输出方法、装置、设备 |
CN113162589A (zh) * | 2021-02-23 | 2021-07-23 | 潍坊歌尔微电子有限公司 | 时序调整方法、终端设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555128A (zh) * | 2003-12-19 | 2004-12-15 | 艾默生网络能源有限公司 | 一种串联谐振变换器的控制方法及装置 |
CN101039118A (zh) * | 2006-03-16 | 2007-09-19 | 凌阳科技股份有限公司 | 一种数字模拟转换系统及方法 |
CN101499791A (zh) * | 2008-01-29 | 2009-08-05 | 力博特公司 | 一种pwm控制方法 |
CN201656958U (zh) * | 2010-02-05 | 2010-11-24 | 广东欧珀移动通信有限公司 | 一种pwm调制模数转换器 |
CN102281071A (zh) * | 2011-03-08 | 2011-12-14 | 第二炮兵装备研究院中试与检测中心 | 大动态范围数控信号转换输出电路 |
CN102916702A (zh) * | 2012-09-29 | 2013-02-06 | 西安龙腾新能源科技发展有限公司 | 一种基于dsp的pwm引脚实现的数模转换方法 |
-
2016
- 2016-01-08 CN CN201610012655.XA patent/CN105680866B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555128A (zh) * | 2003-12-19 | 2004-12-15 | 艾默生网络能源有限公司 | 一种串联谐振变换器的控制方法及装置 |
CN101039118A (zh) * | 2006-03-16 | 2007-09-19 | 凌阳科技股份有限公司 | 一种数字模拟转换系统及方法 |
CN101499791A (zh) * | 2008-01-29 | 2009-08-05 | 力博特公司 | 一种pwm控制方法 |
CN201656958U (zh) * | 2010-02-05 | 2010-11-24 | 广东欧珀移动通信有限公司 | 一种pwm调制模数转换器 |
CN102281071A (zh) * | 2011-03-08 | 2011-12-14 | 第二炮兵装备研究院中试与检测中心 | 大动态范围数控信号转换输出电路 |
CN102916702A (zh) * | 2012-09-29 | 2013-02-06 | 西安龙腾新能源科技发展有限公司 | 一种基于dsp的pwm引脚实现的数模转换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105680866A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105680866B (zh) | 一种pwm转模拟量低纹波输出方法 | |
CN103347332B (zh) | 信号处理方法及电路及带该电路的led调光电路 | |
CN109274369B (zh) | 一种闪烁脉冲数字化的方法及装置 | |
CN108093534A (zh) | 控制方法、控制器及led驱动装置 | |
CN105913118B (zh) | 一种基于概率计算的人工神经网络硬件实现装置 | |
DE102004062754A1 (de) | Pegelumwandlungsschaltung und Seriell/Parallel-Umwandlungsschaltung mit Pegelumwandlungsfunktion | |
CN105205242B (zh) | 一种空间矢量pwm谐波分析方法 | |
CN103138560A (zh) | 频率抖动系统 | |
CN108429460A (zh) | 一种升压直流直流转换器峰值电压的数字控制系统及方法 | |
CN102005959A (zh) | 级联h桥型多电平变流器触发脉冲的快速生成方法 | |
CN109617405B (zh) | 一种基于谐波状态空间的dc/dc变换器建模方法 | |
CN103365507A (zh) | 改善电容式触控装置的可信度的感测装置及方法 | |
CN103178814A (zh) | 一种函数信号发生装置及方法 | |
CN106612084B (zh) | 电流采样处理电路及采样处理方法 | |
RU2496228C1 (ru) | Интегрирующий аналого-цифровой преобразователь | |
CN1653696A (zh) | 数模转换器 | |
WO2016096887A1 (en) | Pfc rectifier and method for operating a pfc rectifier | |
CN102347751A (zh) | 脉冲电源的数字化控制方法及装置 | |
CN1148447A (zh) | 转换电能的一种电子电路 | |
CN106452045B (zh) | 交错pfc电路中pwm波形产生方法及装置 | |
CN104333964B (zh) | 一种脉冲氙灯电源的控制电路和控制方法 | |
CN205139221U (zh) | 电机定子相电压检测装置 | |
CN101478254A (zh) | 基于dsp的三电平spwm波形的产生方法 | |
CN110266210B (zh) | 一种pwm调制装置、电力电子设备及其pwm调制方法 | |
Kościelnik et al. | A clockless time-to-digital converter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A PWM to Analog Low Ripple Output Method Effective date of registration: 20230711 Granted publication date: 20190219 Pledgee: China Co. truction Bank Corp Quanzhou Licheng branch Pledgor: QUANZHOU SANG CHUAN ELECTRIC EQUIPMENT Co.,Ltd. Registration number: Y2023980048008 |