DVB-C視頻傳輸接口ASI的實現
發布時間:2008/5/26 0:00:00 訪問次數:755
    
    
    在目前的dvb-c廣播電視系統的傳輸接口中,有兩種mpeg-2視頻傳輸接口標準:異步串行接口標準 asi和同步并行接口spi。spi一共有11位有用信號,每位信號差分成兩個信號用來提高傳輸抗干擾性,在物理鏈接上用db25傳輸,因此連線多且復雜,傳輸距離短,容易出現故障。但spi是并行11位信號,處理簡單且擴展性強,因此目前一般的mpeg-2視頻編碼器的輸出和視頻***的輸入都是標準的并行11位信號。asi用串行傳輸,只需一根同軸電纜線傳輸,連線簡單,傳輸距離長。根據spi和asi的優缺點,需要傳輸信號的spi和asi的互相轉換。
    
    1 spi信號結構
    
    并行傳輸系統spi包括一位時鐘信號、8位數據信號、一位幀同步信號psync和一位數據有效信號dvalid。幀同步信號對應ts包的同步字節047h,dvalid信號用來區分ts包的長度為188個字節或204個字節。當ts包長為188字節時,dvalid信號一直為高,同時所有信號都與時鐘信號保持同步。spi數據格式如圖所示。
    
    
    
    2 asi接口
    
    asi傳輸流可以有不同數據速率,但傳輸速率恒定,為270mbps,因此asi可以發送和接收不同速率的mpeg-2數據。asi傳輸系統為分層結構。最高層、第2層使用mpeg-2標準iso/iec 13818-(systems),第0層和第1層是基于iso/ieo cd 14165-1的fc纖維信道。fc支持多種物理傳輸媒介,本方案選用同軸電纜傳輸,圖2是基于同軸電纜的asi傳輸系統框圖。
    
    
    
    圖2 基于同軸電纜的asi傳輸系統框圖
    
    首先將包同步的mpeg-2傳送包的8-bit碼字轉換成10-bit碼字;接著在并/串轉換時,當要求輸入一個新字、而數據源還沒有準備好時,應插入一個k28.5的同步字,以達到asi的固定270mbps傳輸速率。所形成的串行比特流將通過緩沖/驅動電路和耦合網絡,送到同軸電纜連接器上。插入同步碼字可以有三種方法:傳輸碼流的單個字節前后不能都是同步字;傳輸碼流的單個字節前后必須都是同步字;或者是兩者的組合。
    
    到達同軸電纜的接收數據,首先要經過連接器和耦合網絡耦合到恢復時鐘和數據的電路上,然后進行串/并變換;為了恢復字節同步,asi***必須先搜尋到k28.5同步字,一旦搜索到該同步字,即為隨后接收的數據標定了邊界,從而建立了***輸出字節的正確字節排列;最后進行10/8-bit變換,恢復出包同步的mpeg-2 ts碼流數據。但是k28.5同步字不是有效數據,因此解碼時必須刪除。
    
    3 asi接口實現方案
    
    在本方案中,mpeg-2 ts碼流由單片mpeg-2編碼器mb86390提供,它輸出符合spi標準的并行11位信號,ts包長度為188個字節。在spi/asi轉換方案中,主要選用cypress公司cyb923/cyb933芯片、異步fifo和邏輯編程器cpld實現。
    
    cyb923主要實現碼字的8/10bit轉換、插入同步字k28.5和并/串變換。asi的傳輸速率恒定為270mhz,而輸入mpeg-2 ts碼率是不同的,所以要用fifo實現速率匹配,需要對輸入的spi數據、fifo和cyb923之間的通信進行邏輯控制。綜合性能、價格和程序復雜度的考慮,本方案采用xilinx公司的cpld邏輯編程器xc95108;用vhdl編程實現對它們的邏輯控制。asi的解碼也是相似的過程,cyb933主要實現10/8bit轉換、去除同步字k28.5和串并變換。
    
    3.1 asi編碼
    
    在asi的編碼過程中,只需將mpeg-2 ts的八位數據和一位ts碼率傳輸時鐘輸入到cpld。因為在本方案中,ts格式為188個字節,因此數據有效信號dvalid一直為高,cpld忽略這個信號,只管接收ts碼流數據,而不用關心ts碼流的同步頭。psync幀同步信號也一樣忽略。cpld將接收到的數據以ts碼率時鐘寫入fifo。當fifo半滿時,cpld接收到fifo的半滿信號,然后cpld給cyb923發fifo可讀信號,cyb923以27mbps讀取fifo中的數據;當cpld計數到cyb923讀取了一定數量的fifo數據,cpld則向cyb923發送fifo不可讀信號,防止fifo讀空。m
    
    
    在目前的dvb-c廣播電視系統的傳輸接口中,有兩種mpeg-2視頻傳輸接口標準:異步串行接口標準 asi和同步并行接口spi。spi一共有11位有用信號,每位信號差分成兩個信號用來提高傳輸抗干擾性,在物理鏈接上用db25傳輸,因此連線多且復雜,傳輸距離短,容易出現故障。但spi是并行11位信號,處理簡單且擴展性強,因此目前一般的mpeg-2視頻編碼器的輸出和視頻***的輸入都是標準的并行11位信號。asi用串行傳輸,只需一根同軸電纜線傳輸,連線簡單,傳輸距離長。根據spi和asi的優缺點,需要傳輸信號的spi和asi的互相轉換。
    
    1 spi信號結構
    
    并行傳輸系統spi包括一位時鐘信號、8位數據信號、一位幀同步信號psync和一位數據有效信號dvalid。幀同步信號對應ts包的同步字節047h,dvalid信號用來區分ts包的長度為188個字節或204個字節。當ts包長為188字節時,dvalid信號一直為高,同時所有信號都與時鐘信號保持同步。spi數據格式如圖所示。
    
    
    
    2 asi接口
    
    asi傳輸流可以有不同數據速率,但傳輸速率恒定,為270mbps,因此asi可以發送和接收不同速率的mpeg-2數據。asi傳輸系統為分層結構。最高層、第2層使用mpeg-2標準iso/iec 13818-(systems),第0層和第1層是基于iso/ieo cd 14165-1的fc纖維信道。fc支持多種物理傳輸媒介,本方案選用同軸電纜傳輸,圖2是基于同軸電纜的asi傳輸系統框圖。
    
    
    
    圖2 基于同軸電纜的asi傳輸系統框圖
    
    首先將包同步的mpeg-2傳送包的8-bit碼字轉換成10-bit碼字;接著在并/串轉換時,當要求輸入一個新字、而數據源還沒有準備好時,應插入一個k28.5的同步字,以達到asi的固定270mbps傳輸速率。所形成的串行比特流將通過緩沖/驅動電路和耦合網絡,送到同軸電纜連接器上。插入同步碼字可以有三種方法:傳輸碼流的單個字節前后不能都是同步字;傳輸碼流的單個字節前后必須都是同步字;或者是兩者的組合。
    
    到達同軸電纜的接收數據,首先要經過連接器和耦合網絡耦合到恢復時鐘和數據的電路上,然后進行串/并變換;為了恢復字節同步,asi***必須先搜尋到k28.5同步字,一旦搜索到該同步字,即為隨后接收的數據標定了邊界,從而建立了***輸出字節的正確字節排列;最后進行10/8-bit變換,恢復出包同步的mpeg-2 ts碼流數據。但是k28.5同步字不是有效數據,因此解碼時必須刪除。
    
    3 asi接口實現方案
    
    在本方案中,mpeg-2 ts碼流由單片mpeg-2編碼器mb86390提供,它輸出符合spi標準的并行11位信號,ts包長度為188個字節。在spi/asi轉換方案中,主要選用cypress公司cyb923/cyb933芯片、異步fifo和邏輯編程器cpld實現。
    
    cyb923主要實現碼字的8/10bit轉換、插入同步字k28.5和并/串變換。asi的傳輸速率恒定為270mhz,而輸入mpeg-2 ts碼率是不同的,所以要用fifo實現速率匹配,需要對輸入的spi數據、fifo和cyb923之間的通信進行邏輯控制。綜合性能、價格和程序復雜度的考慮,本方案采用xilinx公司的cpld邏輯編程器xc95108;用vhdl編程實現對它們的邏輯控制。asi的解碼也是相似的過程,cyb933主要實現10/8bit轉換、去除同步字k28.5和串并變換。
    
    3.1 asi編碼
    
    在asi的編碼過程中,只需將mpeg-2 ts的八位數據和一位ts碼率傳輸時鐘輸入到cpld。因為在本方案中,ts格式為188個字節,因此數據有效信號dvalid一直為高,cpld忽略這個信號,只管接收ts碼流數據,而不用關心ts碼流的同步頭。psync幀同步信號也一樣忽略。cpld將接收到的數據以ts碼率時鐘寫入fifo。當fifo半滿時,cpld接收到fifo的半滿信號,然后cpld給cyb923發fifo可讀信號,cyb923以27mbps讀取fifo中的數據;當cpld計數到cyb923讀取了一定數量的fifo數據,cpld則向cyb923發送fifo不可讀信號,防止fifo讀空。m
上一篇:智能儀表的CAN接口設計