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擦写过程和擦写失败的影响,这也是程序能否实现远程升级功能的关键。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