基于PCI總線的塔康視頻信號產(chǎn)生電路設(shè)計
3 系統(tǒng)軟件設(shè)計
3.1 FPGA功能實現(xiàn)
FPGA開發(fā)采用Altera綜合開發(fā)平臺Quartus II 6.0,利用VHDL語言開發(fā)了雙口RAM、總線控制、地址譯碼、D/A轉(zhuǎn)換器控制、脈沖序列產(chǎn)生、波道控制和詢問信號檢測等7個功能模塊,分別為:1)設(shè)計雙口RAM,用于實現(xiàn)PCI9054數(shù)據(jù)和DSP數(shù)據(jù)的交換:2)實現(xiàn)PCI9054本地總線邏輯控制,例如:對雙口RAM的讀寫邏輯;3)實現(xiàn)DSP的地址譯碼邏輯,根據(jù)不同的指令選擇不同的功能單元;4)實現(xiàn)D/A轉(zhuǎn)換器的邏輯控制;5)產(chǎn)生脈沖序列。根據(jù)需要,可產(chǎn)生基準脈沖、填充脈沖、應(yīng)答脈沖、隨機脈沖,組成脈沖序列;6)實現(xiàn)波道控制和衰減控制;7)實現(xiàn)對詢問信號的檢測等。FPGA內(nèi)部邏輯如圖5所示。本文引用地址:http://cafeforensic.com/article/180513.htm
3.2 DSP程序設(shè)計
DSP片上程序以CCS2.0為開發(fā)平臺,主要包括器件初始化程序、系統(tǒng)初始化程序、包絡(luò)數(shù)據(jù)(由15 Hz和135 Hz正弦信號組成)產(chǎn)生程序、INTO中斷程序、INTl中斷程序和定時器中斷程序。其中,器件初始化程序完成片內(nèi)外設(shè)的初始化(如鎖相環(huán)時鐘發(fā)生器參數(shù)的設(shè)置,定時器參數(shù)的設(shè)置,可屏蔽中斷的設(shè)置等);系統(tǒng)初始化程序完成整個系統(tǒng)的初始化(I0地址分配、全局變量的初始化設(shè)置和系統(tǒng)外設(shè)的初始化);包絡(luò)數(shù)據(jù)產(chǎn)生程序主要產(chǎn)生15 Hz正弦數(shù)據(jù)表和135Hz正弦數(shù)據(jù)表兩張函數(shù)表;INT0中斷程序完成接收PC指令:INTl中斷主要接收到詢問信號后完成應(yīng)答功能;定時器中斷程序完成查找函數(shù)表并通過計算產(chǎn)生包絡(luò)數(shù)據(jù),啟動D/A轉(zhuǎn)換電路產(chǎn)生包絡(luò)信號,同時產(chǎn)生脈沖選擇信號,控制FPGA輸出脈沖序列。DSP主程序流程如圖6所示。塔康包絡(luò)信號波形如圖7所示。
3.3 PCI驅(qū)動程序開發(fā)
根據(jù)Windows提供的驅(qū)動程序模型,使用VC++6.0和DriverStudio軟件編寫了WDM驅(qū)動程序。該驅(qū)動程序?qū)CI9054起到內(nèi)存映射和中斷管理的作用。驅(qū)動程序安裝后,應(yīng)用程序?qū)CI卡的訪問可通過調(diào)用WindowsAPI的函數(shù)CreateFile()實現(xiàn)。這樣,對端口的操作最終表現(xiàn)為對一個文件的操作。
4 結(jié)論
針對系統(tǒng)模塊化的設(shè)計要求,開發(fā)了基于PCI9054的塔康視頻信號產(chǎn)生板卡。基于PCI總線的塔康視頻信號產(chǎn)生電路適用于多種工控機平臺,通用性強,并且滿足設(shè)計要求,實際使用效果良好,因此具有良好的應(yīng)用前景。
評論