精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

基于LPC11C24微控制器組成的CAN網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)節(jié)點(diǎn)MCU的軟件更新

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-09-05 09:20 ? 次閱讀

0引言

分散型控制系統(tǒng)中的現(xiàn)場(chǎng)終端一般由控制器和各檢測(cè)模塊構(gòu)成,它們之間通過(guò)一定的通信網(wǎng)絡(luò)建立數(shù)據(jù)的交換鏈路。這種系統(tǒng)具有高可靠、開(kāi)放性、靈活性、協(xié)調(diào)性、易維護(hù)等優(yōu)點(diǎn)。然而,該分散型系統(tǒng)也具有終端數(shù)量多、分布范圍廣的特點(diǎn)。一旦終端系統(tǒng)軟件存在缺陷或用戶提出新的功能和指標(biāo)要求時(shí),其升級(jí)、維護(hù)的工作量和成本都非常大。本文針對(duì)上述情況,設(shè)計(jì)了一種方便、靈活、快速及穩(wěn)定地對(duì)MCU節(jié)點(diǎn)進(jìn)行在線更新的機(jī)制。基于LPC11C24微控制器組成的CAN網(wǎng)絡(luò),采用IAP編程技術(shù)(In Application Programming),實(shí)現(xiàn)了對(duì)目標(biāo)節(jié)點(diǎn)MCU的軟件更新功能。

1 LPC11C24單片機(jī)和CAN總線

恩智浦半導(dǎo)體(NXP)推出業(yè)界首款內(nèi)嵌易用型片上CANopen驅(qū)動(dòng),集成高速CAN物理層收發(fā)器的微控制器LPC11C22和LPC11C24.作為一種獨(dú)特的系統(tǒng)級(jí)封裝解決方案,LPC11C22和LPC11C24集成了TJF1051CAN收發(fā)器,在低成本LQFP48封裝中實(shí)現(xiàn)了完整的CAN功能。

控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN)是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國(guó)BOSCH公司開(kāi)發(fā)了的,并最終成為國(guó)際標(biāo)準(zhǔn)(ISO11898)。它是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。近年來(lái),其所具有的高可靠性和良好的錯(cuò)誤檢測(cè)能力受到重視,被廣泛應(yīng)用于汽車計(jì)算機(jī)控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強(qiáng)和振動(dòng)大的工業(yè)環(huán)境。

2在線更新機(jī)制架構(gòu)

系統(tǒng)架構(gòu)主要由2部分組成:由各個(gè)MCU組成的CAN網(wǎng)絡(luò);安裝在PC機(jī)上的USB-CAN通信卡,可以使PC機(jī)連上CAN網(wǎng)絡(luò),進(jìn)行數(shù)據(jù)通信,系統(tǒng)構(gòu)架如圖1所示。軟件也包括2部分:運(yùn)行在PC機(jī)的上位機(jī)軟件,提供用戶操作界面,將應(yīng)用程序代碼通過(guò)CAN總線發(fā)送給節(jié)點(diǎn);運(yùn)行在節(jié)點(diǎn)的啟動(dòng)程序,主要是響應(yīng)下載命令,接受代碼,把代碼寫(xiě)入FLASH,引導(dǎo)應(yīng)用程序。

基于LPC11C24微控制器組成的CAN網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)節(jié)點(diǎn)MCU的軟件更新

圖1 系統(tǒng)架構(gòu)

3在線更新機(jī)制的設(shè)計(jì)

3.1 IAP編程技術(shù)

IAP是應(yīng)用在FLASH程序存儲(chǔ)器的一種編程模式,即在某段程序的控制下完成對(duì)FLASH的讀/寫(xiě)操作,可以控制對(duì)某段、某頁(yè)、甚至某個(gè)字節(jié)的讀寫(xiě)操作。

LPC11C24單片機(jī)支持并提供9條IAP命令:

①準(zhǔn)備寫(xiě)操作的扇區(qū);

②將RAM內(nèi)容復(fù)制到FLASH;

③擦除扇區(qū);

④扇區(qū)查空;

⑤讀器件ID;

⑥讀Boot代碼版本;

⑦比較;

⑧重新調(diào)用ISP;

⑨讀UID.

3.2 FLASH空間分配

LPC11C24有32KB的FLASH空間,共分為8個(gè)扇區(qū),每個(gè)扇區(qū)的大小為4KB.為了使程序更新和應(yīng)用程序更加獨(dú)立,本文將FLASH空間分為3個(gè)區(qū),分別為啟動(dòng)程序區(qū),應(yīng)用程序區(qū),用戶數(shù)據(jù)區(qū)。

基于LPC11C24微控制器組成的CAN網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)節(jié)點(diǎn)MCU的軟件更新

