王樹爭 陳強(qiáng) 袁磊
摘 要:機(jī)載設(shè)備系統(tǒng)日益復(fù)雜,需要對設(shè)備的多種狀態(tài)進(jìn)行監(jiān)測和控制,機(jī)載設(shè)備的功率越來越大,功耗設(shè)計也成為重要的考慮因素,論述了一種基于PowerPC的數(shù)據(jù)采集系統(tǒng),通過介紹其系統(tǒng)結(jié)構(gòu)、工作原理和系統(tǒng)驗證等,證明具備上述特點的數(shù)據(jù)采集系統(tǒng)工作穩(wěn)定、可靠,并具有通用性和可擴(kuò)擴(kuò)展性。
關(guān)鍵詞:PowerPC;數(shù)據(jù)采集;FPGA
中圖分類號:TP311.52
1 方案設(shè)計
隨著機(jī)載設(shè)備系統(tǒng)的日益復(fù)雜,需要對設(shè)備的多種狀態(tài)進(jìn)行監(jiān)測和控制,并且機(jī)載設(shè)備的功率越來越大,因此機(jī)載設(shè)備的功耗也成為機(jī)載設(shè)備設(shè)計中的重要的考慮因素。本系統(tǒng)中需要對16種狀態(tài)信號進(jìn)行采集、監(jiān)測,信號頻率小于30KHz,要求CPU的工作頻率不小于600MHz,系統(tǒng)包含兩路以太網(wǎng)通訊接口,供調(diào)試使用;此外,系統(tǒng)包含9路DA輸出信號控制其他設(shè)備。
數(shù)據(jù)采集系統(tǒng)在整個工作系統(tǒng)中起重要的作用,主要用來實現(xiàn)數(shù)據(jù)的采集,數(shù)據(jù)的處理與系統(tǒng)任務(wù)的管理。數(shù)據(jù)采集系統(tǒng)的設(shè)計充分考慮了模塊化和通用性,系統(tǒng)的組成框圖如圖1所示,由處理器模塊,1片F(xiàn)PGA,A/D、D/A模塊,串口通訊模塊,以太網(wǎng)模塊組成。A/D、D/A模塊主要功能為對16路的模擬信號進(jìn)行采集,進(jìn)行模數(shù)轉(zhuǎn)換,并且輸出9路的模擬信號控制系統(tǒng)的其他模塊。FPGA主要實現(xiàn)A/D、D/A模塊的接口控制邏輯和HLP接口的譯碼邏輯,F(xiàn)lash、NVSRAM和RS422通信模塊掛接在FPGA上,CPU通過FPGA進(jìn)行訪問。以太網(wǎng)模塊用于系統(tǒng)的調(diào)試。
為了讓系統(tǒng)平臺具有很強(qiáng)的通用性,對于FPGA器件,選用了Xilinx公司的Spartan-3AN系列的XC3S400AN,其具有低功耗、高性能的特點,該芯片包含400K門,提供8064的等價邏輯單元(LE),400Kbit的RAM,并且內(nèi)部集成4Mbit的Flash可以存儲配置文件,對FPGA進(jìn)行上電配置,從而簡化FPGA的電路設(shè)計,增強(qiáng)可靠性。
系統(tǒng)的CPU選用PC7447A,PC7447A是Motorola公司PowerPC系列處理器中的第四代高性能、超標(biāo)量處理器,主頻為1GHz,具有處理能力強(qiáng),功耗低的特點。PC7447A包含11個獨立的執(zhí)行單元和3組寄存器類,32KBytes指令Cache和32KBytes數(shù)據(jù)Cache,512Kbytes的L2Cache,32位或36位地址線,64位數(shù)據(jù)線,并集成功耗和熱管理單元,支持JTAG接口的在線調(diào)試功能。
處理器的橋接器選用Tsi109,Tsi109的處理器總線時鐘可達(dá)200MHz,支持60X總線和MPX總線,并且支持雙處理器,存儲器接口為64位數(shù)據(jù)寬度,頻率最高200MHz,支持DDR2-400 SDRAM;支持32/64位、3.3V PCI接口,操作頻率可達(dá)66MHz或配置為32/64位PCI-X接口,操作頻率可達(dá)133MHz,提供多達(dá)7個PCI設(shè)備的仲裁電路;提供HLP(Host Local Port)接口,HLP接口支持4個片選,每個片選最大256MB;接口數(shù)據(jù)寬度8,16,32位可選。此外,Tsi109還提供2通道DMA控制器,消息管理單元,I?C控制器,可編程中斷控制器,DDR2 SDRAM時鐘產(chǎn)生電路;內(nèi)部集成以太網(wǎng)接口,UART接口等。
2 硬件設(shè)計
2.1 處理器電路設(shè)計
PC7447A內(nèi)核電壓為1.1V,IO電壓由上電復(fù)位時采樣BVSEL的狀態(tài)來決定。當(dāng)BVSEL=0時,IO電壓為1.8×(1±5%)V;當(dāng)BVSEL=HRESET或OVDD時,IO電壓為2.5×(1±5%)V。因為橋接器Tsi109的處理器接口電壓為1.8V,所以設(shè)計中將BVSEL管腳下拉,CPU的IO電壓配置為1.8×(1±5%)V。PC7447A的內(nèi)核電源由LTM4600提供,PC7447A的AVDD電源為時鐘鎖相環(huán)的電源,為了確保內(nèi)部時鐘的穩(wěn)定,AVDD電源必須經(jīng)過濾波,并且采用表面貼裝器件靠近AVDD最近放置。Tsi109提供給PC7447A的時鐘為100MHz,通過PC7447A內(nèi)核的PLL配置管腳,配置PC7447A內(nèi)核頻率為750MHz。
Tsi109橋接器核心電壓為1.2V,處理器接口電壓為1.8V,DDR2-400 SDRAM的接口電壓為1.8V,其他接口電壓為3.3V。Tsi109的內(nèi)核電壓由LTM4600提供,DDR2的1.8V接口電壓由TI公司的DDR2專用電源芯片TPS51116提供。Tsi109橋接器的HLP接口掛接Flash存儲器作為系統(tǒng)的程序存儲設(shè)備,F(xiàn)lash選用Spansion公司的S29GL256N11TFI010,其存儲空間為256Mbit。
系統(tǒng)的復(fù)位電路由Maxim公司的MAX706提供。系統(tǒng)的復(fù)位電路如圖2所示。上電后,F(xiàn)PGA加載邏輯,DONE信號為低電平,MAX706復(fù)位輸出管腳為低電平,整個模塊處于復(fù)位狀態(tài);邏輯加載結(jié)束,DONE信號變?yōu)楦唠娖胶螅琈AX706的復(fù)位輸出管腳在延遲200ms后變?yōu)楦唠娖?,整個模塊處于正常工作狀態(tài)。另外,系統(tǒng)提供軟復(fù)位功能,通過軟件寫寄存器方式復(fù)位PC7447A。
2.2 時鐘設(shè)計
TSI109內(nèi)部集成時鐘發(fā)生電路,利用單個的輸入時鐘,可以分別產(chǎn)生處理器接口、存儲器接口、PCI接口和內(nèi)部邏輯單元所使用的時鐘。
系統(tǒng)的時鐘設(shè)計框圖如圖3所示。利用33MHz的晶振提供Tsi109所需的輸入時鐘,通過Tsi109的PLL的配置管腳,配置Tsi109的處理器時鐘頻率為輸入時鐘的3倍,由Tsi109內(nèi)部的時鐘發(fā)生電路產(chǎn)生1路同步時鐘,即100MHz供PC7447A使用,產(chǎn)生8路同步時鐘(典型為200MHz)供DDR2 SDRAM使用,產(chǎn)生1路66MHz時鐘供PCI設(shè)備(PCI9056)使用。
2.3 模擬電路設(shè)計
系統(tǒng)包含16路A/D轉(zhuǎn)換電路,A/D轉(zhuǎn)換芯片選用ADI公司的AD976A,輸入電壓范圍為±10V,轉(zhuǎn)換精度為16位,方便與處理器的。AD976A采樣速率可達(dá)200KSPS,采用單5V 電源供電,最大功耗100mW,可選內(nèi)部或外部的2.5V參考電源,本系統(tǒng)為了提高轉(zhuǎn)換精度,采用AD780為AD976A提供+2.5V參考電壓。系統(tǒng)采集的模擬信號的頻率不大于30KHz,為了得到更準(zhǔn)確的采集數(shù)據(jù),需對對模擬信號進(jìn)行采樣預(yù)處理,系統(tǒng)采用由運(yùn)算放大器組成低通濾波電路對模擬信號進(jìn)行整形、濾波,為了減少信號的傳輸?shù)膿p失,經(jīng)過電壓跟隨器進(jìn)入AD976A進(jìn)行模數(shù)轉(zhuǎn)換,AD976A提供16位數(shù)據(jù)總線接口,可直接與處理器接口相接,AD976A通過FPGA掛接在Tsi109的HLP接口上,由于AD976A的接口電平為5V,F(xiàn)PGA的IO電平為3.3V,故用驅(qū)動器IDT74LVCH16245A進(jìn)行電平轉(zhuǎn)換。
系統(tǒng)包含9路模擬量的輸出接口,輸出電壓范圍為±10V,由9片16位D/A轉(zhuǎn)換器AD7846構(gòu)成。AD7846可以提供16位的采樣精度,1路模擬量的輸出,AD7846通過FPGA掛接在Tsi109的HLP接口上,CPU通過HLP接口將數(shù)據(jù)送入各自的DAC,進(jìn)行D/A轉(zhuǎn)換,經(jīng)過由運(yùn)放OP200組成的低通濾波器,輸出±10V的模擬量。AD7846的R/W管腳上拉,CLR_L管腳下拉,保證在上電過程中AD7846輸出電壓為0V。AD7846的差分參考電壓為±5V,由高精度電壓參考芯片AD588提供, AD7846的接口電平為5V,F(xiàn)PGA的IO電平為3.3V,故用驅(qū)動器IDT74LVCH16245A進(jìn)行電平轉(zhuǎn)換。
為了保證A/D,D/A模擬電路的正常工作,避免數(shù)字電路的噪聲干擾,EDA設(shè)計應(yīng)遵循以下原則。
(1)布局布線原則。元器件布局將模擬電路部分與數(shù)字電路部分器件分開放置,模擬信號在電路板所有層的模擬區(qū)內(nèi)布線,而數(shù)字信號在數(shù)字電路區(qū)內(nèi)布線。
(2)電源和地的處理。將混合信號電路板上的數(shù)字地和模擬地分割開,以實現(xiàn)數(shù)字地和模擬地之間的隔離。
3 邏輯設(shè)計
3.1 Flash接口邏輯設(shè)計
Flash通過FPGA掛接在Tsi109的HLP接口上,由于HLP接口的地址與數(shù)據(jù)為復(fù)用的,并且Tsi109是采用大端模式,而Flash采用小端模式。所以,在FPGA中實現(xiàn)HLP接口的地址周期與數(shù)據(jù)周期的分離,并且將地址信號、數(shù)據(jù)信號反接到Flash上,從硬件上實現(xiàn)端模式的轉(zhuǎn)換,從而減少軟件的復(fù)雜度。HLP接口的讀、寫時序分別如圖4、圖5所示。通過時序圖可以看出在HLP_LE信號的下降沿,HLP_AD信號線上為地址周期,所以FPGA在HLP_LE信號的下降沿鎖存地址信號,作為Flash的地址信號,實現(xiàn)CPU對Flash的正確訪問。另外,存儲BOOT程序的Flash的片選地址,應(yīng)該覆蓋PowerPC的復(fù)位向量地址0xFFF00100,保證系統(tǒng)上電時,CPU能正確的運(yùn)行Falsh中從0xFFF00100地址開始的上電引導(dǎo)程序。
3.2 AD接口邏輯設(shè)計
AD976A有兩種控制模式,系統(tǒng)采用的轉(zhuǎn)換模式的時序如圖6所示。該模式通過R/C信號來控制轉(zhuǎn)換及輸出數(shù)據(jù)的讀取過程。在這一模式中,R/C信號的下降沿必須比CS脈沖(脈沖寬寬40ns)至少提前10ns送到模數(shù)轉(zhuǎn)換器的輸入引腳,一旦這兩個負(fù)脈沖到來,BUSY信號將變?yōu)榈碗娖?,BUSY信號有效時間大約4μs,4μs后BUSY信號變?yōu)楦唠娖?,整個轉(zhuǎn)換完成,這時數(shù)據(jù)線D0~D15上的數(shù)據(jù)即為有效轉(zhuǎn)換結(jié)果。對于30KHz的信號,每個信號周期最多采集200/30=6.67個點。
3.3 軟件設(shè)計
系統(tǒng)的采集通過上層軟件進(jìn)行控制,系統(tǒng)的數(shù)據(jù)采集流程如圖7所示。上層軟件通過寫A/D通道選擇寄存器來選擇16路中要采集的模擬信號,然后再寫A/D轉(zhuǎn)換寄存器來啟動A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換,最后再從A/D轉(zhuǎn)換結(jié)果鎖存器中讀取A/D轉(zhuǎn)換結(jié)果。由于A/D轉(zhuǎn)換器從啟動轉(zhuǎn)換到轉(zhuǎn)換結(jié)束需要5μs的時間,所以在啟動A/D轉(zhuǎn)換后需要等待5μs后才能讀取A/D轉(zhuǎn)換值。為方便A/D轉(zhuǎn)換值的讀取,在A/D轉(zhuǎn)換結(jié)束時,發(fā)出A/D中斷信號指示A/D轉(zhuǎn)換的結(jié)束,在設(shè)計中采用BUSY信號的上升沿觸發(fā)中斷,CPU執(zhí)行中斷服務(wù)程序來讀取轉(zhuǎn)換數(shù)據(jù)。
4 系統(tǒng)驗證
本文介紹分析了一種基于PowerPC的數(shù)據(jù)采集系統(tǒng)的軟、硬件設(shè)計,目前已經(jīng)在某系統(tǒng)上獲得良好應(yīng)用,數(shù)據(jù)采集系統(tǒng)工作穩(wěn)定、可靠。由于該數(shù)據(jù)采集系統(tǒng)具備高運(yùn)算量、高數(shù)據(jù)吞吐量的同時,也具有靈活性、通用性和可擴(kuò)展性等多項優(yōu)點,也可以滿足其他領(lǐng)域的應(yīng)用需求。
作者簡介:王樹爭(1984.10-),男,河南省新鄉(xiāng)市人,碩士研究生,中航工業(yè)西安航空計算技術(shù)研究所,助理工程師,研究方向:嵌入式處理系統(tǒng);陳強(qiáng)(1984.10-),男,山西省忻州市人,本科,西安新宇航空維修工程有限公司,助理工程師;袁磊(1984.9-),男,遼寧省營口市人,中國人民解放軍66070部隊,碩士研究生。