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

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

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

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

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

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

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

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

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

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

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