基于LPC2294的泵艙信號轉換電路設計
摘要 提出了一種泵艙信號轉換電路的設計,將船用泵的壓力值通過(guò)壓力傳感器發(fā)送給控制芯片LPC2294。再經(jīng)對數據的打包封裝,通過(guò)以太網(wǎng)控制芯片將數據發(fā)送至以太網(wǎng)。此外還給出了轉換電路的硬、軟件設計流程,并經(jīng)過(guò)測試實(shí)驗證明其的有效性。該設計對于船用泵壓力異常狀態(tài)具有良好的預警作用,實(shí)現了船員的遠程監控要求。
本文引用地址:http://dyxdggzs.com/article/201610/308113.htm近年來(lái),中國航海事業(yè)快速發(fā)展,船舶安全也日益成為倍受關(guān)注的問(wèn)題。據統計,自上世紀80年代以來(lái),爆燃和火災造成的海難事故比重平均每年遞增1%,在我國每年的海難事故近千起,其中因船舶起火和爆炸造成的損失約占10%,造成了重大經(jīng)濟損失和人員傷亡。
作為船舶的重要組成部分,泵艙內的各類(lèi)船用泵的狀態(tài)直接影響著(zhù)船舶的正常運作,而船用泵的壓力值則是各項船用泵狀態(tài)參數中最具代表性的一種。借助于現代傳感器技術(shù)的普遍應用,其能代替輪機員正確地實(shí)現對機艙中的主輔機等設備和各系統的巡視管理和控制。
本文提出一種基于LC2294處理器的泵艙信號轉換電路,實(shí)現了對3路4~20 mA電流信號的采集處理,并將4~20 mA電流信號轉化為0~1.6 MPa壓力信號,當壓力信號超過(guò)設定門(mén)限后進(jìn)行壓力超限光報警,轉化誤差≤0.01 MPa,同時(shí)將壓力數據通過(guò)10/100 Mbit·s-1自適應雙冗余以太網(wǎng)上傳到上位機,數據發(fā)送頻率≥5次/s。
1 信號轉換電路設計
圖1所示為本轉換電路設計與實(shí)現的整體方案框圖,其中LPC2294作為信號轉換電路的主控制器,擴展了兩個(gè)10/100 Mbit·s-1自適應網(wǎng)卡接口,以μC/OS-II實(shí)時(shí)操作系統作為控制平臺。對TCP/IP協(xié)議棧進(jìn)行裁剪與實(shí)現,并通過(guò)軟件設計完成了對壓力傳感器的數據接收轉換以及通過(guò)以太網(wǎng)進(jìn)行數據發(fā)送。

硬件電路設計主要有6部分:主控制電路、壓力信號接收電路、模數轉換電路、存儲電路、以太網(wǎng)接口電路和輔助電路。
1.1 系統主控制器
本設計選用LPC2294處理器作為控制芯片。選擇該芯片是因LPC2294具有超強功能、低功耗以及豐富的片上資源,并帶有先進(jìn)的驗收濾波器,提供了系統的集成度和復雜度,保證了系統的穩定性。為確保系統對于堆棧和數據的存儲,還外接了1 MB的16位SRAM存儲器IS61WV1024 16BLL。SRAM存儲器IS61LV102416BLL采用高性能CMOS技術(shù),其具有低功耗,訪(fǎng)問(wèn)速度快,支持自動(dòng)刷新和自刷新功能。
1.2 壓力信號接收電路
為適應不同類(lèi)型的壓力傳感器輸出,本設計對每個(gè)傳感器接口設置了兩種接收電路并以跳線(xiàn)形式進(jìn)行選擇。壓力傳感器信號首先進(jìn)入接收電路,將相應的電流信號轉化為電壓信號。在壓力信號進(jìn)行模數轉換前,為了避免信號的相互干擾,保證測試設備和被測試設備的安全,需協(xié)調其之間的電位差,以提高共模抑制比,信號先經(jīng)ISO124隔離運算放大器芯片,可將其他雜波干擾濾除,防止其在隨后的模數轉換過(guò)程中造成測量數據與實(shí)際真值的偏差。經(jīng)ISO124的隔離凈化,信號送入AD7888模數轉換芯片將得到的模擬量轉化為數字量。
1.3 模數轉換電路
本設計中采用標準5 V電源對AD7888進(jìn)行供電,并將已轉換為電壓形式的模擬壓力信號分別送入模擬信號1~3引腳。由于LPC2294芯片的電平為3.3 V,而AD7888的電平為5 V。因此,LPC2294對AD7888的控制信號需要進(jìn)行電平轉換,這才能穩定的對AD7888進(jìn)行控制。
設計中使用74LVC245進(jìn)行電平轉換,將來(lái)自L(fǎng)PC2294芯片的片選信號、時(shí)鐘信號以及數據輸入信號送入74LVC245,經(jīng)電平轉換后分別輸入給AD7888。因LPC2294可承受5 V電壓,所以將模數轉換后的輸出數據直接送入LPC2294的P0.28引腳。其具體電路如圖2所示。

