一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程要注意什么

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-09-03 08:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡介

ADuC703x系列器件的一個主要特性是能夠?qū)⒋a在線下載至片內(nèi)Flash/EE存儲器,這種在線代碼下載通過LIN通信總線執(zhí)行。

本應(yīng)用筆記描述ADuC703x器件使用協(xié)議6實現(xiàn)的下載協(xié)議,以便用戶能夠開發(fā)自己的LIN編程工具來進(jìn)行串行生產(chǎn)編程或應(yīng)用更新。

在本應(yīng)用筆記中,主機指的是用來下載數(shù)據(jù)至ADuC703x的主機(微控制器、DSP或其他機器),加載程序特指ADuC703x中固化的串行下載固件。

注意,本應(yīng)用筆記僅描述協(xié)議6.協(xié)議6遵從UDS(ISO/DIS 14229-1.2,道路車輛統(tǒng)一診斷服務(wù))規(guī)定的一般程序。然而,由于可用代碼空間有限,僅限于實際最低需求的服務(wù)。

應(yīng)用筆記AN-881("通過LIN-協(xié)議4進(jìn)行Flash/EE存儲器編程")描述協(xié)議4。

器件標(biāo)識的第3行顯示所用協(xié)議。A60表示協(xié)議6的發(fā)行版本,A40則表示協(xié)議4.

表1. 標(biāo)識實例

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

編程序列可以通過診斷測試儀啟動和控制,診斷測試儀一般通過控制器區(qū)域網(wǎng)絡(luò)(CAN)連接到LIN主機。LIN主機充當(dāng)一個網(wǎng)關(guān),將診斷消息從CAN總線路由到LIN總線。為了方便診斷消息從CAN路由到LIN,模塊編程所用的LIN命令應(yīng)符合"LIN診斷和配置規(guī)范"(2.0版,2003年9月23日)。

運行ADuC703x加載程序

為了實現(xiàn)LIN下載,只有當(dāng)NTRST在復(fù)位期間為低電平,并且Flash/EE存儲器地址0x80014的內(nèi)容不是0x27011970及頁0校驗和時,ADuC703x才會進(jìn)入加載程序模式,如圖1所示。

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

圖1. 進(jìn)入下載模式

一般情況下,NTRST保持低電平,進(jìn)入下載模式與否由Flash地址0x80014的內(nèi)容決定。通常而言,F(xiàn)lash地址0x80014的值不是0xFFFFFFFF,因此,用戶代碼必須具有一個內(nèi)置機制來毀壞位置0x80014或擦除頁0(Flash地址0x0至Flash地址0x200),并且復(fù)位器件。這種機制支持進(jìn)入下載模式,以便對器件重新編程。理想情況下,F(xiàn)lash地址0x80014的值應(yīng)最后編程,以便在電源發(fā)生故障時,或者在對程序主體進(jìn)行編程期間發(fā)生錯誤時,能夠重新進(jìn)入下載模式。

頁0的校驗和指頁0中的所有半字之和,不包括地址0x80014的兩個半字。該校驗和必須存儲在地址0x80014.

分組結(jié)構(gòu)

LIN與加載程序的通信必須遵守"LIN診斷和配置規(guī)范"(2.0版,2003年9月23日)的下列一般要求:

● 內(nèi)核必須為每個LIN診斷幀(主機請求幀和從機響應(yīng)幀)實現(xiàn)一個時隙。

● LIN主機的請求必須遵從表2所示的分組數(shù)據(jù)單元(PDU)格式。

表2. 幀標(biāo)識符0x3C

● 響應(yīng)必須遵從表3所示的PDU格式。

表3. 幀標(biāo)識符0x3D

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

● 只能使用PCI型單幀(SF)。不支持首幀(FF)和連續(xù)幀(CF)。

● 所有幀均使用傳統(tǒng)校驗和。

● 忽略無法識別的命令。

● 忽略任何有錯誤(如通信錯誤等)的幀,因此,錯誤的擦除例程幀會被忽略。忽略錯誤的請求下載幀,因此,不會識別后續(xù)的傳輸數(shù)據(jù)幀,也不會進(jìn)行編程。任何錯誤的傳輸數(shù)據(jù)幀都會終止識別傳輸數(shù)據(jù)幀。事實上,任何具有正確NAD且PCI ≠ 0x05或SID ≠ 0x36的幀,或者任何具有錯誤校驗和的幀,都會終止識別傳輸數(shù)據(jù)幀。

● 在"片內(nèi)加載程序中實現(xiàn)的命令"部分,表5至表7和表9至表15的"值"欄所示的地址是硬編碼值,不是示例。

片內(nèi)加載程序中實現(xiàn)的命令

本部分描述協(xié)議6實現(xiàn)的7個命令。

