《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于MC8051內(nèi)核的便攜幅頻特性測(cè)試儀設(shè)計(jì)
基于MC8051內(nèi)核的便攜幅頻特性測(cè)試儀設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2011年第4期
丁 昊1,莊貴敏2,宋 杰1,關(guān) 鍵1
1.海軍航空工程學(xué)院 信息融合技術(shù)研究所,山東 煙臺(tái)264001; 2.中國(guó)人民解放軍91049部隊(duì),山東 青島266000
摘要: 為滿(mǎn)足實(shí)際工程應(yīng)用的需要,研制了以嵌入式MC8051內(nèi)核為核心技術(shù)的便攜式幅頻特性測(cè)試儀。系統(tǒng)以Xilinx公司生產(chǎn)的型號(hào)為XC3S400的FPGA芯片為硬件處理核心,以MC8051內(nèi)核作為用戶(hù)交互界面設(shè)計(jì)的控制核心。采用“正弦查找表IP核+D/A”的方式實(shí)現(xiàn)DDS技術(shù)并產(chǎn)生系統(tǒng)掃頻信號(hào),以異步FIFO作為FPGA與MC8051內(nèi)核之間數(shù)據(jù)傳輸?shù)木彺婺K,同時(shí)采用TFT彩屏液晶進(jìn)行顯示界面設(shè)計(jì)。
中圖分類(lèi)號(hào): TM935
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)04-0029-04
Design of portable frequency characteristics test instrument based on MC8051 IP core
Ding Hao1,Zhuang Guimin2,Song Jie1,Guan Jian1
1.Research Institute of Information Fusion, Naval Aeronautical and Astronautical University, Yantai 264001,China; 2.The Unit 91049 of PLA, Qingdao 266000,China
Abstract: In order to satisfy the demand of actual project, a frequency characteristics test instrument is designed in this paper, which adopts embedded MC8051 IP core as its core technology. The controller uses FPGA chip as its hardware core, which is a product of Xilinx Corporation and the model is XC3S400, and embedded MC8051 IP core is used as control kernel of the user interface design. The DDS technique is realized by the method of “Sine/Cosine IP core+D/A” and generates the sweep signal. Asynchronous FIFO is introduced as a cache module for the data transmission between FPGA and 51 IP core, and TFT-LCD is used to design the display interface.
Key words : MC8051 IP core;frequency characteristics test instrument;FPGA;asynchronous FIFO;TFT-LCD


     在現(xiàn)代電力電子系統(tǒng)中,隨著內(nèi)場(chǎng)測(cè)試和外場(chǎng)維護(hù)工作量的增加,對(duì)目前通用的測(cè)試儀器也提出了新的要求,研制低成本、體積小的便攜式幅頻特性測(cè)試儀具有深遠(yuǎn)的現(xiàn)實(shí)意義。目前,結(jié)合新型微處理器芯片進(jìn)行幅頻特性測(cè)試儀的研制主要有三種技術(shù)途徑:(1)采用單片機(jī)作為主控芯片,通過(guò)軟件編程方式實(shí)現(xiàn)部分硬件功能,這種方案可以有效降低系統(tǒng)的復(fù)雜度,但在實(shí)時(shí)性上不盡人意。(2)應(yīng)用可編程邏輯器件(如FPGA)進(jìn)行設(shè)計(jì)可以有效解決高速數(shù)據(jù)流的實(shí)時(shí)處理問(wèn)題,但在人機(jī)界面的設(shè)計(jì)中具有較大困難。(3)采用單片機(jī)與FPGA芯片結(jié)合的方式,通過(guò)外部總線(xiàn)連接和數(shù)據(jù)傳輸協(xié)議的設(shè)計(jì),使得系統(tǒng)兼具兩者的優(yōu)勢(shì),從而成為設(shè)計(jì)人員首選的主流方案。
    現(xiàn)代EDA(Electronic Design Automation)技術(shù)的發(fā)展和大規(guī)模FPGA器件的推出,使得在單片F(xiàn)PGA芯片中進(jìn)行嵌入式8051 IP核設(shè)計(jì)成為可能。應(yīng)用現(xiàn)代EDA技術(shù),以FPGA器件為硬件平臺(tái),使用VHDL語(yǔ)言編程,可以實(shí)現(xiàn)與MCS-51系列單片機(jī)指令系統(tǒng)完全兼容的微控制器芯片IP(Intellectual Property)核[1]。本文以此為基礎(chǔ),提出了幅頻特性測(cè)試儀設(shè)計(jì)的新途徑。系統(tǒng)以FPGA為核心采集處理模塊,以O(shè)regano公司開(kāi)發(fā)的嵌入式MC8051內(nèi)核(以下簡(jiǎn)稱(chēng)51內(nèi)核)為顯示控制核心,通過(guò)FPGA內(nèi)部的正弦查找表IP核外加D/A模塊的思想產(chǎn)生系統(tǒng)需要的掃頻信號(hào)源,同時(shí)采用2.4英寸TFT彩屏液晶顯示器進(jìn)行人機(jī)界面設(shè)計(jì),實(shí)現(xiàn)了便攜式幅頻特性測(cè)試儀的基本功能。該儀器具有小型化、頻帶寬、操作簡(jiǎn)單、測(cè)量精確度高、界面顯示友好等優(yōu)點(diǎn),具有廣闊的應(yīng)用空間。
