Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

这篇具有很好参考价值的文章主要介绍了Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本人了解到电动汽车中 OBC和 DCDC 普遍使用TI (德州仪器)DSP 28335和 28035系列芯片 做开关电源控制,电源领域的 工程师 需要对于芯片的配置和 配套软件Code Composer Studio (CCS)有一定的熟悉程度,具体涉及到C语言的编写和 代码管理。在如今追求时效的大环境下, 手打代码 已不适应这样的工况(特别是版本迭代时)。

现如今可以 使用MATLAB中的simulink模块 对DSP TI 28x系列芯片做详细的配置, 即使 使用者在 无代码编写经验仍能直接导出工程 和代码

本文可能适用于

        使用Simulink 简化管理代码应用层,配置底层的 DSP工程师

        入门电源行业的 应届大学生

        无 C 语言基础的 相关领域的工程师

打开官方Simulink的例程{ADC-PWM同步中断}

例程总体思路:

1.ADC开始采样

2.ADC结束采样,触发 采样结束中断,进入中断服务函数(PWM函数)

3. PWM函数运行, 计数器=周期值(CTR=PRD),触发ADC-A模块的 开始转换 事件。

4. ADC 又开始采样,形成闭环

步骤1

打开simulink

步骤2

打开 simulink库,找到 Ti 配套的simulink子库(如不会配置请查阅此文章) 当然MATLAB版本越高越好。

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 步骤3

 打开任意一个模块 的 帮助文档 ,Help 

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

步骤4

点击examples ,点击modeling,第二个就是我们 今天要讲解的 { ADC-PWM同步中断 }官方例程

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 例程讲解

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 打开例程是这样的一个框图,

左边是 硬件中断,点进去显示的是 CPU interrupt numbers 和 PIE interrupt numbers,这是什么意思呢? 我们点击help 查看就知道了

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 在 Help 文档中我们查找到 PIE中断对应的 是  ADCINT1 ,意味着此中断是由 ADCINT1 触发的Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

至于 simulink task priorities 参数,是用于设置中断优先权的,用于多个中断触发时,优先处理哪个中断(比如 ADC中断和 PWM中断同时触发时,可以通过设置 优先处理 ADC中断)

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 中断触发后,会执行什么样的 中断服务函数呢?我们点进 右边的 function子模块看看

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}ADC模块中 

conversion mode  选择 Sequential——顺序采样(若选择simultaneous ——同步采样)

勾选Post interrupt at the end of conversion——在 采样结束 时触发中断(回到上一步中的PIE中断

 Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 点开PWM模块(Event Trigger),勾选使能 PWM模块 在 计数器=周期值(CTR=PRD) 对ADC-A 模块 开始转换事件(通过设置 First event,第一事件/第二第三事件 可以排列ADC采样事件触发顺序)

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

输出C代码和CCS工程

本例程适用于F2833x系列,如需要换成F28035芯片,请在 对应芯片的库文件中调用对应模块 替换配置即可。

这里 打开 Hardware Settings ,勾选相应选项,方便后续查看代码

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 这里建议使用Build,不建议点击右边这个(右边是直接烧录到硬件里面的)Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 点击这两个 ert main c 链接,跳转matlab界面Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

在 文件夹中显示 ,在此文件夹中 即可找到CCS project,随后导入CCS软件即可

Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}

 文章来源地址https://www.toymoban.com/news/detail-408713.html

 

 

最后梳理一下 整个程序流程

1.ADC开始采样

2.ADC结束采样,触发 采样结束中断,进入中断服务函数(PWM函数)

3. PWM函数运行, 计数器=周期值(CTR=PRD),触发ADC-A模块的 开始转换 事件。

4. ADC 又开始采样,形成闭环

结语:

都看到这里了 ,不妨在评论区讨论一下吧,(#^.^#)

 

 

到了这里,关于Simulink嵌入式自动代码生成DSP 28335/28035/28x系列 (1)——官方例程(1)讲解 {ADC-PWM同步中断}的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [FOC-Simulink]使用Simulink代码生成工具基于STM32开发板对永磁同步电机进行开环控制

    代码链接:【免费】使用Simulink代码生成工具对永磁同步电机进行开环控制资源-CSDN文库 本文介绍使用Simulink代码生成功能在STM32开发板平台上运行永磁同步电机。 硬件基础: Nucleo-G431RB开发板 X-NUCLEO-IHM07M1驱动扩展板 57BLDC-24V-210W时代超群直流电机 软件基础: MATLAB 2022b 安装

    2024年02月13日
    浏览(40)
  • 使用Simulink代码生成工具基于STM32开发板对永磁同步电机进行开环控制

    代码链接:【免费】使用Simulink代码生成工具对永磁同步电机进行开环控制资源-CSDN文库 本文介绍使用Simulink代码生成功能在STM32开发板平台上运行永磁同步电机。 硬件基础: Nucleo-G431RB开发板 X-NUCLEO-IHM07M1驱动扩展板 57BLDC-24V-210W时代超群直流电机 软件基础: MATLAB 2022b 安装

    2023年04月14日
    浏览(61)
  • 嵌入式软件调试与验证4自动重现和分析嵌入式软件中的Bug

    嵌入式软件的重要性逐年增加。ISO26262标准的最高安全级别要求十个9小时内无故障运行。然而,历史上的一些项目表明,即使进行了全面的测试,多年来仍有许多错误未被发现。航天飞机的控制计算机仅有50万行源代码,却经过了长达8年的测试,每行源代码耗资1000美元,即总

    2024年02月08日
    浏览(52)
  • 嵌入式软件自动化测试介绍

    什么是嵌入式测试 嵌入式软件测试的概念似乎没那么大众,很多人从字面上理解,可能会以为这是个硬件测试,那么嵌入式测试实际上是什么呢? 根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置的简称”。而嵌入式

    2024年02月02日
    浏览(32)
  • 【ARM 嵌入式 编译系列 10.4 -- 生成二进制文件】

    在嵌入的工作中,经常会使用到二进制文件,那么我们如何自己生成一个二进制文件呢?接下来介绍如何将一个只包含将32位数据的文件转化为二进制文件,原文件如下(数据一共 64bytes): 我们使用 gcc 对齐先进行编译然后再进行反汇编: 具体命令如下: 通过上面命令会生成

    2024年02月02日
    浏览(52)
  • 嵌入式代码查看分析利器---Understand

      平时在开发嵌入式程序的时候大多数使用的都是keil软件,一般小的工程使用keil没感觉到有什么问题,但是当工程比较大的时候,比如移植了FreeRTOS系统或者LWIP网络系统时,代码全部编译一次就要花费很长世间,特别是开启了点击函数右键跳转的功能之后,速度更加慢。

    2024年02月01日
    浏览(98)
  • 【蓝桥杯嵌入式】蓝桥杯嵌入式第十四届省赛程序真题,真题分析与代码讲解

     🎊【蓝桥杯嵌入式】专题正在持续更新中,原理图解析✨,各模块分析✨以及历年真题讲解✨都已更新完毕,欢迎大家前往订阅本专题🎏 🎏【蓝桥杯嵌入式】蓝桥杯第十届省赛真题 🎏【蓝桥杯嵌入式】蓝桥杯第十二届省赛程序真题 🎏【蓝桥杯嵌入式】蓝桥杯第十三届省

    2023年04月15日
    浏览(99)
  • 嵌入式 QT纯代码设计UI

        目录 1.1 实例功能 1.2 界面创建 1.3 界面组件的创建与布局 1.4 信号与槽的关联 UI 的可视化设计是对用户而言的,其实底层都是 C++ 的代码实现,只是 Qt 巧妙地进行了处理,让用户 省去了很多繁琐的界面设计工作。   由于界面设计的底层其实都是由 C++ 语言实现的,底层

    2024年03月09日
    浏览(52)
  • 驶向专业:嵌入式开发在自动驾驶中的学习之道

    导语: 自动驾驶技术在汽车行业中的快速发展为嵌入式开发领域带来了巨大的机遇。作为自动驾驶的核心组成部分,嵌入式开发在驱动汽车的智能化和自主性方面发挥着至关重要的作用。本文将探讨嵌入式开发的学习方向、途径以及未来在自动驾驶领域中的展望。   一、学习

    2024年02月14日
    浏览(41)
  • 自动驾驶嵌入式开发工程师:车载SOC开发修炼秘籍

    声明:本文档是博主在开发学习过程中写的笔记,本意是便于以后开发复盘,参考《 ug1144-petalinux-tools-reference-guide》、《ug1085》、黑金Zynq UltraScale+ MPSoC 5EV开发板资料、英伟达官方资料。 大佬勿喷 大佬勿喷 大佬勿喷!!! 赛灵思芯片在自动驾驶领域的应用:Xilinx/AMD提供了成

    2024年02月07日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包