●指定NAD

● 按標(biāo)識符讀取

● 擦除例程

● 下載請求

●傳輸數(shù)據(jù)

● 校驗例程

● ECU復(fù)位

指定NAD

該命令是必需的,用于給從機指定一個新NAD,因為不同的網(wǎng)絡(luò)系統(tǒng)需要將不同的NAD用于其相應(yīng)的邏輯從機節(jié)點。

請求

LIN協(xié)會將供應(yīng)商ID 0x003A分配給ADI公司。協(xié)議6的功能ID如表4所列。

表4. 功能ID

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

注意,為了防止從機因為網(wǎng)絡(luò)損壞而丟失,從機總是通過廣播NAD 0x7F識別"指定NAD"命令。當(dāng)發(fā)送"指定NAD"命令時,無論從機的實際NAD是什么,從機都會識別該命令。然后,內(nèi)核檢查供應(yīng)商ID和功能ID,判斷該命令是否是針對該從機而發(fā)出的。本文以功能ID 0x32為例進(jìn)行說明。

表5. 指定NAD請求

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

響應(yīng)

從機不響應(yīng)該請求。

按標(biāo)識符讀取

編程序列中止后,在啟動嘗試第二次編程之前,診斷測試儀利用"按標(biāo)識符讀取"請求要求LIN從機表明身份。

請求

支持4個標(biāo)識符(標(biāo)識符0x0、標(biāo)識符0x32、標(biāo)識符0x33和標(biāo)識符0x34)。

表6. 按標(biāo)識符讀取請求

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

標(biāo)識符0x0.

帶標(biāo)識符0x0的按標(biāo)識符讀取請求返回LIN產(chǎn)品識別信息。對于ADuC703x LIN產(chǎn)品,此信息由8字節(jié)數(shù)據(jù)幀響應(yīng)組成,如表7所示。

表7. 標(biāo)識符0x0數(shù)據(jù)幀響應(yīng)

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

標(biāo)識符0x32、標(biāo)識符0x33和標(biāo)識符0x34

對這些標(biāo)識符的響應(yīng)會返回器件存儲器中的用戶配置數(shù)據(jù)。加載程序預(yù)期數(shù)據(jù)字節(jié)的內(nèi)容位于Flash/EE存儲器的最后一頁,如表8所示。

表8. 分配給其他標(biāo)識符的Flash位置

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

注意,F(xiàn)lash/EE存儲器最后一頁的最后四個字節(jié)保留用于校驗和。

響應(yīng)

LIN從機的肯定響應(yīng)如表9所示。

表9. LIN從機響應(yīng)

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

從機不提供否定響應(yīng)。

擦除例程

概述

可以一次擦除多頁,以及請求下載和傳輸連續(xù)多頁的更新數(shù)據(jù)。選擇哪一種更新策略,完全由診斷測試儀決定。然而,1000 LIN幀中預(yù)計有1幀會發(fā)生傳輸錯誤,因此建議針對各頁獨立重復(fù)擦除、編程、驗證周期。必須考慮以下三條限制:

● 無法對小于從機的一個Flash頁面,即小于512字節(jié)的存儲器區(qū)域進(jìn)行編程。

● 頁0的編程必須給予特別考慮,必須對其進(jìn)行初始編程,使得位置0x80014 = 0xFFFFFFFF.

● 除了對Flash/EE存儲器的單個頁面進(jìn)行驗證以外,執(zhí)行ECU復(fù)位之前,建議對Flash/EE存儲器的整個用戶區(qū)域的校驗和進(jìn)行驗證。

●驗證最后一頁后,必須對0x80014以外的頁0區(qū)域進(jìn)行重新編程(不擦除),0x80014用于存儲校驗和或所需的另一個值。

請求

擦除例程擦除從第P頁開始的N個Flash頁面的內(nèi)容。每個Flash頁面包含512個字節(jié)。值N = 0保留供將來使用。

表10. 擦除例程請求

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

字節(jié)5和字節(jié)6中的索引指的是頁起始地址右移9位后的值。例如,F(xiàn)lash/EE存儲器中第2頁的起始地址是0x80400,右移9位后是0x0402,該索引表示為:字節(jié)5 = 0x02,字節(jié)6 = 0x04.

響應(yīng)

從機不響應(yīng)該請求。

下載請求

參見擦除例程概述部分。

請求

表11. 下載請求

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

請求下載命令定義要編程的存儲器區(qū)域。隨后的數(shù)據(jù)通過傳輸數(shù)據(jù)命令傳輸,寫入從第P頁開始的N個頁面。

響應(yīng)

從機不響應(yīng)該請求。

傳輸數(shù)據(jù)

這些請求必須跟隨在下載請求之后。

請求

