FPGA中的DSP核心设计.ppt
《FPGA中的DSP核心设计.ppt》由会员分享,可在线阅读,更多相关《FPGA中的DSP核心设计.ppt(56页珍藏版)》请在三一办公上搜索。
1、FPGA中的DSP核心設計,(92)德霖技術學院-2,FPGA中的DSP核心設計,應用系統規劃FPGA設計基礎DSP核心設計實驗應用示範,(92)德霖技術學院-3,SOC技術演進,(92)德霖技術學院-4,SOC技術應用,(92)德霖技術學院-5,SOC(System-On-Chip)開發平台,(92)德霖技術學院-6,硬體設計,應用系統規劃DSP核心設計微控碼設計CPU界面設計I/O界面設計,(92)德霖技術學院-7,軟體設計,組合語言基礎組合語言結構組合語言定義模組程式設計系統程式設計,(92)德霖技術學院-8,內藏式PC控制器,ZF-Linux公司的MachZ(ZFX86)1.100MH
2、z的586CPU,耗電0.5W。2.現成的BIOS碼和參數設定工具。3.外加元件極少。4.研發過程中可利用RS-232、USB及Ethernet界面連接。5.模組中併入FPGA和ADC/DAC。6.全部電路板尺寸約10cm*20cm。7.程式和資料儲存在8MB的單晶硬碟(Disk-On-Chip,簡稱DOC)中。,(92)德霖技術學院-9,FPGA電路,Xilinx公司Virtex-II系列的XC2V250:1.閘數(Gate Count)為250K,內部電源為1.5V,可允許420MHz的脈波頻率。2.邏輯閘單位為CLB,每個CLB包含四組Slice,每個Slice中都有一組D型正反器和4位
3、元 可程式邏輯。3.XC2V250中有24*16個CLB,相當於1536個Slice。4.擁有獨立的雙阜RAM,容量為18Kbit或是2Kbyte。XC2V250中共有24個雙阜RAM,容量共48KB。5.擁有硬體乘法器,為18*18=36的整數乘法器。XC2V250中共有24個硬體乘法器。6.XC2V250中最多可同時擁有16組的公用Clock,具備硬體連線。7.就繞線能力極佳,幾乎不會繞線失敗。8.擁有200個I/O點,每個I/O點都可規劃成不同型式的邏輯準位。Xilinx公司Spartan系列的XCS05XL:1.閘數(Gate Count)為5K,內部電源為3.3V,可允許80MHz的
4、脈波頻率。2.邏輯閘的單位為CLB,每個CLB包含兩組D型暫存器和4位元的可程式邏輯。3.XCS05中有10*10個CLB,相當於200組暫存器。4.最多可同時擁有4組的公用Clock,具備硬體連線。5.擁有72個I/O點,每個I/O點都可規劃成3.3V的LVTTL邏輯準位。,(92)德霖技術學院-10,內藏式DSP核心,1.不參考任何現成的設計。2.組合語言規劃以簡單、易讀為目標。3.DSP必須搭配586CPU,以即時控制為主。4.DSP和586CPU以雙阜記憶體連接。5.目標是執行32KHz的即時控制程式。功能上1.就586CPU而言,記憶體佔用ISA-bus的8KB位址,總共48KB的雙
5、阜記憶體規劃成24頁。2.就DSP而言,雙阜記憶體規劃成資料區、程式區、微碼區和堆疊區四個部分,除了微碼區為32-bit外,其他部分都是16-bit(1-word)寬度。3.不論是DSP或586CPU都不准直接控制I/O界面。所有I/O界面都以DMA方式和記憶體連接。4.外部擴接電路(包括ADC、DAC和另一顆FPGA)都是由I/O控制器透過串列界面連接。,(92)德霖技術學院-11,eMotion控制器,配置包括:ZFX86:586CPUEtherNet:網路以PCI-bus連接CPUDOC:8MB單晶硬碟。BIOS:256KB的容量。RAM插槽:插上64MB的RAM卡DSP插槽:插上內含D
6、SP核心的eM_FPGA卡ADDA插槽:插上包括ADC/DAC的eM_ADDA卡ext擴張座:3組50P的插座,可作為彈性擴張用,以處理不同的專題實驗。實驗接頭:2組26P的插座,可連接兩組的實驗模組,通常一組固定為LCD面板。,(92)德霖技術學院-12,軟體開發環境,e控制器:提供硬體控制和軟體管理等控制功能。近端PC:提供軟硬體開發過程中的開發工具和作業環境。遠端PC:提供教學和產業應用時的遠端監控功能。,(92)德霖技術學院-13,視窗操作環境,執行上採用Linux系統操作上採用視窗作業環境開機程序:1.DOC檔案解壓縮並下載到RAM中 2.檔案的讀寫或管理都在RAM中 3.DOC儲存
7、的檔案都是唯讀檔案 4.使用者程式儲存在PC端的硬碟 5.PC端在視窗環境直接處理檔案 6.光碟和印表機在視窗下處理,(92)德霖技術學院-14,程式開發環境,(92)德霖技術學院-15,即時控制環境,DSP核心部分負責即時控制程式,抽樣控制頻率可高達32KHz,完全不受Linux作業系統干擾。Linux作業系統下的586CPU,掌管主控程式和TCP/IP通訊程式,只能執行100Hz左右的抽樣控制。所謂100Hz左右,是指基本頻率是100Hz,但是多少會受到其他程式負載所影響,不能完全保證。586CPU和DSP透過雙阜記憶體共享所有的參數和變數。ISA-bus的傳訊速度限制可忽略不計。PC端應
8、用程式可執行人機圖控和TCP/IP通訊界面,執行遠距操作的功能。PC端和586CPU之間透過網路做連線。EtherNet在輕負荷下可執行100Hz的資料傳輸(200-byte左右)若是透過網際網路做遠距連線,則只能傳遞資料而不能保證傳訊速度了。,(92)德霖技術學院-16,四軸CNC控制器,PC端負責操作界面和遠端監控eMotion 控制器負責CNC的整個控制動作,即時控制負載由586CPU和DSP核心來分擔。eMotion 控制器直接整合在功率驅動級中,形成單一模組的內藏式CNC控制器。可連接工業級PC做標準型的CNC控制器,也可連接簡單的LCD面板做簡易操作型的CNC控制器。,(92)德霖
9、技術學院-17,電動機控制實驗,PC端負責Simulink的操作和監控eMotion 控制器負責單軸或多軸伺服控制動作586CPU只負責網路資料的傳遞,所有控制都以模組方式架構在DSP核心中。變頻器模式實驗(開環路電壓控制)步進馬達模式實驗(閉環路電流控制)直流馬達模式實驗(閉環路扭力控制)速度控制模式實驗位置控制模式實驗加減速控制與前置補償電流過載與PID補償效應,(92)德霖技術學院-18,FPGA電路,基本結構CLB:可程式邏輯單元,行成N*N的電路矩陣 IOB:可程式輸入輸出阜,做為外部接腳和連線,(92)德霖技術學院-19,CLB結構說明,包含三組查表結構的模組G-LUT:4點輸入的
10、可程式邏輯閘(16*1的RAM查表結構);F-LUT:4點輸入的可程式邏輯閘(16*1的RAM查表結構);H-LUT:3點輸入的可程式邏輯閘(8*1的RAM查表結構);,(92)德霖技術學院-20,D型暫存器架構,一個標準的D型暫存器,由CK來控制,可選擇上緣觸發或是下緣觸發。由EC做同步結構下的時鐘控制(D端控制型式),當不需要EC時,EC端就由VCC所取代(固定ON)。SR訊號可由設定(SD)功能或復歸(RD)功能中做二選一,但兩者不能同時存在。一旦選擇了SR功能,開機時產生的GSR(Global Set/Rest)訊號就可以自動的執行所有D型暫存器的設定或復歸工作。當SR訊號由GND取代
11、時,D型暫存器就取消了由外界設定和復歸的功能,但是開機的GSR訊號還是可以做設定或復歸的動作。process(K)-順序邏輯開始 if SR=1 then-SR做復歸控制 Q=0;-復歸為0 elsif CKevent and CK=0 then-CK做下緣觸發 if EC=1 then-EC做時鐘控制 Q=D;-D型暫存器 end if;end if;end process;-順序邏輯結束,(92)德霖技術學院-21,IOB結構說明,每一個IOB都可以同時做輸入和輸出界面。當將IOB作為輸出控制時:由T來控制三態輸出,可以自由選擇T=0時作動或是T=1時作動。所有的IO接點可以統一的用一個G
12、TS(Global Tri-State)訊號來控制三態狀況,當有緊急狀況發生時,可以瞬間的將所有接腳變成浮接狀態。輸出到接腳的O訊號,可以選擇正向或反向,也可以選擇直接輸出或是經同步處理(D型暫存器)後統一輸出。輸出浮接時,還可選擇Pull-Up或Pull-Down電阻做開集極控制。當將IOB作為輸入控制時:可選擇直接輸入或是經同步處理(D型暫存器)再輸入。當經過D型暫存器處理時,還可增加延遲電路做輕微的雜訊處理。輸入和輸出的控制可以選擇不同的時序(IK和OK)。,(92)德霖技術學院-22,可程式繞線結構,若要考慮響應速度,就必須採用金屬導線(以銅線為主)。若要考慮應用彈性,就必須用半導體導
13、線和切換電路(以MOSFET為主),但頻寬會受限。在每個CLB和CLB之間,利用金屬導線佈出許多固定式的繞線段(7至10條);而每格一段距離就加上一個可程式的半導體切換盒(Programmable Switch Matrix,簡稱PSM)。,(92)德霖技術學院-23,FPGA的擴張功能,分佈式的RAM功能,快速進位功能,三態匯流排界面。可選取的功能:兩組16*1的RAM,或一組32*1的RAM,或一組16*1的雙阜RAM,可作為FIFO(First-In First-Out)緩衝器使用。,(92)德霖技術學院-24,VHDL程式開發程序,開發流程程式對照畫面DESIGN ENTRY:編輯VH
14、DL程式(vhd檔)和配置設限(ucf檔),並檢查VHDL程式文法錯誤。SYNTHESIS:編譯VHDL程式並分解後再合成為FPGA內部電路適用的組件群。IMPLEMENTATION:將分解後的組件配置在FPGA電路中,並進行繞線連接處理,將最終處理結果存成硬體配置檔(rbt檔)。PROGRAMMING:經由PRT界面將硬體對映檔(rbt檔)下載到指定的FPGA中,進行實驗測試。,記錄視窗,編譯視窗,命令列,捷徑列,程式編輯,電路合成,電路排版,(92)德霖技術學院-25,VHDL程式開發程序,程式範例一邏輯說明包括包裝和特性兩部分就包裝來說包括XC0和XA0,其中XC0為輸入而XA0為輸出;
15、就特性來說是將XC0直接送至XA0上。硬體配置採用Xilinx公司出品的XCS05,為PLCC方式的84腳包裝。其中XC0為50腳而XA0為28腳。,(92)德霖技術學院-26,VHDL程式開發程序,程式範例一,(92)德霖技術學院-27,when-else 的查表指令,(92)德霖技術學院-28,when-else 的查表指令,在when(.)else中的比較部分,可以加上and/or等邏輯動作,製造更多的應用彈性,(92)德霖技術學院-29,標準的順序邏輯設計,process(CLK)-加上設定功能的D型暫存器begin if RST=1 then-以RST做準位觸發 Q=0;-復歸動作
16、elsif SET=1 then-以SET做準位觸發 Q=1;-設定動作 elsif CLKevent and CLK=1 then-以CLK做上緣觸發(從0變1)if EC=1 then-以EC準位做同步脈波控制 Q=D;-儲存動作 end if;end if;end process;-宣告結束,(92)德霖技術學院-30,暫存器應用實驗設計,自由計數器實驗模組輸出為0時LED燈亮:輸出為1時LED燈熄。,(92)德霖技術學院-31,暫存器應用實驗設計,自由計數器,signal Q:STD_LOGIC_VECTOR(21 downto 0);-宣告自由計數器.process(CLK)-順序邏
17、輯開始begin if CLKevent and CLK=1 then-上緣觸發 Q=Q+1;-正向計數器 end if;end process;-順序邏輯結束,(92)德霖技術學院-32,暫存器應用實驗設計,查表處理結構,XB=11111110 when CNT=0000 else 11111100 when CNT=0001 else 11111000 when CNT=0010 else 11110000 when CNT=0011 else 11100000 when CNT=0100 else 11000000 when CNT=0101 else 10000000 when CNT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA 中的 DSP 核心 设计
链接地址:https://www.31ppt.com/p-4849923.html