王皆歡, 邱怡岑
(上海船舶運輸科學研究所,上海 200135)
MA32XX系列的32點測量模塊已使用較長時間,該測量模塊立足于滿足當時用戶對機艙設備參數分布式測量需求,實現不同類型傳感器信號的獨立采集。32點測量模塊包含3組放大器,可同時進行3類傳感器信號的采集,根據現場使用的不同需求,衍生出各類測量模塊。測量模塊可根據不同船型或不同類型的傳感器測量的需求,將毫安信號(4~20 mA),PT100(0~100 ℃,0~200 ℃,0~600 ℃),EU2(0~800 ℃),電壓輸入(0~10 V)及開關量信號進行系統的整合。
此模塊的設計思路是將輸入信號調制到0~5 V范圍內,CPU模塊通過單片機內置的A/D、外置D/A和脈沖寬度調制(Pulse Width Modulation, PWM)構成的輸出反饋系統,可逐步調整信號的零點和量程,調整結束后將模擬量轉換為數字量,并完成信號數字濾波、非線性補償及數據傳輸等功能。測量模塊采用自適應控制,根據不同的環境溫度可調節放大電路的零點和量程,以保證測量模塊在整個工作環境范圍內正常工作,滿足測量的精度要求(見圖1)。

圖1 32點測量模塊硬件框圖
該設計使用模擬電路完成測量模塊故障判斷和模擬電壓反饋的方式實現數據標定功能,以此實現信號采集的精度要求,但也帶來了一些問題。
1) 零點量程調節不便
由于調節手段為反饋式動態調節,通過不斷改變數字模擬轉換器(Digital to Analog Converter, DAC)參考電壓,改變DAC輸出,從而調整標定信號量程,直至滿足設定情況位置,零點調整則通過PWM反饋完成。因此每當進行電位器調節后,需要一定的時間進行穩定,實時性相對較差不利于現場調試。
2) 模擬電路多使用分立器件,反饋調節電路因焊接質量及電子器件質量等原因,在模塊調試及現場使用過程中造成了不小的麻煩,對測量模塊可靠性造成影響。
3) 由于測量模塊在未進入設定的標定量程范圍內不進行正常工作,測量模塊現場運行環境相對較差,溫度、濕度及振動等原因都會導致標定電位器阻值偏差,可能進入非工作狀態,存在誤報警隱患。
4) 模塊標定方式為同類通道統一標定,對于某個通道因為采樣電阻差異或傳感器輸出差異產生的測量偏差無法進行調節,采用2線制設計的電阻線阻根據不同環境需調整補償值,現場變更操作困難。
針對以上問題,采用Advanced RISC Machine(ARM)架構的LPC 1778芯片和高精度A/D轉換芯片ADS 1256的硬件架構實現信號采集功能,軟件設計上引入多任務系統,結合CANopen對象字典的結構[1]實現模塊信號標定和單通道的局部調整功能。
改型設計在原有功能不變的前提下,完善及擴展測量模塊的各項功能,通過下位機軟件實現測量模塊的外部信號標定,通過對象字典實現指定通道參數調整、實現波特率的調整及增加硬件通道定位的調試模式等。為能完全兼容上一代模塊,改型設計在確保所有接口形式不變、通訊協議不變及外形尺寸不變的前提下,從軟件、硬件兩方面進行設計。

圖2 測量模塊改型設計后的硬件框圖
測量模塊改型設計后的硬件框圖見圖2,CPU板通過接插件與數據采集板相連,實現數據運算、數據通信和信號存儲等功能。數據采集板通過外部接口與外部信號傳感器相連,實現信號的模數轉換及控制信號隔離等功能。
測量基板放棄原有動態調整測量的設計,新設計使用基于ARM Cortex-M3的LPC 1778微控制器及AT 24C02鐵電存儲器,實現數據處理、數據存儲及數據通信等功能,模數轉換部分使用高精度的ADS 1256芯片,實現高精度及低噪數據轉換。
32路信號采集通道由五組電子開關CD 4051通過片選形式,完成各通道采集信號的切換輸出,3組零點量程標準信號接口分別位于前三組CD 4051的起始兩路,根據采集信號的不同對信號接口稍微進行改動,即可實現不同種類信號的采集功能,其部分信號接口見圖3。

圖3 信號采集接口
1) 4~20 mA信號連接方式。當輸入是4~20 mA電流信號時,去除電路中的上拉電阻2 000 Ω和下拉電阻250 Ω,使電流在取樣電阻上形成電壓,增加了限流模塊防止進行測量時的瞬間電流沖擊。
2) 0~10 V信號連接方式。當輸入是0~10 V電壓信號時,去除電路中的上拉電阻2 000 Ω和采樣電阻100 Ω,F以0 Ω電阻連接,電壓經過電阻分壓后,可使AD芯片上的電壓在采樣范圍內。
3) 熱電偶信號連接方式。當輸入信號為mV熱電偶信號時,去除電路中的上拉電阻2 000 Ω、采樣電阻100 Ω和下拉電阻250 Ω后,直接進行測量。
4) 熱電阻信號連接方式。當輸入信號為Pt熱電阻信號時,可不考慮線阻影響(由軟件補償實現),去除電路中的采樣電阻100 Ω和下拉電阻250 Ω,分壓后對AD芯片進行測量。
當輸入信號為開關量信號時,通過熱電阻信號進行測量,在軟件配置中識別。
A/D轉換部分主要使用德州儀器的ADS1256 24位高性能模數轉換器(見圖4),該芯片支持8通道單極輸入采集,該設計中使用AIN0~AIN5接口完成對CD 4051輸出口的接入,采樣速率高達30 ksps(千次采樣每秒),非線性度±0.001%,可滿足改型設計的測量模塊采集通道切換時間的技術要求,芯片使用串行外設接口(Serial Peripheral Interface, SPI)通訊接口[2],應用軟件可通過調用底層SPI驅動完成對ADS 1256模數轉換器的各類操作。
1.2.1系統結構設計
32點改型設計測量模塊使用與原設計不同的標定和故障處理方式,原設計硬件部分實現的功能將盡可能由軟件實現。
軟件設計總體思路即在保持原用通訊協議的基礎上,根據控制器局域網絡(Controller Area Network, CAN)通訊協議對模塊的CAN通訊進行應用層的封裝,結合CANopen協議的形式建立對象字典,可通過CAN通訊對參數進行必要的讀取和修改,實現標定參數整定等功能。系統軟件結構框圖見圖5。