傳輸數(shù)據(jù)命令傳輸Flash數(shù)據(jù)。從機期待N × 512字節(jié)的數(shù)據(jù),其中N為請求下載命令定義的頁數(shù)。僅支持完整的4字節(jié)字。當(dāng)LIN波特率為19.2 kbps時,刷新一頁需要大約512/4 × 10 ms = 1.28秒。

表12. 數(shù)據(jù)傳輸請求

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

響應(yīng)

從機不響應(yīng)該請求。

校驗例程

請求

校驗例程命令計算從第P頁到第P + N -1頁的存儲器區(qū)域的校驗和。N = 0的響應(yīng)未定義。此命令不僅應(yīng)對每一頁執(zhí)行,而且應(yīng)在所有編程完成后執(zhí)行,因為擦除或下載命令中的錯誤可能影響目標(biāo)頁面之外的其他頁面。診斷測試儀比較從LIN從機接收到的校驗和與Flash數(shù)據(jù)容器中提供的參考校驗和。如果二者不符,則重復(fù)執(zhí)行編程程序。校驗和等于從第P頁的第一個16位字到第P + N -1頁的最后一個16位字的所有16位值之和,校驗和 = (Σ 16位字)模32.對于單個頁面,從機接收到校驗例程請求之后,計算校驗和需要500 μs.這里不使用循環(huán)冗余校驗(CRC)算法,原因如下:

●CRC校驗和計算所需的時間大約是這里的簡單校驗和計算所需時間的8倍。

●ADI公司采用誤差模型假設(shè),認(rèn)為校驗區(qū)域中的所有半字或位并不是全部按照要求進(jìn)行編程。這樣的頁面總是會顯示較少的0,使得校驗和較高。另一方面,對未擦除的頁面進(jìn)行編程總是會顯示較多的0,使得校驗和較低。第三種可能性是單個半字或位錯誤。無論使用CRC校驗和還是簡單校驗和,檢測到此類錯誤的概率均相同。

表13. 校驗例程請求

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

響應(yīng)

表14. 校驗例程響應(yīng)

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

ECU復(fù)位

請求

表15. ECU復(fù)位請求

如何利用LIN—協(xié)議6進(jìn)行Flash/EE存儲器編程,有哪些注意事項?

ECU復(fù)位命令對從機執(zhí)行復(fù)位。ADuC703x器件的重新啟動程序如圖1所示。如果地址0x80014的值與第0頁的校驗和一致或者等于0x27011970,則將執(zhí)行應(yīng)用程序軟件。

響應(yīng)

