基于FPGA的CCD數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
2.2異步操作
異步發(fā)送“自動(dòng)插入header的異步包發(fā)送”為例,介紹如何進(jìn)行異步發(fā)送操作,其流程圖如圖4所示。
2.3等時(shí)操作
等時(shí)接收的工作流程圖圖5所示。
3驅(qū)動(dòng)開發(fā)
采用Numega公司的DriverWorks工具開發(fā)驅(qū)動(dòng),該軟件對(duì)DDK中的函數(shù)進(jìn)行很好的封裝。使用DriverWizard可以直接生成驅(qū)動(dòng)程序源代碼的框架,只需對(duì)其做修改即可。
由于Windows已經(jīng)提供了總線驅(qū)動(dòng)程序和端口驅(qū)動(dòng)程序,因此只需要開發(fā)功能驅(qū)動(dòng)程序即可。DriverWorks將DDK下的1394請(qǐng)求包(IRB)封裝成KIrb類,并將總線驅(qū)動(dòng)程序的功能封裝在K1394LowerDevice類中,對(duì)于等時(shí)傳輸和異步傳輸也有相應(yīng)的類對(duì)其相應(yīng)的DDK進(jìn)行封裝。
1394WDM驅(qū)動(dòng)程序使用IRB(請(qǐng)求包)和總線進(jìn)行通信,IRB被發(fā)送到總線驅(qū)動(dòng),總線驅(qū)動(dòng)將IRB在總線上執(zhí)行。DriverWorks使用KIrb類迅速創(chuàng)建一個(gè)IRB,同時(shí)使用K1394LowerDevice::SubmitIrb函數(shù)將IRB發(fā)送到總線驅(qū)動(dòng)。
4結(jié)語
經(jīng)測(cè)試,該系統(tǒng)實(shí)現(xiàn)IEEE1394a的傳輸協(xié)議,實(shí)現(xiàn)了異步和同步傳輸。IEEE已經(jīng)推出1394b標(biāo)準(zhǔn),1394b的最高速度可以達(dá)到3.2 Gb/s,有效傳輸距離延長(zhǎng)到100 m,而且有些公司已經(jīng)開始推出1394b控制芯片。該系統(tǒng)不但實(shí)現(xiàn)了設(shè)備端與PC主機(jī)之間數(shù)據(jù)的高速傳輸,同時(shí)還為1394b傳輸系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)提供了有效的鋪墊。
評(píng)論