赞
踩
展频调试是一种用于调试电子设备中展频功能的过程。展频是一种用于减少电磁干扰(EMI)的技术,通过在信号中引入微小的频率变化,可以减少特定频率上的电磁辐射。
先在对应项目配置文件中添加 PLL 的 debug 驱动,这项原本是没有的,需要手动添加。这里是基于 x9h 的配置修改的,改动的文件为 safety-x9h-ms.mk,客户请根据实际使用的配置修改。
vim rtos/freertos_safetyos/project/safety-x9h-ms.mk
(1)单独编译 freertos,得到 safety.bin 。
make freertos
(2)使用 ftp 工具下载
binary_X9H_MS_NativeAndroidUser_Serdes_4G_emmc_4266/ 目录下的
safety.bin 到windows 中。
(3)使用下载工具替换 safety.bin 。
(1)在 safety 串口下输入help 查看有哪些可用的 pll 调试命令。
help
(2)红框中是添加驱动新增的 pll 调试工具。
(3)同时还有其他展频常用工具
dumpclk
setclk
disclk
modulehelper_init
2.2 dumpcfg 查看配置
(1)通过 dumpcfg 命令可以查看单个模块是否开展频以及展频配置信息,这里是 DDR 开展频前的配置。
modulehelper_init //初始化 PLL Debug 模块
dumpclk //查看所有 PLL clk
dumpcfg PLL_DDR //查看 PLL_DDR 的展频信息
(2)查看 PLL_DDR 的 clk。
integer: 1 表⽰integermode,0 表⽰fractionalmode,PLL 必须在 fractionalmode 下才可以展频。
ss: 使能,ss 1 表⽰开启展频,ss 0 表⽰没开展频。
down: 向下展频 or 中⼼展频,down 1(true) 表⽰向下展频,down 0(false) 表⽰中⼼展频。
spread: 展频幅度,spread 10 表⽰展频幅度 1%(最⼤展频幅度31,即3.1%) 。
(1)查看 PLL_DDR 展频相关寄存器
dw 0xf3010018 4
寄存器值为 1 ,表示没有打开展频。
(2)打开 PLL_DDR 展频,具体配置如下
Spread( bit4~bit8 )为 a : 展频幅度 1.0%。
Downspread ( bit3, 0-centerspread,1-downspread ) 为 1: 向下展频。
mw 0xf3010018 0x00001ef0
dw 0xf3010018 4
(3)dumpcfg 确认配置
这是写寄存器修改 DDR 展频之后,使用 dumpcfg 看到的配置。
dumpcfg PLL_DDR
根据改变的参数可以知道,已经打开展频,并且向下展频,幅度为 10%。
integer: 1 表⽰integermode,0 表⽰fractionalmode,PLL 必须在 fractionalmode 下才可以展频。
ss: 使能展频,ss 1 表⽰开启展频,ss 0 表⽰没开展频。
down: 向下展频 or 中⼼展频,down 1(true) 表⽰向下展频,down 0(false) 表⽰中⼼展频。
spread: 展频幅度,spread 10 表⽰展频幅度 1%(最⼤展频幅度31,即3.1%) 。
(1)把确认的展频参数保存到如下文件中
vim BareMetal_Suite/soc/kunlun/safe/soc.c
vim BareMetal_Suite/soc/kunlun/sec/soc.c
(2)编译打包
make baremetal
make genpac
(3)烧写整个镜像后进行验证,开机直接 dumpcfg 查看展频情况。
dumpcfg PLL_DDR
可以看到,开机后立即查看 PLL_DDR 展频状态,已经是开启展频的状态了。
本文主要讲了基于芯驰 X9H PTG4.3 的展频调试,以前的修改方法不再使用于新版软件,本文的方法在 PTG4.3 软件版本上是测试可用的,客户可以根据本文快速上手进行展频的调试。
[1]《Semidrive_AN_9系列展频调试说明》
[2]《X9_SDK_用户手册_Rev1.7》
欢迎在博文下方留言评论,我们会及时回复您的问题。
如有更多需求,欢迎联系大联大世平集团 ATU 部门:atu.sh@wpi-group.com 作者:好景虚设
更多资讯,请扫码关注我们!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。