從機不響應(yīng)該請求。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7953

    瀏覽量

    155068
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    556

    文章

    8158

    瀏覽量

    357590
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1679

    瀏覽量

    151840
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7653

    瀏覽量

    167410
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    Flash存儲器的故障特征

    單元的下一次編程不起作用,從而無法得到正確的操作結(jié)果。 上面幾種類型的干擾故障一般發(fā)生在Flash 存儲器同一行或者同一列的單元之間,利用內(nèi)存Fla
    發(fā)表于 11-16 14:33

    MC68HC908GP32 MCU的Flash存儲器在線編程

    MC68HC908GP32 MCU的Flash存儲器在線編程技術(shù).doc
    發(fā)表于 04-05 00:01 ?48次下載

    Flash存儲器概述

      Flash 存儲器的簡介   在眾多的單片機中都集成了 Flash 存儲器系統(tǒng),該存儲器系統(tǒng)可用作代碼和數(shù)據(jù)
    發(fā)表于 11-11 18:25 ?5239次閱讀
    <b class='flag-5'>Flash</b><b class='flag-5'>存儲器</b>概述

    通過LIN協(xié)議6進(jìn)行Flash EE存儲器編程

    ADuC703x系列器件的一個主要特性是能夠?qū)⒋a在線下載至片內(nèi)Flash/EE存儲器,這種在線代碼下載通過LIN通信總線執(zhí)行。 本應(yīng)用筆記描述ADuC703x器件使用
    發(fā)表于 10-09 17:48 ?34次下載
    通過<b class='flag-5'>LIN</b><b class='flag-5'>協(xié)議</b><b class='flag-5'>6</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>Flash</b> <b class='flag-5'>EE</b><b class='flag-5'>存儲器</b><b class='flag-5'>編程</b>

    LINB DLL編程指南

    本應(yīng)用筆記說明LINBWSD.dll庫提供的庫函數(shù)。針對集成電池傳感,可以利用這些函數(shù)創(chuàng)建一個USB至LIN下載。LINBWSD.dll采用Protocol
    發(fā)表于 04-24 14:07 ?0次下載
    LINB DLL<b class='flag-5'>編程</b>指南

    flash存儲器在線編程

    Flash存儲器技術(shù)趨于成熟,應(yīng)用廣泛,它結(jié)合了OTP存儲器的成本優(yōu)勢和EEPROM的可再編程性能,是目前比較理想的存儲器
    發(fā)表于 10-11 18:57 ?4278次閱讀
    <b class='flag-5'>flash</b><b class='flag-5'>存儲器</b>在線<b class='flag-5'>編程</b>

    flash存儲器的讀寫原理及次數(shù)

    FLASH存儲器又稱閃存,是一種長壽命的非易失性(在斷電情況下仍能保持所存儲的數(shù)據(jù)信息)的存儲器,由于其斷電時仍能保存數(shù)據(jù),FLASH
    發(fā)表于 10-13 16:34 ?2.2w次閱讀

    使用CPLD產(chǎn)品實現(xiàn)大容量FLASH存儲器的接口設(shè)計

    FLASH存儲器FLASH Memory)是非易失存儲器,即使在供電電源關(guān)閉后仍然能保留信 息, 可以對存儲器單元塊
    的頭像 發(fā)表于 08-09 08:00 ?3598次閱讀
    使用CPLD產(chǎn)品實現(xiàn)大容量<b class='flag-5'>FLASH</b><b class='flag-5'>存儲器</b>的接口設(shè)計

    Flash存儲器在MCS-51系統(tǒng)中的應(yīng)用

    介紹了 Flash 存儲器的特性和應(yīng)用場合 ,在16 位地址總線中擴(kuò)展大容量存儲的一般方法。討論了 MCS-51 系列單片機與 Flash 存儲器
    發(fā)表于 03-18 09:50 ?7次下載
    <b class='flag-5'>Flash</b><b class='flag-5'>存儲器</b>在MCS-51系統(tǒng)中的應(yīng)用

    AN-946: 通過LIN協(xié)議6進(jìn)行Flash/EE存儲器編程

    AN-946: 通過LIN協(xié)議6進(jìn)行Flash/EE存儲器
    發(fā)表于 03-18 22:57 ?11次下載
    AN-946: 通過<b class='flag-5'>LIN</b>—<b class='flag-5'>協(xié)議</b><b class='flag-5'>6</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>Flash</b>/<b class='flag-5'>EE</b><b class='flag-5'>存儲器</b><b class='flag-5'>編程</b>

    EE-213:通過Blackfin?處理的異步存儲器接口進(jìn)行主機通信

    EE-213:通過Blackfin?處理的異步存儲器接口進(jìn)行主機通信
    發(fā)表于 05-25 15:16 ?0次下載
    <b class='flag-5'>EE</b>-213:通過Blackfin?處理<b class='flag-5'>器</b>的異步<b class='flag-5'>存儲器</b>接口<b class='flag-5'>進(jìn)行</b>主機通信

    EE-213:Blackfin處理通過異步存儲器接口進(jìn)行主機通信

    電子發(fā)燒友網(wǎng)站提供《EE-213:Blackfin處理通過異步存儲器接口進(jìn)行主機通信.pdf》資料免費下載
    發(fā)表于 01-05 10:09 ?0次下載
    <b class='flag-5'>EE</b>-213:Blackfin處理<b class='flag-5'>器</b>通過異步<b class='flag-5'>存儲器</b>接口<b class='flag-5'>進(jìn)行</b>主機通信

    EE-302:ADSP-BF53x Blackfin處理與NAND FLASH存儲器的接口

    電子發(fā)燒友網(wǎng)站提供《EE-302:ADSP-BF53x Blackfin處理與NAND FLASH存儲器的接口.pdf》資料免費下載
    發(fā)表于 01-07 14:03 ?0次下載
    <b class='flag-5'>EE</b>-302:ADSP-BF53x Blackfin處理<b class='flag-5'>器</b>與NAND <b class='flag-5'>FLASH</b><b class='flag-5'>存儲器</b>的接口

    AN-881: 通過LIN協(xié)議4進(jìn)行Flash/EE存儲器編程

    電子發(fā)燒友網(wǎng)站提供《AN-881: 通過LIN協(xié)議4進(jìn)行Flash/EE存儲器
    發(fā)表于 01-14 16:12 ?0次下載
    AN-881: 通過<b class='flag-5'>LIN</b>—<b class='flag-5'>協(xié)議</b>4<b class='flag-5'>進(jìn)行</b><b class='flag-5'>Flash</b>/<b class='flag-5'>EE</b><b class='flag-5'>存儲器</b><b class='flag-5'>編程</b>

    通過LIN進(jìn)行Flash/EE存儲器編程協(xié)議6

    通過 LIN 總線進(jìn)行閃存/EEPROM 編程
    發(fā)表于 02-19 16:17 ?0次下載