1 系統(tǒng)組成與工作原理
1.1 系統(tǒng)組成

    系統(tǒng)主要由正弦激勵(lì)信號(hào)的產(chǎn)生模塊和信號(hào)采集、處理和實(shí)時(shí)顯示模塊組成。其中前者采用基于“IP核+高速D/A”的思想產(chǎn)生掃頻信號(hào),后者主要包括FPGA核心板、雙路高速A/D以及人機(jī)交互界面。在系統(tǒng)時(shí)鐘和觸發(fā)信號(hào)的驅(qū)動(dòng)下,同時(shí)采集待測(cè)網(wǎng)絡(luò)的輸出信號(hào)以及系統(tǒng)的激勵(lì)信號(hào),并進(jìn)行相應(yīng)的數(shù)據(jù)處理,實(shí)現(xiàn)對(duì)有源或無(wú)源四端網(wǎng)絡(luò)的幅頻特性測(cè)試。系統(tǒng)組成框圖如圖1所示。

    系統(tǒng)設(shè)計(jì)中需要解決的核心問(wèn)題:(1)51內(nèi)核的初始化配置問(wèn)題。系統(tǒng)使用的51內(nèi)核,可以直接通過(guò)頂層文件的端口例化實(shí)現(xiàn)與FPGA內(nèi)部定義信號(hào)之間的連接,而51內(nèi)核使用的存儲(chǔ)器模塊則需要用戶(hù)進(jìn)行配置。(2)數(shù)據(jù)流的速率匹配問(wèn)題。經(jīng)A/D采集得到的數(shù)據(jù)率遠(yuǎn)遠(yuǎn)超出了51內(nèi)核的運(yùn)算處理能力,因此系統(tǒng)中要進(jìn)行數(shù)據(jù)緩存模塊的設(shè)計(jì)。(3)彩屏液晶的顯示控制。顯示部分是該儀器的關(guān)鍵模塊,系統(tǒng)采用TFT-LCD顯示技術(shù),可以進(jìn)行友好的人機(jī)界面設(shè)計(jì),但是彩屏液晶的初始化時(shí)序極其復(fù)雜,在動(dòng)態(tài)曲線(xiàn)和測(cè)量數(shù)據(jù)的實(shí)時(shí)顯示方面要進(jìn)行優(yōu)化設(shè)計(jì)。這些問(wèn)題在實(shí)際設(shè)計(jì)中均得到了合理解決。
