圖1 TD-SCDMA基帶處理框圖
圖2 傳輸信道編碼復(fù)用結(jié)構(gòu)
在圖2中,每個(gè)傳輸信道(TrCH)對(duì)應(yīng)一個(gè)業(yè)務(wù),由于各種業(yè)務(wù)對(duì)時(shí)延的要求不同,所以其傳輸時(shí)間間隔(TTI)是不同的,TTI可以是10ms、20ms、40ms或80ms。 | 國(guó)內(nèi)領(lǐng)先的通信技術(shù)論壇&D'a&d0S2i4B'z圖1 TD-SCDMA基帶處理框圖
圖2 傳輸信道編碼復(fù)用結(jié)構(gòu)
在圖2中,每個(gè)傳輸信道(TrCH)對(duì)應(yīng)一個(gè)業(yè)務(wù),由于各種業(yè)務(wù)對(duì)時(shí)延的要求不同,所以其傳輸時(shí)間間隔(TTI)是不同的,TTI可以是10ms、20ms、40ms或80ms。:p2q,V h-y0m/_DDS(直接數(shù)字頻率合成)技術(shù)是解決這一問(wèn)題的最好辦法,DDS技術(shù)從相位的概念出發(fā)進(jìn)行頻率合成,采用數(shù)字采樣存儲(chǔ)技術(shù),可以產(chǎn)生點(diǎn)頻、線性調(diào)頻、ASK、FSK等各種形式的信號(hào),并且其幅度和相位一致性都很好,具有電路控制簡(jiǎn)單、方便靈活、可靠性高、相位精確、頻率分辨率高、頻率切換速度快、輸出信號(hào)相位噪聲低、易于實(shí)現(xiàn)全數(shù)字化設(shè)計(jì)等突出的優(yōu)點(diǎn)。
在雷達(dá)系統(tǒng)中采用DDS技術(shù)可以靈活地產(chǎn)生不同載波頻率、不同脈沖寬度、不同脈沖重復(fù)頻率等參數(shù)的信號(hào),為雷達(dá)的設(shè)計(jì)者提供了全新的思路。
1 DDS技術(shù)的基本原理
DDS是一種全數(shù)字化的頻率合成器,由相位累加器、正弦波形ROM存儲(chǔ)器、D/A轉(zhuǎn)換器和低通濾波器構(gòu)成,如圖1所示。
![]() |
---|
輸出信號(hào)波形的頻率表達(dá)式為:
![]() |
---|
式中,fclk為參考時(shí)鐘頻率,Δφ為相位增量,表現(xiàn)以多大的間隔對(duì)信號(hào)相位進(jìn)行累加,也稱為頻率控制字,N為相位累加器的位數(shù)。
由式(1)看出,DDS的頻率分辨率即最低頻率為:
![]() |
---|
所以,只要N足夠大,DDS可得到很小的頻率間隔,要改變DDS的輸出信號(hào)的頻率,只要改變?chǔ)う占纯伞?/p>
可見(jiàn),當(dāng)參考時(shí)鐘頻率給定后,輸出信號(hào)的頻率取決于頻率的控制字,頻率分辨率取決于累加器的位數(shù),相位分辨率取決于ROM的地址線位數(shù),幅度量化取決于ROM的數(shù)據(jù)字長(zhǎng)和D/A轉(zhuǎn)換器的位數(shù)。
2 基于FPGA的DDS軟件編程產(chǎn)生線性調(diào)頻信號(hào)
利用專用DDS芯片是目前比較流行的信號(hào)產(chǎn)生方法,專用DDS芯片把所有功能集中在一塊芯片上,需要設(shè)計(jì)者依次為平臺(tái)進(jìn)行開(kāi)發(fā)[3]。而基于FPGA(現(xiàn)場(chǎng)可編程門陣列)的DDS軟件編程則根據(jù)DDS技術(shù)的基本原理,充分利用了FPGA作為大規(guī)模芯片的資源優(yōu)勢(shì)和高速運(yùn)算能力,除了能產(chǎn)生專用DDS芯片所具備的單頻連續(xù)波、非連續(xù)波、各種形式的線性調(diào)頻信號(hào)以外,還可以借助FPGA龐大的資源優(yōu)勢(shì)和內(nèi)部存儲(chǔ)器,使非線性調(diào)頻等更復(fù)雜的信號(hào)更容易實(shí)現(xiàn)。
2.1 系統(tǒng)構(gòu)成
在具體實(shí)現(xiàn)過(guò)程中主要采用一塊基于FPGA的雷達(dá)信號(hào)處理卡,既可以采集來(lái)自雷達(dá)接收機(jī)的中頻、視頻信號(hào)并對(duì)其進(jìn)行數(shù)字信號(hào)處理,又可以自身模擬產(chǎn)生雷達(dá)中頻、視頻信號(hào)進(jìn)行數(shù)字信號(hào)處理或不處理直接送往雷達(dá)信號(hào)處理機(jī)。雷達(dá)信號(hào)處理卡的硬件電路結(jié)構(gòu)圖如圖2所示。
![]() |
---|
FPGA采用Xilinx公司的10萬(wàn)門FPGA芯片XC2S100E,其配置芯片為Xilinx公司的1Mbit容量PROM芯片XC18V01,以主動(dòng)串行方式對(duì)FPGA進(jìn)行上電配置,A/D、D/A轉(zhuǎn)換器分別為ADI公司12位高速A/D數(shù)轉(zhuǎn)換芯片AD9224與14位高速D/A轉(zhuǎn)換芯片AD9764。SRAM采用Cypress公司的256k×16bits SRAM芯片CY7C1041。
設(shè)計(jì)中利用FPGA實(shí)現(xiàn)32位/33MHz的PCI接口邏輯,進(jìn)行實(shí)時(shí)信號(hào)采集和傳輸控制,由于FPGA具有層次化的存儲(chǔ)器系統(tǒng),其基本邏輯功能塊可以配置成16×1、16×2或32×1的同步RAM,或16×1的端口同步RAM。因此,可以在FPGA內(nèi)部配置高速雙口SAM用來(lái)作為信號(hào)傳輸?shù)臄?shù)據(jù)緩沖器。同時(shí),為了節(jié)省FPGA的內(nèi)部邏輯資源,在FPGA外圍配置了適當(dāng)?shù)腟RAM用來(lái)存儲(chǔ)數(shù)據(jù)。
結(jié)合本處理卡的結(jié)構(gòu)特點(diǎn),硬件采用FPGA與高速D/A方案產(chǎn)生線性調(diào)頻信號(hào),在FPGA內(nèi)部實(shí)現(xiàn)DDS電路,FPGA輸出全數(shù)字線性調(diào)頻信號(hào)送往高速D/A轉(zhuǎn)換器得到最終的模擬線性調(diào)頻信號(hào),由于本處理卡采用PCI總線結(jié)構(gòu),因此可通過(guò)計(jì)算機(jī)實(shí)時(shí)修改線性調(diào)頻信號(hào)的參數(shù)設(shè)置,改善了人機(jī)接口,提高了系統(tǒng)的靈活性。
2.2 FPGA軟件編程實(shí)現(xiàn)線性調(diào)頻信號(hào)的原理
圖1所示的DDS電路產(chǎn)生的是固定頻率的正弦波信號(hào),信號(hào)頻率受相位增量Δφ控制,若要產(chǎn)生線性調(diào)頻信號(hào),則必須實(shí)時(shí)改變?chǔ)う眨功う崭鶕?jù)頻率步進(jìn)量fstep而線性變成,因此,基于FPGA軟件編程實(shí)現(xiàn)線性調(diào)頻信號(hào)時(shí),需要在FPGA內(nèi)部實(shí)現(xiàn)頻率累加器、相位累加器、正弦波形ROM存儲(chǔ)器等電路,F(xiàn)PGA軟件編程實(shí)現(xiàn)線性調(diào)頻信號(hào)的原理圖如圖3所示。
![]() |
---|
產(chǎn)生線性調(diào)頻信號(hào)時(shí),每來(lái)一個(gè)時(shí)鐘脈沖,軟件編程控制頻率累加器產(chǎn)生線性增加的瞬時(shí)頻率,然后經(jīng)過(guò)相位累加器運(yùn)算輸出線性調(diào)頻信號(hào)的瞬時(shí)相位,以此相位值尋址正弦值存儲(chǔ)表,通過(guò)查表得到與相位值對(duì)應(yīng)的幅度量化值;在下一個(gè)周期來(lái)臨時(shí),頻率累加寄存器一方面將在上一個(gè)時(shí)鐘周期作用后所產(chǎn)生的新的頻率數(shù)據(jù)反饋到頻率加法器的輸入端,以使頻率加法器繼續(xù)累加,頻率累加的瞬時(shí)值與上一個(gè)周期相位累加器反饋到相位加法器輸入端的數(shù)據(jù)累加,然后再依此周期累加的相位值重新尋址正弦值存儲(chǔ)表,得到對(duì)應(yīng)的幅度量化值。依此循環(huán),幅度量化值經(jīng)累加,并經(jīng)D/A轉(zhuǎn)換器得到連續(xù)的階梯波,經(jīng)低通濾波器濾除高頻分量,最后即可得到所需線性調(diào)頻信號(hào)[4]。
已知系統(tǒng)工作時(shí)鐘fclk、頻率累加器與相位累加器位數(shù)N,要產(chǎn)生中頻為F0、帶寬為B、時(shí)寬為T的線性調(diào)頻信號(hào),其頻率步進(jìn)編程見(jiàn)圖4。在FPGA軟件編程時(shí)只需計(jì)算起始頻率fstart和頻率步進(jìn)量fstep即可。
![]() |
---|
起始頻率fstart和頻率步進(jìn)量fstep計(jì)算公式如下:
![]() |
---|
VHDL語(yǔ)言中數(shù)值表示方法采用二進(jìn)制,所以通過(guò)式(3)、式(4)計(jì)算的結(jié)果二進(jìn)制數(shù),無(wú)量綱。
經(jīng)過(guò)頻率累加器輸出的是嚴(yán)格線性增長(zhǎng)的瞬時(shí)頻率。在實(shí)際過(guò)程中,相位累加器的輸出是經(jīng)過(guò)相位截?cái)嘣龠M(jìn)行尋址,從而引入了一定的相位誤差,雖然這一誤差會(huì)影響到線性調(diào)頻信號(hào)的線性度,但是調(diào)頻斜率為相位的二次導(dǎo)數(shù),相位截?cái)嗾`差本身已很小,所以對(duì)調(diào)頻線性度的影響就更小了。
2.3 FPGA的軟件編程實(shí)現(xiàn)線性調(diào)頻信號(hào)的部分程序
本程序完全遵照上述的FPGA軟件編程實(shí)現(xiàn)現(xiàn)行調(diào)頻信號(hào)的原理編寫,采用VHDL語(yǔ)言來(lái)進(jìn)行描述,以下是部分源程序。
1)線性調(diào)頻脈沖信號(hào)產(chǎn)生(系統(tǒng)時(shí)鐘頻率40MHz,線性調(diào)頻脈沖信號(hào)脈寬25μs,中頻1.5MHz、調(diào)頻帶寬1MHz)
dds_fstart<=“000001100110011001100110”,//設(shè)置線性調(diào)頻信號(hào)初始頻率為1MHz,由式(3)可計(jì)算出
dds_phase_start<=“0000000000000000000000”;//設(shè)置線性調(diào)頻信號(hào)初始化初始相位為0
dds_fstep<=conv_std_vector(419,43);//設(shè)置線性調(diào)頻信號(hào)頻率步進(jìn)為419.43,對(duì)應(yīng)調(diào)頻帶寬為1MHz,時(shí)寬為25μs,由式(4)可計(jì)算出
![]() |
---|
![]() |
2.4 與DDS專用芯片方法的比較
由于基于FPGA的DDS軟件編程同樣利用了DDS技術(shù)的基本原理,主要部分均由頻率累加器、相位累加器、相位幅度轉(zhuǎn)換器組成,所以與DDS專用芯片方法的方法一樣,所產(chǎn)生的信號(hào)具有可通過(guò)編程靈活控制參數(shù)、具有高的調(diào)頻線性度、頻率穩(wěn)定度等DDS技術(shù)特有的優(yōu)點(diǎn)。但是與DDS專用芯片方法相比,有自己的優(yōu)勢(shì)和不足。
由輸出信號(hào)的頻率分辨率Δf=fclk/2N可知,本系統(tǒng)的參考時(shí)鐘頻率為fclk為40MHz,相位累加器的位數(shù)N為24位,而DDS專用芯片,如AD9854的相位累加器的位數(shù)N為48位,雖然本系統(tǒng)產(chǎn)生的線性調(diào)頻信號(hào)在精度和速度上略有不足,但已能基本滿足絕大多數(shù)系統(tǒng)的使用要求。若要產(chǎn)生更低頻率及更精確的波形,可以提高分辨率并相應(yīng)減小基準(zhǔn)時(shí)鐘,這在FPGA中實(shí)現(xiàn)起來(lái)相比比較容易。
另一方面,基于FPGA的系統(tǒng)功能完全取決于設(shè)計(jì)需求,可以復(fù)雜也可以簡(jiǎn)單,而且FPGA芯片還可在系統(tǒng)現(xiàn)場(chǎng)升級(jí),使系統(tǒng)具有較大的可擴(kuò)展性。另外,將DDS設(shè)計(jì)嵌入到FPGA芯片所構(gòu)成的系統(tǒng)中,只是充分利用了FPGA的系統(tǒng)的軟件資源,其系統(tǒng)的硬件成本并不會(huì)增加多少,而購(gòu)買專用DDS芯片則使系統(tǒng)的硬件成本和體積等增加很多,因此,采用基于FPGA的DDS軟件編程技術(shù)具有較高的性價(jià)比,并提高了系統(tǒng)的性能和可靠性。
3 實(shí)驗(yàn)結(jié)果
首先對(duì)VHDL代碼進(jìn)行了時(shí)序仿真,然后將編譯綜合后的BIT文件下載到FPGA芯片中進(jìn)行系統(tǒng)聯(lián)調(diào)。實(shí)驗(yàn)表明,采用FPGA軟件編程技術(shù)較好地實(shí)現(xiàn)了線性調(diào)頻信號(hào)的產(chǎn)生,而且信號(hào)波形比較穩(wěn)定。
圖5為利用Modelsim軟件對(duì)比設(shè)計(jì)所產(chǎn)生的信號(hào)進(jìn)行仿真得到的時(shí)序仿真圖,從中可以看出,在每個(gè)觸發(fā)周期內(nèi),所產(chǎn)生信號(hào)的變成頻率在不斷線性增加,可較明顯地看出產(chǎn)生的是線性調(diào)頻信號(hào)。
![]() |
---|
圖6為實(shí)際調(diào)試過(guò)程中產(chǎn)生的一個(gè)脈寬為7μs,中頻為7.5MHz,調(diào)頻帶寬為5MHz的線性調(diào)頻脈沖信號(hào)在示波器上的截圖。從圖中可以看出,本系統(tǒng)所產(chǎn)生的線性調(diào)頻信號(hào)取得了較好的效果,能夠滿足實(shí)際工程中的應(yīng)用,在雷達(dá)系統(tǒng)中有較好的應(yīng)用前景。
本文原理以及基本系統(tǒng)亦可用于構(gòu)成產(chǎn)生相位編碼脈沖信號(hào)等其他形式的復(fù)雜雷達(dá)信號(hào)形式,具有較大的可擴(kuò)展性。
以下內(nèi)容含腳本,或可能導(dǎo)致頁(yè)面不正常的代碼 |
---|
說(shuō)明:上面顯示的是代碼內(nèi)容。您可以先檢查過(guò)代碼沒(méi)問(wèn)題,或修改之后再運(yùn)行. |
密碼清除:按下此鍵可清除前面所有的輸入值,清除成為“- - - -”。
數(shù)字位退格:按下此鍵可清除最低的數(shù)字位,并使各位向右移。
密碼設(shè)定:按下此鍵時(shí)會(huì)將目前的數(shù)字設(shè)定成新的密碼。
激活電鎖:按下此鍵可將密碼鎖上鎖。
解除電鎖:按下此鍵會(huì)檢查輸入的密碼是否正確,密碼正確即開(kāi)鎖,如果密碼錯(cuò)誤次數(shù)超過(guò)三次,系統(tǒng)將進(jìn)入鎖定狀態(tài)。
萬(wàn)能密碼:為了怕使用者忘記密碼,系統(tǒng)維護(hù)者可考慮設(shè)計(jì)一個(gè)萬(wàn)用密碼(8421),不論原先輸入的密碼是什么,只要輸入萬(wàn)用密碼即可開(kāi)鎖。
②語(yǔ)音部分功能如下:
錄音:能根據(jù)所需的內(nèi)容實(shí)現(xiàn)語(yǔ)音錄制,為播放準(zhǔn)備。
放音:根據(jù)系統(tǒng)所處的不同時(shí)段以及不同的按鍵值播放不同的語(yǔ)音提示,以方便使用者操作。
報(bào)警:在密碼輸入錯(cuò)誤時(shí),發(fā)出報(bào)警音。
硬件設(shè)計(jì)
根據(jù)整個(gè)系統(tǒng)的技術(shù)要求,選擇硬件電路的設(shè)計(jì)方案,整個(gè)系統(tǒng)原理如圖1所示。
根據(jù)整個(gè)電路的結(jié)構(gòu)可分為幾個(gè)功能模塊:顯示模塊、電子鎖狀態(tài)指示燈(LED綠:密碼正確開(kāi)鎖,LED紅:進(jìn)入死鎖狀態(tài),LED黃:密碼錯(cuò)誤)、鍵盤模塊、語(yǔ)音模塊等。下面分別對(duì)各個(gè)功能模塊進(jìn)行詳細(xì)的介紹。
顯示模塊
本設(shè)計(jì)主要是設(shè)計(jì)一個(gè)四位的語(yǔ)音密碼鎖,因此選擇了四位共陰數(shù)碼管,對(duì)輸入數(shù)字與系統(tǒng)狀態(tài)進(jìn)行顯示,其接口如圖2所示。
鍵盤模塊如圖3所示。以上采用的是4×4矩陣式鍵盤,可劃分為:數(shù)字鍵與功能鍵。其中,功能鍵分為:輸入、退格、清除、確定、密碼設(shè)定、上鎖。
語(yǔ)音模塊如圖4所示。
根據(jù)所需的內(nèi)容由柱式話筒MIC實(shí)現(xiàn)語(yǔ)音錄制,同時(shí)也可以由ISD2560芯片的11引腳AUX IN 通過(guò)計(jì)算機(jī)的聲卡輸出端進(jìn)行語(yǔ)音錄制(效果差不多)。在整個(gè)系統(tǒng)中由主芯片對(duì)ISD2560芯片進(jìn)行控制,以實(shí)現(xiàn)不同時(shí)段以及不同按鍵值播放不同的語(yǔ)音提示。
軟件設(shè)計(jì)
本設(shè)計(jì)中,采用自頂向下的層次化結(jié)構(gòu)設(shè)計(jì)方法,把整個(gè)系統(tǒng)劃分為幾個(gè)子模塊,最后完成頂層電路的設(shè)計(jì)。子模塊可分為:時(shí)鐘模塊、顯示子模塊、鍵盤子模塊、語(yǔ)音子模塊。當(dāng)各個(gè)功能子模塊設(shè)計(jì)完畢,頂層模塊的設(shè)計(jì)就變得簡(jiǎn)單了,就是將各個(gè)子模塊連接起來(lái),其電路模型如圖5所示。
結(jié)語(yǔ)
本設(shè)計(jì)中采用了ALTERA公司的 EP1C3T144芯片進(jìn)行設(shè)計(jì),實(shí)際測(cè)試表明系統(tǒng)的各項(xiàng)設(shè)計(jì)要求均得到滿足并且系統(tǒng)工作良好,該設(shè)計(jì)采用了SOPC技術(shù)和FPGA,幾乎將整個(gè)系統(tǒng)下載于同一芯片中,實(shí)現(xiàn)了所謂的片上系統(tǒng),可以極大減少其它分立元件或其它芯片的使用,有效地縮小了線路板面積,增加了系統(tǒng)的可靠性,大大縮短了系統(tǒng)開(kāi)發(fā)的周期。克服了傳統(tǒng)電子密碼鎖可靠性差、價(jià)格高的缺點(diǎn),提高了系統(tǒng)的性價(jià)比。由于采用VHDL語(yǔ)言進(jìn)行層次化設(shè)計(jì),用軟件實(shí)現(xiàn)硬件電路,具有良好的可移植性,可隨時(shí)在線更改邏輯設(shè)計(jì)及有關(guān)參數(shù),充分體現(xiàn)現(xiàn)場(chǎng)可編程器件的優(yōu)越性。
傳統(tǒng)上,工程師需要擁有硬件設(shè)計(jì)工具和VHDL等程式語(yǔ)言的龐大知識(shí),才能設(shè)計(jì)FPGA的功能。.CompactRIO中的FPGA使用National Instruments LabVIEW圖形化開(kāi)發(fā)工具來(lái)設(shè)計(jì)程式,因此工程師可以用很短的時(shí)間,自行訂定并重設(shè)CompactRIO中的FPGA的組態(tài)。當(dāng)系統(tǒng)功能需要改變時(shí),開(kāi)發(fā)人員只需將新的NI LabVIEW程式下載到FPGA,即可改變CompactRIO的特性。
FPGA運(yùn)用于載具內(nèi)I/O的彈性及效能
CompactRIO提供廣泛的I/O模組,用于連接至任何載具內(nèi)感測(cè)器、致動(dòng)器,以及網(wǎng)路。工程師可以完全自行設(shè)定每一項(xiàng)應(yīng)用的I/O時(shí)間、同步作業(yè)、處理,以及控制速率。
I/O 感測(cè)器和信號(hào)類型 模組 通道 特殊功能
溫度 熱電偶 NI 9211 4 24位元解析度,15 S/s
RTD NI 9217 4 24位元解析度,100 S/s
聲音和震動(dòng) IEPE感測(cè)器(加速計(jì)/麥克風(fēng)) NI 9233 4 24位元解析度,每個(gè)通道50 kS/s,同步, IEPE調(diào)節(jié),反失真
張力 橋接式感測(cè)器(應(yīng)力規(guī),壓力傳感器) NI 9237 4 24位元解析度,每個(gè)通道50 kS/s,同步,全/半橋(full-/half-bridge)
電壓 ±200 mV至±10 V NI 9205 32 16位元解析度,250 kS/s
±60 V NI 9221 8 12位元解析度,800 kS/s
燃料電池(Fuel cell) ±200 mV至±10 V NI 9206 32 16位元解析度,250 kS/s, 600 V DC CAT I 隔離
CAN通訊 雙埠高速CAN介面 NI 9583 2 雙埠高速CAN模組
表一:CompactRIO的載具內(nèi)I/O
取樣速率的彈性
由于FPGA直接連接至每一個(gè)I/O模組,因此工程師可以設(shè)定CompactRIO中每一個(gè)模組的取樣速率。這項(xiàng)功能為系統(tǒng)提供無(wú)與倫比的時(shí)間彈性。在一部CompactRIO系統(tǒng)中,工程師可以用10 S/s的速度擷取溫度量測(cè),同時(shí)以50 kS/s的速度監(jiān)督震動(dòng)量測(cè)。工程師也可以直接在FPGA上進(jìn)行資料取捨,在同一個(gè)I/O模組中設(shè)定不同的通道,采用不同的速率。
I/O同步化
FPGA技術(shù)應(yīng)用于載具內(nèi)資料擷取及測(cè)試方面的優(yōu)點(diǎn)之一,就是能夠在任何I/O模組之間獲得決定性的硬體同步化。舉例來(lái)說(shuō),NI 9853 CAN介面模組和任何模擬或數(shù)字輸入模組都可以執(zhí)行讀取動(dòng)作,以獲得毫微秒(nanosecond)解析度的同步測(cè)量功能。運(yùn)用這種同步化功能,測(cè)試工程師可以從一部特定的CAN設(shè)備(例如電子控制元件ECU或致動(dòng)器)讀取數(shù)值,再將數(shù)值和來(lái)自同步執(zhí)行的模擬或數(shù)字輸入埠的資料作比較。
40 MHz的決策
對(duì)于快速建立原型之類的控制應(yīng)用而言,F(xiàn)PGA客制硬件的效能會(huì)以極快的速度進(jìn)行密閉迴圈控制。只要使用任一種I/O模組,工程師就可以設(shè)定CompactRIO,使它對(duì)輸入的CAN、模擬或數(shù)字資料進(jìn)行反應(yīng),決定速度可以高達(dá)40 MHz。過(guò)去這一類的應(yīng)用需要使用高價(jià)的客制硬件,才能獲得這樣的效能。
「過(guò)去我們至少要花兩年的人力和五十萬(wàn)元,才能使用自行設(shè)計(jì)的硬體開(kāi)發(fā)出類似的ECU原型建立系統(tǒng)。就這個(gè)專案而言,設(shè)備的成本(包括機(jī)車和CompactRIO)是一萬(wàn)五千元。此外,我們大約花了三個(gè)月的人力在這項(xiàng)專案上。CompactRIO和LabVIEW Real-Time提供我們需要的穩(wěn)定性和精確計(jì)時(shí)資源,而且系統(tǒng)有足夠的堅(jiān)固性,可以承受操作環(huán)境的高溫和高震動(dòng)。」
–Drivven, Inc.總裁Carroll G. Dase
感測(cè)器層級(jí)的信號(hào)處理及分析
CompactRIO中的FPGA就像一個(gè)平行處理引擎,因此工程師可以對(duì)任何感測(cè)器信號(hào)執(zhí)行高級(jí)信號(hào)處理和分析。舉例來(lái)說(shuō),解譯轉(zhuǎn)速計(jì)信號(hào)通常需要大量的處理器運(yùn)算能力。工程師可以設(shè)計(jì)FPGA,讓它在硬件中解譯多種感測(cè)器信號(hào),允許網(wǎng)路上的CPU去執(zhí)行其它的處理作業(yè)。此外,工程師也可以使用LabVIEW數(shù)字濾波器設(shè)計(jì)工具組(Digital Filter Design Toolkit),輕松地在FPGA硬件中使用高級(jí)數(shù)字濾波器。
獨(dú)立操作及網(wǎng)路化操作
CompactRIO控制器內(nèi)含一顆嵌入式即時(shí)處理器,用于智慧型獨(dú)立運(yùn)作;包含乙太網(wǎng)路及序列埠,可以連接至主電腦和週邊;并且使用LabVIEW Real-Time軟體進(jìn)行決定控制、資料記錄,以及分析。此外,你可以將乙太網(wǎng)路埠與內(nèi)附的網(wǎng)頁(yè)及檔案伺服器結(jié)合,這樣操作者就可以輕易地取用在控制器上執(zhí)行的嵌入式程式。由于它具備兩個(gè)9至35 V(操作時(shí)為6至35 V)電源供應(yīng)輸入,因此工程師可以直接用載具電瓶提供CompactRIO電力。控制器內(nèi)含最多512 MB的非永久存儲(chǔ)器,用于載具內(nèi)資料記錄之用。
圖二:CompactRIO執(zhí)行獨(dú)立或網(wǎng)路化操作,供載具內(nèi)應(yīng)用。
輕巧而堅(jiān)固的封裝,適用任何載具內(nèi)環(huán)境
CompactRIO的機(jī)械設(shè)計(jì)創(chuàng)造出一款能夠承受任何嚴(yán)苛的載具內(nèi)測(cè)試環(huán)境(例如亞利桑那州測(cè)試場(chǎng)的干熱天候)的系統(tǒng)。CompactRIO保持輕巧的體積、低電力消耗,以及-40至70 oC的作業(yè)溫度范圍,并通過(guò)多種工業(yè)認(rèn)證和規(guī)章。四個(gè)插槽的可重設(shè)組態(tài)嵌入式系統(tǒng)的體積是179.6 x 88.1 x 88.1公釐(7.07 x 3.47 x 3.47 吋),重量只有1.58公斤(3.47磅)。八個(gè)插槽的系統(tǒng)加上32個(gè)通道的I/O模組,最多可以在一部系統(tǒng)中提供256個(gè)I/O通道。此平臺(tái)最多可承受50g的撞擊,最高2,300 Vrms 隔離(承受力),而且具備國(guó)際性的安全性、EMC,以及環(huán)境認(rèn)證。
「CompactRIO平臺(tái)的輕巧體積和堅(jiān)固性使它成為載具內(nèi)測(cè)試系統(tǒng)的理想選擇,能夠在我們的測(cè)試過(guò)程的嚴(yán)苛環(huán)境中生存下來(lái)。」
–PACCAR系統(tǒng)工程師 Andrew Leslie
建立客制的載具內(nèi)I/O
運(yùn)用CompactRIO系統(tǒng)的開(kāi)放性,工程師可以迅速開(kāi)發(fā)客制模組,以滿足特殊的載具內(nèi)I/O需求。CompactRIO模組開(kāi)發(fā)工具組提供授權(quán)許可、設(shè)計(jì)指南,以及LabVIEW FPGA軟體工具的存取能力,以建立客制模組。協(xié)力廠商推出載具內(nèi)擷取及控制模組,為CompactRIO加入以下功能:
o GPS(全球定位系統(tǒng))監(jiān)督
o GPRS(通用封包廣播服務(wù)),供無(wú)線通信使用
o GSM(移動(dòng)通信全球系統(tǒng)),供無(wú)線資料交換使用
o LIN(區(qū)域性連接網(wǎng)路)通信
o ARINC-429和MIL-1553航空協(xié)定,供飛行間測(cè)試
o 客制直流傳動(dòng)(power-train)模組
「LabVIEW和可重設(shè)組態(tài)I/O FPGA技術(shù)使我們得以迅速開(kāi)發(fā)Gxxx行動(dòng)模組。最后完成的系統(tǒng)所提供的可靠性,若是沒(méi)有CompactRIO技術(shù),是不可能達(dá)成的。現(xiàn)在客戶可以輕松地建立遠(yuǎn)端操作及監(jiān)督的移動(dòng)系統(tǒng),具備無(wú)線通信、計(jì)時(shí)及全球定位功能。」
- Wolfram Koerver, CEO, S.E.A. Datentechnik GmbH
利用嵌入式FPGA以及通用的程式設(shè)計(jì)環(huán)境,工程師可以使用CompactRIO和LabVIEW來(lái)建立任何載具內(nèi)測(cè)試、控制及設(shè)計(jì)應(yīng)用程式。FPGA的高速及同步化功能,結(jié)合堅(jiān)固的外形及廣泛的I/O模組,使CompactRIO成為載具內(nèi)應(yīng)用的理想平臺(tái)。
表4.1 波形圖中數(shù)據(jù)與實(shí)際數(shù)據(jù)對(duì)照表
小數(shù)倍頻率偏移和采樣鐘頻率偏移模塊是在整偏校完之后才有效,此時(shí)的小數(shù)倍頻率偏移是經(jīng)過(guò)時(shí)域粗偏估計(jì)校正后的剩余部分。表4.1列出波形中的估值與實(shí)際數(shù)據(jù)的對(duì)應(yīng)關(guān)系。從表中的數(shù)字對(duì)應(yīng)關(guān)系可以看出,電路中估計(jì)的小數(shù)倍頻偏與實(shí)際頻偏的差在0.1%以內(nèi)。采樣鐘偏移估計(jì)值與實(shí)際偏移誤差為1ppm左右,這已滿足了采樣鐘的粗調(diào)精度;相位輸出為前后符號(hào)的小數(shù)倍偏頻所引起的相位旋轉(zhuǎn)。由此單元電路,可以準(zhǔn)確地估計(jì)出小數(shù)倍頻偏和采樣鐘偏移及其相位。
細(xì)定時(shí)同步估計(jì)的電路仿真
圖中的data_re_in[15..0]和data_im_in[15..0]表示經(jīng)公共相位校正后的復(fù)數(shù)據(jù)實(shí)虛部;syn_in是輸入有用數(shù)據(jù)的起始位置脈沖;sym_type[1..0]是前端輸入的符號(hào)類型;taok[22..0]和td[9..0]分別為估計(jì)的符號(hào)定時(shí)偏移和其整數(shù)部分;syn_tao是taok[22..0]的有效數(shù)據(jù)起始脈沖信號(hào)。
圖4.3 符號(hào)定時(shí)偏移估計(jì)單元的電路波形圖
圖4.3中共有9個(gè)符號(hào)。由于本算法利用了4個(gè)符號(hào)的散布導(dǎo)頻,故圖4.3中,從第四個(gè)符號(hào)的結(jié)束處開(kāi)始,在syn_tao后的taok[22..0]才是當(dāng)前符號(hào)的定時(shí)偏移估計(jì)值。波形中的估值與實(shí)際數(shù)據(jù)的對(duì)應(yīng)關(guān)系如表4.2所示。
表4.2 波形圖中數(shù)據(jù)與實(shí)際數(shù)據(jù)對(duì)照表
表4.2中的定時(shí)實(shí)際偏移為-112,而不是仿真條件中的-100,這是由于在瑞利信道的仿真模型中,符號(hào)定時(shí)同步頭位置(重心位置)是在第一條徑之后12個(gè)采樣點(diǎn)出現(xiàn)的。由表中數(shù)據(jù)對(duì)應(yīng)關(guān)系可知,符號(hào)定時(shí)偏移估計(jì)單元可準(zhǔn)確地估出符號(hào)定時(shí)偏移的整數(shù)部分。由于采樣鐘偏移、算法估計(jì)誤差及電路運(yùn)算誤差的影響,其小數(shù)部分不為零,這與電路的仿真結(jié)果一致。
改進(jìn)前后占用硬件資源比較
表4.3給出了改進(jìn)前后,頻域同步所占用的硬件資源比較,其中ALUTS、Registers、Memorybits、DSPblock9-bitelements分別為自適應(yīng)查找表、寄存器、存儲(chǔ)器和9字節(jié)DSP處理塊。通過(guò)比較可以發(fā)現(xiàn),改進(jìn)后的方案可以節(jié)省大量的硬件資源。
表4.3 改進(jìn)前后的硬件資源對(duì)比
結(jié)束語(yǔ)
頻率偏移估計(jì)可以分為整數(shù)倍頻偏估計(jì)單元、小數(shù)倍頻偏、采樣鐘偏移估計(jì)單元和符號(hào)定時(shí)偏移估計(jì)單元。本文主要介紹各部分的算法方案及電路實(shí)現(xiàn)時(shí)所用的FPGA元件的基本結(jié)構(gòu)、設(shè)計(jì)思路。最后通過(guò)對(duì)電路的仿真波形可以看出,這些頻域同步算法和FPGA電路能夠滿足多載波傳輸系統(tǒng)的同步要求。
關(guān)鍵詞:正交頻分復(fù)用(OFDM);正數(shù)倍頻率偏移;小數(shù)倍頻率偏移;采樣鐘頻率偏移;定時(shí)偏移
同步部分概述
正交頻分復(fù)用(OFDM)系統(tǒng)的一個(gè)重要問(wèn)題是對(duì)頻率偏移非常敏感,很小的頻率偏移都會(huì)造成系統(tǒng)性能的嚴(yán)重下降。另外收發(fā)端采樣鐘不匹配,也會(huì)導(dǎo)致有用數(shù)據(jù)信號(hào)相位旋轉(zhuǎn)和幅度衰減,破壞了OFDM子載波間的正交性,降低系統(tǒng)性能。因此在OFDM系統(tǒng)中,頻率偏移和采樣鐘偏移估計(jì)的準(zhǔn)確度至關(guān)重要。
OFDM接收系統(tǒng)的同步部分主要包括以下幾方面:頻率同步、采樣鐘同步和符號(hào)定時(shí)同步。載波頻率偏移和采樣鐘頻率偏移的存在導(dǎo)致了載波間干擾(ICI)和采樣點(diǎn)增減現(xiàn)象,這就需要頻率同步和采樣鐘同步。同時(shí)在解調(diào)過(guò)程中,接收機(jī)是在時(shí)域上的任意點(diǎn)開(kāi)始接收數(shù)據(jù)的,而OFDM是基于符號(hào)的,這就需要檢測(cè)到符號(hào)的起始位置,否則會(huì)因?yàn)榉?hào)的起始位置的不合理,而導(dǎo)致符號(hào)間的干擾(ISI),這就是符號(hào)定時(shí)同步。
頻域同步估計(jì)方法
整數(shù)倍頻率偏移估計(jì)算法
頻率偏移△f0分成兩部分:整數(shù)倍和小數(shù)倍子載波間隔頻偏。由于在時(shí)域上已經(jīng)對(duì)小數(shù)倍頻偏有一個(gè)粗略估計(jì)和校正,因此頻域內(nèi)是利用內(nèi)插導(dǎo)頻信息對(duì)整數(shù)倍頻偏和剩余小數(shù)倍頻偏進(jìn)行估計(jì)校正的。
(1)
式(1)是整數(shù)倍頻率偏移估計(jì)算法表達(dá)式,它是利用連續(xù)導(dǎo)頻在發(fā)射端為已知固定相位的特性,使用一個(gè)長(zhǎng)為S的滑動(dòng)窗作為頻域上一個(gè)OFDM符號(hào)有效載波起始位置的估計(jì)范圍,以窗內(nèi)的每一個(gè)數(shù)據(jù)作為OFDM符號(hào)有效載波的的起始位置,對(duì)前后兩個(gè)符號(hào)在假設(shè)的連續(xù)導(dǎo)頻位置上的復(fù)數(shù)據(jù)做相關(guān)求和,這樣就得到了S個(gè)相關(guān)值,其中最大值所對(duì)應(yīng)的s即為頻域上一個(gè)OFDM符號(hào)有效載波起始位置的估計(jì)值,也即為整數(shù)倍頻偏估計(jì)值。
其中L是連續(xù)導(dǎo)頻個(gè)數(shù);ak是一個(gè)符號(hào)內(nèi)第k個(gè)連續(xù)導(dǎo)頻的序號(hào);Yl,ak是FFT輸出的第l個(gè)符號(hào)的假設(shè)第k個(gè)連續(xù)導(dǎo)頻位置上的復(fù)數(shù)值;S是整數(shù)倍頻偏的估計(jì)范圍,也即為滑動(dòng)窗長(zhǎng),s是窗口移動(dòng)值,s∈S;是S路相關(guān)和的最大值,其對(duì)應(yīng)的s即為整數(shù)倍頻偏的估計(jì)值。
小數(shù)倍頻率偏移和采樣鐘頻率偏移估計(jì)算法
在OFDM系統(tǒng)的接收端,實(shí)際的第m個(gè)子載波的實(shí)際解調(diào)頻率為f'm=f'0+mF',這里,f'0為本地解調(diào)載波頻率,F(xiàn))=F'0N,N為子載波個(gè)數(shù),F(xiàn)'0為接收機(jī)壓控晶振輸出的采樣頻率。由此可以看出,在第m個(gè)子載波上,載波頻偏和采樣鐘偏移的聯(lián)合效應(yīng)是大小等于△fm的子載波頻偏,這里△fm=△f0+m•△F0N,△f0=f'0-f0,△F0=F'0-F0,f0和F0分別為發(fā)射端的中心載波頻率和采用頻率。當(dāng)將整偏校掉后,這里的△f0僅為小數(shù)倍的子載波間隔。
設(shè)pi為導(dǎo)頻點(diǎn)位置,pi∈P,P為導(dǎo)頻點(diǎn)位置集合;i=0,1,…,K-1,K是P的基數(shù);△fpi為第pi個(gè)導(dǎo)頻點(diǎn)上相關(guān)結(jié)果的頻率部分,這個(gè)值以下用表示為估計(jì)結(jié)果。定義
,同時(shí)考慮到在第pi個(gè)子載波上的估計(jì)誤差ei,則:
(2)
其中,△fpi為在第pi個(gè)導(dǎo)頻點(diǎn)上的頻率偏移和采樣鐘偏移之和,現(xiàn)令為所需估計(jì)的向量參數(shù),式(2)就可以寫作:
(3)
其中,
由于估計(jì)是基于的,因此將向量V稱為觀察向量,方程式(3)稱為觀察方程。線性最小平方估計(jì)就是在觀察向量給定的條件下,根據(jù)觀察方程估計(jì)向量
。根據(jù)最大似然估計(jì)原理,使得向量V的線性函數(shù)
取得最小值時(shí),得出
的估計(jì)值
。對(duì)式
求導(dǎo)并使之為零,可得:
(4)
公式(3)是在先得出,i=0,...,K-1的基礎(chǔ)上求得的,而
可以通過(guò)在導(dǎo)頻位置對(duì)前后兩個(gè)OFDM符號(hào)做相關(guān)運(yùn)算來(lái)求。
頻域符號(hào)定時(shí)偏移估計(jì)算法
時(shí)域定時(shí)的不準(zhǔn)確就要求頻域內(nèi)進(jìn)一步對(duì)OFDM符號(hào)定時(shí)進(jìn)行校正。由于時(shí)域內(nèi)保護(hù)間隔是數(shù)據(jù)信號(hào)最后L個(gè)采樣點(diǎn)的完全復(fù)制,所以由FFT循環(huán)移位定理可知:符號(hào)定時(shí)的偏移所引起的子載波上相位旋轉(zhuǎn)和子載波序號(hào)k成正比。由于導(dǎo)頻信號(hào)插入位置已知,且其具有相位已知特性,這使得我們可以利用符號(hào)內(nèi)插導(dǎo)頻載波間相位變化來(lái)做細(xì)符號(hào)定時(shí)同步,并與粗符號(hào)定時(shí)同步結(jié)合起來(lái),得到一個(gè)準(zhǔn)確的符號(hào)起始位置。
設(shè)是第j個(gè)OFDM符號(hào)定時(shí)偏移在相鄰導(dǎo)頻點(diǎn)上所引起的相位偏移之差,
為第j個(gè)OFDM符號(hào)所估計(jì)出來(lái)的細(xì)定時(shí)。則
和
可表示為:
(5)
(6)
其中,L為散布導(dǎo)頻個(gè)數(shù);N為一個(gè)OFDM符號(hào)中有效子載波的個(gè)數(shù);Xj,k是第j個(gè)符號(hào)的第k個(gè)散布導(dǎo)頻復(fù)值;△k為兩個(gè)相鄰的子載波序號(hào)的差值。
頻域同步部分的FPGA電路實(shí)現(xiàn)模塊
頻域同步電路模塊各單元的工作原理如圖3.1所示。這里使用Altera公司生產(chǎn)的StratixⅡEP2S60的FPGA芯片來(lái)實(shí)現(xiàn)。
圖3.1 FFT后同步塊方框圖
FFT模塊輸出復(fù)數(shù)據(jù)經(jīng)過(guò)一個(gè)OFDM符號(hào)的FIFO模塊延遲后,和當(dāng)前的OFDM復(fù)數(shù)據(jù)進(jìn)行相關(guān),以實(shí)現(xiàn)在整數(shù)倍頻偏估計(jì)和小數(shù)倍頻率偏移算法中所需要的前后兩個(gè)符號(hào)的對(duì)應(yīng)導(dǎo)頻相關(guān)運(yùn)算,其相關(guān)結(jié)果為32位的復(fù)數(shù)據(jù)。
整數(shù)倍頻率偏移估計(jì)模塊
將相關(guān)單元輸出的復(fù)數(shù)據(jù)的實(shí)虛部符號(hào)位送到整數(shù)倍頻偏估計(jì)單元中進(jìn)行整數(shù)倍頻偏估計(jì)。為了節(jié)省芯片資源,這里我們將估計(jì)整數(shù)倍頻偏的算法加以簡(jiǎn)化,用相關(guān)后的復(fù)數(shù)據(jù)在導(dǎo)頻位置上的實(shí)虛部的符號(hào)位來(lái)估計(jì)整數(shù)倍頻偏值。下面的仿真的電路波形圖證明這樣實(shí)現(xiàn)整偏估計(jì)算法是可行的。它的輸入為相關(guān)單元輸出的復(fù)數(shù)據(jù)實(shí)虛部的符號(hào)位和此復(fù)數(shù)據(jù)的載波同步位置,輸出為整數(shù)倍頻偏估計(jì)值。
小數(shù)倍頻率偏移和采樣鐘頻率偏移模塊
首先對(duì)相關(guān)單元模塊輸出的復(fù)數(shù)據(jù)的實(shí)虛部進(jìn)行歸一化,然后求歸一化單元輸出的16位復(fù)數(shù)據(jù)的相角,同時(shí)用RAM的讀地址和讀使能信號(hào)分別控制讀取存有矢量A和矢量B數(shù)據(jù)的ROM表中的數(shù)據(jù)。其中矢量A和B分別為線性最小平方估計(jì)算法中矩陣AT的第一行和第二行矢量,用此相角分別和讀出的矢量A和矢量B在一個(gè)符號(hào)內(nèi)進(jìn)行相乘累加,再根據(jù)保護(hù)間隔的不同,乘以相應(yīng)的系數(shù),便可分別得到小數(shù)倍頻偏和采樣鐘頻率偏移的估計(jì)值。
細(xì)定時(shí)估計(jì)模塊
考慮到定時(shí)估計(jì)范圍的問(wèn)題,該模塊利用四個(gè)符號(hào)的散布導(dǎo)頻進(jìn)行定時(shí)估計(jì)。將當(dāng)前符號(hào)的散布導(dǎo)頻值及從RAM中讀出的前三個(gè)符號(hào)的散布導(dǎo)頻值按一定順序排列,并做相鄰導(dǎo)頻相關(guān)。將相關(guān)后的復(fù)數(shù)據(jù)的實(shí)虛部分別取絕對(duì)值累加,并將二者的累加和進(jìn)行歸一化處理后進(jìn)行查表,從而得出復(fù)數(shù)的相位值。這個(gè)相位即為符號(hào)定時(shí)偏移所引起的旋轉(zhuǎn)相位。再對(duì)此相位做如公式(6)的運(yùn)算,這樣就得到了符號(hào)定時(shí)偏移的整數(shù)和小數(shù)部分的和,然后將其送到求整函數(shù)中,從而得到符號(hào)定時(shí)偏移的整數(shù)部分。將這個(gè)值經(jīng)過(guò)并/串變換后送到前端時(shí)域同步部分,去調(diào)整FFT窗位。
電路仿真
其仿真條件為:瑞利信道,SNR為15dB,載波頻偏設(shè)為-14.9倍子載波間隔(即整數(shù)倍頻偏值為-15,小數(shù)倍頻偏值為0.1倍子載波間隔),采樣鐘偏移為50ppm,保護(hù)間隔長(zhǎng)為512,定時(shí)符號(hào)偏移為-100個(gè)采樣點(diǎn)。此電路工作頻率為10MHz。輸入的16位復(fù)數(shù)據(jù)由MATLAB仿真程序產(chǎn)生的。
整數(shù)倍頻率偏移電路仿真
由于電路波形中無(wú)法表示小數(shù),因此將各小數(shù)進(jìn)行“擴(kuò)展”,其表示皆為二進(jìn)制數(shù)據(jù),以下同。在圖4.1中,out_re[31]和out_im[31]分別是前后兩個(gè)OFDM符號(hào)中對(duì)應(yīng)子載波相關(guān)結(jié)果的實(shí)虛部的符號(hào)位,int_freqoffset[5..0]和syn_int分別是整數(shù)倍頻偏估值和其有效起始位置脈沖。
圖4.1 整數(shù)倍頻偏估計(jì)部分的電路仿真波形圖
由于整數(shù)倍頻偏在每一符號(hào)的結(jié)束處才能估計(jì)出來(lái),所以syn_int在每一個(gè)符號(hào)的結(jié)束處出現(xiàn),其后即為當(dāng)前符號(hào)的整數(shù)倍頻偏值。由于本算法利用了4個(gè)符號(hào)的連續(xù)導(dǎo)頻,故圖4.1中,從第四個(gè)syn_int后的int_freqoffset[5..0]才是當(dāng)前符號(hào)的整數(shù)倍頻偏估計(jì)值。由仿真波形可看出,估出的整數(shù)倍頻偏與仿真數(shù)據(jù)中所假設(shè)的一致。故用此算法的簡(jiǎn)化形式可以準(zhǔn)確地估計(jì)出整數(shù)倍頻偏值。
小數(shù)倍頻率偏移及采樣鐘頻率偏移估計(jì)的電路仿真
sernum[1..0]表示前級(jí)輸入的符號(hào)類型;syn為輸入復(fù)數(shù)據(jù)中的有用數(shù)據(jù)起始脈沖;rein[15..0]和imin[15..0]分別為FIFO模塊輸出復(fù)數(shù)據(jù)的實(shí)虛部;syn_offset為小數(shù)倍頻偏和采樣鐘偏移估計(jì)結(jié)果的起始位置;fri[14..0]和qdelt[14..0]為小數(shù)倍頻偏估計(jì)值和采樣鐘偏移估計(jì)值,它們由1位符號(hào)位和14位小數(shù)位組成。這里的小數(shù)位數(shù)是根據(jù)其估計(jì)范圍和估計(jì)精度要求來(lái)確定的。
在圖4.2中,小數(shù)倍頻率偏移和采樣鐘頻率偏移估計(jì)模塊使用連續(xù)導(dǎo)頻進(jìn)行估計(jì)。在每個(gè)符號(hào)末,syn_offset高電平有效時(shí),fri[14..0]和qdelt[14..0]才是當(dāng)前符號(hào)的小數(shù)倍頻率偏移和采樣鐘頻率偏移估計(jì)值。波形中的估值與實(shí)際數(shù)據(jù)的對(duì)應(yīng)關(guān)系如表4.1所示。
圖4.2 小數(shù)倍頻偏和采樣鐘偏移估計(jì)單元的電路仿真波形圖
Microsemi收購(gòu)Actel與模擬企業(yè)產(chǎn)生協(xié)同效應(yīng)
優(yōu)勢(shì):兩者的整合除了能加強(qiáng)在軍工、航天領(lǐng)域的優(yōu)勢(shì)外,還將共同拓展工控、消費(fèi)電子、汽車等市場(chǎng),旨在改變兩者在不同行業(yè)的不利競(jìng)爭(zhēng)局面。
待觀察方面:被收購(gòu)后,Actel的反熔絲產(chǎn)品和SmartFusion肯定還是重點(diǎn),而一些不賺錢、低利潤(rùn)的產(chǎn)品線將可能被收縮。
今年10月,F(xiàn)PGA行業(yè)排名第四的Actel公司被在軍工半導(dǎo)體和高性能模擬/混合信號(hào)半導(dǎo)體領(lǐng)域表現(xiàn)突出的Microsemi公司以4.3億美元左右的價(jià)格收購(gòu)了,這是近年來(lái)發(fā)生在FPGA行業(yè)唯一的一次并購(gòu)案。近些年,Actel雖然創(chuàng)新步伐很快,但發(fā)展速度不能領(lǐng)先于競(jìng)爭(zhēng)對(duì)手,這在寡頭壟斷的FPGA市場(chǎng)是非常不利的。綜合看來(lái),這次整合將產(chǎn)生兩大協(xié)同效應(yīng):
一方面,將加強(qiáng)軍工、航天領(lǐng)域業(yè)務(wù)。Microsemi是一家在軍工、航天和高可靠性醫(yī)療等非常專業(yè)的領(lǐng)域中較為出名的公司,主要產(chǎn)品包括針對(duì)上述專業(yè)領(lǐng)域的保護(hù)器件、電源管理、RF/微波傳輸和功率調(diào)節(jié)器產(chǎn)品。Actel公司的反熔絲FPGA因具有抗輻射、穩(wěn)定性好等特點(diǎn),是航空航天領(lǐng)域的第一大FPGA企業(yè),它在該領(lǐng)域占有80%的市場(chǎng)。據(jù)稱兩者在軍工和航天領(lǐng)域的客戶有80%的重疊率,而且今年Microsemi還收購(gòu)了Arxan Defense Systems軟件公司、VT Silicon和White Electronic公司,這些企業(yè)的業(yè)務(wù)都集中在軍工領(lǐng)域,整合將加強(qiáng)其在這一領(lǐng)域的優(yōu)勢(shì)。
另一方面,Microsemi產(chǎn)品還包括在民用領(lǐng)域的一些模擬/混合信號(hào)產(chǎn)品,如針對(duì)汽車GPS顯示屏、筆記本、LCD電視、監(jiān)視器、機(jī)頂盒市場(chǎng)的高性能模擬/混合信號(hào)產(chǎn)品,其中包括背光驅(qū)動(dòng)、功率管理等產(chǎn)品與Actel的可編程SoC(PSoC)產(chǎn)品目標(biāo)市場(chǎng)相互契合,兩者可以形成更完整的方案,去拓展工控、消費(fèi)電子、醫(yī)療等多個(gè)領(lǐng)域。其中,Actel的可編程SoC和其他FPGA接口可以作為方案中的主控部分或“黏合”部分。
Actel在FPGA行業(yè)走了一條差異化道路,其最早的FPGA產(chǎn)品主要針對(duì)軍工、航天領(lǐng)域。1999年,它進(jìn)軍基于Flash的FPGA領(lǐng)域,而其他FPGA企業(yè)的產(chǎn)品則基于SRAM。Flash FPGA在功耗、安全性、可靠性和成本上更具一定優(yōu)勢(shì),其Flash FPGA包括ProASIC、IGLOO、Fusion和SmartFusion系列產(chǎn)品。其中,值得關(guān)注的是SmartFusion產(chǎn)品,這是FPGA業(yè)內(nèi)獨(dú)有的集成了FPGA、ARM硬核和可編程模擬電路的可編程SoC(PSoC)產(chǎn)品,目標(biāo)市場(chǎng)是工業(yè)應(yīng)用如馬達(dá)控制等,預(yù)計(jì)這個(gè)產(chǎn)品是與Microsemi模擬技術(shù)重點(diǎn)融合的產(chǎn)品。Microsemi在半導(dǎo)體業(yè)的名氣并不算大,年銷售額僅為四五億美元。雖然Microsemi在全球有約1600名員工,但在中國(guó)沒(méi)有投入太多力量,因此合并后,其在中國(guó)的業(yè)務(wù)最有可能仍來(lái)自Actel。
兩者的結(jié)合體現(xiàn)了在高度壟斷的FPGA行業(yè)中,與模擬資源結(jié)合也不失為一條新出路。
Altera與ARM、MIPS、英特爾合作市場(chǎng)接受度不一
優(yōu)勢(shì):提供了業(yè)界最廣泛的嵌入式處理器選擇,并將提供統(tǒng)一的集成環(huán)境。
待觀察方面:ARM+FPGA的接受度將取決于該系列產(chǎn)品的成本,MIPS32在中國(guó)市場(chǎng)的接受度可能較低,英特爾Atom E600將在工控領(lǐng)域有較好的發(fā)展。
Altera近日發(fā)布了其嵌入式計(jì)劃,進(jìn)一步展示了FPGA與微控制器行業(yè)緊密融合的趨勢(shì)。該計(jì)劃稱,到2010年第四季度末,Altera將向業(yè)界提供Qsys系統(tǒng)集成工具,客戶能夠?qū)⒍喾N嵌入式CPU和FPGA進(jìn)行系統(tǒng)級(jí)集成,這些嵌入式CPU包括Altera NiosII軟核、ARM Cortex-M1軟核、MIPS32軟核、ARM Cortex-A9硬核。Qsys系統(tǒng)集成工具是Altera Quartus II開(kāi)發(fā)軟件的一部分。
具體來(lái)說(shuō),Altera將在2011年下半年推出的28nm FPGA的一個(gè)系列中集成ARM Cortex-A9 MPCore硬核,并會(huì)在2011年上半年推出MIPS32處理器架構(gòu)的MP32軟核處理器。此前Altera已提供Nios處理器,并對(duì)飛思卡爾ColdFire軟核、ARM Cortex-M1軟核進(jìn)行支持。同時(shí),英特爾在2010秋季IDF上發(fā)布的凌動(dòng)E600處理器封裝中集成了Altera的FPGA。
此次新發(fā)布嵌入式處理器的市場(chǎng)接受度不一,其中針對(duì)ARM Cortex-A9 MPCore硬核,中國(guó)客戶表現(xiàn)出極大的興趣。因?yàn)槟壳笆袌?chǎng)上ARM+FPGA的應(yīng)用較多,而且懂得ARM應(yīng)用的客戶比FPGA的客戶要多,ARM具備成熟開(kāi)發(fā)環(huán)境,有大量現(xiàn)成的可移植代碼。如果新產(chǎn)品成本控制得好,例如比單片F(xiàn)PGA加ARM要便宜,會(huì)對(duì)FPGA市場(chǎng)帶來(lái)一定的沖擊。其應(yīng)用將主要是通信、工業(yè)和汽車領(lǐng)域。
針對(duì)MP32,中國(guó)客戶的接受度會(huì)非常低。因?yàn)镸P32與NiosII軟核性能差不多,但比NiosII占有的邏輯資源更多,而且授權(quán)費(fèi)高達(dá)3萬(wàn)美元,因此中國(guó)客戶選用的可能性較小。Altera推出此內(nèi)核可能主要是為了配合一些國(guó)外客戶采用此內(nèi)核來(lái)支持一些操作系統(tǒng)。
針對(duì)在同一封裝中集成了處理器和FPGA的英特爾Atom E600,它的主要應(yīng)用是工控領(lǐng)域,將替代傳統(tǒng)X86,應(yīng)該有較好的前景。
Altera推出嵌入式計(jì)劃的背景是認(rèn)為有三大發(fā)展趨勢(shì)正在推動(dòng)CPU+FPGA的應(yīng)用:一是系統(tǒng)處理并行化趨勢(shì)。在并行化的兩類技術(shù)中,硬件協(xié)處理器效果最好,另一個(gè)是多核技術(shù),但是沒(méi)有任何方式能夠提前知道哪些軟件功能需要通過(guò)硬加速的方式來(lái)實(shí)現(xiàn),所以FPGA是最理想的加速器實(shí)現(xiàn)方案,因?yàn)樗乾F(xiàn)場(chǎng)可編程的。二是在很多當(dāng)今的嵌入式應(yīng)用中,F(xiàn)PGA與CPU已經(jīng)進(jìn)行了更高級(jí)別的集成,獲得了成本的削減。三是業(yè)界很多芯片廠商已經(jīng)在采用處理器+FPGA的方式。而FPGA作為協(xié)處理器,要達(dá)到最理想的性能和效率就需要與CPU之間做緊密的耦合來(lái)減少延遲。所以,CPU+FPGA這一技術(shù)需要更緊密的結(jié)合方式。
一般在使用DS18B20通信時(shí)需
|
利用FPGA實(shí)現(xiàn)與DS18B20通信不存在被迫關(guān)閉中斷的情況,可以滿足對(duì)實(shí)時(shí)性要求嚴(yán)格的應(yīng)用要求。
2 ProASICplus系列FPGA簡(jiǎn)介
ProASICplus系列FPGA是ACTEL公司推出的基于Flash開(kāi)關(guān)編程技術(shù)的現(xiàn)場(chǎng)可編程門陣列,包括從7.5萬(wàn)門的APA075型到100萬(wàn)門的APAl000型,具有高密度、低功耗、非易失、含有嵌入式RAM及可重復(fù)編程等特點(diǎn)。
因?yàn)镻roASICplus系列FPGA基于Flash技術(shù),利用Flash開(kāi)關(guān)保存內(nèi)部邏輯,因此不需要另外的器件。由于不需要上電配置過(guò)程,因此具備上電就立即工作的特點(diǎn)。不用配置器件,系統(tǒng)的保密性提高。
筆者在電力監(jiān)控的產(chǎn)品中利用APA150在整個(gè)系統(tǒng)中充當(dāng)協(xié)處理器,使主CPU從繁重的實(shí)時(shí)處理中解脫出來(lái)。
3 DS18B20簡(jiǎn)介
3.1內(nèi)部結(jié)構(gòu)
DS18B20的64位序列號(hào)均不相同。
8位CRC生成器可以完成通信時(shí)的校驗(yàn)。
暫存寄存器有9個(gè)字節(jié),包含溫度測(cè)量結(jié)果、溫度報(bào)警寄存器、CRC校驗(yàn)碼等內(nèi)容。
3.2操作步驟
對(duì)DS18B20功能命令。
3.2.1初始化
FPGA要與DS18B20返回響應(yīng)脈沖。
3.2.2ROM命令
該步驟完成FPGA與總線上的某一具體DS18B20建立聯(lián)系。ROM命令有搜尋ROM(SEARCH ROM)、讀ROM(READ ROM)、匹配ROM(MATCH ROM)、忽略ROM(SKIP ROM)、報(bào)警查找等命令(ALARM SEARCH)。
這里,F(xiàn)PGA只連接1個(gè)DS18B20的48位ID號(hào)。
3.2.3 DS18B20功能命令
FPGA在該步驟中完成溫度轉(zhuǎn)換(CONVERTT)、寫暫存寄存器(WRITE SCRATCHPAD)、讀暫存寄存器(READ SCRATCHPAD)、拷貝暫存寄存器(COPYSCRATCHPAD)、裝載暫存器寄存器(RECALL E2)、讀供電模式命令(READ POWER SUPPLY)。
文中不用溫度報(bào)警功能,因此在本步驟中只需完成溫度轉(zhuǎn)換,然后通過(guò)讀暫存寄存器命令完成溫度轉(zhuǎn)化的結(jié)果。
3.3操作時(shí)序
2所示。從時(shí)序圖中可以看出,對(duì)DS18B20的操作時(shí)序要求比較嚴(yán)格。利用FPGA可以實(shí)現(xiàn)這些操作時(shí)序。
4 FPGA與DS18B20的通信
4.1 DS18B20的操作模塊
FPGA需要完成DS18B20溫度轉(zhuǎn)換、讀取溫度轉(zhuǎn)化結(jié)果。讀
取48位ID號(hào)和讀取溫度轉(zhuǎn)換結(jié)果過(guò)程中,F(xiàn)PGA還要實(shí)現(xiàn)CRC校驗(yàn)碼的計(jì)算,保證通信數(shù)據(jù)的可靠性。
以上操作反復(fù)進(jìn)行,可以用狀態(tài)機(jī)來(lái)實(shí)現(xiàn)。狀態(tài)機(jī)的各種狀態(tài)如下:
RESET1:對(duì)DS18B20進(jìn)行第三次復(fù)位。
CMDCC2:
|
設(shè)計(jì)中采用Verilog語(yǔ)言建立DS18B20 PROC(sysclk,reset,dq_pim,id,temp_data,dq_ctl)。
從仿真波形可以看出,系統(tǒng)上電后的10ms左右,F(xiàn)PGA可以讀出DS18B20的48位ID值,這樣,主CPU在系統(tǒng)復(fù)位后很短的時(shí)間內(nèi)就可以讀取ID值,進(jìn)行相應(yīng)的處理。
4.2 FPGA與CPU的接口
在FPGA中,要實(shí)現(xiàn)對(duì)DS18B20_PROC模塊的調(diào)用及建立與CPU之間的接口。
與CPU之間的接口通過(guò)建立若干寄存器實(shí)現(xiàn)。溫度測(cè)量值和48位ID可以用4個(gè)16位寄存器保存。CPU通過(guò)讀取這些寄存器可以獲得溫度測(cè)量數(shù)值和48位ID值。
CPU、FPGA及DS18B20的連接原理如圖4所示。
5 結(jié)束語(yǔ)
在系統(tǒng)中,F(xiàn)PGA可以分擔(dān)許多主處理器的工作,提高整體實(shí)時(shí)性,降低CPU處理的嚴(yán)格實(shí)時(shí)約束,從而降低CPU軟件處理的難度。同時(shí),由于ACTEL公司的ProASICplus系列FPGA的保密特性,可以增強(qiáng)產(chǎn)品知識(shí)產(chǎn)權(quán)的保護(hù)。
本設(shè)計(jì)應(yīng)用在電力監(jiān)控產(chǎn)品中。測(cè)量出的裝置內(nèi)部溫度用于電量測(cè)量精度補(bǔ)償和報(bào)警,對(duì)保證產(chǎn)品測(cè)量精度和可靠運(yùn)行具有重要意義。48位ID值用于產(chǎn)品的惟一編碼標(biāo)識(shí)和以太網(wǎng)MAC地址,便于產(chǎn)品生產(chǎn)、維護(hù)和管理
概覽
高端設(shè)計(jì)工具為少有甚是沒(méi)有硬件設(shè)計(jì)技術(shù)的工程師和科學(xué)家提供現(xiàn)場(chǎng)可編程門陣列(FPGA)。無(wú)論你使用圖形化設(shè)計(jì)程序,ANSI C語(yǔ)言還是VHDL語(yǔ)言,如此復(fù)雜的合成工藝會(huì)不禁讓人去想FPGA真實(shí)的運(yùn)作情況。在這個(gè)芯片中的程序在這些可設(shè)置硅片間到底是如何工作的。本書(shū)會(huì)使非數(shù)字化設(shè)計(jì)人員明白FPGA(現(xiàn)場(chǎng)可編程門陣列)的基礎(chǔ)知識(shí)及其工作原理。此信息在使用高端設(shè)計(jì)工具時(shí)同樣十分有用,希望可以為理解這一特別技術(shù)提供一些線索。
FPGA-現(xiàn)場(chǎng)可編程門陣列
每一塊FPGA芯片都是由有限多個(gè)帶有可編程連接的預(yù)定義源組成來(lái)實(shí)現(xiàn)一種可重構(gòu)數(shù)字電路。
圖1.FPGA不同構(gòu)成
FPGA芯片說(shuō)明書(shū)中,包含了可編程邏輯模塊的數(shù)量、固定功能邏輯模塊(如乘法器)的數(shù)目及存儲(chǔ)器資源(如嵌入式RAM)的大小。FPGA芯片中還有很多其它的部分,但是以上指標(biāo)通常是為特定應(yīng)用選擇和比較FPGA時(shí),最重要的參考指標(biāo)。
在最底層,可配置邏輯模塊(如片或邏輯單元)有著兩種最基本的部件:觸發(fā)器和查找表(LUT)。這很重要,因?yàn)楦鞣NFPGA家族之所以各不相同,就是因?yàn)橛|發(fā)器和查找表組合的方式不同。例如,Virtex-II 系列的FPGA ,它的片具有兩個(gè)查找表和兩個(gè)觸發(fā)器,而Virtex-5 FPGA的片具有4個(gè)查找表和4個(gè)觸發(fā)器。查找表本身的結(jié)構(gòu)也可能各不相同(4輸入或6輸入)。關(guān)于查找表工作原理的更多信息將在后面的章節(jié)中給出。
表1中列出了在NI LabVIEW FPGA硬件目標(biāo)中使用的FPGA的指標(biāo)。邏輯門的數(shù)量是一種將FPGA芯片與ASIC技術(shù)進(jìn)行比較的傳統(tǒng)方法,但是它并不能真實(shí)地表述FPGA內(nèi)部的獨(dú)立單元的數(shù)量。這就是Xilinx公司沒(méi)有在新型Virtex-5系列中指定邏輯門數(shù)量的原因之一。
表1.不同系列FPGA源規(guī)格
為了更好地理解這些規(guī)格的意義,將編碼考慮為合成的數(shù)字電路模式。對(duì)任何一段合成代碼,或圖形化或文本形式,都有相應(yīng)的電路圖反映邏輯組件該如何連線。通過(guò)一段簡(jiǎn)單布爾邏輯電路了解下相應(yīng)的示意圖。圖2表示的是傳遞5個(gè)布爾信號(hào)并且可圖形化計(jì)算所得的二進(jìn)制值的功能組。
圖2.載入5個(gè)信號(hào)的簡(jiǎn)單布爾邏輯
在通常情況下(LabVIEW SCTL—單周期定時(shí)環(huán)路外),圖2所示相應(yīng)電路圖同圖3所示相近。
圖3.為圖2中布爾邏輯的相應(yīng)電路圖
雖然很難明白,但是實(shí)際上這里創(chuàng)建了兩個(gè)并行分支的電路。最上面的5條黑線被反饋到第一個(gè)分支,它在每個(gè)布爾操作間添加了觸發(fā)器。最下面的5條黑線構(gòu)成了第二個(gè)邏輯鏈。其中一支路在每步操作之間增加了同步寄存器,另一條邏輯鏈?zhǔn)谴_保執(zhí)行數(shù)據(jù)流的。本電路圖正常工作時(shí)總共需要12個(gè)觸發(fā)器和12個(gè)查找表。上端分支和每個(gè)元件將在以后章節(jié)分析。
觸發(fā)器
圖4.觸發(fā)器符號(hào)
觸發(fā)器是二進(jìn)制移位寄存器,用于同步邏輯以及保存時(shí)鐘(脈沖)周期內(nèi)的邏輯狀態(tài)。在每個(gè)時(shí)間(脈沖)邊沿,觸發(fā)器在輸入時(shí)鎖定1(真)或0(假)值并且保存此值直到下次時(shí)鐘(脈沖)邊沿。在正常情況下,LabVIEW FPGA在每次操作之間都設(shè)置一個(gè)觸發(fā)器,以保證有足夠的時(shí)間來(lái)執(zhí)行每步操作。對(duì)此律的例外只發(fā)生在SCTL結(jié)構(gòu)中寫代碼的情況。在這個(gè)特殊的環(huán)路結(jié)構(gòu)中,觸發(fā)器只放置在閉環(huán)迭代的始末段,并且由編程者考慮定時(shí)因素來(lái)決定如何放置。對(duì)SCTL內(nèi)代碼如何同步的更多內(nèi)容將在以后章節(jié)中討論。圖5表示的是圖3的上端分支,觸發(fā)器由紅色高亮表示。
圖5.繪制由紅色高亮表示出觸發(fā)器的電路圖
查找表
圖6.雙四輸入查找表
圖6所示示意圖中的其他邏輯電路通過(guò)使用少量查找表形式的隨機(jī)存取存儲(chǔ)器實(shí)現(xiàn)。我們可以簡(jiǎn)單地假定FPGA中系統(tǒng)門的數(shù)量可參考與非門(NAND)以及或非門(NOR)的數(shù)量,但實(shí)際上,所有的組合邏輯(與門、或門、與非門、異或門等)都是通過(guò)查找表存儲(chǔ)器中的真值表來(lái)實(shí)現(xiàn)。真值表是輸出對(duì)應(yīng)于每個(gè)輸入值組合的預(yù)定義表(現(xiàn)在卡諾圖的重要性在你的頭腦中可能會(huì)慢慢淡化)。以下是對(duì)數(shù)字邏輯電路課程的快速回顧:比如,圖7是布爾邏輯與門操作過(guò)程。
這是對(duì)數(shù)字邏輯課程的快速回顧:
例如,圖7中顯示了布爾型AND操作。
圖7.布爾型AND操作
表2.布爾與門操作的真值表
你可以認(rèn)為輸入值是所有輸出值的數(shù)字索引,如表3所示。
表3.布爾與門擦操作的真值查找表實(shí)現(xiàn)
Virtex-II和Spartan-3系列FPGA芯片有著4輸入查找表來(lái)實(shí)現(xiàn)真正的4輸入信號(hào)的16種組合。圖8就是一個(gè)四輸入電路實(shí)現(xiàn)的例子。
圖8.輸入布爾邏輯的四信號(hào)電路
表4所示為使用雙四輸入查找表實(shí)現(xiàn)的相應(yīng)的真值表。
表4.圖8中所示相應(yīng)真值表
Virtex-5系列的FPGA使用雙六輸入查找表,可以通過(guò)6個(gè)不同輸入信號(hào)的64種組合來(lái)實(shí)現(xiàn)真值表。因?yàn)橛|發(fā)器之間的組合邏輯十分復(fù)雜,所以在LabVIEW FPGA中使用SCTL也越來(lái)越重要。下一節(jié)將講述SCTL如何優(yōu)化利用LabVIEW中的FPGA源。
SCTL
上幾節(jié)中使用的代碼例子假定代碼是設(shè)置在SCTL外部,并為保證執(zhí)行同步數(shù)據(jù)量也同步了附加電路。SCTL是LabVIEW FPGA中一個(gè)特殊結(jié)構(gòu),生成一個(gè)更為優(yōu)化的電路圖,以期望達(dá)到在一個(gè)時(shí)鐘(脈沖)周期內(nèi)執(zhí)行完所有邏輯電路分支。例如,若設(shè)置SCTL在40MHZ運(yùn)行,則所有邏輯電路分支將在25ns內(nèi)執(zhí)行完畢。
如果在SCTL中設(shè)置前例中同樣的布爾邏輯電路(如圖9所示),則生成如圖10所示的相應(yīng)電路示意圖。
圖9.附有STCL的簡(jiǎn)單布爾邏輯
圖10.圖9所示布爾邏輯相應(yīng)的電路圖
很明顯,這種實(shí)現(xiàn)方法簡(jiǎn)單多了。在Virtex-II或Spartan-3系列FPGA中,觸發(fā)器間的邏輯需要至少2個(gè)4輸入查找表,如圖11所示。
圖11.圖10中電路圖的雙四輸入查找表實(shí)現(xiàn)
由于Virtex-5系列FPGA有著6輸入的查找表,用戶可以在一個(gè)查找表中實(shí)現(xiàn)相同數(shù)量的邏輯,如圖12所示。
圖12.圖10中雙六輸入查找表實(shí)
本例中使用的SCTL(如圖9所示)設(shè)置在40MHZ下運(yùn)行,這意味著在任意觸發(fā)器之間邏輯電路必須在25ns內(nèi)完成執(zhí)行。電子在電路中傳播的速度決定了代碼執(zhí)行的最大速度。關(guān)鍵路線是有最長(zhǎng)傳播延遲的邏輯電路分支,它決定了該部分電路中理論最大時(shí)鐘速率。Virtex-5 FPGA上的雙六輸入查找表不僅減少實(shí)現(xiàn)給定邏輯電路所需要的查找表總數(shù),而且減少電子通過(guò)邏輯電路的傳播延遲(時(shí)間)。Virtex-5系列FPGA中的6輸入查找表不僅可以減少實(shí)現(xiàn)特定邏輯而需要的查找表的數(shù)量,而且可以降低邏輯中電流的傳輸延時(shí)。這意味著,您可簡(jiǎn)單地通過(guò)選擇一個(gè)基于Virtex-5的硬件指標(biāo)設(shè)置相同的SCTL,追求更快的時(shí)間速度。
請(qǐng)查看下方白皮書(shū)的對(duì)策列表,獲取更多Virtex-5 FPGA相關(guān)信息。
乘數(shù)器和DSP片
看起來(lái)簡(jiǎn)單的兩數(shù)相乘運(yùn)算在數(shù)字電路中實(shí)現(xiàn)起來(lái)是十分復(fù)雜的,也是極為消耗資源的。為提供相關(guān)參考,圖14所示是一種使用組合邏輯電路實(shí)現(xiàn)4×4字節(jié)乘數(shù)器的示意圖。
圖14.兩個(gè)4字節(jié)輸入相乘的電路圖
試想兩個(gè)32字節(jié)的數(shù)字相乘要通過(guò)2000多步操作才能得到結(jié)果。因此,F(xiàn)PGA預(yù)設(shè)了乘數(shù)器電路,在數(shù)學(xué)和信號(hào)處理應(yīng)用中保存對(duì)查找表和觸發(fā)器使用。Virtex-II和Spartan-3 FPGA擁有18×18bit乘法器,所以兩個(gè)32字節(jié)數(shù)字相乘的運(yùn)算需要三個(gè)乘法器來(lái)實(shí)現(xiàn)。許多信號(hào)處理算法都包括連乘運(yùn)算結(jié)果的功能,因此Virtex-5等高性能FPGA都預(yù)設(shè)被稱為DSP片的乘數(shù)器累加電路.這些預(yù)設(shè)處理組件,也被稱為DSP48片,包括25×18bit乘數(shù)器以及加法器電路,盡管您可單獨(dú)使用乘數(shù)器功能。表5所示為不同F(xiàn)PGA系列DSP決策。
表5.不同F(xiàn)PGA的DSP源
塊隨機(jī)存取存儲(chǔ)器(RAM)
選擇FPGA時(shí),記憶源是另一個(gè)需要考慮的關(guān)鍵因素。嵌入FPGA芯片中的用戶自定義隨機(jī)存取存儲(chǔ)器(RAM),對(duì)儲(chǔ)存數(shù)據(jù)設(shè)置或平行環(huán)路之間傳送數(shù)值很有幫助。基于FPGA系列,您可在16或36kb組件中設(shè)置板載RAM,或者使用觸發(fā)器以數(shù)組來(lái)執(zhí)行數(shù)據(jù)設(shè)置;然而,對(duì)于FPGA邏輯源來(lái)說(shuō),大型數(shù)組很快就變得十分“奢侈”。由100個(gè)32字節(jié)元素?cái)?shù)組可消耗Virtex-II 1000 FPGA中超過(guò)30%的觸發(fā)器,或者占用少于1%的嵌入式塊RAM.DSP算法通常需要追蹤整個(gè)數(shù)據(jù)塊或是復(fù)雜等式的系數(shù),而在沒(méi)有板載存儲(chǔ)器情況下,許多處理功能在FPGA芯片的硬件邏輯電路中都不適用。圖16所示為使用塊RAM讀寫存儲(chǔ)器的圖形化功能。
同樣,你也可以使用內(nèi)存塊,將一段完整周期存儲(chǔ)為數(shù)值和索引的順序表,為板載信號(hào)發(fā)生器存儲(chǔ)周期性波形數(shù)據(jù)。輸出信號(hào)的最終頻率由檢索數(shù)值的速度決定,這樣您就可用此方法動(dòng)態(tài)改變輸出頻率,而不需要輸入波形中的急劇變化。
圖16.用于先進(jìn)先出緩沖器的塊RAM功能
FPGA固有的并行執(zhí)行要求邏輯電路獨(dú)立元件可在不用時(shí)間脈沖下驅(qū)動(dòng)。在不同運(yùn)行速度下的邏輯電路之間傳遞數(shù)據(jù)是很棘手的。使用先進(jìn)先出(FIFO)緩沖器時(shí),板載存儲(chǔ)器可用來(lái)是傳輸更加平穩(wěn)。如圖16所示,用戶可以將FIFO緩沖器配置成不同大小以確保數(shù)據(jù)在FPGA芯片的非同步部件間不會(huì)丟失。表6所示為嵌入不同F(xiàn)PGA系列的用戶可設(shè)置快RAM。
表6.不同F(xiàn)PGA的記憶源
總結(jié)
隨著高端技術(shù)的發(fā)展以及新概念的深入概括,F(xiàn)PGA技術(shù)地采用將不斷增加。然而探究FPGA其中奧秘,感嘆這硅片中在方框圖間匯編出的變化,也是十分重要的。在發(fā)展階段,如果您懂得如何利用和優(yōu)化資源,比較和選擇觸發(fā)器、查找表、乘數(shù)器和塊RAM等硬件指標(biāo)是十分有幫助的。這些基本的功能塊并不是包含所有資源的完整清單,而且這篇白皮書(shū)并沒(méi)有包含對(duì)所有FPGA部件的討論。用戶可以通過(guò)下面的推薦資源,繼續(xù)學(xué)習(xí)關(guān)于FPGA和數(shù)字硬件設(shè)計(jì)的知識(shí)。
FPGA的優(yōu)勢(shì)還在于,可以利用裕量連接帶寬來(lái)靈活構(gòu)建直達(dá)各邏輯塊的數(shù)據(jù)通道和存儲(chǔ)器訪問(wèn)通路。圖1所示的可編程互連結(jié)構(gòu)提供了大量的布線帶寬。模塊與電路板可根據(jù)FPGA輸出帶寬、存儲(chǔ)器大小及延遲的需要進(jìn)行設(shè)計(jì),I/O端口可由用戶自定義。
圖1 FPGA的架構(gòu)
最后,F(xiàn)PGA架構(gòu)還擁有一個(gè)優(yōu)勢(shì),它可擴(kuò)展為更大型的邏輯塊、存儲(chǔ)器塊與DSP塊的陣列。邏輯與主緩存的大小是一起擴(kuò)展的。現(xiàn)有最大的FPGA峰值功耗為30W,其FPGA架構(gòu)有很多空間,可以在不超過(guò)現(xiàn)有數(shù)據(jù)中心功率和冷卻限制的前提下,擴(kuò)展為新的處理構(gòu)型。
盡管FPGA架構(gòu)具有許多出眾的性能,一些性能必須共同發(fā)揮作用,才能提供優(yōu)于CPU協(xié)處理的解決方案。
芯片與算法基礎(chǔ)
大部分雙精度浮點(diǎn)算法的加法與乘法操作比例大約為1:1。在FPGA中,加法運(yùn)算使用邏輯資源,乘法運(yùn)算使用DSP塊,因此FPGA的邏輯資源與DSP塊的比例必須均衡。FPGA的另一個(gè)特點(diǎn)是其可編程功率技術(shù),該技術(shù)可針對(duì)所有邏輯塊、DSP塊與存儲(chǔ)器塊進(jìn)行編程,根據(jù)設(shè)計(jì)的時(shí)序要求將其設(shè)定為高功耗或低功耗模式。
浮點(diǎn)運(yùn)算核已經(jīng)改進(jìn),可運(yùn)行于更高的時(shí)鐘速率,使用更少的DSP塊和更少的邏輯資源。采用浮點(diǎn)編譯器可減少不同浮點(diǎn)運(yùn)算核之間用于連接64位數(shù)據(jù)通路的邏輯資源。
在一次浮點(diǎn)運(yùn)算結(jié)束時(shí),合并對(duì)浮點(diǎn)運(yùn)算進(jìn)行規(guī)格化處理(定點(diǎn)格式轉(zhuǎn)換至浮點(diǎn)格式)的步驟,可以顯著減少對(duì)后續(xù)浮點(diǎn)運(yùn)算輸入的去規(guī)格化處理(浮點(diǎn)格式轉(zhuǎn)換為定點(diǎn)格式)。浮點(diǎn)運(yùn)算的數(shù)學(xué)表達(dá)式的整個(gè)數(shù)據(jù)通路可熔接在一起,這會(huì)最多減少40%的邏輯資源并使時(shí)鐘速率略有提高。
浮點(diǎn)運(yùn)算的正確組合十分重要。如果算法有許多超越運(yùn)算(求指數(shù)、求對(duì)數(shù)等),F(xiàn)PGA可配置所需要的數(shù)目。在GPGPU設(shè)計(jì)中,會(huì)增加一些硬模塊實(shí)現(xiàn)上述函數(shù),但比例比單精度浮點(diǎn)邏輯少得多。使用算法技巧、抽象硬件細(xì)節(jié)及針對(duì)個(gè)別FPGA資源的優(yōu)化都需要函數(shù)庫(kù)。
基于芯片、算法與庫(kù)基礎(chǔ),圖2的系統(tǒng)級(jí)解決方案涉及到了工具鏈、模塊/板級(jí)設(shè)計(jì)、CPU接口以及采用合作公司專門技術(shù)的由CPU至基于FPGA的加速器的數(shù)據(jù)傳輸。
圖2 FPGA加速系統(tǒng)級(jí)解決方案的基礎(chǔ)
ARM架構(gòu)是面向低預(yù)算市場(chǎng)設(shè)計(jì)的第一款RISC微處理器,基本是32位單片機(jī)的行業(yè)標(biāo)準(zhǔn),它提供一系列內(nèi)核、體系擴(kuò)展、微處理器和系統(tǒng)芯片方案,四個(gè)功能模塊可供生產(chǎn)廠商根據(jù)不同用戶的要求來(lái)配置生產(chǎn)。由于所有產(chǎn)品均采用一個(gè)通用的軟件體系,所以相同的軟件可在所有產(chǎn)品中運(yùn)行。目前ARM在手持設(shè)備市場(chǎng)占有90以上的份額,可以有效地縮短應(yīng)用程序開(kāi)發(fā)與測(cè)試的時(shí)間,也降低了研發(fā)費(fèi)用。
![]() |
DSP(digital singnal processor)是一種獨(dú)特的微處理器,有自己的完整指令系統(tǒng),是以數(shù)字信號(hào)來(lái)處理大量信息的器件。一個(gè)數(shù)字信號(hào)處理器在一塊不大的芯片內(nèi)包括有控制單元、運(yùn)算單元、各種寄存器以及一定數(shù)量的存儲(chǔ)單元等等,在其外圍還可以連接若干存儲(chǔ)器,并可以與一定數(shù)量的外部設(shè)備互相通信,有軟、硬件的全面功能,本身就是一個(gè)微型計(jì)算機(jī)。DSP采用的是哈佛設(shè)計(jì),即數(shù)據(jù)總線和地址總線分開(kāi),使程序和數(shù)據(jù)分別存儲(chǔ)在兩個(gè)分開(kāi)的空間,允許取指令和執(zhí)行指令完全重疊。也就是說(shuō)在執(zhí)行上一條指令的同時(shí)就可取出下一條指令,并進(jìn)行譯碼,這大大的提高了微處理器的速度。另外還允許在程序空間和數(shù)據(jù)空間之間進(jìn)行傳輸,因?yàn)樵黾恿似骷撵`活性。其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或1的數(shù)字信號(hào),再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬(wàn)條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過(guò)通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。由于它運(yùn)算能力很強(qiáng),速度很快,體積很小,而且采用軟件編程具有高度的靈活性,因此為從事各種復(fù)雜的應(yīng)用提供了一條有效途徑。根據(jù)數(shù)字信號(hào)處理的要求,DSP芯片一般具有如下主要特點(diǎn):
(1)在一個(gè)指令周期內(nèi)可完成一次乘法和一次加法;
(2)程序和數(shù)據(jù)空間分開(kāi),可以同時(shí)訪問(wèn)指令和數(shù)據(jù);
(3)片內(nèi)具有快速RAM,通常可通過(guò)獨(dú)立的數(shù)據(jù)總線在兩塊中同時(shí)訪問(wèn);
(4)具有低開(kāi)銷或無(wú)開(kāi)銷循環(huán)及跳轉(zhuǎn)的硬件支持;
(5)快速的中斷處理和硬件I/O支持;
(6)具有在單周期內(nèi)操作的多個(gè)硬件地址產(chǎn)生器;
(7)可以并行執(zhí)行多個(gè)操作;
(8)支持流水線操作,使取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。
當(dāng)然,與通用微處理器相比,DSP芯片的其他通用功能相對(duì)較弱些。
FPGA是英文Field Programmable Gate Array(現(xiàn)場(chǎng)可編程門陣列)的縮寫,它是在PAL、GAL、PLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,是專用集成電路(ASIC)中集成度最高的一種。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。用戶可對(duì)FPGA內(nèi)部的邏輯模塊和I/O模塊重新配置,以實(shí)現(xiàn)用戶的邏輯。它還具有靜態(tài)可重復(fù)編程和動(dòng)態(tài)在系統(tǒng)重構(gòu)的特性,使得硬件的功能可以像軟件一樣通過(guò)編程來(lái)修改。作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路,F(xiàn)PGA既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。可以毫不夸張的講,F(xiàn)PGA能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡(jiǎn)單的74電路,都可以用FPGA來(lái)實(shí)現(xiàn)。FPGA如同一張白紙或是一堆積木,工程師可以通過(guò)傳統(tǒng)的原理圖輸入法,或是硬件描述語(yǔ)言自由的設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過(guò)軟件仿真,我們可以事先驗(yàn)證設(shè)計(jì)的正確性。在PCB完成以后,還可以利用FPGA的在線修改能力,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。使用FPGA來(lái)開(kāi)發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。FPGA是由存放在片內(nèi)RAM中的程序來(lái)設(shè)置其工作狀態(tài)的,因此工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無(wú)須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。可以說(shuō),F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。目前FPGA的品種很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
ARM作為嵌入式開(kāi)發(fā)最常用的處理器,是嵌入式工程師必須掌握的一門知識(shí)。ARM體系架構(gòu)在嵌入式學(xué)院<嵌入式工程師職業(yè)培訓(xùn)班>的二期課程中將會(huì)結(jié)合嵌入式linux應(yīng)用開(kāi)發(fā)、嵌入式linux系統(tǒng)移植進(jìn)行詳細(xì)介紹,另外華清遠(yuǎn)見(jiàn)的短期培訓(xùn)業(yè)務(wù)中也分別有針對(duì)ARM、DSP、FPGA的培訓(xùn)課程。
區(qū)別是什么?:ARM具有比較強(qiáng)的事務(wù)管理功能,可以用來(lái)跑界面以及應(yīng)用程序等,其優(yōu)勢(shì)主要體現(xiàn)在控制方面,而DSP主要是用來(lái)計(jì)算的,比如進(jìn)行加密解密、調(diào)制解調(diào)等,優(yōu)勢(shì)是強(qiáng)大的數(shù)據(jù)處理能力和較高的運(yùn)行速度。FPGA可以用VHDL或verilogHDL來(lái)編程,靈活性強(qiáng),由于能夠進(jìn)行編程、除錯(cuò)、再編程和重復(fù)操作,因此可以充分地進(jìn)行設(shè)計(jì)開(kāi)發(fā)和驗(yàn)證。當(dāng)電路有少量改動(dòng)時(shí),更能顯示出FPGA的優(yōu)勢(shì),其現(xiàn)場(chǎng)編程能力可以延長(zhǎng)產(chǎn)品在市場(chǎng)上的壽命,而這種能力可以用來(lái)進(jìn)行系統(tǒng)升級(jí)或除錯(cuò)。
2 FPGA與單片機(jī)
FPGA等大規(guī)模可編程邏輯器件可以取代現(xiàn)有的全部微機(jī)接口芯片,實(shí)現(xiàn)微機(jī)系統(tǒng)中的存儲(chǔ)器、地址譯碼等多種功能。利用FPGA可以把多個(gè)微機(jī)系統(tǒng)的功能電路集成在一塊芯片上。
在功能上,單片機(jī)與FPGA有很強(qiáng)的互補(bǔ)性,單片機(jī)具有性能價(jià)格比高、功能靈活、易于人機(jī)對(duì)話以及良好的數(shù)據(jù)處理等特點(diǎn),而FPGA具有高速、高可靠性以及開(kāi)發(fā)便捷、規(guī)范等優(yōu)點(diǎn)。單片機(jī)可用總線方式和獨(dú)立方式與FPGA接口。由于其通信工作時(shí)序是純硬件行為,對(duì)于MCS-51單片機(jī),只需一條單指令就能夠完成所需讀寫時(shí)序,也就是最常用的MOV@DPTR,A和MOVA,@DPTR。另外,在FPGA中通過(guò)邏輯切換,可使單片機(jī)與SRAM或ROM接口,這種方式類似于微處理器系統(tǒng)的DMA工作方式,首先由FPGA與接口的A/D等器件進(jìn)行高速數(shù)據(jù)采樣,并將數(shù)據(jù)暫存于SRAM中,采樣結(jié)束后,通過(guò)切換,單片機(jī)可以與SRAM以總線方式進(jìn)行數(shù)據(jù)通信。
目前許多實(shí)驗(yàn)電路板都將FPGA與單片機(jī)有機(jī)地結(jié)合在一起,從而可以完成許多復(fù)雜的設(shè)計(jì)任務(wù)。通常單片機(jī)負(fù)責(zé)鍵控、顯示、計(jì)算、通信、簡(jiǎn)單控制和系統(tǒng)協(xié)調(diào),而FPGA負(fù)責(zé)高速、高精度和高穩(wěn)定性等指標(biāo)的實(shí)現(xiàn),也就是說(shuō),由單片機(jī)負(fù)責(zé)功能上的設(shè)計(jì),F(xiàn)PGA負(fù)責(zé)指標(biāo)上的設(shè)計(jì)。圖2就是一個(gè)典型的單片機(jī)與 FPGA通信的例子,通過(guò)EDA設(shè)計(jì)(原理圖或硬件描述語(yǔ)言)和單片機(jī)匯編語(yǔ)言或C語(yǔ)言的設(shè)計(jì),由PC機(jī)發(fā)命令碼給FPGA,并將FPGA系統(tǒng)上測(cè)得的頻率顯示在PC機(jī)的屏幕上。這里的單片機(jī)起的是通信橋梁作用。
FPGA+DSP的最大特點(diǎn)是結(jié)構(gòu)靈活,有很強(qiáng)的通用性,適用于模塊化設(shè)計(jì),從而能夠提高算法的效率;又由于其開(kāi)發(fā)周期較短,系統(tǒng)易于維護(hù)和擴(kuò)展,適用于實(shí)時(shí)信號(hào)處理。在實(shí)時(shí)信號(hào)處理中,低層信號(hào)預(yù)處理算法所處理的數(shù)據(jù)量大,對(duì)處理的速度要求高,但運(yùn)算結(jié)構(gòu)相對(duì)比較簡(jiǎn)單,適用于FPGA硬件實(shí)現(xiàn),這樣同時(shí)兼顧速度和靈活性。高層處理算法的特點(diǎn)是所處理的數(shù)據(jù)量較低層算法少,但算法的控制結(jié)構(gòu)復(fù)雜,適用于用運(yùn)算速度高、尋址方式靈活、通信機(jī)制強(qiáng)大的DSP 芯片來(lái)實(shí)現(xiàn)。
應(yīng)用將一些能實(shí)現(xiàn)基本數(shù)字信號(hào)處理功能的DSP模塊嵌入FPGA的芯片是數(shù)字電路設(shè)計(jì)的一個(gè)趨勢(shì)。有些公司已經(jīng)計(jì)劃把基于ASIC的微處理器或DSP 芯核與可編程邏輯陣列集成在一塊芯片上。FPGA提供的性能已經(jīng)超過(guò)1280億MAC/s(乘法累加運(yùn)算/秒),大大高于傳統(tǒng)的DSP性能。 QuickLogic公司推出的QuickDSP系列,提供了嵌入式DSP構(gòu)件塊和可編程邏輯器件。除了以前的可編程邏輯和存儲(chǔ)模塊,還包括專用的乘加模塊;這些合成的模塊可以實(shí)現(xiàn)DSP功能。
圖1 用NI LabVIEW實(shí)現(xiàn)FPGA圖形化編程
使用LabVIEW FPGA軟件和可重復(fù)配置硬件技術(shù),可創(chuàng)建高性能的控制和采集系統(tǒng)。下面舉兩個(gè)例子,有關(guān)基于FPGA技術(shù)的硬件平臺(tái)在車載測(cè)試中的應(yīng)用。
用戶解決方案1:便攜式車載數(shù)據(jù)采集系統(tǒng)
車載數(shù)據(jù)采集的信號(hào)類型包括溫度信號(hào)(熱電偶、RTD)、聲音和振動(dòng)信號(hào)(帶IEPE激勵(lì)的加速度傳感器或麥克風(fēng))、壓力和載荷信號(hào)(應(yīng)變計(jì)或稱重傳感器)、位置信號(hào)(LVDT或線性電位計(jì))、速度信號(hào)(編碼器)、控制總線信號(hào)(CAN,J1350,ODBII),以及視頻信號(hào)等。這些信號(hào)都是用于汽車性能的評(píng)價(jià)。
德國(guó)Goepel Electronic公司在面臨上述信號(hào)類型、環(huán)境條件復(fù)雜、有大量數(shù)據(jù)存儲(chǔ)要求,用于車載測(cè)試分析和在線診斷的便攜式測(cè)試設(shè)備時(shí),選擇了NI CompactRIO嵌入式控制系統(tǒng),LabVIEW FPGA模塊和LabVIEW Real-Time模塊。在很短的時(shí)間內(nèi)開(kāi)發(fā)了CARLOS (in-car logging system),加上CompactRIO平臺(tái)的低成本解決方案,從而大大節(jié)省了預(yù)算。
圖2 Goepel CARLOS 車載數(shù)據(jù)采集系統(tǒng)
CompactRIO硬件平臺(tái)(參看圖2)是一個(gè)基于FPGA技術(shù)的嵌入式系統(tǒng)。FPGA芯片是CompactRIO體系結(jié)構(gòu)的核心,直接和相應(yīng)的車載模塊相連。車載模塊可直接和車用傳感器、執(zhí)行器和網(wǎng)絡(luò)相聯(lián),并提供信號(hào)調(diào)理、隔離和汽車總線。該平臺(tái)包含一個(gè)嵌入式實(shí)時(shí)處理器,可用于獨(dú)立工作、確定性控制、車載數(shù)據(jù)記錄和分析等。CompactRIO具有小型、堅(jiān)固的機(jī)械封裝、可承受50g沖擊和-40 oC到70 oC工作溫度范圍等特點(diǎn),提供雙電壓輸入(9~35V),可直接從車上電池取電。這些都使CARLOS適用于復(fù)雜的車載測(cè)試環(huán)境和有限的測(cè)試空間。
該系統(tǒng)已成功用于實(shí)驗(yàn)室、風(fēng)洞和試驗(yàn)場(chǎng)上的汽車測(cè)試,可長(zhǎng)時(shí)間記錄數(shù)據(jù)。另外,可通過(guò)選擇相應(yīng)的車載模塊和內(nèi)置的應(yīng)用程序,實(shí)現(xiàn)不同測(cè)試的需求。比如為了實(shí)現(xiàn)冬季或夏季試驗(yàn)中發(fā)動(dòng)機(jī)熱管理系統(tǒng)的評(píng)價(jià),只需選擇溫度等信號(hào)對(duì)應(yīng)的車載模塊和已開(kāi)發(fā)好的LabVIEW應(yīng)用程序即可;同時(shí),該程序提供報(bào)警、用LabVIEW報(bào)告生成工具包實(shí)現(xiàn)數(shù)據(jù)寫入EXCEL表格、或直接寫進(jìn)數(shù)據(jù)庫(kù)、歷史數(shù)據(jù)查看等功能。此外,基于FPGA的CompcatRIO開(kāi)放試架構(gòu)允許用戶擴(kuò)展系統(tǒng)或進(jìn)一步開(kāi)發(fā)自定義的測(cè)試系統(tǒng)。
用戶解決方案2:自定義遠(yuǎn)程模塊開(kāi)發(fā)
無(wú)線通信技術(shù)已廣泛應(yīng)用于汽車在行進(jìn)中實(shí)現(xiàn)監(jiān)控狀態(tài)、精確定位或遠(yuǎn)程通信,包括GPS導(dǎo)航和精確定位、胎壓監(jiān)測(cè)等;其中,GPS在日本和歐美汽車上安裝的普及率逐年上升,在國(guó)內(nèi)也越來(lái)越受關(guān)注。
德國(guó)S.E.A. Datentechnik GmbH公司針對(duì)車載無(wú)線通信測(cè)試的需求,為了盡快將產(chǎn)品投入市場(chǎng),選擇了基于FPGA技術(shù)的CompactRIO開(kāi)放式硬件平臺(tái)和LabVIEW開(kāi)發(fā)環(huán)境。根據(jù)車載遠(yuǎn)程控制、數(shù)據(jù)采集、位置跟蹤等應(yīng)用需求開(kāi)發(fā)了cRIO GPRS(General Packet Radio Service)、 cRIO GPS(Global Positioning System)、cRIO RCC(Radio Controlled Clock)和一個(gè)混合模塊cRIO Gxxx,如圖3所示。最終,整個(gè)項(xiàng)目的開(kāi)發(fā)時(shí)間比原計(jì)劃提前了40%。
圖3 S.E.A. Datentechnik遠(yuǎn)程模塊
GPS模塊通過(guò)接收L1波段的GPS信號(hào)實(shí)現(xiàn)精確的定位。接收機(jī)可以在啟動(dòng)之后將數(shù)據(jù)轉(zhuǎn)換成NMEA 0183格式,以便進(jìn)一步分析。備份電池可以保證接受機(jī)的記憶功能,存儲(chǔ)以前的信息,比如位置數(shù)據(jù)。該模塊可用于汽車導(dǎo)航、精確定位。GPRS模塊通過(guò)GSM/GPRS公網(wǎng)進(jìn)行測(cè)量數(shù)據(jù)和事件消息傳輸,同時(shí)使用SIM卡讀卡器接入GSM/GPRS網(wǎng)絡(luò),以短信方式手法數(shù)據(jù),可應(yīng)用汽車防盜系統(tǒng)。RCC模塊用于分布式系統(tǒng)的時(shí)間同步;混合模塊則集合了以上功能。在車載應(yīng)用時(shí),CompactRIO嵌入式系統(tǒng)的高度可靠性得以充分體現(xiàn)。
這些模塊除用于車載測(cè)試外,還可廣泛應(yīng)用于ATM終端、工業(yè)和醫(yī)療遠(yuǎn)程系統(tǒng)、遠(yuǎn)程診斷等。
總結(jié)
FPGA技術(shù)帶來(lái)了車載測(cè)試技術(shù)的創(chuàng)新,憑借開(kāi)發(fā)基于FPGA硬件的單個(gè)系統(tǒng)可以解決不同的車載測(cè)試應(yīng)用,而無(wú)需多個(gè)定制的測(cè)試設(shè)備。圖形化FPGA編程則進(jìn)一步縮短開(kāi)發(fā)時(shí)間。NI CompactRIO是基于FPGA的硬件平臺(tái)之一,用戶可以開(kāi)發(fā)適用于涉及汽車總線、不同信號(hào)類型的車載測(cè)試應(yīng)用,甚至可以自己定制開(kāi)發(fā)模塊實(shí)現(xiàn)特定的車載測(cè)試功能。
QUOTE:
我估計(jì)得幾萬(wàn)美刀吧?我知道中國(guó)很多軍用fpga都是直接又商用芯片,直接拿去測(cè)試,只要能達(dá)到軍品標(biāo)準(zhǔn)的,就是“軍品”。QUOTE:
呵呵,是,幾萬(wàn)美元一片!一方面是因?yàn)槟愀举I不到,所以就貴;另一方面就象你說(shuō)的,得挑,那可是千里挑一、萬(wàn)里挑一啊;從商業(yè)級(jí)和工業(yè)級(jí)的芯片里去挑軍品級(jí)的,呵呵,你可以想像是怎樣的一個(gè)浪費(fèi)哦。QUOTE: