高速數(shù)據(jù)采集系統(tǒng)中精確時標的CPLD實現(xiàn)方法
本文介紹一種利用復雜可編程邏輯器件給高速數(shù)據(jù)采集系統(tǒng)中的采集數(shù)據(jù)貼上精確時間標簽的方法,并利用MAX PLUSⅡ開發(fā)環(huán)境驗證設計方案的正確性。此設計方案已經(jīng)成功地應用到自行設計的高速數(shù)據(jù)采集卡中。
關鍵詞:ADuC812;時間標簽;CPLD;GPS
A method of realizing precise time label in high-speed data acquisition system
Chen jing, Zhang Cheng-xue, Liu Yanhua
(School of Electrical Engineering, Wuhan University, 430072, Wuhan,China)
Abstract: This paper introduces a new method, using Complex Programmable Logic Device to attach a precise time label for sample data in very high-speed sample data system. It has used MAX PLUS II to simulate the function and it has been proved to be accurate. The system has been applied in high-speed data sample board, which has been designed successfully.
Key words:ADuC812;time laber;CPLD;global positioning system)GPS)
0 引言
基于GPS的雙端行波故障定位系統(tǒng)是利用行波的第一個波頭到達線路兩端的時間差來計算故障點的位置,由于行波的傳播速度非???約為光速的98%),這就對線路兩端行波波頭到達時刻的時間精度要求非常高。但相對于高速數(shù)據(jù)采集系統(tǒng)而言,單片機系統(tǒng)對時間的分辨能力是很低的(設51系列CPU的時鐘頻率為12MHz,則計數(shù)器(T0或T1)對時間的最小分辨能力為2μs)。而且單片機系統(tǒng)還不能直接地得到故障發(fā)生時對應于靜態(tài)RAM的確切地址,所以如果只利用單片機系統(tǒng)給采集數(shù)據(jù)貼上時間標簽,則時間精度和時間標簽的可靠性會大大降低,這樣會直接影響到故障測距的精度。
1 相關內(nèi)容簡介
1.1 GPS簡介
全球定位系統(tǒng)(GPS)是美國于1993年全面建成并運行的新一代衛(wèi)星導航、定位和授時系統(tǒng)。電力系統(tǒng)中主要是利用GPS的精確授時。GPS接收器在任意時刻能同時接收其視野范圍內(nèi)4~8顆衛(wèi)星信號,其內(nèi)部硬件電路和處理軟件通過對接收到的信號進行解碼和處理,能從中提取并輸出兩種時間信號:一是時間間隔為1s的脈沖信號1PPS;二是經(jīng)串行口或RS-232輸出的與1PPS脈沖前沿對應的國際標準時間和日期代碼(年、月、日、時、分、秒)[1]。
GPS接收器提供的1PPS信號實際上是以秒為計時單位、精度為1us的國際標準時間信號,這種信號在地球上任何地方都能比較可靠地接收到。因此,若以該信號作為標準時鐘源去同步電網(wǎng)內(nèi)運行的各時鐘,則能保證各廠站時鐘的高精確度同步運行[1]。
1.2 ADuC812簡介
ADuC812芯片是由美國AD(Analog Device)公司推出的微轉換器。它是一個完整的數(shù)據(jù)采集微系統(tǒng),它的組成為:一個8通道、5μs轉換時間、精度自校準、12位精度、逐次逼近的ADC轉換器;兩個12位的數(shù)模轉換器(DAC);10.5KB的閃存E2PROM;具有16位計數(shù)/定時器和32條可編程I/O接口的8051/8052微控制器,256字節(jié)的SRAM[2]。由于ADuC812的特殊功能寄存器組中添加了一個DPP(地址為84H),它與特殊功能寄存器DPH、DPL配合,使得ADuC812能夠訪問16MB的外部數(shù)據(jù)地址空間。ADuC812的應用開發(fā)比較方便,它的內(nèi)核是國內(nèi)技術人員都很熟悉的Intel8051,用戶現(xiàn)有軟件都可以直接移植。
1.3 MAX 7000系列CPLD器件及MAX PLUSⅡ開發(fā)平臺簡介
本次設計選用ALTERA公司的MAX 7000系列器件。MAX 7000系列的高性能和高密度是基于它先進的多重陣列矩陣架構(Multiple Array Matrix),它采用E2CMOS工藝制作,傳播延遲最小為3.5ns,可以實現(xiàn)速度高于200MHz的計數(shù)器,并且為高密度的器件提供了非常寬的選擇余地,非常適合高速設計時應用。該公司推出的MAX PLUSⅡ軟件是一款易于使用的開發(fā)工具,其界面友好,集成化程度高,兼容工業(yè)標準,支持FLEXMAXACEX1K等系列產(chǎn)品[3]。CPLD要實現(xiàn)的邏輯功能一般是在MAX PLUSⅡ環(huán)境下通過硬件描述語言(VHDL)開發(fā)出來的,并能脫離硬件(CPLD)對設計方案進行仿真,在確認邏輯功能正確無誤的情況下,通過并行口下載“燒結”到CPLD器件中。“燒結”有不同設計人員“思想”的CPLD器件所實現(xiàn)的邏輯功能是千變?nèi)f化的,正因為如此,對CPLD器件的開發(fā)是相當靈活的。
2 實現(xiàn)方案
針對前面提到的問題,本文提出一種利用CPLD器件巧妙解決此問題的方法。高速AD轉換器件、地址發(fā)生器、地址計數(shù)器、計時器在時鐘源CLK(5MHz)的同步下以統(tǒng)一的步調(diào)工作。ADuC812初始化時P3.5置“0”,P3.4發(fā)出清零脈沖同時對地址發(fā)生器和地址計數(shù)器清零。在故障信號出現(xiàn)時,ADuC812對P3.5置“1”,計時器和地址計數(shù)器同時停止計數(shù),暫態(tài)信號記錄完畢后,ADuC812分時讀出計時器中的值并將該數(shù)值保存在雙口RAM中,此值即為精度為0.2μs的時間信息,分時讀出地址計數(shù)器中的值并將該數(shù)值保存在雙口RAM中,此地址的精確時間即為計時器中的計數(shù)值。這樣就為高速數(shù)據(jù)采集系統(tǒng)中的采集數(shù)據(jù)貼上精確的時間標簽。 本系統(tǒng)的硬件原理圖如圖1所示。
2.1 ADuC812的工作過程
ADuC812初始化時P3.5置“0”,同時P3.4發(fā)出清零脈沖使地址發(fā)生器和地址計數(shù)器同步計數(shù)。ADuC812控制內(nèi)部的ADC轉換模塊對經(jīng)過調(diào)整的取自電流互感器二次側的電流進行AD轉換,采用半波比較,在每個工頻內(nèi)采集36個點,分別用第n個點和第n+18個點、第n+1個點和第n+19個點比較,依此類推,如果大于事先設定的門檻值即認為故障已經(jīng)發(fā)生。ADuC812使P3.5置“1”,計時器和地址計數(shù)器同時停止計數(shù),計時器中的數(shù)據(jù)即為地址計數(shù)器記錄的對應于靜態(tài)RAM相同地址采集數(shù)據(jù)的時間標簽,由于高速AD轉換器件的轉換頻率固定(本次設計為5MHz),所以,可以此為基準為整個靜態(tài)RAM中的采集數(shù)據(jù)貼上時間標簽。
3.2 計時器和地址計數(shù)器的工作過程
當STOP端口為低電平時(P3.5置“0”),計時器在5MHz的時鐘源下以相同的頻率計數(shù),由于它是一個24位的計數(shù)器,從而確保了計時器能夠記錄一個整秒,并為一個整秒刻上了=0.2μs)的最小刻度。同時GPS發(fā)出的1PPS信號的上跳沿給計時器清零,從而為計時器提供精確的時間基準,以消除計時器的累計誤差。
當STOP端口為高電平時(P3.5置“1”),計時器停止計數(shù),在此狀態(tài)下GPS發(fā)出的1PPS信號的上跳沿不能對計時器清零。
地址計數(shù)器的工作過程與計時器的工作過程類似,唯一的區(qū)別是地址計數(shù)器的清零信號(CLR)是在初始化時由ADuC812的P3.4口發(fā)出的,由于地址發(fā)生器和地址計數(shù)器共用同一個清零信號,從而確保地址發(fā)生器和地址計數(shù)器中的計數(shù)值完全相同。同理當STOP端口為高電平時,地址計數(shù)器也停止計數(shù),在此狀態(tài)下ADuC812發(fā)出的清零信號不能改變地址計數(shù)器中的計數(shù)值。
2.3 將地址計數(shù)器和計時器中的數(shù)據(jù)送至雙口RAM
由于ADuC812是一種8位單片機,所以地址計數(shù)器和計時器中的數(shù)據(jù)只能“分批”地送至雙口RAM中保存。所以要設計鎖存器、譯碼電路和總線隔離電路,避免總線沖突以及保證總線上的數(shù)據(jù)能正確無誤地傳遞。在本次設計中,當ADuC812的特殊功能寄存器DPP高3位的值為“00H”時將計時器的高8位數(shù)據(jù)通過ADuC812送至雙口RAM中,依此類推,當特殊功能寄存器DPP高3位的值為“05H”時將地址計數(shù)器的低8位數(shù)據(jù)通過ADuC812送至雙口RAM中保存。當特殊功能寄存器DPP為其他值時釋放數(shù)據(jù)總線,便于ADuC812進行其他操作。
評論