勞勝領(lǐng) 董會錦
摘 要
單片機自從1971年誕生以來,現(xiàn)今已經(jīng)獲得了極大的發(fā)展,其種類之齊全,應(yīng)用領(lǐng)域之廣泛,社會影響之深刻,在數(shù)字技術(shù)領(lǐng)域中都是獨一無二的。其中最為成功的51系列單片機至今還在被廣泛的使用著。而隨著技術(shù)的迅速發(fā)展,對于某些要求處理速度快,精確度較高的設(shè)計任務(wù),僅僅使用單片機和相關(guān)電路模塊已經(jīng)很難完成了。本文主要研究FPGA模塊在單片機上的擴展應(yīng)用問題。
【關(guān)鍵詞】單片機 FPGA 擴展應(yīng)用
1 單片機與FPGA的端口連接
FPGA(Field-programmable Gate Array),也即是現(xiàn)場可編程門陣列,它是在PAL、CPLD等可編程邏輯器件的基礎(chǔ)上進一步改進和發(fā)展的產(chǎn)物。FPGA的端口資源比較豐富,可外接各類高速ADC/DAC器件、存儲器、傳感器、驅(qū)動電機和顯示器等,也正因此,其和單片機在應(yīng)用上能互相結(jié)合,取長補短。FPGA作為單片機的一個擴展模塊,其不但可以彌補單片機I/O 端口少的問題,而且可以解決單片機不能直接和各種高速ADC/DAC等器件相連的問題。在擴展方案中,我們可以讓高速ADC/DAC等器件直接連接FPGA,然后把FPGA再連接單片機進行控制。單片機擴展FPGA系統(tǒng)中,單片機除了顯示模塊和鍵盤模塊,不再和其它控制模塊直接接觸,單片機對其它控制模塊的控制都通過FPGA間接完成。需要特別指出的是,單片機的P3.0和P3.1口與FPGA相連的目的是通過串并轉(zhuǎn)換模塊以求能擴展更多的數(shù)據(jù)端口,但是如果P3.0和P3.1口要用于和PC機的串行通信,此時就不能連接FPGA進行端口擴展了。
2 FPGA連接模塊的接口安排
由于FPGA的功能和結(jié)構(gòu)特點,其可以較為方便地處理各種并行任務(wù)。
(1)數(shù)據(jù)采集控制。在FPGA模塊中,我們一般使用狀態(tài)機的形式去控制ADC的采樣,并實時地將采樣數(shù)據(jù)存入FPGA模塊內(nèi)部的RAM之中,之后單片機在在適當(dāng)?shù)臅r候再去讀取并處理數(shù)據(jù)??紤]到FPGA接口數(shù)據(jù)通道的高速性,我們?yōu)榱烁玫貙ψ杩惯M行匹配,同時也為了減少相應(yīng)的高頻干擾,一般應(yīng)在每一通道線上都串聯(lián)連接一個小電阻。信號的頻率與阻值大小成反比,信號頻率越高,阻值就越小,在100MHZ和50MHZ的工作頻段內(nèi),其對應(yīng)的串聯(lián)電阻值一般在20歐-50歐之間。
(2)DAC/ADC信號輸出控制。FPGA控制高速DAC/ADC的優(yōu)勢是一般單片機所無法比擬的,因為FPGA能提供高速的數(shù)據(jù)采集信號。
(3)存儲器接口。常用的與FPGA相接的存儲器一般有兩類,第一類是串行接口存儲器,第二類是規(guī)模較大的SDRAM或SRAM等動態(tài)存儲器,我們在FPGA擴展模塊中可以利用動態(tài)RAM去控制相關(guān)模塊,其一般可用于作彩色液晶顯示器、VGA顯示器的緩存或作為軟核處理器的內(nèi)存。
(4)直流電機控制。FPGA可以控制直流電機,但前提是必須通過一個相關(guān)的驅(qū)動電路。其對于直流電機轉(zhuǎn)速的測定方法有多種,比如光電法、光柵法、模數(shù)轉(zhuǎn)換法等。FPGA的功能模塊主要包括PWM轉(zhuǎn)速控制模塊、電機轉(zhuǎn)速測定模塊、轉(zhuǎn)速信號毛刺排除模塊、閉環(huán)控制模塊等。
(5)步進電機控制。FPGA控制步進電機的優(yōu)勢是可以并行產(chǎn)生多通道的SPWM,F(xiàn)PGA通過對它們之間不同相位的控制,從而實現(xiàn)步進電機的細(xì)分驅(qū)動控制。
(6)顯示控制。電路能很容易的實現(xiàn)彩色液晶顯示器、VGA顯示器和LED顯示屏的顯示控制。因為這些控制都涉及高速掃描、高速數(shù)據(jù)傳輸和高速大容量顯示緩存的應(yīng)用。顯然,這些工作如果離開了FPGA,普通單片機是達不到此種效果的。
3 單片機擴展FPGA系統(tǒng)設(shè)計步驟和流程
傳統(tǒng)的單片機應(yīng)用系統(tǒng)開發(fā),包括一些擴展模塊的應(yīng)用,從本質(zhì)上來說都不屬于硬件設(shè)計概念。因為包括單片機在內(nèi)的擴展電路,都是現(xiàn)成的集成電路,其引腳、功能和時序性能都是預(yù)先確定或本身包含的。從而整個單片機的硬件系統(tǒng)只是各電路器件根據(jù)所需要的性能按照各自的接口方式連接起來而已,而真正說得上設(shè)計的內(nèi)容是單片機軟件的設(shè)計與調(diào)試。也正因此,傳統(tǒng)單片機系統(tǒng)開發(fā)的核心任務(wù)就主要集中在軟件開發(fā)上,即使用一些仿真軟件調(diào)試也僅是圍繞基于軟件對CPU和接口硬件模塊工作行為控制的測試。
然而以FPGA作為單片機主要擴展模塊的系統(tǒng)設(shè)計方案與傳統(tǒng)單片機系統(tǒng)開發(fā)有很大的不同。這是因為這個系統(tǒng)的開發(fā)包括基于FPGA的硬件設(shè)計與時序功能的測試、基于單片機的軟件設(shè)計和仿真調(diào)試以及軟硬件綜合構(gòu)建和調(diào)試。其主要步驟如下:
(1)硬件模塊設(shè)計。我們可以根據(jù)設(shè)計對象的相關(guān)技術(shù)指標(biāo)和設(shè)計方案,首先完成擴展器件FPGA中的功能模塊的設(shè)計,并對其進行相應(yīng)的時序仿真和硬件測試。即首先完成硬件設(shè)計任務(wù),利用時序仿真工具和其他測試工具確保此硬件功能模塊工作性能的可靠無誤。
(2)控制功能檢測。
(3)單片機軟件設(shè)計。對于直接和單片機相連的鍵盤接口或簡便顯示接口,我們可以變寫相應(yīng)的程序,充分發(fā)揮單片機控制能力強的優(yōu)點。
(4)軟硬件聯(lián)調(diào)。當(dāng)單片機的軟硬件仿真各自通過后,多項關(guān)鍵指標(biāo)已經(jīng)通過考核鎖定,我們就可以將單片機與FPGA擴展中的功能模塊進行聯(lián)調(diào),聯(lián)調(diào)時,ADC器件、步進電機、傳感器等模塊的控制也應(yīng)綜合考慮,必要的時候可以逐個隔離調(diào)試,隔離調(diào)試成功之后再進行關(guān)聯(lián)工作。
(5)優(yōu)化系統(tǒng)軟硬件功能結(jié)構(gòu)。很多情況下,軟硬件工作是可以相互替代的。因此最后的設(shè)計方案應(yīng)根據(jù)設(shè)計項目的性能指標(biāo)、成本、功耗、速度、可靠性等要求,綜合權(quán)衡后確定軟件和硬件承擔(dān)的工作和功能,使設(shè)計項目中的軟硬件工作得更協(xié)調(diào)完美。
4 結(jié)束語
對于FPGA模塊的應(yīng)用擴展,和單片機來比優(yōu)點有很多,二者一旦有機的結(jié)合起來,形成一個具體的應(yīng)用電子系統(tǒng),功能就相當(dāng)強大,因此,單片機擴展FPGA模塊的應(yīng)用也就比較重要且發(fā)展非常迅速。
參考文獻
[1]譚浩強.C程序設(shè)計[M].北京:清華大學(xué)出版社,2003(07).
[2]潘明.黃繼業(yè).潘松.單片機原理與應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2011(01).
作者簡介
勞勝領(lǐng)(1982-),男,河南省周口市人。學(xué)士學(xué)位?,F(xiàn)為周口職業(yè)技術(shù)學(xué)院機電工程系助教。研究方向為控制工程。
董會錦(1983-),女,河南省周口市人。學(xué)士學(xué)位。現(xiàn)為周口職業(yè)技術(shù)學(xué)院機電工程系助教。研究方向為嵌入式系統(tǒng)開發(fā)。
作者單位
周口職業(yè)技術(shù)學(xué)院 河南省周口市 466000endprint