当前位置: 首页 > news >正文

DSP 28377 锁相环代码

dsp 28377 锁相环代码

半夜调试电机控制板的时候,最怕遇到时钟信号飘得亲妈都不认识。DSP 28377这货的锁相环配置说难不难,但手册里那些寄存器名字看得人眼晕。今天咱们直接扒开TI官方例程的裤衩,看看PLL到底怎么驯服。

先甩个祖传配置函数镇楼:

void InitPll(void) { volatile uint32_t i; // 先解除PLL的封印 SysCtrlRegs.PLLSTS.bit.MCLKSTS = 0; SysCtrlRegs.PLLSTS.bit.CLKSLIP = 0; // 切到安全模式 SysCtrlRegs.PLLCR.bit.PLLEN = 0; DELAY_US(100UL); // 老司机都懂的玄学延时 // 上硬菜——倍频系数 SysCtrlRegs.PLLCR.bit.DIV = 10; // 输入时钟×20 while(SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1) { // 死等锁相环上锁,此处适合点根烟 } // 切回PLL模式 SysCtrlRegs.PLLSTS.bit.MCLKCLR = 1; DELAY_US(100UL); // 再来个延时保平安 }

重点来了,那个神秘的DIV值可不是随便填的。手册第183页偷偷写着计算公式:SYSCLK = (InputClk × [DIV+1])/2。假设外部晶振是10MHz,套用公式就是(10*(10+1))/2=55MHz?大兄弟你数学是体育老师教的吧?TI工程师在这儿埋了个坑——实际DIV寄存器值要减1!所以想得到200MHz主频的话,正确姿势是:

// 200MHz = (10MHz * (20 × 2)) SysCtrlRegs.SYSPLLMULT.all = 19; // 骚操作在这里

调试时最刺激的莫过于手滑配置错时钟。有次我把DIV设成20,结果DSP当场表演死机绝活。后来用示波器抓OSCIN信号才发现,PLL锁不住的时候,时钟信号抖得像帕金森。这时候要在while循环里加个超时检测:

uint16_t timeout = 0; while((SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1) && (timeout < 5000)) { timeout++; DELAY_US(10); } if(timeout >= 5000) { ESTOP0; // 直接断头台伺候 }

最后说个冷知识:修改PLL配置后,记得把flash等待周期调了。不然程序跑起来比树懒还慢。官方例程里藏着这么段代码:

FlashWdtRegs.FBAC.bit.WAIT = 0x1; // 200MHz对应1个等待周期

时钟配好了别急着收工,拿CCS的寄存器观察窗口瞅瞅PLLSTS寄存器的LOCK位是不是稳如老狗。要是看到CLKSLIP位突然置1,八成是电源纹波太大——这时候该换电容还是改layout,自己看着办吧。

http://www.cnnetsun.cn/news/68667.html

相关文章:

  • hot100 2.字母异位词分组
  • R语言Cox回归避坑指南(临床数据建模常见错误TOP5)
  • 是德 N9041B UXA 频谱分析仪在真空环境完成卫星信号分析
  • 用是德DSOX1204A示波器快速捕捉与调试信号的实用指南
  • 连接器EMC测试不过关?5步定位干扰源头,快速通过认证
  • 为什么90%的物联网项目卡在部署阶段?真相令人震惊
  • 你还在用线性回归预测产量?R语言随机森林模型已全面超越
  • Laravel 13发布后必须掌握的技能:多模态任务队列的7种高级用法
  • some 知识点 knowledge
  • Gson和Jackson是怎么解决泛型实例化的?源码级剖析告诉你答案
  • 重新发现深圳,找个咖啡/羽毛球搭子一起探索城市的AB面
  • 请求拦截不再难,Symfony 8拦截器实现原理与最佳实践全解析
  • RAG文本分块策略:优化LLM的知识访问效率
  • 桌面那么点大,性能它偏要狂
  • 基于51单片机的智能水表系统设计
  • 基于单片机的交通控制系统
  • 永磁同步电机PMSM 5 - 7次谐波注入降低转矩脉动实践
  • 万字长文梳理如何扩展大语言模型的上下文长度:算法原理、实现方法与适用场景(RoPE、YaRN、优化Attention、RAG等)
  • 特征提取+概率神经网络 PNN 的轴承信号故障诊断模型
  • 单元测试基础知识,面试用得上...
  • 美国国务院恢复 Times New Roman 字体
  • 【万字长文】LLM+KG:大模型与知识图谱融合的黄金时代,技术前景与实现路径全解析!
  • ionet 25.2 发布
  • 谁还不知道!2025年这4款免费AI写歌工具
  • OpenNJet v3.3.1.3
  • 续约上港!张琳芃 400 万冲第 12 冠
  • 2023A卷,区块链文件转储系统
  • 动态图表自由切换,R Shiny多输入控件协同设计全解析
  • 基于单片机的视力保护器设计
  • WebSocket 协议详解:ws 和 wss 的区别与应用