1.4 以太網(wǎng)接口電路設計
以太網(wǎng)接口電路主要由DM9000E以太網(wǎng)控制器及HR601860網(wǎng)卡變壓器組成。DM9000E是由Davicom公司設計的一款低功耗、高集成、高速以太網(wǎng)控制芯片,其可與CPU直接相連,并支持10/100 Mbit·s-1以太網(wǎng)連接,且接口支持8位、16為32位不同的處理器。系統設計為兩個(gè)網(wǎng)口,一個(gè)主網(wǎng)口,另一個(gè)為冗余網(wǎng)口。系統中LPC2294與DM9000E采用16位總線(xiàn)方式進(jìn)行控制連接,并將其設定在100 MHz全雙工模式下。通過(guò)對LPC2294的CS2、CS3引腳進(jìn)行控制以實(shí)現輸出片選信號對兩個(gè)網(wǎng)口進(jìn)行選擇。電路設計方面將CS2、CS3與74HC245的引腳A2、A1進(jìn)行連接,并將74HC245B1、B2引腳分別與冗余網(wǎng)卡芯片及主網(wǎng)卡芯片的ANE引腳相連。再將兩個(gè)DM9000E芯片的CMD引腳與LPC2294的A2相連??蓪⒅骶W(wǎng)卡芯片和冗余網(wǎng)卡芯片的數據端口地址與索引端口地址分別配置成為0x83800000、0x83800004和0x83400000、0x83400004。DM9000E的物理層發(fā)送和接收端口TXO+、TXO-、RXI+、RXI-分別與HR601680的TPOUT+、TPOUT-、TPIN+、TPIN-相連。如圖3所示。

2 軟件設計
系統在軟件設計中主要進(jìn)行了操作系統移植、TCP/IP的嵌入式開(kāi)發(fā)環(huán)境實(shí)現及網(wǎng)絡(luò )設備驅動(dòng)程序開(kāi)發(fā)等內容。由于傳感器數據是一種少量實(shí)時(shí)數據,完整的TCP/IP在本系統中并不適用,所以對其進(jìn)行裁剪來(lái)節省資源提高實(shí)時(shí)性。本部分主要對TCP/IP嵌入式開(kāi)發(fā)環(huán)境實(shí)現與網(wǎng)絡(luò )設備驅動(dòng)程序開(kāi)發(fā)進(jìn)行簡(jiǎn)要說(shuō)明,并對整體程序設計加以介紹。
2.1 系統相關(guān)數據報文結構
由于本系統主要是完成對泵組進(jìn)行壓力信息采集并通過(guò)以太網(wǎng)向上位機進(jìn)行發(fā)送的過(guò)程,所以需處理的數據量較小,因此本泵艙信號轉換系統采用自定義的UDP數據報文封裝方式對所需傳輸的數據進(jìn)行封裝,并通過(guò)設定控制字來(lái)對不同功能的報文加以區分。

圖4為自定義UDP報文的具體封裝,其中前4字節為固定幀頭信息,用以表示本系統內的數據報信息。除此之外,前20 bit還包括雙方IP地址、序列號等基本信息,余下20 bit后的內容才是監測數據信息。自定義UDP數據報文的數據域主要是由多個(gè)信息單元組成的,具體信息單元結構如圖5所示。

