Simulink嵌入式自动代码DSP F28335(3)——ePWM模块详解及应用例程


简述

本文以C2000硬件支持包F2837X的ePWM模块为例进行介绍,内容与F2833X模块相差不大,部分设置页面有少许差异。第二段将进行应用实例介绍:①一路带死区输出(20kHz,占空比50%②两路同步输出
基本设置和重要地方进行加粗标黄显示
阅读本文前先对ePWM模块有些了解,建议查看官方数据手册。
在这里插入图片描述

图一

1、模块介绍

1.1 General界面

在这里插入图片描述

图二
  1. Module:选择所使用的ePWM模块。F28379D可选16路ePWM模块。
  2. ePWMLink TBPRD:使当前ePWM模块链接到另一个ePWM模块,以获得另一ePWM模块的计时器周期值。(C2000系列部分处理器有这个功能)
  3. Timer period units:以时钟周期或以秒为单位确定计时器周期值。(为减小误差,获得最佳结果,建议选择时钟周期)
  4. Specify timer period via:填写计时器周期的方式,可以选择通过对话框填写或者输入端口确定。(如果计时器周期不变,可以选择通过对话框填写specify via dialog,如果选择输入端口input port,需要填写计时器初始周期值Timer initial period)
  5. Timer period:确定计时器周期值,当3[Timer period units]选择时钟周期时,此处单位为时钟周期步长(对于200MHz的F28379D,1=5ns);当3选择秒时,此处单位为秒。参数设置参考7[Counting mode]。
  6. Reload for time base period register(PRDLD):选择何时更新计时器周期值,默认计数值等于0时更新,也可选择同步事件或是立即更新。
  7. Counting mode:默认增减计数,也可选择增计数是减计数。
    在这里插入图片描述
图三
  • 如果选择增减计数:
    EPWMCLK =200MHz,所以TBCLK=5ns,如果想得到10kHz计时周期(载波频率
### 关于Simulink嵌入式自动代码生成中针对DSP F28335ePWM模块 #### 文件模型建立 在构建用于自动生成代码Simulink模型时,对于ePWM模块应用主要集中在如何配置该模块以实现特定功能。例如,在创建输入部分时,可以利用信号发生器或其他外部输入来模拟实际应用场景中的需求[^1]。 #### ePWM配置细节 为了正确配置ePWM模块,需注意几个关键参数: - **计数模式**:可以选择向上计数、向下计数或是上下双向计数等方式。 - **比较动作**:定义当计数值达到预设阈值时应采取的动作,比如改变输出状态等。 - **死区时间控制**:这对于防止同一桥臂上的两个开关管同时导通至关重要,可通过调整Dead-Band Elimination (DBE) 寄存器完成设置。 这些配置可以通过MATLAB命令行或图形界面来进行设定,并最终体现在所生成的C代码之中。 ```matlab % 设置ePWM模块的相关参数 epwm_module.TBPRD = 1999; % 设定周期寄存器TBPRD的值为2000个系统时钟周期 epwm_module.CMPA.halfCntVal = 750; % CMPA寄存器值对应半个周期内的脉宽位置 ``` 上述代码片段展示了如何通过MATLAB脚本方式对ePWM模块的主要属性进行初始化配置。 #### 实际案例分析 在一个具体实例中,假设目标是实现空间矢量调制(SVPWM),那么除了基本的硬件资源分配外,还需要精心设计算法逻辑并将其映射到相应的软件结构上。这通常涉及到多个子系统的协同工作,如坐标变换计算单元、扇区分割判断机制以及最后的实际占空比输出环节等等。
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值