DSP TMS320F2812程序的远程升级方法

发布者:脑力驿站最新更新时间:2009-11-19 来源: 单片机与嵌入式系统 关键字:TMS320F2812  DSP  程序远程升级 手机看文章 扫描二维码
随时随地手机看文章
    TMS320F2812(简称F2812)是TI公司推出的C2000系列性能最高的一款芯片,也是目前DSP领域最先进、功能最强大的32位定点DSP芯片。它既具有数字信号处理能力,又具有强大的事件管理能力和嵌入式控制功能,其片内自带了128 K字的Flash,可以将程序直接写入片内运行,开发和使用都非常方便。自推出以来,已被国内的各行业的开发工程师用于开发各种先进的监控产品。各种监控产品在线运行时,难免会发现和需要处理各种意料不到的问题,有必要及时升级相应的程序。F2812的程序通常需要专用的烧写器和软件才能写入,但由于空间距离、时间、现场条件等多方面原因的限制,现场运行的设备很难在就地进行程序升级。因此,本文探讨了如何利用设备现有的RS-232数据通信串口进行远程的程序升级方法。

1 设备硬件构成

    下面针对一台现场在线运行的F2812监控设备进行远程程序升级。该设备通过RS-232串口和外挂的GPRS模块与主站PC机可进行点对点通信,其硬件通信平台的构成如图1所示。

    各硬件模块的主要功能:

    ①主站PC机,负责对远程F2812监控系统发操作命令,收集实时数据等。

    ②GPRS通信模块,通过RS-232接口分别与主站PC机和监控系统连接,实现串口到Internet,远程数据透明传输。

    ③F2812监控系统负责执行上位机的命令,采集现场数据、存储并定时发送到上位PC机。F2812监控电路板上外扩有128 K字的RAM存储,用于存储采集到的数据,以及进行程序升级时,存储上位机传送过来的升级程序数据,待数据传送完成后,以数据块的方式将升级程序写入Flash内,对程序进行烧写固化。

    程序的远程升级方法主要用上位PC机,通过专用工具软件,将升级程序数据分割发送,下位监控系统收到程序数据后,先将数据放入内存指定的区域,待到全部数据收集结束;同时进行CRC校验,正确后,调用预先嵌入的Flash烧写函数进行数据写入,即可实现程序远程升级功能。

2 软件设计方案

2.1 功能分块

    为了能够顺利实现程序远程升级功能,在程序的设计编写过程中,可将F2812监控程序有计划地分成几个主要功能模块:BIOS初始化模块、基础功能模块、应用程序模块。各模块的构成和地址安排如表1所列。

    DSP的监控程序经CCS开发系统编译后,程序即生成一个*.out类型的COFF公共目标文件,公共目标格式文件对程序各模块进行分段存放,主要有程序段(.text)、数据段(.data)、用户自定义段(.Myprg)等,如程序未进行特别指定,编译后的程序模块会自动分配到公共目标格式文件的程序段(.text)内。为了能够实现程序可远程升级功能,需要应用程序模块单独映射到用户自定义模块内,升级过程只需对用户自定义模块(.Mprg)所在的Flash地址区域进行擦写即可,这样还可确保监控程序的基本功能不受Flash擦写过程和擦写失败的影响,这也是程序能否实现远程升级功能的关键。

    为此,需在对F2812的监控程序进行如下分段设计:

    ①在*.cmd文件的段地址映射内增加一个用户自定义段(.Myprg),将应用程序模块的映射地址与初始化模块和基本功能模块的映射地址分开如下(这样便于Flash的程序在线升级时分块写入):

   
    ②对映射在应用程序模块内的每个函数,都需要用以下方法进行指定,使程序编译后,应用程序模块内的函数映射到用户自定义段(.Myprg)内。

   

    经过以上的程序分段和设定,使得程序编译后,各功能函数分段清晰,为F2812监控程序在线远程写入做好了准备。

2.2 Flash在线写入

    F2812的Flash数据写入通常包括擦除、烧写和校验3个步骤:

    ①擦除就是将Flash内的数据0位都变成1,经过正确的擦除步骤后,Flash内所有16位数据都变为0xFFFF。

    ②烧写程序数据的过程就是将待写入的数据中对应为0位写入,使得Flash中的相对应位变为0,1对应的位保持不变。

    ③校验过程在烧写结束后,是将烧写入的数据读出,并与原来的数据进行比较。全部正确,则数据写入Flash完成;若校验不正确,则必须重新擦除和写入,5次校验未能通过,数据烧写失败。

    F2812的Flash烧写与较早的C2000系列如F2407有所不同,程序的擦除、烧写和校验主要通过调用Flash_Erase()、Flash_Program()、Flash_Verify()这3个函数来完成。这3个Flash的操作函数已封装在TI公司开发的库文件Flash2812_API_V210.lib内,使用时只需在编译时将该库文件加入即可,非常方便使用者调用,具体的使用方法可参阅相关的参考资料。

    需要注意的是,对Flash的所有操作函数都必须首先载入到具有0等待周期的RAM内才能执行,否则Flash的烧写过程将会出错。执行在线写入前,需要先调用函数Flash_MemCopy(),将Flash_Erase()、Flash_Program()、Flash_Verify()这3个函数的执行代码调入F2812的RAM空间内。Flash_MemCopy()也是封装在Flash2812_API_V210.lib库文件内的函数。

