??? 摘 要: 根據(jù)擺式列車的基本工作原理,設(shè)計(jì)制作了基于雙CPU的嵌入式線路信息檢測系統(tǒng)。系統(tǒng)采用AMTEL公司的AT89S51和SAMSUNG公司的S3C44B0X兩款微處理器分別作為數(shù)據(jù)采集計(jì)算機(jī)和傾擺控制主控計(jì)算機(jī),通過雙端口存儲器進(jìn)行數(shù)據(jù)通信。在硬件設(shè)計(jì)的基礎(chǔ)上,完成了基于μC/OS-II實(shí)時(shí)操作系統(tǒng)的檢測系統(tǒng)軟件設(shè)計(jì)。
??? 關(guān)鍵詞: 嵌入式技術(shù);檢測系統(tǒng);擺式列車
?
??? 開行擺式列車是實(shí)現(xiàn)鐵路既有線路提速的一種有效方法[1]。擺式列車分被動(dòng)擺和主動(dòng)擺兩種類型。被動(dòng)擺依靠車輛通過曲線時(shí)的離心力作用,使車體繞其擺心自動(dòng)地向曲線內(nèi)側(cè)傾斜,不需要外加動(dòng)力源。具有代表性的是西班牙的Talgo列車、日本的381電動(dòng)車組、德國Wegmann和瑞士的Neiko;主動(dòng)擺則是在外加動(dòng)力的作用下使車體向曲線內(nèi)側(cè)傾斜。具有代表性的是意大利Fiat公司的ETR電動(dòng)車組、瑞典ABB公司的X2000列車以及德國ADtranz公司的VT611內(nèi)燃動(dòng)車組。被動(dòng)擺簡單,不需要作動(dòng)器、控制及信號采集系統(tǒng)。由于其在曲線上的傾擺角一般不超過3.5°,提速的幅度小,同時(shí)受傾擺機(jī)構(gòu)阻力的影響,車體傾擺會產(chǎn)生“遲滯”現(xiàn)象,影響乘坐的舒適性,已從擺式列車的主流中逐漸退出。主動(dòng)擺在曲線上的傾擺角可達(dá)8°,提速幅度大,車體傾擺動(dòng)作響應(yīng)較快,乘坐舒適。目前,世界各國擺式列車大多采用主動(dòng)擺形式。根據(jù)我國的線路情況以及國外的經(jīng)驗(yàn),我國研制的擺式列車傾擺控制系統(tǒng)采用的是主動(dòng)擺形式[1-3]。
?? ?主動(dòng)擺式列車以列車通過曲線時(shí)所承受的未平衡離心加速度作為傾擺角度的計(jì)算依據(jù),加速度信號的準(zhǔn)確與否直接關(guān)系到車體傾擺動(dòng)作、乘坐的舒適性和列車運(yùn)行的安全性。特別是未平衡離心加速度信號測量和計(jì)算處理的實(shí)時(shí)性,關(guān)系到能否實(shí)現(xiàn)第一節(jié)車輛的及時(shí)傾擺控制[1-3]。因此,研制具有高的穩(wěn)定性、可靠性和實(shí)時(shí)性的傾擺控制檢測系統(tǒng)對于擺式列車的成功應(yīng)用至關(guān)重要。
1 擺式列車傾擺控制系統(tǒng)基本組成
??? 目前,新一代擺式列車基本上都采用指令驅(qū)動(dòng)式的控制模式[2]。即控制信號由位于頭車的指令中心產(chǎn)生,通過通信網(wǎng)絡(luò)順次傳送到后續(xù)各車輛控制器,再由各車輛控制器控制車體實(shí)時(shí)傾擺。因此,要完成列車的傾擺控制,傾擺控制系統(tǒng)必須包括線路信息檢測子系統(tǒng)、傾擺控制信號產(chǎn)生子系統(tǒng)和傾擺作動(dòng)子系統(tǒng),并采用列車通信網(wǎng)絡(luò)將各個(gè)子系統(tǒng)連成一個(gè)分布式列車測控網(wǎng)絡(luò)系統(tǒng)。圖1是擺式列車傾擺控制系統(tǒng)原理框圖。
?
2 基于雙CPU的線路信息檢測子系統(tǒng)
2.1 系統(tǒng)總體方案設(shè)計(jì)
??? 圖2是擺式列車傾擺控制線路信息檢測子系統(tǒng)的原理框圖。線路信息檢測子系統(tǒng)主要包括傳感器、信號調(diào)理、A/D轉(zhuǎn)換、數(shù)據(jù)采集及信號處理等功能模塊。其主要功能是實(shí)時(shí)采集來自陀螺平臺、陀螺儀和加速度傳感器的線路信號,經(jīng)相應(yīng)的信號處理,得到列車通過曲線時(shí)的未平衡離心加速度大小,據(jù)此計(jì)算出相應(yīng)的傾擺角度提供給傾擺控制主控計(jì)算機(jī)。該檢測子系統(tǒng)采用了雙CPU結(jié)構(gòu),數(shù)據(jù)采集和數(shù)據(jù)處理的任務(wù)分別交由兩個(gè)計(jì)算機(jī)系統(tǒng)完成,二者通過雙端口存儲器進(jìn)行數(shù)據(jù)交換。
?
系統(tǒng)選用AMTEL公司的AT89S51和SAMSUNG公司的S3C44B0X兩款微處理器分別作為數(shù)據(jù)采集計(jì)算機(jī)和傾擺控制主控計(jì)算機(jī)。
??? AT89S51是一款性價(jià)比良好的單片微處理器,具有4KB的片內(nèi)Flash存儲器,最高工作頻率為33MHz。由于只負(fù)責(zé)進(jìn)行數(shù)據(jù)采集,程序簡單、代碼較少,因此系統(tǒng)設(shè)計(jì)時(shí)不需要進(jìn)行外部存儲器擴(kuò)展。由于用于傾擺控制的有效信號的頻率范圍不超過1Hz,因此對數(shù)據(jù)采集系統(tǒng)的工作頻率沒有較高要求。
??? S3C44B0X是SAMSUNG公司推出的基于ARM7TDMI核的16/32位RISC處理器,其豐富的片內(nèi)外設(shè)接口功能,使其能方便地與各種外部設(shè)備相連,例如LCD顯示器、大容量存儲卡、UART通信設(shè)備、鍵盤和觸摸屏等,并且能夠方便地移植實(shí)時(shí)操作系統(tǒng)。主控計(jì)算機(jī)采用S3C44B0X芯片,不僅具有體積小、功耗低、高性能等特點(diǎn),而且能夠簡化系統(tǒng)設(shè)計(jì),大大降低了整個(gè)系統(tǒng)的成本。
??? 系統(tǒng)設(shè)計(jì)中擴(kuò)展了NOR Flash和NAND Flash兩種類型的Flash芯片,其中一片AM29LV320DB NOR Flash(4MB)作為系統(tǒng)的啟動(dòng)盤,一片K9F2808U NAND Flash(16M×8bit)用于大量程序和數(shù)據(jù)的存儲。此外,系統(tǒng)中還擴(kuò)展了一片HY57V561620 SDRAM芯片(4Mbit×4banks×16),主要用作程序的運(yùn)行空間、數(shù)據(jù)及堆棧區(qū)。
2.2 傳感器及其安裝
??? 由于主動(dòng)式擺式列車最大傾擺角度不超過8°,因此通過傾擺控制能補(bǔ)償?shù)淖畲髾M向離心加速度約為gsin(8°)≈1.4m/s2。而我國鐵路規(guī)定客車通過曲線的最大未平衡離心加速度為0.76m/s2,因此,列車通過曲線的最大離心加速度約為2.16m/s2。但通過對所有線路試驗(yàn)數(shù)據(jù)的分析可知,受軌道不平順等振動(dòng)干擾因素的影響,橫向加速度信號的最大幅度達(dá)到了12m/s2,因此,考慮線路測量的具體情況,加速度傳感器的量程確定為2g。
??? 試驗(yàn)所用陀螺儀采用液浮式雙向角速率陀螺儀,安裝在密封的金屬盒里。兩個(gè)陀螺儀測量方向相互垂直,一個(gè)測量轉(zhuǎn)向架的側(cè)滾角速率;另一個(gè)測量轉(zhuǎn)向架在軌道平面內(nèi)的轉(zhuǎn)彎角速率。根據(jù)我國鐵路工程技術(shù)規(guī)范的規(guī)定并考慮軌道不平順引起的振動(dòng)干擾噪聲,側(cè)滾角速率和轉(zhuǎn)彎角速率兩個(gè)方向的角速率陀螺儀的量程選為10°/s。
??? 圖3是相關(guān)傳感器在機(jī)車及其轉(zhuǎn)向架上的安裝位置示意圖。
?
2.3 數(shù)據(jù)采集模塊設(shè)計(jì)
??? 加速度傳感器和陀螺儀輸出的模擬信號,經(jīng)抗混疊濾波器組濾去信號中的高頻成分,然后經(jīng)采樣保持和A/D轉(zhuǎn)換變?yōu)閿?shù)字信號,存儲在雙端口存儲器中。
??? 傳感器所測加速度信號和角速率信號中都包含了大量的高頻隨機(jī)振動(dòng)干擾。而列車車輛本身幾個(gè)主要振型的固有頻率在1~10Hz的范圍內(nèi),所以消除干擾的低通濾波器的截止頻率范圍通常在0.1~1Hz??紤]到信號在計(jì)算機(jī)內(nèi)部還要進(jìn)行數(shù)字濾波處理,抗混疊濾波器可采用截止頻率10Hz的二階壓控電壓源低通濾波器。
??? 測試系統(tǒng)要實(shí)現(xiàn)高精度測量,必須保證A/D轉(zhuǎn)換器有足夠高的分辨率。系統(tǒng)中的A/D轉(zhuǎn)換器采用美國MAXIM公司的新產(chǎn)品MAX197芯片。MAX197是多量程(±10V,±5V,0~10V,0~5V)、8通道、內(nèi)部帶有采樣保持電路的12位A/D轉(zhuǎn)換器。轉(zhuǎn)換時(shí)間6μs,采樣率為100kS/s。具有標(biāo)準(zhǔn)的微機(jī)接口,輸入輸出與TTL/CMOS電平兼容。
3 擺式列車線路信息檢測子系統(tǒng)軟件設(shè)計(jì)
3.1 數(shù)據(jù)采集模塊程序設(shè)計(jì)
?? ?基于AT89S51的數(shù)據(jù)采集模塊與基于S3C44B0X的主控模塊之間通過雙端口存儲器進(jìn)行數(shù)據(jù)交換。根據(jù)擺式列車傾擺控制的實(shí)際要求,一方面數(shù)據(jù)采集模塊每采集一組數(shù)據(jù)(包括8路傳感器信號)并存入雙端口存儲器后,便以中斷方式通知主控模塊,主控模塊隨即把這組采樣數(shù)據(jù)從雙端口存儲器讀出,進(jìn)行相應(yīng)的數(shù)據(jù)處理運(yùn)算,實(shí)現(xiàn)數(shù)據(jù)采集和處理的同步;另一方面,主控模塊能夠向數(shù)據(jù)采集模塊傳送命令數(shù)據(jù),控制數(shù)據(jù)采集的開始和停止及采樣時(shí)間間隔的選擇等。在此數(shù)據(jù)傳輸中,要協(xié)調(diào)好雙方對雙端口存儲器的訪問,以免雙方對相同存儲器單元同時(shí)訪問,保證整個(gè)系統(tǒng)正常、協(xié)調(diào)地工作。為此,在雙端口存儲器的最低地址保留6個(gè)存儲單元專門用于雙方的握手。
??? 利用AT89S51內(nèi)部的16位定時(shí)/計(jì)數(shù)器,采用硬件定時(shí)的方式實(shí)現(xiàn)8路數(shù)據(jù)的采集,并將采集的數(shù)據(jù)存入雙端口存儲器中。程序流程圖如圖4所示。
?
3.2 基于μC/OS-II的主控模塊程序設(shè)計(jì)
??? 主控模塊軟件的設(shè)計(jì)主要基于μC/OS-II實(shí)時(shí)操作系統(tǒng)進(jìn)行[5],其總體結(jié)構(gòu)如圖5所示。
?
??? 當(dāng)系統(tǒng)上電或復(fù)位后,系統(tǒng)將從程序代碼空間的首地址0x00000000開始執(zhí)行,即從Main( )函數(shù)的開始處執(zhí)行。程序首先執(zhí)行整個(gè)系統(tǒng)的軟硬件初始化,包括操作系統(tǒng)的初始化和硬件中斷、定時(shí)器、接口等的初始化。初始化結(jié)束后,Main( )函數(shù)先后創(chuàng)建如下任務(wù):
??? (1)TaskStart:系統(tǒng)運(yùn)行后創(chuàng)建的第一個(gè)任務(wù)。完成一些初始化工作以及創(chuàng)建其他任務(wù)。所有工作完成后,此任務(wù)被刪除。
?? ?(2)TaskCommand:寫命令任務(wù)。根據(jù)雙端口存儲器STATE單元的值,向雙端口存儲器COM單元寫入相應(yīng)的命令。
?? ?(3)TaskDataProcess:數(shù)據(jù)處理任務(wù)。從雙端口存儲器中讀取采集數(shù)據(jù)并進(jìn)行相應(yīng)的實(shí)時(shí)數(shù)據(jù)處理。
?? ?(4)TaskControl:傾擺控制指令產(chǎn)生任務(wù)。根據(jù)實(shí)時(shí)數(shù)據(jù)處理結(jié)果,按照一定的控制策略產(chǎn)生傾擺控制指令信息。
?? ?(5)TaskLCD:LCD顯示任務(wù)。負(fù)責(zé)傾擺控制過程中重要數(shù)據(jù)及信息的顯示。
?? ?(6)Task232:RS232通信任務(wù)。負(fù)責(zé)通過RS232總線與上位機(jī)通信。
?? ?初始化完成后,系統(tǒng)處于就緒等待狀態(tài)。任務(wù)優(yōu)先級較低的TaskLCD任務(wù)得到運(yùn)行,完成界面顯示并循環(huán)等待。當(dāng)按下“開始”操作按鈕時(shí),觸發(fā)相應(yīng)的鍵盤中斷服務(wù)程序,在該中斷服務(wù)程序中調(diào)用OSSemPost(SendCOM)函數(shù),發(fā)出信號量SendCOM,并使正在等待該信號量的TaskCommand任務(wù)接收到該信號量。TaskCommand任務(wù)將在鍵盤中斷服務(wù)程序退出之后恢復(fù)運(yùn)行,并向數(shù)據(jù)采集模塊發(fā)出開始采集命令。當(dāng)數(shù)據(jù)采集模塊把一組采樣數(shù)據(jù)寫入雙端口存儲器之后,便向主控模塊發(fā)出讀取數(shù)據(jù)的中斷請求信號。在主控模塊中,該中斷請求信號觸發(fā)相應(yīng)的數(shù)據(jù)讀取中斷服務(wù)程序,在該中斷服務(wù)程序中調(diào)用OSSemPost(ReadDATA)函數(shù),發(fā)出信號量ReadDATA,并使正在等待該信號量的TaskDataProcess任務(wù)接收到該信號量。TaskDataProcess任務(wù)將在數(shù)據(jù)讀取中斷服務(wù)程序退出之后恢復(fù)運(yùn)行,讀取數(shù)據(jù)并進(jìn)行相應(yīng)的實(shí)時(shí)數(shù)據(jù)處理。
4 線路試驗(yàn)
??? 擺式列車的研制過程中,在成渝線和成昆線上進(jìn)行了多次傾擺控制系統(tǒng)線路試驗(yàn)。擺式列車傾擺控制的關(guān)鍵是及時(shí)、準(zhǔn)確地獲取列車通過曲線時(shí)的未平衡離心加速度信號,據(jù)此產(chǎn)生傾擺控制指令。圖6是加速度傳感器實(shí)際測量的未平衡離心加速度信號及其濾波結(jié)果。圖7是陀螺儀測量的列車側(cè)滾角速率信號及其濾波結(jié)果。
?
?
??? 本文根據(jù)擺式列車的基本工作原理,設(shè)計(jì)制作了基于雙CPU的嵌入式線路信息檢測子系統(tǒng),并對檢測子系統(tǒng)軟硬件結(jié)構(gòu)及其主要功能進(jìn)行了描述。對該檢測子系統(tǒng)進(jìn)行了實(shí)際線路試驗(yàn)和數(shù)據(jù)的分析處理。結(jié)果表明,本文所設(shè)計(jì)的基于雙CPU的嵌入式擺式列車傾擺控制檢測系統(tǒng)能實(shí)現(xiàn)擺式列車通過曲線時(shí)離心加速度等信號的有效檢測,工作性能穩(wěn)定、可靠,具有較好的實(shí)時(shí)性。
參考文獻(xiàn)
[1] 李芾.國外擺式列車發(fā)展和運(yùn)用概況[J].西南交通大學(xué)學(xué)報(bào),2000,3(6):569-575.
[2] 倪文波,耿標(biāo).?dāng)[式列車傾擺控制系統(tǒng)[J].西南交通大學(xué)學(xué)報(bào),2000,35(6):642-646.
[3] 倪文波,劉榮,王雪梅,等.?dāng)[式客車機(jī)電式傾擺系統(tǒng)研究[J].鐵道學(xué)報(bào),1999,21(5):20-23.
[4] 周立功.ARM微控制器基礎(chǔ)與實(shí)戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.
[5] 任哲.嵌入式實(shí)時(shí)操作系統(tǒng)?滋C/OS-II原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2006.