摘要:為解決鐵路信號集中監測系統CAN接口、串行接口在節點數量較多時出現通信不正常甚至中斷的問題,提出了在監測模塊單元與信號集中監測站機之間加入通信接口機的方案。介紹了基于32位PowerPC微處理器MPC8247的通信接口機硬件、軟件設計的實現方法。
關鍵詞:鐵路信號集中監測系統;通信接口機;微處理器MPC8247
由于信號集中監測系統中所連接CAN接口、串行接口設備數量逐步增加,目前采用ISA及PC104類型的CAN擴展卡和串口擴展受限于工控機上擴展槽位不足,迫切需求一種基于多CAN口、多串口到以太網接口的通信接口機設備。通信接口機系統實現網口到CAN接口、串口的協議轉換以及接口轉換功能,同時,通信接口機系統還降低了集中監測系統站機對實時數據采集的負擔。其系統結構如下圖所示,從下圖1中可以看出通信接口機在信號集中監測系統通信中有著重要的地位。
圖1 信號集中監測系統通信結構圖
1硬件設計
通信接口機硬件主要包括:CPU核心板、電源部分;CPLD電路部分;擴展串口電路部分;總線電平轉換電路部分;RTC時鐘電路部分;接口電路部分(CF卡接口、CAN接口板接口、422/485接口板接口電路部分)組成。
CPU板是通信接口機設計的重點和難點部分,考慮使用CPU核心板設計,核心板包含:CPU、SDRAM、FLASH、實時時鐘、CPU時鐘、CPU電源、2路以太網接口芯片、與底板的接插件(采用1.27MM間距接插件),實現對整個硬件的智能接口擴展以及對重要信息的存儲等。
CPU采用Freescale公司的32位PowerPC微處理器MPC8247(采用BGA封裝)。MPC8247 是Freescale公司MPC82XX系列微處理器的一種,基于PowerQUICC結構,主要由PowerPC 603e內核,系統接口單元SIU以及通信處理模塊CPM組成。支持60x總線,其數據線寬為64位,地址線為32位;支持PCI/LOCAL總線,其數據線寬為32位,地址線為32位。PowerPC內核工作時鐘最高為300MHz,CPM工作時鐘最高為200MHz。
SDRAM采用2片HY57V561620FTP-H-C,設計容量為64M。作為CPU核心板數據存儲器使用。
FLASH采用一片JS28F128J3D75,設計容量為16M。作為CPU核心板程序存儲器使用。
CAN通道電路由SJA1000 CAN控制器芯片與通用CAN隔離收發器CTM8251T組成,另外在通道前端增加三級防護電路(1、氣體放電管進行雷擊防護;2、瞬態抑制器進行浪通防護;3、CAN共模濾波器抑制共模干擾)。
串口通道電路由ADM2587EBRWZ芯片與通道前端增加兩級防護電路(1、氣體放電管進行雷擊防護;2、瞬態抑制器進行浪通防護)組成。
2軟件設計
通信接口機在Linux系統上進行軟件開發設計,其軟件部分包括:(1)U-BOOT的移植;(2)Linux系統內核的移植;(3)外部接口驅動程序;(4)通信接口機應用程序四個部分。外部接口驅動程序包括:CAN接口驅動程序;串口驅動程序。
CAN驅動程序實現方法
CAN驅動程序負責完成linux內核與sja1000之間的數據通訊,即linux內核設置sja1000的控制寄存器,讀寫sja1000接收、發送緩沖器。應用程序部分負責完成用戶空間和內核空間的數據交換,以及分析從sja1000接收到的報文,封裝要發送報文。
sja1000讀操作程序如下:
base=ioremap(f6000000,0x20);
unsigned char read_can_reg(unsigned char *base,unsigned char reg )
{
unsigned char value;
writeb(reg,base);
value = readb(base+0x40);
return(value);
}
writeb(reg,base)模擬ale鎖存地址,發地址信號reg,base由硬件設計電路知道這將使地址鎖存信號ale拉高;然后,reg被送到了復用總線上;然后,通過readb(base+0x40)讀取地址reg上的數據,base將使ale拉低,reg被鎖存;然后,data被送到復用總線上,也就讀到了被鎖存的地址reg所指空間的數據。
串口驅動程序實現方法
Uart設備是繼tty_driver的又一層封裝。實際上uart_driver就是對應tty_driver.在它的操作函數中,將操作轉入uart_port。在寫操作的時候,先將數據放入一個叫做circ_buf的環形緩存區,然后uart_port從緩存區中取數據,將其寫入到串口設備中。當uart_port從serial設備接收到數據時,會將設備放入對應line discipline的緩存區中。
通信接口機應用程序實現方法
工作流程:先從EPROM 中讀取數據,設置接口參數。程序采用輪詢接收緩沖區的方式,對數據接收并打包。首先,程序進行初始化處理,然后判斷有無連接,存在連接時,將接收打包后的數據通過以太網上傳至信號集中監測站機。然后,判斷有無站機下發的數據。若有,則按照要求發送至對應端口上。
3 結束語
隨著鐵路新設備的不斷應用和鐵路信號集中監測系統的迫切需要,通信接口機憑著其自身的優點已經成為鐵路信號集中監測系統中的關鍵設備。本文通過在PowerPC嵌入式系統平臺上實現網口到CAN接口、串口的協議轉換以及接口轉換功能,同時,通信接口機系統還降低了集中監測系統站機對實時數據采集的負擔。本設計對集中監測系統的網絡化、智能化發展有積極的推動作用。
參考文獻
[1]劉淼.嵌入式系統接口設計與Linux驅動程序開發[M].北京:北京航空航天大學出版社,2006.
[2]張建,蔣新華,陳興武.CAN總線在基于ARM嵌入式數控系統中的應用[J].自動化與儀表,2008(7):25-27.
[3]鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,1996.