1.长文分享丨TI AM5718的源码PRU开发详解
2.TI DSP系列中文手册:TMS320C55x系列DSP指令系统、开发工具与编程指南目录
3.2.1软件架构分析-新建工程
4.TIOVX 源码学习: openvx理解
5.如何从零自学逆变器控制(一)
长文分享丨TI AM5718的解读PRU开发详解
揭示TI AM PRU开发的深度解析 在TI AM这款强大的SoC中,PRU-ICSS单元发挥着关键作用,源码通过实时定制实现产品差异化。解读PRUSS是源码一个独特的位RISC处理器,配备专属内存,解读c ocr 源码直接连接到L3_MAIN总线,源码ARM和DSP等其他模块也可通过它进行高效通信。解读每一块PRU拥有位互连,源码KB指令RAM,解读8KB数据RAM和B共享内存,源码数据RAM通过映射地址供其他模块访问。解读 PRU-ICSS的源码基石组件 PRU-ICSS包括两个部分,icss1和icss2,解读它们分别具备电源域实例化、源码主控和配置端口,中断控制器,以及本地时钟管理等实用功能。其中,内存映射如下:1.1 独立指令空间(0x-0xFFF)
1.2 8KB数据RAM(0x-0xFF,其他模块可访问)
1.3 全局地址空间:PRU_ICSS1位于0x4B2A,PRU_ICSS2位于0x4BE
外部模块通过L3_MAIN总线的全局地址访问PRU资源,实现无缝交互。 关键寄存器详解 PRU寄存器世界中,控制和状态至关重要。例如:PRU_CONTROL:掌控PRU的远程锁机源码运行模式和状态。
PRU_STATUS:程序指针寄存器,实时反映PRU运行进度。
WAKEUP_EN:通过设置R位和相应的唤醒信号,唤醒沉睡的PRU。
CYCLECNT:以PRU时钟周期计数,COUNTENABLE和CONTROL指令起决定作用。
STALLCNT:记录PRU执行指令时的暂停计数。
PRUSS_DBG_GPREG:调试通用寄存器,对应R0-R,用于深入了解PRU工作。
R事件/状态寄存器:读写操作各异,用于触发中断输出,执行特定功能。
R通用输出寄存器:连接到PRU的外部接口,输出数据。
PRU中断控制器:支持个系统事件和个中断通道,高效管理中断流程。
中断映射:通过PRUSS_INTC_CMR和PRUSS_INTC_HMR进行通道和事件的配置。
深入探索,飞凌嵌入式OK开发板提供了丰富的实例源码,如7.4和7.5节的官方文档和飞凌示例程序,助您快速上手。 软件调试实战 想要驾驭PRU,你需要强大的调试工具。使用XDSV2 USBJTAG仿真器,spring源码编译报错通过飞凌调试适配板连接JTAG接口,为你的PRU代码保驾护航。在CCS仿真器中,你可以进行如下操作:全速运行或暂停程序
单步执行,选择进入或跳过函数
汇编级别单步跟踪
监控变量和寄存器值,通过Watch Expression进行实时查看
当进入调试模式,你可以观察到GPIO值变化,以及R寄存器的实时更新。这样,每一次调试步骤都将揭示PRU运行的奥秘。 深入了解更多详情,请参考[1],探索PRU在AM中的无限可能。AMx Technical Reference Manual
TI DSP系列中文手册:TMSCx系列DSP指令系统、开发工具与编程指南目录
TI DSP系列的TMSCx系列DSP指令系统、开发工具与编程指南提供了一个详细的入门指南。以下是文章的主要部分概述: 第1章,Cx编程基础,首先介绍了TMSCx的结构和优化代码开发流程。本章包括:1.1.1 TMSCx的硬件架构
1.1.2 优化代码开发的关键步骤
1.2 基础教程,从编写汇编代码开始,涵盖链接过程、程序建立、测试和代码计时等
1.3 定点算术运算,涉及不同运算的网站源码授权原理指南和处理溢出的方法
1.4 TICx DSPLIB,讲解了库的功能、数据类型和调用方法,以及示例程序的获取途径
第2章详细阐述了Cx汇编语言指令系统,包括术语、寻址方式和开发工具的介绍,如不可重复指令、并行特性和资源管理等。 第3章专注于开发工具,如COFF格式、汇编器和链接器的工作原理,以及如何使用Cx汇编器进行源代码处理。 第4章和第5章则介绍了Cx/C++语言的使用以及代码优化技术,帮助开发者在性能和编程效率之间找到平衡。2.1软件架构分析-新建工程
为了深入理解BUCK电路的软件架构,本章节将专注于软件部分,同时穿插一些可能影响软件设计的硬件知识点。本小节将介绍所需的软件平台、新建工程,并对工程文件进行分析。
首先,你需要下载并安装两个软件,分别是TI官方提供的CCS软件和controlSUITE软件。我已经将CCS6.1版本上传至网盘,链接如下:pan.baidu.com/s/1v-T9Fr... 提取码:tc9b。请注意,php表单录入源码遇到安装问题时,可以参考百度。TI官网也提供较新版本的CCS软件,供你下载。
接着,获取TI开源BUCK demo板中的FM软件。你可以通过TI官网下载最新安装包,或者从网盘下载controlSUITE软件安装包。控制SUITE软件安装包链接如下:pan.baidu.com/s/1mWNNj7... 提取码:1nhi。之后,在安装目录找到BOOSTXL_BUCKCONV目录,最新的版本路径为:ti\controlSUITE\development_kits\BOOSTXL_BUCKCONV\v1___\Buck_VMC_FM。建议不要在该目录下直接打开工程,而是复制到个人工作文件夹进行编辑和修改。
接下来,在安装完软件平台后,使用CCS软件新建工程,探索神秘的源代码。首先,双击CCS软件图标,创建一个workspace目录,用于存放软件工程。然后,导入TI提供的代码工程,选择Project->Import CCS Projects,确保勾选“Copy projects into workspace”,完成导入,查看弹出的工程。
在工程文件中,首先双击CCS软件图标,创建一个workspace目录,以存放软件工程。在导入TI提供的代码工程时,通过点击Project->Import CCS Projects,注意确保“Copy projects into workspace”选项被选中,点击Finish即可查看工程。此时,可以显示工程文件,后续章节将详细介绍文件内容。
完成工程文件导入后,点击Project->Build All,开始编译,确保生成OUT文件。对于CCS软件中的文件夹和文件,本小节将进行简要说明。在下一节,我们将深入分析整体软件框图和相关实验验证过程。
TIOVX 源码学习: openvx理解
学习TIOVX源码的关键在于理解其原理和实际应用。首先,需要参考专业资源了解OpenVX和TIOVX的基本概念。OpenVX是一种基于硬件抽象层的图像处理框架,其目的在于在不同硬件平台上提供统一的API接口,而TIOVX则是对OpenVX标准的实现,特别强调在DSP上的自定义开发。
在TIOVX中,用户可以利用User Kernel扩展OpenVX的功能,但仅限于CPU环境。为了弥补这一限制,TIOVX引入了Target Kernel概念,允许用户在DSP上进行自定义开发,从而提升特定任务的性能。
理解TIOVX源码时,可以从官网教程出发,通过官方提供的示例来掌握Target Kernel和User Kernel的编写、调度及生命周期管理。这包括在AddUserKernel中指定运行前、运行时和运行结束后执行的函数。
在实际应用中,TIOVX与OpenCV类似,都专注于图像处理,涉及上下文(Context)、图(Graph)和节点(Node)等概念。了解AppObj结构体,有助于更深入地理解TIOVX的内部运作。AppObj包含运行各阶段所需的变量,如TIDLObj用于管理网络参数、ImgMosaicObj用于图像参数、DisplayObj用于显示参数、ScalerObj用于图像列表相关变量。
为了更高效地学习和应用TIOVX,建议从TI官方提供的例子出发,详细阅读文档,理解结构体嵌套关系,以便在具体项目中调用API时更加得心应手。通过这些步骤,可以逐步掌握TIOVX源码的核心内容及其在实际项目中的应用。
如何从零自学逆变器控制(一)
如何从零开始自学逆变器控制
要掌握逆变器控制,首先需了解理论知识。掌握功率拓扑原理,包括Buck、Boost电路和全桥逆变电路,理解驱动和PWM占空比计算,虽然软件部分可以依赖硬件提供的系数,但《数字信号处理》和《自动控制原理》是基础课程。数字信号处理涉及拉氏变换和离散化,逆变器中的滤波器主要是一阶低通和陷波器。自动控制原理则讲传递函数,重点理解PID中的PI控制,推荐使用串联型,编写程序时需通过Z变换和差分方程。
获取资源是关键。选择TI公司的C系列DSP,例如TMSF,从TI官网下载相关资料,如用户手册和SDK库。开始时可从控制一个IO口入手,再逐步深入。CWare库提供例程,旧型号可能需要注册。
学习路径包括理解逆变器的开发套件,如Solar目录下的单相逆变器项目,从原理图和源码入手,同时参考官方的指导文档。掌握基本的单极性或双极性控制,理解控制模式和功率拓扑。
在CCS开发环境中,导入并调试例程,如voltagesourceinvlcfltr.c中的中断程序,理解PI控制参数设计。可以从TI的库中找到逆变器常用的算法,如电压源逆变器的控制。
参数采样是逆变器核心,包括直流电压、交流电压和电流。例如,通过电阻分压法采样直流电压,计算公式预先设定系数简化计算。交流电压采样则用差分电路,计算出合适的系数转换采样值。
电流采样可通过电阻或霍尔传感器,这里以电阻为例,计算电流值的公式同样涉及系数预设。
逆变控制涉及相位生成,如使用斜坡信号乘以正弦函数,以及电压和电流环路的双环路控制。PI控制中,串联型更易于调试,注意中断函数中的函数调用效率。
最后,持续学习和实践,如PID控制的理解,可以参考相关文章深入探讨。通过理论与实践结合,逐步掌握逆变器控制的各个方面。