其中①啟動(dòng)程序是一段特定的駐留代碼,專門用于接收來(lái)自主機(jī)新的代碼,將其燒寫(xiě)到相應(yīng)的FLASH空間,完成后跳轉(zhuǎn)到應(yīng)用代碼區(qū)去執(zhí)行新的程序,代碼比較少,編譯生成的映像文件小于4KB,每次系統(tǒng)上電或重啟后先執(zhí)行啟動(dòng)程序。

②應(yīng)用程序是真正實(shí)現(xiàn)用戶功能的代碼。

③用戶數(shù)據(jù)區(qū)是用于存儲(chǔ)應(yīng)用程序的一些設(shè)置和數(shù)據(jù)。

3.3中斷向量表重映射與復(fù)制

LPC11C24支持32個(gè)向量中斷,中斷向量表默認(rèn)位于FLASH的第一個(gè)4KB空間,地址從0x00000000~0x00000079.按照前面的設(shè)計(jì),啟動(dòng)程序占用第一個(gè)4KB的空間,當(dāng)跳轉(zhuǎn)到應(yīng)用程序時(shí),實(shí)際的中斷向量表是位于0x00001000~0x00001079的空間。但LPC11C24系列的單片機(jī)不支持自定義中斷向量表的地址,只支持將中斷向量表從FLASH重映射到RAM.

為了能讓?xiě)?yīng)用程序?qū)崿F(xiàn)正常的中斷處理,啟動(dòng)程序在跳轉(zhuǎn)到應(yīng)用程序之前還需要將應(yīng)用程序的中斷向量表復(fù)制并映射到RAM[10].

代碼實(shí)例如下:

基于LPC11C24微控制器組成的CAN網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)節(jié)點(diǎn)MCU的軟件更新

3.4啟動(dòng)程序和應(yīng)用程序的設(shè)計(jì)與固化

程序都在Keil for ARM集成環(huán)境下編寫(xiě)并編譯。

首先在Keil軟件下新建基于LPC11C24的工程,并配置FLASH和SRMA的起始地址和大小。具體如表2所示。

基于LPC11C24微控制器組成的CAN網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)節(jié)點(diǎn)MCU的軟件更新

3.5啟動(dòng)程序與應(yīng)用程序之前的跳轉(zhuǎn)

在啟動(dòng)程序中定義應(yīng)用程序的地址,#defineAPP_CODE_ADDR (0x00001000),程序跳轉(zhuǎn)的代碼采用匯編語(yǔ)言編寫(xiě),代碼實(shí)例如下:

