梁明亮,孫晶晶
(1.鄭州鐵路職業技術學院,河南 鄭州 450052;2.中原鐵道機務公司,河南 鄭州 450052)
1.項目開發的目的
平調裝置是確保調車作業安全的重要設備,是調車作業安全的重要保證。由于目前無此系統的測試裝置,使得沿線調車機車平調故障時,難以確定是平調主機還是監控裝置部分的故障,給維修帶來許多麻煩,也延長了故障處理時間,這給調車安全埋下了隱患。我們設計并開發一套便攜式調車監控系統車載設備的故障檢測裝置,當平調車載設備發生故障時,能在短時間內對調車機上的平調主機、平調接口控制器(也稱接口盒或接線盒)、列車監控裝置接口電路和相關設備進行有效檢測、診斷和故障分析。
2.主要實現功能
(1)對平調接口控制器(接口盒)增設自檢電路,用循環發碼的方式實現平調接口盒功能輸入信號(調車主機送來的)和輸出信號(送給監控主機的控制信號)的自動檢測,通過無線信號將檢測結果發送到檢測裝置。
(2)輸出“停車、推進、溜放、減速、緊急停車、解鎖”等各種模擬信號。相關信息通過彩色液晶屏顯示,并能通過按鍵和觸摸屏觸摸兩種方式實現模擬信號輸出,同時將相關信息語音播放。
(3)根據平調主機發送給平調接口控制器(接口盒)的信號格式、特點,實現本檢測裝置對平調主機輸出的信號進行分析、檢測,通過彩色液晶屏顯示檢測結果,同時進行語音播放檢測信息。
1.硬件電路的設計與開發。采用32位ARM嵌入式芯片LPC2148為主控CPU,設計3.5英寸彩色液晶觸摸屏,獨立式鍵盤作為信息顯示和輸入控制。采用Protel軟件設計原理圖和PCB,電路設計中應充分考慮電源供給、抗電磁干擾等問題。
2.采用Keil C進行軟件編程。關鍵技術有uC/OS-II操作系統的移植、調車信號的分析與處理、語音的存儲播放編程等。分模塊進行程序開發,實現對平調主機輸出的數據進行接收、分析;同時輸出平調控制模擬信號,實現檢測機車運行監控裝置接口電路的功能。
3.語音技術的開發,實現操作時附帶語音提示。采用數字語音技術,便于音頻的存儲、回放等功能的實現。
數字語音技術的開發是調車車載設備檢測裝置設計的關鍵技術之一,采用WT588語音模塊實現裝置的各種語音播放。WT588具備獨特的工業性能,在-40℃至+85℃的環境下均能長期正常工作,抗干擾能力強;外圍電路非常簡單,語音的存儲、播放全由語音模塊完成,大大節省了主控制器的軟、硬件資源。工作時,檢測裝置的控制器只需通過I/O口發出控制命令給WT5880語音模塊即可完成各種語音的任意播放。
語音模塊硬件電路如圖1所示。
圖1 語音模塊硬件電路原理
圖中WT588D為語音單片機,系列語音芯片將存儲器外掛,集中提升語音處理功能。語音芯片應用方便,音質高低可選擇,價格比美國ISD系列芯片低得多。WT588D 的 P00、P01、P02、P03 連 接LPC2148主控器的I/O口,同時外接按鍵K0、K1、K2、K3用于樣機調試時的按鍵試音,在SPI-FLASH存儲器上燒寫語音程序時,把觸發口的按鍵定義為可觸發播放的觸發方式,就可進行工作。P17端為BUSY忙信號輸出端,可設置為播放狀態LED點亮和播放狀態LED熄滅。25PXX為SPI-FLASH存儲器,其電壓范圍在 2.8V ~3.5V,VDD - SIM 為WT588D語音芯片的串口電源管理輸入端,將25PXX的VCC連接到此端,可自動平衡WT588D跟25PXX之間的串口電壓。音頻為DAC輸出方式,通過Q1三極管放大后輸出到揚聲器。使用時注意PWM輸出端禁止接電容到地或直接接地,PWM+/DAC和PWM-端謹防短路。
語音的存儲采用語音單片機專用軟件對已錄制好的語音文件進行燒寫。采用Keil3 C進行ARM7軟件編程,裝置的主控制器采用三線發碼方式控制WT588D語音模塊的播放。
1.主程序部分代碼
#define DATA_1 IOSET0=IOSET0|(1〈〈28)
#define CS_1 IOSET0=IOSET0|(1〈〈29)
#define SCK_1 IOSET0=IOSET0|(1〈〈30)
#define RST_1 IOSET0=IOSET0|(1〈〈7)
#define DATA_0 IOCLR0=IOCLR0|(1〈〈28)
#define CS_0 IOCLR0=IOCLR0|(1〈〈29)
#define SCK_0 IOCLR0=IOCLR0|(1〈〈30)
#define RST_0 IOCLR0=IOCLR0|(1〈〈7)
void main(void)
{ IODIR1=IODIR1|0x00ff0000;//設置I/O口
IODIR0=IODIR0|0xfffffff0;
while(1)
{DrawString(45,25,"請選擇工作狀態",
RED,WHITE,NORMAL);//液 晶 屏 顯 示
DrawString(80,80,"1.模擬輸出",BLUE,
WHITE,NORMAL);
DrawString(80,125,"2.系統測試",BLUE,
WHITE,NORMAL);DrawString(120,175,"確定",RED,WHITE,NORMAL);
Send_threelines(30);//輸出語音“選擇工作狀態”
}
}
2.三線發碼子函數
上述主程序中,Send_threelines(uchar addr)為三線發碼子函數,用于控制語音模塊發出已錄制語音的某一段,其源代碼為:
void Send_threelines(ucha raddr)
{ unsigned cha ri;
if(addr>=210)return;//三線串口時,語音
段最多為210段
RST_0;
delay1ms(2);
RST_1;
delay1ms(18);//延時18mS
CS_0;
delay1ms(2);
for(i=0;i<8;i++)
{ SCK_0;
if(addr&1)DATA_1;
else DATA_0;
addr>>=1;
delay100us();//延時100uS
SCK_1;
delay100us();}
}
[1]PHILIPS.LPC2141/42/44/46/2148 Data Sheet[Z].2005:1-6.
[2]王俊峰,劉實秋.列控車載設備控制程序及參數遠程實時更新方法[J].北京交通大學學報,2010,(2):71 -74.
[3]劉玉瓊.基于WT588D語音提示系統設計[J].企業科技與發展,2010,(22):99 -102.