




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
51/51FPGA應(yīng)用文章DSP+FPGA實時信號處理系統(tǒng)
摘要:簡要敘述了常用的信號處理系統(tǒng)的類型與處理機結(jié)構(gòu),介紹了正逐步得到廣泛應(yīng)用的DSP+FPGA處理機結(jié)構(gòu),在此基礎(chǔ)上提出了一種實時信號處理的線性流水陣列,并舉例說明了該結(jié)構(gòu)的具體實現(xiàn),最后分析說明了此結(jié)構(gòu)的優(yōu)越性。
關(guān)鍵詞:實時信號處理處理機結(jié)構(gòu)線性流水陣列
實時信號處理系統(tǒng)要求必須具有處理大數(shù)據(jù)量的能力,以保證系統(tǒng)的實時性;其次對系統(tǒng)的體積、功耗、穩(wěn)定性等也有較嚴(yán)格的要求。實時信號處理算法中經(jīng)常用到對圖象的求和、求差運算,二維梯度運算,圖象分割及區(qū)域特征提取等不同層次、不同種類的處理。其中有的運算本身結(jié)構(gòu)比較簡單,但是數(shù)據(jù)量大,計算速度要求高;有些處理對速度并沒有特殊的要求,但計算方式和控制結(jié)構(gòu)比較復(fù)雜,難以用純硬件實現(xiàn)。因此,實時信號處理系統(tǒng)是對運算速度要求高、運算種類多的綜合性信息處理系統(tǒng)。
1信號處理系統(tǒng)的類型與常用處理機結(jié)構(gòu)
根據(jù)信號處理系統(tǒng)在構(gòu)成、處理能力以及計算問題到硬件結(jié)構(gòu)映射方法的不同,將現(xiàn)代信號處理系統(tǒng)分為三大類:
·指令集結(jié)構(gòu)(ISA)系統(tǒng)。在由各種微處理器、DSP處理器或?qū)S弥噶罴幚砥鞯冉M成的信號處理系統(tǒng)中,都需要通過系統(tǒng)中的處理器所提供的指令系統(tǒng)(或微代碼)來描述各種算法,并在指令部件的控制下完成對各種可計算問題的求解。
·硬連線結(jié)構(gòu)系統(tǒng)。主要是指由專用集成電路(ASIC)構(gòu)成的系統(tǒng),其根本特征是功能固定、通常用于完成特定的算法,這種系統(tǒng)適合于實現(xiàn)功能固定和數(shù)據(jù)結(jié)構(gòu)明確的計算問題。缺乏之處主要在于:設(shè)計周期長、本錢高,且沒有可編程性,可擴展性差。
·可重構(gòu)系統(tǒng)。根本特征是系統(tǒng)中有一個或多個可重構(gòu)器件(如FPGA),可重構(gòu)處理器之間或可重構(gòu)處理器與ISA結(jié)構(gòu)處理器之間通過互連結(jié)構(gòu)構(gòu)成一個完整的計算系統(tǒng)。
從系統(tǒng)信號處理系統(tǒng)的構(gòu)成方式來看,常用的處理機結(jié)構(gòu)有下面幾種:單指令流單數(shù)據(jù)流(SISD)、單指令流多數(shù)據(jù)流(SIMD)、多指令流多數(shù)據(jù)流(MIMD)。
·SISD結(jié)構(gòu)通常由一個處理器和一個存貯器組成,它通過執(zhí)行單一的指令流對單一的數(shù)據(jù)流進行操作,指令按順序讀取,數(shù)據(jù)在每一時刻也只能讀取一個。弱點是單片處理器處理能力有限,同時,這種結(jié)構(gòu)也沒有發(fā)揮數(shù)據(jù)處理中的并行性潛力,所以在實時系統(tǒng)或高速系統(tǒng)中,很少采用SISD結(jié)構(gòu)。
·SIMD結(jié)構(gòu)系統(tǒng)由一個控制器、多個處理器、多個存貯模塊和一個互連網(wǎng)絡(luò)組成。所有“活動的〞處理器在同一時刻執(zhí)行同一條指令,但每個處理器執(zhí)行這條指令時所用的數(shù)據(jù)是從它本身的存儲模塊中讀取的。對操作種類多的算法,當(dāng)要求存取全局?jǐn)?shù)據(jù)或?qū)τ诓煌臄?shù)據(jù)要求做不同的處理時,它是無法獨立勝任的。另外,SIMD一般都要求有較多的處理單元和極高的I/O吞吐率,如果系統(tǒng)中沒有足夠多的適合SIMD處理的任務(wù),采用SIMD是不合算的。
·MIMD結(jié)構(gòu)就是通常所指的多處理機,典型的MIMD系統(tǒng)由多臺處理機、多個存儲模塊和一個互連網(wǎng)絡(luò)組成,每臺處理機執(zhí)行自己的指令,操作數(shù)也是各取各的。MIMD結(jié)構(gòu)中每個處理器都可以單獨編程,因而這種結(jié)構(gòu)的可編程能力是最強的。但由于要用大量的硬件資源解決可編程問題,硬件利用率不高。
2DSP+ASIC結(jié)構(gòu)
隨著大規(guī)??删幊唐骷拈_展,采用DSP+ASIC結(jié)構(gòu)的信號處理系統(tǒng)顯示出了其優(yōu)越性,正逐步得到重視。與通用集成電路相比,ASIC芯片具有體積小、重量輕、功耗低、可靠性高等幾個方面的優(yōu)勢,而且在大批量應(yīng)用時,可降低本錢。
現(xiàn)場可編程門陣列(FPGA)是在專用ASIC的基礎(chǔ)上開展出來的,它克服了專用ASIC不夠靈活的缺點。與其他中小規(guī)模集成電路相比,其優(yōu)點主要在于它有很強的靈活性,即其內(nèi)部的具體邏輯功能可以根據(jù)需要配置,對電路的修改和維護很方便。目前,FPGA的容量已經(jīng)跨過了百萬門級,使得FPGA成為解決系統(tǒng)級設(shè)計的重要選擇方案之一。
DSP+FPGA結(jié)構(gòu)最大的特點是結(jié)構(gòu)靈活,有較強的通用性,適于模塊化設(shè)計,從而能夠提高算法效率;同時其開發(fā)周期較短,系統(tǒng)易于維護和擴展,適合于實時信號處理。
實時信號處理系統(tǒng)中,低層的信號預(yù)處理算法處理的數(shù)據(jù)量大,對處理速度的要求高,但運算結(jié)構(gòu)相比照較簡單,適于用FPGA進行硬件實現(xiàn),這樣能同時兼顧速度及靈活性。高層處理算法的特點是所處理的數(shù)據(jù)量較低層算法少,但算法的控制結(jié)構(gòu)復(fù)雜,適于用運算速度高、尋址方式靈活、通信機制強大的DSP芯片來實現(xiàn)。
3線性流水陣列結(jié)構(gòu)
在我們的工作中,設(shè)計并實現(xiàn)了一種實時信號處理結(jié)構(gòu)。它采用模塊化設(shè)計和線性流水陣列結(jié)構(gòu)(圖1)。
這種線性流水陣列結(jié)構(gòu)具有如下特點:
·接口簡單。各處理單元(PU)之間采用統(tǒng)一的外部接口。
·易于擴充和維護。各個PU的內(nèi)部結(jié)構(gòu)完全相同,而且外部接口統(tǒng)一,所以系統(tǒng)很容易根據(jù)需要進行硬件的配置和擴充。當(dāng)某個模塊出現(xiàn)故障時,也易于更換。
·處理模塊的標(biāo)準(zhǔn)結(jié)構(gòu)能夠支持多種處理模式,可以適應(yīng)不同的處理算法。
每個PU的核心由DSP芯片和可重構(gòu)器件FPGA組成,另外還包括一些外圍的輔助電路,如存儲器、先進先出(FIFO)器件及FLASHROM等(圖2)??芍貥?gòu)器件電路與DSP處理器相連,利用DSP處理器強大的I/O功能實現(xiàn)單元電路內(nèi)部和各個單元之間的通信。從DSP的角度來看,可重構(gòu)器件FPGA相當(dāng)于它的宏功能協(xié)處理器(Co-processor)。
PU中的其他電路輔助核心電路進行工作。DSP和FPGA各自帶有RAM,用于存放處理過程所需要的數(shù)據(jù)及中間結(jié)果。FLASHROM中存儲了DSP的執(zhí)行程序和FPGA的配置數(shù)據(jù)。先進先出(FIFO)器件則用于實現(xiàn)信號處理中常用到的一些操作,如延時線、順序存儲等。
每個PU單獨做成一塊PCB,各級PU之間通過插座與底板相連。底板的結(jié)構(gòu)很簡單,主要由幾個串連的插座構(gòu)成,其作用是向各個PU提供通信通道和電源供給。可以根據(jù)需要安排底板上插座的個數(shù),組成多級線性陣列結(jié)構(gòu)。這種模塊化設(shè)計的突出優(yōu)點在于,它使得對系統(tǒng)的功能擴充和維護變得非常簡單。需要時,只要插上或更換PU電路板,就可以實現(xiàn)系統(tǒng)的擴展和故障的排除。每一級PU中的DSP都有通信端口與前級和后級PU電路板相連,可以很方便地控制和協(xié)調(diào)它們之間的工作。
4應(yīng)用實例
我們應(yīng)用上述線性流水陣列結(jié)構(gòu)實現(xiàn)了一個實時目標(biāo)檢測系統(tǒng),該系統(tǒng)的任務(wù)主要是接收攝像頭輸出的灰度圖象,經(jīng)預(yù)處理、編碼、直線擬合和目標(biāo)識別后,輸出結(jié)果到PC機顯示。在這個任務(wù)中,預(yù)處理模塊包括抽樣、卷積和編碼等步驟,屬于低層的處理,其運算數(shù)據(jù)量大,但運算結(jié)構(gòu)較規(guī)則,適于用FPGA進行純硬件實現(xiàn);而直線擬合及目標(biāo)識別等高層圖象處理算法,所處理的數(shù)據(jù)量相對較少,但要用到多種數(shù)據(jù)結(jié)構(gòu),其控制也復(fù)雜得多,我們用DSP編程來實現(xiàn)。
重構(gòu)處理模塊采用的是Xilinx公司的XC5200系列FPGA芯片。這是一種基于SRAM的現(xiàn)場可編程門陣列。表1給出了XC5200系列FPGA的一些參數(shù)。
表1XC5200系列FPGA的一些參數(shù)器件XC5204XC5206XC5210XC5215邏輯單元48078412961936最大邏輯門6000100001600023000多功能塊10×1214×1418×1822×22CLB120196324484觸發(fā)器48078412961936I/O124148196244
XC5200系列FPGA邏輯功能的實現(xiàn)由內(nèi)部規(guī)則排列的邏輯單元陣列(LCA)來完成,它是FPGA的主要局部。LCA的核心是可重構(gòu)邏輯塊(CLB),四周是一些輸入/輸出塊(IOB)。CLB和IOB之間通過片內(nèi)的布線資源相連接。LCA由配置代碼驅(qū)動,CLB和IOB的具體邏輯功能及它們的互聯(lián)關(guān)系由配置數(shù)據(jù)決定。整個FPGA模塊的設(shè)計實現(xiàn)在Xilinx公司的Foundation2.1i開發(fā)平臺上完成。該系統(tǒng)支持設(shè)計輸入、邏輯仿真、設(shè)計實現(xiàn)(設(shè)計綜合)和時序仿真等系統(tǒng)開發(fā)全過程。
在選用DSP芯片時,主要應(yīng)考慮性能能否滿足快速判讀算法的要求,具體說就是要求選擇那些指令周期短、數(shù)據(jù)吞吐率高、通信能力強、指令集功能完備的處理器,同時也要兼顧功耗和開發(fā)支持環(huán)境等因素。表2列出了一些常用微處理器的性能參數(shù)。
我們選擇的是應(yīng)用廣泛、性價比較高的TMS320C40芯片。它是美國TI公司推出的為滿足并行處理需求的32位浮點DSP。主要特性如下:
表2常用微處理器對照表處理器類型DSP(Motorola)ADSPTMS3209600256156210202101C30C40C50字長/bit32163216323216指令周期/ns505050603325501024浮點FFT時間/ms1.042.330.962.072.361.933.42
·外部時鐘40MHz,內(nèi)部時鐘20MHz,所有指令均單周期完成,處理器內(nèi)部采用高度并行機制,可同時進行多達11項各類操作。
·兩套相同的外部數(shù)據(jù)、地址總線,支持局部存儲器和全局共享存儲器。
·6個高速并行通信口,采用異步傳輸方式,最大速率可達20Mb/s。通過令牌傳遞可靈活實現(xiàn)數(shù)據(jù)雙向傳輸,這種結(jié)構(gòu)很適合C40之間的互連。
·6個DMA通道,每個通道的最大速率可達20Mb/s。DMA內(nèi)部總線與CPU的地址、數(shù)據(jù)、指令總線完全分開,避開了總線使用上的瓶頸。
從結(jié)構(gòu)和功能上看,C40很適合與可重構(gòu)器件互相配合起來構(gòu)成高速、高精度的實時信息處理系統(tǒng),并完全可以勝任圖像信息的實時處理任務(wù);此外,C40的開發(fā)系統(tǒng)也比較完備,支持C語言和匯編語言編程,能夠方便地進行算法移植和軟/硬件的協(xié)同設(shè)計。
衡量系統(tǒng)的整體性能不僅要看所使用的器件和所能完成的功能,還要看器件之間采用怎樣的互連結(jié)構(gòu)。XC5200可以完成模塊級的任務(wù),起到DSP的協(xié)處理器的作用。它的可編程性使它既具有專用集成電路的速度,又具有很高的靈活性。C40內(nèi)部結(jié)構(gòu)的主要優(yōu)勢是:所有指令的執(zhí)行時間都是單周期,指令采用流水線,內(nèi)部的數(shù)據(jù)、地址、指令及DMA總線分開,有較多的存放器。這些特征使它有較高的處理速度。FPGA具有硬件的高速性,而C40具有軟件的靈活性,從器件上考察,能夠滿足處理復(fù)雜算法的要求。同時,C40的6個通信口和6個DMA通道使其能夠在不被中斷的情況下比較沉著地應(yīng)付與外界大量的數(shù)據(jù)交換。
從PU內(nèi)部互連來看,C40使用了專用的通信口完成與FPGA的互連,能夠保證在任何情況下FPGA與C40的數(shù)據(jù)通道的暢通。另外,FPGA和C40各自都有輸入端口,使得系統(tǒng)的處理結(jié)構(gòu)多樣化。比方,FPGA可以作為處理流程中的一個模塊,獨立完成某項功能,也可以作為C40的協(xié)處理器,通過C40的調(diào)用來完成特定的子函數(shù)。底板將互連性延伸到PU之間,使得多個電路板能夠組成多處理機系統(tǒng)。前級的C40既可以與下一級的C40通信,也可以將數(shù)據(jù)發(fā)送到下一級的FPGA。
綜上所述,本文提出的基于DSP+FPGA的線性流水陣列結(jié)構(gòu),為設(shè)計中如何處理軟硬件的關(guān)系提供了一個較好的解決方案。同時,該系統(tǒng)具有靈活的處理結(jié)構(gòu),對不同結(jié)構(gòu)的算法都有較強的適應(yīng)能力,尤其適合實時信號處理任務(wù)。在測控系統(tǒng)中用IP核實現(xiàn)D/A轉(zhuǎn)換
摘要:采用數(shù)字化技術(shù)、在測控系統(tǒng)中用IP核實現(xiàn)D/A轉(zhuǎn)換,并且在1片可編程邏輯器件中實現(xiàn)。它不受溫度的影響,既可保持高分辨率,又可降低對電路精度和穩(wěn)定度的要求,并減少元件的數(shù)量。
關(guān)鍵詞:IPD/AVHDL可編程邏輯器件在各類電子系統(tǒng)中,數(shù)字電路所占比重越來越大。這主要是因為數(shù)字電路相對于模擬電路有一些突出的優(yōu)點,例如:*數(shù)字電路中的有源器件工作在飽和區(qū)與截止區(qū),工作狀態(tài)穩(wěn)定;*數(shù)字電路處理的是二值信號,易于存儲和再生;*數(shù)字電路是由大量相同的根本單元,如門、觸發(fā)器等所組成,易于大規(guī)模集成,易于自動化設(shè)計工具的應(yīng)用等。由于數(shù)字電路的以上特點,再加上數(shù)字計算機和數(shù)字信號處理技術(shù)的迅速開展,使得數(shù)字電路從集成規(guī)模、應(yīng)用范圍及設(shè)計自動化程度等方面大大超過了模擬電路,越來越多的由模擬電路實現(xiàn)的功能轉(zhuǎn)由數(shù)字電路實現(xiàn),進入了電子系統(tǒng)數(shù)字化的時代。在測控系統(tǒng)采用數(shù)字化技術(shù),將原來由模擬電路實現(xiàn)的D/A由數(shù)字電路實現(xiàn)。1IP核介紹IP(知識產(chǎn)權(quán))核將一些在數(shù)字電路中常用,但比較復(fù)雜的功能塊,如FIR濾波器、SDRAM控制器、PCI接口等設(shè)計成可修改參數(shù)的模塊。IP核的重用是設(shè)計人員贏得迅速上市時間的主要策略。隨著CPLD/FPGA的規(guī)模越來越大,設(shè)計越來越復(fù)雜(IC的復(fù)雜度以每年55%的速率遞增,而設(shè)計能力每年僅提高21%),設(shè)計者的主要任務(wù)是在規(guī)定的時間周期內(nèi)完成復(fù)雜的設(shè)計。調(diào)用IP核能防止重復(fù)勞動,大大減輕工程師的負擔(dān),因此使用IP核是一個開展趨勢。IP核包括硬IP與軟IP。可配置IP是參數(shù)化后的可重定目標(biāo)IP,其優(yōu)點是可以對功能加以裁剪,以符合特定的應(yīng)用。這些參數(shù)包括總線寬度、存儲器容量、使能或禁止功能塊。硬IP最大的優(yōu)點是確保性能,如速度、功耗等。然而,硬IP難以轉(zhuǎn)移到新工藝或集成到新結(jié)構(gòu)中,是不可重配置的。軟IP是以綜合形式交付的,因而必須在目標(biāo)工藝中實現(xiàn),并由系統(tǒng)設(shè)計者驗證。其優(yōu)點是源代碼靈活,可重定目標(biāo)于多種制作工藝,在新功能級中重新配置。不過目前大多數(shù)庫是收費的,但也可以從網(wǎng)上下載一些免費的IP核。2用IP核實現(xiàn)的D/A轉(zhuǎn)換器的功能及特點數(shù)字到模擬轉(zhuǎn)換器(DACs)將一個二進制數(shù)轉(zhuǎn)換為與之對應(yīng)的電壓值,目前常用的D/A轉(zhuǎn)換器都是由電阻或電容加權(quán)網(wǎng)絡(luò)、受碼元控制的開關(guān)和基準(zhǔn)電壓或電流源組成。當(dāng)D/A轉(zhuǎn)換器需要轉(zhuǎn)換的信號每次取樣字長很長時,對這些電路的精度要求很高,并且還必須在整個溫度范圍和整個使用壽命期間內(nèi)保持電路參數(shù)的穩(wěn)定。例如,一個16位的D/A轉(zhuǎn)換器,其MSB的精度必須在1/216以內(nèi),這是很困難的。所以,需尋求一種中保持高分辨率又可降低對電路精度和穩(wěn)定度要求的方法??删C合的Delta-SigmaDAC(術(shù)語Delta-Sigma分別指算術(shù)差與和,即Δ-∑DAC),是Xilinx公司提供的免費IP核,可從網(wǎng)上下載得到。Delta-SigmaDAC使用數(shù)字技術(shù),因而它不溫度的影響,并且能在一片可編程邏輯器件中實現(xiàn)。防止在D/A轉(zhuǎn)換器中使用匹配電阻,不僅能更廉價,而且,其轉(zhuǎn)換是線性的。Delta-SigmaDAC實際上是高速單個位的DAC,用數(shù)字反應(yīng)技術(shù),在輸出端產(chǎn)生一串脈沖。脈沖串中信號為高電平的時間局部與二進制輸入成比例,當(dāng)這個脈沖串通過一個模擬低通濾波器后就得到一個模擬輸出信號。圖1是一個典型的可編程邏輯器件實現(xiàn)的DAC的頂層電路圖,輸入信號有復(fù)位信號、時鐘信號以及二進制數(shù)據(jù)總線。輸出DACoutDrvr驅(qū)動一個外部的低通濾波器Vout能從0V~Vcco。這里Vcco是FPGAI/O塊的供電電壓。輸入/輸出詳細說明如表1所列。
表1輸入輸出描述表信
號方
向描
述DACOUT輸出驅(qū)動外部低通濾波器的脈沖串(通過一個輸出驅(qū)動器)DACIN輸入數(shù)字輸入總線,值必須設(shè)置成鐘的正沿clk輸入正沿有效Reset輸入復(fù)位信號初始化SigmaLatch和輸出D觸發(fā)器
DAC的二進制輸入是一個無符號數(shù)?!?”代表最低電壓,輸出的模擬電壓也只有正的?!?”輸入產(chǎn)生0V輸出,輸入端全“1”,則輸出近似到達Vcco。圖2是Delta-SigmaDAC的原理框圖,二進制輸入的位寬是可變的。為簡單起見,電路原理圖描述了一個8位二進制輸入的DAC。在這個器件中,二進制加法器用來產(chǎn)生和,也用來產(chǎn)生差。盡管DeltaAdder的輸入是無符號數(shù),兩個加法器的輸出卻都是有符號數(shù)。DeltaAdder計算DAC輸入和當(dāng)前DAC輸出的差,并用一個二進制數(shù)表示。因為DAC的輸出是一個單個的位,因此它不是1就是0。如圖2所示,當(dāng)輸入加上由SigmaLatch的輸出的兩個拷貝與0構(gòu)成的10位數(shù),就產(chǎn)生差值,這也補償了DACIN是無符號數(shù)的事實。SigmaAdder將它原來的輸出(保存在SigmaLatch中)與當(dāng)前的DeltaAdder的輸出相加。圖1中輸出電壓與輸入電壓的關(guān)系為VOUT=(DACIN/(2MSBI+1))×VCCO式中單位為V。例如,對于一個8位DAC(MSBI=7),最后的輸出是這樣:DACIN輸入是0,則輸出也是0;DACIN輸入是十六進制數(shù)FF時,輸出值為最大(255/256)×Vcco。阻容低通濾波器適合多數(shù)應(yīng)用需要,一個簡單的阻容低通濾波器就能工作得很好。Vs的定義是:DAC輸入增加或減少時,在Vout端產(chǎn)生變化的絕對值。對一個8位DAC,Vs等于(1/256)×Vcco。Vout能夠產(chǎn)生在0V~Vcco之間可變的電壓,具體的值由DACIN的位寬和輸入的數(shù)值決定。Delta-SigmaDAC適合需要相對高精度的低頻應(yīng)用。在這種應(yīng)用中,電壓不會很快地變化,因此,RC的時間常數(shù)可以很大,以減小噪聲。這種DAC最廣泛的應(yīng)用就是產(chǎn)生通常直流電壓。這包括電壓控制振蕩器、電壓控制運算放大器、I/O參數(shù)電壓、可編程電壓源、波形發(fā)生器(正弦、三角等)、A/D轉(zhuǎn)換中的參考電壓等。Delta-SigmaDAC是一個例子,說明高速可編程邏輯器件能用于混合信號系統(tǒng),以減少元件的數(shù)量??删幊踢壿嬈骷乃俣群兔芏仁顾鼈兂蔀槟M信號產(chǎn)生和處理方面理想的元件。
3用VHDL語言編寫的程序libraryieee;useieeestd_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitydac_dsisport(reset:instd_logic;clk:instd_logic;din:instd_logic_vector(7downto0);--Signedintegerdout:outstd_logic;);enddac_ds;architecturearch_dac_dsofdac_dsissignalerror:std_logic_vector(9downto0);--Erroraccumulatoris2bitslargerconstantzeros:std_logic_vector(7downto0):=(others=>'0');beginprocess(reset,clk,din)variableval:std_logic_vector(9downto0);beginifreset='1'thenerror<=(others=>'0');dout<='0';elsifclk'eventandclk='1'then--val:=din+error;dinissignextendedtonbits+2val:=(din(din'high)&din(din'high)&din)+error;ifval(val'high)='0'thendout<='1';error<=val+("11"&zeros);elsedout<='0';error<=val+("01"&zeros);endif;endif;endprocess;endarch_dac_ds;4芯片的選擇和配置選擇MAX7000S系列可編程邏輯器件,編譯后由MAX+PLUSII軟件自動配置進EMP7032SLC44芯片,將生成的目標(biāo)文件通過編程電纜對器件進行編程。將該IP核實現(xiàn)的D/A轉(zhuǎn)換器用于新型智能電阻爐溫度控制儀中,因為調(diào)節(jié)爐溫的信號不要求變化很快,因此DAC的輸入二進制信號為緩變信號。對于這種低頻應(yīng)用,可以將RC時間常數(shù)取得較大,以減小噪聲。這樣,可綜合的VHDL語言Delta-SigmaDAC模塊配置進EMP7032芯片后,到達了預(yù)期的效果?;贔PGA的USB2.0控制器設(shè)計摘要:介紹了一種用VHDL設(shè)計USB2.0功能控制器的方法,詳術(shù)了其原理和設(shè)計思想,并在FPGA上予以實現(xiàn)。關(guān)鍵詞:USBVHDLFPGA在視頻存儲和圖像寬帶著域中,經(jīng)常遇到實時高速數(shù)據(jù)傳輸?shù)囊蟆?000年4月,由Intel、Microsoft、NEC、Compaq、Lucent、Phillips等公司共同制訂的USB2.0(UniversalSerialBus)傳輸協(xié)議,其速度遠遠超過了目前使用IEEE1394接口進行視頻傳輸?shù)?00Mbps,到達了480Mbps;而且具有即插即用的PnP(PlugAndPlay)、可進行菊花鏈?zhǔn)降募壜?lián)(通過USBHUB進行外圍擴展)、可串連多達127個USB設(shè)備等優(yōu)點。應(yīng)用該協(xié)議可支持實時語音、音頻和視頻數(shù)據(jù)的傳輸。本文針對高速數(shù)據(jù)傳輸需求,根據(jù)USB2.0的協(xié)議標(biāo)準(zhǔn),利用VHDL語言實現(xiàn)符合該協(xié)議的功能控制器,在視頻壓解系統(tǒng)中使數(shù)據(jù)在PC與外設(shè)之間高速傳輸。如圖1所示由視頻A/D采集的原始視頻數(shù)據(jù),在Philips公司生產(chǎn)的TM1300專用視頻處理器中壓縮后,通過USB控制器送至PC機。PC機的整個通過USB控制器傳輸?shù)絋M1300,解壓后發(fā)送至視頻D/A。1控制器結(jié)構(gòu)原理USB2.0控制器結(jié)構(gòu)框圖如圖2所示??刂破髦饕蓛蓚€局部組成,其一為與外設(shè)的接口,另一個是內(nèi)部協(xié)議層邏輯PL(ProtocolLayer)。內(nèi)部存儲器仲裁器實現(xiàn)對內(nèi)部DMA和外部總線對存儲器訪問之間的仲裁。PL則實現(xiàn)USB的數(shù)據(jù)I/O和控制。接口有三種:一種是與微控制器之間的功能接口;一種是與單口同步靜態(tài)存儲器(SSRAM)之間的接口;另外一種是與物理層之間的接口。這里符合UTMI(USBTransceiverMacrocellInterface)標(biāo)準(zhǔn)定義。2控制器實現(xiàn)控制器接口的信號框圖如圖3所示。存儲器采用標(biāo)準(zhǔn)的單口SRAM,其信號接口由32位數(shù)據(jù)線SRAM_DATA、15位地址線SRAM_ADDR及讀寫信號(SRAM_WE和SRAM_RD)組成,系統(tǒng)所需SRAM的容量為215×32bit=128KB。而與微控制器之間的接口信號包括32位數(shù)據(jù)線DATA、18位地址線ADDR以及DMA請求和響應(yīng)信號(DMA_REQ和DMA_ACK)。由于要支持到128KB,需要17位地址線,另外還需要一根地址線來選通SSRAM和USB控制器內(nèi)部的存放器,總共需要18根地址線addr[17:0]。定義如下:USB_RF_SEL<=!addr[17];USB_MEM_SEL<=addr[17];第18位地址addr[17]為高時選擇緩沖存儲器,否則選擇內(nèi)部存放器。地址addr[16:2]直接用于存儲器SSRAM的地址。2.1UTMI接口UTMI接口信號包括:與發(fā)送數(shù)據(jù)相關(guān)的信號(TxValid、TxReady等),與接收數(shù)據(jù)相關(guān)的信號(RxActive、RxValid、RxError等)以及16位雙向數(shù)據(jù)線。在物理層,該控制器需要一個外部的USB收發(fā)器(Transceiver),本文采用的是Philips公司的ISP1501芯片。該芯片用作USB2.0的模擬前端,從USB電纜來的差分信號進行反轉(zhuǎn)不歸零碼(NRZI)解碼和位解填充轉(zhuǎn)換成16位并行數(shù)據(jù);反之,16位并行數(shù)據(jù)通過一個差分驅(qū)動電路經(jīng)過串行化、位填充和NRZI編碼輸出到USB電纜上。ISP1501通過管腳MODE0和MODE1決定收發(fā)器的工作模式,共有4種工作模式:MODE[1:0]為“00〞時,收發(fā)器處于斷開狀態(tài);為“01〞時處于全速(FullSpeed)模式(此時USB帶寬為12Mb/s);為“10〞時是高速(HighSpeed)模式(此時USB最大帶寬是480Mb/s);為“11〞時是HSchirp模式。UTMI接口通過譯碼MODE[1:0]來控制ISP1501在HS和FS之間轉(zhuǎn)變。Ifmode_hs='1'thenMODE<='10'Elsifmode_hs='0'thenMODE<='01'Endif;2.2協(xié)議層控制器的核心邏輯位于PL(ProtoclLayer)模塊,負責(zé)管理所有USB數(shù)據(jù)I/O和控制通信,其結(jié)構(gòu)如圖4所示。DMA和存儲器接口提供隨機存儲器訪問和DMA操作。該模塊使PL和外部微控制器采用DMA方式訪問SSRAM。當(dāng)外部總線有訪問SRAM的請求時,且PL沒有請求訪問存儲器,控制邏輯如下:req、ack分別對應(yīng)外部總線和存儲器之間的請求和響應(yīng)信號,din、addr和we分別是外部總線給出的數(shù)據(jù)、地址和寫信號,mreq是內(nèi)部DMA向存儲器發(fā)送的請求信號,mdin、maddr和mwe分別是內(nèi)部DMA給出的數(shù)據(jù)、地址和寫信號。sel<=(reqORack_r)AND(NOTmreq);ifsel='1'thensram_out<=din;sram_adr<=addr;sram_we<=reqANDwe;elsesram_out<=mdin;sram_adr<=maddr;sram_we<=mwe;endif;由控制邏輯可看出,內(nèi)部DMA操作的優(yōu)先級比外部總線高。協(xié)議引擎(ProtocolEngine)處理所有標(biāo)準(zhǔn)的USB握手信號和控制通信。分組組裝器組裝分組并送入輸出FIFO,先組裝分組頭,插入適當(dāng)?shù)腜ID(分組標(biāo)識)和校驗和,然后參加數(shù)據(jù)域。分組拆裝器先解碼出PID和序列號以及校驗和,再從8位PID取低4位(或高4位取反)得到PID[3:0],通過USB2.0協(xié)議的PID類型定義譯碼出PID名,判斷是Token分組(OUT、IN、SOF和SETUP)還是DATA分組(DATA0、DATA1、DATA2和MDATA)。Pid_Token<=pid_OUTORpid_INORpid_SOFORpid_SETUP;Pid_DATA<=pid_DATAORpid_DATA1ORpid_DATA2ORpid_MDATA;如果是Token分組(格式定義如圖5所示),則將后續(xù)的16bit數(shù)據(jù)分別放入兩個8bit臨時Token存放器token0和token1,然后取出分組中的7位地址、4位端點號及5位CRC校驗碼。Token_fadr<=token0[6:0];Token_endp<=token1[2:0]&token0[7];Token_crc5<=token1[7:3];對于特殊的Token須進行特殊的處理,本文實現(xiàn)的控制器只對SOF這一特殊Token進行操作,解出PID后的11位幀號及5位CRC5校驗碼。Frame_no<=token1[2:0]&token0;Token_crc5<=token1[7:3];檢驗校驗碼是否出錯,如果出錯等待下一個Token,否則將地址、端點號和幀號等放入相應(yīng)存放器。Token類型如果是IN,則執(zhí)行組裝分組并發(fā)送寄分組;如果是OUT則拆卸接收到的數(shù)據(jù)分組。對于其他不支持的Token則視為錯誤處理:Pid_ERROR<=pid_ACKORpid_NACKORpid_STALLORpid_NYETORpid_PREORpid_ERRORpid_SPLITORpid_PING;如果出錯則不進行Token的解碼,而等待下一個Token的到來。如果是DATA分組,則緊接著PID的是最大載荷為1024字節(jié)的數(shù)據(jù)和16位CRC16校驗碼。對數(shù)據(jù)的處理先寫入端點存放器,然后通過DMA操作寫入SSRAM。下面詳細介紹端點存放器和DMA操作2.3端點操作數(shù)據(jù)的傳輸實際上通過端點(Endpoint)進行,控制器通過寫端點的存放器來配置端點,該控制器最多可有16個端點,每個端點有相應(yīng)的4個存放器:Epn_CSR、Epn_INT、Epn_BUF0和Epn_BUF1(這里n=0、1、2或3),其格式如圖6所示。本文使用addr[8:2]7根據(jù)地址線來訪問這些存放器,addr[8:4]用來選擇端點號,其值(16進制)從4到19分別表Epn(n=0...15)。addr[3:2]指定存放器類型:“00〞代表CSR(ControlStatusRegister);“01〞代表中斷存放器;“10〞指向Buffer0;“11〞代表Buffer1。這兩個Buffer用來作臨時數(shù)據(jù)存儲,Buffer0和Buffer1分別作為專用的輸入/輸出緩沖器來提高USB的數(shù)據(jù)吞吐能力。雙Buffer能夠減少微控制器和驅(qū)動軟件之間的延遲。其中端點的CSR存放器指定端點的工作模式并且向控制器報告指定端點的狀態(tài)。Ep_CSR[31:30]必須初始化為“00〞(最初使用Buffer0),通過讀這2位可以知道下次所要處理的緩沖器;為“01〞時,指定Buffer1。Ep_CSR[27:26]和Ep_CSR[25:24]分別指定端點類型和傳輸類型,其類型編碼參見表1。Ep_CSR[21:18]指定端點號,總共可以有16個端點。Ep_CSR[15]時DMA使能位,為“1〞時允許外部DMA操作,否則不允許DMA操作。表1類型編碼表Ep_CSR[27:26]端點類型Ep_CSR[25:24]傳輸類型00控制端點00中斷傳輸01IN端點01同步傳輸10OUT端點10塊傳輸11保存11保存
當(dāng)控制器收到中斷時,讀中斷源存放器(Ep_INT[6:0])來判斷中斷源和產(chǎn)生的原因。可自定義中斷源,如Ep_INT[2]定義為該控制器接收到不支持的PID而產(chǎn)生的中斷:Ep_INT[2]<=Pid_ERROR。Ep_INT[4]和Ep_INT[3]分別表示Buffer1和Buffer0的滿或空的狀態(tài)位。Ep_BUF[31](標(biāo)記緩沖器是否被使用過)在使用后被控制器置“1”,在清空或重填充該緩沖器后,控制器去除該位。該閏初始化時為“0”。Ep_BUF[30:17]指定緩沖器能容納的字節(jié)數(shù)。Ep_BUF[16:0]緩沖器的指針,裝載存儲器SRAM中數(shù)據(jù)的地址??刂贫它c(Endpoint0)比較特殊,由于它既要接收也要發(fā)送數(shù)據(jù),因此對于控制端點,Buffer0用于OUT緩沖器,Buffer1則是IN緩沖器。從SETUP和OUT分組來的數(shù)據(jù),寫入Buffer0,IN分組的數(shù)據(jù)則是從Buffer1中獲取。
2.4DMA操作DMA操作允許控制器與功能接口之間數(shù)據(jù)的透明傳輸。一旦設(shè)置了DMA操作,則不需要微控制器的干預(yù)。每個端點有一對DMA_REQ和DMA_ACK信號。當(dāng)CSR存放器中DMA使能信號位(Ep_CSR[15])被置位時,USB控制器使用DMA_REQ和DMA_ACK這兩個信號來進行DMA的流控制。當(dāng)緩沖區(qū)有數(shù)據(jù)或為空需要填充時發(fā)送DMA請求信號DMA_REQ,每傳輸4字節(jié),響應(yīng)一個DMA_ACK信號。由于USB2.0協(xié)議定義的事務(wù)操作以8bit為單位,因此完成一次32bit的DMA操作需要進行4次寫8bit。內(nèi)部DMA采用高效的One-hot狀態(tài)機設(shè)計方法,狀態(tài)轉(zhuǎn)換如圖7所示。當(dāng)需要將接收到的數(shù)據(jù)存儲到SRAM(rx_dma_en=1)時進入WAIT_MRD狀態(tài),在該狀態(tài)選中一個臨時數(shù)據(jù)存放器,并向存儲器發(fā)送請求信號mreq,從存儲器中預(yù)取4字節(jié)(當(dāng)接收到的數(shù)據(jù)少于4字節(jié)時,保證有4字節(jié)的數(shù)據(jù)寫入存儲器)到該存放器中,然后進入MEM_WR狀態(tài)。當(dāng)PL的分組拆裝器接收到1字節(jié)數(shù)據(jù)時,將該字節(jié)寫入臨時存儲器,轉(zhuǎn)入下一狀態(tài)MEM_WR1;當(dāng)分組拆裝器沒數(shù)據(jù)給DMA仲裁器時則進入MEM_WR2狀態(tài),在此狀態(tài)將臨時存儲器中的數(shù)據(jù)寫入SRAM,然后回到IDLE狀態(tài)。在操作過程中,使用計數(shù)器adr_cb對傳輸字節(jié)數(shù)進行計數(shù),通過addr_cb[1:0]的值標(biāo)識當(dāng)前傳輸?shù)氖?2bit中的哪個字節(jié)。計數(shù)器sizu_c每接收1字節(jié)數(shù)值加1。在需要讀取SRAM中的數(shù)據(jù)(tx_dma_en=1)時,DMA仲裁器由IDIE狀態(tài)進入MEM_RD1狀態(tài),讀取4字節(jié)數(shù)據(jù)到發(fā)送緩沖區(qū)中,然后進入狀態(tài)MEM_RD2,再讀4字節(jié)進入狀態(tài)MEM_RD3,這8字節(jié)輪流使用Buffer0和Buffer1緩沖區(qū):在需要讀取SRAM中的數(shù)據(jù)(tx_dma_en=1)時,DMA仲裁器由IDLE狀態(tài)進入MEM_RD1狀態(tài),讀取4字節(jié)數(shù)據(jù)到發(fā)送緩沖區(qū)中,然后進入狀態(tài)MEM_RD2,再讀4字節(jié)進入狀態(tài)MEM_RD3,這8字節(jié)輪流使用Buffer0和Buffer1緩沖區(qū):if((NOTadr_cb[2])ANDmackthenBuffer0<=SRAM_DATA_I;elsif(adr_cb[2]ANDmack)thenBuffer1<=SRAM_DATA_I;endif;在MEM_RD3狀態(tài)判斷是否還需要讀下一個數(shù)據(jù),如果需要再進入狀態(tài)MEM_RD2,否則在傳輸完所有字節(jié)后,返回到IDLE狀態(tài)。在發(fā)送數(shù)據(jù)過程中,使用14bit計數(shù)器sizd_c決定傳輸字節(jié)數(shù),取自Ep_BUF[30:17],每發(fā)送1字節(jié)數(shù)據(jù),它的值減1。在圖7中的各個狀態(tài)中,由于超時、CRC校驗錯誤或得到的數(shù)據(jù)發(fā)生錯誤時,PE產(chǎn)生的Abort信號會使當(dāng)前狀態(tài)都回到IDLE。文中闡述了USB2.0功能控制器的一種實現(xiàn)方案。其VHDL語言實現(xiàn)代碼,已在XILINX公司的FPGAVirtexXVV3006fg456中通過了XilinxISE的仿真、綜合及布局布線。FPGA的規(guī)模是32萬門,1536個CLB(可配置邏輯單元)。該控制模塊占用2050個Slice(66%),使用了1697個Slice觸發(fā)器(27%)和3047個4輸入LUT表(49%)。整個FPGA的速度可到達56.870MHz,完全滿足視頻數(shù)據(jù)的高速傳輸(對32bit數(shù)據(jù)操作,到達480Mb/s的速度時鐘只需15MHz)。該方案實現(xiàn)的控制器便于修改且易于實現(xiàn),可作為一個功能模塊嵌入到SOC中,可使不同情況最大限度地靈活設(shè)計片上系統(tǒng)。用FPGA器件實現(xiàn)UART核心功能的一種方法串行外設(shè)都會用到RS232-C異步串行接口,傳統(tǒng)上采用專用的集成電路即UART實現(xiàn),如TI、EXAR、EPIC的550、452等系列,但是我們一般不需要使用完整的UART的功能,而且對于多串口的設(shè)備或需要加密通訊的場合使用UART也不是最適宜的。如果設(shè)計上用到了FPGA/CPLD器件,那么就可以將所需要的UART功能集成到FPGA內(nèi)部,本人最近在用XILINX的XCS30做一個設(shè)計的時候,就使用VHDL將UADT的核心功能集成了,從而使整個設(shè)計更加緊湊,更小巧、穩(wěn)定、可靠,下面就談?wù)勗O(shè)計方法。分析UART的結(jié)構(gòu),可以看出UART主要由數(shù)據(jù)總線接口、控制邏輯和狀態(tài)接口、波特率發(fā)生器、發(fā)送和接受等局部組成,各局部間關(guān)系如圖一。了解了UART的各局部組成結(jié)構(gòu)后,下面對各局部的功能進行詳細的分析。我們假定所要設(shè)計的UART為:數(shù)據(jù)位為7位、8位可選,波特率可選,效驗方式為奇、偶、無等效驗方式,下面的分析都是在這個假定的基礎(chǔ)上進行。
一、波特率發(fā)生局部從圖一可以看出,UART的接收和發(fā)送是按照相同的波特率進行收發(fā)的(當(dāng)然也可以實現(xiàn)成對的不同波特率進行收發(fā)),波特率是可以通過CPU的總線接口設(shè)置的。UART收發(fā)的每一個數(shù)據(jù)寬度都是波特率發(fā)生器輸出的時鐘周期的16倍,即假定當(dāng)前按照9600bps進行收發(fā),那么波特率發(fā)生器輸出的時鐘頻率應(yīng)為9600*16Hz,當(dāng)然這也是可以改變的,我們只是按照UART的方法進行設(shè)計。我們假定提供的時鐘為1.8432MHz,那么可以很簡單地用CPU寫入不同的數(shù)值到波特率保持存放器,然后用計數(shù)器的方式生成所需要的各種波特率,這個值的計算原則就是1843200/(16*所期望的波特率),如果希望輸出9600Hz的波特率,那么這個值就是1843200/(16*9600)=12(0CH)。二、發(fā)送局部這里應(yīng)重點分析幾個問題:首先是何時CPU可以往發(fā)送保持存放器(THR)寫人數(shù)據(jù)?也就是說CPU要寫數(shù)據(jù)到THR時必須判一個狀態(tài),當(dāng)前是否可寫?很明顯如果不判這個條件,發(fā)送的數(shù)據(jù)會出錯,除非CPU寫入THR的頻率低于當(dāng)前傳輸?shù)牟ㄌ芈?,而這種情況是極少出現(xiàn)的。其次是CPU寫入數(shù)據(jù)到THR后,何時THR的數(shù)據(jù)傳送到發(fā)送移位存放器(TSR)并何時移位?即如何處理THR和TSR的關(guān)系?再次是數(shù)據(jù)位有7、8位兩種,校驗位有三種形式,這樣發(fā)送一個字節(jié)可能有9、10、11位三種串行長度,所以我們必須按照所設(shè)置的傳輸情況進行處理。數(shù)據(jù)位、效驗方式可以通過CPU寫一個端口來設(shè)置,發(fā)送和接受都根據(jù)這個設(shè)置進行,由于這局部很簡單,所以我就不給出程序了。根據(jù)上面的分析,引進了幾個信號:bigin1、begin2:引入兩個附加移位,目的是為送出起始位、停止位而參加串行長度。txdone7、txdone8:分別表示7、8位的結(jié)束標(biāo)志。Txdone<=txdone8when“8bit〞elsetxdone7;Paritycycle7、paritycycle8:分別表示7、8位下的校驗位。Parity<=parity8when“8bit〞elseparity7;Writerdy:為0時表示CPU不能將數(shù)據(jù)寫入THR,為1時可以寫入。這樣就可以得到以下信息:在移位時鐘的上升沿檢測到txdone和writerdy都為高電平時,進入LOAD狀態(tài)即將THR的數(shù)據(jù)LOAD到TSR,在下一個時鐘就進入移位狀態(tài)。在移位中同時進行校驗位的運算,在需要送出校驗位的時候?qū)⑦\算好的校驗位送出,txdone=1的時候?qū)⒏唠娖剿统?,其它時候移位輸出。最后還有一個小程序,那就是寫出writerdy的狀態(tài),很明顯沒數(shù)據(jù)寫入時為高,而當(dāng)txdone為低時為低,注意這里也必須同時同步。圖二給出了一個奇效驗8bit數(shù)據(jù)的發(fā)送時序圖。三、接受局部對于接收同樣存在9、10、11位三種串行數(shù)據(jù)長度的問題,必須根據(jù)所設(shè)置的情況而將數(shù)據(jù)完整地取下來。接收還有一個特別的情況,那就是它的移位的時鐘不是一直存在的,這個時鐘必須在接受到起始位的中間開始產(chǎn)生,到停止位的中間結(jié)束。接受到停止位后,必須給出中斷,并提供相應(yīng)的校驗出錯、FRAME錯以及溢出等狀態(tài)。這樣需引入hunt和idle兩個信號,其中hunt為高表示捕捉到起始位,idle為高表示不在移位狀態(tài),利用這兩個信號就可以生成接收所需要的移位時鐘。下面還有一個小程序,就是如何將接收的狀態(tài)和標(biāo)志表示出來。溢出標(biāo)志很簡單,那就是在idle從低變高,也就是說在接收到一個完整的串行序列后,去判一下當(dāng)前的中斷是否有效?(高有效,數(shù)據(jù)沒有被讀走)如果為高那么溢出,否則沒有。在移位的時候,同時對接收的數(shù)據(jù)進行校驗,這樣就可以判斷接收的數(shù)據(jù)是否有錯,在接收完成時判一下當(dāng)前的RX是否為高電平就可以知道FRAME是否有錯,圖三是一個8bit奇校驗的接收時序圖(假定接收正確,所以沒有給出校驗、溢出、幀出錯信號)??偨Y(jié):我在用FPGA做一個設(shè)計的時候,由于還有資源而且正好用到UART,所以就根據(jù)對UART的認(rèn)識進行了設(shè)計,全部用VHDL進行描述,用SPEEDWAVE進行語言級的仿真,用XILINX的F2.1進行頂層仿真,最后和PC的仿真終端進行聯(lián)機,功能一切正常,整個UART所需要的觸發(fā)器為80個左右,一般的PLD都可以完成。在測控系統(tǒng)中用IP核實現(xiàn)D/A轉(zhuǎn)換
摘要:采用數(shù)字化技術(shù)、在測控系統(tǒng)中用IP核實現(xiàn)D/A轉(zhuǎn)換,并且在1片可編程邏輯器件中實現(xiàn)。它不受溫度的影響,既可保持高分辨率,又可降低對電路精度和穩(wěn)定度的要求,并減少元件的數(shù)量。
關(guān)鍵詞:IPD/AVHDL可編程邏輯器件在各類電子系統(tǒng)中,數(shù)字電路所占比重越來越大。這主要是因為數(shù)字電路相對于模擬電路有一些突出的優(yōu)點,例如:*數(shù)字電路中的有源器件工作在飽和區(qū)與截止區(qū),工作狀態(tài)穩(wěn)定;*數(shù)字電路處理的是二值信號,易于存儲和再生;*數(shù)字電路是由大量相同的根本單元,如門、觸發(fā)器等所組成,易于大規(guī)模集成,易于自動化設(shè)計工具的應(yīng)用等。由于數(shù)字電路的以上特點,再加上數(shù)字計算機和數(shù)字信號處理技術(shù)的迅速開展,使得數(shù)字電路從集成規(guī)模、應(yīng)用范圍及設(shè)計自動化程度等方面大大超過了模擬電路,越來越多的由模擬電路實現(xiàn)的功能轉(zhuǎn)由數(shù)字電路實現(xiàn),進入了電子系統(tǒng)數(shù)字化的時代。在測控系統(tǒng)采用數(shù)字化技術(shù),將原來由模擬電路實現(xiàn)的D/A由數(shù)字電路實現(xiàn)。1IP核介紹IP(知識產(chǎn)權(quán))核將一些在數(shù)字電路中常用,但比較復(fù)雜的功能塊,如FIR濾波器、SDRAM控制器、PCI接口等設(shè)計成可修改參數(shù)的模塊。IP核的重用是設(shè)計人員贏得迅速上市時間的主要策略。隨著CPLD/FPGA的規(guī)模越來越大,設(shè)計越來越復(fù)雜(IC的復(fù)雜度以每年55%的速率遞增,而設(shè)計能力每年僅提高21%),設(shè)計者的主要任務(wù)是在規(guī)定的時間周期內(nèi)完成復(fù)雜的設(shè)計。調(diào)用IP核能防止重復(fù)勞動,大大減輕工程師的負擔(dān),因此使用IP核是一個開展趨勢。IP核包括硬IP與軟IP??膳渲肐P是參數(shù)化后的可重定目標(biāo)IP,其優(yōu)點是可以對功能加以裁剪,以符合特定的應(yīng)用。這些參數(shù)包括總線寬度、存儲器容量、使能或禁止功能塊。硬IP最大的優(yōu)點是確保性能,如速度、功耗等。然而,硬IP難以轉(zhuǎn)移到新工藝或集成到新結(jié)構(gòu)中,是不可重配置的。軟IP是以綜合形式交付的,因而必須在目標(biāo)工藝中實現(xiàn),并由系統(tǒng)設(shè)計者驗證。其優(yōu)點是源代碼靈活,可重定目標(biāo)于多種制作工藝,在新功能級中重新配置。不過目前大多數(shù)庫是收費的,但也可以從網(wǎng)上下載一些免費的IP核。2用IP核實現(xiàn)的D/A轉(zhuǎn)換器的功能及特點數(shù)字到模擬轉(zhuǎn)換器(DACs)將一個二進制數(shù)轉(zhuǎn)換為與之對應(yīng)的電壓值,目前常用的D/A轉(zhuǎn)換器都是由電阻或電容加權(quán)網(wǎng)絡(luò)、受碼元控制的開關(guān)和基準(zhǔn)電壓或電流源組成。當(dāng)D/A轉(zhuǎn)換器需要轉(zhuǎn)換的信號每次取樣字長很長時,對這些電路的精度要求很高,并且還必須在整個溫度范圍和整個使用壽命期間內(nèi)保持電路參數(shù)的穩(wěn)定。例如,一個16位的D/A轉(zhuǎn)換器,其MSB的精度必須在1/216以內(nèi),這是很困難的。所以,需尋求一種中保持高分辨率又可降低對電路精度和穩(wěn)定度要求的方法。可綜合的Delta-SigmaDAC(術(shù)語Delta-Sigma分別指算術(shù)差與和,即Δ-∑DAC),是Xilinx公司提供的免費IP核,可從網(wǎng)上下載得到。Delta-SigmaDAC使用數(shù)字技術(shù),因而它不溫度的影響,并且能在一片可編程邏輯器件中實現(xiàn)。防止在D/A轉(zhuǎn)換器中使用匹配電阻,不僅能更廉價,而且,其轉(zhuǎn)換是線性的。Delta-SigmaDAC實際上是高速單個位的DAC,用數(shù)字反應(yīng)技術(shù),在輸出端產(chǎn)生一串脈沖。脈沖串中信號為高電平的時間局部與二進制輸入成比例,當(dāng)這個脈沖串通過一個模擬低通濾波器后就得到一個模擬輸出信號。圖1是一個典型的可編程邏輯器件實現(xiàn)的DAC的頂層電路圖,輸入信號有復(fù)位信號、時鐘信號以及二進制數(shù)據(jù)總線。輸出DACoutDrvr驅(qū)動一個外部的低通濾波器Vout能從0V~Vcco。這里Vcco是FPGAI/O塊的供電電壓。輸入/輸出詳細說明如表1所列。
表1輸入輸出描述表信
號方
向描
述DACOUT輸出驅(qū)動外部低通濾波器的脈沖串(通過一個輸出驅(qū)動器)DACIN輸入數(shù)字輸入總線,值必須設(shè)置成鐘的正沿clk輸入正沿有效R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年快中子增殖堆及配套產(chǎn)品項目合作計劃書
- 2025年太陽能熱發(fā)電系統(tǒng)合作協(xié)議書
- 2025年分級設(shè)備地礦勘測設(shè)備:鉆探機合作協(xié)議書
- 可穿戴設(shè)備電池壽命測試規(guī)程
- 2025年鎂質(zhì)瓷合作協(xié)議書
- 2025年治療精神障礙藥項目合作計劃書
- 阿凡達觀后感生態(tài)與文明的思考
- 水泥混凝土路面施工合同
- 三字經(jīng)經(jīng)典解讀與傳承
- FDU-PB-22-生命科學(xué)試劑-MCE
- 消費者行為學(xué)教案-消費群體與消費者行為教案
- 創(chuàng)傷失血性休克中國急診專家共識
- 小區(qū)監(jiān)控改造方案
- 環(huán)保設(shè)備設(shè)施風(fēng)險分析評價記錄及風(fēng)險分級管控清單
- 建設(shè)施工安全風(fēng)險辨識和管控清單
- GA/T 2016-2023公安視頻圖像信息系統(tǒng)運維管理規(guī)范
- 第1課+古代亞非(教學(xué)設(shè)計)【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- 老年人誤吸的預(yù)防
- 血糖監(jiān)測(操作)課件
- 學(xué)校管理者的五堂必修課
- 2024年高三政治練習(xí)題及答案:認(rèn)識論
評論
0/150
提交評論