Board logo

标题: 基于TMS320F2812的产品预置参数在线调试研究 [打印本页]

作者: 520503    时间: 2014-5-13 20:08     标题: 基于TMS320F2812的产品预置参数在线调试研究

0 引言
目前,各种光电设备被广泛地应用于军事领域和公安、消防以及环境监控等民用领域,它们在目标侦察、监视、预警、定位、导航、通信等场合起着重要的作用。随着需求的增加,机载光电设备的批量生产中由于元器件和结构装调导致的个体差异造成了每个设备的程序进行适当的参数调整,为了产品的规范管理,本文通过上位机调试界面进行参数设置,并烧写到伺服控制DSP中。
TI公司推出的32位定点DSP控制器TMS320F2812,整合了DSP和微控制器的最佳特性,频率高达150 MHz,是一款高性能32位控制专用芯片。采用它可以大大提高伺服系统的控制精度和速度。在存储器方面,TMS320F2812包括128 KB 的FLASH Memory、18 KB 的片上RAM 和4 KB 的BOOT ROM.在产品研发和生产阶段需要将用户程序烧写到FLASH 存储器中,以实现用户程序的脱机自动运行。当系统需要更新参数时,传统的方法是通过实地取下设备,连接仿真器来更新程序数据,尤其在户外等较为复杂的场合,直接取下设备、连接仿真器存在较大困难,有时甚至难以实现,此时通过上位机发指令的方法来更新程序中的数据就显得尤为方便。
1 TMS320F2812 FLASH 烧写介绍
TMS320F2812 FLASH 为了用户使用方便,提供了专用的针对FLASH操作的库文件及烧写步骤。用户在使用FLASH 用户编程接口时必须使用Flash2812_API_V100.lib库文件,然后按照以下步骤进行:
(1)修改Flash281x_API_Config.h文件,此文件中主要是设置根据DSP的时钟频率;
(2)将Flash281x_API_Library.h文件加入到工程中;
(3)将Flash2812_API_V100.lib 文件加入到工程库文件中;
(4)初始化PLL 控制寄存器(PLLCR);
(5)将FLASH API功能拷贝到内部SARAM中;
(6)初始化Flash_CPUScaleFactor;
(7)调用擦除、写入、检查功能进行参数的烧写;
(8)返回主程序。
2 硬件
本文提出了一种通过双口RAM与上位机通信来实现程序中参数更新的方法,该系统中DSP接收上位机发送控制指令及参数,根据指令执行不同的功能。DSP 接收控制指令,若程序不需更新,则直接跳转到其他应用程序入口;若参数需要更新,则调用更新服务程序,接收待更新数据、烧写FLASH,复位、跳转到应用程序入口。硬件框图如图1所示。


3 软件
3.1 软件流程
DSP程序通过仿真器烧写到FLASH,其功能为:实现读取双口RAM数据并判断、烧写FLASH、复位跳转。
软件流程图如图2所示。


3.2 读取及处理双口RAM数据软件
DSP读取外设双口RAM中上位机发送的指令及参数,根据协议读取固定地址的指令和参数,为了数据读取的可靠性,指令和参数均重复写在不同的三个地址,通过三判二,保证指令的可靠性。
3.3 对片内FLASH的擦除、写入操作软件
3.3.1 对片内FLASH的准备
得到需要修改的参数值之后,需要将数据写入FLASH存储器进行永久存储。由于FLASH存储器必须以扇区为单位进行擦除和写入操作,因此必须对cmd文件进行相应的配置,使参数值单独放在一个扇区中,代码存储在其余的扇区中。把需要修改的数据值单独放在J扇区。
3.3.2 片内FLASH修改流程
把需要修改的数据值单独放在了J扇区,且J扇区中不再存储其他任何内容。这样,就可以对J扇区进行各种操作,而不用担心对系统的代码或数据产生影响了。
为了对FLASH进行操作,需要用到TI为DSP2812提供的FLASH操作API函数库:Flash2812_API_V210.lib.这个库中包含了操作FLASH 的3 个重要函数,Flash_Erase,Flash_Program和Flash_Verify.写入完成后,程序切换到正常工作状态。将参数值写入FLASH的软件流程如图3所示。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0