TMS320F2812片内Flash在线烧写技术研究

发布者:平和心态最新更新时间:2009-02-19 来源: 国外电子元器件关键字:TMS320F2812  片内Flash  烧写技术 手机看文章 扫描二维码
随时随地手机看文章

1 引言

      TMS320F2812(以下简称F2812)是美国德州仪器公司(TI)新一代32位定点数字信号处理器(DSP),主要应用于逆变器控制、电机控制等领域,并拥有工作频率高达150 MHz的32位DSP内核处理器,可以高效可靠地实现自适应控制和状态控制等。因此,TMS320F28X系列DSP已成为自动控制领域的首选控制器件。F2812片内拥有高达128 KBx16位的F1ash程序存储器,可以满足大多数程序存储需要。在研究基于JTAG接口的两种常用Flash烧写技术(CCS插件烧写技术和Flash281x_API函数库烧写技术)的基础上,提出了一种利用RS485与PC机的串行通讯实现Flash烧写的方法。

2 F2812片内Flash简介

      F2812带有128 KBxl6位的片内Flash存储器,分为4个8 KBxl6位和6个16 KBxl6位的扇区,用户可以单独擦除、编程和验证Flash的一个扇区而不会影响其他扇区,但不能用F1ash的一个扇区执行Flash的算法对其他扇区擦除或编程。F1ash还可映射到程序数据空间,因此它既可用于执行代码,也可存储数据信息。

      TI代码产生工具所产生的目标文件是一种模块化文件格式一一COFF格式,即.out文件。程序中的代码和数据在COFF格式文件中以段形式形成,不同的段存放不同类型的内容.应用中通过编写连接器命令文件(.cmd)将这些段正确地分配到DSP的地址空间,DSP集成开发环境CCS经编译链接之后。生成.out文件和.map文件。.map文件详细描述了.cmd文件中定义的各段起始地址以及使用长度。而out文件为COFF格式,DSP能够识别,但不能直接烧写到Flash,必须将.out文件转换为Flash能识别的数据格式,即.hex的数据文件。利用CCS转换和.hex转换工具HEX2000进行转换。

3 基于JTAG的烧写技术

3.1 CCS插件烧写技术

      利用烧写插件完成Flash的烧写无需数据转换,只需通过程序调试生成.out文件即可。由于调试阶段程序的.cmd文件存放在F2812的RAM,而烧写阶段程序则存放在Flash,即调试阶段程序的重新定位不能在CCS环境下运行,需要编写两个不同的.cmd文件。

3.2 Flash281x_API函数烧写技术

      F1ash281x API函数库烧写技术是利用TI公司的编程算法.该算法定义良好,操作简单,而且可以脱离烧写插件,真正实现在线烧写。

      编程算法中函数定义如下:(1)擦除扇区的函数为Uintl6F1ash2812 Erase(SectorMask,&FStatus),其中,SectorMask为擦除指定扇区;&Fstatus为状态值,判断操作是否成功。(2)烧写程序到F1ash函数为Uintl6 Flash2812_Program(&FlashAddr,&BuffAddr,Length,&FStatus),其中&FlashAddr为程序在Flash中烧写的起始地址;&BuffAddr为程序当前存放在内存空间的首地址:Length为程序长度;&Fstatus为状态值,判断操作是否成功。(3)校验烧写到Flash中的程序为Uintl6 Flash2812_Verifv(&FlashAddr,&BuffAddr,Length,&FStatus)。

      Flash28x_API函数烧写步骤如下:

      (1)先将.hex格式数据下载到F2812的内存.在CCS环境下完成File→Data→Load,并存放地址和数据长度两个参数,其中数据长度可以通过HEX转换为.map文件获得。

      (2)编写基于Flash281x_API函数的烧写程序。先擦除相应的Flash扇区,通过Flash2812_Erase函数完成;将数据的起始地址和数据长度两个参数分别赋给&FlashAddr和Length变量,然后调用Flash2812_Program函数开始烧写,最后调用Flash2812_Verify函数确定烧写是否成功。

      Flash API与用户工程建立关联后,目标代码通过调用API函数,实现对Flash的擦除、烧写和校验等操作,Flash的密码保护值不全为0,否则Flash将被锁死导使无法解锁。