1.2 測(cè)量原理
    對(duì)于一個(gè)線(xiàn)性時(shí)不變(LTI)系統(tǒng),其沖激響應(yīng)為h(t),在激勵(lì)為正弦信號(hào)e(t)=Acos(?棕0t+?茲)時(shí),系統(tǒng)的零狀態(tài)響應(yīng)為:

    由此可以看出,系統(tǒng)輸出的穩(wěn)態(tài)響應(yīng)也是一個(gè)正弦信號(hào),其頻率和輸入信號(hào)的頻率相同,但幅度和相位發(fā)生了變化,其中幅度變?yōu)樵?lì)信號(hào)幅度的|H(j?棕0)|倍,|H(j?棕0)|稱(chēng)為電路網(wǎng)絡(luò)幅頻特性。
    系統(tǒng)工作時(shí),將等幅的正弦掃頻信號(hào)作為輸入信號(hào)激勵(lì)被測(cè)網(wǎng)絡(luò)。掃頻信號(hào)的起始頻率、終止頻率、頻率步進(jìn)值以及掃描時(shí)間均可以通過(guò)按鍵輸入的方式設(shè)置,也可以采用系統(tǒng)默認(rèn)的設(shè)置方式(掃頻范圍1 kHz~1 MHz,頻率步進(jìn)1 kHz,掃描時(shí)間1 s)。高速A/D采集網(wǎng)絡(luò)的輸出信號(hào)和原始激勵(lì)信號(hào),并在FPGA內(nèi)通過(guò)峰值檢波程序得到網(wǎng)絡(luò)輸出信號(hào)的包絡(luò)數(shù)據(jù),同時(shí)與激勵(lì)信號(hào)的幅值比較計(jì)算不同頻點(diǎn)的增益數(shù)據(jù)。采用異步FIFO作為FPGA與51內(nèi)核之間傳輸數(shù)據(jù)的緩沖器,并將其配置為“乒乓”工作模式。當(dāng)觸發(fā)信號(hào)到來(lái)時(shí),將增益數(shù)據(jù)按照一定的格式和速率寫(xiě)入異步FIFO。當(dāng)FIFO中存儲(chǔ)一定數(shù)量的數(shù)據(jù)以后,在51內(nèi)核同步時(shí)鐘的控制下將數(shù)據(jù)讀出并送往LCD模塊,同時(shí)禁止數(shù)據(jù)繼續(xù)寫(xiě)入FIFO,實(shí)現(xiàn)幅頻特性曲線(xiàn)的顯示。
2 系統(tǒng)硬件設(shè)計(jì)
    系統(tǒng)硬件主要實(shí)現(xiàn)正弦掃頻信號(hào)的產(chǎn)生、網(wǎng)絡(luò)輸出信號(hào)的采集處理、數(shù)據(jù)的傳輸以及TFT液晶模塊接口電路等功能,硬件總體框圖如圖2所示。

2.1 FPGA核心板模塊
    FPGA核心板模塊是系統(tǒng)的核心,根據(jù)需要設(shè)計(jì)出FPGA最小系統(tǒng)板以及相關(guān)的A/D、D/A電路。其中,F(xiàn)PGA最小系統(tǒng)板采用Xilinx公司Spartan3系列的XC3S400-PQ208型40萬(wàn)門(mén)芯片,核心板采用5 V輸入,由3片AMS1117實(shí)現(xiàn)5 V到3.3 V、5 V到2.5 V和5 V到1.2 V的電平轉(zhuǎn)換。板上采用40 MHz有源晶振,滿(mǎn)足高速設(shè)計(jì)要求。A/D為ADI公司高速模/數(shù)轉(zhuǎn)換芯片AD9224,具有12位精度,且功耗低。D/A采用高性能高速率的AD9764AR芯片,該芯片具有14位分辨率和極佳的動(dòng)態(tài)無(wú)雜波失真范圍。
