基于FPGA的CCD數據采集系統的設計
2.2異步操作
異步發送“自動插入header的異步包發送”為例,介紹如何進行異步發送操作,其流程圖如圖4所示。

2.3等時操作
等時接收的工作流程圖圖5所示。

3驅動開發
采用Numega公司的DriverWorks工具開發驅動,該軟件對DDK中的函數進行很好的封裝。使用DriverWizard可以直接生成驅動程序源代碼的框架,只需對其做修改即可。
由于Windows已經提供了總線驅動程序和端口驅動程序,因此只需要開發功能驅動程序即可。DriverWorks將DDK下的1394請求包(IRB)封裝成KIrb類,并將總線驅動程序的功能封裝在K1394LowerDevice類中,對于等時傳輸和異步傳輸也有相應的類對其相應的DDK進行封裝。
1394WDM驅動程序使用IRB(請求包)和總線進行通信,IRB被發送到總線驅動,總線驅動將IRB在總線上執行。DriverWorks使用KIrb類迅速創建一個IRB,同時使用K1394LowerDevice::SubmitIrb函數將IRB發送到總線驅動。
4結語
經測試,該系統實現IEEE1394a的傳輸協議,實現了異步和同步傳輸。IEEE已經推出1394b標準,1394b的最高速度可以達到3.2 Gb/s,有效傳輸距離延長到100 m,而且有些公司已經開始推出1394b控制芯片。該系統不但實現了設備端與PC主機之間數據的高速傳輸,同時還為1394b傳輸系統的設計和實現提供了有效的鋪墊。
評論