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

电商网站设计 页面转化率基金会网站建设方案

电商网站设计 页面转化率,基金会网站建设方案,深圳网站建设明细报价表,网站建设网络推广外包服务商⚙️ ​一、实现原理​​核心机制​​主定时器生成基准PWM信号,将其OCxRef​(通道原始PWM信号)作为触发输出(TRGO)。​从定时器以TRGO为触发源,通过设置不同的计数器初值实现相位偏移。​相位差公式​&…

⚙️ ​一、实现原理

  1. 核心机制
    • 主定时器生成基准PWM信号,将其OCxRef​(通道原始PWM信号)作为触发输出(TRGO)。
    • 从定时器以TRGO为触发源,通过设置不同的计数器初值实现相位偏移。
    • 相位差公式​:
      相位差角度 = (延迟时间 / PWM周期) × 360°  
      延迟时间 = 从定时器计数器初值 / 时钟频率  

    类比​:主定时器是乐队指挥(统一节奏),从定时器是乐手(按指挥信号分时段演奏)。


🔧 ​二、硬件配置(以TIM1为主,TIM2/TIM3/TIM4为从)​

1. 主定时器(TIM1)配置
// 1. 时基单元:72MHz时钟 → 1kHz PWM(周期1ms)
TIM_TimeBaseInitTypeDef tb;
tb.TIM_Period = 1000 - 1;      // ARR=999
tb.TIM_Prescaler = 72 - 1;     // 72MHz→1MHz
tb.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM1, &tb);// 2. 通道1输出PWM(占空比50%)
TIM_OCInitTypeDef oc;
oc.TIM_OCMode = TIM_OCMode_PWM1;
oc.TIM_Pulse = 500;           // CCR1=500 → 50%占空比
oc.TIM_OutputState = TIM_OutputState_Enable;
TIM_OC1Init(TIM1, &oc);// 3. 关键!将OC1Ref设为TRGO源
TIM_SelectOutputTrigger(TIM1, TIM_TRGOSource_OC1Ref);
TIM_CtrlPWMOutputs(TIM1, ENABLE);  // 高级定时器需使能MOE
TIM_Cmd(TIM1, ENABLE);             // 启动定时器
2. 从定时器配置(TIM2/TIM3/TIM4)​
void SlaveTimer_Init(TIM_TypeDef* TIMx, uint16_t phase_delay) {// 1. 时基单元:与主定时器参数一致(同频同周期)TIM_TimeBaseInitTypeDef tb;tb.TIM_Period = 1000 - 1;      // ARR=999tb.TIM_Prescaler = 72 - 1;     // 1MHz时钟tb.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIMx, &tb);// 2. 配置为门控模式(Gated Mode)TIM_SelectSlaveMode(TIMx, TIM_SlaveMode_Gated);  // TRGO有效时计数TIM_SelectInputTrigger(TIMx, TIM_TS_ITR0);        // TIM1的TRGO映射到ITR0// 3. 设置相位延迟(核心!)TIM_SetCounter(TIMx, phase_delay);  // 计数器初值=延迟时间对应的计数值// 4. 通道1输出PWM(占空比可独立设置)TIM_OCInitTypeDef oc;oc.TIM_OCMode = TIM_OCMode_PWM1;oc.TIM_Pulse = 300;           // 占空比30%(可独立调整)oc.TIM_OutputState = TIM_OutputState_Enable;TIM_OC1Init(TIMx, &oc);TIM_Cmd(TIMx, ENABLE);
}// 初始化三个从定时器(相位差120°)
SlaveTimer_Init(TIM2, 0);        // 0°延迟 → 相位0°
SlaveTimer_Init(TIM3, 333);      // 333计数值 → 120°延迟(1000/3≈333)
SlaveTimer_Init(TIM4, 666);      // 666计数值 → 240°延迟

关键点​:

  • TIM_TS_ITR0是TIM1→TIM2的固定内部触发线路(其他定时器需查手册映射)。
  • 相位差计算:120°延迟 = (120/360)×1000 ≈ 333计数值(1MHz时钟下每计数值=1μs)。

