【经验】DC/DC数字电源的ADP32F035加载flash程序到ram可提高运行速度
DC/DC数字电源以数字信号处理器DSP作为核心,通过软件算法完成闭环控制,最终实现恒压恒流输出。软件闭环控制要求DSP与更高计算速度,这样数字电源具有更快的动态响应。笔者参与项目30V30A输出的恒压恒流DC/DC数字电源,数字信号处理器DSP选用的是进芯电子的ADP32F035芯片。ADP32F035芯片具有一个32位中央处理单元,最高主频60MHz,理论上指令执行速率为60MIPS,实际上程序存储在闪存FLASH中,从闪存FLASH读取指令存在一个等待周期,按照数据表60MHz主频时等待周期至少为1个时钟周期,如此导致实际的指令执行速率大概是50~55MIPS。
如何在不升级硬件的情况下,尽量提升指令执行速率?进芯电子的ADP32F035还有潜力可挖。将关键的需要快速执行的指令从FLASH加载到RAM中执行,在RAM执行的指令主频60MHz时,执行速率即为60MIPS,因为从RAM中读取指令没有等待周期。
下面介绍一下,存储在ADP32F035的FLASH中的程序如何加载到RAM中执行。
首先,确定哪一部分程序需要加载到RAM中执行。RAM的空间有限,不可能将FLASH中所有的程序都加载到RAM中执行,我们应该选取要求较快执行速度,且频繁调用执行的程序,加载到RAM中执行。以笔者实际项目为例,DC_DC数字电源实时闭环PID计算的子程序需要频繁调用执行,要求以最快的速度执行,因此,设计将DC_DC数字电源实时闭环PID计算的子程序,加载到RAM中运行以提高运行速度。编写程序是,先采用宏指令“#pragma”宏定义子程序pid_calc保存于FLASH代码段“ramfuncs”,其他的函数定义和调用不需要做特殊处理,具体程序如下。
其次,配置CMD文件。CMD文件为程序和数据分配存储空间,划分不同的程序段和数据段。本项目中,增加一个程序段“ramfuncs”,存储在FLASHA区,运行在RAMM0,同时定义三个变量,存储首地址:RamfuncsLoadStart,存储空间尺寸:RamfuncsLoadSize,运行首地址:RamfuncsRunStart,具体文件配置如下。
再次,增加加载程序。配置完CMD文件后,需要在程序初始化阶段,执行加载程序,即本项目中拷贝FLASHA中程序到RAMM0中,代码如下。执行加载程序后,“ramfuncs”程序段中的程序将在RAM中运行。
最后,编译执行。按照上面编写完程序后,编译完成,可以查看 memoty allocation,在RAMM0和FLASHA区域都能查看到“ramfuncs”程序段代码,他们是一一映射,一个是存储区域,一个是运行区域。
在实际项目测试中,笔者分别在两种情况下运行程序,一种情况是“pid_calc”子程序在FLASH中执行,一种情况是“pid_calc”子程序加载到RAM中执行,DSP时钟配置在60MHz,运行中查看“pid_calc”子程序运行所用时钟,前者运行所用时钟为3007个clock,后者运行所用时钟为2893个clock,可见加载到RAM中执行,运行速度有明显的提升。在不升级硬件的情况下,这个提升还是非常有价值的。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由shrek提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】国产DSP ADP32F03x系列使用内部Flash保存变量的步骤
在充电器降本项目中,采用了湖南进芯电子的国产DSP ADP32F035,并采用DSP内部的Flash数据区保存变量,取代了原有的E2PROM芯片。减少了系统物料,降低了成本。 本文介绍一种数据保存方法,通过ADP32F03x内部的Flash保存变量。
设计经验 发布时间 : 2021-03-27
【经验】进芯电子DSP开发环境搭建指南
本文简单介绍进芯电子DSP产品开发环境搭建,基于Eclipse开源集成开发环境支持进芯电子DSP产品,创建新工程,导入旧工程,修改配置,调试测试。
设计经验 发布时间 : 2021-09-24
【经验】国产DSP数字信号处理器ADP32F12中把变量定义在外部RAM的方法
Advancechip(进芯电子)推出的ADP32FX DSP数字信号处理器,进芯电子定点DSP平台上的最新产品。尽管ADP32F12拥有高达18k x 16的片上SRAM,但在某些特殊场合还需要外扩RAM,那么对于外扩的RAM该如何使用,如何将变量定义在外部RAM中,按如下步骤即可实现。 1、 看原理图连接和Memory map。
设计经验 发布时间 : 2019-04-10
Advancechip(进芯电子)DSP数字信号处理器选型指南
目录- 公司简介 数字信号处理器DSP 数字信号处理器应用案例
型号- ADP32X,ADP32F4408系列,ADP32F12,ADP32F10,ADP16X,AVP32F335,ADP32F03X,ADP32,ADP32F035B,AVP32F08,ADP32F08,ADP32X+FPU,ADP32F03X系列,ADP32F1X,ADM16X 系列,ADP32F04,ADP32FX,AVP32,AVP32F069,AVP32F335QP176S,AVP32F335QP176S1,AVP32F335BA176S,DM16X,ADP32FXM-CU,ADP32F035,ADP16F03,ADP16F02,ADP16F01,ADP32F4408,ADP16F06,ADP32F04系列,ADM16F01,ADP32F034
【应用】国产DSP ADP32F034QP80S可兼容TMS320F28034PNT助力于变频器,支持Boot ROM
对于变频器来说,主控制器的处理速度、功耗、资源等,都是比较重要的考虑因素,一般的MCU运算能力都没有DSP快速,因此变频器通常需要采用高性能的数字信号处理器DSP来做其主控制器,推荐了进芯电子的ADP32F034QP80S进行替代备选,性能相近。
应用方案 发布时间 : 2022-04-13
【应用】进芯数字信号处理器AVP32F335QP176S用于自动化配电终端,带有低功耗模式和省电模式
自动化配电终端控制单元的选择,市面上主流的是MCU、DSP,DSP专注于数据处理,有多个ALU,多用于多媒体应用等需要大数据量的地方。本文介绍的方案是使用进芯的DSP AVP32F335QP176S作为主控。
应用方案 发布时间 : 2023-05-31
【应用】数字信号处理器ADP32F034QP80S用于储能逆变器,指令周期16.67ns能在高频调整下更好响应系统需求
本文给客户推荐了Advancechip的一款数字信号处理器ADP32F034QP80S,采用32位内核,主频60MHz,指令周期16.67ns,运行速度快,同时还具备丰富的内部资源和多种通信端口,适合于储能逆变器等高性能高算力要求的主控应用。
应用方案 发布时间 : 2023-07-04
【应用】主频高达150MHz的数字信号处理器AVP32F335助力光伏储能系统,具有高性能32位CPU
进芯的DSP AVP32F335应用在光伏板的逆变电路做控制,通过逆变电路的输出电流采样实时采样反馈到DSP做处理,DSP在根据采样的电流大小调节相对应的驱动频率给到驱动器驱动逆变电路,DSP根据采集到的数据通过无线通信模块上传到云端,用户可以在手机中观察到光伏储能系统的工作数据。
应用方案 发布时间 : 2023-03-22
ADP32F035数字信号处理器数据手册
型号- ADP32F035RSH,ADP32FX,ADP32F035QP80S,ISO1050,ADP32F034PN,ADP32F035PN,ADP32F034PAG,ADP32F035PAG,ADP32F035,SN65HVD235,SN65HVD230Q,SN65HVD231Q,SN65HVD232Q,ADP32,SN65HVD230,SN65HVD234,ADP32F034,SN65HVD233,SN65HVD232,ADP32F034RSH,SN65HVD231
AVP32F0049QP100S、AVP32F0049QP64S、AVP32F0049QN56S AVP32F0049 数字信号处理器数据手册
型号- AVP32F0049,AVP32F0049QP100S,AVP32F0049QP64S,AVP32F0049QN56S
进芯电子国内唯一可批量供货最高主频150Mhz的32位定点、浮点DSP
型号- ADP32F035,ADP32F035QP80S,F28335,F28035,AVP32F335,FXX035,F28033,F28034,ADP32F035QN56S,ADP32F035QP64S,F28030
电子商城
现货市场
服务
支持 3Hz ~ 26.5GHz射频信号中心频率测试;9kHz ~ 3GHz频率范围内Wi-SUN、lora、zigbee、ble和Sub-G 灵敏度测量与测试,天线阻抗测量与匹配电路调试服务。支持到场/视频直播测试,资深专家全程指导。
实验室地址: 深圳/苏州 提交需求>
提供是德(Keysight),罗德(R&S)测试测量仪器租赁服务,包括网络分析仪、无线通讯综测仪、信号发生器、频谱分析仪、信号分析仪、电源等仪器租赁服务;租赁费用按月计算,租赁价格按仪器配置而定。
提交需求>
登录 | 立即注册
提交评论