3 程序远程升级

    程序的远程升级功能就是通过升级应用程序模块的数内容来实现的,其主要步骤如下:

    首先,程序数据的提取。监控程序原文件经过CCS编译后,生成*.OUT的公共目标格式COFF文件。通常用仿真器烧写程序时,公共目标格式文件,即*.out文件,由CCS的Flash烧写插件对其进行解读,并将数据输出到F2812内进行烧写。本文用C++Builder开发了一个专用工具软件,根据公共目标格式文件的结构,对*.OUT文件进行解读,并提取出应用程序模块段(.MyPrg)内的程序数据,并将数据通过GPRS通信模块进行远程传送。其次,程序数据的分割。GPRS通信平台要求每个数据包小于或等于256字节,因此,需要将提取到的程序数据进行分割,由专用工具软件将应用程序模块分割为若干个196字节大小的数据包,根据通信协议与F2812监控系统进行远程通信。

    最后,程序数据的写入。程序数据经GPRS远程通信接收完毕后,可向F2812监控装置发程序升级指令。根据预先分段设定,即调用Flash操作函数Flash_Erase()、Flash_Program()、Flash_Vetify(),将数据写入用户自定段.Myprg所在的地址区域,完成程序的远程升级。

结 语

    本文从工程的实际需要出发,分析和阐述了C2000系列的TMS320F2812程序远程升级的步骤和方法,有效解决在线远程运行系统的程序升级的难题,对其他类似系统的程序升级也具有借签意义。

关键字:TMS320F2812  DSP  程序远程升级 引用地址:DSP TMS320F2812程序的远程升级方法

上一篇:TMS320F206与CPU卡通信协议的优化
下一篇:基于DSP和FPGA的调幅广播信号监测系统

推荐阅读最新更新时间:2024-05-02 20:55

如何以DSP为核心设计纸币识别系统?
纸币清分是银行的一项重要业务。 目前,国内很多银行使用的纸币清分机都是由国外进口的,价格昂贵。国产纸币清分机很少,而且功能都很有限,很难满足高速实时性的要求,尤其是能够用图像处理的方法来识别纸币的纸币清分机还刚刚起步。 为此,设计了一种纸币识别系统。该系统以DSP为核心处理器,结合图像 传感器 CCD和复杂可编程逻辑器件CPLD,并辅以高性能的模/数转换器AD9200,进行纸币图像的采集、处理。该系统主要针对人民币第四版和第五版的5元、10元、20元、50元、100元九种纸币进行识别,利用数字图像处理技术和改进的自组织映射神经网络(SOFM)提取纸币图像的长度、宽度、方向块特征,区分纸币的面值、正反面与正反向。最终完成的系统能
[安防电子]
如何以<font color='red'>DSP</font>为核心设计纸币识别系统?
安森美扩充RHYTHM DSP系列 专为助听器而设计
    推动高能效创新的安森美半导体(ON Semiconductor,美国纳斯达克上市代号:ONNN)专门为助听器设备应用而设计RHYTHM™系列预配置数字信号处理(DSP)系统,最新增加了两款新器件。   RHYTHM R3920是一款16通道器件,配备了针对高端助听器应用的先进算法。而RHYTHM R3110为入门级助听器市场带来了噪声消减及反馈消除等新特性。两款新器件都符合所有外形因数助听器设计的严格需求,均衡顾及高性能与高能效。   R3920以其功能集和灵活性配合当今的先进助听器应用。这器件提供十六通道宽动态范围压缩(WDRC),使听力学家能够自由地进行精微粒度适配。R3920集成的iSceneDetect™环境
[医疗电子]
基于GIO/FVID的DSP视频处理驱动程序
  引言   随着时代的发展,DSP技术在远程监控、可视电话、工业检测等视频处理领域得到了广泛的应用,对于不同的视频处理系统,会使用不同的视频设备,所以有必要为视频设备设计驱动程序,为高层应用程序提供统一的接口来操作底层硬件。只要是遵行此驱动程序接口标准开发的高层应用程序,都可以在具有相同接口的不同硬件平台上运行,具有很好的通用性和可移植性,同时高层应用程序设计人员只要会使用设备驱动程序提供的API接口,就不必了解底层硬件的具体实现,可以大大地提高整体视频系统的开发效率。   对于视频设备,TI公司提出了对应的视频设备驱动程序模型,但这些模型主要是针对6000系列高端DSP,甚至是DM64X这样的视频处理专用DSP设计的,而TM
