• 
    

    
    

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

      ?

      基于CAN總線的船用儀表系統(tǒng)研究

      2013-09-02 06:24:46陳志逸
      指揮控制與仿真 2013年1期
      關(guān)鍵詞:標識符過濾器中斷

      孟 遨,趙 敏,陳志逸

      (南京航空航天大學自動化學院,江蘇 南京 210000)

      在采用ECU的發(fā)動機監(jiān)控平臺中,數(shù)據(jù)是通過CAN總線進行發(fā)送和接收的??刂破骶钟蚓W(wǎng)絡(luò)CAN(Controller Area Network)屬于現(xiàn)場總線的范疇,但現(xiàn)場總線依然屬于“設(shè)備級層”,未能實現(xiàn)遠程化的控制網(wǎng)絡(luò)。隨著現(xiàn)代智能儀表系統(tǒng)由集中控制向分布式控制系統(tǒng)發(fā)展,對儀表系統(tǒng)的遠程化監(jiān)視也顯得尤為重要,即需要構(gòu)建“管理級層”網(wǎng)絡(luò)平臺,而以太網(wǎng)恰恰具備遠程控制的優(yōu)勢。因此,通過CAN總線和以太網(wǎng)的連接,不僅可以保證橫向設(shè)備間的相互通信,同時為數(shù)據(jù)信息的縱向傳遞提供通道,從而能夠?qū)崿F(xiàn)智能儀表系統(tǒng)的遠程化集中監(jiān)控。

      1 系統(tǒng)的硬件結(jié)構(gòu)

      現(xiàn)在比較先進的柴油機都帶有電子控制單元(ECU,Electronic Control Unit),采用CAN總線J1939規(guī)范進行控制和數(shù)據(jù)發(fā)送。本文介紹的船用儀表系統(tǒng)通過CAN總線從船舶發(fā)動機電子控制單元處獲取發(fā)動機轉(zhuǎn)速、冷卻水溫度等船舶運行參數(shù)以步進電機指針式儀表和LCD液晶顯示屏式儀表這兩種方式實現(xiàn)船舶各種運行工況的實時顯示,通過一個裁剪過的適合嵌入式系統(tǒng)應(yīng)用的TCP/IP協(xié)議棧,可通過上位機界面對船舶發(fā)動機進行實時監(jiān)控。本系統(tǒng)采用ARM系列處理器STM32F10x為核心處理單元,利用處理器自帶的CAN控制器實現(xiàn)CAN通訊,實現(xiàn)了信息的采集、處理和顯示。水溫、油溫、電瓶電壓、油壓以及發(fā)動機轉(zhuǎn)速都是通過CAN總線從船舶發(fā)動機控制單元處獲取,ARM處理器把這些信號處理后驅(qū)動步進電機模塊并通過串口發(fā)送給LCD液晶顯示模塊,系統(tǒng)還可以通過以太網(wǎng)發(fā)送給上位機??傇O(shè)計框圖如圖l所示,主要有CAN總線模塊、步進電機與LCD液晶顯示模塊和以太網(wǎng)模塊。

      CAN節(jié)點由微處理器、CAN控制器和CAN收發(fā)器組成。ARM處理器STM32F10x內(nèi)置CAN控制器,它與CAN收發(fā)器TJA1050相連,可直接接到CAN總線上,實現(xiàn)CAN總線的接口功能。本系統(tǒng)中,船舶ECU將發(fā)動機轉(zhuǎn)速、油壓、油溫、水溫、電壓等信號以擴展報文的形式通過CAN總線傳播到本節(jié)點,由CAN收發(fā)器TJA1050接收后經(jīng)過信號轉(zhuǎn)換傳遞給STM32F107的內(nèi)置CAN控制器,STM32F107內(nèi)置CAN控制器實現(xiàn)報文過濾,以決定接收或放棄這一報文。對于接收到的報文,微處理器通過識別其ID以獲得主節(jié)點不同參數(shù)的情況,并相應(yīng)轉(zhuǎn)化為所需的數(shù)據(jù)。步進電機部分采用的是ARM處理器STM32F103外接三態(tài)緩沖器74LVC244的方式來實現(xiàn)對步進電機的驅(qū)動。步進電機選用的MR1108型號步進電機,工作電壓5V,驅(qū)動電流15mA左右,74LVC244最高輸出電流可達到24mA,完全可以達到該步進電機對驅(qū)動電流的要求。系統(tǒng)還采用了LCD液晶屏來輔助顯示各個參量值。LCD液晶顯示屏采用NH056ZN02-IV,LCD液晶屏主要是通過圖表的形式更直觀地顯示船舶的運行參數(shù)。

      圖1 儀表盤系統(tǒng)設(shè)計框圖

      為了實現(xiàn)對船舶發(fā)動機的遠程化監(jiān)控,本系統(tǒng)采用以太網(wǎng)通過上位機進行實時監(jiān)控,以太網(wǎng)基本模型結(jié)構(gòu)圖如圖2所示,系統(tǒng)采用的 ARM處理器之一STM32F107內(nèi)置以太網(wǎng)10/100 MAC模塊,對應(yīng)圖2中的數(shù)據(jù)鏈路層,只需外接PHY芯片DP83848,DP83848構(gòu)成網(wǎng)絡(luò)的物理層,當有下層數(shù)據(jù),即下位機要通過以太網(wǎng)向上位機發(fā)送數(shù)據(jù)時,由軟件將數(shù)據(jù)轉(zhuǎn)換成以太網(wǎng)格式的數(shù)據(jù)包,并按照要求發(fā)送給內(nèi)置以太網(wǎng)控制模塊,通過以太網(wǎng)接口部分配置網(wǎng)關(guān)的IP地址、MAC地址,加上以太網(wǎng)幀的首部和尾部信息等,從而將數(shù)據(jù)成功地傳送到以太網(wǎng)信息管理層。

      圖2 以太網(wǎng)基本結(jié)構(gòu)模型

      2 系統(tǒng)軟件設(shè)計

      軟件系統(tǒng)按照模塊化的思想設(shè)計,便于移植和維護,避免代碼的重復,從而節(jié)省數(shù)據(jù)的存儲空間。軟件模塊主要分CAN總線模塊、網(wǎng)絡(luò)通信模塊。

      2.1 CAN 總線模塊

      CAN總線模塊程序設(shè)計主要包括:CAN初始化、數(shù)據(jù)的接收和處理。初始化程序是對CAN控制器進行必要的設(shè)置,主要包括CAN運行模式的選擇、波特率的設(shè)置、報文過濾的設(shè)置,中斷允許設(shè)置等。程序設(shè)計流程如圖3所示。

      圖3 CAN總線程序流程圖

      2.1.1 報文過濾的設(shè)置

      CAN協(xié)議的一個最大特點是廢除了傳統(tǒng)的站地址編碼,而代之以對通信報文進行編碼。根據(jù)CAN總線技術(shù)規(guī)范,CAN總線有標準和擴展兩種報文編碼格式,前者標識符有19位,后者有29位,一個報文的內(nèi)容由其標識符ID來命名。STM32F10x通過報文的ID來進行報文過濾。以STM32F107為例,STM32F107共有28組過濾器,每組過濾器相互獨立,可以同時啟用任意組合的過濾器,只要能通過其中一組過濾器就能被處理器接收。每組過濾器包括了2個可配置的32位寄存器CAN-FxR0和CA N-FxR1,每組過濾器組有兩種工作模式:標識符列表模式和標識符屏蔽位模式。標識符屏蔽位模式可過濾出一組標識符。此時CAN-FxR0中保存的就是標識符匹配值,CAN-FxR1中保存的是屏蔽碼,即 CAN-FxR1中如果某一位為 1,則 CAN-FxR0中相應(yīng)的位必須與收到的幀的標志符中的相應(yīng)位吻合才能通過過濾器;CAN-FxR1中為0的位表示CAN-FxR0中的相應(yīng)位可不必與收到的幀進行匹配。標識符列表模式可過濾出某一個標識符。此時CANFxR0和CAN-FxR1中都是要匹配的標識符,收到的幀的標識符必須與其中的一個吻合才能通過過濾。本系統(tǒng)只開啟了過濾器0,將其設(shè)置成標識符屏蔽位模式,將CAN-FxR0和CAN-FxR1設(shè)置為0,表示收到的幀不需要與CAN-FxR0中任何一位進行匹配,使任何ID的報文都能夠通過過濾器0被處理器接收。處理器讀取報文ID,不同ID的報文代表不同的參數(shù)。

      2.1.2 中斷的設(shè)置

      STM32共有兩個3級深度的FIFO可供選擇,分別為FIFO0和FIFO1,用來存放接收的報文,一次可保存三個完整的信息,F(xiàn)IFO完全由硬件來管理,從而節(jié)省了CPU的處理負荷,簡化了軟件并保證了數(shù)據(jù)的一致性。應(yīng)用程序只需通過讀取FIFO輸出郵箱,來讀取FIFO中收到的報文。CAN-FilterFIFOAssignment的值設(shè)定了指向 FIFO0或者FIFO1,以 FIFO0為例。CAN中斷可選擇FIFO溢出中斷、FIFO接收報文中斷、FIFO滿中斷等中斷方式,以FIFO接收報文中斷為例,當CAN總線上有數(shù)據(jù)通過CAN過濾器以后被存放于FIFO0中時,即產(chǎn)生一個中斷,F(xiàn)IFO0接收報文標志位置位,進入CAN中斷處理函數(shù),清除標志位,從FIFO0中讀取本次報文,清空FIFO0,每個報文可傳輸0到8個字節(jié)的數(shù)據(jù),通過判斷報文ID識別此次報文為哪一個參數(shù),然后對數(shù)據(jù)進行相應(yīng)轉(zhuǎn)換。

      2.2 以太網(wǎng)模塊

      考慮到嵌入式本身的特點以及系統(tǒng)的需要,網(wǎng)絡(luò)通信在傳輸層采用了UDP協(xié)議,UDP協(xié)議是一個無連接協(xié)議,相對TCP,UDP的控制機制比較簡單,且UDP在速度上比TCP更快,常用于數(shù)據(jù)量較少的數(shù)據(jù)傳輸,在少量數(shù)據(jù)傳輸時,使用UDP協(xié)議傳輸信息流,可以減少TCP連接的過程,提高工作效率。程序流程如圖4所示。

      在以太網(wǎng)程序設(shè)計中,對于以太網(wǎng)數(shù)據(jù)的接收和發(fā)送都使用了DMA(Direct Memory Access)方式,所謂DMA方式即利用STM32的DMA模塊進行數(shù)據(jù)的傳送,不占用CPU資源,從而提高了CPU運行效率。

      在程序中數(shù)據(jù)的接收是通過中斷來觸發(fā)的,先打開以太網(wǎng)中斷,然后用udp-new()函數(shù)建立一個UDP類型的套接字,udp-bind()函數(shù)為此套接字綁定IP地址與端口,udp-recv()函數(shù)設(shè)置回調(diào)函數(shù)udp-servercallback(),當接收到以太網(wǎng)底層數(shù)據(jù)時,進入名為LwIP-Pkt-Handle()的中斷處理函數(shù),在中斷處理函數(shù)中調(diào)用ethernetif-input()函數(shù),ethernetif-input()函數(shù)將接收到的底層數(shù)據(jù)包按要求存入pbuf類型的結(jié)構(gòu)體中,此時調(diào)用回調(diào)函數(shù)udp-server-callback(),對接收到的數(shù)據(jù)進行判斷后將待發(fā)送的船舶各運行參數(shù)做相應(yīng)處理,通過udp-send()函數(shù)發(fā)送到上位機。

      圖4 以太網(wǎng)程序流程圖

      圖5為上位機顯示界面,上位機的顯示軟件采用NI公司的LABVIEW軟件進行設(shè)計,LABVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式,開發(fā)周期短。本系統(tǒng)上位機顯示軟件可以曲線和數(shù)字兩種形式對船舶各參數(shù)進行顯示,并能產(chǎn)生各種報警功能,工作人員可手動設(shè)置報警參數(shù),以及生成歷史記錄。

      圖5 上位機顯示界面

      3 結(jié)束語

      本系統(tǒng)以CAN總線為通信機制,通過步進電機與LCD兩種形式進行數(shù)據(jù)顯示,并通過以太網(wǎng)在上位機上進行實時監(jiān)控。為了測試系統(tǒng)是否穩(wěn)定可靠,作者首先利用CANalyst分析儀模擬真實的CAN節(jié)點做了大量的實驗,并且多次去到現(xiàn)場在濰柴動力藍擎國三電控發(fā)動機上做實驗,能夠準確接收發(fā)動機的電子控制單元通過CAN總線發(fā)送的發(fā)動機轉(zhuǎn)速、油溫、油壓、水溫、水壓等運行參數(shù),通過步進電機和LCD液晶顯示屏兩種方式實時顯示,并能夠通過以太網(wǎng)從上位機實現(xiàn)遠程控制,實現(xiàn)對發(fā)動機從啟動到停止這一完整過程的監(jiān)控。經(jīng)過大量的實驗測試與現(xiàn)場測試,本系統(tǒng)運行穩(wěn)定,實時性好,具有廣闊的應(yīng)用前景。

      [1]饒運濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學出版社,2003.

      [2]李燕寧,鮑芳,邱雪瓊,等.CAN現(xiàn)場總線的嵌入式網(wǎng)關(guān)設(shè)計[J].儀表技術(shù)與傳感器,2006(11):27-29.

      [3]莊松林,肖中漢.我國儀器儀表與測量控制科技的發(fā)展[J].自動化儀表,2009.30(5):2-6.

      [4]王永勝.智能儀表技術(shù)及工業(yè)自動化應(yīng)用發(fā)展探討[J].自動化博覽,2009(6):44-47.

      [5]歐陽琰,王貴槐,陳先橋,等.基于CAN總線的汽車儀表盤電控單元設(shè)計[J].武漢理工大學學報,2009,31(1):79.81.

      猜你喜歡
      標識符過濾器中斷
      淺析5G V2X 通信應(yīng)用現(xiàn)狀及其側(cè)鏈路標識符更新技術(shù)
      基于底層虛擬機的標識符混淆方法
      基于區(qū)塊鏈的持久標識符系統(tǒng)①
      支持過濾器的REST模型研究與實現(xiàn)
      電子測試(2018年9期)2018-06-26 06:45:56
      聲音過濾器
      趣味(語文)(2018年2期)2018-05-26 09:17:55
      跟蹤導練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      數(shù)字美術(shù)館“數(shù)字對象唯一標識符系統(tǒng)”建設(shè)需求淺議
      基于LOGO!的空氣過濾器自潔控制系統(tǒng)
      自動化博覽(2014年6期)2014-02-28 22:32:20
      HVM膜過濾器管板改造總結(jié)
      中國氯堿(2014年11期)2014-02-28 01:05:07
      武功县| 石嘴山市| 祥云县| 广灵县| 梓潼县| 富锦市| 宜宾市| 广灵县| 邵武市| 蓝山县| 香格里拉县| 岳阳市| 永定县| 葵青区| 阳原县| 江山市| 潮州市| 西昌市| 遵义县| 措美县| 宜良县| 即墨市| 建水县| 易门县| 汤原县| 麻阳| 印江| 吉木萨尔县| 措美县| 云和县| 富平县| 长沙市| 社旗县| 崇仁县| 江油市| 阜宁县| 简阳市| 云霄县| 凤冈县| 阿克苏市| 余干县|