基于FPGA的基帶64×64數(shù)據(jù)分配矩陣設(shè)計(jì)方案
本文采用FPGA作為實(shí)現(xiàn)控制邏輯的核心部件,提出了基于FPGA的基帶64×64 數(shù)據(jù)分配矩陣設(shè)計(jì)方案,并介紹了上位機(jī)的軟件設(shè)計(jì)思路和FPGA的內(nèi)部編程實(shí)現(xiàn)及仿真。經(jīng)驗(yàn)證該方案具有規(guī)模大、成本低、高速等特點(diǎn),可廣泛應(yīng)用于大規(guī)模基帶數(shù)字系統(tǒng)測(cè)試及信號(hào)程控分配調(diào)度中。
本文引用地址:http://m.butianyuan.cn/article/221565.htm0 引言
數(shù)據(jù)分配矩陣即矩陣開(kāi)關(guān),顧名思義,指結(jié)構(gòu)為行列交叉排布的開(kāi)關(guān)產(chǎn)品,其特點(diǎn)為每個(gè)節(jié)點(diǎn)連接一個(gè)行 /列,每個(gè)節(jié)點(diǎn)可以單獨(dú)操作,通過(guò)設(shè)置節(jié)點(diǎn)的不同組合可以實(shí)現(xiàn)信號(hào)的路由。矩陣開(kāi)關(guān)的主要優(yōu)勢(shì)在于其簡(jiǎn)化的部線,整個(gè)測(cè)試系統(tǒng)可輕松地動(dòng)態(tài)改變其內(nèi)部連接路徑而無(wú)須外部手動(dòng)干預(yù)。矩陣開(kāi)關(guān)的使用非常靈活方便,是目前程控開(kāi)關(guān)產(chǎn)品中品種最多的產(chǎn)品,在汽車(chē)電子、半導(dǎo)體測(cè)試、航空航天等領(lǐng)域得到了廣泛的應(yīng)用。
FPGA具有運(yùn)行速度快,內(nèi)部邏輯資源豐富,外圍I/O口數(shù)量多等優(yōu)點(diǎn),因此本設(shè)計(jì)選用FPGA作為核心器件。
1 系統(tǒng)結(jié)構(gòu)及功能
本設(shè)計(jì)是為了實(shí)現(xiàn)64位輸入信號(hào)到64位輸出的任意無(wú)交叉的切換,即輸入與輸出是一一對(duì)應(yīng)的。由于本設(shè)計(jì)是針對(duì)基帶數(shù)字信號(hào),而設(shè)計(jì)中選用的晶振頻率為25 MHz,因此根本不用考慮FPGA處理異步時(shí)鐘域數(shù)據(jù)傳輸?shù)膯?wèn)題,只需直接將對(duì)應(yīng)的輸入信號(hào)經(jīng)電平轉(zhuǎn)換后,經(jīng)譯碼后直接輸出到相應(yīng)的某路輸出接口即可。
上位機(jī)ARM 通過(guò)串口向FPGA 發(fā)送接口的連接信息,F(xiàn)PGA根據(jù)接收到的數(shù)據(jù)進(jìn)行譯碼,將對(duì)應(yīng)的輸入與對(duì)應(yīng)的輸出連接起來(lái),實(shí)現(xiàn)規(guī)定鏈路的連接??紤]到所含資源以及管腳數(shù)量,本設(shè)計(jì)方案選用Altera公司Cyclone Ⅲ系列EP3C25F256型FPGA.選用了4塊32路的電平轉(zhuǎn)換芯片實(shí)現(xiàn)5 V 信號(hào)向FPGA 能夠識(shí)別的TTL 信號(hào)的轉(zhuǎn)換。
其結(jié)構(gòu)框圖如圖1所示。
2 上位機(jī)設(shè)計(jì)
上位機(jī)的界面如圖2 所示。在相應(yīng)的輸入通道文本框里輸入0~64,點(diǎn)擊“確定”按鈕后,首先對(duì)文本框里所有的數(shù)據(jù)進(jìn)行比較判斷,如出現(xiàn)重復(fù)則進(jìn)行報(bào)錯(cuò),提示重新輸入。無(wú)誤后,通過(guò)串口按輸出接口順序依次向FPGA發(fā)送64條接口的連接指令。每一條指令包含3 B,第一個(gè)字節(jié)為信息頭“AA”,若FPGA接收到的某條指令的頭字節(jié)不是“AA”,則無(wú)返回信息,上位機(jī)將重新發(fā)送這條指令直到正確為止。第二個(gè)字節(jié)為輸入端口字節(jié),即對(duì)應(yīng)文本框中的數(shù)字,如沒(méi)有輸入數(shù)字則默認(rèn)發(fā)送0,所以如需端口某條鏈路斷開(kāi)只要在相應(yīng)的文本框中輸入0,點(diǎn)擊確定即可。第三個(gè)字節(jié)為輸出端口對(duì)應(yīng)的數(shù)據(jù),按1到64順序發(fā)送。圖2中的“遠(yuǎn)控”按鈕為預(yù)留的用作計(jì)算機(jī)遠(yuǎn)控使用。
3 下位機(jī)設(shè)計(jì)
3.1 串口通信協(xié)議
串行通信是一種可以將接收到的并行數(shù)據(jù)字符轉(zhuǎn)換為連續(xù)的串行數(shù)據(jù)流發(fā)送出去,同時(shí)可將接收的串行數(shù)據(jù)流轉(zhuǎn)換為并行的數(shù)據(jù)字符發(fā)送出去的通信協(xié)議。
其數(shù)據(jù)幀主要包括1位起始位,8位數(shù)據(jù)位,1位奇偶校驗(yàn)位,1/2位停止位。
3.2 FPGA內(nèi)部編程
FPGA模塊的主要功能是實(shí)現(xiàn)串口收發(fā)和譯碼,相應(yīng)地在用Verilog HDL實(shí)現(xiàn)時(shí)也分為串口收發(fā)和譯碼2個(gè)電路模塊,經(jīng)綜合后其RTL級(jí)視圖如圖3所示。開(kāi)發(fā)工具采用Altera公司推出的集成EDA 開(kāi)發(fā)工具Quartus Ⅱ,可以完成Altera公司所有的FPGA /CPLD產(chǎn)品開(kāi)發(fā)的設(shè)計(jì)輸入、綜合、實(shí)現(xiàn)等環(huán)節(jié)。
fpga相關(guān)文章:fpga是什么
晶振相關(guān)文章:晶振原理
評(píng)論