您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > FPGA中的DSP核心设计
FPGA中的DSP核心設計(92)德霖技術學院-2FPGA中的DSP核心設計應用系統規劃FPGA設計基礎DSP核心設計實驗應用示範(92)德霖技術學院-3SOC技術演進電晶體元件硬體開發技術軟體開發技術MSI/LSI/VLSIFPGA可程式邏輯單晶片控制器PC級控制器DSP控制器System-on-Chip(SoC)(92)德霖技術學院-4SOC技術應用System-on-ChipSystemon-Chip數位系統通訊系統控制系統家用系統工業系統電腦周邊邏輯設計半導體製程即時控制軟體界面設計CPU設計網路連線(92)德霖技術學院-5SOC(System-On-Chip)開發平台個人電腦RAM32MBeMotion控制器FPGA(DSP)FPGA(ADC+DAC)實驗模組LCD面板專題實驗擴張界面VHDL開發環境C/Java開發環境MatLab開發環境遠端網路監控Linux作業環境TCP/IP網路界面DSP軟體編譯程序測試與監控環境邏輯電路設計DSP核心設計即時軟體開發周邊界面電路邏輯實驗通訊實驗控制實驗電機實驗專題製作研究計畫(92)德霖技術學院-6硬體設計應用系統規劃DSP核心設計微控碼設計CPU界面設計I/O界面設計ADCISA16K資料區4K程式區1K微碼區1K堆疊區程式控制微碼控制ALU運算PIO界面SIO界面1616DACFPGA雙阜記憶體DSP核心外部擴接電路I/OX86CPU(92)德霖技術學院-7軟體設計組合語言基礎組合語言結構組合語言定義模組程式設計系統程式設計命令區堆疊區DSP核心微碼區程式區資料區PIOSIO模組程式#1X86CPU模組程式#N....機械碼組合語言編譯器模組程式集系統程式系統程式編譯器....模組程式集下載及偵錯程式微控碼微碼表格微控碼編譯器使用程式部分程式編譯部分硬體管理部分(92)德霖技術學院-8內藏式PC控制器ZF-Linux公司的MachZ(ZFX86)1.100MHz的586CPU,耗電0.5W。2.現成的BIOS碼和參數設定工具。3.外加元件極少。4.研發過程中可利用RS-232、USB及Ethernet界面連接。5.模組中併入FPGA和ADC/DAC。6.全部電路板尺寸約10cm*20cm。7.程式和資料儲存在8MB的單晶硬碟(Disk-On-Chip,簡稱DOC)中。586CPU+Cache+FLUNorthBridgeSouth-Bridge+BootROM+Peripheral+Watch-Dog+I/O32MBSDRAMEtherNetControlPCIISAFPGA8MBDOCBIOSADC+DACMachZ(ZFX86)ExternalModuleUSBRS-232EtherNet(92)德霖技術學院-9FPGA電路Xilinx公司Virtex-II系列的XC2V250:1.閘數(GateCount)為250K,內部電源為1.5V,可允許420MHz的脈波頻率。2.邏輯閘單位為CLB,每個CLB包含四組Slice,每個Slice中都有一組D型正反器和4位元可程式邏輯。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.閘數(GateCount)為5K,內部電源為3.3V,可允許80MHz的脈波頻率。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的雙阜記憶體規劃成24頁。2.就DSP而言,雙阜記憶體規劃成資料區、程式區、微碼區和堆疊區四個部分,除了微碼區為32-bit外,其他部分都是16-bit(1-word)寬度。3.不論是DSP或586CPU都不准直接控制I/O界面。所有I/O界面都以DMA方式和記憶體連接。4.外部擴接電路(包括ADC、DAC和另一顆FPGA)都是由I/O控制器透過串列界面連接。ADCISA16K資料區4K程式區1K微碼區1K堆疊區I/O控制程式控制微碼控制ALU運算周邊界面串列界面1616DACFPGA雙阜記憶體DSP核心外部擴接電路(92)德霖技術學院-11eMotion控制器配置包括:ZFX86:586CPUEtherNet:網路以PCI-bus連接CPUDOC:8MB單晶硬碟。BIOS:256KB的容量。RAM插槽:插上64MB的RAM卡DSP插槽:插上內含DSP核心的eM_FPGA卡ADDA插槽:插上包括ADC/DAC的eM_ADDA卡ext擴張座:3組50P的插座,可作為彈性擴張用,以處理不同的專題實驗。實驗接頭:2組26P的插座,可連接兩組的實驗模組,通常一組固定為LCD面板。DOCRAMZFX86EtherNetBIOSPowerUSBRS-232EtherNeteM_FPGAeM_ADDALCD面板實驗模組extextext(92)德霖技術學院-12軟體開發環境e控制器:提供硬體控制和軟體管理等控制功能。近端PC:提供軟硬體開發過程中的開發工具和作業環境。遠端PC:提供教學和產業應用時的遠端監控功能。RS-232HyperTerminalLinux作業系統終端機操作EthernetFTP伺服端檔案傳輸EthernetTelNet伺服端遠端操作Ethernet光碟機硬碟機列表機Samba客戶端資源共享EthernetTCP/IP伺服端應用程式PC端(Windows環境)e控器(Linux環境)FTP客戶端TelNet客戶端TCP/IP客戶端遠距PC近端PC(92)德霖技術學院-13視窗操作環境RS-232HyperTerminalLinux作業系統Ethernet光碟機硬碟機列表機RAM(32MB)PC端(Windows環境)e控器(Linux環境)DOC(8MB)程式碼編輯編譯C程式檔案管理程式碼列印執行與下載開發VHDL程式開發DSP程式Java應用Simulink應用TCP/IP客戶端C程式應用執行上採用Linux系統操作上採用視窗作業環境開機程序:1.DOC檔案解壓縮並下載到RAM中2.檔案的讀寫或管理都在RAM中3.DOC儲存的檔案都是唯讀檔案4.使用者程式儲存在PC端的硬碟5.PC端在視窗環境直接處理檔案6.光碟和印表機在視窗下處理(92)德霖技術學院-14程式開發環境項目說明C程式開發(e控器部分)1.直接在視窗中編輯程式碼2.在終端機中下達編譯指令3.在終端機中執行下載指令DSP程式開發(e控器部分)1.直接在視窗中編輯程式碼2.在終端機中下達編譯指令3.在終端機中下載並執行VHDL程式開發(e控器部分)1.直接在視窗中編輯程式碼2.直接在視窗中下達編譯指令3.在終端機中下載並執行C程式開發(PC端部分)所有程序都可在視窗環境處理JAVA程式開發所有程序都可在視窗環境處理Matlab開發所有程序都可在視窗環境處理Simulink開發所有程序都可在視窗環境處理應用程式執行所有程序都可在視窗環境處理(92)德霖技術學院-15即時控制環境DSP核心部分負責即時控制程式,抽樣控制頻率可高達32KHz,完全不受Linux作業系統干擾。Linux作業系統下的586CPU,掌管主控程式和TCP/IP通訊程式,只能執行100Hz左右的抽樣控制。所謂100Hz左右,是指基本頻率是100Hz,但是多少會受到其他程式負載所影響,不能完全保證。586CPU和DSP透過雙阜記憶體共享所有的參數和變數。ISA-bus的傳訊速度限制可忽略不計。PC端應用程式可執行人機圖控和TCP/IP通訊界面,執行遠距操作的功能。PC端和586CPU之間透過網路做連線。EtherNet在輕負荷下可執行100Hz的資料傳輸(200-byte左右)若是透過網際網路做遠距連線,則只能傳遞資料而不能保證傳訊速度了。PC端程式586CPU程式DSP程式TCP/IPRAM1.人機圖控2.TCP/IP界面3.遠距操作1.TCP/IP界面2.100Hz抽樣控制3.主控程式32KHz抽樣控制ISA(92)德霖技術學院-16四軸CNC控制器PC端負責操作界面和遠端監控eMotion控制器負責CNC的整個控制動作,即時控制負載由586CPU和DSP核心來分擔。eMotion控制器直接整合在功率驅動級中,形成單一模組的內藏式CNC控制器。可連接工業級PC做標準型的CNC控制器,也可連接簡單的LCD面板做簡易操作型的CNC控制器。LCD界面界面連線功率驅動級(標準)交流馬達(X)交流馬達(Y)交流馬達(Z)交流馬達(主軸)功率驅動級(擴張)eMotion控制器個人電腦內藏式CNC控制器手輪#1手輪#2手輪#3機台及PLCEtherNet(92)德霖技術學院-17電動機控制實驗PC端負責Simulink的操作和監控eMotion控制器負責單軸或多軸伺服控制動作586CPU只負責網路資料的傳遞,所有控制都以模組方式架構在DSP核心中。變頻器模式實驗(開環路電壓控制)步進馬達模式實驗(閉環路電流控制)直流馬達模式實驗(閉環路扭力控制)速度控制模式實驗位置控制模式實驗加減速控制與前置補償電流過載與PID補償效應功率驅動交流馬達伺服模組eMotion控制器個人電腦EtherNetLCD界面(92)德霖技術學院-18FPGA電路基本結構CLB:可程式邏輯單元,行成N*N的電路矩陣IOB:可程式輸入輸出阜,做為外部接腳和連線B-SCANIOBIOBCLBCLBCLBCLBIOBIOBIOBIOBCLBCLBCLBCLBIOBIOBIOBIOBCLBCLBCLBCLBIOBIOBIOBIOBCLBCLBCLBCLBIOBIOBOSCRDBKSTART-UPIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOB可程式繞線通道(92)德霖技術學院-19CLB結構說明包含三組查表結構的模組G-LUT:4點輸入的可程式邏輯閘(16*1的RAM查表結構);F-LUT:4點輸入的可程式邏輯閘(16*1的RAM查表結構);H-LUT:3點輸入的可程式邏輯閘(8*1的RAM查表結構);G4GG3G2G1G4G3G2G1F4FF3F2F1F4F3F2F1GHH1FSRH1DINDQCKECSRDQCKECSRYQYXQXKECH-LUTG-LUTF-LUT(92)德霖技術學院-20D型暫存器架構一個標準的D型暫存器,由CK來控制,可選擇上緣觸發或是下緣觸發。由EC做同步結構下的時鐘控制(D端控制型式),當不需要EC時,EC端就由VCC所取代(固定ON)。SR訊號可由設定(SD)功能或復歸(RD)功能中做二選一,但兩者不能同時存在。一旦選擇了SR功能,開機時產生的GSR(GlobalSet/Rest)訊號就可以自動的執行所有D型暫存器的設定或復歸工作。當SR訊號由GND取代時,D型暫存器就取消了由外界設定和復歸的功能,但是開機的GSR訊號還是可以做設定或復歸的動作。proc
本文标题:FPGA中的DSP核心设计
链接地址:https://www.777doc.com/doc-5513634 .html