關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 一種音視頻監視系統的設計和實現

        一種音視頻監視系統的設計和實現

        作者: 時間:2012-08-08 來源:網絡 收藏

        FPGA的選擇

        FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

        我們根據幾個因素進行選擇。器件需要滿足預計的I/O要求,并且必須具有相應數量的邏輯單元、適宜的Block RAM尺寸以及一定數量的時鐘緩沖器和時鐘管理器件,如鎖相環(PLL)、數字時鐘管理(DcM)模塊和乘累加模塊。基于這些需求,我們選擇了 Virtex-5 XCVSX95T-FF1136.

        時鐘要求分析

        選擇FPGA之后,我們開始過程,即分析時鐘控制要求,然后將信號映射到I/O組或I/O引腳。

        對于時鐘要求分析,重要的是考慮以下幾個因素:FPGA是否具有足夠的時鐘功能I/O線和全局時鐘I/O線?是否有足夠的PLL、DCM和全局時鐘緩沖器?全局時鐘I/O緩沖器是否支持所要求的最高頻率?

        的時鐘控制要求包括:一個以150MHz-200MHz頻率運行的全局時鐘,具有若干PLL供所有內部邏輯用來進行處理;一個以 250MHz頻率運行的全局時鐘,具有PLL/DCM的PCI Express鏈接;一個以250MHz頻率運行的全局時鐘緩沖器(帶有PLL和DCM)用于以太網MAC;以及一個200MHz的時鐘(由 PLL/DCM生成),用于I/O模塊中的逐位去歪斜等。

        我們總共需要4~6個全局時鐘緩沖器和16個局部時鐘緩沖器。FPGA XCVSX95T-FF1136提供每組20個全局時鐘輸入引腳和4個時鐘功能I/O.也可將I/O組的時鐘功能引腳直接連接到區域緩沖器或I/O緩沖器,并且將其用于特定區域或相鄰區域。另外,各GTP/MGT還有一個參考時鐘輸入引腳。

        初始布局規劃

        Virtex-5 FPGA共有18個I/O組,可以將各種輸入/輸出對映射到這些I/O組。有幾個I/O組支持20對輸入/輸出或10個全局時鐘。其他I/O組則大多支持 40對輸入/輸出,每對輸入/輸出上有4個輸入時鐘功能引腳和8個輸出時鐘功能引腳。

        同時,上下兩牛個FPGA包括三個時鐘控制模塊(CMT),即一個PLL和兩個DCM.對于需要上下兩半個器件中的PLL的所有全局時鐘信號,我們必須確保予以妥善映射,以使具有從全局時鐘輸入緩沖器到PLL的直接連接。然后我們使用剩下的14個I/O組,這些組支持40條I/O線,是單端/差分模式。每個組由4個單端時鐘功能引腳和8個差分時鐘功能引腳組成。接下來可以將時鐘功能引腳映射或連接到區域時鐘緩沖器或I/O時鐘緩沖器。

        一般情況下,可以使用這些時鐘功能引腳和區域緩沖器來映射源同步時鐘輸入。區域緩沖器具有較低歪斜度,可以訪問三個區域(一個區域緩沖器所在的區域,以及其上和其下各一個區域)。但對于源同步數據的組選擇,我們傾向于只使用一個I/O組。如果需要其他IIO,則最好將I/O組用于已事先映射到相鄰組的數據信號。

        設計的初始布局規劃按照幾個步驟進行。首先將時鐘放在上半部,然后將自動采集(可選)時鐘放在下半部。我們鎖定了每半部分的CMT,以滿足 I/O組的3/4要求。這樣映射能確保每半部分都留有兩個PLL/DCM(CMT)可用于PCI Express和千兆位以太網的MAC(SGMII)功能。

        再把同步數據映射到含有區域時鐘的組,所以把10個信道輸入映射到剩下的I/O組。每條視頻信道由20條數據線、3個控制信號和3個視頻時鐘輸入組成。同時,每條音頻信道由4個數據信號、3個控制信號和1個音頻時鐘信號組成。這樣就滿足了32個信號至少使用兩個時鐘功能引腳的要求。

        對于本設計,10個信道使用10個I/O組。我們將視頻時鐘和音頻時鐘映射到了時鐘功能引腳,以確保有效使用區域時鐘緩沖器和I/O時鐘緩沖器。根據PCB的要求,我們為信道選擇了第5、 6、 13、 17、 18、 19、 20、 22和25組。

        對于DDR存儲器,設計支持1條32位的數據總線、14條地址線和若干條控制線。我們需要85~90個信號來映射DDR存儲器接口。根據PCB的布局,我們使用了I/O組11、23和15來映射DDR的全部I/0信號。由于DDR存儲器按照時鐘工作,所以我們選擇將DDR生成的讀數據DQS信號映射到具有時鐘功能的I/O線。

        核生成與IP集成

        Virtex-5支持可以用CORE Generator工具生成的時鐘控制模塊的各種配置。其中包括若干濾波器時鐘抖動PLL、一個具有濾波器時鐘抖動功能的PLL-DCM對、一個具有輸出雙倍數據速率(ODDR)的PLL-DCM對或DCM、一個標準型相移時鐘DCM和若干動態時鐘切換PLL.

        要生成PLL,首先需要了解輸入是單端的還是差分的。然后,必須確定時鐘抖動是否適宜,以及是否使用了全局緩沖器來緩沖所有輸出。

        為了使用ODDR觸發器在源同步輸出中驅動時鐘,我們了一個DCM,用于驅動ODDR觸發器來隨路時鐘控制。此DCM與我們用來進行內部時鐘控制的DCM并行運行。

        在生成PCIExpress核時,我們必須確保參考時鐘具有與PC主板上的PCIExpress插槽輸出相同的性能(即100MHz)。另外,我們還需要確定該核需要多少基址寄存器(BAR),以及BAR是存儲器映射還是I/O映射。我們為地址解碼使用了BAR器,這可以幫助生成BAR命中點。

        在設計PCIExpress與系統局部總線之間的橋接器時,我們使用了BAR來訪問存儲器映射或I/O映射的寄存器或BlockRAM,確保該核及總線能正確訪問所有寄存器或BlockRAM.

        如果上述任何點未命中,則主機PC在嘗試傳遞和執行讀事務時就不會得到任何響應。主機PC會進入未知的狀態,或者產生無法恢復的錯誤。

        IP是英文Internet Protocol(網絡之間互連的協議)的縮寫,中文簡稱為網協,也就是為計算機網絡相互連接進行通信而設計的協議。在因特網中,它是能使連接到網上的所有計算機網絡相互通信的一套規則,規定了計算機在因特網上進行通信時應當遵守的規則。任何廠家生產的計算機系統,只要遵守 IP協議就可以與因特網互連互通。IP地址具有唯一性,根據用戶性質的不同,可以分為5類。另外,IP還有進入防護,知識產權,指針寄存器等含義。

        對于IP集成,必須為各FPGA分別使用一個時鐘復位模塊。異步復位必須與每個時鐘都同步,無論是全局時鐘還是區域時鐘。就內部而言,復位信號是相對于特定的時鐘而異步有效置位和同步無效置位,而其輸出則施加到各時鐘所屬的特定模塊。需要確保已經將所有全局輸入時鐘連接到用CoreGen生成的 PLL/DCM核。

        將區域時鐘連接到BUFR/BUFIO.另外,為了避免布局布線工具使用不必要的布線資源,只能僅生成必要的復位信號。需要確保將PLL/DCM的鎖存條件傳送給外部引腳或配置寄存器。示例中,我們僅將200MHz系統時鐘的PLL鎖存器連接到了I/O引腳。

        因為我們是在用高速源同步輸入和輸出進行設計,所以Virtex-5的逐位去歪斜功能幫助我們在輸入和輸出級滿足建立和保持要求,逐位去歪斜功能內置于所有I/O模塊(10DELAY基元)。對于源同步輸入,源同步時鐘使用BUFIO或BUFR, 因此會引入附加延遲。為了補償此延遲,我們通過一個IODELAY實例來驅動數據和時鐘輸入,該實例是按照具有已知延遲計數的輸入延遲模式配置的。我們通過修改延遲計數值來幫助滿足輸入級的時序要求。

        輸出級的情況與此相似。因為同步時鐘信號是隨數據傳送,我們需要確保數據和時鐘信號的傳送方式能滿足FPGA或ASIC在另一端的建立和保持要求。對于時鐘和數據輸出,我們都使用了按照具有已知延遲計數值的輸出延遲模式配置的IODELAY實例。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 扎赉特旗| 比如县| 运城市| 灵璧县| 石首市| 克什克腾旗| 余庆县| 定南县| 即墨市| 西安市| 吉林省| 嘉义市| 民和| 佳木斯市| 厦门市| 镇康县| 哈巴河县| 安岳县| 康定县| 聂荣县| 灵武市| 芮城县| 格尔木市| 平顶山市| 腾冲县| 无为县| 山西省| 建瓯市| 洮南市| 嘉峪关市| 比如县| 古交市| 高雄市| 全椒县| 沙河市| 崇阳县| 雷波县| 阜阳市| 兴国县| 怀柔区| 修水县|