• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Arduino實現(xiàn)帶CAN功能的STM32燒錄器控制系統(tǒng)

      2020-08-26 09:07:26陳景郁朱洪雷
      科技視界 2020年24期
      關(guān)鍵詞:固件微控制器報文

      陳景郁 朱洪雷

      0 引言

      STM32系列的微控制器,由于其性能優(yōu)勢,性價比高,穩(wěn)定性好,廣泛用在嵌入式設(shè)備中;在物聯(lián)網(wǎng)、智能家居、智能汽車以及智能醫(yī)療系統(tǒng)中都有應(yīng)用[1-2]。目前市場上,STM32系列微控制器的燒錄設(shè)備比較單一,固件燒錄定制化的功能不足;或者使用定制化的燒錄設(shè)備,但成本就會比較高,對于生產(chǎn)線要求高,難以推廣。本文介紹在定制化STM32燒錄器過程中,基于Arduino快速實現(xiàn)燒錄器CAN通信需求的一種方案,以一種比較低成本的方法,最大限度滿足生產(chǎn)特殊的需求。

      1 燒錄器功能概述

      STM32系列微控制器可以通過ST公司提供的調(diào)試開發(fā)工具ST-Link燒錄固件。本文介紹的定制化燒錄器通過集成多路ST-Link的方法,實現(xiàn)多路的差異化燒錄STM32微控制器方法。燒錄器上集成多路ST-Link通過USB總線連接到上位機PC端。上位機PC控制固件的加載導入,可以分別加載不同的固件。定制化的燒錄器上,需要有控制器控制燒錄器的電源,指示燈機以及按鍵。另外由于燒錄器有接入CAN網(wǎng)絡(luò)總線的需求,需要增加CAN控制器模塊。

      燒錄器的控制主要是I/O的控制,以及CAN網(wǎng)絡(luò)總線的傳輸。CAN傳輸?shù)臄?shù)據(jù)量并不大,不需要非常高的負載,只需要滿足500KBPS的速率即可。所以這里選擇了比較便捷靈活的Arduino開發(fā)系統(tǒng)及其套件來實現(xiàn)。

      Arduino是開源的電子開發(fā)系統(tǒng),由于其便捷、靈活及開放的開發(fā)方式,深受廣大電子愛好者們的喜歡[3]。從2005年Arduino項目誕生以來,吸引了無數(shù)發(fā)開這參與到其中,衍生出許多種控制器;也為后來的開發(fā)者引入許多開發(fā)案例。在此基礎(chǔ)上可以非常靈活迅速地搭建出一個控制系統(tǒng)。在本文的案例中,我們選用了Arduino UNO主控板,CAN控制器選擇MCP2515芯片的開發(fā)套件。

      Arduino UNO是最基礎(chǔ)的主控板,ATmega328P微控制器,5 V工作電壓,16MHz的工作頻率,32KB的Flash,2KB的RAM,有14個數(shù)字I/O,6個模擬I/O,I/O驅(qū)動電流可達20 mA。通過USB連接,可以通過USB供電,調(diào)試開發(fā)都非常方便。

      MCP2515是MicroChip公司推出的一款CAN協(xié)議控制器芯片,支持CAN V2.0B的協(xié)議規(guī)范,通訊速率可達1Mbps[4]??梢酝ㄟ^SPI接口控制MCP2515芯片,速率可達到10 MHz。芯片能發(fā)送和接收標準和擴展數(shù)據(jù)幀以及遠程幀,自帶2個驗收屏蔽寄存器和6個驗收濾波寄存器可以忽略不關(guān)注的報文,減少控制器不必要的開銷。配合TJA1050 CAN總線收發(fā)器,就可以將節(jié)點掛接在CAN總線上了。

      圖1 MCP2515 CAN控制器模塊原理圖

      2 燒錄器控制系統(tǒng)設(shè)計

      燒錄器上設(shè)置了多位STM32待燒錄芯片,通過ST-Link連接。PC通過USB總線連接各個ST-Link,燒錄固件通過PC加載導入。

      燒錄器控制器由Arduino UNO和MCP2515 CAN控制器組成,可以控制燒錄器上的按鍵、指示燈和蜂鳴器,以及UART與PC上位機連接。通過MCP2515連接到CAN總線上,監(jiān)聽CAN總線上的報文,可以實現(xiàn)遠程CAN網(wǎng)絡(luò)對燒錄固件的選擇,完成燒錄任務(wù)后,檢測芯片燒錄情況,芯片自檢是否成功等。燒錄器設(shè)計系統(tǒng)如下圖。

      3 軟件設(shè)計與調(diào)試

      Arduino軟件的開發(fā),使用Arduino IDE工具,非常方便快捷就可以搭建系統(tǒng);可以通過庫的更新,不斷擴展Arduino的能力,增加新的開發(fā)功能。大部分庫都是開源的軟件,全球有許多工程師在為此開發(fā)新的庫,設(shè)計新的模塊套件,數(shù)量還在不斷地增長。

      在開發(fā)調(diào)試時候,需要注意的幾個技巧要點:

      (1)Arduino調(diào)試打印端口與通信端口的獨立分開,因為Arduino IDE采用了USB serial串口與Arduino UNO開發(fā)板的通信,包括固件的下載。如果調(diào)試log也通過統(tǒng)一個串口打印,會比較混亂。Arduino提供了GPIO模擬串口的接口,選用GPIO模擬串口作為調(diào)試log輸出,可以方便調(diào)試,隔離控制數(shù)據(jù),對系統(tǒng)穩(wěn)定性也有較好的幫助。定義PB0和PB1為串口RX和TX管腳:

      (3)MCP2515初始化時候,要注意時鐘頻率的設(shè)置,時鐘設(shè)置要與硬件設(shè)計保持一致。本文案例使用時鐘為8MHz,與Arduino中默認的時鐘有差別,需要特別修改。

      CAN.begin(CAN_500KBPS,MCP_8MHz)

      (4)MCP2515是可以設(shè)置過濾器,幀ID符合才緩存報文;這樣可以減少控制器的負載,減少不必要CAN報文的干擾。

      CAN.init_Filt(0,1,0x073)

      4 總結(jié)

      基于Arduino實現(xiàn)的帶CAN總線連接控制的燒錄器,解決了上位機PC接入CAN總線的問題,實現(xiàn)了通過CAN控制芯片的燒錄和燒錄后的測試自檢。使用Arduino開發(fā)平臺,方便快捷靈活,性價比高,穩(wěn)定性也有所保證。定制化的燒錄器設(shè)備應(yīng)用到產(chǎn)線生產(chǎn)上,能很好地解決了燒錄裝置的問題,大大提高了生產(chǎn)效率。

      圖2燒錄器設(shè)計框圖

      猜你喜歡
      固件微控制器報文
      基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
      淺析反駁類報文要點
      中國外匯(2019年11期)2019-08-27 02:06:30
      物聯(lián)網(wǎng)技術(shù)在微控制器實驗教學中的應(yīng)用
      電子制作(2017年14期)2017-12-18 07:07:58
      基于固件的遠程身份認證
      ATS與列車通信報文分析
      提取ROM固件中的APP
      電腦愛好者(2015年7期)2015-04-09 08:54:02
      Atmel針對新一代物聯(lián)網(wǎng)應(yīng)用發(fā)布全新32位微控制器
      最新STM32設(shè)計工具增加對混合信號微控制器的支持
      一種通過USB接口的可靠固件升級技術(shù)
      东宁县| 盘锦市| 兴山县| 右玉县| 武夷山市| 晋江市| 汝州市| 衡阳市| 偃师市| 西丰县| 沁水县| 阿勒泰市| 凤翔县| 遂溪县| 焦作市| 汨罗市| 汝南县| 寻乌县| 延吉市| 包头市| 澎湖县| 巴青县| 石屏县| 富顺县| 新昌县| 汶上县| 北宁市| 石景山区| 皋兰县| 奎屯市| 常州市| 龙泉市| 昌宁县| 江油市| 开鲁县| 三亚市| 江城| 房山区| 青浦区| 桂林市| 安仁县|