<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 基于S12 MagniV系列的LIN Bootloader設計

基于S12 MagniV系列的LIN Bootloader設計

作者:曹學(xué)余 王鈺博 孫濤 時(shí)間:2017-02-23 來(lái)源:電子產(chǎn)品世界 收藏

引言
      (Local Interconnect Network)是一種低成本的串行通 訊網(wǎng)絡(luò ),用于實(shí)現汽車(chē)電子系統的分布式控制。在不需要

CAN總線(xiàn)的應用場(chǎng)合,比如智能傳感器和BCM之間的通訊, 使用總線(xiàn)可大大節省成本。而且在智能傳感器或智能執

行器等基于通訊的模塊中,也需要實(shí)現用戶(hù)程序的引導 啟動(dòng)和固件自更新的功能。因此,基于LIN總線(xiàn)的

是汽車(chē)網(wǎng)絡(luò )節點(diǎn)的一個(gè)重要功能。

1 S12 Magniv特點(diǎn)
是面向汽車(chē)應用的高度集成且易用的混合信 號微控制器系列,提供單芯片解決方案簡(jiǎn)化了系統設計。 S12

MagniV基于成熟的S12技術(shù),整個(gè)產(chǎn)品組合的軟件和工 具均兼容。系列以?xún)?yōu)化的方式集成了數字編程能 力

和高精度模擬電路,配有一組可擴展的存儲器,并采用基 于革新的LL18UHV技術(shù)的新型單片器件,簡(jiǎn)化了汽車(chē)電子 的

設計。目前的S12 Magniv系列中,S12VR(圖1)系列可以

本文引用地址:http://dyxdggzs.com/article/201702/344375.htm

圖1  S12VR系列
實(shí)現防夾車(chē)窗、防夾天窗等應用,S12ZVM系列可以實(shí)現汽
車(chē)油泵、水泵、風(fēng)機等應用,S12ZVL系列可以實(shí)現各類(lèi)LIN 子節點(diǎn)應用。這些系列都集成了LDO和LIN收發(fā)器等模擬電

路,從而可以實(shí)現簡(jiǎn)化系統設計!

2 LIN 軟件設計
2.1   LIN 程序流程及內存分配
Bootloader引導程序固化在芯片內部, 在芯片上電或 復位后首先運行,以嘗試是否與外部建立通訊。若握手成 功,

接收到特定的數據更新用戶(hù)程序。  若通訊超時(shí), 則

圖2  LIN Bootloader程序流程  

圖3  S12VR 內存分配
從 Bootloader 程序直接跳轉到用戶(hù)程序的啟動(dòng)向量,關(guān)閉 Bootloader 中斷源,初始化 SP并且寫(xiě)中斷重定向寄存器

為用 戶(hù)應用程序向量表的起始位置,并進(jìn)入用戶(hù)應用程序,如圖2所示。
由于S12 Magniv上電或復位后先運行  Bootloader 程序, 因此需要設定 Bootloader 程序的中斷向量表放在默認位置

。 同時(shí)重定向用戶(hù)應用程序的向量表,避免和Bootloader 程序 的中斷向量表重合。Bootloader 程序執行完畢后,跳

轉至用 戶(hù)應用程序運行。如圖3所示S12VR的內存分配。

圖4   LIN bootloader協(xié)議  


 圖5   LIN 驅動(dòng)結構框圖


圖6   LIN 配置流程

2.2   LIN通訊協(xié)議設計
為了通過(guò)上位機或者LIN主節點(diǎn)更新S12 Magniv系列中 的應用程序功能,需要制定基于LIN輸線(xiàn)的Bootloader通訊
協(xié)議,使S12 Magniv和主節點(diǎn)或上位機進(jìn)行通訊,接受來(lái)
自上位機發(fā)送的更新數據,同時(shí)發(fā)送一些Bootloader命令, 包括:(1)握手;(2)flash擦除;(3)開(kāi)始傳輸S19;(4)進(jìn)入 APP;(5)發(fā)送S19數據;(6)讀取Bootloader狀態(tài)。下圖4為 LIN Bootloader定義。
飛思卡爾提供了符合 LIN2.1、LIN2.0 和 SAE2602 規范 的軟件包,可以幫助開(kāi)發(fā)者非常方便快速地開(kāi)發(fā)出 LIN 通 訊程序。圖  5 為飛思卡爾的  LIN 驅動(dòng)程序結構圖,LIN2.1
Core API 和 J2602 Core API 可以實(shí)現 LIN 的初始化以及應用 層與 core 層之間的信號傳遞功能,LIN2.1 TL層可以供測試
者發(fā)起診斷請求,Low  Level 層處理程序與硬件之間的信號
交互,比如字節發(fā)送、接收響應、Break 檢測等。
該軟件包除了驅動(dòng)程序之外,還提供了方便開(kāi)發(fā)者使 用的圖形化配置工具 NCF GUI,該工具可以根據 LIN配置 描述文件 LCF 和節點(diǎn)描述文件 NCF 自動(dòng)生成節點(diǎn)的配置.c 和.h 文件,將 LIN 代碼配置
文件、 LIN 驅動(dòng)程序和用戶(hù) 應用軟件一起編譯, 就可以 生成實(shí)現 LIN 通訊的可執行 程序,如圖6 所示。從而方便 開(kāi)發(fā)者將更多的時(shí)間放在應 用程序上。
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控制器塊只有一 個(gè)16bit內部總線(xiàn),當flash控 制器在對flash進(jìn)行操作時(shí), 內核總線(xiàn)不能訪(fǎng)問(wèn)此flash模 塊 , 也 就 無(wú) 法 運 行 存 儲 在 Flash模塊中的程序。所以S12
Magniv在執行 Flash操作的代

圖7   flash操作代碼映射及復制  


圖8   P-Flash Protection Function
碼時(shí),需要將代碼復制到 RAM 中運行。應到Bootloader工程 時(shí),如圖7,需要對PRM文件中分配一塊memory SEG用來(lái)存 儲自ash操作代碼,同時(shí)將其映射到相應的RAM中以便將此代 碼運行在RAM中。
在實(shí)際使用過(guò)程中,需要保護Bootloader程序完整,對 Bootloader程序存放的flash區域添加保護功能,防止被意外擦 除或寫(xiě)入。Flash 模塊中的 FPROT 寄存器可以用來(lái)防止Flash 防止被誤寫(xiě)入和擦除。保護的區域分為三部分,如圖8所示。

3  S12 Magniv 平臺LIN Bootloader實(shí)現

圖9  上位機程序
3.1   LIN Bootloader平臺搭建
在開(kāi)發(fā)LIN Bootloader的過(guò)程中, 開(kāi)發(fā)了基于PCAN- USB PRO LIN適配器的上位機程序(圖9)用來(lái)實(shí)現整個(gè)LIN Bootloader平臺。設置波特率為19200bps,選擇好燒錄的S19 文件,然后點(diǎn)擊發(fā)送,上位機開(kāi)始發(fā)送握手協(xié)議命令。將 S12VR 上電,與上位機握手成功,就開(kāi)始下載用戶(hù)運用程 序。
3.2   App Code
為了實(shí)現用戶(hù)應用程序中斷重定向,需要對應用程序 進(jìn)行修改使它能夠滿(mǎn)足設計的 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。



關(guān)鍵詞: S12 MagniV LIN Bootloader

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>