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