0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用查找表对LED执行伽玛校正

星星科技指导员 来源:ADI 作者:ADI 2023-02-07 13:53 次阅读

伽玛校正用于校正亮度和亮度之间的非线性关系。本应用笔记给出了为MAXQ2000微控制器(μC)编写的汇编程序,该程序使用伽马校正和固定频率PWM信号线性增加和减少LED的亮度。存储在实用ROM存储器中的查找表(LUT)中的PWM占空比经过伽马校正以产生线性亮度变化。该软件使用免费的MAX-IDE开发工具进行编译,运行在MAXQ2000评估板上。

背景

当LED发光时,伽马校正用于解释亮度和亮度之间的幂律关系。虽然经常互换使用,但亮度和亮度不是同义词。

亮度:发射光,每单位面积投影,单位为cd/m²(坎德拉/米²)。

亮度:人眼赋予的感知亮度。

幂律关系可以近似为:

poYBAGPh53uAbFpfAAAHCCcJORM248.gif?imgver=1

在此讨论中,γ等于 2.5。

控制发光二极管强度

附录 A 是一个装配程序,它线性地增加和降低 LED 的亮度。强度值已经过伽马校正,以近似亮度的线性变化。

LED 使用 PWM 进行控制。定时器0在P0.0上产生PWM信号(在MAX3评估板上U11的LED2000上可见),并设置为16位重载/比较定时器模式。在此模式下,计时器 0 生成两个中断请求 (IRQ):一个在计时器溢出时,另一个在计时器等于 T2C0 中的比较值时。图1说明了此过程如何产生PWM信号。请注意,溢出 IRQ 控制 PWM 周期,而比较 IRQ 控制 PWM 占空比。

pYYBAGPh532ATtchAAAZ55IPwNc680.gif?imgver=1

图1.使用定时器 0 生成 PWM 信号。

定时器1用于改变定时器0的PWM占空比,从而改变LED的强度。每 50 毫秒,计时器 1 生成一个溢出 IRQ,将查找表 (LUT) 中的新值加载到 T2C0 寄存器中。

使用公式2计算伽马校正PWM占空比,其中:

T2C0γ = 计时器 0 的伽玛校正比较值

T2C0 = 计时器 0 的非伽马校正比较值

γ = 伽马校正因子(即 2.5)

count 是定时器0上重新加载之间的定时器步数(即,10000h-0C000h = 04000h)

偏移量是计时器 0 重新加载值(即 0C000h)

poYBAGPh536AcA_zAAAJo5BnZRw482.gif?imgver=1

例如,当计时器 0 重新加载值为 0C000h 时,每次重新加载之间都会发生 04000h 计时器步骤。假设使用 32 个 PWM 占空比来增加 LED 的强度,并且基于 LUT,定时器 0 (T2C0) 的非伽马校正比较值为:

0C000h 0C200h 0C400h ... 0FA00h 0FC00h 0FE00h

每个值之间的差值为 0200h,即 04000h 除以 32。使用公式 2 对上述值进行伽马校正,得出以下 T2C0 值(图 2):

0C000h 0C002h 0C010h ... 0F209h 0F676h 0FB1Dh

附录 A 中的源代码略微调整了这些值,以消除计时器问题。例如,计时器 0 在发生 IRQ 时不会停止。因此,必须注意确保重载值不接近比较值(即,T2C0 - T2R0 >某个最小正值)。

poYBAGPh54CACAZnAAAzoPVSnQU795.gif?imgver=1

图2.伽玛校正了 T2C0。

使用查找表 (LUT)

前面提到的PWM占空比值存储在MAXQ2000微控制器程序存储器的LUT中。虽然将程序存储器用于常量和LUT可以释放数据存储器,但它确实需要更长的访问时间。

实用程序ROM功能moveDP1用于从程序存储器中检索数据。注意,由于实用程序ROM的未来版本可能不在MAXQ2000的ROM中的同一位置,用户应从存储在地址0800Dh的实用程序ROM功能表中加载每个功能的地址。幸运的是,这可以在程序初始化期间完成,并且可以保存函数地址以供以后在程序中使用。

附录 A 中的源代码将 moveDP1 实用程序 ROM 函数的地址加载到 A[4] 寄存器中,并使用此保存的地址调用该函数。

结论

