日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:CAN總線(xiàn)是一種使用CAN協(xié)議的串行通信網(wǎng)絡(luò)。Silicon Laboratories公司的單片機(jī)C8051F040是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,而且內(nèi)部集成了CAN控制器。文中詳述了如何通過(guò)CAN總線(xiàn)實(shí)現(xiàn)對(duì)軟件的升級(jí),并給出具體的軟

摘要:CAN總線(xiàn)是一種使用CAN協(xié)議的串行通信網(wǎng)絡(luò)。Silicon Laboratories公司的單片機(jī)C8051F040是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,而且內(nèi)部集成了CAN控制器。文中詳述了如何通過(guò)CAN總線(xiàn)實(shí)現(xiàn)對(duì)軟件的升級(jí),并給出具體的軟件設(shè)計(jì)方案。
關(guān)鍵詞:C8051F040;CAN;IAP

    CAN總線(xiàn)是低成本、高利用率的工業(yè)控制總線(xiàn),在工業(yè)控制、汽車(chē)電子等方面有十分廣泛的用途。
    C8051F040單片機(jī)內(nèi)部集成的CAN控制器是Bosch全功能CAN模塊的完全實(shí)現(xiàn),完全符合CAN規(guī)范2.0 B,其內(nèi)部還集成了64 kB系統(tǒng)編程用FLASH存儲(chǔ)器,這就為軟件的更新、升級(jí)提供了可能。當(dāng)產(chǎn)品安裝位置不方便拆卸或需要一次更新大量產(chǎn)品軟件的時(shí)候,使用單片機(jī)JTAG接口來(lái)實(shí)現(xiàn)幾乎是不可能的事情。本文提出一種系統(tǒng)升級(jí)的方法,也對(duì)單片機(jī)的產(chǎn)品設(shè)計(jì)具有重要的參考價(jià)值。

1 總體思路
    將C8051F040的64KB存儲(chǔ)器分為三個(gè)區(qū)域:0x0000~0x5fff作為正常運(yùn)行的程序存儲(chǔ)區(qū),0x6000~0xbfff作為從CAN總線(xiàn)接收到的需要更新程序的存儲(chǔ)區(qū),0xc000以上作為bootloader程序的存儲(chǔ)區(qū)。
    正常運(yùn)行的程序在接收到上位機(jī)的程序更新命令后(用戶(hù)自定義通訊協(xié)議來(lái)實(shí)現(xiàn)),接收數(shù)據(jù),且將其按接收順序?qū)懭氲揭?x6000開(kāi)始的區(qū)域中,直到接收完畢,然后主程序判斷接收數(shù)據(jù)是否完整、有效,如完整且有效則跳轉(zhuǎn)到bootloader程序中,由bootloader程序完成更新程序的工作。

2 程序軟件框圖
    (1)bootloader程序
    新建立一個(gè)proiect,其中包含程序初始化、端口配置、FLASH讀/寫(xiě)等函數(shù)。
    ①FLASH寫(xiě)框圖(見(jiàn)圖1)
    ②編譯控制項(xiàng)
    在linker中,使用“CODE(0c000h,MAINRUN_3s(0c000h))”將程序編譯完成后的代碼放置到以0xc000開(kāi)始的地址空間。


    (2)主程序
    主程序在確認(rèn)更新程序的有效性后,需要跳轉(zhuǎn)到bootloader程序中運(yùn)行。由于主程序和bootloader程序是采用不用的項(xiàng)目進(jìn)行編譯的,故不能直接調(diào)用,必須采用絕對(duì)調(diào)用的方法。采用函數(shù)指針是一種可行的方式,如:
    void(*update_flash) 0=0xc000;
    //定義函數(shù)指針指向0Xc000
    (3)上位機(jī)軟件
    由于本文中節(jié)點(diǎn)采用CAN總線(xiàn)連接到同一網(wǎng)絡(luò)上,且采用CAN通訊的方式來(lái)更新程序內(nèi)容,所以,上位機(jī)也必須帶CAN控制器。
    將需要更新的程序的hex文件通過(guò)HEXBTN.EXE文件轉(zhuǎn)換成BIN文件,然后再用BIN2C.EXE將生成的BIN文件轉(zhuǎn)換成一字節(jié)數(shù)組,將其拷貝到上位機(jī)軟件中,這就是需要更新的源程序。按自定義通訊協(xié)議,將其發(fā)送到目標(biāo)CPU即可。

3 需要注意的事項(xiàng)
    (1)程序有效性的判斷由自定義通訊協(xié)議完成
    (2)在寫(xiě)FLASH的過(guò)程中,需要關(guān)中斷
    (3)在寫(xiě)FLASH的過(guò)程中,需要關(guān)中斷

4 結(jié)束語(yǔ)
    文中的通過(guò)CAN總線(xiàn)實(shí)王見(jiàn)軟件IAP技術(shù)的方法,完全可以使用,而且抗干擾能力較強(qiáng),已成功應(yīng)用于蓄電池檢測(cè)系統(tǒng)中各個(gè)檢測(cè)模塊的程序更新。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