ADuC703x LIN协议6实现Flash/EE存储器编程

4 下载量 178 浏览量 更新于2024-09-02 收藏 535KB PDF 举报
"通过LIN—协议6进行Flash/EE存储器编程" 本文主要探讨了如何利用LIN协议6在ADuC703x系列微控制器上进行Flash和EE存储器的在线编程。ADuC703x器件具备在线代码下载功能,这一特性允许用户通过LIN通信总线对芯片内部的存储器进行编程,以实现生产过程中的串行编程或应用的更新。 LIN协议6是依照UDS(ISO/DIS 14229-1.2)标准设计的一种协议,适用于道路车辆的统一诊断服务。然而,由于ADuC703x器件的代码空间限制,该应用笔记只涉及UDS中最基本的需求。协议6的使用使得用户能够开发自定义的LIN编程工具,以适应特定的应用场景。 主机在这一过程中扮演着数据提供者的角色,它可以是微控制器、DSP或者其他能够发送数据到ADuC703x的设备。而加载程序则指嵌入在ADuC703x内部的用于接收和处理下载数据的固件。用户需要注意的是,本应用笔记只关注协议6的实现,而不涉及其他可能的协议。 ADuC703x进入加载程序模式有一定的条件:在复位期间,NTRST引脚必须保持低电平;同时,Flash/EE存储器的特定地址(0x80014)上的内容不等于0x27011970,且页0的校验和也不正确。满足这些条件后,器件会自动进入适合编程的模式,如图1所示的流程。 此外,编程序列可以通过诊断测试仪来启动和管理,通常诊断测试仪通过CAN总线与LIN主机相连。LIN主机作为网关,转发从CAN总线来的诊断消息到LIN总线。为了确保诊断消息能够在CAN和LIN之间顺利转换,使用的LIN命令需遵循“LIN诊断和配置规范”(2.0版,2003年9月23日)。 在进行LIN编程时,用户可以参考应用笔记AN-881,它详细介绍了使用LIN协议4进行Flash/EE存储器编程的方法。识别器件所使用的协议版本,可以通过查看器件标识的第三行,如A60代表协议6,而A40则代表协议4。 通过LIN协议6进行Flash/EE存储器编程提供了一种灵活、高效的方法,允许用户在不拆卸系统的情况下对ADuC703x器件进行软件更新和调试,这对于汽车电子系统等需要频繁更新的应用尤其有价值。