• 
    

    
    

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

      ?

      基于CAN 總線(xiàn)的車(chē)身電器控制系統(tǒng)軟件設(shè)計(jì)的研究

      2020-10-27 11:45:22胡亞楠
      電聲技術(shù) 2020年6期
      關(guān)鍵詞:寄存器程序設(shè)計(jì)總線(xiàn)

      胡亞楠

      (鶴壁職業(yè)技術(shù)學(xué)院,河南 鶴壁 458030)

      隨著車(chē)聯(lián)網(wǎng)、智能汽車(chē)以及無(wú)人駕駛技術(shù)的飛速發(fā)展,汽車(chē)電器之間已不再是點(diǎn)對(duì)點(diǎn)之間的通信,整個(gè)汽車(chē)形成了一個(gè)車(chē)載網(wǎng)絡(luò)。這樣的背景下,對(duì)汽車(chē)元器件之間的傳輸速率和信息量要求提高,信息交換成為難題。CAN 總線(xiàn)在汽車(chē)領(lǐng)域應(yīng)用廣泛,技術(shù)成熟,可靠性強(qiáng),為解決上述問(wèn)題提供了可能。

      1 控制系統(tǒng)的總體網(wǎng)絡(luò)設(shè)計(jì)

      軟件的設(shè)計(jì)需要穩(wěn)定、高效且便于維修,同時(shí)最大可能地降低成本。CAN 通信需要網(wǎng)絡(luò)進(jìn)行通信,而物理層、鏈路層以及應(yīng)用層都有不同的協(xié)議,這些協(xié)議規(guī)范了傳遞的策略。

      CAN 軟件的設(shè)計(jì)要考慮到系統(tǒng)的擴(kuò)展性。良好的擴(kuò)展性可以極大地提高系統(tǒng)的兼容性和共享性。該系統(tǒng)主要參考SAE J1939 對(duì)CAN 總線(xiàn)的各個(gè)層級(jí)進(jìn)行了定義,同時(shí)參考SAE J1939 的編碼規(guī)則對(duì)各個(gè)節(jié)點(diǎn)進(jìn)行軟件設(shè)計(jì)。

      1.1 節(jié)點(diǎn)子程序設(shè)計(jì)

      通常情況下,節(jié)點(diǎn)采用模塊化編程設(shè)計(jì),通過(guò)模塊的編輯生成系統(tǒng)文件,然后通過(guò)指令進(jìn)行調(diào)用即可。在進(jìn)行軟件設(shè)計(jì)時(shí),需要用到相關(guān)的函數(shù),現(xiàn)介紹相關(guān)的程序函數(shù)。

      1.1.1 接收子函數(shù)

      子函數(shù)通常將信息儲(chǔ)存于單片機(jī)中,當(dāng)需要使用時(shí)調(diào)取相關(guān)程序即可[1]。

      1.1.2 發(fā)送子函數(shù)

      發(fā)送子函數(shù)是發(fā)送控制器所需要的數(shù)據(jù)[2]。系統(tǒng)狀態(tài)出現(xiàn)空閑時(shí),信息將自動(dòng)進(jìn)入主程序。

      1.2 節(jié)點(diǎn)主程序設(shè)計(jì)

      需要及時(shí)監(jiān)控車(chē)身電器的狀態(tài),那么可以采用編程的方式進(jìn)行程序控制。開(kāi)關(guān)狀態(tài)要通過(guò)單片機(jī)進(jìn)行信息處理,需要監(jiān)測(cè)相應(yīng)的開(kāi)關(guān)信號(hào)進(jìn)行判斷。輸入輸出的狀態(tài)需查詢(xún)CAN 線(xiàn)的運(yùn)行狀態(tài)。開(kāi)關(guān)節(jié)點(diǎn)需要通過(guò)相應(yīng)的代碼進(jìn)行編程記錄,而其主程序主要分為兩部分:一是檢查狀態(tài);二是將目前的狀態(tài)進(jìn)行信息傳遞。

      輸入節(jié)點(diǎn)流程[3]、輸出節(jié)點(diǎn)流程[4]以及網(wǎng)關(guān)節(jié)點(diǎn)流程[5],分別如圖1、圖2 和圖3 所示。

      2 SJA1040 的初始化

      SJA1040 的初始化是系統(tǒng)子程序的一部分,也是通信的關(guān)鍵部分。SJA1040 是將有用的信息轉(zhuǎn)換成CAN 線(xiàn)系統(tǒng)可以識(shí)別的格式,并傳至CAN 總線(xiàn)。信息傳遞有不同的域,但都需要有開(kāi)始域。開(kāi)始域意味著信息傳遞的開(kāi)始,也就是所謂的傳輸初始化。在信息傳遞過(guò)程中,還有傳遞模式的選擇、持續(xù)傳遞功能以及中斷功能等。SJA1040 寄存器的分析和設(shè)置如下[6]。

      信息地址0。該寄存器為可讀寫(xiě)寄存器,設(shè)置為1 時(shí)為睡眠模式,處于模式3 時(shí)為濾波模式,處于模式2 時(shí)為自檢測(cè)模式,處于模式1 時(shí)為只聽(tīng)模式。

      信息地址1。該寄存器為只寫(xiě)寄存器。當(dāng)寄存器為保留位時(shí),對(duì)寄存器沒(méi)有影響。當(dāng)寄存器為0時(shí),系統(tǒng)發(fā)送信息請(qǐng)求到處理器,處理器經(jīng)過(guò)分析處理后傳往信息端。當(dāng)寄存器為1時(shí),信息發(fā)送終止位,可以不考慮該位。當(dāng)寄存器為2時(shí),此為信息緩沖區(qū)。當(dāng)信息量很大時(shí),信息可以進(jìn)行暫時(shí)的緩沖,緩沖后進(jìn)入處理器,后續(xù)發(fā)送指令進(jìn)行工作。當(dāng)寄存器為3 時(shí),此位為信息交換位。由于CAN 線(xiàn)采用的是網(wǎng)絡(luò)通信,因此信息交換呈現(xiàn)網(wǎng)絡(luò)化。當(dāng)有工作指令時(shí),信息會(huì)迅速通過(guò)CAN 線(xiàn)進(jìn)行傳遞[7]。

      3 WPF 簡(jiǎn)介

      上位機(jī)為監(jiān)測(cè)的主要數(shù)據(jù)來(lái)源。當(dāng)信息在CAN 總線(xiàn)上傳輸時(shí),上位機(jī)需要監(jiān)測(cè)相關(guān)數(shù)據(jù),從而確定信息傳輸情況。其中,開(kāi)發(fā)環(huán)境的編程采用WPF 編程系統(tǒng)。

      WPF 是微軟推出的一款基于Windows 的用戶(hù)界面框架,為軟件設(shè)計(jì)帶來(lái)了無(wú)限可能。自問(wèn)世以來(lái),WPF 深受廣大編程愛(ài)好者的喜愛(ài),為主要的軟件編程系統(tǒng)。WPF 容易上手,操作功能強(qiáng)大,且后期增加了可視化編程語(yǔ)言,可實(shí)現(xiàn)更好的人機(jī)互動(dòng)。因此,下面簡(jiǎn)要說(shuō)明串行通信的初始化定義[8]。

      4 結(jié)語(yǔ)

      本文提出了一種基于CAN 總線(xiàn)的車(chē)身電器系統(tǒng)的改造方案,完成了軟件設(shè)計(jì),著重介紹了整體的網(wǎng)絡(luò)設(shè)計(jì)、節(jié)點(diǎn)主程序設(shè)計(jì)和子程序設(shè)計(jì)、SJA1040 的初始化以及上位機(jī),能夠最大程度地輔助硬件系統(tǒng)完成整個(gè)系統(tǒng)的運(yùn)行。

      猜你喜歡
      寄存器程序設(shè)計(jì)總線(xiàn)
      基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      基于PCI Express總線(xiàn)的xHC與FPGA的直接通信
      機(jī)載飛控1553B總線(xiàn)轉(zhuǎn)以太網(wǎng)總線(xiàn)設(shè)計(jì)
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      高職高專(zhuān)院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
      PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
      多通道ARINC429總線(xiàn)檢查儀
      基于EtherCAT總線(xiàn)的ROV控制系統(tǒng)設(shè)計(jì)
      河南科技(2014年16期)2014-02-27 14:13:22
      靖边县| 吉安县| 巴中市| 巴林右旗| 苏尼特左旗| 土默特右旗| 定南县| 寻甸| 龙里县| 沅陵县| 安徽省| 玛沁县| 色达县| 元谋县| 策勒县| 米易县| 鄂州市| 威远县| 宝丰县| 驻马店市| 长葛市| 津市市| 昆明市| 沁源县| 清水河县| 达尔| 金山区| 黔南| 牡丹江市| 手机| 昂仁县| 舞阳县| 博罗县| 台前县| 全椒县| 连平县| 平阳县| 长沙市| 云霄县| 财经| 察雅县|