[嵌入式]
基于DSP的现场测控装置及通信软件设计
  1  引言   随着工业规模的扩大,工业控制系统的信息集成程度也越来越高。基于网络的现场总线控制系统为信息的集成提供了有效技术保证。现场总线是应用在制造或过程区域现场装置与控制室内自动控制装置之间的数字式、串行、多点通信的数据总线,也被称为开放式、数字化、多点通信的底层控制网络。以现场总线为核心的工业控制系统,称为现场总线控制系统。本文主要设计了 CAN 总线测控系统中的 DSP 下位机现场测控装置及通信软件。   2  测控节点的总体设计   本文所讨论的测控系统是以 CAN 总线为基础,结合 PC 机和 DSP 测控节点来完成数据的采集工作的。因此 CAN 总线上的测控节点具有很重要的作用。节点结构框图如图 1。
[嵌入式]
TMS320C6000系列DSP的Flash启动设计
引 言 随着近年来数字信号处理器(DSP)技术的迅猛发展,其越来越广泛地应用于国民经济的各个领域中。其中,TI公司推出的TMS320C6000系列DSP器件更是在许多需要进行大量数字信号处理运算并兼顾高实时性要求的场合得以应用。TMS320C6000系列DSP的系统设计过程中,DSP器件的启动加载设计是较难解决的问题之一。 C6000系列DSP的启动加载方式包括不加载、主机加载和EMIF加载3种。 3种加载方式的比较:不加载方式仅限于存储器0地址不是必须映射到RAM空间的器件,否则在RAM空间初始化之前CPU会读取无效的代码而导致错误;主机加载方式则要求必须有一外部主机控制DSP的初始化,这将增加系统的成本和复杂度,在很多实
[嵌入式]
用TL16C752B实现DSP和PC机的串行通信
摘要:介绍了TL16C752B的特点、性能和相关寄存器,给出了通过TL16C752B实现TMS320VC5421和PC机实时通信的方法。同时给出了串口通信部分的硬件应用电路图以及对TL16C752B进行初始化的软件实现程序。 关键词:数字信号处理;通信接口;异步通信;TL16C752B;TMS320VC5421 1 引言 美国德州仪器公司(TI)的TMS320VC54XX系列DSP芯片与PC机实现异步通信通常有两种方法:第一种是使用通用I/O信号XF和BIO作为串口发送和接收信号,用软件逐位发送和接收数据,即软件异步通信方法,这种方法需要占用很多CPU时间,因此,只能在DSP不太忙、实时性要求不高的情况下采用;第二种是通过扩
[应用]
基于AT89C51+DSP的双CPU伺服控制器的研究
   1 引 言   近年来,随着制造业的不断进步,现代制造业对精密化、精确化、高速化、自动化发展的要求越来越高,传统的运动控制器大部分采用8051系列的8位单片机,这种单片机虽然节省了开发周期,但缺乏灵活性,且运算能力有限,难以胜任高要求运作设备 .DSP的数据运算和处理功能十分强大,即使在很复杂的控制系统中,其采样周期也可以取得很小,控制效果可以接近于连续系统. 把DSP与单片机各自优势相结合将是高性能数控系统的发展趋势. 本文针对数控系统的要求,开发了以TI公司的高性能浮点DSP和ATMEL公司的AT89C51为主控芯片的运动控制器. 它以嵌入式工业PC作为基本平台,通过PCI接口与嵌入式工业PC协调并进行数据交换,并以D
[工业控制]
基于AT89C51+<font color='red'>DSP</font>的双CPU伺服控制器的研究
基于TMS320F206DSP的冗余度TT-VGT机器人的运动学求解
    摘要: 提供了采用TMS320F206 DSP芯片进行冗余度TT-VGT机器人运动学计算方案。该方案充分利用DSP并行特性进行机器人位姿逆解计算,在程序设计中采用了多种技巧以实现优化计算,并对四重四面体变几何桁架(TT-VGT)机器人进行了仿真计算。     关键词: DSP 并行计算 TT-VGT机器人 运动学 20世纪90年代以来,数字信号处理器(DSP)在自动控制中得到越来越广泛的应用。这主要是因为它具有以下优点:(1)并行体系结构和专用的硬件乘法器使得DSP运算能力极强;(2)高速特性使得DSP能实现实时处理和实时控制。    
[传感技术]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved