基于FPGA的IEEE 1394b高速數(shù)據(jù)傳輸系統(tǒng)
本系統(tǒng)中Nios II主要完成3個(gè)功能:(1)實(shí)現(xiàn)1394b設(shè)備的自舉,協(xié)助主機(jī)完成設(shè)備識別以及設(shè)備的身份確認(rèn)。(2)實(shí)現(xiàn)異步數(shù)據(jù)收發(fā)功能,異步讀、異步寫,根據(jù)請求包的類型進(jìn)行分別處理。(3)滿足傳輸條件時(shí),為等時(shí)傳輸申請等時(shí)信道和帶寬,成功后開始組織等時(shí)傳輸,傳輸結(jié)束后釋放信道和帶寬。圖6為Nios II工作流程圖。本文引用地址:http://2s4d.com/article/191244.htm
下面介紹等時(shí)傳輸過程,根據(jù)系統(tǒng)設(shè)計(jì),將外部DVD壓縮圖像數(shù)據(jù)作為等時(shí)數(shù)據(jù)來處理。具體過程如下:
(1)NioslI CPU對1394b的OHCI和鏈路層寄存器進(jìn)行初始化,判斷線纜是否插入,強(qiáng)制根節(jié)點(diǎn),直到設(shè)備完成自舉,節(jié)點(diǎn)的身份確認(rèn),如圖7所示。
(2)自舉過程結(jié)束后,Nios II CPU檢測等時(shí)傳輸?shù)臈l件是否滿足,如果滿足則向主機(jī)發(fā)出申請,申請等時(shí)信道和帶寬。
(3)申請成功后,Nios II CPU開始組織數(shù)據(jù)進(jìn)行傳輸。首先它向DMA控制器發(fā)送寄存器配置信息,從而將數(shù)據(jù)傳送任務(wù)交由DMA控制器完成。
(4)DMA控制器從FPGA的緩存單元中取出數(shù)據(jù),并添加包頭將數(shù)據(jù)拼接成合法的等時(shí)數(shù)據(jù)包格式,并發(fā)起PCI主模式傳輸。
(5)數(shù)據(jù)經(jīng)由PCI總線傳送到鏈路層芯片中,又通過物理層芯片傳送到1394b總線上,并由主機(jī)上連接的數(shù)據(jù)采集卡接收,最終由主機(jī)端的應(yīng)用程序解壓縮和播放數(shù)據(jù)。
3 結(jié)束語
文中介紹了一種基于FPGA的IEEE 1394b高速數(shù)據(jù)傳輸系統(tǒng),它能實(shí)現(xiàn)外部多路數(shù)據(jù)的實(shí)時(shí)傳送。由于支持1394b的設(shè)備與支持1394a的設(shè)備可以相互兼容,所以在此基礎(chǔ)上可以建立1394組網(wǎng)平臺,實(shí)現(xiàn)多個(gè)系統(tǒng)的互聯(lián)與傳輸。
評論