2.2 掃頻信號(hào)源設(shè)計(jì)
    掃頻信號(hào)源的性能指標(biāo)直接影響儀器的測(cè)試精度,本文采用DDS技術(shù)產(chǎn)生掃頻信號(hào)。這里有兩條途徑可供選擇,一種是采用專(zhuān)用的DDS芯片,如AD9854等,利用FPGA發(fā)送頻率控制字產(chǎn)生掃頻信號(hào);另一種是采用FPGA中集成的正弦查詢(xún)表IP核,這是一種利用“IP核+D/A”相結(jié)合來(lái)實(shí)現(xiàn)DDS技術(shù)的方法,在充分提高FPGA內(nèi)部資源利用率的前提下,又可以有效降低系統(tǒng)的硬件復(fù)雜度和成本,因此系統(tǒng)采用該方式。
    設(shè)計(jì)環(huán)境使用Xilinx公司的ISE7.1,通過(guò)Core Generator生成正弦查詢(xún)表IP Core,查詢(xún)表中的波形數(shù)據(jù)存儲(chǔ)在FPGA的塊存儲(chǔ)器(Block Memory)中。查詢(xún)表IP核的輸入相位控制字THETA與實(shí)際相位之間的關(guān)系為:

該頻率精度完全達(dá)到設(shè)計(jì)要求。
2.3 系統(tǒng)接口模塊
    在該系統(tǒng)中,液晶模塊采用ILI9320片上系統(tǒng)(SoC)驅(qū)動(dòng)器[2],顏色顯示深度為18位,分辨率為240RGB×320像素。系統(tǒng)采用i80總線(xiàn)結(jié)構(gòu)控制液晶顯示,即通過(guò)讀使能(RDB)和寫(xiě)使能(WRB)兩條控制線(xiàn)進(jìn)行讀寫(xiě)操作,數(shù)據(jù)線(xiàn)的寬度為8位。液晶模塊中的控制信號(hào)和數(shù)據(jù)信號(hào)均為標(biāo)準(zhǔn)的TTL電平,可以直接與FPGA的I/O接口相連。
    51內(nèi)核具有8位總線(xiàn)寬度,通過(guò)內(nèi)部端口映射的方式實(shí)現(xiàn)與FPGA模塊的接口連接。為了實(shí)現(xiàn)FPGA采集數(shù)據(jù)的實(shí)時(shí)傳輸和顯示,在接口設(shè)計(jì)中除了數(shù)據(jù)總線(xiàn)(data)以外,還需要地址總線(xiàn)(addr)和控制總線(xiàn)(w/r_en),按照程序設(shè)定的通信協(xié)議與FIFO中緩存的數(shù)據(jù)通信,實(shí)現(xiàn)數(shù)據(jù)傳輸和譯碼顯示。系統(tǒng)接口模塊的連接方式如圖3所示。

3 系統(tǒng)軟件設(shè)計(jì)
    系統(tǒng)軟件設(shè)計(jì)主要完成對(duì)正弦查找表IP核的初始化、峰值檢波程序的設(shè)計(jì)、異步FIFO設(shè)計(jì)、FPGA與異步FIFO的通信協(xié)議設(shè)計(jì)以及同步顯示等問(wèn)題。軟件設(shè)計(jì)總體框圖如圖4所示。

3.1 51內(nèi)核的初始化配置
    51內(nèi)核采用完全同步的設(shè)計(jì)方案,在統(tǒng)一的時(shí)鐘信號(hào)下控制每一個(gè)存儲(chǔ)單元的讀寫(xiě)操作。根據(jù)51內(nèi)核處理速度的要求,在設(shè)計(jì)中使用20 MHz的時(shí)鐘,時(shí)鐘信號(hào)通過(guò)系統(tǒng)總時(shí)鐘分頻得到。設(shè)計(jì)中,首先在Keil編程環(huán)境中編譯C語(yǔ)言代碼,該代碼主要負(fù)責(zé)LCD的初始化并將FPGA采集得到的實(shí)時(shí)數(shù)據(jù)進(jìn)行譯碼和顯示。編譯后生成的.hex文件經(jīng)相應(yīng)的格式轉(zhuǎn)換,生成FPGA的ROM資源可加載的.coe文件類(lèi)型。
    通過(guò)Xilinx提供的Core Generator工具,對(duì)IP核使用的DATA、XDATA和CODE三種存儲(chǔ)區(qū)進(jìn)行初始化配置,存儲(chǔ)區(qū)的大小設(shè)置要以C語(yǔ)言程序所消耗的存儲(chǔ)資源以及FPGA內(nèi)部Block Memory資源總的大小而定。本系統(tǒng)中所有存儲(chǔ)區(qū)的數(shù)據(jù)寬度均設(shè)置為8位,其中各存儲(chǔ)區(qū)對(duì)應(yīng)的地址信號(hào)寬度為7位、11位和14位。將CODE區(qū)配置為只讀模式(Read Only),用于存放51內(nèi)核的指令代碼,并載入已經(jīng)生成的.coe文件。經(jīng)綜合、翻譯、映射、布局布線(xiàn)和生成編程文件完成51內(nèi)核的設(shè)計(jì)過(guò)程[3]。
    在51內(nèi)核中實(shí)現(xiàn)彩屏液晶的顯示控制和數(shù)據(jù)譯碼顯示,可以大大減小因彩屏初始化時(shí)序復(fù)雜和FPGA在人機(jī)交互界面設(shè)計(jì)中的不靈活性而帶來(lái)的難度[4]。同時(shí),采用C代碼對(duì)液晶屏進(jìn)行操作具有廣泛的通用性和可擴(kuò)展性,當(dāng)LCD的型號(hào)改變時(shí),只需對(duì)初始化控制字稍作修改就可以實(shí)現(xiàn)顯示控制。