4 串口烧写FlaSh技术

      基于JTAG的烧写技术必须在CCS环境下通过JTAG接口实现。虽然基于JTAG接口的两种烧写方法易于操作,方便调试,但常常受空间和传输距离限制。比如一台DSP系统安装在复杂、封闭的环境下,当程序需要更新或升级时,利用JTAG接口难以实现Flash的在线烧写。而通过串口烧写技术采用“程序”烧写“程序”的方法则不受限制。前一个“程序”指已固化程序,用于实现串口烧写的时机判断、数据接收及烧写的具体实施等,该程序使用了Flash281x_API库编程算法;而后一个“程序”是用户的应用目标代码。

      实现串口烧写技术软件分为PC机内用于数据发送的顶层软件和目标机内的底层软件。顶层软件可实现用户程序的解析等;而底层软件可实现由串口发送的数据烧写至Flash。F2812 DSP每次上电复位,先运行底层软件,判断是否需要重新烧写Flash。若需要,则将串口发送的目标代码烧写至F2812片内Flash指定扇区;否则将继续执行原有的用户目标代码。

4.1 顶层软件

      顶层软件可实现用户程序的解析等工作。其用户程序为.oul文件,顶层软件主要完成.hex文件的解析,并将解析后的有用数据发送至目标DSP。.hex文件的组织格式严格,只要提取数据在内存中的存放地址和数据长度就可以按照要求将数据发送给目标DSP。如果用户程序很大而目标DSP的内存空间不足时,该过程还可以分段进行。顶层软件可以使用VC++或者LabVIEW等实现。

4.2 底层软件

      底层软件用于实现将串口发来的数据烧写至Flash.涉及到用户程序的正确定位和复位后的启动过程,是整个软件设计的重点。底层软件主要实现以下功能:

      (1)烧写程序搬移功能。由于F2812片上Flash不支持在其中一个扇区运行程序去擦除或烧写其他扇区,故完成接收数据和烧写Flash工作的这部分程序需搬移至片内RAM或片外RAM上运行。实现程序搬移的函数为:

  

      其中,SourceAddr为Flash中程序的起始地址,即源程序开始地址;SourceEndAddr为Flash中程序的结束地址,即源程结束序地址;DestAddr为搬移至内存的首地址。

      (2)上电复位查询功能。上电复位后查询一个通用I/O端口的状态以确定是否需要烧写程序。这个通用I/O端口可由用户自行确定,但I/O端口占用后其特殊功能便不可用,上电复位后保证其确定状态,否则会不间断烧写程序或者不能正确跳转到用户应用程序。

      (3)接收PC机发送的数据并保存到目标DSP内存。这是在串口接收中断服务子程序中完成的,并确定用于数据保存的这部分内存未占用。

      (4)接收结束后将内存中的数据烧写至指定Flash扇区,这由Flash28lx_APl库函数完成。图1为底层应用软件流程图。

4.3 底层软件的定位

      电复位后,XMP/MC引脚为低电平.目标DSP处于计算机模式,CPU将从内部Boot Rom获得复位向量。复位向量指向Boot Rom并执行其内部的Bootloader程序,执行完毕后确定从内部Flash启动.程序指针跳转到Flash的Ox3F7FF6处.这个地址是同定的,因此底层软件程序必须烧写在以这个地址为起始地址的空间内,或者在0x3F7FF6烧写一条跳转指令,上电复位后通过跳转指令跳转到底层软件程序。

4.4 用户应用程序的定位

      用户应用程序从main函数开始,但DSP首先必须调用_c_int00函数建立C语言的运行环境,主要包括:建立初始化系统堆栈,把.cinit段中的数据表拷贝到.bss段。对全局和静态变量初始化等。_c_int00执行结束后调用main函数开始运行用户应用程序。因此_c_int00函数的首地址才是整个程序的入口点。底层软件程序执行结束后应该调用_c_int00函数,而不是main函数,可用跳转指令实现,参考程序如下:

5 结语

      讨论的Flash三种在线烧写技术在实际工程中均得到实际运用。采用TMS320F2812作为控制器的数据采集系统.利用Flash在线烧写技术开发的试验程序,可以根据需求及时更新,有助于产品维护。为了工程技术人员在实际项目开发中根据工程阶段和现场环境选择合适的烧写方法,文中给出了关键部分程序。经过比较发现,基于JTAG口的烧写技术适用于研发调试阶段,而串口烧写Flash技术更适用于维护阶段.大大提高系统的可维护性和可扩展性,如在封闭和复杂环境下进行外场加载和控制时,该技术具有较好的实用价值。

关键字:TMS320F2812  片内Flash  烧写技术 引用地址:TMS320F2812片内Flash在线烧写技术研究

上一篇:Altera:现金流充裕 看好09年40nm产品收益
下一篇:基于Fusion的无线扩散炉温度自动监控系统

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

基于TMS320F2812的光学标记信息采集系统
1引言 光标阅读机是一种光学标记信息卡录入设备,广泛应用于考试、人口普查、彩票投注、选举等领域。目前在国内外有多种光标阅读机,这些产品较为成熟,形式多样,能快速准确地完成信息数据录入,但它们也有各自的缺点,如结构复杂、生产成本高等。本文介绍一种新型的基于DSP TMS32OF2812的光标阅读机系统,该系统具有结构简单、成本低廉的特点,有很强的实用价值。 2硬件结构 光标阅读机硬件一般由LED传感器、ADC、数据处理控制单元、PC机接口、馈纸控制等部分组成,目前常用的光学标记阅读机硬件结构有两种:数据处理控制单元采用工控板方式和数据处理控制单元采用DSP+FlaGA方式。这两种电路比较复杂,生产成本较高。 本文介绍的是数据
[应用]
TMS320F2812扩展正交解码脉冲接口的设计
  1 引言   在机器人和其他精密仪器的控制系统中,位置检测是需要解决的重要问题之一,位置检测的精度和稳定性对控制系统起着关键作用。计量光栅传感器、旋转编码器、激光陀螺等测量系统的输出一般为两路相位差90°的正交解码脉冲信号。根据正交解码信号之间相位的超前与滞后关系,把正交信号转换为另外两路信号,分别为代表正交信号任一路脉冲数的脉冲序列以及代表正交信号相位关系的控制信号。它们分别送到可逆计数器的计数输入端和加/减控制端。根据可逆计数的结果可获得测量系统所需要的位移或角位移等测量。在轮式移动机器人运动控制系统中常用旋转编码器检测车轮的速度和角度,从而构成闭环系统实现运动控制算法。一般微处理器不带正交解码脉冲接口,而一些专为控制电
[家用电子]
基于TMS320F2812的高精度伺服位置环设计
  引言   机床是装备制造业的母机,也是装备制造业的引擎。我国“十一五”发展规划明确规定:国产数控机床国内市场占有率要达到60%,高端产品与国际先进水平的差距缩小到5年以内。   作为数控机床的重要功能部件, 永磁同步电机 伺服驱动装置是数控机床向高速度、高精度、高效率迈进的关键基础技术之一。随着新的微处理器、电力电子技术和传感器技术在伺服驱动装置的应用,伺服驱动器的性能获得极大的提高。如日本的安川公司利用新的微处理器,以及通过扩充新的控制算法,速度频率响应提高到了1.6kHz,具有自动测定机械特性,设置所需要的伺服增益功能,实现了“在线自动调整功能”;发那科公司的新一代驱动器则采用了1600万/转的高分辨率的编码器,高精度