信息內容長(cháng)度為8 bit,其中頭6 bit分別以2 bit一組標識3組泵組壓力的相關(guān)信息,每組信息包括泵組工作狀態(tài)、通道工作狀態(tài)以及泵組的實(shí)時(shí)壓力數據,其余2 bit為保留字節。以前2 bit的信息結構為例,如圖6所示。

字節0的0~1位表示4種泵組工作狀態(tài):泵組未啟動(dòng)(00)、泵組啟動(dòng)(10)、通道未使用實(shí)時(shí)壓力信息置0(10)、通道自檢故障實(shí)時(shí)壓力信息置0(11)。
字節0的2~3位表示4種通道工作狀態(tài):自檢正常(00)、自檢狀態(tài)故障(01)、采集信息超限報警(10)、通道處于檢修狀態(tài)(11)。
其余12位信息表示泵組實(shí)時(shí)壓力,其他3組泵組信息結構與其相同。
2.2 TCP/IP協(xié)議棧的裁剪與實(shí)現
TCP/IP是目前應用最廣泛的網(wǎng)絡(luò )傳輸協(xié)議,雖該協(xié)議并不符合國際標準化組織的制定標準,但其無(wú)疑是世界上用戶(hù)最多的計算機網(wǎng)絡(luò )協(xié)議。TCP/IP是一個(gè)4層的協(xié)議系統,每個(gè)層次均具有不同的協(xié)議,實(shí)現不同的通信功能。在嵌入式應用環(huán)境下,TCP/IP仍保持著(zhù)該結構,只是在具體協(xié)議的實(shí)現過(guò)程中,根據功能需要進(jìn)行了相應的調整,可以滿(mǎn)足設計需要即可。嵌入式應用環(huán)境下的TCP/IP協(xié)議結構及各協(xié)議間的關(guān)系如圖7所示。

2.3 DM9000E驅動(dòng)程序設計
作為以太網(wǎng)的控制器,以太網(wǎng)控制芯片DM9000E的工作就是對報文形式的封裝和傳輸。具體的DM9000E驅動(dòng)程序設計包括設備的初始化、發(fā)送程序設計和接收程序設計。作為以太網(wǎng)的控制器,DM9000E的工作就是負責上面介紹的報文形式的封裝和傳輸。
對于DM9000E的初始化過(guò)程,首先調用預設的硬件初始化宏定義來(lái)完成各網(wǎng)口的硬復位,然后執行軟復位的相關(guān)操作,如設置I/O模式、PHY寄存器及控制器工作狀態(tài)等內容,并最終將MAC地址寫(xiě)入MAC寄存器并激活網(wǎng)卡,初始化過(guò)程完成。具體的軟件設計流程如圖8所示。

當應用程序需經(jīng)過(guò)網(wǎng)絡(luò )傳遞數據時(shí),DM9000E配置相關(guān)寄存器的信息,并調用函數進(jìn)行發(fā)送。設計時(shí),設定DM9000E對于每包數據發(fā)送的最大嘗試次數為6,當超過(guò)該值時(shí)就將該數據報丟棄。且DM9000E還支持雙緩沖區發(fā)送,能有效提高網(wǎng)絡(luò )傳輸數據率。另外,為了提高發(fā)送數據的實(shí)時(shí)性,可使用中斷方式啟動(dòng)發(fā)送函數,由上層協(xié)議來(lái)調度。
DM9000E的數據包接收驅動(dòng)程序相對于發(fā)送較為復雜,在設計過(guò)程中將代碼放在臨界段,以防止在接收數據時(shí)程序意外中斷而產(chǎn)生數據包錯誤等結果。而實(shí)現臨界段代碼的一個(gè)重要手段就是任務(wù)鎖,當任務(wù)上鎖之后該進(jìn)程不允許中斷,直至代碼運行結束后解鎖。若DM9000E順利接收到數據包,需判斷數據的位模式,以進(jìn)行不同的處理后寫(xiě)入內部緩沖區,若數據長(cháng)度及狀態(tài)均符合要求,通過(guò)調用以太網(wǎng)收包函數進(jìn)行下一步處理。
2.4 程序設計
信號轉換電路的主要功能是將壓力傳感器的數據接收并封裝經(jīng)網(wǎng)卡芯片發(fā)送至以太網(wǎng)。系統使用μC/OS-II實(shí)時(shí)操作系統作為系統平臺,通過(guò)裁剪、移植使其在LPC2294控制器上順利運行。此外,系統中移植了TCP/IP協(xié)議的核心功能函數,并主要編寫(xiě)了5個(gè)任務(wù)函數,使其完成整個(gè)系統的核心功能,并通過(guò)μC/OS—II系統的任務(wù)調度管理機制來(lái)進(jìn)行系統資源的分配。

