基于FPGA的多功能信號源生成系統(tǒng)設計與實現(xiàn)
3.1 控制參數(shù)接口轉換模塊
控制參數(shù)接口轉換模塊完成從USB接口中收到的數(shù)據(jù)接收,并將接收數(shù)據(jù)轉換為總線數(shù)據(jù)送入背板總線。控制參數(shù)接口轉換模塊主要包括兩個部分:USB控制芯片和1片FPGA,如圖2所示。在這個模塊內(nèi)完成數(shù)據(jù)包的獲取和拆分兩個操作。數(shù)據(jù)包的獲取就是USB控制芯片將USB傳輸線中的1位數(shù)據(jù)轉換為16位的FD信號,送到FPGA中。FPGA再將接收到的數(shù)據(jù)按照數(shù)據(jù)包拆分協(xié)議分成16位控制參數(shù)信號DATA與160 kHz的數(shù)字基帶信號DATAl60K送到背板總線,同時通過總線進行傳輸?shù)倪€有兩個時鐘信號AIOW和CLKl60K。其中AIOW是與控制參數(shù)信號DATA相匹配的時鐘,是由FPGA送入總線中的,而CLKl60K是與數(shù)字基帶信號DATAl60K相匹配的時鐘,是由信號生成器通過總線送入FPGA中的。數(shù)據(jù)包的拆分主要由1片Spartan3 FPGA(XC3S200)來實現(xiàn)。本文引用地址:http://www.ex-cimer.com/article/192039.htm
3.2 信號生成模塊
信號生成模塊采取FPGA和高速D/A相結合的方法,在FPGA內(nèi)部產(chǎn)生高速采樣數(shù)據(jù)。采樣數(shù)據(jù)送人高速D/A中還原出信號。在該系統(tǒng)中,F(xiàn)PGA芯片選用Xilinx公司Virtex-4系列的XC4VLXl00,而高速D/A選用AD公司的AD9736。如圖1所示,信號生成模塊包括2塊信號生成電路板,每塊電路板上有2塊FPGA和4塊高速D/A,每塊FPGA與2個D/A相連,即1個FPGA內(nèi)部需要同時產(chǎn)生2路信號采樣數(shù)據(jù),整個系統(tǒng)能產(chǎn)生8路信號。
FPGA的工作時鐘是射頻模塊生成的時鐘在高速D/A內(nèi)完成二分頻后送給FPGA的。由于每塊FPGA與2個D/A相連,因此它也有2個時鐘輸入。為了保持時鐘與數(shù)據(jù)的同源特性,在FPGA內(nèi)部電路設計中采取了并行設計的方法,即送給高速D/A的高速采樣數(shù)據(jù)與其匹配的時鐘完全是由其送入的時鐘來產(chǎn)生的,而與另一個D/A送入的時鐘完全無關,保持了各路信號之間的獨立性。同時,射頻模塊可以產(chǎn)生相參和非相參的時鐘,從而使得系統(tǒng)能產(chǎn)生相參和非相參信號。另外,送入D/A的時鐘也可由外部送入,大大增加了系統(tǒng)的靈活性。
FPGA內(nèi)部采取了模塊化設計方法,包括參數(shù)分配模塊、各種信號采樣數(shù)據(jù)生成模塊和信號求各種信號采樣數(shù)據(jù)生成模塊和信號求和模塊,其設計框圖如圖3所示。參數(shù)分配模塊主要將總線接收到的各路信號中控制參數(shù)信號DATA分配到各信號采樣數(shù)據(jù)生成模塊中,其內(nèi)部控制示意圖如圖4所示。參數(shù)分配模塊在時鐘AIOW的上升沿時刻,按照控制參數(shù)信號DATA的高位情況,識別DATA低15位為地址還是數(shù)據(jù),如果為地址則送往地址鎖存器鎖存;如果為數(shù)據(jù)則送往地址譯碼器,由地址譯碼器根據(jù)譯碼協(xié)議判定數(shù)據(jù)為特定信號采樣數(shù)據(jù)生成模塊的特定控制參數(shù)。信號采樣數(shù)據(jù)生成模塊則根據(jù)所分配的參數(shù)生成所需信號采樣數(shù)據(jù)送往求和模塊。為了減少信號經(jīng)過求和模塊帶來信號能量的損失,設計中不是采用傳統(tǒng)截取高位輸出的方式,而是采取了截取低位輸出的方式,這種方式保證了求和器在沒有溢出的情況下,能維持系統(tǒng)指定參數(shù)的信號輸出,而不損失信號能量。為了防止求和器溢出,產(chǎn)生失真信號,在綜合控制器中做相應處理,使得控制人員輸入的控制參數(shù)在合適的范圍之內(nèi)。
評論