3.2 峰值檢波模塊
    系統(tǒng)采用軟件編程的方法實(shí)現(xiàn)峰值檢波的功能。首先將掃頻區(qū)間等分,逐個(gè)測(cè)量等分點(diǎn)處的信號(hào)峰值并將計(jì)算出的增益存入FIFO中,當(dāng)一次掃描結(jié)束后就能獲得系統(tǒng)的幅頻特性數(shù)據(jù)。
    在對(duì)信號(hào)最值電壓進(jìn)行測(cè)量之前,由于信號(hào)很容易受到干擾,所以不排除信號(hào)會(huì)發(fā)生抖動(dòng)的可能?;谶@個(gè)原因,在測(cè)量前采用簡(jiǎn)易濾波對(duì)信號(hào)進(jìn)行平滑處理,以減少最值測(cè)量的誤差。這里采用取均值的方法。對(duì)輸入信號(hào)依次取值、保存,形成一個(gè)新的信號(hào),該信號(hào)電壓由原輸入信號(hào)的前兩個(gè)時(shí)鐘所得電壓和后兩個(gè)時(shí)鐘所得電壓之和取均值得到。對(duì)信號(hào)進(jìn)行簡(jiǎn)易平滑處理后,所產(chǎn)生的新信號(hào)作為最值測(cè)量的基準(zhǔn)信號(hào)。信號(hào)整形后得到標(biāo)準(zhǔn)的方波信號(hào),該信號(hào)的一個(gè)周期剛好對(duì)應(yīng)輸入信號(hào)的兩個(gè)周期,其中高電平和低電平各對(duì)應(yīng)一個(gè)周期。
    信號(hào)電壓的峰峰值即為最大值減去最小值。但是,信號(hào)經(jīng)過(guò)A/D轉(zhuǎn)換器量化以后,所得到的值為12位偏碼,擴(kuò)展成為16位偏碼,“1111111111111111”表示電壓為2 V,“1000000000000000”表示電壓為0 V,“0000000000000000”表示電壓為-2 V。如果直接將最大值和最小值的偏碼相減,結(jié)果會(huì)出現(xiàn)錯(cuò)誤。因此采用先將最小值(電壓負(fù)值)變?yōu)橄鄳?yīng)的電壓正值的方法,即:
    
