背光频率的算法

背光频率的算法:

芯片内部基础时钟12MHz (12000000Hz)

首先divider 对12M 分配得出一个 base frequency,用于基础计数。

我们程序中所设置的 PERIOD 和 DUTY 都是对base frequency的计数,并且DUTY 的数值永远要小于等于 PERIOD ,当DUTY 等于 PERIOD 时,就是100%占空比,其实也就是直流电平了。

我们程序中调节背光强度,实际就是调整的DUTY 的值,但DUTY 永远要小于PERIOD 。

12M

DIVIDER 对12MHz 进行分频,得到base frequency

再对base frequency

进行分频,得到PWM 调DIVEDER 和PERIOD 值都能改变PWM 频率我们程序现在做法是固定PERIOD 为255再根据实际所需的PWM 频率计算出需要的DIVIDER 值因此DUTY 调节的范围就是0~255(PERIOD )

DUTY 为255时就输出直流电平,此时背光最亮

我们常用的就下面四个函数,在GPIO_MST.c中调用。

//对设置分频比 --- 对12M 进行分频

void MDrv_PWM_Div(PWM_ChNum u8IndexPWM, MS_U16 u16DivPWM);

//PWM极性 --- PWM高低电平反向

void MDrv_PWM_Polarity(PWM_ChNum u8IndexPWM, MS_BOOL bPolPWM);

//周期

PWM_Result MDrv_PWM_Period(PWM_ChNum u8IndexPWM, MS_U32 u32PeriodPWM); //占空比

PWM_Result MDrv_PWM_DutyCycle(PWM_ChNum u8IndexPWM, MS_U32 u32DutyPWM);

现在一般我们程序中PERIOD 固定255

在相应的board 文件中有如下定义

#define PWM2_PERIOD 0xFF //PWM2 Period=( PWM2_PERIOD+1 ) *( 1/ Xtal)

这里面Xtal = 12000000 PWM2_PERIOD = 0xFF(我们程序固定)

假设我们知道需要输出PWM 频率是,我们可以计算出需要的divider 的值,公式如下

[(Divider+1)/ 12000000] * (Period+1) = 1/Pwm_Freq

可以得出 Divider = 12000000/Pwm_Freq/(Period+1) – 1

如果PWM 频率要求 100Hz ,可以计算出

Divider = 12000000/100/256 – 1 = 467.75

如果PWM 频率要求 50KHz ,可以计算出

Divider = 12000000/50000/256 – 1 = -0.0625

之所以得出负数,是因为我们限制了PERIOD 为255,这时 divider 设置成0,不对12M 分频,刚好可以得出接近50KHz 的频率。

一般来说 lamp 背光频率在20KHz ~ 50KHz,led 背光范围一般在100Hz 左右,所以我们固定PERIOD 为255,去计算divider ,一般都能满足要求。

小数可以取舍,看设置哪个指更接近PWM 频率要求,一般PWM 频率差点没关系。

背光频率的算法:

芯片内部基础时钟12MHz (12000000Hz)

首先divider 对12M 分配得出一个 base frequency,用于基础计数。

我们程序中所设置的 PERIOD 和 DUTY 都是对base frequency的计数,并且DUTY 的数值永远要小于等于 PERIOD ,当DUTY 等于 PERIOD 时,就是100%占空比,其实也就是直流电平了。

我们程序中调节背光强度,实际就是调整的DUTY 的值,但DUTY 永远要小于PERIOD 。

12M

DIVIDER 对12MHz 进行分频,得到base frequency

再对base frequency

进行分频,得到PWM 调DIVEDER 和PERIOD 值都能改变PWM 频率我们程序现在做法是固定PERIOD 为255再根据实际所需的PWM 频率计算出需要的DIVIDER 值因此DUTY 调节的范围就是0~255(PERIOD )

DUTY 为255时就输出直流电平,此时背光最亮

我们常用的就下面四个函数,在GPIO_MST.c中调用。

//对设置分频比 --- 对12M 进行分频

void MDrv_PWM_Div(PWM_ChNum u8IndexPWM, MS_U16 u16DivPWM);

//PWM极性 --- PWM高低电平反向

void MDrv_PWM_Polarity(PWM_ChNum u8IndexPWM, MS_BOOL bPolPWM);

//周期

PWM_Result MDrv_PWM_Period(PWM_ChNum u8IndexPWM, MS_U32 u32PeriodPWM); //占空比

PWM_Result MDrv_PWM_DutyCycle(PWM_ChNum u8IndexPWM, MS_U32 u32DutyPWM);