圖4 A/D轉換電路

圖5 系統軟件結構框圖
最上層的模塊應用程序主要通過核心調度器完成信號采集、數據通信及故障報警等任務功能模塊,實現任務的優先分配、任務間的內容關聯及任務間的數據通訊等功能。
驅動層軟件主要由信息采集芯片驅動、SPI總線驅動、IO驅動及CAN接口驅動等部分構成。
數據采集值的數據結構體通過SPI總線驅動和采集芯片驅動程序設計采集、組裝、存儲及校準等功能的算法與函數。數據通路自底向上,同時與網絡通信數據交互。開關量及LED等狀態,依托于IO驅動實現。

圖6 上層任務模型
數據采集任務包含常規數據采集和數據標定兩部分,數據標定過程規定了模塊外接信號的觸發條件,根據寄存器標志位及外部硬件跳線的不同接插情況進行指定輸入類型的采集信號的零點量程的采集及存儲,常規采集過程通過標準的標定值完成A/D轉換后的數據運算。
CAN通信任務包含CAN的收發功能,CAN接收過程主要實現對象字典查詢功能,CAN發送過程完成A/D數據處理后的封裝及發送,對象字典操作的反饋和標準的心跳報文。
故障報警任務實現初始化過程和正常運行過程中出現硬件故障的指示燈顯示和串口通訊邏輯。
1.2.2標定設計
1.2.2.1整體標定方法
系統在初始化硬件過程中會讀取鐵電標定標志位,如果標志位有效則讀取對應標定值更新至對象字典,開始常規數據采集任務。當外部信號需要標定時,需讀取板載跳線標定信號,根據信號情況進行指定類型通道的標定。
具體實現過程是當啟動標定后,讀取選擇通道的零點和量程的輸入信號,計算A/D轉換值,將對應的值更新至對象字典,同時將轉換值更新至鐵電存儲器,并刷新對應的標志位。具體標定流程見圖7。
1.2.2.2局部調整方法
整體標定結束后,特定種類的信號量的線性關系基本確定,需對特定采集端口進行微調,可采用對象字典的方式進行操作。在對象字典用戶區創建一段數據空間,定義各通道的零點值、量程值及偏移量補償值等,通過服務數據對象(Service Data Objects, SDO)通訊協議[3]對特定對象字典進行操作。SDO通訊協議見圖8。

圖7 標定流程圖8 SDO協議
設計中使用數據字典索引地址0x3100~0x3200,包含32通道的參數信息,其中包含每個單元分配2字節的高位標定值索引、2字節的低位標定值索引、2字節模塊類型索引和2字節補償值索引等。
在完成設計后對改型后的測量模塊進行性能驗證,測試目標為12路4~20 mA,11路開關量,9路PT 100(0~200 ℃)的32點測量模塊。其通信結果見圖9。

圖9 數據通信
數據刷新及其心跳報文根據軟件時顯示,刷新時間約為1 s,滿足設計要求。
對目標模塊第1個測量類型(即4~20 mA)的零點進行訪問,訪問格式為600+NodeId(NodeId :0x1f-0x1e=0x1),索引為00, 讀取值為0x1654,與默認值相符(見圖10)。

圖10 字典查詢
同樣對該值進行任意數值寫入操作,可以看到返回值以60開頭,說明修改成功。
對測試目標的第一路(4~20 mA),第十三路(PT100)分別接入12 mA和138.50 Ω(100 ℃)。采集結果見圖12,第一路電流示數為0x202,轉換實際顯示值為12.03 mA,第十三路電阻為0x1fe,轉換實際顯示值為99.61 ℃,精度滿足設計要求。測試結果表明,改型設計后的模塊各項功能指標均滿足改型要求。

圖11 字典修改

圖12 信號采集
通過對原有MA32XX 32點測量模塊進行分析,對原有設計進行改良和功能擴展,數據采集端加入限流模塊防止瞬間電流沖擊,改變原有標定方式,并在實現外部標定功能的前提下,通過對象字典的操作增加單通道整定功能,實現各采集通道的環境適應性。此外,增加額外功能如波特率配置、通道鎖定及串口通訊等,在原有模塊功能不變的前提下,進一步提升了模塊的可擴展性及可操作性。改型后的模塊各項性能符合設計要求,目前該測量模塊已通過測試驗證階段,將逐步投入正常的生產調試流程中。