程序流程如圖9所示。系統首先建立設備初始化任務(wù)TaskA(),該任務(wù)主要完成上電自檢、網(wǎng)口斷線(xiàn)自檢、本機IP及兩路網(wǎng)口等網(wǎng)關(guān)參數的初始化等。在完成上述工作后,創(chuàng )建4個(gè)子任務(wù),按優(yōu)先級由高到低依次為T(mén)askB()、TaskC()、TaskD()、TaskE()。其中4個(gè)子任務(wù)的具體功能如下:
TaskB、TaskC:分別接收來(lái)自上位機的以太網(wǎng)報文,其中TaskB接受UDP報文,TaskC接收TCP報文,并完成上位機對本模塊的參數設置,如IP地址,端口號報文發(fā)送方式(UDP或TCP)等。
TaskD:完成接收3路壓力傳感器數據,并按照規定的傳輸方式,將數據封裝并發(fā)送到以太網(wǎng)。
TaskE:主要功能是定時(shí)發(fā)送特殊報文,如心跳報文、時(shí)統報文、工作狀態(tài)請求報文及設備診斷信息報文等。
3 實(shí)驗測試
針對本泵艙信號轉換電路的驗證,采用模塊調試的方式。首先進(jìn)行硬件電路板的調試,然后進(jìn)行軟件部分不同模塊的驅動(dòng)開(kāi)發(fā)和系統調試。對于A(yíng)/D模塊調試,采用給A/D采樣信道一個(gè)電壓值,用ADS1.2軟件仿真的方法查看轉換結果是否與理論值相符。測試時(shí)給輸入通道0輸入3 V參考電壓,理論滿(mǎn)量程為0x03FF,仿真結果為0x000003FA,其與理論值符合度較高。而對于以太網(wǎng)通信的調試,調試工具選用Tcp Udp測試工具軟件以及網(wǎng)絡(luò )協(xié)議分析器EtherPeek NX工具對數據報進(jìn)行捕捉分析。首先需對相關(guān)參數進(jìn)行設置,設定系統端口號為9211,上位機端口號為9210。系統采用C類(lèi)IP地址,統一子網(wǎng)掩碼255.255.255.0,網(wǎng)關(guān)地址設置為192.1.103.1。本系統的IP地址為192.1.10 3.67,上位機的IP地址為192.1.103.66。通過(guò)對上位機發(fā)送的模擬數據進(jìn)行數據報捕捉,如圖10所示,數據信息經(jīng)由自定義UDP報頭、UDP協(xié)議、IP協(xié)議及以太網(wǎng)協(xié)議依次封裝進(jìn)行傳送,具體的壓力信息數據在信息單元后8 bit顯示出來(lái),并通過(guò)對數據的解析可知曉3組泵處于啟動(dòng)狀態(tài)并自檢正常。通過(guò)測試,驗證了以太網(wǎng)通信的良好性能。

4 結束語(yǔ)
在對船舶安全關(guān)注度日益提高的前提下,本文提出一種船舶泵艙信號轉換電路設計,該設計方便對船用泵的工作狀態(tài)進(jìn)行實(shí)時(shí)監測,以達到對異常狀態(tài)的提前預警。設計以ARM7系列LPC2294為核心控制器,配合其他芯片實(shí)現了將壓力傳感器輸出的壓力數據通過(guò)網(wǎng)卡傳送至以太網(wǎng)的通信功能。并通過(guò)實(shí)驗驗證了信號轉換系統的可靠性。此外,針對自動(dòng)化采集技術(shù)的誤判問(wèn)題,下一步的研究方向可將采集到的數據進(jìn)行有效地數據融合,用以提高數據準確性,并減少誤判的發(fā)生。
評論