⚡ ​三、工作流程

  1. 主定时器通道1输出PWM,其上升沿触发OC1Ref信号 → 作为TRGO输出。
  2. 从定时器在TRGO有效时开始计数​:
    • TIM2从0开始计数 → 相位0°。
    • TIM3从333开始计数 → 延迟333μs(120°相位差)。
    • TIM4从666开始计数 → 延迟666μs(240°相位差)。
  3. 各从定时器独立生成PWM,​频率/占空比可独立调整​。

📊 ​四、相位差验证(示波器观测)​

信号引脚相位差波形特征
主PWM (TIM1)PA8基准0°占空比50%,周期1ms
从PWM1 (TIM2)PA0与主PWM完全同步
从PWM2 (TIM3)PA6120°波形滞后主PWM 333μs
从PWM3 (TIM4)PB6240°波形滞后主PWM 666μs

注:引脚需配置为复用推挽输出​(GPIO_Mode_AF_PP)。


⚠️ ​五、常见问题与优化

  1. 无输出问题

    • 检查TIM_CtrlPWMOutputs()(高级定时器必需)。
    • 确认GPIO模式为GPIO_Mode_AF_PP(非普通推挽输出)。
  2. 相位误差

    • 所有定时器预分频器(PSC)需相同,否则频率不一致。
    • 减少中断干扰:关闭无用中断,或使用DMA传输数据。
  3. 动态调整相位

    // 运行时修改TIM3相位为90°
    uint16_t new_delay = (1000 * 90) / 360;  // 250计数值
    TIM_SetCounter(TIM3, new_delay);         // 需在TRGO间隙修改

💡 ​六、应用场景

  1. 三相电机驱动​:120°相位差控制无刷电机换向。
  2. RGB调光​:三路LED独立相位,避免同时开关导致的电流突变。
  3. 多路同步信号​:通信系统中错开发送时序,减少干扰。

通过此方案,STM32仅用硬件触发实现纳秒级精度的相位控制,无需CPU实时干预,极大减轻系统负载。


总结​:

  • 核心​:主定时器OCxRef触发从定时器 → 计数器初值决定相位差。
  • 口诀​:同频(PSC一致)、同源(TRGO触发)、初值调相位。
  • 扩展​:若需更多相位通道,可级联更多从定时器(如TIM5从TIM4触发)。
http://www.dtcms.com/a/444038.html

相关文章:

  • 重庆网站建设设计公司圣弘建设股份有限公司网站
  • k8s-RBAC鉴权
  • 摄影网站建设需求分析网站建设系统下载
  • 额尔古纳网站建设价格品牌推广岗位
  • 自己做的网站套dedecms教程最便宜服装网站建设
  • 网站建设有哪些环节wordpress 页面静态化
  • 有个蓝色章鱼做标志的网站自己会网站开发如何赚钱
  • 台州网站建站怎样做网贷网站
  • 网站方案制作的培训网络营销是什么?
  • 苍南规划建设局网站公司信息化网站建设实施方案
  • 网站设计与制作是网页吗直播网站开发价格
  • 上海外贸网站建设公司上海静安网站建设
  • 百度网站地图提交做h5动画的素材网站
  • 云虚拟主机建设网站一定要域名深圳网站建设罗湖
  • 咨询服务类网站建设优化方案英语必修三
  • 网站logo设计标准网站详情一般是什么公司做
  • conda命令速查
  • 用flash做的网站欣赏宁波网络推广运营公司电话
  • 网站的后台登录注册怎么做平台型网站建设方案
  • 深圳做微商网站公司WordPress不同尺寸图片
  • 重庆最好的网站建设公司外贸网站建设 蚂蚁 深圳
  • 手机网站设计案例吉林省吉林市为什么名字一样
  • 做网站用php还是html好建设部网站公示
  • 烟台北京网站建设公司wordpress企业模板主题
  • 河南网站网站建设个人网页设计师
  • 淮安做网站的公司一起做网站17杭州女装
  • 培训门户网站源码wordpress交互主题
  • 提升网站建设品质信息公司的网站建设哪家比较好
  • 如何迁移wordpress网站网站开发php还是jsp
  • 教育网站建设的策划网站建设中ftp起什么作用