在PSIM环境中实现TI F2833X DSP自动代码生成

Psim2019-02-10 12:34:25

PSIM软件的SimCoder模块,联合F2833X硬件目标板,可以生成基于TI F2833x系列浮点运算DSP的可执行代码。

本教程一步步地演示了如何在PSIM中生成代码,编译并上传至CCS,以及在DSP中运行的全过程。

    本文以TI 1-ch DC/DC buck.psimsch为具体案例演示上述过程,该案例位于PSIM安装目录examples\SimCoder\F2833x Target\TI 1-Ch DC-DC下。

1. 配置PSIM自动代码生成环境

在PSIM中打开原理图文件TI_DC_DC_Buck_1_ch.psimsch,如下图所示:

与不用于自动代码生成的电路进行相比,该电路包含了F2833x目标板器件库中的元器件模型。这个电路用到了F2833x目标板器件库中的两个元件:一个16位的A/D转换器和一个单相PWM发生器。F2833x目标板元件库的路径是Elements >> SimCoder >> F2833x Target,如下图所示:

在菜单栏选择Simulate >> RunSimulation,可以对电路进行仿真。

第一步:设置仿真控制参数

执行代码生成前,需要先定义CCS的环境配置。双击Simulation Control,Hardware Target设置为F2833x,点击下拉菜单,在四个选项中选择一个工程设置,本例选择RAM Debug模式,如下图所示:


在RAM Debug模式下,可以很方便地调试程序,并不需要将程序代码烧写入Flash存储器中。

第二步:生成代码

点击Simulate >> Generate Code,生成代码。生成的代码可以在独立的窗口中显示,如下图所示:


PSIM不仅可以生成C代码,也可以生成必须的工程配置文件,支持四种配置模式:RAM Debug、RAM Release、 Flash Release和Flash RAM Release。工程文件及附属文件存储在\TI 1-Ch DC-DC\ TI_DC_DC_Buck_1_ch (C code)子文件夹路径下。


2. CCS配置

PSIM生成的工程文件是给CCS v3.3用的,如果使用的是CCS v3.3版本,那么可以直接打开工程文件,而如果是CCS 4或更高的版本,则需要使用CCS的Import Legacy v3.3 Project功能。下面采用CCS v5.5演示下载并调试上述案例的方法。

第一步:向CCS中导入工程项目

启动CCS v5.5,如果是第一次加载工程文件,需要通过菜单栏Project >>Import Legacy CCSv3.3 Project,将CCS v3.3的工程文件转换成CCS v5.5。在弹出的对话框中,点击"Browse..."按钮,选择C:\TI 1-Ch DC-DC\TI_DC_DC_Buck_1_ch (Ccode)\TI_DC_DC_Buck_1_ch.pjt,然后点击"Next"按钮。

出现下面的对话框后,点击"Finish"按钮启动工程转换。

转化后的工程文件会自动加载,在CCS中显示如下图所示:

需要注意的是,该工程项目的配置模式是RAM Debug模式,在这种模式下,所有的程序和数据都会加载到RAM存储器中。

第二步:编译代码

在工程浏览窗口,右键点击工程名TI_DC_DC_Buck_1_ch,在弹出的菜单选项上,点击Build Project,编译工程文件。或者在工程浏览窗口点击工程名,将该工程选定为当前工程(文件名变为黑体),然后选择Project >> Build生成工程或者选择Project >> Rebuild重新生成整个工程项目。编译完成后,CCS显示下面的界面:

当程序没有存储在flash中时,会显示警告信息,可以忽略警告信息。注意:如果采用CCS v7.0或更高的版本编译工程文件,会显示以下错误信息:

Product ‘XDAIS’ v1.0.0 is not currently installed and no compatible version is available. Please install this product or a compatible version.


右键点击该工程文件,选择Properties,可以定位错误信息。在下面对话框中,点击左侧菜单的General,选择Products,如下图所示:

不要勾选XDAI,再次编译。

第三步:配置目标板

向目标板加载程序之前,需要创建一个目标板。本例采用TI TMS320F28335控制板。菜单栏选择View -> Target Configurations,鼠标右键点击User Defined,在弹出的窗口中选择New TargetConfiguration。


将文件名修改为自己需要的(本例中为F2833x),点击Finish按钮,生成的文件扩展名为ccxml。


在Connection下拉列表框中,选择使用的仿真器的类型(本例采用Spectrum Digital C2000 XDS510LC Emulator),然后在Board of Device下拉列表中勾选TMS320F28335,点击Save按钮保存整个配置。

返回到Target Configurations对话框,鼠标右键点击F2833x.ccxml配置,在弹出的菜单中移动鼠标至Link File to Project,所有的工程以子菜单的形式显示。选择工程TI_DC_DC_Buck_1_ch并将F2833x.ccxml添加至工程中。工程显示窗口如右图所示。

3.硬件目标板设置

将TI的控制板插入到2通道DC/DC降压变换器套件(TMDSDCDC2KIT)中,如下图所示:

将板上的J1端口与JTAG仿真器连接,然后再将JTAG仿真器与电脑上的USB端口连接。板子接通电源后,打开开关SW1和SW2,SW3可以显示通道1和通道2的输出。设置SW3为通道2的位置。

4、在DSP目标板中运行代码

   第一步:加载代码到DSP目标板中

在CCS中选择工程TI_DC_DC_Buck_1_ch作为当前工程(黑体显示),选择Run >> Debug将计算机和DSP连接。如果连接成功,程序会自动加载到目标板中,F28335 DSP会自动复位并运行至主程序的起始位置,如下图所示。


第二步:上传代码至DSP中(Flash版本)

生成的工程有四种配置选项:RamRelease、RamDebug、FlashRelease和FlashRamRelease。RamRelease和RamDebug配置模式下,程序会被上传至DSP RAM区域,而FlashRelease和FlashRamRelease配置模式程序则会上传至DSP的Flash存储器中,并且FlashRamRelease配置模式会自动地将代码复制到RAM中,所有代码在RAM中运行。若想采用不同的配置,可以在工程浏览窗口鼠标右键点击工程名,在弹出的菜单中移动鼠标至Build Configurations处,选择需要的配置模式,如下图所示。

修改配置后,需要重新编译,然后以上述同样的方法将代码上传至DSP中。

第三步:在DSP中运行代码

可以采用工具栏的Debug窗格在DSP中运行程序,如下图所示,从右至左,依次是stop、step into、step over和step return。

第四步:采用PSIM中的DSP示波器查看波形

代码在DSP目标板中运行后,生成变流器3.3V (+/-0.05V)的输出,此时可以采用PSIM中的DSP示波器功能查看DSP中的变量,控制变流器的输出电压。

要利用PSIM软件的示波器查看DSP波形,需要连接硬件目标板的SCI端口与计算机,步骤如下。

启动PSIM,选择Utilities >>DSP Oscilloscope,调用DSP示波器,如下图所示。

在示波器窗口,点击左侧的Connect按钮,窗口左侧将会列出所有的SCI输出和输入变量名,如下图所示。

如果要改变DC/DC变换器的输出电压,可以修改Vref的值为2,点击Update按钮,变换器的LED显示将会变为一个新数值,下图波形显示了Vref的新值。


Copyright © 古田计算器虚拟社区@2017