專利名稱:碼流播放機的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及碼流播放、回放裝置,尤其涉及HITV(High-Definition Television-高清晰度電視)TS傳送碼流的播放、回放裝置。
背景技術(shù):
現(xiàn)有技術(shù)在進行碼流播放、回放時,大多采用基于PC機操作系統(tǒng)來控制硬盤進行讀寫操作,生產(chǎn)成本較高,硬件設(shè)計復(fù)雜,同時,還要受到PC機操作系統(tǒng)的限制。
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的不足,提供一種基于單片機系統(tǒng)的碼流播放、回放裝置,本發(fā)明采用的技術(shù)方案是,一種碼流播放機,主要包括通用單片機組成的指令輸入和顯示部分,以微處理器為核心的主控制器,包同步識別部分,兩個先進先出移位寄存器,硬盤和解碼器,主控制器與兩個先進先出移位寄存器、包同步識別部分之間設(shè)有控制線,主控制器與硬盤間連接有并行總線,外部指令輸入給指令輸入和顯示部分,指令輸入和顯示部分通過串行總線將外部命令發(fā)送給主控制器,主控制器在外部命令作用下主要開始下列工作步驟以主控制器的Secondary IDE Channel(0x170-0x177)端口作為硬盤的寄存器的端口地址,以基于線性鏈表LBA模式的空間尋址模式和普通輸入輸出PIO方式自硬盤讀寫碼流數(shù)據(jù),當外部命令為向硬盤輸入碼流數(shù)據(jù)時,將碼流數(shù)據(jù)按照邏輯地址順序存入硬盤;當外部命令為自硬盤讀取碼流數(shù)據(jù)時,產(chǎn)生并發(fā)送兩個先進先出移位寄存器和硬盤初始化指令,產(chǎn)生并發(fā)送啟動包同步識別部分給兩個先進先出移位寄存器送出時鐘信號的指令,產(chǎn)生使硬盤按照邏輯地址順序輸出數(shù)據(jù)的指令,等待串行中斷,當接收到串行中斷請求時,再次產(chǎn)生使硬盤按照邏輯地址順序輸出數(shù)據(jù)的指令,而硬盤輸出的數(shù)據(jù)分別通過兩個先進先出移位寄存器緩存,兩個先進先出移位寄存器的半滿HF標志觸發(fā)中斷,即前文主控制器工作步驟中所述的串行中斷,兩個先進先出移位寄存器緩存后輸出的數(shù)據(jù)到達包同步識別部分,包同步識別部分按下列步驟工作對碼流數(shù)據(jù)包進行拆分,產(chǎn)生包同步信號和字節(jié)同步信號;同步識別部分輸出的拆分后的碼流數(shù)據(jù)包、包同步信號和字節(jié)同步信號到達解碼器,經(jīng)解碼器解碼后輸出模擬視頻、音頻信號。
其中,所述的包同步識別部分由時鐘選擇、8分頻器,2分頻器、數(shù)據(jù)流拆分器和包同步識別器組成,包同步識別部分設(shè)有輸入腳,向輸入腳輸值0或1,使包同步識別部分選取不同的輸入頻率,時鐘選擇輸出的時鐘信號分別經(jīng)8分頻器和2分頻器進入數(shù)據(jù)流拆分器與進入數(shù)據(jù)流拆分器來自兩個先進先出移位寄存器的碼流數(shù)據(jù)包共同輸出到包同步識別器,包同步識別器包括狀態(tài)機和計數(shù)器,包同步識別器依次按下列步驟工作一旦接收到一個0x47,計數(shù)器復(fù)位并開始計數(shù),每進位一個數(shù),狀態(tài)機輸出一個字節(jié)同步信號,當計數(shù)器計數(shù)滿187,而且第188個數(shù)據(jù)為0x47條件同時滿足,狀態(tài)機輸出一個包同步信號并鎖定包同步,如果條件不滿足,計數(shù)器繼續(xù)計數(shù),包同步識別部分輸出的字節(jié)同步信號、包同步信號和拆分后的碼流數(shù)據(jù)包輸入解碼器。
再有,所述的主控制器的微處理器芯片型號為C8051F015;所述通用單片機型號為AT89C51;所述兩個先進先出移位寄存器型號均為IDT7208;所述的包同步識別部分由可編程易擦除CPLD器件組成,型號為CPLD7128。
由于本發(fā)明采用了基于單片機系統(tǒng)的碼流播放、回放結(jié)構(gòu),該結(jié)構(gòu)通過PIO(并行輸入口)方式,按照LBA(線性鏈表)模式直接對硬盤進行物理級的讀寫操作,去掉了PC機及其操作系統(tǒng),因而本發(fā)明具有結(jié)構(gòu)簡單,可以大大降低生產(chǎn)成本的特點。
圖1系統(tǒng)原理框2系統(tǒng)軟件流程圖3CPLD工作原理4指令輸入和顯示軟件流程5主系統(tǒng)設(shè)計流程圖具體實施方式
下面結(jié)合附圖和實施例進一步說明本發(fā)明。
HDTV(High-Definition Television-高清晰度電視)TS碼流回放機(又稱碼流播放機)既可以作為MPEG碼流解碼器信號源,又可以作為信道編碼和調(diào)制器的信號源,它能應(yīng)用于數(shù)字電視系統(tǒng)產(chǎn)品的開發(fā)、生產(chǎn)調(diào)試及展示宣傳。
HDTV節(jié)目有傳輸碼率高,節(jié)目信息量大的特點。為了能夠研制出符合大容量高速率要求的碼流播放機,傳統(tǒng)的方法是用操作系統(tǒng)來控制硬盤進行讀寫操作。這樣做的好處在于首先,現(xiàn)在PC機的主頻很高,用來作為控制碼流的時鐘信號在速度上不會有瓶頸問題。其次,對硬盤里HDTV節(jié)目的讀取是基于文件系統(tǒng)的,研發(fā)人員不用寫硬盤的驅(qū)動程序,軟件的工作量大大減小。但是,就碼流播放機本身而言,它是一個單任務(wù)的設(shè)備,采取上述用操作系統(tǒng)的方案無疑將造成CPU資源的極大浪費。因此,本發(fā)明用單片機和CPLD去控制硬盤進行讀寫操作,只要所選微控制器在速度上滿足高清晰度電視的碼率要求,在技術(shù)上就能夠?qū)崿F(xiàn)預(yù)期的功能。和用PC機操作系統(tǒng)方案比較,用微控制器無疑可以大大降低生產(chǎn)成本,在硬件設(shè)計上也降低了難度,同時,不受PC機操作系統(tǒng)的專利限制。
本發(fā)明能完成循環(huán)播放全部節(jié)目、循環(huán)播放一組節(jié)目、循環(huán)播放單個節(jié)目片斷(可用于節(jié)目編輯)、恢復(fù)上次播放設(shè)置,以及實現(xiàn)播放、快進、回倒、暫停、停止等操作;能動態(tài)兼容2種碼率的節(jié)目播放。
下面具體說明碼流播放機控制器的構(gòu)成。本發(fā)明主要包括通用單片機組成的指令輸入和顯示部分1,微控制器為核心的主控制器2,包同步識別部分6,先進先出移位寄存器4,先進先出移位寄存器5,硬盤3和解碼器7,主控制器2與先進先出移位寄存器4、先進先出移位寄存器5、包同步識別部分6之間設(shè)有控制線,主控制器2產(chǎn)生并發(fā)送先進先出移位寄存器4、先進先出移位寄存器5、包同步識別部分6需要的時鐘信號,遵照AT Attachment with Packet interface Extension(ATA/ATAPI-4)標準,用8-bit單片機C8051F015通過外界指令實現(xiàn)功能操作;通過PIO(并行輸入口)方式,按照LBA(線性鏈表)模式直接對硬盤3進行物理級的讀寫操作;硬盤3接受微控制器的命令后,按照邏輯地址順序輸出HDTV碼流給兩片F(xiàn)IFO(先進先出移位寄存器4和5);硬盤輸出的16bits數(shù)據(jù)通過兩片8-bit FIFO緩存后,輸出給包同步識別部分6進行拆分以及識別包同步和字節(jié)同步;經(jīng)包同步識別部分6解析后的數(shù)據(jù)流再經(jīng)過解碼器解碼及適當后處理變換,輸出模擬視頻、音頻信號。
下面結(jié)合具體附圖進一步說明本發(fā)明。
系統(tǒng)硬件構(gòu)成基于8bit微控制器的系統(tǒng)設(shè)計方案如圖1所示。以C8051F015微控制器為控制核心,它產(chǎn)生硬盤3和先進先出移位寄存器4、先進先出移位寄存器5的讀寫時序(為了避免硬盤3寄存器參數(shù)也被寫入寄存器,要在硬件上把二者的讀寫時鐘分開)。硬盤3輸出的16bit數(shù)據(jù)分高、低8位分別送入兩片64K的先進先出移位寄存器4、先進先出移位寄存器5緩存,數(shù)據(jù)經(jīng)緩存后持續(xù)地輸出到主要由型號為CPLD7128可編程易擦除CPLD器件組成的包同步識別部分6,CPLD對16bit數(shù)據(jù)流進行拆分,同時識別包同步和字節(jié)同步,這樣,原始的一路HDTV碼流就被分成3路輸送給解碼器解碼。通過串行總線與指令輸入及顯示部分相連,指令輸入及顯示部分采用通用單片機AT89C51為它的控制核心。AT89C51接受來自鍵盤的功能指令并在LCD顯示器上以文字和圖形的方式展現(xiàn),同時通過串口通信,啟動主控制器執(zhí)行命令。
系統(tǒng)軟件設(shè)計(1)存碼流部分在這個系統(tǒng)里,沒有引入操作系統(tǒng)和文件格式,所以節(jié)目碼流文件存入硬盤3時就不能走文件格式,而只能按二進制流的方式從主控制器2的碼流文件中讀出數(shù)據(jù),再按同樣的方式向裸盤里寫。為了解決“存碼流”的問題,采取調(diào)用BIOS中斷,讓BIOS的磁盤服務(wù)進程負責(zé)把Int13的讀寫請求轉(zhuǎn)化為IDE接口標準ATA界面對硬盤的請求,并執(zhí)行數(shù)據(jù)I/O傳輸?shù)奈锢韯幼鳌5捎贐IOS本身寄存器的限制,用它去訪問硬盤有8.4Gb容限的問題。為突破這個限制而用擴展的INT 13。這將是一個比較復(fù)雜的過程。本發(fā)明利用主控制器2主芯片C8051F015上的Secondary IDE Channel(0x170-0x177)作為硬盤3寄存器的端口地址,在這個硬件平臺下,可以直接將fread( )函數(shù)讀出的碼流按塊寫入目標硬盤3,甚至不要求太多的考慮時序問題。
(2)讀碼流部分這部分軟件的開發(fā)是在上述硬件系統(tǒng)平臺的基礎(chǔ)上直接進行編程。系統(tǒng)在啟動硬盤3之前要等待串行中斷,接收由指令鍵發(fā)出的命令。然后再根據(jù)接收的數(shù)據(jù)信息具體決定應(yīng)該播放哪幾個節(jié)目。隨后對硬盤3,先進先出移位寄存器FIFO進行初始化,啟動CPLD給FIFO送出時鐘信號,并讓硬盤3按命令輸出數(shù)據(jù)流。數(shù)據(jù)在總線上穩(wěn)定的時間內(nèi)給FIFO寫時鐘,以采集正確的碼流信息(這里強調(diào)時序),F(xiàn)IFO有HF(半滿)標志,用HF去觸發(fā)中斷,有中斷請求,就讓硬盤輸出64K字節(jié)的數(shù)據(jù)。如此循環(huán),保證FIFO不空。當FIFO輸出第一個數(shù)據(jù)時,CPLD就開始對數(shù)據(jù)流進行拆分,并開始按照HDTV碼流的格式標準對數(shù)據(jù)流進行判別(HDTV碼流以188字節(jié)為一個包,包頭碼是0x47),即每計數(shù)1次,就輸出一個比特同步,每計數(shù)188次并識別下一個數(shù)為0x47,就輸出一個包同步。這部分程序流程如圖2所示。
包同步識別部分6的設(shè)計圖3為CPLD工作原理圖高清碼流的輸出有兩種速率19.4Mbit/s(美國制式),25.7Mbit/s(中國制式)。CPLD內(nèi)部模塊根據(jù)輸入腳Command上“0”、“1”的取值不一樣,來選取不同的輸入頻率。輸入的位時鐘首先要進行8分頻,以提供高清碼流輸出的字節(jié)頻率。因為從FIFO過來的數(shù)據(jù)流是16-bit的,其頻率應(yīng)該是高清節(jié)目字節(jié)頻率的1/2。拆分器內(nèi)部工作機理是D觸發(fā)器分時(和clk1同步)觸發(fā)高低數(shù)據(jù)位。包同步識別器是依靠“狀態(tài)機”和“187計數(shù)器”協(xié)調(diào)工作的;這里可以設(shè)想3個狀態(tài)S0,S1,S2。在S0狀態(tài)時,一旦接收到一個0x47,便轉(zhuǎn)入S1,與此同時,187計數(shù)器被復(fù)位并開始計數(shù)。在S1狀態(tài),每當計數(shù)器計數(shù)滿187,而且第188個數(shù)據(jù)為0x47條件同時滿足,則進入S2狀態(tài),同時輸出一個“包同步”;如果條件不滿足,則跳回S0狀態(tài)。在S2狀態(tài),包同步被鎖定,這時所做的工作就是每187字節(jié)之后,檢測下一個字節(jié)是否為0x47,條件為“真”,輸出“包同步”,為“假”,則跳回S0狀態(tài),系統(tǒng)開始新一輪搜索。
權(quán)利要求
1.一種碼流播放機,其特征是,主要包括通用單片機組成的指令輸入和顯示部分(1),以微處理器為核心的主控制器(2),包同步識別部分(6),兩個先進先出移位寄存器(4,5),硬盤(3)和解碼器(7),主控制器(2)與兩個先進先出移位寄存器(4,5)、包同步識別部分(6)之間設(shè)有控制線,主控制器(2)與硬盤(3)間連接有并行總線,外部指令輸入給指令輸入和顯示部分(1),指令輸入和顯示部分(1)通過串行總線將外部命令發(fā)送給主控制器(2),主控制器(2)在外部命令作用下主要開始下列工作步驟以主控制器(2)的Secondary IDE Channel即0x170-0x177端口作為硬盤(3)的寄存器的端口地址,以基于線性鏈表LBA模式的空間尋址模式和普通輸入輸出PIO方式自硬盤(3)讀寫碼流數(shù)據(jù),當外部命令為向硬盤(3)輸入碼流數(shù)據(jù)時,將碼流數(shù)據(jù)按照邏輯地址順序存入硬盤(3);當外部命令為自硬盤(3)讀取碼流數(shù)據(jù)時,產(chǎn)生并發(fā)送兩個先進先出移位寄存器(4,5)和硬盤(3)初始化指令,產(chǎn)生并發(fā)送啟動包同步識別部分(6)給兩個先進先出移位寄存器(4,5)送出時鐘信號的指令,產(chǎn)生使硬盤(3)按照邏輯地址順序輸出數(shù)據(jù)的指令,等待串行中斷,當接收到串行中斷請求時,再次產(chǎn)生使硬盤(3)按照邏輯地址順序輸出數(shù)據(jù)的指令,而硬盤(3)輸出的數(shù)據(jù)分別通過兩個先進先出移位寄存器(4,5)緩存,兩個先進先出移位寄存器(4,5)的半滿HF標志觸發(fā)中斷,即前文主控制器(2)工作步驟中所述的串行中斷,兩個先進先出移位寄存器(4,5)緩存后輸出的數(shù)據(jù)到達包同步識別部分(6),包同步識別部分(6)按下列步驟工作對碼流數(shù)據(jù)包進行拆分,產(chǎn)生包同步信號和字節(jié)同步信號;同步識別部分(6)輸出的拆分后的碼流數(shù)據(jù)包、包同步信號和字節(jié)同步信號到達解碼器(7),經(jīng)解碼器解碼后輸出模擬視頻、音頻信號。
2.根據(jù)權(quán)利要求1所述的一種碼流播放機,其特征是,所述的包同步識別部分(6)由時鐘選擇、8分頻器,2分頻器、數(shù)據(jù)流拆分器和包同步識別器組成,包同步識別部分(6)設(shè)有輸入腳,向輸入腳輸值0或1,使包同步識別部分(6)選取不同的輸入頻率,時鐘選擇輸出的時鐘信號分別經(jīng)8分頻器和2分頻器進入數(shù)據(jù)流拆分器與進入數(shù)據(jù)流拆分器來自兩個先進先出移位寄存器(4,5)的碼流數(shù)據(jù)包共同輸出到包同步識別器,包同步識別器包括狀態(tài)機和計數(shù)器,包同步識別器依次按下列步驟工作一旦接收到一個0x47,計數(shù)器復(fù)位并開始計數(shù),每進位一個數(shù),狀態(tài)機輸出一個字節(jié)同步信號,當計數(shù)器計數(shù)滿187,而且第188個數(shù)據(jù)為047條件同時滿足,狀態(tài)機輸出一個包同步信號并鎖定包同步,如果條件不滿足,計數(shù)器繼續(xù)計數(shù),包同步識別部分(6)輸出的字節(jié)同步信號、包同步信號和拆分后的碼流數(shù)據(jù)包輸入解碼器。
3.根據(jù)權(quán)利要求1所述的一種碼流播放機,其特征是,主控制器(2)的微處理器芯片型號為C8051F015。
4.根據(jù)權(quán)利要求1所述的一種碼流播放機,其特征是,所述通用單片機型號為AT89C51。
5.根據(jù)權(quán)利要求1所述的一種碼流播放機,其特征是,兩個先進先出移位寄存器(4,5)型號均為IDT7208。
6.根據(jù)權(quán)利要求1或2所述的一種碼流播放機,其特征是,所述的包同步識別部分(6)由可編程易擦除CPLD器件組成,型號為CPLD7128。
全文摘要
本發(fā)明碼流播放機,涉及碼流播放、回放裝置,尤其涉及HDTV(High-Definition Television-高清晰度電視)TS傳送碼流的播放、回放裝置。為提供一種基于單片機系統(tǒng)的碼流播放、回放裝置。本發(fā)明采用的技術(shù)方案是,一種碼流播放機,主要包括通用單片機組成的指令輸入和顯示部分(1),微控制器為核心的主控制器(2),包同步識別部分(6),兩個先進先出移位寄存器(4,5),硬盤(3)和解碼器(7)。本發(fā)明主要是在不采用微機及其操作系統(tǒng)的情況下,用做碼流解碼器信號源,又可以作為信道編碼和調(diào)制器的信號源,以應(yīng)用于數(shù)字電視系統(tǒng)產(chǎn)品的開發(fā)、生產(chǎn)調(diào)試及展示宣傳。
文檔編號H04N5/91GK1514439SQ0313037
公開日2004年7月21日 申請日期2003年7月8日 優(yōu)先權(quán)日2003年7月8日
發(fā)明者于振生, 冷高峰, 野錦德 申請人:天津華天科技有限公司