基于I2C總線的電氣化鐵路導(dǎo)線磨耗儀的設(shè)計(jì)與應(yīng)用
摘 要:本文簡要介紹了基于內(nèi)部集成電路總線I2C的電氣化鐵路導(dǎo)線磨耗儀的設(shè)計(jì)與應(yīng)用。在開發(fā)電氣鐵路導(dǎo)線磨耗遙測儀的過程中,通過使用I2C電路和單片機(jī)AT89C52的I/O口,可以控制DS1307、AT24C256和IC卡。這種設(shè)計(jì)方法縮短了開發(fā)周期,提高了系統(tǒng)的整體穩(wěn)定性。
關(guān)鍵詞:導(dǎo)線磨耗;I2C電路;AT89C52;電氣化鐵路
引言
接觸網(wǎng)斷線問題一直是困擾電氣化鐵路牽引供電設(shè)備安全的主要問題;同時,這也是接觸網(wǎng)系統(tǒng)各檢測項(xiàng)目中的難點(diǎn)。導(dǎo)線磨耗遙測儀的研究就是針對此問題,利用CCD(電荷耦合器件)作為傳感器,利用微控制器進(jìn)行控制與數(shù)據(jù)傳輸,配合PC機(jī)構(gòu)成的一套智能檢測系統(tǒng)。
本文設(shè)計(jì)的電氣鐵路導(dǎo)線磨耗遙測儀,采用測量導(dǎo)線磨耗殘存高度的方法,比較好的解決了接觸網(wǎng)帶電測量的問題。
導(dǎo)線磨耗儀系統(tǒng)結(jié)構(gòu)與原理
導(dǎo)線磨耗目前比較典型的測量方法主要有以下三種:測量接觸導(dǎo)線的磨耗滑面寬度;測量導(dǎo)線截面積;測量接觸導(dǎo)線的殘存高度。
通過分析對比,我們選擇了測量導(dǎo)線磨耗殘高的方法。這種方法具有以下優(yōu)點(diǎn):
(1)由于接觸線磨耗面有波狀磨耗、局部磨耗,表面狀態(tài)各異。采用反射法測殘面高度,不可避免的存在反射光不均勻,凹陷處反射特性很差,因此必然造成目標(biāo)邊緣模糊。而且反射法的檢測精度受接觸線高度影響較大,高懸掛點(diǎn)處磨耗檢測值精度隨距離增大而降低,對偏磨更是無能為力。而本文法則能很好解決這一問題。
(2)精度高:采用本方法,測量精度可小于0.05mm。
(3)檢測直觀:我國限于檢測手段,只能用卡尺測量殘高。所以這種方法檢測直觀方便、不必進(jìn)行換算。
便攜式導(dǎo)線磨耗帶電遙測儀分為檢測裝置、地面接收機(jī)和上位機(jī)三部分。檢測裝置由光學(xué)照明系統(tǒng)、光學(xué)成像系統(tǒng)、CCD陣列及驅(qū)動電路、光電信息處理電路、穩(wěn)功率電源、調(diào)制發(fā)射電路等組成。其結(jié)構(gòu)框圖見圖1。
測量時,光學(xué)照明系統(tǒng)產(chǎn)生一束均勻的平行光,從接觸線側(cè)面平行射入,線高經(jīng)光學(xué)成像系統(tǒng)映射在CCD線陣靶面上,并在線陣響應(yīng)的像元中獲得一定寬度的脈沖信號。該信號經(jīng)光電信息處理后變成二進(jìn)制信號,經(jīng)調(diào)制后發(fā)射出去。
地面接收裝置由紅外接收電路、解調(diào)電路、單片機(jī)、串行口等組成。結(jié)構(gòu)框圖見圖2。
地面接收裝置將接收到的特征信號解調(diào)后,經(jīng)單片機(jī)系統(tǒng)計(jì)算出導(dǎo)線殘留高度及磨耗百分比,顯示在LCD上,也可通過串行口上傳到PC機(jī)中。上位機(jī)是安裝有Windows 9x/2000操作系統(tǒng)的PC機(jī),本設(shè)計(jì)使用微軟公司的Visual C++ 6.0編寫數(shù)據(jù)接收、處理、存儲和顯示的程序,界面友好,簡潔易用。
I2C總線及其硬件設(shè)計(jì)
I2C總線原理
I2C總線通過一根數(shù)據(jù)線SDA和一根時鐘線SCL實(shí)現(xiàn)全雙工的同步數(shù)據(jù)通信。同一總線上可以連接多個帶有I2C接口的器件,每個器件都有一個唯一的地址,既可以是單接收的器件,也可以是能夠接收發(fā)送的器件。發(fā)送器或接收器可以在主模式或從模式下操作,這取決于芯片是否必須啟動數(shù)據(jù)的傳輸還是僅僅被尋址。I2C還是一個多主總線,即它可以由多個連接的器件控制。圖3顯示了I2C總線上的數(shù)據(jù)穩(wěn)定規(guī)則,圖4是I2C總線的起始位和停止位。
每次數(shù)據(jù)傳輸都是以一個起始位開始,而以停止位結(jié)束。傳輸?shù)淖止?jié)數(shù)由主機(jī)決定,沒有限制。最高有效位MSB將首先被傳輸,接收方收到第8位數(shù)據(jù)后會發(fā)出應(yīng)答位。數(shù)據(jù)傳輸通常分為兩種:主機(jī)發(fā)送從機(jī)接收和從機(jī)發(fā)送主機(jī)接收。這兩種模式都需要主機(jī)發(fā)送起始位和停止位。應(yīng)答位由接收方產(chǎn)生。從機(jī)地址一般是1或2個字節(jié),用于區(qū)分連接在同一I2C上的不同器件。
I2C相關(guān)硬件設(shè)計(jì)
本導(dǎo)線磨耗儀系統(tǒng)中有三個部分帶有I2C接口,分別是實(shí)時時鐘芯片DS1307、串行EEPROM AT24C256和IC卡AT24C16。
DS1307內(nèi)部具有地址指針,每次讀寫操作之后會自動加1,到達(dá)存儲器的末尾(3FH)會翻轉(zhuǎn)為0。時間信息的地址是00H~06H,因此讀取之前應(yīng)先向3FH中寫入一個字節(jié)的數(shù)據(jù),以便將地址指針復(fù)位到00H。
AT24C256是帶I2C電路的串行EEPROM,對AT24C256寫操作可分為字節(jié)模式和頁模式。如果采用字節(jié)模式,主機(jī)在發(fā)送從機(jī)地址(1字節(jié))和字地址(2字節(jié))之后,再送出1字節(jié)的數(shù)據(jù),而后EEPROM返回應(yīng)答位,主機(jī)以停止位結(jié)束操作。然后AT24C256進(jìn)入自定時的寫周期,將收到的數(shù)據(jù)寫入非揮發(fā)性的存儲器,此時對于任何的輸入都不會作出響應(yīng)。而頁模式的初始化過程與字節(jié)模式相同,在收到第1個數(shù)據(jù)字節(jié)的應(yīng)答位之后,主機(jī)并不產(chǎn)生停止位,而是繼續(xù)發(fā)送數(shù)據(jù),每頁最多包括64個字節(jié)。每收到1個字節(jié)的數(shù)據(jù),EEPROM都會返回應(yīng)答位,直到主機(jī)產(chǎn)生停止位結(jié)束操作。AT24C256讀操作的初始化過程與寫操作基本相同,只是從機(jī)地址的最低位設(shè)置略有差別。
IC卡AT24C256具有2K字節(jié)的EEPROM。由于帶電插拔可能會對IC卡造成損傷,因此需要在硬件和軟件兩方面對它的電源進(jìn)行控制。如果有卡插入,卡座內(nèi)部的按鍵被按下,通知主機(jī)可以進(jìn)行檢測。主機(jī)應(yīng)首先檢查插入的卡片是否會將電源Vcc與地GND短路,若沒有問題可以打開IC卡的電源,否則提示插入的是廢卡。如果插入的卡片是已經(jīng)擊穿的壞卡或者金屬片,不經(jīng)檢測就打開電源會造成供電回路的短路,嚴(yán)重時甚至導(dǎo)致整個系統(tǒng)損壞。單片機(jī)的I/O口通過一個小功率三極管控制IC卡的電源開關(guān),每次插卡并檢測后接入5V電源,讀寫完畢后應(yīng)及時切斷,以便IC卡的拔出。
軟件設(shè)計(jì)
導(dǎo)線磨耗遙測系統(tǒng)的軟件主要分由主控制程序、接口程序、輔助程序、上位機(jī)軟件等幾部分組成。
(1)導(dǎo)線磨耗系統(tǒng)的主控制程序控制整個系統(tǒng)的流程,主要完成程序的初始化、中斷方式的設(shè)置、計(jì)數(shù)器的工作方式的設(shè)置及相關(guān)子程序的調(diào)用。主控制程序除了管理資源、控制各模塊、處理數(shù)據(jù)外,還包括開機(jī)界面的六個顯示子菜單:測量溫度、參數(shù)設(shè)置、查看記錄、上傳數(shù)據(jù)、時鐘和休眠。
在數(shù)據(jù)處理算法方面,則使用采樣取平均的方法。在對查表得到溫度值的基礎(chǔ)上,與室溫比較,并進(jìn)行距離、輻射率的補(bǔ)償。
(2)接口程序即各個接口的驅(qū)動程序,包括存儲器、時鐘、液晶、鍵盤、串口、ADC、時鐘和定時器。每個接口程序都應(yīng)分別進(jìn)行調(diào)試,按照協(xié)議編寫,注意時序問題。I2C電路可根據(jù)其接口時序進(jìn)行調(diào)試。由于AT89C52單片機(jī)資源有限,所以需要注意資源的管理。
(3)輔助程序主要是字模提取和寫入,包括圖像圖標(biāo)和文字的字模提取與保存,圖象的旋轉(zhuǎn)、縮放、平移、反顯,顏色與大小的修改等。
(4)上位機(jī)軟件可以用VC或VB編寫,由串行端口控件MSComm來為應(yīng)用程序提供串行通信,打開串口、讀取數(shù)據(jù)、存儲和顯示。上位機(jī)軟件還可以統(tǒng)計(jì)數(shù)據(jù)、連接數(shù)據(jù)庫和遠(yuǎn)程管理。數(shù)據(jù)庫可以使檢測記錄格式統(tǒng)一,便于集中處理。遠(yuǎn)程管理可以加快數(shù)據(jù)傳輸速度,節(jié)省時間,減少事故發(fā)生的機(jī)會。
另外,由于這套系統(tǒng)要長期在野外工作,對穩(wěn)定性要求較高。除了設(shè)置硬件看門狗外,還在編程時增加了許多軟件陷阱,使得程序必要時可以迅速復(fù)位。
結(jié)語
I2C總線電路結(jié)構(gòu)簡單,符合系統(tǒng)設(shè)計(jì)向小型化低功耗方向的發(fā)展趨勢。在軟件方面,由于使用平臺模式的VIIC軟件包,保證了在較短的時間內(nèi)開發(fā)出高穩(wěn)定性的驅(qū)動程序。
本導(dǎo)線磨耗帶電遙測儀基于I2C總線設(shè)計(jì),可以快速準(zhǔn)確的帶電遙測輸電導(dǎo)線殘高,并能夠自動計(jì)算和存儲,還可保存環(huán)境溫度、電源電壓與時間信息。具有操作簡單、界面友好、易擴(kuò)充等優(yōu)點(diǎn),對促進(jìn)電氣鐵路的管理科學(xué)化具有重要的應(yīng)用和推廣價(jià)值?!?/p>
參考文獻(xiàn)
1 孫涵芳、徐愛卿著.MCS51/96系列單片機(jī)原理及應(yīng)用(修訂版).北京:北京航空航天大學(xué)出版社,1996
2 周航慈著.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù).北京:北京航空航天大學(xué)出版社,1991
評論