RS232远程配置DSP

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RS232远程配置DSP
引言
RS232远程配置的基本思路是,PC端通过RS232串口向DSP发送配置信息,DSP将接收的配置信息存入到NORFLASH中,DSP的自启动方式设置为ROM引导自启动,这样DSP在重启后就可以从FLASH 中载入配置信息并开始运行。

简单地说,RS232串口实现的功能就是实现DSP在线编程,即烧写FLASH。

DSP在线编程是指不更改目标系统硬件的情况下,实现系统功能的更新。

一般的DSP在线编程实现方法是:通过JTAG接口下载FLASH 写入程序和代码数据到DSP片内运行,实现对FLASH的编程。

这种传统方法具有下载速度快、无需添加额外接口设备等有点,被广泛采用。

然而这种方法虽然比较简单,但也存在许多的不足之处:(1)JTAG接口不能满足远距离传输要求,难以实现远端系统的在线编程;
(2)不能在高、低温等复杂环境下工作;
(3)由于需要连接仿真器进行程序下载,因此在进行程序更新时常常需要打开设备外壳才能实现;
(4)接口信号太多,难以在小体积设备上应用。

在本项目中,考虑到实际应用,不可能通过JTAG接口来实现系统功能更新,为此拟采用RS232串口来进行DSP在线编程。

这种方法进行程序加载具有方便、灵活的特点。

使用串行接口,接口信号简单;同时RS232串行传输具有距离远(能够实现异地程序下载)、抗干扰
性能好、环境适应性强等特点,非常适合本项目中的远程配置DSP。

实现原理
TMS320C6713与其它芯片相比,自启动过程有很大的不同之处,TMS320C6713是采用两次引导来完成整个引导过程。

在DSP芯片复位后,EDMA从CEl空间(FLASH)拷贝1KB的数据到地址0处,然后退出复位状态,开始执行地址0处的1KB的程序代码。

而FLASH存储器其它部分的程序代码则需要用最开始搬移的1KB程序代码来再次引导,直至FLASH存储器中的所有数据全部搬移到DSP的内部RAM 中,整个自举过程才完毕。

通过以上对DSP上电引导过程的描述,在使用RS232串口配置DSP时,预先需要编写一个控制程序Control,使用DSP仿真器通过JTAG接口对FLASH芯片烧入该控制程序。

这个控制程序的主要功能是完成串口通信数据检测、FLASH编程操作以及DSP用户代码加载。

在每次上电或重启后,DSP依靠其设置好的自启动方式从FLASH中加载Control程序到DSP内部开始运行,此后DSP被Control程序接管。

Control程序监视串口通讯数据,如果检测到PC机发送的程序更新指令,则开始接收用户代码并缓存到DSP片内,在用户代码全部接收完成后,启动FLASH编程指令将用户代码全部编程到FLASH中。

如果没有检测到程序更新指令,则Control程序负责搬移FLASH中已有的DSP 用户代码到DSP内部的程序RAM中开始运行,此后DSP完全由用户程序控制。

以上就是串口配置DSP的大体过程,DSP程序经调试完成后,首
次写入FLASH由DSP仿真器经JTAG接口实现,此后的程序更新则都通过串口在线完成,不需要仿真器的参与。

当需要更新程序时,主控PC机首先发送程序更新指令给DSP,在DSP返回确认指令后,PC机与DSP建立通信连接;接下来开始按低字节在前,高字节在后的顺序依次加载新程序到DSP,DSP在数据接收完成后,将数据写入到FLASH 中。

为了确保可靠性,在程序接收完成后,DSP进行校验,验证程序是否接收正确,如不正确则重新建立连接,重新传输程序数据。

在系统重新上电后,DSP自动从FLASH加载、运行更新程序。

注:(1)在设计中,Control程序与用户程序在FLASH中必须分开存储。

Control程序可设置为写保护,不能随便擦除,所以在操作过程中遇到突然掉电或误操作引起的擦除、写入不成功也不会影响程序的再次更新。

(2)DSP将主控PC机传来的数据按顺序写入到FLASH中,所以要实现上电自启动,就需要在主控PC机上把COFF文件转换成符合自启动格式的二进制文件。

(3)为了判断一段更新程序是否传输完毕,需要在数据传输时加入起始位和终止位。

实现方案
1.硬件实现
图1:硬件连接框图
TI公司的TMS320C6713B芯片不仅具有强大的处理内核,能够完成各种复杂的数据处理任务,同时片内硬件资源充足。

在设计中,计算机采用RS232串口标准,通过MAX3232实现电平格式转换后送往FPGA,FPGA实现串并数据转换(UART)和产生串口收发中断,最后通过DSP提供的EMIF接口实现与DSP无缝数据交互,其硬件连接方式如图1所示。

2.软件实现
(1)在线编程软件设计(主控PC端)
在线编程软件由编程文件载入模块、串口配置模块、控制管理模块组成,属于计算机端应用程序。

编程文件载入模块完成的是编程文件的装载(已进行格式转换的用户代码),在代码段前后加入起始终止位;串口配置模块用于配置串口通讯端口及速率;控制管理模块主要实现在线编程时与DSP的交互和发送程序数据等功能。

(2)Control软件设计(DSP端)
Control软件主要包括编程文件接收模块、校验模块、FLASH编程模块、二次加载模块以及控制模块等。

编程文件接收模块负责接收来
自串口的编程文件,把收到的字节缓存到已分配的内存中,经校验模块校验无误后,启用FLASH编程模块完成FLASH的擦除及写入操作,将编程文件写入到FLASH中。

若校验模块校验有误,则需在线编程软件重新发送数据。

二次加载模块负责引导DSP用户程序的执行。

控制模块是Control程序的调度者,负责检测串口发送的程序更新信号,如果收到更新信号,则控制DSP工作在Control程序接管状态,如果没有收到更新信号,则启动二次加载模块代入FLASH中已有的用户程序开始运行。

相关文档
最新文档