基于SPC5606B的CAN Bootloader设计与实现

需积分: 50 31 下载量 51 浏览量 更新于2024-08-08 收藏 2.35MB PDF 举报
"这篇本科毕业论文探讨了基于SPC5606B微控制器的BOOTLOADER设计与实现,着重于在汽车电子领域的应用,尤其是电池管理系统中的CAN Bootloader。作者舒利中在导师姚俊杰的指导下,详细阐述了BOOTLOADER在系统软件开发中的必要性,以及其实现原理和设计过程。" 在BOOTLOADER实现方案中,系统软件开发经历了多个阶段,如方案设计、单板调试、系统调试等。在系统调试后期,由于电路板数量众多且已装入电池箱,传统的逐一下载程序的方法变得不切实际,因此需要一种有效的远程更新程序机制。这就是CAN Bootloader的重要性所在。它通过CAN接口对ECU进行程序更新,极大地减少了工作量和成本。 BOOTLOADER的实现原理涉及MCU的内部存储结构。SPC5606B的内存主要由CFLASH、DFLASH和SRAM组成,其中CFLASH用于存储程序代码。为了实现程序更新,CFLASH需要支持在应用编程(IAP)功能。由于CFLASH的特性,即不支持Single bank-Read-While-Write (RWW),并且所有CFLASH都在BANK0中,因此更新过程需要将操作CFLASH的部分代码复制到SRAM中执行。这一过程如图2.3所示,展示了从CFLASH的读取、修改到写回的步骤。 论文中还提到了硬件设计,包括电源、时钟和通讯模块等构成的最小系统,同时强调了电磁兼容性和系统稳定性的考虑。在软件部分,作者关注了数据处理策略,确保可靠地下载应用程序,并在APP异常时能妥善处理,防止系统发生意外故障。此外,论文还涵盖了诊断模块设计、CFLASH的分区与驱动技术、下载工具的开发、SAE J1939多字节传输协议的实现,以及整个BOOTLOADER在电动汽车电池管理系统中的具体应用实例。 关键词涉及到"CAN Bootloader", "SPC5606B", "ECU", "汽车电子", "电池管理系统", "在应用编程(IAP)", "CAN总线", "SAE J1939协议"等关键概念,显示了这篇论文在嵌入式系统和汽车电子领域的深度研究。