其中B表示最小值,A表示相應(yīng)的電壓正值,然后再將相應(yīng)的電壓正值與最大值相加,即為信號(hào)電壓的峰峰值。
3.3 異步FIFO設(shè)計(jì)
    A/D采集數(shù)據(jù)的數(shù)據(jù)率很高,本文中系統(tǒng)時(shí)鐘為40 MHz,采集數(shù)據(jù)寬度為12位,這樣每秒采集的數(shù)據(jù)量為40 M×12 bit/8=60 MB/s,如此高速的數(shù)據(jù)流遠(yuǎn)遠(yuǎn)超出了51內(nèi)核的處理能力。為保證51內(nèi)核讀取數(shù)據(jù)的有效性和可靠性,系統(tǒng)中使用異步FIFO對(duì)數(shù)據(jù)進(jìn)行緩存。FIFO的設(shè)計(jì)是通過(guò)配置FPGA內(nèi)部的Block RAM資源實(shí)現(xiàn)的[5,6]。為了實(shí)現(xiàn)邊采集邊顯示的目的,配置兩塊相同的FIFO,大小均為512×8 bit。在讀寫(xiě)時(shí)鐘的控制下,通過(guò)讀使能和寫(xiě)使能信號(hào)的設(shè)置,使得在同一時(shí)刻始終有一塊FIFO在進(jìn)行寫(xiě)操作,而另一塊FIFO將寫(xiě)滿(mǎn)的數(shù)據(jù)讀出。對(duì)于同一塊FIFO不允許讀寫(xiě)信號(hào)同時(shí)有效,這樣接收和讀取A/D數(shù)據(jù)并交給51內(nèi)核處理可以同時(shí)進(jìn)行,從而保證數(shù)據(jù)傳輸?shù)倪B續(xù)性。
4 系統(tǒng)調(diào)試和測(cè)試
    在完成了系統(tǒng)的硬件和軟件設(shè)計(jì)以后,需要進(jìn)行調(diào)試和測(cè)試。在測(cè)試時(shí),使用一階LC低通濾波網(wǎng)絡(luò),從所得到的頻率特性曲線(xiàn)可以看出,系統(tǒng)主界面顯示穩(wěn)定,顏色信息豐富。當(dāng)切換到系統(tǒng)狀態(tài)設(shè)置或測(cè)試信息顯示界面時(shí),可以對(duì)激勵(lì)信號(hào)的掃頻范圍、步進(jìn)值、掃描時(shí)間等參數(shù)進(jìn)行設(shè)置,同時(shí)還可以通過(guò)按鍵輸入頻點(diǎn)的方式查詢(xún)各頻點(diǎn)對(duì)應(yīng)的增益,且具有較高的測(cè)試精度。
    系統(tǒng)實(shí)現(xiàn)了在FPGA和51內(nèi)核的平臺(tái)下進(jìn)行便攜式幅頻特性測(cè)試儀的總體設(shè)計(jì)。對(duì)設(shè)計(jì)中的核心模塊進(jìn)行調(diào)試,如51內(nèi)核、TFT-LCD液晶、異步FIFO等。測(cè)試表明,系統(tǒng)工作穩(wěn)定、測(cè)量精度高、實(shí)時(shí)性強(qiáng),且硬件電路結(jié)構(gòu)簡(jiǎn)單。目前系統(tǒng)已經(jīng)應(yīng)用到某型變壓器繞組的幅頻特性測(cè)試中,并取得了良好的測(cè)試效果。本文打破了以時(shí)序仿真和功能驗(yàn)證為目的的51內(nèi)核研究,將51內(nèi)核合理應(yīng)用到電子系統(tǒng)設(shè)計(jì)實(shí)例中,并取得了成功,對(duì)于以后更加復(fù)雜的電子系統(tǒng)設(shè)計(jì)提供了參考和依據(jù)。
參考文獻(xiàn)
[1] 徐慧,王金海,王巍.基于FPGA的8051 IP核的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(3):42-45.
[2] A-Si TFT LCD Single Chip Driver 240RGB×320 Resolution and 262K color Datasheet Preliminary[R],ILI TECHNOLOGY CORP.
[3] MC8051 IP Core Synthesizable VHDL Microcontroller IP-Core User Guide[R].http://oregano.at/services/8051.htm.
[4] 高恭嫻,胡國(guó)兵.基于SoPC的彩色液晶顯示控制器的設(shè)計(jì)[J].液晶與顯示,2010,25(1):79-84.
[5] 褚改霞,潘衛(wèi),王棟.基于FPGA的多路數(shù)字信號(hào)分接器的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009,27(5):50-5.
[6] 唐清善,費(fèi)瑋瑋.基于FPGA的高速異步FIFO的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009(29).

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。