您的位置 首页 基础

根据S12 MagniV系列的LIN Bootloader规划

引言      LIN (Local Interconnect Network)是一种低成本的串行通 讯网络,用于实现汽车电子系统的分布式控制。在不需要 CAN总线的应用场合,比如智能传感器和BCM之

导言
     LIN (Local Interconnect Network)是一种低本钱的串行通 讯网络,用于完成轿车电子体系的散布式控制。在不需求

CAN总线的运用场合,比方智能传感器和BCM之间的通讯, 运用LIN总线可大节操省本钱。而且在智能传感器或智能执

行器等依据LIN通讯的模块中,也需求完成用户程序的引导 发动和固件自更新的功用。因而,依据LIN总线的

Bootloader 是轿车网络节点的一个重要功用。

1 S12 Magniv特色
S12 MagniV是面向轿车运用的高度集成且易用的混合信 号微控制器系列,供给单芯片解决方案简化了体系规划。 S12

MagniV依据老练的S12技能,整个产品组合的软件和工 具均兼容。S12 MagniV系列以优化的方法集成了数字编程能 力

和高精度模仿电路,配有一组可扩展的存储器,并选用基 于改造的LL18UHV技能的新式单片器材,简化了轿车电子 的

规划。现在的S12 Magniv系列中,S12VR(图1)系列可以

图1  S12VR系列
完成防夹车窗、防夹天窗等运用,S12ZVM系列可以完成汽
车油泵、水泵、风机等运用,S12ZVL系列可以完成各类LIN 子节点运用。这些系列都集成了LDO和LIN收发器等模仿电

路,然后可以完成简化体系规划!

2 LIN Bootloader软件规划
2.1   LIN Bootloader程序流程及内存分配
Bootloader引导程序固化在芯片内部, 在芯片上电或 复位后首要运转,以测验是否与外部树立通讯。若握手成 功,

接纳到特定的数据更新用户程序。  若通讯超时, 则

图2  LIN Bootloader程序流程  

图3  S12VR 内存分配
从 Bootloader 程序直接跳转到用户程序的发动向量,封闭 Bootloader 中止源,初始化 SP而且写中止重定向寄存器

为用 户运用程序向量表的开端方位,并进入用户运用程序,如图2所示。
因为S12 Magniv上电或复位后先运转  Bootloader 程序, 因而需求设定 Bootloader 程序的中止向量表放在默许方位

。 一同重定向用户运用程序的向量表,避免和Bootloader 程序 的中止向量表重合。Bootloader 程序履行结束后,跳

转至用 户运用程序运转。如图3所示S12VR的内存分配。

图4   LIN bootloader协议  

 图5   LIN 驱动结构框图

图6   LIN 装备流程

2.2   LIN通讯协议规划
为了经过上位机或许LIN主节点更新S12 Magniv系列中 的运用程序功用,需求拟定依据LIN输线的Bootloader通讯
协议,使S12 Magniv和主节点或上位机进行通讯,承受来
自上位机发送的更新数据,一同发送一些Bootloader指令, 包含:(1)握手;(2)flash擦除;(3)开端传输S19;(4)进入 APP;(5)发送S19数据;(6)读取Bootloader状况。下图4为 LIN Bootloader界说。
飞思卡尔供给了契合 LIN2.1、LIN2.0 和 SAE2602 标准 的软件包,可以协助开发者十分便利快速地开宣布 LIN 通 讯程序。图  5 为飞思卡尔的  LIN 驱动程序结构图,LIN2.1
Core API 和 J2602 Core API 可以完成 LIN 的初始化以及运用 层与 core 层之间的信号传递功用,LIN2.1 TL层可以供测验
者建议确诊恳求,Low  Level 层处理程序与硬件之间的信号
交互,比方字节发送、接纳呼应、Break 检测等。
该软件包除了驱动程序之外,还供给了便利开发者使 用的图形化装备东西 NCF GUI,该东西可以依据 LIN装备 描绘文件 LCF 和节点描绘文件 NCF 主动生成节点的装备.c 和.h 文件,将 LIN 代码装备
文件、 LIN 驱动程序和用户 运用软件一同编译, 就可以 生成完成 LIN 通讯的可履行 程序,如图6 所示。然后便利 开发者将更多的时刻放在应 用程序上。
2.3   Flash操作及维护
Flash 贮存控制器是flash
加快单元,供给 S12 Magniv 内核和 16位( S12) 或24位 (S 1 2 Z ) 程 序 F l a s h 之 间 的 接 口 。 程 序 F l a s h 可 擦 除 的 最 小 扇 区 仅 为 5 1 2  字 节 , 而 且因为flash控制器块只要一 个16bit内部总线,当flash控 制器在对flash进行操作时, 内核总线不能拜访此flash模 块 , 也 就 无 法 运 行 存 储 在 Flash模块中的程序。所以S12
Magniv在履行 Flash操作的代

图7   flash操作代码映射及仿制  

图8   P-Flash Protection Function
码时,需求将代码仿制到 RAM 中运转。应到Bootloader工程 时,如图7,需求对PRM文件中分配一块memory SEG用来存 储自ash操作代码,一同将其映射到相应的RAM中以便将此代 码运转在RAM中。
在实际运用过程中,需求维护Bootloader程序完好,对 Bootloader程序寄存的flash区域增加维护功用,避免被意外擦 除或写入。Flash 模块中的 FPROT 寄存器可以用来避免Flash 避免被误写入和擦除。维护的区域分为三部分,如图8所示。

3  S12 Magniv 渠道LIN Bootloader完成

图9  上位机程序
3.1   LIN Bootloader渠道建立
在开发LIN Bootloader的过程中, 开发了依据PCAN- USB PRO LIN适配器的上位机程序(图9)用来完成整个LIN Bootloader渠道。设置波特率为19200bps,挑选好烧录的S19 文件,然后点击发送,上位机开端发送握手协议指令。将 S12VR 上电,与上位机握手成功,就开端下载用户运用程 序。
3.2   App Code
为了完成用户运用程序中止重定向,需求对运用程序 进行修正使它可以满意规划的 LIN Bootloader的要求。需求 修正工程中的 PRM 文件中的“MEMORY”散布和中止向量 基地址寄存器。
3.3   Bootloader功能
依据S12VR的Bootloader功能如下:
• Bootloader Code size is about 4.5K;
• LIN Baudrate is 19.2K;
• 64k size S19 update can be finished in the 2 minites。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/207250.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部