摘 要:介紹一種基于C8051F020單片機及CPLD芯片EPM3256ATC144-10實現的多種信號采集系統,其主要功能是對ZPW-2000R型移頻自動閉塞系統中各種頻率信號及交流模擬量、數字量進行采集處理,并與上位機進行數據通信。系統以單片機為核心,利用C8051F020內部ADC完成交流模擬信號的采集,通過兩片CPLD實現高精度頻率采集和數字信號采集;所有的數據運算處理均由單片機完成,再通過CAN總線等傳送至上位機。該系統利用簡單的電路設計及較低的成本,很好地滿足了實際應用和生產需要;系統中所需控制時序及地址譯碼等電路均由CPLD產生,所有處理結果均存入RAM。CPU可隨時從RAM讀取數據,并傳送至上位機,為數據的實時性采集和處理提供了有力保證。
關鍵詞:CPLD; C8051F020; 頻率采集; 交流模擬量采集
中圖分類號:TP368.1文獻標識碼:B
文章編號:1004-373X(2010)08-0023-04
Design of Acquisition System in Automatic Block System with Jointless Frequency-shift Track Circuit
TIAN Xia
(KTK Group Co. Ltd., Changzhou213102, China)
Abstract:A realization method of the multi-signal acquisition system based on single chip C8051F020 and CPLD EPM3256ATC144-10 is introduced,whose main function is to collect and process the frequency signals, AC analog and digitals of ZPW-2000R automatic block system with jointless frequency-shift track circuit, and to communicate with upper computer. This system with the single chip as the core realizes the AC signal acquisition by using ADC in C8051F020, implements the high-precision frequency acquisition and digital acquisition by two CPLDs. All data are processed by the single chip computer and transfered to upper machine via CAN bus. It can satisfy the needs of application and manufacture quite well with a simple circuit design and lower cost, all circuits used for time-sequence control and address decoding are generated in CPLDs, and all precessing results are stored in RAM for CPU reading at any moment, the way which ensures the real-time data acquisition and processing.
Keywords:CPLD; C8051F020; frequency acquisition; AC analog acquisition
0 引 言
隨著我國鐵路向高速、高密、重載、電氣化方向邁進,區間閉塞設備尤其是移頻自動閉塞系統得到了迅速的發展, ZPW-2000R型無絕緣移頻自動閉塞系統也因此得到了廣泛的推廣應用。為保證ZPW-2000R型無絕緣移頻自動閉塞系統能可靠安全的運行,隨移頻自動閉塞系統配套,提供了系統維護機,以對系統的運行狀態進行全天候監視,方便維護人員及時發現故障,并盡快排除故障,保證安全。本文介紹的采集系統正是為監測ZPW-2000R型無絕緣移頻自動閉塞系統維護機的主要設備提供接口。
1 ZPW-2000R型無絕緣移頻自動閉塞系統簡介[1]
ZPW-2000R型無絕緣移頻自動閉塞系統分室內設備和室外設備兩部分。室內設備包括發送器、功放器、接收器、濾波器、電纜模擬單元、采集系統、防雷單元、系統維護機;室外設備包括匹配單元(PB)、調諧單元(BA)、平衡線圈(SVA)、補償電容等。系統構成框圖見圖1,其主要工作方式為:
發送器根據前方閉塞分區執行繼電器構成的編碼條件,輸出相應編碼移頻信號。先經“N+1”轉換、方向電路、紅燈轉換條件及發送通道設備送至室外電纜,再經軌道匹配單元發送到軌道,并分別向兩個方向傳輸。正向信號經主軌道傳送到本區段調諧區的接收側,并在調諧區發送側BA處以其對接收信號呈低阻而實現隔離,不再向下一個區段繼續傳輸;反向信號經調諧區傳輸送至相鄰區段的接收側,同時以調諧區接收側BA對發送信號呈低阻而實現隔離,不再向相鄰區段繼續傳輸。
經主軌道傳輸的本區段信號和經調諧區傳輸的鄰區段反向信號都送入本區段的接收匹配單元端,再經電纜和通道設備傳輸,將兩種信號送至接收濾波端,由濾波器兩路混合分離,分出主軌道信號和調諧區信號這兩路輸出,分別送至接收器解調、譯碼,并輸出動作執行繼電器,控制區間信號燈顯示,反映列車占用情況,同時控制后方閉塞分區發送的信息,實現自動控制。
圖1 ZPW-2000R型無絕緣移頻自動閉塞系統構成框圖
系統軌道電路采用調頻方式。載頻頻率為:1 698.7 Hz(1700-1),1 701.4 Hz(1700-1),1 998.7 Hz(2000-2),2 001.4 Hz(2000-1),2 298.7 Hz(2 300-2),2 301.4 Hz(1700-1),2 598.7 Hz(2600-2),2 601.4 Hz(2600-1);頻偏為±11 Hz;低頻調制頻率為10.3 Hz,11.4 Hz,12.5 Hz,13.6 Hz,14.7 Hz,15.8 Hz,16.9 Hz,18 Hz,19.1 Hz,20.2 Hz,21.3 Hz,22.4 Hz,23.5 Hz,24.6 Hz,25.7 Hz,26.8 Hz,27.9 Hz,29 Hz,共18個信息。
發送器、功放器、接收器、濾波器的工作狀態由采集系統實時采集,并上傳至系統維護機。
2 系統架構設計
該系統由輸入信號處理、主控單元、外部通信接口三大模塊組成,系統結構如圖2所示。
圖2 系統結構圖
主要采集ZPW-2000R型無絕緣移頻自動閉塞系統的接收器、發送器、功放器等單元設備的電壓、電流、低頻、載頻及繼電器狀態等數據,并與系統維護機等上位機進行數據通信。如圖2所示,采集的模擬量數據包括兩路功出電壓、八路接入電壓、兩路功出電流、兩路濾入電流等;采集的頻率信息包括兩路載頻信息、六路低頻信息等。其中,接入電壓及功出電流輸入均為毫伏級交流信號;功出電壓輸入為高壓交流信號;發送低頻及接收低頻輸入為交流數字信號;地址編碼輸入為電平信號;繼電器狀態輸入為數字脈沖信號。
3 C8051F020簡介[2]
C8051F020 (F020)是美國德州Cygnal公司推出的完全集成混合信號系統級MCU芯片,具有64個數字I/O引腳。其主要特征為:
(1)高速、流水線結構的8051 兼容的CIP-51 內核;
(2) 全速、非侵入式的在系統調試接口(片內);
(3) 真正12位100 kS/s的8 通道ADC,帶PGA和模擬多路開關;
(4) 真正8位500 kS/s ADC,帶PGA 和8通道模擬多路開關;
(5)兩個12位DAC,具有可編程數據更新方式;
(6) 64 KB可在系統編程的FLASH 存儲器;
(7)4 352(4 096+256)B的片內RAM;
(8)可尋址64 KB地址空間的外部數據存儲器接口;
(9)硬件實現的SPI,SMBus/I2C 和兩個UART 串行接口;
(10)通用的16 位定時器;
(11) 具有五個捕捉/比較模塊的可編程計數器/定時器陣列;
(12) 片內看門狗定時器、VDD監視器和溫度傳感器。
C8051F020單片機的所有模擬和數字外設均可由用戶固件使能/禁止和配置。FLASH 存儲器還具有在系統重新編程能力,可用于非易失性數據存儲,并允許現場更新8051 固件。片內JTAG 調試電路允許使用安裝在最終應用系統上的產品MCU 進行非侵入式(不占用片內資源)、全速的在系統調試。該調試系統支持觀察和修改存儲器和寄存器,支持斷點、觀察點、單步及運行和停機命令。在使用JTAG 調試時,所有的模擬和數字外設都可全功能運行。
采用開關網絡以硬件方式實現I/O端口的靈活配置,外設電路單元通過相應的配置寄存器控制交叉開關配置到所選擇的端口上,從而避免了固定方式I/O端口既占用引腳多,配置又不夠靈活的缺點。
4 EPM3256ATC144-10簡介[3]
EPM3256ATC144-10是Altera公司MAX3000系列的CPLD芯片,其特點:是以多陣列矩陣(MAX)結構為基礎的高性能、低功耗的CMOS E2PROM器件,通過內置的JTAG(IEEE 1149.1)可實現在系統編程;內置符合IEEE 1149.1-1990標準的JTAG BST電路;是一款高密度器件,能提供5 000個可用門,256個宏單元,16個邏輯陣列塊,116個用戶I/O;引腳到引腳的邏輯延遲為5.5 ns, 計數器工作頻率達172.4 MHz;多電壓I/O接口,使得核心工作在3.3 V時,I/O管腳可同時兼容5.0 V,3.3 V及2.5 V三種邏輯電平;遵守PCI規定,具有-10速度等級。
5 硬件設計原理
5.1 電源設計
該系統外部輸入電源為DC 48 V。DC 48 V電源經開關、防止接反二極管、濾波電容、熔斷電阻至電源濾波器,經濾波器濾波后送到兩個電源塊(48 V輸入,5 V輸出)。一個為輸入接口電路及通信接口電路供電,另一個經三端穩壓片(5 V輸入,3.3 V輸出)為內部執行電路及指示燈電路提供5 V及3.3 V電源。由于外圍接口電路采用單獨電源,與內部電路分開供電,實現了內部電路與接口電路的電源隔離,有效保護內部電路器件,提高了可靠性。
5.2 輸入信號處理
低頻、繼電器狀態及地址編碼等信號經光耦隔離后變為3.3 V方波或電平信號,送入主控單元。輸入模擬信號經變壓器隔離或升降壓、濾波、降壓電阻、瞬時過電壓保護等信號調理后,輸出信號為交變信號,而本系統中單片機內置ADC轉換輸入電壓范圍為0~3.3 V,因此在送入ADC之前,還需進行電平抬升,變為滿足ADC輸入電壓測量范圍要求的信號。其中,功出電壓信號經信號調理后還送至比較器電路,經過波形變換后由原來的正弦移頻信號變為3.3 V的方波信號,作為載頻信號的輸入源。比較器電路如圖3所示。電路由分壓電阻(R56,R59)、直流分壓電阻(R61,R62)、箝位二極管(V7,V8)、比較器N25A(LM393P)、上拉電阻R63及濾波電容等組成。
5.3 主控單元
主控單元包括CPU及兩片CPLD[4]。
CPU采用C8051F020單片機。由于F020內部集成有兩個ADC,所以在該系統中利用它的第18~25腳及29~34腳共14個端口作為多路模擬信號的輸入端口,由單片機完成所有模擬量的A/D轉換。在采集各路模擬信號的同時,F020還要從兩片CPLD讀取頻率、地址編碼及繼電器狀態數據,并對所有采樣數據進行實時計算處理,將所有轉換結果存入32 KB的外部存儲器。對于地址編碼信息,CPU只在每次上電后讀取1次,若有效,則保存,用作與微機監測通信的CAN節點地址,之后不再檢查地址編碼信息的變化。由F020的交叉開關優先權表可知,兩個UART的TX和RX可連到端口引腳P0.0~P0.3,該系統中利用一組TX0和RX0接RS 232接口,另一組TX1和RX1接RS 485接口。
圖3 比較器電路圖
兩片CPLD均采用Altera公司的EPM3256ATC144-10芯片,數據采集及指示燈控制所需的控制時序及地址譯碼等電路均由CPLD產生。其中,CPLD1對48 MHz高精度一體化晶體振蕩器分頻,得到24 MHz及12 MHz同步時鐘信號,分別作為單片機及CAN控制器的系統時鐘。由于要采集的開關量路數較多,該系統將所有繼電器狀態輸入及五路地址編碼輸入均接至CPLD1,再由單片機通過數據總線從CPLD1分別進行讀取。CPLD1同時還生成兩路不同頻率的低頻測試脈沖,供生產調試時使用。CPLD2則負責完成所有低頻、載頻信息的采集[4]。
5.4 與計算機通信接口
該系統提供RS 232或RS 485串行通信接口及CAN通信接口[5-6],其中串行通信接口主要用于生產調試,而現場應用中使用CAN總線與系統維護機交換數據。由于一條CAN總線上需掛接多個設備,該系統運用外部端子封線的方式為每個設備定義節點地址,地址編碼范圍為0~31。當節點地址為0時,CPU將工作于測試狀態,運行測試程序代碼,供設備調試時使用。
6 軟件設計
6.1 單片機程序設計
單片機程序固化在C8051F020單片機的內部FLASH存儲器中,在Cygnal IDE集成開發環境[7]下,采用模塊化程序的設計方法,將軟件分為一個主程序和若干個子程序模塊[8],主程序流程見圖4。系統采用定時器0中斷方式,每0.1 ms分別對兩個ADC的某一通道采集一次,每通道連續采集512次,并將采集到的數據分別存入外部存儲器內的兩個連續緩沖區ADBuf0和ADBuf1中,再利用采集到的512個點的電壓瞬時值計算交流模擬輸入的電壓有效值。定時器0中斷模塊流程見圖5。
圖4 主程序流程圖
6.2 CPLD程序設計
CPLD程序是在MaxPlusⅡ開發環境[9]下采用AHDL硬件描述語言和圖形混合編寫 [10],限于篇幅,這里只給出其中一路低頻采集的AHDL代碼。
SUBDESIGN Sample1
(
clr :INPUT;
ckf,cki :INPUT;
finish :OUTPUT;
result[15..0] :OUTPUT;
)
VARIABLE
temp[15..0] :DFF;
s[1..0] :DFF;
BEGIN
s[].clk=ckf!(s[0]s[1]);
s[].clrn=clr;
s[].d=s[].q+1;
finish=s[1];
temp[].clk=cki!s[1]s[0];
temp[].clrn=clr;
temp[].d=temp[].q+1;
result[15..0]=temp[15..0];
END;
圖5 定時器0中斷模塊流程圖
7 結 語
該系統采用單片機內部集成ADC實現交流模擬量采集,同時利用CPLD強大的數字處理功能和高密度集成的特點,降低了硬件成本,簡化了電路設計,配合軟件編程的靈活性和可擴充性,在實際生產和現場運用中帶來了很好的經濟和社會效益。在對測量精度要求不高的其他應用中,也不失為較好的選擇。
參考文獻
[1]彭立群, 鄧迎宏, 肖彩霞. ZPW-2000R型無絕緣移頻自動閉塞系統[J]. 鐵道通信信號, 2007,43(6): 4-8.
[2]C8051F020/1/2/3混合信號 ISP FLASH微控制器數據手冊[EB/OL]. \\. http: //www.xh1. com. cn.
[3]Altesa Cosposation.MAX 3000A programmable logic device family data sheet[M]. \\: Altera Corporation, 2006.
[4]周立功. 單片機與CPLD綜合應用技術[M]. 北京: 北京航空航天大學出版社, 2003.
[5]鄔寬明. CAN總線原理和應用系統設計[M]. 北京: 北京航空航天大學出版社, 1996.
[6]陸前鋒. 基于SJA1000的CAN總線智能控制系統設計[J]. 自動化技術與應用, 2003(1): 61-64.
[7]Cygnal 集成開發環境用戶手冊[EB/OL]. \\. http: //www. xh1. com. cn.
[8]范風強,蘭禪麗. 單片機語言C51應用實戰集錦[M]. 北京: 電子工業出版社,2003.
[9]廖裕評,陸瑞強. CPLD數字電路設計(使用Max+Plus Ⅱ入門篇)[M]. 北京: 清華大學出版社,2001.
[10]包明. EDA技術與可編程器件的應用[M]. 北京: 北京航空航天大學出版社,2007.