• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Labview的Bootloader上位機(jī)實(shí)現(xiàn)

    2020-12-14 09:21:25田洪杰孔微
    理論與創(chuàng)新 2020年19期
    關(guān)鍵詞:虛擬儀器

    田洪杰 孔微

    【摘? 要】Labview在測控領(lǐng)域應(yīng)用廣泛,其圖形化的編程方式較傳統(tǒng)的文本編程方式入門難度更低。本文使用Labview編寫上位機(jī)實(shí)現(xiàn)了對S19文件的解析、數(shù)據(jù)的收發(fā),并結(jié)合下位機(jī)底層Bootloader程序?qū)崿F(xiàn)了對控制器程序的刷寫。

    【關(guān)鍵詞】虛擬儀器;Labview;Bootloader

    1.技術(shù)背景

    Labview是美國NI公司推出的一款圖形化的編程環(huán)境,不同于傳統(tǒng)的文本編程環(huán)境,Labview通過拖拽連線的方式進(jìn)行編程,軟件內(nèi)置了大量的功能組件,工程師可以通過對這些組件的組合快速的實(shí)現(xiàn)所需的軟件功能。 在使用Labview編程時,后端功能邏輯可以與前端界面同步開發(fā),大大提高了編程效率,在SpaceX火箭的地面測控系統(tǒng)中就使用了Labview來編寫GUI界面用于發(fā)射和控制。本文使用Labview開發(fā)了一款車載控制器的Bootloader上位機(jī)系統(tǒng),并實(shí)現(xiàn)了對MC9S12XS128控制器的程序刷寫,以此來探索Labview在控制器測試開發(fā)中的應(yīng)用。

    2.總體設(shè)計

    Bootloader 上位機(jī)主要功能是將編譯完成的程序數(shù)據(jù)刷寫到控制器的指定內(nèi)存區(qū)域,實(shí)現(xiàn)對控制器程序的更新。上位機(jī)讀取程序文件,并將文件解析成數(shù)據(jù)和對應(yīng)的刷寫地址,通過通用接口將這些指令發(fā)送給控制器,控制器的底層Bootloader服務(wù)程序在芯片級實(shí)現(xiàn)數(shù)據(jù)的更改。軟件后臺總體分為S19文件解析、USBCAN協(xié)議轉(zhuǎn)換、數(shù)據(jù)刷寫等幾個功能塊。

    3.S19 文件解析

    S19文件是飛思卡爾公司推出的一種數(shù)據(jù)存儲格式,文件以文本格式存儲了編譯后的數(shù)據(jù)和數(shù)據(jù)存放地址。S19文件在每一行數(shù)據(jù)(又稱記錄)的起始都用標(biāo)明了本行的數(shù)據(jù)類型。在上位機(jī)書解析文件時,關(guān)心以S1開頭的行即可。以下面的行為例:

    S105FF7AC019A8

    “S1“表明本條記錄存儲的地址值長度為2字節(jié),”05“表示數(shù)據(jù)長度,”FF7A“為數(shù)據(jù)起始地址,”C019“為從起始地址開始需要寫入存儲區(qū)的數(shù)據(jù),”A8“為校驗(yàn)位。在Labview編程時,使用“讀取讀取文本文件”VI可以方便的讀取S19文件,使用“截取字符串“VI可以對數(shù)據(jù)進(jìn)行截取,從而對S19文件進(jìn)行解析。

    在控制器執(zhí)行內(nèi)部存儲區(qū)刷寫操作時,每次操作是以扇區(qū)為單位進(jìn)行的。程序數(shù)據(jù)有時并不能完整的填充一個扇區(qū),這時需要對數(shù)據(jù)進(jìn)行補(bǔ)齊,補(bǔ)齊時使用“FF“進(jìn)行填充。補(bǔ)齊扇區(qū)的思路為:先檢測數(shù)據(jù)長度,如果數(shù)據(jù)長度不能被扇區(qū)長度整除,那么在數(shù)據(jù)的末尾使用”連接字符串“VI對數(shù)據(jù)進(jìn)行補(bǔ)齊。程序部分框圖如下。

    4.Boot loader協(xié)議

    上位機(jī)與控制器通過CAN接口通信,通信應(yīng)用層協(xié)議如下,通過前兩字節(jié)的口令對數(shù)據(jù)功能進(jìn)行了定義。上位機(jī)將S19文件解析后,結(jié)合口令向控制器發(fā)送數(shù)據(jù)指令。在控制器接收到指令后,可以根據(jù)指令執(zhí)行不同的內(nèi)存操作,從而實(shí)現(xiàn)程序的更新操作。

    5.USBCAN通訊卡協(xié)議轉(zhuǎn)換

    上位機(jī)使用的是北方半島儀器的USBCAN通訊卡,由于廠家沒有提供Labview版本的二次開發(fā)包,需要根據(jù)通訊卡的接口協(xié)議編寫一個簡單的協(xié)議轉(zhuǎn)換程序。通訊數(shù)格式為:FrameHead +Data+CheckSum+FrameTail,控制符為0xA5, FrameHead為連續(xù)的兩個0xAA, FrameTail為連續(xù)的兩個0x55,如果Data中含0xA5、0xAA、0x55(即特殊字符),則在發(fā)送該字符之前添加一個控制符0xA5。CheckSum為8位校驗(yàn)和,即Data的所有數(shù)據(jù)之和的低八位。程序框圖如下。

    6.用戶操作設(shè)計

    上位機(jī)的用戶交互操作并不是很多,只需要選擇端口、選擇S19文件和點(diǎn)擊刷寫按鈕。在程序的框圖中使用事件結(jié)構(gòu)來相應(yīng)用戶操作即可,另外在上位機(jī)中還加入了連接控制器等功能,以確認(rèn)上位機(jī)與控制器的通訊狀態(tài)。上位機(jī)的最終界面如下。

    7.結(jié)束語

    經(jīng)測試使用Labview開發(fā)的上位機(jī)系統(tǒng)在實(shí)際使用中能夠正確的對控制器程序進(jìn)行刷寫,達(dá)到了預(yù)期要求。與傳統(tǒng)的文本編程語言相比此次開發(fā)所用時間較傳統(tǒng)編程語言縮短50%以上,圖形化的編程方式更加直觀,更改也更加容易。

    參考文獻(xiàn)

    [1]陳樹學(xué),劉萱. LabVIEW寶典[M]. 北京:電子工業(yè)出版社,2011,1-602.

    [2]混合動力汽車電機(jī)控制器硬件設(shè)計與CAN通信[J]. 彭朝亮,馮國勝,袁新華.? 農(nóng)業(yè)裝備與車輛工程. 2017(03).

    [3]王宜懷,曹金華. 嵌入式系統(tǒng)設(shè)計實(shí)戰(zhàn)——基于飛思卡爾S12微控制器 [M]. 北京:北京航空航天大學(xué)出版社,2011:289-313.

    猜你喜歡
    虛擬儀器
    基于虛擬儀器技術(shù)的機(jī)載產(chǎn)品測試系統(tǒng)研制
    基于虛擬儀器的電池剩余電量檢測系統(tǒng)設(shè)計與研究
    電子制作(2018年11期)2018-08-04 03:25:40
    PCB 刻制機(jī)功能開發(fā)及在虛擬儀器實(shí)驗(yàn)室建設(shè)中的應(yīng)用
    電子制作(2017年13期)2017-12-15 09:00:26
    虛擬儀器及其在電工電子實(shí)驗(yàn)中的應(yīng)用
    電子制作(2017年1期)2017-05-17 03:54:33
    一種基于虛擬儀器的電控柴油機(jī)實(shí)驗(yàn)臺的設(shè)計
    電子制作(2017年9期)2017-04-17 03:00:35
    虛擬儀器技術(shù)在農(nóng)業(yè)裝備測控中的應(yīng)用
    基于虛擬儀器技術(shù)的風(fēng)電場電能質(zhì)量監(jiān)測系統(tǒng)
    基于虛擬儀器的DMFC實(shí)時監(jiān)控系統(tǒng)
    基于虛擬儀器技術(shù)的光伏逆變器低電壓穿越測試系統(tǒng)
    虛擬儀器技術(shù)的新進(jìn)展
    辽宁省| 阿城市| 乐陵市| 胶州市| 岑巩县| 田林县| 固阳县| 长汀县| 来宾市| 西畴县| 陆良县| 渭南市| 特克斯县| 潮安县| 苍梧县| 天峨县| 鄂伦春自治旗| 泰兴市| 蛟河市| 天祝| 凯里市| 遂平县| 永春县| 西城区| 天水市| 宜宾县| 南康市| 绥棱县| 白银市| 通榆县| 曲阳县| 灌阳县| 临海市| 金秀| 汝城县| 社会| 江津市| 科技| 静乐县| 清水县| 紫阳县|