• 
    

    
    

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

      應(yīng)用于船舶機(jī)艙監(jiān)控系統(tǒng)的CAN總線節(jié)點(diǎn)設(shè)計(jì)

      2010-01-28 02:32:08,,,
      船海工程 2010年4期
      關(guān)鍵詞:收發(fā)器機(jī)艙報(bào)文

      ,, ,

      (浙江海洋學(xué)院 機(jī)電工程學(xué)院,浙江 舟山 316000)

      船舶綜合監(jiān)控系統(tǒng)的自動(dòng)化水平是衡量當(dāng)前船舶先進(jìn)程度的一個(gè)重要標(biāo)志。目前國(guó)產(chǎn)機(jī)艙監(jiān)控系統(tǒng)的代表產(chǎn)品為CY8800網(wǎng)絡(luò)型機(jī)艙監(jiān)控系統(tǒng),然而,我國(guó)現(xiàn)有的大部分船舶機(jī)艙基本還處于各系統(tǒng)單獨(dú)監(jiān)控的狀態(tài)[1]。開發(fā)性價(jià)比更高的船舶機(jī)艙適用性監(jiān)控系統(tǒng),可以大幅度降低生產(chǎn)及運(yùn)營(yíng)成本,具有很大的經(jīng)濟(jì)效益和社會(huì)效益?;谝陨峡紤],將可靠性高、實(shí)時(shí)性好的CAN總線技術(shù)應(yīng)用于船舶的機(jī)艙監(jiān)控系統(tǒng),實(shí)現(xiàn)對(duì)機(jī)艙設(shè)備多種運(yùn)行參數(shù)的現(xiàn)場(chǎng)數(shù)據(jù)采集、變換、傳輸和監(jiān)控。

      1 設(shè)計(jì)要求及總體方案

      系統(tǒng)應(yīng)能承受船上遭遇到的電源波動(dòng)、環(huán)境溫度變化、振動(dòng)、潮濕、電磁干擾以及腐蝕等工作條件[2]。且為便于維修和更換,硬件應(yīng)由可替換的模塊構(gòu)成,并盡可能標(biāo)準(zhǔn)化和組件化,為減少備用件的數(shù)量,應(yīng)減少使用不同的模塊。設(shè)計(jì)總體方案見圖1,以CAN節(jié)點(diǎn)為主,采用模塊化設(shè)計(jì)、各個(gè)功能能夠自由配置。電流變換和電流輸送采用另加模塊設(shè)計(jì),與主節(jié)點(diǎn)有很好的硬件接口和軟件接口,可以根據(jù)用戶自由配置,且符合船上電氣環(huán)境的要求。

      圖1 設(shè)計(jì)總體方案

      2 系統(tǒng)硬件電路設(shè)計(jì)

      CAN總線通信單元電路結(jié)構(gòu)由 MCU(P89C52)、CAN控制器(SJA1000)、隔離CAN收發(fā)器(CTM Module)組成。整個(gè)系統(tǒng)電源采用+5 V電源輸入,上電復(fù)位芯片(CAT810L)可保證上電時(shí)正確地啟動(dòng)系統(tǒng)。微處理器采用PHILIPS的P89C52單片機(jī),該系列單片機(jī)是80C51微控制器的派生器件。CAN控制器采用PHILIPS的SJA1000,是目前市面上用得最廣的一款CAN控制器[3-5]。

      2.1 隔離CAN收發(fā)器設(shè)計(jì)

      為了克服船舶運(yùn)行中惡劣的電氣環(huán)境,設(shè)計(jì)電路中采用全新隔離CAN收發(fā)器模塊,以確保在CAN總線遭受嚴(yán)重干擾時(shí)控制器能夠正常運(yùn)行。如圖2所示,CTM系列模塊是集成電源隔離、電氣隔離、CAN收發(fā)器、CAN總線保護(hù)于一體的隔離CAN收發(fā)器模塊,該模塊TXD、RXD引腳兼容+3.3 V及+5 V的CAN控制器,不需要外接其他元器件,可直接將+3.3 V或+5 V的CAN控制器發(fā)送、接收引腳與CTM模塊的發(fā)送、接收引腳相連接,較好地實(shí)現(xiàn)了CAN-bus總線上各節(jié)點(diǎn)電氣、電源之間的完全隔離和獨(dú)立,提高了節(jié)點(diǎn)的穩(wěn)定性和安全性。經(jīng)試驗(yàn)驗(yàn)證其成本比分立元件低,電路簡(jiǎn)化、穩(wěn)定可靠。

      圖2 隔離CAN收發(fā)器設(shè)計(jì)

      2.2 模擬量采集及輸出電路設(shè)計(jì)

      電壓模擬量需采集轉(zhuǎn)換為數(shù)字量,經(jīng)過單片機(jī)處理后,儲(chǔ)存在EEPROM中。利用P1.7作為片選端ADCS,P1.6作為數(shù)據(jù)輸出端AD-DATA,P1.5作為時(shí)鐘端ADCLK。如圖3所示為電壓模擬量A/D串行采集電路。

      系統(tǒng)中的待測(cè)模擬量有部分為4~20 mA電流信號(hào),所以需要先將電流信號(hào)轉(zhuǎn)換為電壓信號(hào),在此選用美國(guó)BURR~BROWN公司生產(chǎn)的精密電流環(huán)接收器芯片RCV420,用于將4~20 mA電流信號(hào)轉(zhuǎn)換為0~5 V電壓信號(hào)。為保證RCV420的輸出在0~5 V之間,需要適當(dāng)減小運(yùn)放增益,方法是在檢測(cè)電阻Rs上并聯(lián)匹配電阻Rx,如圖4所示。

      通過調(diào)整并聯(lián)電阻Rx的大小,可以調(diào)整RCV420的輸出范圍。為保證高共模抑制,計(jì)算確定,輸入為4~20 mA信號(hào)時(shí),令Rx為1.8 K可使輸出為0~4.8 V。

      設(shè)計(jì)選用串口D/A轉(zhuǎn)換芯片MAX531,實(shí)現(xiàn)模擬量0~5 V的輸出,其接線簡(jiǎn)單、占用口線少、功耗低、價(jià)格低廉[6],見圖5。

      3 系統(tǒng)軟件設(shè)計(jì)

      3.1 主程序流程

      本設(shè)計(jì)是作為船舶機(jī)艙監(jiān)控系統(tǒng)的下位機(jī),作為CAN總線的節(jié)點(diǎn)。設(shè)計(jì)程序只作數(shù)據(jù)采集和輸送用,其中信號(hào)處理由上位機(jī)完成,并通過接收上位機(jī)的指令數(shù)據(jù),完成對(duì)顯示報(bào)警和對(duì)機(jī)電設(shè)備的控制[7-8],主程序流程見圖6。

      圖6 主程序流程圖

      系統(tǒng)的軟件采用模塊化的結(jié)構(gòu)來設(shè)計(jì),在編程之前需先確定SJA1000的基地址及復(fù)位引腳,然后正確地初始化SJA1000,填寫要發(fā)送的CAN報(bào)文,使能發(fā)送請(qǐng)求,即可進(jìn)行CAN自發(fā)自收。發(fā)送子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的發(fā)送。發(fā)送時(shí)只需將待發(fā)送的數(shù)據(jù)按特定的格式組合成一組數(shù)據(jù)送入SJAI000的發(fā)送緩沖區(qū),然后啟動(dòng)SJA1000發(fā)送即可。如果總線上有數(shù)據(jù)發(fā)往本節(jié)點(diǎn),則通過查詢狀態(tài)寄存器的第1位BIT_RBS的位狀態(tài),便可得知接收緩沖區(qū)RXFIFO中的可用信息,然后通過軟件將RXFIFO中的數(shù)據(jù)逐個(gè)“移入”到指定的片內(nèi)存儲(chǔ)空間即可。

      3.2 節(jié)點(diǎn)軟件設(shè)計(jì)

      節(jié)點(diǎn)軟件編寫CAN總線的通信協(xié)議和收發(fā)模式是關(guān)鍵。在編程之前需先確定SJA1000的基地址及復(fù)位引腳,然后正確地初始化SJA1000,填寫要發(fā)送的CAN報(bào)文,使能發(fā)送請(qǐng)求,即可進(jìn)行CAN自發(fā)自收。

      3.2.1 定義片選地址

      sbit RST_SJA1000=P1^6; //SJA1000硬件復(fù)位

      #ifdef _GLOBAL_SJA1OOO_PELI_

      extern unsigned char xdata CAN_SJA_BaseAdr;//定義SJA1000的片選基址

      extern unsigned char xdata *SJA_CS_Ponit;

      #else

      unsigned char xdata CAN_SJA_BaseAdr_ar_ 0x7f00;//定義SJA1000的片選基址

      unsigned char xdate *SJA_CS_Point; //指針指向空

      #endif

      3.2.2 初始化部分

      SJA1000_Config_Normal()

      {

      BTRO=0x00; //

      BTR1=0x14; //設(shè)置為1M波特率通信

      SJAEntryResteMode(); // 進(jìn)入復(fù)位模式

      WriteSJAReg(REG_CAN_CDR,0xc8); // 培植時(shí)鐘分頻器,選擇PeliCAN模式

      WriteSJAReg(REG_CAN_MOD,0x05); // 配置模式寄存器,選擇雙濾波,自發(fā)自接模式

      WriteSJARegBlock(16,Send_CAN_Fiter,8); //配置驗(yàn)收代碼/屏蔽寄存器

      WriteSJAReg(REG_CAN_BTRO,BTRO); //配置總線定時(shí)器0x00

      WriteSJAReg(REG_CAN_BTR1,BTR1); //配置總線定時(shí)器0x14

      WriteSJAReg(REG_CAN_OCR,0x1a); //配置輸出管腳,推挽輸出

      SJAQuitResetMode(); //退出復(fù)位模式,進(jìn)入工作模式

      }

      3.2.3 發(fā)送報(bào)文

      發(fā)送子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的發(fā)送。發(fā)送時(shí)只需將待發(fā)送的數(shù)據(jù)按特定的格式組合成一組數(shù)據(jù)送入SJAI000的發(fā)送緩沖區(qū),然后啟動(dòng)SJAI000發(fā)送即可。

      main()

      {

      SJA_CS_Point=&CAN_SJA_BaseAdr;

      Sja1000HardwareRet(); //SJA1000硬件復(fù)位

      SJA1000_Config_Normal(); //SJA進(jìn)入正常模式配置

      WriteSJAReg(REG_CAN_IER,0x02); //使能SJA1000發(fā)送中斷

      WriteSJARegBlock(16,Send_CAN_Info_ID,5); //擴(kuò)展幀,向發(fā)送緩沖區(qū)送入5個(gè)數(shù)據(jù)

      WriteSJARegBlock(21,Send_CAN_DATA,8); //擴(kuò)展幀,向發(fā)送緩沖區(qū)送入8個(gè)數(shù)據(jù)

      While(1) //

      {

      canstatus=ReadSJAReg(REG_CAN_SR); //

      if((canstatus&0x0c)==0x0c) //判斷是否可以發(fā)送

      {

      WriteSJARed(REG_CAN_CMR,1); //使能發(fā)送請(qǐng)求,發(fā)送數(shù)據(jù)

      }

      }

      }

      3.2.4 接受報(bào)文

      設(shè)計(jì)對(duì)響應(yīng)速度要求不太高,所以選用以查詢方式來設(shè)計(jì)接收子程序。以查詢方式設(shè)計(jì)的接受子程序是最簡(jiǎn)單、最可靠的方式。如果總線上有數(shù)據(jù)發(fā)往本節(jié)點(diǎn),則通過查詢狀態(tài)寄存器的第1位BIT_RBS的位狀態(tài),便可得知接收緩沖區(qū)RXFIFO中的可用信息,然后通過軟件將RXFIFO中的數(shù)據(jù)逐個(gè)“移入”到指定的片內(nèi)存儲(chǔ)空間即可。

      4 結(jié)束語

      針對(duì)船舶機(jī)艙采用了模塊化設(shè)計(jì),將CAN現(xiàn)場(chǎng)總線應(yīng)用于監(jiān)控系統(tǒng)開發(fā),可以根據(jù)用戶或特定地點(diǎn)的需要自由配置,避免浪費(fèi)。設(shè)計(jì)標(biāo)準(zhǔn)化便于安裝、使用,具有較高的性價(jià)比,非常適合于船舶機(jī)艙監(jiān)控自動(dòng)化。系統(tǒng)應(yīng)用于武漢理工大學(xué)船舶工程技術(shù)實(shí)訓(xùn)基地實(shí)驗(yàn)室建設(shè),實(shí)踐證明可有效地提高船舶的自動(dòng)化水平,提高船舶航行安全性,大幅度地降低生產(chǎn)及運(yùn)營(yíng)成本,減輕船員勞動(dòng)強(qiáng)度,具有很大的推廣價(jià)值和市場(chǎng)前景。

      [1] 王 偉,郭慶祝.船舶機(jī)艙CAN總線技術(shù)的分布式監(jiān)控系統(tǒng)研究[J].中國(guó)水運(yùn):學(xué)術(shù)版,2006,6(4):64.

      [2] 翁紹捷,袁 濤.機(jī)電控制系統(tǒng)開關(guān)量輸入的抗干擾[J].電工技術(shù)雜志,2003(1):10-12.

      [3] 方霖芝.船舶機(jī)艙集中監(jiān)視系統(tǒng)[D].上海:上海海運(yùn)學(xué)院,1990.

      [4] 吳樹雄.船舶輪機(jī)自動(dòng)測(cè)控技術(shù)[M].大連:大連海事大學(xué)出版社,2000.

      [5] 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.

      [6] 曹茂永,劉明.數(shù)/模轉(zhuǎn)換器MAX531及其應(yīng)用[J].電測(cè)與儀表,1996,(6):39-40.

      [7] 樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M].北京:北京航空航天大學(xué)出版社,2004.

      [8] 張益波.基于總線技術(shù)的船舶機(jī)艙監(jiān)控系統(tǒng)的設(shè)計(jì)(下位機(jī))[D].舟山:浙江海洋學(xué)院,2008.

      猜你喜歡
      收發(fā)器機(jī)艙報(bào)文
      清管球收發(fā)器設(shè)計(jì)細(xì)節(jié)分析及應(yīng)用
      基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
      汽車電器(2022年9期)2022-11-07 02:16:24
      船舶機(jī)艙火災(zāi)的原因分析及預(yù)防
      水上消防(2022年2期)2022-07-22 08:43:56
      船舶機(jī)艙通風(fēng)相關(guān)要求及常見關(guān)閉裝置分析
      水上消防(2021年3期)2021-08-21 03:12:20
      船舶機(jī)艙常見消防隱患及防控
      水上消防(2020年5期)2020-12-14 07:16:20
      CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
      淺析反駁類報(bào)文要點(diǎn)
      Virtex5 FPGA GTP_DUAL硬核兩個(gè)收發(fā)器獨(dú)立使用的實(shí)現(xiàn)
      ATS與列車通信報(bào)文分析
      機(jī)艙污水井應(yīng)急除油設(shè)計(jì)
      密山市| 万源市| 乐都县| 沿河| 张家港市| 光泽县| 大化| 济源市| 苏州市| 京山县| 平泉县| 策勒县| 偃师市| 隆子县| 彰化市| 晴隆县| 河北区| 海晏县| 罗城| 乐昌市| 晋城| 蓬莱市| 静宁县| 山阴县| 博乐市| 耒阳市| 潮州市| 西安市| 清新县| 麻栗坡县| 双流县| 竹山县| 顺义区| 牡丹江市| 武邑县| 松阳县| 灯塔市| 内丘县| 芜湖市| 通江县| 望都县|