基于LPC11C24微控制器組成的CAN網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)節(jié)點(diǎn)MCU的軟件更新

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

    關(guān)注

    48

    文章

    7492

    瀏覽量

    151076
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6032

    文章

    44522

    瀏覽量

    633182
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16212

    瀏覽量

    177448
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1936

    瀏覽量

    130636
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    客車網(wǎng)絡(luò)控制CAN/CAN網(wǎng)橋設(shè)計(jì)

    客車網(wǎng)絡(luò)控制CAN/CAN網(wǎng)橋設(shè)計(jì)摘要: 本文以LPC2119 微控制器為核心設(shè)計(jì)了客車
    發(fā)表于 12-01 10:29

    求助lpc11c24開(kāi)發(fā)板

    請(qǐng)問(wèn)我的lpc11c24開(kāi)發(fā)板接上u***轉(zhuǎn)串口線為什么在電腦看不到com口,之前裝了51的u***轉(zhuǎn)串口的驅(qū)動(dòng),這個(gè)開(kāi)發(fā)板沒(méi)有附帶驅(qū)動(dòng)。請(qǐng)問(wèn)這個(gè)問(wèn)題怎么解決啊?謝謝
    發(fā)表于 08-18 00:12

    利用XC2300系列微控制器實(shí)現(xiàn)CAN網(wǎng)絡(luò)安全

    全新的XC2300系列微控制器專為安全關(guān)鍵系統(tǒng)而設(shè)計(jì),可支持多個(gè)并行的CAN網(wǎng)絡(luò)。網(wǎng)關(guān)功能實(shí)現(xiàn)了不同CAN
    發(fā)表于 12-07 10:09

    LPC2194CAN控制器和ARM微控制器相關(guān)資料分享

    LPC2194是飛利浦公司生產(chǎn)的一款CAN控制器和ARM微控制器。它為四面64腳封裝。自帶4路CAN控制
    發(fā)表于 04-22 07:37

    以8051微控制器和82527獨(dú)立CAN總線控制器為核心組成

    介紹一種以8051微控制器和82527獨(dú)立CAN總線控制器為核心組成CAN總線智能傳感
    發(fā)表于 07-17 08:41 ?26次下載

    恩智浦推出首款內(nèi)嵌易用型片上CANopen驅(qū)動(dòng)微控制器

    恩智浦半導(dǎo)體近日宣布推出業(yè)界首款內(nèi)嵌易用型片上CANopen驅(qū)動(dòng),集成高速CAN物理層收發(fā)微控制器LPC11C22和LPC11C24
    發(fā)表于 01-19 08:14 ?906次閱讀

    NXP推出首款LPC11C22和LPC11C24整合式CAN收發(fā)微控制器解決方案

    恩智浦半導(dǎo)體(NXP Semiconductors N.V.)宣布推出業(yè)界首款內(nèi)嵌易用型on-chip CANopen驅(qū)動(dòng)的整合式高速CAN實(shí)體層收發(fā)微控制器
    發(fā)表于 01-26 22:05 ?4872次閱讀

    基于LPC2294的CAN總線主節(jié)點(diǎn)設(shè)計(jì)

    為引入CAN總線技術(shù)以實(shí)現(xiàn)運(yùn)動(dòng)控制系統(tǒng)的網(wǎng)絡(luò)化,提出了基于LPC2294的CAN總線主
    發(fā)表于 06-21 15:17 ?61次下載
    基于<b class='flag-5'>LPC</b>2294的<b class='flag-5'>CAN</b>總線主<b class='flag-5'>節(jié)點(diǎn)</b>設(shè)計(jì)

    基于LPC2294的CAN總線智能節(jié)點(diǎn)設(shè)計(jì)

    CAN總線是一種應(yīng)用廣泛的實(shí)時(shí)性現(xiàn)場(chǎng)總線。本文提出了一種基于具有ARM7DMI內(nèi)核的32位ARM微控制器LPC2294的CAN總線智能節(jié)點(diǎn)設(shè)
    發(fā)表于 05-29 09:27 ?3840次閱讀
    基于<b class='flag-5'>LPC</b>2294的<b class='flag-5'>CAN</b>總線智能<b class='flag-5'>節(jié)點(diǎn)</b>設(shè)計(jì)

    LPC11CXX CAN ISP升級(jí)方法

    基于TinyM0-CAN和TinyM0-CAN-T開(kāi)發(fā)套件講解LPC11C1x和LPC11C2x系列微控制器
    發(fā)表于 09-27 16:34 ?10次下載

    詳解LPC2000系列ARM微控制器CAN驗(yàn)收濾波應(yīng)用

     LPC2000 系列ARM微控制器是采用ARM7TDMI-S內(nèi)核的32位嵌入式微處理,內(nèi)嵌2路或4路CAN控制器和驗(yàn)收濾波
    發(fā)表于 02-08 19:24 ?2257次閱讀
    詳解<b class='flag-5'>LPC</b>2000系列ARM<b class='flag-5'>微控制器</b>的<b class='flag-5'>CAN</b>驗(yàn)收濾波<b class='flag-5'>器</b>應(yīng)用

    LPC2131微控制器外部實(shí)現(xiàn)CAN總線通信設(shè)計(jì)

    Philips公司的LPC213l是基于ARM7TDMI-S的高性能32位RISC微控制器。它具有ARM處理的所有優(yōu)點(diǎn)——低功耗、高性能和較為豐富的片上資源,但LPC2131內(nèi)部沒(méi)有
    的頭像 發(fā)表于 04-18 08:08 ?3149次閱讀
    在<b class='flag-5'>LPC</b>2131<b class='flag-5'>微控制器</b>外部<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>CAN</b>總線通信設(shè)計(jì)

    微控制器(MCU)由什么組成

    微控制器MCU)由中央處理(CPU),非易失性存儲(chǔ)(ROM),易失性存儲(chǔ)(RAM),外圍設(shè)備和支持電路
    發(fā)表于 06-29 11:20 ?9380次閱讀

    基于LPC2292微控制器CAN控制器實(shí)現(xiàn)車輛行駛監(jiān)控系統(tǒng)的設(shè)計(jì)

    選用帶有ARM7TDMI-S內(nèi)核的LPC2292微控制器,可實(shí)現(xiàn)對(duì)車速、轉(zhuǎn)速信號(hào)、開(kāi)關(guān)量信號(hào)以及水溫、剎車氣壓、輪胎壓力等模擬量信號(hào)的采集、處理以及數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)和顯示,通過(guò)串口、USB接口可以
    的頭像 發(fā)表于 04-02 09:13 ?2541次閱讀
    基于<b class='flag-5'>LPC</b>2292<b class='flag-5'>微控制器</b>和<b class='flag-5'>CAN</b><b class='flag-5'>控制器</b><b class='flag-5'>實(shí)現(xiàn)</b>車輛行駛監(jiān)控系統(tǒng)的設(shè)計(jì)

    CAN控制器和收發(fā)

    SJA1000CAN控制器集成在微控制器中,如NXP半導(dǎo)體公司的Cortex-M0內(nèi)核LPC11Cxx系列微控制器
    發(fā)表于 12-04 11:21 ?28次下載
    <b class='flag-5'>CAN</b><b class='flag-5'>控制器</b>和收發(fā)<b class='flag-5'>器</b>