專利名稱:一種傳輸流生成裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種傳輸流生成裝置,特別是一種通過FPGA進行處理數(shù)據(jù)的傳輸流生成裝置。
背景技術(shù):
參見圖l,現(xiàn)有的TS流發(fā)生器,包括主板l、存儲體2、鍵盤3、顯示器4、輸出接口板 5、硬盤6和電源7,其中電源7為主板1、存儲體2、鍵盤3、顯示器4、輸出接口板5和硬 盤6供電,系統(tǒng)控制過程為主板1讀取硬盤6中的節(jié)目數(shù)據(jù)到存儲體2中,并對鍵盤3進 行掃描,判斷鍵盤3是否有節(jié)目按下,有節(jié)目按下則給地址變量賦新節(jié)目開始地址,并從存 儲體2中地址變量指定的位置讀取一個單元數(shù)據(jù),送到輸出接口板5輸出,沒有節(jié)目按下, 則直接從存儲體2中地址變量指定的位置讀取一個單元數(shù)據(jù),送到輸出接口板5輸出,令地 址變量加l,判斷地址變量是否為結(jié)束地址,是結(jié)束地址,則發(fā)送TS中斷信息到輸出接口板 5,并對地址變量重新賦開始地址,并對鍵盤3掃描,循環(huán)上述過程,不是結(jié)束地址,對鍵盤 3進行掃描,循環(huán)上述過程。
其中主板1通常選用單片機或者通用處理器,處理速度慢,不能對TS生成數(shù)據(jù)做復(fù)雜的 處理,只能將事先做好的文件原樣輸出,因此,節(jié)目體積大,必須采用硬盤6才能裝下,即 便如此,也只能裝下長度為1分鐘的節(jié)目,如需要超過l分鐘的節(jié)目只能通過上述過程循環(huán) 播放,因為不能對節(jié)目進行復(fù)雜處理,文件只能原樣輸出,無法通過相互組合實現(xiàn)多樣化, 所以節(jié)目源少。 '
為了實現(xiàn)無縫循環(huán)播放,在節(jié)目播放l分鐘長度(即到達結(jié)束地址)時,插入TS中斷信 息來通知接收設(shè)備,如此雖然滿足了 MPEG2標(biāo)準(zhǔn)的要求,但是首尾拼接時圖象會產(chǎn)生破損, 聲音出現(xiàn)間斷。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的是提供一種處理速度快,節(jié)省內(nèi)存空間,節(jié)目 源豐富,形成無限連續(xù)的數(shù)據(jù)流,無圖像抖動、殘損和聲音間斷的一種傳輸流生成裝置。 為達到上述目的,本發(fā)明采用如下技術(shù)方案
一種傳輸流生成裝置,包括FPGA裝置、SDRAM裝置、晶振裝置和FLASH存儲器裝置,所述SDRAM裝置用于存儲相應(yīng)的節(jié)目數(shù)據(jù);所述晶振裝置用于提供輸入時鐘;所述FLASH存儲 裝置用于存儲FPGA硬件配置程序,在接通電源時進行加載;所述FPGA裝置包括處理器接口 裝置、指令參數(shù)譯碼寄存器裝置、SDRAM控制器裝置以及第一 FIFO裝置、串/并轉(zhuǎn)換裝置、 第二FIF0裝置、PLL裝置、第三FIF0裝置、SPIJ)UT裝置和ASI—OUT裝置; 所述處理器接口裝置用于接收 ARM 數(shù)據(jù), 通過對地址進行譯碼,將節(jié)目數(shù)據(jù)和指令參數(shù) 分離;
所述指令參數(shù)譯碼寄存器裝置用于對圖象播放開始地址、圖象播放結(jié)束地址、聲音播放 開始地址、聲音播放結(jié)束地址、PCR增量、PTS增量、DTS增量、APTS增量進行譯碼和保存;
所述SDRAM控制器裝置用于對SDRAM裝置進行初始化,接收所述處理器接口裝置和所述 指令參數(shù)譯碼寄存器傳來的數(shù)據(jù)、參數(shù)和指令,完成對所述SDRAM裝置的數(shù)據(jù)寫入和讀出操 作;
所述第一 FIFO裝置用于將SDRAM控制器裝置傳來的數(shù)據(jù)包進行緩沖; 所述串/并轉(zhuǎn)換裝置用于將所述第一 FIFO裝置傳來的寬度為24比特的數(shù)據(jù)轉(zhuǎn)換成3個8 比特的數(shù)據(jù);
所述第二 FIFO裝置用于對上述串/并轉(zhuǎn)換裝置傳來的數(shù)據(jù)包進行緩沖,并送到下一裝置; 所述PLL裝置用于對晶振裝置提供的時鐘信號進行鎖相,產(chǎn)生系統(tǒng)工作所需的時鐘; 所述第三FIFO裝置用于將數(shù)據(jù)進行緩沖,并輸出出去;
所述SPIJ)UT裝置用于接收所述第三FIFO裝置傳來的數(shù)據(jù),并轉(zhuǎn)化成SPI格式的數(shù)據(jù)輸
出;
所述ASIJ)UT裝置用于接收所述第三FIFO裝置傳來的數(shù)據(jù),并轉(zhuǎn)化成ASI格式的數(shù)據(jù)輸
出;
所述FPGA裝置還包括MPEG2數(shù)據(jù)包加工裝置,所述SDRAM控制器裝置中還設(shè)置有數(shù)據(jù)類 型鑒別裝置;
所述數(shù)據(jù)類型鑒別裝置用于在所述SDRAM控制器裝置中的第一狀態(tài)機裝置控制下,實現(xiàn) 視頻和聲音數(shù)據(jù)的交替?zhèn)鬏?,使兩個獨立的純聲音和純視頻文件按照一定的規(guī)則合成為一個 即含聲音又含圖象的數(shù)據(jù)流,并將數(shù)據(jù)流中的數(shù)據(jù)包發(fā)送到所述第一 FIFO裝置進行輸出。
所述MPEG2數(shù)據(jù)包加工裝置用于接收所述第二 FIFO裝置傳來的數(shù)據(jù)包,并將數(shù)據(jù)包進行 加工,對參數(shù)進行實時修改,形成符合MPEG2標(biāo)準(zhǔn)的連續(xù)的數(shù)據(jù)流,送到所述第三FIFO裝置 輸出。
本發(fā)明的一種傳輸流生成裝置,其中所述MPEG2數(shù)據(jù)包加工裝置包括第二狀態(tài)機裝置、包長計數(shù)器裝置、特征碼識別裝置、插空包數(shù)量裝置、參數(shù)輸入寄存器裝置,參數(shù)累加裝置、 加法器裝置、參數(shù)輸出寄存器裝置、順序碼生成裝置、第二選擇器裝置,第三選擇器裝置、 雙端口 RAM裝置、空包生成裝置、第四選擇器裝置以及參數(shù)修改裝置; 所述包長計數(shù)器裝置用于提供雙端口 RAM地址;
所述特征碼識別裝置用于接收所述第二 FIFO裝置輸出的數(shù)據(jù)包,并存放數(shù)據(jù)包起始第5 個字節(jié)處的特征碼,并對特征碼進行解碼,輸出指示信號;
所述插空包數(shù)量裝置用于存放數(shù)據(jù)包起始位置第4個字節(jié)處空包指示數(shù)據(jù);
所述參數(shù)輸入寄存器裝置用于依據(jù)來自所述特征碼識別裝置的指示信號,將數(shù)據(jù)包中的 不同參數(shù)提取出來,并發(fā)送到下一裝置;
所述參數(shù)累加裝置用于對所述指令參數(shù)譯碼寄存器裝置傳來的參數(shù)進行時基累加,每個 播放循環(huán)結(jié)束后累加1次;
所述加法器裝置用于接收所述參數(shù)輸入寄存器裝置傳來的數(shù)據(jù),并與所述參數(shù)累加裝置 的值相加后得到真實時基數(shù)值送到下一裝置;
所述參數(shù)輸出寄存器裝置用于接收所述加法器裝置傳來的數(shù)據(jù),并保存;
所述順序碼生成裝置用于將相同PID的數(shù)據(jù)包的順序碼連續(xù)累加,保存在內(nèi)部寄存器;
所述第二狀態(tài)機裝置用于控制狀態(tài)的輪流切換;
所述第二選擇器裝置用于選擇所述雙端口 RAM裝置輸入數(shù)據(jù)通道;
所述第三選擇器裝置用于選擇所述雙端口 RAM裝置地址通道;
所述雙端口 RAM裝置用于在所述第二狀態(tài)機裝置控制下,完成數(shù)據(jù)的緩沖和時基參數(shù)的 修改,并傳輸?shù)较乱谎b置;
所述空包生成裝置用于生成空包并送往下一裝置;
所述第四選擇器裝置用于受控制選擇所述雙端口 RAM裝置或者所述空包生成裝置傳來的 數(shù)據(jù)傳輸?shù)剿龅谌鼺IFO裝置中;
所述參數(shù)修改裝置用于受所述第二狀態(tài)機裝置的控制,進行MPEG2格式的參數(shù)修改,通 過所述第二選擇器裝置和所述第三選擇器裝置送到所述雙端口 RAM裝置。
本發(fā)明的一種傳輸流生成裝置,其中所述SDRAM控制器裝置還包括第一狀態(tài)機裝置、地 址發(fā)生器裝置、第一選擇器裝置、雙向數(shù)據(jù)端口裝置、地址/控制輸出裝置;
所述第一狀態(tài)控制機裝置用于控制進行寫指令或者播放指令;
所述地址發(fā)生器裝置用于提取所述指令參數(shù)譯碼寄存器裝置的圖象播放開始地址、圖象 播放結(jié)束地址、聲音播放開始地址、聲音播放結(jié)束地址四個參數(shù),使其內(nèi)部計數(shù)器在這四個參數(shù)的控制下循環(huán)計數(shù),并在適當(dāng)?shù)臅r刻輸出狀態(tài)變換信號,控制所述第一狀態(tài)控制機裝置
變換狀態(tài),完成對所述SDRAM裝置的動態(tài)刷新操作;
所述第一選擇器裝置用于實現(xiàn)所述SDRAM裝置在寫或者播放狀態(tài)下的地址切換; 所述地址/控制輸出裝置用于受所述第一狀態(tài)機裝置控制,生成SDRAM讀寫過程中,地址
和控制引腳所需的地址和控制信號;
所述雙向數(shù)據(jù)端口裝置用于實現(xiàn)所述SDRAM裝置在寫狀態(tài)和播放狀態(tài)下的數(shù)據(jù)雙向傳輸。
本發(fā)明的一種傳輸流生成裝置,其中所述FPGA裝置采用芯片EP2C8F256C6; 本發(fā)明的一種傳輸流生成裝置,其中所述SDRAM裝置采用HY57V561620CT-6芯片。 本發(fā)明的一種傳輸流生成裝置,其中所述HY57V561620CT-6芯片為四片。 本發(fā)明的一種傳輸流生成裝置,其中所述晶振裝置釆用27M有源晶振。 本發(fā)明的一種傳輸流生成裝置,其中所述27M有源晶振通過所述PLL裝置鎖相后,輸出 的兩路時鐘信號分別為27MHz和108MHz。
本發(fā)明的一種傳輸流生成裝置,其中所述FLASH存儲器裝置采用PEPCS4芯片。 一種包括上述傳輸流生成裝置的發(fā)生器,包括鍵盤、顯示器、輸出接口板、U盤以及電
源;
所述鍵盤用于選擇節(jié)目,并傳輸選擇信號;
所述顯示器用于顯示被選擇節(jié)目信息;
所述輸出接口板用于輸出數(shù)據(jù)包到外部;
所述U盤用于存儲節(jié)目數(shù)據(jù);
所述電源用于供電;
還包括ARM板和FPGA板;
所述ARM板用于接收來自所述鍵盤的命令后,發(fā)送寫指令,從所述U盤中讀取節(jié)目數(shù)據(jù), 發(fā)送所述節(jié)目數(shù)據(jù),同時發(fā)送TS加工參數(shù),寫數(shù)據(jù)指令和播放指令;
所述FPGA板用于對所述ARM板傳來的所有節(jié)目數(shù)據(jù)進行加工,形成符合標(biāo)準(zhǔn)的連續(xù)的數(shù) 據(jù)流,并送到所述輸出接口板輸出。
由于本發(fā)明在FPGA板處理數(shù)據(jù),處理速度快;又在SDRAM控制器裝置中設(shè)置了數(shù)據(jù)類型 鑒別裝置,將兩個獨立的純聲音和純視頻文件按照一定的規(guī)則合成為一個即含聲音又含圖象 的數(shù)據(jù)流,極大的壓縮了播放節(jié)目的數(shù)據(jù)量,節(jié)省了內(nèi)存空間,并通過MPEG2數(shù)據(jù)包加工裝 置對數(shù)據(jù)流進行加工,達到了符合標(biāo)準(zhǔn)的MPEG2格式要求的無限連續(xù)的數(shù)據(jù)流,不存在圖像抖動、殘損,聲音間斷的情況;又通過采用了不同的聲音和視頻文件的組合,生成了種類豐 富的節(jié)目源。
通過采用的上述的FPGA板和ARM板以及鍵盤、顯示器、U盤、電源、輸出接口板組合的 發(fā)生器,從而使發(fā)生器成為了一種處理速度快,節(jié)省內(nèi)存空間,節(jié)目源豐富,形成無限連續(xù) 的數(shù)據(jù)流,無圖像抖動、殘損和聲音間斷的發(fā)生器。
圖1是現(xiàn)有技術(shù)中TS流發(fā)生器的原理框圖2是本發(fā)明一種傳輸流生成裝置的原理框圖3是本發(fā)明一種傳輸流生成裝置的FPGA板的硬件連接圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明的實施方式進行詳細說明。
參見圖2, 一種傳輸流生成裝置,包括ARM板ll、鍵盤33、顯示器44、輸出接口板55、 U盤66、電源77以及FPGA (Field —Programmable Gate Array,現(xiàn)場可編程門陣列)板 88;
鍵盤33用于選擇節(jié)目,并傳輸選擇信號; 顯示器44用于顯示被選擇節(jié)目信息; 輸出接口板55用于輸出數(shù)據(jù)包到外部; U盤66用于存儲節(jié)目數(shù)據(jù); 電源77用于供電;
ARM板11用于接收來自鍵盤33的命令后,發(fā)送寫指令,從U盤66中讀取節(jié)目數(shù)據(jù),發(fā) 送所述節(jié)目數(shù)據(jù),同時發(fā)送TS加工參數(shù),寫數(shù)據(jù)指令和播放指令;
FPGA板88用于對ARM板11傳來的所有節(jié)目數(shù)據(jù)進行加工,形成符合標(biāo)準(zhǔn)的連續(xù)的數(shù)據(jù) 流,并送到輸出接口板55輸出。
ARM板11上的ARM芯片通過相應(yīng)的管腳連接FPGA芯片,F(xiàn)PGA芯片采用ALTERA公司的 EP2C8F256C6芯片。并使鍵盤33連接ARM芯片的相應(yīng)管腳,顯示器44連接ARM芯片的相應(yīng) 管腳,ARM芯片通過相應(yīng)的管腳設(shè)置U盤66的接口,其中FPGA板88上通過相應(yīng)的管腳設(shè)置 輸出,通過輸出接口板55連接到外部設(shè)備。
參見圖3, FPGA板88包括FPGA裝置81, SDRAM裝置82和晶振裝置83以及FLASH存儲 器裝置;
SDRAM裝置82采用HY57V561620CT-6芯片,為16Mxl6bit的,共有4片,晶振裝置83采用27MHz有源晶振,F(xiàn)LASH存儲器裝置采用芯片EPCS4。
FLASH存儲裝置用于存儲FPGA硬件配置程序,在接通電源時進行加載;并通過SDRAM控 制器裝置81b對SDRAM裝置82進行初始化。
晶振裝置83為FPGA裝置81提供輸入時鐘,通過PLL (Phase Locked Loop,鎖相環(huán)) 裝置824進行鎖相后,產(chǎn)生系統(tǒng)工作所需的時鐘,輸出兩路時鐘,分別為27MHz和108MHz, 其中SDRAM控制器裝置81b中的地址/控制輸出裝置801、雙向數(shù)據(jù)端口裝置802、第一選擇 器裝置803、地址發(fā)生器裝置804、數(shù)據(jù)類型鑒別裝置805和第一狀態(tài)機裝置806釆用108MHz 的時鐘,F(xiàn)PGA裝置81中的其他裝置均采用27MHz的時鐘。
ARM板11在接收到來自鍵盤33的命令后,向FPGA板88發(fā)送寫指令,然后從U盤66中. 讀取節(jié)目數(shù)據(jù),發(fā)送節(jié)目數(shù)據(jù),同時發(fā)送TS加工參數(shù),寫數(shù)據(jù)指令和播放指令。
ARM板11與FPGA裝置81中的處理器接口裝置807通過地址、數(shù)據(jù)、控制總線相連,處 理器接口裝置807接收來自ARM板11的所有數(shù)據(jù),通過對地址進行譯碼,將節(jié)目數(shù)據(jù)和指令 參數(shù)分離;將節(jié)目數(shù)據(jù)送到SDRAM控制器裝置81b的雙向數(shù)據(jù)端口裝置802,節(jié)目保存地址 送到SDRAM控制器裝置81b中的第一選擇器裝置803的1端口,狀態(tài)機控制信號送到SDRAM 控制器裝置81b中的第一狀態(tài)機裝置806,指令參數(shù)則送往指令參數(shù)譯碼寄存器裝置808。
指令參數(shù)譯碼寄存器裝置808對來自處理器接口裝置807的指令參數(shù)做進一步譯碼,分 離出不同的指令和參數(shù)。
FPGA板88收到ARM板11傳來的寫指令時,指令參數(shù)譯碼寄存器裝置808的寫數(shù)據(jù)信號 線將變?yōu)楦唠娖接行Вシ判盘柧€處于低電平無效。SDRAM控制器裝置81b中的第一狀態(tài)機 裝置806檢測到指令參數(shù)譯碼寄存器裝置808的寫數(shù)據(jù)信號線為高電平,判斷出當(dāng)前應(yīng)為寫 入狀態(tài),于是將地址切換信號線置高,使第一選擇器803的1端口和3端口接通,ARM板ll 送來的節(jié)目保存地址通過第一選擇器裝置801到達地址/控制輸.出裝置801。寫狀態(tài)將出現(xiàn)在 第一狀態(tài)機裝置806的狀態(tài)輸出信號線上,第一狀態(tài)機裝置806的狀態(tài)輸出信號送到地址/ 控制輸出裝置801中,在此狀態(tài)下,地址/控制輸出裝置801內(nèi)部生成SDRAM裝置82寫所需 的所有控制信號,送到SDRAM裝置82的控制端口;節(jié)目保存地址經(jīng)過第一選擇器裝置803到 地址/控制輸出裝置801進行緩沖,到達SDRAM裝置82的地址端口 ;第一狀態(tài)機裝置806的 狀態(tài)輸出信號控制雙向數(shù)據(jù)端口裝置802的1端口和3端口接通,ARM送來的節(jié)目數(shù)據(jù)通過 雙向數(shù)據(jù)端口裝置802到達SDRAM的數(shù)據(jù)端口 。
經(jīng)過上述步驟,寬度為24bit的一個數(shù)據(jù)被保存到SDRAM裝置82中的一個地址空間,在 第一狀態(tài)機裝置806的控制下,這個過程不斷重復(fù),直到將整個節(jié)目保存到SDRAM中。節(jié)目數(shù)據(jù)保存到SDRAM裝置82之后,ARM板11向FPGA裝置81發(fā)送加工參數(shù),包括圖 象播放開始地址、圖象播放結(jié)束地址、聲音播放開始地址、聲音播放結(jié)束地址、PCR增量、 PTS增量、DTS增量、APTS增量,這些參數(shù)經(jīng)過指令參數(shù)譯碼寄存器裝置808譯碼后分別保 存到各自寄存器中。
ARM板11發(fā)送加工參數(shù)發(fā)送完畢后向FPGA裝置81發(fā)送播放指令,此指令經(jīng)過通過處理 器接口裝置807傳輸?shù)街噶顓?shù)譯碼寄存器裝置808進行譯碼后,播放信號線變?yōu)楦唠娖接?效,寫數(shù)據(jù)信號線將變?yōu)榈碗娖綗o效。第一狀態(tài)機裝置806檢測到播放信號線為高電平,將 狀態(tài)輸出信號變?yōu)樽x出,地址切換信號線被置低,使第一選擇器裝置803的2端口和3端口 接通,狀態(tài)輸出信號送到地址發(fā)生器裝置804,地址發(fā)生器裝置804通過第一選擇器裝置803 的2端口和3端口輸出地址信號送到地址/控制輸出裝置801中。
地址/控制輸出裝置801檢測到播放狀態(tài),其內(nèi)部生成SDRAM裝置82讀所需的所有控制 信號,控制SDRAM裝置82完成讀出操作。
第一狀態(tài)機裝置806通過狀態(tài)輸出信號控制雙向數(shù)據(jù)端口裝置802為播放狀態(tài),使雙向 數(shù)據(jù)端口裝置802的2端口和3端口接通,從SDRAM裝置82中讀出的數(shù)據(jù)送達數(shù)據(jù)類型鑒別 裝置805。
地址發(fā)生器裝置804檢測到播放狀態(tài)后,從指令參數(shù)譯碼寄存器裝置808中提取圖象播 放開始地址、圖象播放結(jié)束地址、聲音播放開始地址、聲音播放結(jié)束地址四個參數(shù),將開始 地址賦值給地址發(fā)生器裝置804內(nèi)部的計數(shù)器,以后每經(jīng)過一個時鐘周期計數(shù)器加1,當(dāng)計 數(shù)器的值等于播放結(jié)束地址時,重新賦值為開始地址,如此周而復(fù)始,無限循環(huán)下去,直到 切換節(jié)目為止。地址發(fā)生器裝置804在初始狀態(tài)下輸出的是圖象地址,隨后在工作中它的地 址輸出類型會在聲音地址和圖象地址之間交替變化,這個交替變化由數(shù)據(jù)類型鑒別裝置805 決定。地址發(fā)生器裝置804的狀態(tài)變換輸出信號令第一狀態(tài)機裝置806定期改變狀態(tài),以滿 足SDRAM裝置82的自動刷新和預(yù)充電操作。
數(shù)據(jù)類型鑒別裝置805只在播放狀態(tài)下工作,它的功能是從每個數(shù)據(jù)包的起始第三個字 節(jié)處取音頻標(biāo)記,然后加以判斷,根據(jù)判斷結(jié)果產(chǎn)生對應(yīng)的類型標(biāo)記信號去控制地址發(fā)生器 裝置804在聲音和圖象之間來回切換,其結(jié)果是將兩個獨立的純聲音和純視頻文件按照一定 的規(guī)則合成為一個即含聲音又含圖象的數(shù)據(jù)流,極大的壓縮了播放節(jié)目的數(shù)據(jù)量,對多種音/ 視頻文件可以相互組合,形成種類豐富的節(jié)目源。
從數(shù)據(jù)類型鑒別裝置805輸出的數(shù)據(jù)包經(jīng)過第一 FIFO (First Input First Output, 先入先出隊列)裝置828緩沖后,送到串/并轉(zhuǎn)換裝置830,從24比特轉(zhuǎn)換為3個8比特的數(shù)據(jù),再經(jīng)過第二 FIFO裝置829緩沖,送往MPEG2數(shù)據(jù)包加工裝置81a。
MPEG2數(shù)據(jù)包加工裝置81a受第二狀態(tài)機裝置811控制,隨著第二狀態(tài)機裝置811在各
種狀態(tài)間輪流切換,按步驟完成數(shù)據(jù)包的加工。第二狀態(tài)機裝置811的輸出狀態(tài)依次是獲取
空包數(shù),雙端口RAM寫入,順序碼連續(xù)處理,PCR、 PTS、 DTS參數(shù)修改,插空包,標(biāo)準(zhǔn)輸出,
整個狀態(tài)序列完成后重新開始循環(huán)。
在獲取空包數(shù)狀態(tài)下,存放在數(shù)據(jù)包起始位置第4個字節(jié)處的數(shù)據(jù)被鎖存到插空包數(shù)量'
裝置813內(nèi)部寄存器。
指令參數(shù)譯碼寄存器裝置808傳輸PCR增量、PTS增量、DTS增量以及APTS增量到參數(shù) 累加裝置809中,參數(shù)累加裝置809對上述參數(shù)進行累加。
在雙端口 RAM寫入狀態(tài)下,第二選擇器裝置818的2端口和3端口接通,第二FIF0裝置 829送來的數(shù)據(jù)加到入雙端口 RAM裝置820的數(shù)據(jù)端口,第三選擇器裝置819的2端口和3 端口接通,包長計數(shù)器裝置810為雙端口 RAM裝置820提供地址,包長計數(shù)器從0計數(shù)到187, 總共向雙端口 RAM寫入188字節(jié)數(shù)據(jù)。存放在數(shù)據(jù)包起始第5個字節(jié)處的特征碼被鎖存到特 征碼識別裝置812,特征碼識別裝置812通過解碼,輸出指示信號,參數(shù)輸入寄存器裝置814 收到來自特征碼識別裝置812的指示信號,將數(shù)據(jù)包中的不同參數(shù)提取出來,送到加法器裝 置815,與參數(shù)累加裝置809的值相加后保存在參數(shù)輸出寄存器裝置816。
在順序碼連續(xù)處理狀態(tài)下,順序碼生成裝置817將相同PID的數(shù)據(jù)包的順序碼連續(xù)累加, 保存在內(nèi)部寄存器。
在參數(shù)修改狀態(tài)下,通過參數(shù)修改裝置823進行參數(shù)修改后,第二選擇器裝置818的0 端口和3端口或1端口和3端口接通,第三選擇器裝置819的1端口和3端口接通,雙端口 RAM裝置820中特定地址上的順序碼、時基參數(shù)被修改。
在插空包狀態(tài)下,第四選擇器裝置822的2端口和3端口接通,空包生成裝置821內(nèi)部 生成的空包數(shù)據(jù)送到第三FIFO裝置827,具體插入多少個空包,由插空包數(shù)量模塊中的寄存 器值決定,每插入一個空包,寄存器中的值減l,當(dāng)寄存器中的值為0時,切換到下個狀態(tài)。 這種插空包的方案,能進一步縮小文件體積,節(jié)省存儲空間
在標(biāo)準(zhǔn)輸出狀態(tài)下,第四選擇器裝置的1端口和3端口接通,雙端口 RAM裝置820中整 包數(shù)據(jù)送到第三FIFO裝置827,緩沖后從SPI—OUT裝置826和ASIJ)UT裝置825端口輸出到 設(shè)備外部。其中SPIJ)UT裝置826傳輸SPI格式的數(shù)據(jù),ASIJ)UT裝置825傳輸ASI格式的 數(shù)據(jù)。
在循環(huán)累計狀態(tài)下,參數(shù)累加裝置809中的各時基參數(shù)實現(xiàn)累加。為下一個G0P循環(huán)做準(zhǔn)備。
由于本發(fā)明在FPGA板處理數(shù)據(jù),處理速度快;又在SDRAM控制器裝置中設(shè)置了數(shù)據(jù)類型 鑒別裝置,將兩個獨立的純聲音和純視頻文件按照一定的規(guī)則合成為一個即含聲音又含圖象 的數(shù)據(jù)流,極大的壓縮了播放節(jié)目的數(shù)據(jù)量,節(jié)省了內(nèi)存空間,并通過MPEG2數(shù)據(jù)包加工裝 置對數(shù)據(jù)流進行加工,達到了符合標(biāo)準(zhǔn)的MPEG2格式要求的無限連續(xù)的數(shù)據(jù)流,不存在圖像 抖動、殘損,聲音間斷的情況;又通過采用了不同的聲音和視頻文件的組合,生成了種類豐 富的節(jié)目源。
通過采用的上述的FPGA板和ARM板以及鍵盤、顯示器、U盤、電源、輸出接口板組合的 發(fā)生器,從而使發(fā)生器成為了一種處理速度快,節(jié)省內(nèi)存空間,節(jié)目源豐富,形成無限連續(xù) 的數(shù)據(jù)流,無圖像抖動、殘損和聲音間斷的發(fā)生器。
以上的實施例僅是對本發(fā)明的優(yōu)選實施方式進行描述,并非對本發(fā)明的范圍進行限定, 在不脫離本發(fā)明設(shè)計精神的前提下,本領(lǐng)域普通工程技術(shù)人員對本發(fā)明的技術(shù)方案做出的各 種變形和改進,均應(yīng)落入本發(fā)明的權(quán)利要求書確定的保護范圍內(nèi)。
權(quán)利要求
1. 一種傳輸流生成裝置,包括FPGA裝置(81)、SDRAM裝置(82)、晶振裝置(83)和FLASH存儲器裝置,所述SDRAM裝置(82)用于存儲相應(yīng)的節(jié)目數(shù)據(jù);所述晶振裝置(83)用于提供輸入時鐘;所述FLASH存儲裝置用于存儲FPGA硬件配置程序,在接通電源時進行加載;所述FPGA裝置(81)包括處理器接口裝置(807)、指令參數(shù)譯碼寄存器裝置(808)、SDRAM控制器裝置(81b)以及第一FIFO裝置(828)、串/并轉(zhuǎn)換裝置(830)、第二FIFO裝置(829)、PLL裝置(824)、第三FIFO裝置(827)、SPI_OUT裝置(826)和ASI_OUT裝置(825);所述處理器接口裝置(807)用于接收ARM數(shù)據(jù),通過對地址進行譯碼,將節(jié)目數(shù)據(jù)和指令參數(shù)分離;所述指令參數(shù)譯碼寄存器裝置(808)用于對圖象播放開始地址、圖象播放結(jié)束地址、聲音播放開始地址、聲音播放結(jié)束地址、PCR增量、PTS增量、DTS增量、APTS增量進行譯碼和保存;所述SDRAM控制器裝置(81b)用于對SDRAM裝置(82)進行初始化,接收所述處理器接口裝置(807)和所述指令參數(shù)譯碼寄存器(808)傳來的數(shù)據(jù)、參數(shù)和指令,完成對所述SDRAM裝置(82)的數(shù)據(jù)寫入和讀出操作;所述第一FIFO裝置(827)用于將SDRAM控制器裝置(81b)傳來的數(shù)據(jù)包進行緩沖;所述串/并轉(zhuǎn)換裝置(830)用于將所述第一FIFO裝置(827)傳來的寬度為24比特的數(shù)據(jù)轉(zhuǎn)換成3個8比特的數(shù)據(jù);所述第二FIFO裝置(829)用于對上述串/并轉(zhuǎn)換裝置(830)傳來的數(shù)據(jù)包進行緩沖,并送到下一裝置;所述PLL裝置(824)用于對晶振裝置(83)提供的時鐘信號進行鎖相,產(chǎn)生系統(tǒng)工作所需的時鐘;所述第三FIFO裝置(827)用于將數(shù)據(jù)進行緩沖,并輸出出去;所述SPI_OUT裝置(826)用于接收所述第三FIFO裝置(827)傳來的數(shù)據(jù),并轉(zhuǎn)化成SPI格式的數(shù)據(jù)輸出;所述ASI_OUT裝置(825)用于接收所述第三FIFO裝置(827)傳來的數(shù)據(jù),并轉(zhuǎn)化成ASI格式的數(shù)據(jù)輸出;其特征在于,所述FPGA裝置(81)還包括MPEG2數(shù)據(jù)包加工裝置(81a),所述SDRAM控制器裝置(81b)中還設(shè)置有數(shù)據(jù)類型鑒別裝置(806);所述數(shù)據(jù)類型鑒別裝置(806)用于在所述SDRAM控制器裝置(81b)中的第一狀態(tài)機裝置(806)控制下,實現(xiàn)視頻和聲音數(shù)據(jù)的交替?zhèn)鬏?,使兩個獨立的純聲音和純視頻文件按照一定的規(guī)則合成為一個即含聲音又含圖象的數(shù)據(jù)流,并將數(shù)據(jù)流中的數(shù)據(jù)包發(fā)送到所述第一FIFO裝置(828)進行輸出。所述MPEG2數(shù)據(jù)包加工裝置(81a)用于接收所述第二FIFO裝置(829)傳來的數(shù)據(jù)包,并將數(shù)據(jù)包進行加工,對參數(shù)進行實時修改,形成符合MPEG2標(biāo)準(zhǔn)的連續(xù)的數(shù)據(jù)流,送到所述第三FIFO裝置(827)輸出。
2.根據(jù)權(quán)利要求1所述的一種傳輸流生成裝置,其特征在于,所述MPEG2數(shù)據(jù)包加工裝 置(81a)包括第二狀態(tài)機裝置(811)、包長計數(shù)器裝置(810)、特征碼識別裝置(812)、 插空包數(shù)量裝置(813)、參數(shù)輸入寄存器裝置(814),參數(shù)累加裝置(809)、加法器裝置(815)、 參數(shù)輸出寄存器裝置(816)、順序碼生成裝置(817)、第二選擇器裝置(818),第三選擇器 裝置(819)、雙端口RAM裝置(820)、空包生成裝置(821)、第四選擇器裝置(822)以及參 數(shù)修改裝置(823);所述包長計數(shù)器裝置(810)用于提供雙端口RAM地址;所述特征碼識別裝置(812)用于接收所述第二FIFO裝置(829)輸出的數(shù)據(jù)包,并存放 數(shù)據(jù)包起始第5個字節(jié)處的特征碼,并對特征碼進行解碼,輸出指示信號;所述插空包數(shù)量裝置(813)用于存放數(shù)據(jù)包起始位置第4個字節(jié)處空包指示數(shù)據(jù);所述參數(shù)輸入寄存器裝置(814)用于依據(jù)來自所述特征碼識別裝置(812)的指示信號, 將數(shù)據(jù)包中的不同參數(shù)提取出來,并發(fā)送到下一裝置;.所述參數(shù)累加裝置(809)用于對所述指令參數(shù)譯碼寄存器裝置(808)傳來的參數(shù)進行 時基累加,每個播放循環(huán)結(jié)束后累加1次;所述加法器裝置(815)用于接收所述參數(shù)輸入寄存器裝置(814)傳來的數(shù)據(jù),并與所 述參數(shù)累加裝置(809)的值相加后得到真實時基數(shù)值送到下一裝置;所述參數(shù)輸出寄存器裝置(816)用于接收所述加法器裝置(815)傳來的數(shù)據(jù),并保存;所述順序碼生成裝置(817)用于將相同PID的數(shù)據(jù)包的順序碼連續(xù)累加,保存在內(nèi)部寄 存器;所述第二狀態(tài)機裝置(811)用于控制狀態(tài)的輪流切換;所述第二選擇器裝置(818)用于選擇所述雙端口RAM裝置(820)輸入數(shù)據(jù)通道; 所述第三選擇器裝置(819)用于選擇所述雙端口RAM裝置(820)地址通道; 所述雙端口 RAM裝置(820)用于在所述第二狀態(tài)機裝置(811)控制下,完成數(shù)據(jù)的緩沖和時基參數(shù)的修改,并傳輸?shù)较乱谎b置;所述空包生成裝置(821)用于生成空包并送往下一裝置;所述第四選擇器裝置(822)用于受控制選擇所述雙端口 RAM裝置(820)或者所述空包 生成裝置(821)傳來的數(shù)據(jù)傳輸?shù)剿龅谌鼺IFO裝置(827)中;所述參數(shù)修改裝置(823)用于受所述第二狀態(tài)機裝置(811)的控制,進行MPEG2格式 的參數(shù)修改,通過所述第二選擇器裝置(818)和所述第三選擇器裝置(819)送到所述雙端 口 RAM裝置(820)。
3. 根據(jù)權(quán)利要求2所述的一種傳輸流生成裝置,其特征在于,所述SDRAM控制器裝置 (81b)還包括第一狀態(tài)機裝置(806)、地址發(fā)生器裝置(804)、第一選擇器裝置(803)、'.雙向數(shù)據(jù)端口裝置(802)、地址/控制輸出裝置(801);所述第一狀態(tài)控制機裝置(806)用于控制進行寫指令或者播放指令; 所述地址發(fā)生器裝置(804)用于提取所述指令參數(shù)譯碼寄存器裝置(808)的圖象播放 開始地址、圖象播放結(jié)束地址、聲音播放開始地址、聲音播放結(jié)束地址四個參數(shù),使其內(nèi)部 計數(shù)器在這四個參數(shù)的控制下循環(huán)計數(shù),并在適當(dāng)?shù)臅r刻輸出狀態(tài)變換信號,控制所述第一 狀態(tài)控制機裝置(806)變換狀態(tài),完成對所述SDRAM裝置(82)的動態(tài)刷新操作;所述第一選擇器裝置(803)用于實現(xiàn)所述SDRAM裝置(82)在寫或者播放狀態(tài)下的地址 切換;所述地址/控制輸出裝置(801)用于受所述第一狀態(tài)機裝置(806)控制,生成SDRAM讀 寫過程中,地址和控制引腳所需的地址和控制信號;所述雙向數(shù)據(jù)端口裝置(802)用于實現(xiàn)所述SDRAM裝置(82)在寫狀態(tài)和播放狀態(tài)下的 數(shù)據(jù)雙向傳輸。 .
4. 根據(jù)權(quán)利要求3所述的一種傳輸流生成裝置,其特征在于,所述FPGA裝置(81)采 用芯片EP2C8F256C6 。
5. 根據(jù)權(quán)利要求4所述的一種傳輸流生成裝置,其特征在于,所述SDRAM裝置(82)采 用HY57V561620CT-6芯片。
6. 根據(jù)權(quán)利要求5所述的一種傳輸流生成裝置,其特征在于,所述HY57V561620CT-6芯 片為四片。
7. 根據(jù)權(quán)利要求6所述的一種傳輸流生成裝置,其特征在于,所述晶振裝置(83)采用 27M有源晶振。
8. 根據(jù)權(quán)利要求7所述的一種傳輸流生成裝置,其特征在于,所述27M有源晶振通過所述PLL裝置(824)鎖相后,輸出的兩路時鐘信號分別為27MHz和108MHz。
9. 根據(jù)權(quán)利要求8所述的一種傳輸流生成裝置,其特征在于,所述FLASH存儲器裝置采 用PEPCS4芯片。
10. —種包括根據(jù)權(quán)利要求l-9所述的傳輸流生成裝置的發(fā)生器,包括鍵盤(33)、顯示 器(44)、輸出接口板(55)、 U盤(66)以及電源(77);所述鍵盤(33)用于選擇節(jié)目,并傳輸選擇信號; 所述顯示器(44)用于顯示被選擇節(jié)目信息; 所述輸出接口板(55)用于輸出數(shù)據(jù)包到外部; 所述U盤(66)用于存儲節(jié)目數(shù)據(jù); 所述電源(77)用于供電;其特征在于,還包括ARM板(11)和FPGA板(88);所述ARM板(11)用于接收來自所述鍵盤(33)的命令后,發(fā)送寫指令,從所述U盤(66) 中讀取節(jié)目數(shù)據(jù),發(fā)送所述節(jié)目數(shù)據(jù),同時發(fā)送TS加工參數(shù),寫數(shù)據(jù)指令和播放指令;所述FPGA板(88)用于對所述ARM板(11)傳來的所有節(jié)目數(shù)據(jù)進行加工,形成符合標(biāo) 準(zhǔn)的連續(xù)的數(shù)據(jù)流,并送到所述輸出接口板(55)輸出。
全文摘要
一種傳輸流生成裝置,包括FPGA裝置、SDRAM裝置、晶振裝置和FLASH存儲器裝置,F(xiàn)PGA裝置包括處理器接口裝置、指令參數(shù)譯碼寄存器裝置、MPEG2數(shù)據(jù)包加工裝置、SDRAM控制器裝置以及第一、第二、第三FIFO裝置、串/并轉(zhuǎn)換裝置、PLL裝置、SPI_OUT裝置和ASI_OUT裝置;通過數(shù)據(jù)類型鑒別裝置控制視頻和聲音文件的交替?zhèn)鬏?,并將兩個獨立的純聲音和純視頻文件按照一定的規(guī)則合成為一個即含聲音又含圖象的數(shù)據(jù)流,并通過MPEG2數(shù)據(jù)包加工裝置進行數(shù)據(jù)加工,從而提供一種處理速度快,節(jié)省內(nèi)存空間,節(jié)目源豐富,形成無限連續(xù)的數(shù)據(jù)流,無圖像抖動、殘損和聲音間斷的一種傳輸流生成裝置。
文檔編號H04N7/26GK101547364SQ20091008316
公開日2009年9月30日 申請日期2009年5月5日 優(yōu)先權(quán)日2009年5月5日
發(fā)明者周鑫欣, 暉 徐, 徐康興, 博 朱, 翔 李, 樊曉婷, 武曉光, 欣 辛 申請人:北京牡丹視源電子有限責(zé)任公司