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