亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        STM32雙核板的應(yīng)用設(shè)計(jì)與ISP的從機(jī)軟件升級(jí)

        2015-07-02 00:17:24綦聲波劉英男王圣南劉群
        關(guān)鍵詞:雙核上位總線

        綦聲波,劉英男,王圣南,劉群

        (中國海洋大學(xué) 工程學(xué)院,青島266100)

        ?

        STM32雙核板的應(yīng)用設(shè)計(jì)與ISP的從機(jī)軟件升級(jí)

        綦聲波,劉英男,王圣南,劉群

        (中國海洋大學(xué) 工程學(xué)院,青島266100)

        針對(duì)單片機(jī)應(yīng)用設(shè)計(jì)中的資源不足、可靠性差和軟件升級(jí)問題,設(shè)計(jì)了一款基于Cortex-M3內(nèi)核的雙核板。該雙核板在不增加開發(fā)難度的情況下使單片機(jī)資源翻倍;通過兩個(gè)MCU之間的任務(wù)合理分工和相互監(jiān)督,提高了整體系統(tǒng)的可靠性;利用CAN總線完成主機(jī)與上位機(jī)的通信和升級(jí)程序的下載,并通過控制引腳實(shí)現(xiàn)基于ISP功能的從機(jī)軟件升級(jí)。

        STM32;雙核板;CAN;軟件升級(jí)

        引 言

        在單片機(jī)的應(yīng)用設(shè)計(jì)中,常常會(huì)遇到如下問題:其一,某一熟悉類型的單片機(jī)功能可用,性價(jià)比也很好,但限于某種內(nèi)部資源(如串口數(shù)、A/D路數(shù)等)不足,不得不選用更高檔或不太熟悉的單片機(jī),造成資源的浪費(fèi)和開發(fā)周期的延長。其二,在海洋遠(yuǎn)程監(jiān)測等重要領(lǐng)域,對(duì)控制器的可靠性要求較高,而單片機(jī)存在死機(jī)的可能性,即使可以通過配備看門狗來避免這種情況,但這種“粗暴”的復(fù)位方式并不合理(首先,復(fù)位打亂了正常的數(shù)據(jù)采集和處理工作,導(dǎo)致重要數(shù)據(jù)丟失;其次,即便能記錄下復(fù)位時(shí)間和次數(shù),但復(fù)位原因和復(fù)位前狀態(tài)等信息無法偵測,一些本該解決的BUG被掩蓋,導(dǎo)致頻繁復(fù)位)。其三,由于開發(fā)周期不足或測試不充分,導(dǎo)致設(shè)備投入運(yùn)行后出現(xiàn)故障,而這些故障往往通過軟件升級(jí)的方式可以解決,但由于設(shè)備的應(yīng)用場所比較特殊(如水下),導(dǎo)致軟件升級(jí)的成本很高[1]。

        針對(duì)上述3種情況,在實(shí)際的項(xiàng)目應(yīng)用中設(shè)計(jì)了基于STM32的雙核板,較好地解決了資源不足、穩(wěn)定性差和基于CAN總線的遠(yuǎn)程升級(jí)等問題,具有性價(jià)比高、開發(fā)周期短等優(yōu)點(diǎn)。

        1 雙核板設(shè)計(jì)

        STM32系列單片機(jī)具有高性能Cortex-M3內(nèi)核和外設(shè),功耗低,集成度高,性價(jià)比高。另外,ST公司還提供了外設(shè)的標(biāo)準(zhǔn)庫函數(shù),屏蔽了底層硬件細(xì)節(jié),能夠使開發(fā)人員輕松完成產(chǎn)品的開發(fā),縮短系統(tǒng)開發(fā)時(shí)間[2]。正因?yàn)槿绱?,STM32系列單片機(jī)得到了開發(fā)者的青睞,其應(yīng)用領(lǐng)域和客戶群不斷擴(kuò)大。其中的STM32F107屬于互聯(lián)型系列,具有以太網(wǎng)和CAN總線接口,在數(shù)據(jù)通信方面具有獨(dú)特的優(yōu)勢(shì)。一種基于STM32F107的雙核板如圖1所示。

        圖1 雙核板結(jié)構(gòu)圖

        圖2 A-CORE和M-CORE的狀態(tài)轉(zhuǎn)換圖

        圖1中,兩個(gè)STM32F107最小系統(tǒng)模塊分別稱為A-CORE和M-CORE,A-CORE具有外看門狗,為主機(jī)模塊;M-CORE不具有外看門狗,但其RST/BOOT0引腳受A-CORE的控制,可以通過串口實(shí)現(xiàn)ISP總線升級(jí),為從機(jī)模塊。由于A-CORE和M-CORE均具有電源系統(tǒng)、復(fù)位電路和下載接口等調(diào)試所需的基本要素,因此可以預(yù)先焊接和調(diào)試好。在具體項(xiàng)目的開發(fā)應(yīng)用中,將雙核板作為一個(gè)獨(dú)立的元件嵌入,一些軟件可以提前驗(yàn)證和編寫,大大縮短了產(chǎn)品的開發(fā)周期。

        在正常工作時(shí),主從機(jī)兩個(gè)模塊獨(dú)立工作,兩者通過SPI總線相互通信。SPI接口傳輸速率可達(dá)到18 Mbps,比I2C和UART通信要快得多。由于采用雙核,通用I/O引腳顯著增多,不僅可以完成更加復(fù)雜的設(shè)計(jì),而且降低了布局布線的難度。對(duì)于熟悉STM32的開發(fā)者來說,開發(fā)難度基本不變,而可使用的資源卻幾乎成倍增加。

        在該雙核板的設(shè)計(jì)中,還考慮了A-CORE對(duì)M-CORE的在線升級(jí)問題。圖1中M-CORE的RST、BOOT0兩個(gè)引腳受A-CORE控制,來實(shí)現(xiàn)M-CORE的復(fù)位和復(fù)位地址選擇;而ISP-AT-MR和ISP-AR-MT兩個(gè)引腳則是作為USART接口,實(shí)現(xiàn)對(duì)M-CORE的ISP升級(jí)。

        2 可靠性設(shè)計(jì)

        在本文的應(yīng)用中,A-CORE和M-CORE分工合作。A-CORE主要完成系統(tǒng)的管理工作,如人機(jī)交互、數(shù)據(jù)存儲(chǔ)、通信等;M-CORE主要完成信息采集、外部設(shè)備控制等功能,這樣設(shè)計(jì)的優(yōu)點(diǎn)是功能分明、負(fù)荷分擔(dān)。負(fù)責(zé)采集控制的M-CORE可以集中精力完成數(shù)據(jù)采集和輔助的控制工作;而負(fù)責(zé)管理的A-CORE除了完成人機(jī)交互、數(shù)據(jù)存儲(chǔ)和通信外,還需要定期發(fā)起與M-CORE的通信,以保證相互監(jiān)督。

        M-CORE收到A-CORE的指令后,會(huì)將當(dāng)前的工作狀態(tài)報(bào)告給A-CORE,再由A-CORE通過CAN總線等手段上傳給更高層的通信主機(jī)。如果A-CORE發(fā)現(xiàn)M-CORE不能正?;貜?fù)信息,則說明M-CORE處于不正常狀態(tài),必要時(shí)可實(shí)現(xiàn)對(duì)M-CORE的“危機(jī)干預(yù)”。例如,在連續(xù)多次均不能正常通信的情況下,可以認(rèn)為M-CORE已處于死機(jī)狀態(tài),A-CORE將復(fù)位M-CORE。A-CORE和M-CORE的狀態(tài)轉(zhuǎn)換圖如圖2所示。

        顯然,這種雙核結(jié)構(gòu)和定時(shí)通信機(jī)制,可以使每個(gè)MCU知道對(duì)方的工作情況。雖然在結(jié)構(gòu)上分出了A-CORE和M-CORE,但由于每個(gè)MCU都有CAN總線與通信主機(jī)相連,因此每個(gè)MCU都可以單獨(dú)通向主機(jī)匯報(bào)工作狀態(tài),匯報(bào)的內(nèi)容都可以通過CAN總線接收到,因此起到了相互監(jiān)督的作用。

        3 基于CAN總線的軟件升級(jí)

        具備遠(yuǎn)程軟件升級(jí)的設(shè)備具有更廣泛的適用性,可以在設(shè)備安裝到位后,通過軟件升級(jí)在線修復(fù)一些問題,不但節(jié)省人力物力,也可以使設(shè)備的功能逐步完善[3]。

        雙核板具有CAN總線,該總線不但是數(shù)據(jù)交換的通道,也是軟件升級(jí)的通道。上位機(jī)可以通過CAN總線將需要升級(jí)的程序代碼下傳到A-CORE,A-CORE控制M-CORE的RST/BOOT0引腳,使M-CORE復(fù)位并進(jìn)入ISP狀態(tài),從而完成在線升級(jí)。由此可見,要實(shí)現(xiàn)基于CAN總線的在線軟件升級(jí),需要3個(gè)條件:一是待升級(jí)系統(tǒng)M-CORE本身具有ISP功能,能通過串口實(shí)現(xiàn)程序的下載;二是A-CORE本身集成CAN總線,可通過CAN總線接收上位機(jī)發(fā)送的待升級(jí)程序代碼;三是A-CORE可以控制M-CORE的RST/BOOT0引腳,完成在線升級(jí)。

        3.1 STM32的ISP升級(jí)

        ISP(In-System Programming)方式相對(duì)于傳統(tǒng)的并行編程方式有了極大的進(jìn)步,無需將單片機(jī)從電路板上卸下就可進(jìn)行編程。STM32系列芯片復(fù)位時(shí),可以通過BOOT1和BOOT0的邏輯電平來決定系統(tǒng)的啟動(dòng)模式,見表1所列。

        表1 STM32啟動(dòng)模式配置

        系統(tǒng)復(fù)位時(shí),CPU根據(jù)這兩個(gè)引腳的邏輯電平把相應(yīng)模式的起始地址映射到啟動(dòng)空間(0x 0000 0000)。在啟動(dòng)延遲之后,CPU從位于0x0開始的啟動(dòng)存儲(chǔ)區(qū)執(zhí)行代碼[4]。由于實(shí)際應(yīng)用中很少從內(nèi)嵌SRAM中啟動(dòng),故可將BOOT1引腳直接設(shè)置為低電平,只通過判斷BOOT0引腳的高低電平來選擇從用戶閃存或系統(tǒng)存儲(chǔ)器中啟動(dòng)。若復(fù)位時(shí)BOOT0的邏輯電平為高,則復(fù)位后從系統(tǒng)存儲(chǔ)器啟動(dòng),可通過USART1與Bootloader進(jìn)行通信。

        STM32芯片具有開放式的在線燒錄ISP協(xié)議,允許第三方根據(jù)該協(xié)議編寫ISP下載軟件,對(duì)STM32芯片進(jìn)行FLASH的更新操作。在進(jìn)行ISP方式升級(jí)時(shí),先發(fā)送0x7F實(shí)現(xiàn)自動(dòng)波特率匹配,能夠識(shí)別最高115 200 bps的串口波特率。如果正確回應(yīng)0x79,表示命令執(zhí)行正常。握手正確后,就可以通過ISP命令實(shí)現(xiàn)對(duì)STM32的ISP操作,完成FLASH的擦除和編程。

        3.2 FLASH分區(qū)存儲(chǔ)

        STM32F107片內(nèi)集成256 KB FLASH和64 KB SRAM,F(xiàn)LASH由主存儲(chǔ)塊(Main Block) 和信息塊( Information Block) 組成。主存儲(chǔ)塊用于存放用戶程序,每頁2 KB,共128頁,容量為32K×64位,地址范圍為0x 0800 0000~0x 0803 FFFF;信息塊容量為2 360×64位,分為啟動(dòng)程序代碼和用戶選擇字節(jié)[5]。啟動(dòng)程序代碼從 0x 1FFF B000~0x 1FFF F7FF,共18 KB,用戶選擇字節(jié)從0x 1FFF F800~0x 1FFF F80F,共16字節(jié)。

        A-CORE的FLASH存儲(chǔ)器分區(qū)如圖3所示。

        圖3 A-CORE的FLASH存儲(chǔ)器分區(qū)

        0x0800 0000~0x0800 1FFF,共8 KB空間,為Bootloader代碼空間。

        0x0800 2000~0x0801 FFFF,為120 KB空間,存放A-CORE自身程序。

        0x0802 0000~0x0803 FFFF,為128 KB空間,存放M-CORE應(yīng)用程序。

        上述空間分配,雖然升級(jí)程序的空間受到了限制,但在大多數(shù)情況下是可行的,因?yàn)锳-CORE和M-CORE任務(wù)分擔(dān),其本身的程序量均不足總FLASH容量的一半。如果出現(xiàn)了空間不足的現(xiàn)象,完全可以換用更大容量的MCU。

        3.3 軟件升級(jí)流程

        要完成A-CORE對(duì)M-CORE的軟件升級(jí),其過程可以分為兩個(gè)階段:基于CAN總線的數(shù)據(jù)傳輸和基于USART的ISP過程。

        (1) 基于CAN總線的數(shù)據(jù)傳輸

        當(dāng)M-CORE需要更新用戶程序時(shí),上位機(jī)將編譯成功的M-CORE升級(jí)程序的HEX文件通過CAN總線發(fā)送到A-CORE。上位機(jī)先發(fā)送升級(jí)指令,A-CORE接收到升級(jí)指令后,將FLASH中M-CORE升級(jí)程序區(qū)(0x 0800 2000~0x 0801 FFFF)擦除,擦除成功后回復(fù)上位機(jī),若回復(fù)錯(cuò)誤信息,則退出升級(jí);上位機(jī)接收到回復(fù)后,按行發(fā)送HEX文件內(nèi)容,A-CORE接收到數(shù)據(jù)后,依次寫入A-CORE的M-CORE升級(jí)程序區(qū)(0x 0800 2000~0x 0801 FFFF)中,接收完畢后向上位機(jī)發(fā)送寫入完畢指令[6]。

        (2) 基于USART的ISP過程

        當(dāng)A-CORE接收到上位機(jī)發(fā)送的升級(jí)執(zhí)行指令后,升級(jí)流程如下:

        ① 置M-CORE的BOOT0引腳為高電平,然后置RST引腳為低電平,復(fù)位M-CORE,使其從系統(tǒng)的內(nèi)存模式啟動(dòng),然后將RST引腳拉高。

        ② A-CORE向M-CORE發(fā)送0x7F,M-CORE接收該數(shù)據(jù),并根據(jù)該數(shù)據(jù)與A-CORE自動(dòng)匹配波特率,進(jìn)行回復(fù)。若回復(fù)0x79,則表示可以進(jìn)行相關(guān)擦除和寫FLASH操作了,若回復(fù) 0x1F,則升級(jí)失敗。

        ③ A-CORE收到正確的應(yīng)答,則發(fā)送0x44+0xBB,根據(jù)程序大小擦除FLASH,根據(jù) STM32F107內(nèi)部固有的Bootloader串口協(xié)議,擦除完成后回復(fù)A-CORE。

        ④ A-CORE等待接收M-CORE的回復(fù),收到正確的應(yīng)答之后,發(fā)送0x31+0xCE,把存儲(chǔ)到A-CORE FLASH中的M-CORE升級(jí)程序區(qū)的內(nèi)容寫到M-CORE的相應(yīng)FLASH中,一次寫256個(gè)字節(jié),直到把所有的用戶程序?qū)懭胗脩舸鎯?chǔ)區(qū)。

        ⑤ A-CORE控制BOOT0引腳,并控制RST為低電平,對(duì)M-CORE進(jìn)行硬件復(fù)位,M-CORE重新初始化程序,從而運(yùn)行剛剛更新的用戶程序。

        軟件升級(jí)交互流程如圖4所示。

        圖4 軟件升級(jí)流程圖

        結(jié) 語

        [1] 張萌.基于ISP/IAP和CAN總線的遠(yuǎn)程升級(jí)系統(tǒng)研制[D].青島:中國海洋大學(xué),2013.

        [2] 鮑玉龍.基于STM32的雙處理器牙花加工控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:杭州電子科技大學(xué), 2012.

        [3] 周天兵,劉國忠.單片機(jī)程序遠(yuǎn)程升級(jí)技術(shù)[J].儀表技術(shù),2011(9):25-31.

        [4] 張舞杰,南亦民.基于STM32F103VB的應(yīng)用編程技術(shù)的實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2009,29(10):2820-2822.

        [5] 羅成娥,任海強(qiáng).基于CAN總線的在線升級(jí)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字通信,2013,40(6):28-32.

        [6] 江斌,黎明.基于CAN的遠(yuǎn)程下載技術(shù)開發(fā)及應(yīng)用[J].微計(jì)算機(jī)信息,2010,26(9-2):80-82.

        綦聲波(副教授),主要研究方向?yàn)榍度胧较到y(tǒng)、智能儀器儀表、海洋裝備。

        Altera加入工業(yè)互聯(lián)網(wǎng)聯(lián)盟

        Altera公司宣布加入工業(yè)互聯(lián)網(wǎng)聯(lián)盟(Industrial Internet Consortium,IIC),這一行業(yè)協(xié)作組織旨在促進(jìn)物聯(lián)網(wǎng)(IoT)全球生態(tài)系統(tǒng)的發(fā)展。特別指出的是,Altera與聯(lián)盟成員在技術(shù)發(fā)展路線圖上一起工作,開發(fā)工業(yè)互聯(lián)網(wǎng),在這一智能設(shè)備和傳感器網(wǎng)絡(luò)上,數(shù)據(jù)通過不同的互聯(lián)協(xié)議進(jìn)行交換,增強(qiáng)了多種終端市場應(yīng)用的性能。這一智能連接網(wǎng)絡(luò)可支持企業(yè)開發(fā)“智能”的新業(yè)務(wù)應(yīng)用,對(duì)資產(chǎn)和業(yè)務(wù)進(jìn)行優(yōu)化、簡化,或者自動(dòng)化現(xiàn)有流程。

        工業(yè)互聯(lián)網(wǎng)聯(lián)盟執(zhí)行總監(jiān)Richard Soley博士表示:“IIC一直處于工業(yè)IoT創(chuàng)新和技術(shù)開發(fā)的最前沿。我們非常高興Altera能夠加入IIC,發(fā)揮其在FPGA和SoC解決方案方面的優(yōu)勢(shì),開發(fā)更加靈活和安全的IoT系統(tǒng)。”

        Application Design of STM32 Dual-core Board and Slave CoreSoftware Upgrade of ISP

        Qi Shengbo,Liu Yingnan,Wang Shengnan,Liu Qun

        (College of Engineering,Ocean University of China,Qingdao 266100,China)

        Aiming at the application problems of MCU such as the lack of resources,poor reliability and the software upgrade,a dual-core board based on Cortex-M3 kernel is designed in this paper.The dual-core board almost doubles the MCU resources without increasing the difficulty of development,and it improves the reliability of the whole system through the rational burden division and mutual supervision between two MCUs.Upgrading program can be transmitted between the master core and the upper monitor by CAN bus.The slave core software upgrade based on ISP is realized through controlling pin.

        STM32;dual-core board;CAN bus;software upgrade

        TP212.6

        A

        士然

        2014-12-23)

        猜你喜歡
        雙核上位總線
        全球金融“F20”在此召開!橫瀝進(jìn)入“雙核”時(shí)代
        基于PCI Express總線的xHC與FPGA的直接通信
        機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
        新型夾心雙核配和物[Zn2(ABTC)(phen)2(H2O)6·2H2O]的合成及其熒光性能
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        多通道ARINC429總線檢查儀
        三螺旋N-N橋連的雙核Co(Ⅲ)配合物的合成、結(jié)構(gòu)和性質(zhì)
        gv天堂gv无码男同在线观看| 黄片免费观看视频播放| 日韩精品在线一二三四区| 熟女人妇 成熟妇女系列视频| 亚洲中文字幕无码专区| 亚洲国产精品无码久久九九大片健| 日韩精品视频av在线观看| 欧美牲交a欧美牲交aⅴ免费下载| 开心五月激情综合婷婷| 日韩久久久久中文字幕人妻| 色婷婷久久综合中文久久一本| 亚洲av福利天堂一区二区三| 久久人与动人物a级毛片| 国产va精品免费观看| 亚洲一区二区三区免费av| 亚洲小说区图片区色综合网| 洗澡被公强奷30分钟视频| 亚洲中文久久久久无码| 国产精品国产传播国产三级| 久久人妻精品免费二区| 麻豆精品导航| 人妻少妇被猛烈进入中文字幕| 亚洲狼人社区av在线观看| 一区二区三区在线观看人妖| 欧美日韩在线视频一区| 国产成人www免费人成看片| 日本一区二区三区中文字幕视频 | 在线成人tv天堂中文字幕| 男人的精品天堂一区二区在线观看| 欧美乱大交xxxxx潮喷| 日本大片免费观看完整视频| 蜜桃一区二区免费视频观看| 日本人视频国产一区二区三区| 久久精品免费观看国产| 国产短视频精品区第一页| 久亚洲一线产区二线产区三线麻豆| 婷婷色香五月综合缴缴情| 亚洲人成无码网站久久99热国产 | 国产av一区二区三区在线| 亚洲天码一区二区三区| 日韩日韩日韩日韩日韩日韩|