使用 LUT 保存预先计算的计算结果可以显著提高固件执行速度。如果LUT保存在程序存储器中,MAXQ2000实用程序ROM功能可快速访问数据。为了进一步提高固件执行速度,MAXQ2000可以在程序初始化时将LUT数据从程序存储器加载到SRAM中。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    6809

    浏览量

    147637
  • led
    led
    +关注

    关注

    237

    文章

    22449

    浏览量

    645878
  • 存储器
    +关注

    关注

    38

    文章

    7148

    浏览量

    161986
收藏 人收藏

    评论

    相关推荐

    FPGA查找

    一.查找(Look-Up-Table)的原理与结构采用这种结构的PLD芯片我们也可以称之为FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。查找
    发表于 04-28 14:57

    FPGA的查找怎么用呀

    在利用Verilog进行编程的时候,我要存入一个完整的正弦波,放到查找表里,我怎用对查找进行操作?请大神们指教
    发表于 09-18 21:52

    科天健:普及机器视觉,每日一帖(第7帖)

    非线性的输出光束, 这种非线性所 产生的指数曲线即称之为( Gamma)。 所谓的校正是影像系统为了​​在CRT 上呈现接近线性的画
    发表于 11-05 09:49

    LED校正

    MCU通过控制PWM的占空比来调节LED的亮度。怎么通过校正来调节灰度和亮度之间的关系,gamma=1时就是一条直线相当于线性关系,gamma=2.2时就是一条曲线。不希望用POW的函数(浮点操作时间太长)来做,有哪位大神可
    发表于 10-26 16:33

    具有多种保护措施的BD8149MUV电压生成器

    罗姆(ROHM)株式会社是全球最知名的半导体厂商之一,由其推出的BD8149MUV是一款内置DAC的高精度电压生成器,其采用单芯片设计,可减少所需元件数量,节省空间的同时方便设计与使用;其内置由
    发表于 04-24 22:14

    【I.MX6UL申请】射线监测模块设计

    项目名称:射线监测模块设计试用计划:手头有伽马射线传感器,拟通过,被申请的设备作为主控版,实时采集伽马射线传感器,数据并通过无线模块上传到计算机或是阿里云盘上。方便后期的分析处理。试用
    发表于 09-02 17:02

    Acqiris Gigahertz FADCs帮助天文学家使用射线探测深空

    Acqiris Gigahertz FADCs帮助天文学家使用射线探测深空
    发表于 10-28 14:39

    psuedo随机棱镜调光器变暗是怎么回事?

    你好,任何人都能想到伪随机和棱镜输出会产生比直接PWM输出相同的数据时的暗调光的原因吗?在满功率时,它们是相同的,但在半功率下,伪和棱镜比PWM明显变暗。他们有校正吗?谢谢你,汤姆
    发表于 10-31 06:47

    TFT怎么配置校正

    TFT的校正是怎么配置的?例程中那些参数是怎么算出来的?求解。
    发表于 03-29 23:41

    通过Block Rom查找来实现LED流水灯功能案例分享

    1、通过Block Rom查找来实现LED流水灯功能与实验五不同,本例实现流水灯通过Block Rom查找来实现流水灯功能,实现效果为:
    发表于 08-03 15:02

    i.MX8m plus如何在ICC配置文件之间进行转换?

    OpenCV 分支是否也能够使用硬件加速(我猜在这种情况下通过 OpenCL 使用 GPU)进行此类 ICC 转换,以及白点调整或校正等其他操作?
    发表于 05-31 06:02

    LED显示屏色度校正原理与应用

    随着逐点校正的技术进步,客户对LED屏的显示质量要求也越来越高,从仅仅追求亮度与白平衡指标,渐渐提升到了对显示均匀度和色保真度的要求。利用逐点校正技术大幅提升显示屏的
    发表于 04-17 14:37 67次下载

    LED显示屏校正技术的发展与趋势

    LED校正技术越来越得到大家广泛的重视,校正技术也是 LED显示屏 确保品质的关键,LED显示屏校正
    发表于 10-09 09:39 706次阅读

    使用查找表对 LED 执行伽玛校正

    发表于 11-18 23:45 1次下载
    使用<b class='flag-5'>查找</b>表对 <b class='flag-5'>LED</b> <b class='flag-5'>执行</b>伽玛<b class='flag-5'>校正</b>

    高品质的LED显示屏为什么要校正

    高品质的LED显示屏为了达到最佳的显示效果,一般需要进行亮度与颜色的校正,使得LED显示屏点亮后的亮度一致性、颜色一致性达到最佳,那么高品质的LED显示屏为什么需要
    的头像 发表于 11-29 15:53 1088次阅读