[嵌入式]
TMS320F2812 DSP在柴油发电机组频率测量中的应用
现代电子技术 西安石油大学电子工程学院 闫宏亮 0 引 言 对于柴油发电机组而言,调频性能的好坏,是决定整个发电机组电气性能的关键,决定了它的电压特性、带载能力。而传统的模拟频率调节装置要实现复杂的控制规律或扩展更多的功能,就必然造成结构复杂,成本提高,可靠性降低的问题。随着微处理器技术和现代控制理论的发展,柴油发电机的频率调节从传统的模拟技术转向数字控制。数字式控制器具有算法灵活、精度高、抗能力强等特点,对数字式控制器的研究已成为柴油发电机领域的热门课题。本文论述的就是柴油发电机数字控制器中频率测量环节的功能实现。 1 测频原理 系统的原理框图如图l所示,柴油发电机的频率可由光电编码器来检测,码盘与机组传动轴连接,能够产生两个频
[嵌入式]
<font color='red'>TMS320F2812</font> DSP在柴油发电机组频率测量中的应用
基于Windows系统和TMS320F2812处理器实现弹性单腿机器人的控制设计
与倒立摆相似,单腿跳跃机器人是自然不稳定系统,在实际的规划与控制中,需要保证控制的实时性。这使得实时控制的研究显得至关重要。 Windows系统本身不是实时操作系统,但是,对于采用上/下位机模式(如PC+)的控制系统,因为下位机的定时精度高且响应快,通过合理的设计,同样可以保证整个控制系统的实时性。 针对单腿跳跃机器人控制的要求,重点研究了实时控制技术,并给出具体控制方案。在联机调试之前,先设计实验验证该控制方案的可行。实验结果说明控制系统的实时性能满足设计要求。 1、 机器人控制系统的搭建 本文所研究的是一种新型弹性单腿机器人,该机器人采用双臂驱动,弹性伸缩腿中不安装驱动部件,系统依靠内部动力学实现动态站立平衡
[机器人]
基于TMS320F2812的最小系统设计
TMS320F2812是美国TI公司推出的新一代32位定点数字信号处理器,该芯片每秒可执行1.5亿次指令,具有单周期32 bit×32 bit的乘和累加操作功能,片内集成了丰富的外围设备,如16路A/D转换器、面向电机控制的事件管理器以及多种标准串口通信外设等 。可见,其不仅具有数字信号处理器卓越的数据处理能力,又像单片机那样具有适于控制的片内外设及接口;它在数字控制系统中有着广泛的应用,特别是在运动控制领域以及嵌入式开发系统设计中,常常成为微处理器的首选。 DSP最小应用系统设计一般包括硬件设计和调试部分。硬件设计部分一般包括电源、复位电路、时钟电路、JTAG电路和外部接口电路的设计;最小系统板作为DSP控制系统的核心
[嵌入式]
基于<font color='red'>TMS320F2812</font>的最小系统设计
基于DSP的数据采集系统开发与实现
   0 引言   现代工业生产中,生产规模不断扩大,朝着大型化、高速化、自动化和连续化的方向发展。因此对机械设备性能的要求也越来越高。很多大型石油、化工、石化、电力、钢铁等部门都采用了单机、满负荷、连续性的生产操作方式,其中的大型旋转机械就成为了现代化大规模生产中的关键设备。一旦出现停机故障,将导致全厂的停产,其经济损失是十分巨大的。同时还有可能招致重大的伤亡事故。由此,大型旋转机械的在线状态监测和故障诊断技术便应运而生。而如何获得大量而广泛的状态量(振动、力、位移、噪声、温度、压力和流量等)是其中的关键。本文介绍的基于TMS320F2812的多功能同步数据采集卡,利用卡上的DSP控制芯片不仅可以实现多种数据的采集,还可以对所
[嵌入式]
基于TMS320F2812的三电平逆变器载波调制方法研究
主要对二极管箝位型三电平逆变器的拓扑与 控制 进行了研究,并以此作为进一步研究的基础,对三电平NPC逆变器的载波同相层叠和反相层叠PWM 控制 方法进行了分析,同时对两种载波层叠方式下输出电压的谐波特性进行了比较,分析了其工作机理和调制算法,在此基础上对基于三角载波层叠式调制算法的实现进行了改进,然后利用Matlab/Simulink仿真软件实现了调制算法的仿真验证,给出了基于先进TMS3-20F2812DSP设计改进的三角载波层叠式调制方法的控制程序。结果表明,该调制算法非常适用于新型DSP数字化控制软件的实现,控制性能稳定,能获得带死区功能的控制脉冲。 关键词:三电平逆变器;二极管箝位;载波层叠式PWM O 引言 二极管
[模拟电子]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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