CAN总线驱动的DSP程序烧写技术解析

版权申诉
1 下载量 41 浏览量 更新于2024-09-11 收藏 388KB PPT 举报
"本文主要介绍了底层应用程序功能,特别是CAN烧写原理与实现,涉及电动汽车控制领域的固件更新技术。文章详细阐述了两种升级程序的方法,即基于JTAG接口和基于CAN总线的方式,并重点讲解了CAN总线烧写的过程。" 在底层应用程序中,有三个关键功能: 1. **上电复位查询功能**: 当设备上电或复位后,程序会首先检查EEPROM中的状态。如果检测到存在升级命令,系统会跳转至专门的升级程序,执行固件更新过程。否则,系统将继续执行正常的运行程序,确保设备能够正常工作。 2. **搬移烧写程序功能**: 由于F28335芯片的内部Flash不支持在运行中的扇区执行擦除和写入操作,因此烧写新固件的代码必须被移动到RAM中执行。这样,烧写程序可以在不影响当前运行的程序的情况下对Flash进行安全更新。 3. **接收并保存应用程序代码**: 利用CAN(Controller Area Network)通信协议,上位机可以将新的应用程序代码发送到下位机。这些数据会被保存到DSP(数字信号处理器)内存中的预定义缓冲区(如ProgBuff)中。为了确保数据的准确无误,通常还会更新CMD文件,以便指导后续的烧写过程。 烧写程序到指定Flash扇区的过程主要依赖于Flash2833x_API库函数。该库提供了擦除、编程和验证等必要的Flash管理功能。在烧写过程中,先执行擦除操作将目标扇区的内容清零,然后将接收到的代码数据编程到Flash中,并通过校验功能确认数据的完整性和正确性。 上位机的软件流程包括编码格式的转换,将.out文件转换为.hex或.bin文件,适配CAN通信协议,并将应用程序代码分包发送。在接收端,下位机首先执行上电复位查询,然后将接收到的代码数据存储到RAM缓冲区,并调用库函数进行编程和验证操作。 整个CAN烧写过程的优势在于它能够跨越复杂系统和环境的限制,无需改变DSP的启动方式。当需要进行固件升级时,系统可以通过CAN总线发送升级指令,确保设备在不中断服务的情况下进行更新。 总结来说,CAN烧写原理与实现是电动汽车控制领域中一个重要的技术,它使得设备的固件能够远程更新,提高了系统的可维护性和灵活性。这个过程涉及到多个步骤,包括数据接收、存储、编程和验证,每个环节都需要精确控制以确保固件升级的安全性和可靠性。