前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志T507展频应用

全志T507展频应用

原创
作者头像
kaicer
发布2023-05-23 17:11:53
7150
发布2023-05-23 17:11:53
举报
文章被收录于专栏:软件技术交流

展频技术引入的目的是为了解决电子产品的电磁干扰(EMI)问题。EMI会引起电路性能的降低,严重情况可能会导致整个系统失效,因此相关机构制定了电磁兼容(EMC)规范,要求上市的电子产品必须满足规范要求。降低EMI的方法有很多,比如:屏蔽、滤波、隔离、铁氧化磁环、信号边沿控制以及在PCB中增加电源与地层等等,在实际应用中可灵活使用。展频技术是一种有效且低成本的解决方法,相比以上解决方法,时钟展频是通过时钟内部集成电路调制频率的手段来达到抑制EMI峰值的目地,其不仅调制时钟源,其他的同步于时钟源的数据、地址以及控制信号,在时钟展频的同时也一并得以调制,整体的EMI峰值都因此减小。可以说,时钟展频是系统级的解决方案,这是展频技术相比其他抑制EMI措施的最大优势。

LVDS/DDR展频

如果客户机器LVDS存在电磁干扰则可以对LVDS进行展频,降低EMI峰值,如果客户机器DDR存在电磁干扰则可以对DDR进行展频,客户根据需要将展频参数导入机器即可。目前T5的DDR主频固定,都是720M,但客户的显示屏可能有多种主频的,则针对不同分辨率主机LVDS主频进行展频参数配置,DDR展频可以固定一种配置参数。

DDR展频参数计算

DDR控制器打开展频:0x03001010寄存器写0xb9003b00(1440/24-1=0x3b)

DDRCLK=720M,PLLDDR0=720M*2=1440M,展频1%即1440*1%=14.4M,展频范围即为1440.05M-1454.45M

按如下公式计算(其中X1/X2必须小于1大于0,超过此值需减小展频范围):

X1=1440.05/24-60=0.002083

X2=1454.45/24-60=0.602083

WAVE_BOT=2^17 * x1=131,072*0.002083 = 273 =0x111

WAVE_STEP=2^17* (X2-x1)/(24 MHz/PREQ) * 2 = 131,072*0.6/(24M/31.5K)*2=206=0xce

可知展频参数为:0xcce00111,将此值写入寄存器0x03001110

LVDS展频参数计算

如果LVDS频率为59M,显示分辨率为1280x720,那么

LCDCLK=59M,PLLVIDEO0=59M*7=408M(这个值必须被24整除),展频1%即408*1%=4.08M,展频范围即为408.05M-412.13M

PLLVIDEO控制器打开展频:0x03001040寄存器写0x89002103(408/24*2-1=0x21)

按如下公式计算(其中X1/X2必须小于1大于0,超过此值需减小展频范围):

X1=408.05*2/24-34=0.004166

X2=412.13*2/24-34=0.344166

WAVE_BOT=2^17 * x1=131,072*0.004166 = 546 =0x222

WAVE_STEP=2^17* (X2-x1)/(24 MHz/PREQ) * 2 = 131,072*0.34/(24M/31.5K)*2=117=0x75

可知展频参数为:0xc7508222,将此值写入寄存器0x03001140

如果LVDS频率为52M,显示分辨率为1024x600,那么

LCDCLK=52M,PLLVIDEO0=52M*7=360M(这个值必须被24整除),展频1%即360*1%=3.6M,展频范围即为360.05M-363.65M

PLLVIDEO控制器打开展频:0x03001040寄存器写0x89001d03(360/24*2-1=0x1d)

按如下公式计算(其中X1/X2必须小于1大于0,超过此值需减小展频范围):

X1=360.05*2/24-30=0.004166

X2=363.65*2/24-30=0.304166

WAVE_BOT=2^17 * x1=131,072*0.004166 = 546 =0x222

WAVE_STEP=2^17* (X2-x1)/(24 MHz/PREQ) * 2 = 131,072*0.3/(24M/31.5K)*2=103=0x67

可知展频参数为:0xc6708222,将此值写入寄存器0x03001140

参数配置

对于1280x720 CLK为59M机器可以改init.device.rc中注释#for emi处的值为:

write /sys/class/sunxi_dump/write "0x03001110 0xcce00111"

write /sys/class/sunxi_dump/write "0x03001140 0xc7508222"

write /sys/class/sunxi_dump/write "0x03001010 0xb9003b00"

write /sys/class/sunxi_dump/write "0x03001040 0x89002103"

对于1024x600 CLK为52M机器可以改init.device.rc中注释#for emi处的值为:

write /sys/class/sunxi_dump/write "0x03001110 0xcce00111"

write /sys/class/sunxi_dump/write "0x03001140 0xc6708222"

write /sys/class/sunxi_dump/write "0x03001010 0xb9003b00"

write /sys/class/sunxi_dump/write "0x03001040 0x89001d03"

注意:展频配置只用于EMI测试,因为展频可能对系统稳定性有影响,不建议作为出货配置。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LVDS/DDR展频
  • DDR展频参数计算
  • LVDS展频参数计算
  • 参数配置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档