现在一般我们程序中PERIOD 固定255

在相应的board 文件中有如下定义

#define PWM2_PERIOD 0xFF //PWM2 Period=( PWM2_PERIOD+1 ) *( 1/ Xtal)

这里面Xtal = 12000000 PWM2_PERIOD = 0xFF(我们程序固定)

假设我们知道需要输出PWM 频率是,我们可以计算出需要的divider 的值,公式如下

[(Divider+1)/ 12000000] * (Period+1) = 1/Pwm_Freq

可以得出 Divider = 12000000/Pwm_Freq/(Period+1) – 1

如果PWM 频率要求 100Hz ,可以计算出

Divider = 12000000/100/256 – 1 = 467.75

如果PWM 频率要求 50KHz ,可以计算出

Divider = 12000000/50000/256 – 1 = -0.0625

之所以得出负数,是因为我们限制了PERIOD 为255,这时 divider 设置成0,不对12M 分频,刚好可以得出接近50KHz 的频率。

一般来说 lamp 背光频率在20KHz ~ 50KHz,led 背光范围一般在100Hz 左右,所以我们固定PERIOD 为255,去计算divider ,一般都能满足要求。

小数可以取舍,看设置哪个指更接近PWM 频率要求,一般PWM 频率差点没关系。


相关文章

  • 便携式明渠流速/流量计安装使用说明书
  • MGG/KL-DCB型便携式 明渠流速/流量计使用说明 一.概述 MGG/KL-DCB型便携式明渠流速/流量计是一种专 为水文监测.江河流量监测.农业灌溉.市政给 排水.工业污水处理等行业流速/流量测量而设 计的一种便携式测量仪表.它采用了 ...查看


  • 简易自行车数字里程表设计
  • 本 科 毕 业 论 文 题 目: 简易自行车数字里程表设计 摘 要 本文对自行车里程表的结构.设计原理进行了介绍,并应用芯片LM339和AT89S51设计.制作了自行车里程表.文章介绍了所用芯片的存储结构.各管脚的功能,对各个模块的工作原理 ...查看


  • 电压谐波分析论文
  • 毕业设计(论文)任务书 I.毕业设计(论文)题目: 电网电压谐波分析仪设计 II.毕 业设计(论文)使用的原始资料(数据)及设计技术要求: 用汇编或C语言对制作的交流电压谐波分析仪编程,实现电网电压谐波分析仪功 能.具体要求为: 1.采用交 ...查看


  • 明基不闪屏显示器真对眼睛有好处吗?怎么实现的?
  • 我来补充一下楼上的吧,有错误的地方请大家指正(08.17更新:修正了部分描述不准确的地方.增加了一个PWM的测试图): 1.液晶显示器的两种背光方式 由于液晶分子本身并不具有发光的能力,因此必须要給他一个背光源,才能显示出液晶分子所排列出的 ...查看


  • 遥控器(发射管.背光源)驱动电路设计指引
  • 电控设计规范遥控器(发射管.背光源)驱动电路设计指引 1 总述 遥控器,在空调整机上虽然属辅配件,但它是远距离控制空调的的必须器具.对用户而言,其工作的可靠性是至关重要的.在遥控器的参数中,发射距离往往是判断遥控器好坏的关键参数之一,而遥控 ...查看


  • 51单片机_频率计_1602
  • 电子产品设计与开发 结 课 论 文 题目: 其于51单片机的频率计设计与仿真 班级: 电子1104班 姓名: 陈** (组员) 学号:03 电话: 1376****** 成员: 曾* (组长) 学号: 29 电话: 13726****** ...查看


  • 智能手机的系统架构及其低功耗设计
  • 智能手机的系统架构及其低功耗设计 智能手机的系统架构及其低功耗设计 随着通信产业的不断发展,移动终端已经由原来单一的通话功能向话音.数据.图像.音乐和多媒体方向综合演变.而对于移动终端,基本上可以分成两种:一种是传统手机(featureph ...查看


  • 收音机产品技术规格说明
  • 目 录 DSP-D92L ........................................................................................................... ...查看


  • 数字万用表使用说明书
  • 9808 数字万用表使用说明书 一.概述 该仪表是一种性能稳定.用电池驱动的高可靠性数字万用表.仪表采用26mm字高LCD显示器.读数清晰:背光显示及过载保护功能,更加方便使用. 该仪表用来测量直流电压和交流电压.直流电流和交流电流.电阻. ...查看


热门内容