基于虛擬圖像注入的目標(biāo)模擬器設(shè)計(jì)
FPGA以ALTERA公司的Cyclone II系列的EP2C8-Q208C8芯片作為目標(biāo)模擬器的時(shí)序和邏輯控制核心。EP2C8Q208C8具有8 256個(gè)的邏輯單元(LE)、165 888 bit基于流行的M4K嵌入式存儲(chǔ)器塊,可以配置為廣泛的操作模式,包括ROM、單端口和雙端口RAM等。設(shè)計(jì)中用芯片內(nèi)部的雙端口RAM構(gòu)造異步FIFO控制圖像數(shù)據(jù)的時(shí)序,加上幀同步(FVAL)和行同步(LVAL)信號(hào)一起按照紅外圖像的設(shè)計(jì)時(shí)序要求將圖像數(shù)據(jù)發(fā)送到Camera Link接口模塊。
Camera Link接口采用DS90CR287作為驅(qū)動(dòng)芯片,是專用的電平轉(zhuǎn)換器件,能將28位CMOS/TTL電平數(shù)據(jù)和1位像素時(shí)鐘信號(hào)分別轉(zhuǎn)換成4組LVDS數(shù)據(jù)流及一對(duì)LVDS時(shí)鐘信號(hào)進(jìn)行傳輸。由于采用差分傳輸方式,提高了傳輸距離及信號(hào)精度。使用標(biāo)準(zhǔn)的MDR26作為Camera Link接口與圖像采集卡之間的連接接口。
4 軟件設(shè)計(jì)
目標(biāo)模擬器的軟件設(shè)計(jì)主要由DSP程序和FPGA程序組成。
DSP程序流程圖如圖4所示。由于生成圖像數(shù)據(jù)要通過(guò)DSP芯片的外部接口XINTF發(fā)送,DSP2812有5個(gè)固定的存儲(chǔ)映像區(qū)域,設(shè)計(jì)中采用ZONE2區(qū)作為映像區(qū)域,所以首先要解決數(shù)據(jù)存儲(chǔ)映像的問(wèn)題。本設(shè)計(jì)采用CCS提供的下面兩個(gè)指令實(shí)現(xiàn)數(shù)據(jù)映像。本文引用地址:http://www.ex-cimer.com/article/188554.htm
#pragma CODE_SECTION 針對(duì)程序空間;
#pragma DATA_SECTION 針對(duì)數(shù)據(jù)空間;
具體程序?qū)崿F(xiàn)如下:
#pragma DATA_SECTION(pRGB,″My_Sect″)
struct
{Uint16 r;
Uint16 w;
}pRGB[320][240];
在.cmd文件中建立對(duì)應(yīng)的section就可以使用了。
MEMORY
{PAGE1: ZONE2 :origin=0x080000,length=0x080000 }
SECTIONS
{My_Sect ?。?gt;ZONE2,PAGE=1 }
建立映像后要設(shè)置XINTF的相應(yīng)寄存器值,對(duì)于外部接口的訪問(wèn)主要分為3個(gè)階段:(1)建立階段:被訪問(wèn)區(qū)的片選信號(hào)變?yōu)榈碗娖剑刂繁环胖迷诘刂房偩€上;(2)激活階段:對(duì)外部器件進(jìn)行訪問(wèn)。本設(shè)計(jì)主要是寫訪問(wèn),寫使能(XWE#)選通變低并將數(shù)據(jù)放置在數(shù)據(jù)總線上(XD);(3)跟蹤階段:跟蹤階段為一保持時(shí)間,其片選信號(hào)為低,而后讀和寫選通變?yōu)楦遊1]。
具體設(shè)置如下:
XintfRegs.XTIMING2.bit.XWRLEAD=1
XintfRegs.XTIMING2.bit.XWRACTIVE=1
XintfRegs.XTIMING2.bit.XWRTRAIL=1
建立、激活、跟蹤分別為1個(gè)時(shí)鐘周期。
DSP2812的串行通信(SCI)模塊使用16位的波特率選擇寄存器(SCIHBAUD和SCILBAUD)設(shè)置SCI的波特率,因此SCI可以采用64 K種不同的波特率進(jìn)行通信,通過(guò)下面的公式計(jì)算出寫入寄存器的值:
其中:BRR為寫入寄存器的值。設(shè)計(jì)中系統(tǒng)時(shí)鐘為30 MHz,波特率為38 400,則:
評(píng)論