01DSP学习-了解DSP外设-以逆变器控制为例

(由于是回忆自己简单的DSP学习过程,所以博客看起来有些没有章法,请见谅~)

上一篇博客介绍了学习DSP需要的软件和硬件准备,以及一个DSP的工程包含了哪些东西。我的学习方法是目的导向,即我需要用什么我就学什么,并没有打算像背词典一样去学习DSP。

那么既然是目的导向,我们首先需要了解DSP有哪些是我们需要用到的,然后再去学。这些推荐直接看芯片的数据手册。

我本身是学习电力电子的,所以我就以实现一个逆变器控制为例,来说明

EPWM模块

电力电子技术中最关键的就是PWM,因此首先需要学习如何产生固定频率的PWM波,C2000系列的EPWM模块专门针对电力电子控制做了优化,有丰富的预设配置,例如死区、互补、增减技术方式。具体地在如何使用EPWM模块的时候再进行记录。

ADC模块

数模转换模块。逆变器控制需要采集实际系统中的电压和电流等电气量,无论是使用霍尔传感器还是互感器,均需要经过调理电路将待采集的电气量转化为DSP的ADC能够采集的弱电压。

IO模块

在逆变器并网过程中,需要通过数字输入输出,也就是数字I/O模块来控制电平。例如,需要通过控制继电器的开关来控制接触器,从而实现并离网的开关切换。再例如,需要通过LED灯来指示程序的运行状态。

定时器模块

定时器模块则是一个计数模块,用于产生中断,从而在固定的阶段完成固定的任务。但是DSP中,EPWM模块本身也可以出发周期性的中断,所以在简单的应用中直接使用EPWM模块也可以代替定时器模块。如果不同的任务中断频率不同,则需要借助于定时器模块。

SCI串口模块

串口模块本身不用于逆变器的控制,但是在我们的调试过程中,需要在程序运行时去观察一些变量,如果采用CCS的Debug也是可以实时观察变量,利用Graph还可以将变量绘制成图。但是在线调试也有一些不足,比如:①无法离线运行时观察变量;②Graph无法同时显示两个变量;③停止运行后无法观察历史波形;④Graph需要观察数组中的值,占用DSP的RAM资源;以上缺点促使我们学习用串口将DSP中的数据发送出来,并通过上位机保存,便于我们实时观察波形和观察历史波形。

DAC模块

当我们验证逆变器算法时,有些变量我们需要通过示波器记录下来,例如逆变器的输出电压的相位,这些在DSP中是数字量,我们需要将它转换成具体地电压波形,在示波器中观察。因此,需要利用DAC模块将数字量转换为模拟量。

其他模块

除了以上介绍的外设,DSP中还有一些外设,例如IIC、SPI、CAN等等用于接片外外设或者通信的模块。还有CLA等控制加速的模块、还有CLB灵活控制PWM的模块,对于初学者而言,不需要着急掌握,需要用时再去了解就好啦(我认为)。

相关推荐
一隅论数智5 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi20165 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本5 天前
离散数学第六课
学习·离散数学
AI职业加油站5 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
旖旎夜光5 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊5 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
霍霍的袁5 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
彧azz5 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
我爱cope5 天前
【操作系统 | 计算机硬件:CPU、内存与 I/O 如何支撑操作系统?】
学习·操作系统