
F28335
文章平均质量分 88
LEODWL
To Do Something More and Fun......
展开
-
高精度DAC功能板
DAC8563是TI的低功耗、电压输出、双通道、16位数据转换器(DAC)。其包括一个2.5V,4ppm/℃内部基准,提供2.5V或者5V的满量程输出电压范围。内部基准具有 ±5mV 的初始精度,并且可以提供或吸收高达VREFIN/VREFOUT 引脚为 20 mA。这些器件是单调的,可提供出色的线性度并最大限度地减少不需要的代码间瞬态电压(毛刺)。它们使用以高达 50 MHz 的时钟速率运行的多功能三线串行接口。该接口与标准 SPI、QSPI、Microwire 和数字信号处理器 (DSP) 等接口兼容。原创 2022-07-07 11:09:33 · 7219 阅读 · 5 评论 -
温故知新(九)——FPU的开启
DSPF28335的CPU内部包括一个单精度(32位)的IEEE754浮点运算单元(FPU),采用浮点方式进行编程,其效率要比把浮点手动转换为定点的方式高得多。原创 2022-06-01 09:13:43 · 3149 阅读 · 0 评论 -
基于F28335的Simulink代码生成(七)——成果展示
其实这个系列我已经很久没接触了,当初做这个系列的主要目的也是为了自己适时的记录。当然,能够有幸接触到Simulink代码生成这玩意儿也是源于一次合肥出差的经历,所以在这还得感谢合肥智能研究院的薛工,给予了我在代码生成上的快速起步,薛工实乃我心目中的工程老炮!在这篇博客里,我会展示模型的部分组成和相关介绍。原创 2022-04-10 21:10:59 · 3497 阅读 · 22 评论 -
基于F28335的Simulink代码生成(六)——如何修改变量的存储类型
在Simulink代码生成的应用中,我们经常需要用到变量的声明,假如默认拖入一个变量,这个变量在代码中是属于一个结构体的成员,调用的时候需要调用结构体,然而结构体名是与模型的名字有关的。这样的设计着实让人有点难受,极不方便移植给其他主机直接应用。另外,在CCS的变量显示时,我们经常需要通过变量名来查看对应的数值,但是由于SImulink中的常规变量都是结构体类型的,所以每次都需要自己根据结构体名和变量名来输入,操作存在不简明和复杂性。因此本博客介绍了SImulink中如何修改变量存储类型。原创 2022-04-05 20:26:04 · 2205 阅读 · 4 评论 -
基于F28335的Simulink代码生成(一)——搞懂模型的运行逻辑
最近由于一下项目有幸得到一些资料,从而能给我机会快速熟悉快速原型这个玩意儿。这东西说实话确实比工程代码来的方便,但是这仅限于简单一些的工程,另外的话就是对于初学者相对友好,不需要非常深入寄存器的一些知识以及写代码的一些技巧。不过我目前做的一些东西反而让我觉得快速原型并不好用,因为因为他的运行逻辑更像是并行的,而不会像代码中那样从上往下写的串行逻辑。而且模型能实现的东西很有限,为了实现一些模型做不了的事情,必须对寄存器以及代码的东西很熟悉才行。快速原型与我们传统的工程代码编写相比,快速原型的优势我也不再赘原创 2021-11-19 19:54:34 · 3563 阅读 · 2 评论 -
基于F28335的Simulink代码生成(五)——DMA的使用
DMA的使用可以很大程度上减少CPU的运行负担,在前面的文章中,我通过记录的方式,已经将我基于MBD开发永磁电机矢量控制的过程中遇到的一些个问题都写出来了,其实也不算基础教程,就是作为一个对于Simulink较为熟练的人在做MBD中完成一些和底层链接的工作。后期想要的样子肯定是通过通信实现可视化操作的,希望有机会实践。原创 2022-01-12 10:56:22 · 1992 阅读 · 0 评论 -
基于F28335的Simulink代码生成(四)——如何链接可以访问底层文件的外部源文件和头文件
终于找到将外部的C文件链接到底层文件的办法了,我这个C文件有点不同,它内部是需要访问底层文件的。所以该C文件需要链接工程的底层硬件文件。之前一直想通过S Function Builder的lib来链接,但是存在打不开工程内头文件的问题,指明了文件路径已经存在问题。接下来我提供一种新的方法。原创 2021-12-20 16:26:12 · 2210 阅读 · 8 评论 -
基于F28335的Simulink代码生成(三)——EQEP模块获取光电编码器的速度与角度信息
随着对于各种模块的使用越来越深入,逐渐感受到了代码生成的不友好与不完善性。基于一开始的目的,我进行代码生成的目的只是为了解决电机无位置控制中的滤波以及注入的复杂编程才进行的。但是目前代码生成对于底层的链接方式让我感到很不舒服。原创 2021-12-20 13:50:01 · 4414 阅读 · 7 评论 -
基于F28335的Simulink代码生成(二)——EPWM模块同步设置问题
EPWM模块同步输出设置EPWM模块两个概念如何同步所有的EPWM时基的时钟如何同步时基计数器EPWM模块28335由于其强大的浮点运算能力而被广泛用于逆变以及电控等相关领域。PWM作为一种常用的外设功能,其准确的使用对于电控等场合是非常重要的。两个概念对于EPWM,我们在设置好频率以及占空比输入,死区设置后仍然需要进行一些配置,例如中断,又如对于电控的使用,因此就会产生对于EPWM信号的同步需求,那么就会涉及到其时基的配置。ePWM的同步分为两个步骤: 1、时基的时钟同步,同步所有的ePWM原创 2021-12-14 21:53:22 · 6310 阅读 · 2 评论 -
TMS28335下载到片内Flash中并全部搬运到RAM中进行运行
文章目录前言一、将部分函数搬运到RAM运行.二、将所有函数全部搬运到RAM中运行.1.从RAM调试模式到Flash模式2.从Flash模式到RAM调试模式总结文件上传前言本人最近调试好代码后,准备将所有的代码下载到Flash中进行运行,在加入了Memcopy和InitFlash两个函数后,代码的确能正常下载进Flash,但是代码运行的速度远远不如RAM的快,经过实际的测试后,发现Flash比RAM慢了大概30%,这说明我的代码优化还是做的不错的…一、将部分函数搬运到RAM运行.这部分内容的具体.原创 2021-01-04 15:29:41 · 2362 阅读 · 1 评论 -
AD2S1210的使用总结
最近在做永磁电机的驱动项目,在电机设计中最重要的部分就是闭环控制,闭环控制中最主要的变量就是电机在运行过程反馈回来的状态信息。之前项目中使用的都是增量式编码器,由于一些需求,准备改用旋转变压器来测量位置,并利用AD2S1210芯片进行解算来得到电机的电角度和速度。该芯片与DSP之间的通信则只需要用SPI或者并行接口即可....原创 2020-10-14 15:46:31 · 30898 阅读 · 59 评论 -
DSP28335的硬件SPI使用(无FIFO)总结
这两天折腾了一个旋变器解算模块的使用,类似于这种器件一般都是使用通信的方式写入芯片对应的寄存器的数据从而初始化芯片或得到可编程的结果;反之,我们也需要读取其模块、芯片内部经过解算得到的存储内容在SPI的SCLK引导下传输到DSP的硬件SPI内的接收寄存器中。原创 2020-10-05 16:30:23 · 8413 阅读 · 10 评论