用VHDL實(shí)現(xiàn)的有線電視機(jī)頂盒信源發(fā)生方案
3 系統(tǒng)整體設(shè)計(jì)
系統(tǒng)啟動(dòng)后,主機(jī)向I/O口發(fā)出地址信號。AEN為低電平時(shí),系統(tǒng)進(jìn)行地址譯碼。譯碼成功后,產(chǎn)生一使能信號ENABLE打開數(shù)據(jù)暫存單元。數(shù)據(jù)到來后,數(shù)據(jù)暫存單元將總線上的16位并行數(shù)據(jù)鎖存在暫存器中,同時(shí)產(chǎn)生一允許信號PERMIT,允許進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。接下來系統(tǒng)根據(jù)當(dāng)前所處的狀態(tài)進(jìn)行選擇輸出,完成格式的轉(zhuǎn)換,并產(chǎn)生相應(yīng)的輸出數(shù)據(jù)使能信號DEN和輸出數(shù)據(jù)時(shí)鐘信號DCLK。整個(gè)過程結(jié)束后,將各信號復(fù)位,開始新的轉(zhuǎn)換周期。因此,整個(gè)系統(tǒng)應(yīng)包括五個(gè)邏輯部分:地址譯碼、數(shù)據(jù)暫存、狀態(tài)控制、復(fù)位控制、轉(zhuǎn)換輸出。
3.1 系統(tǒng)的整體框圖
系統(tǒng)的整體框圖如圖2所示。
3.2 系統(tǒng)的工作時(shí)序
轉(zhuǎn)換過程的時(shí)序如圖3所示。
4 VHDL語言描述
4.1 各單元模塊的描述
- 地址譯碼單元
計(jì)算機(jī)與I/O設(shè)備間的正確通信是通過對I/O空間的尋址操作來完成的。每個(gè)I/O端口都分配了一個(gè)地址。在該方案中,將端口的地址設(shè)定為0280H,采用完全譯碼的方式。同時(shí)為了避免DMA操作控制總線,設(shè)計(jì)時(shí)讓aen亦參與譯碼,并由時(shí)鐘信號進(jìn)行觸發(fā)控制。譯碼成功后,產(chǎn)生一使能信號enable(高電平有效),同時(shí)將io_cs信號拉低。
- 數(shù)據(jù)暫存單元
enable信號無效時(shí),數(shù)據(jù)暫存單元為高阻狀態(tài)。該信號和寫信號iow(低電平有效)都變?yōu)橛行Ш?,在接下來的一個(gè)時(shí)鐘的下降沿(確保采樣時(shí)數(shù)據(jù)有效),將總線上的數(shù)據(jù)讀入數(shù)據(jù)暫存單元,并產(chǎn)生一允許信號permit,允許系統(tǒng)進(jìn)行格式轉(zhuǎn)換。
- 狀態(tài)控制單元
這是系統(tǒng)的控制部分。系統(tǒng)狀態(tài)的控制是由系統(tǒng)的控制信號simbol、sign在時(shí)鐘信號的驅(qū)動(dòng)下實(shí)現(xiàn)的。系統(tǒng)每完成一次8位數(shù)據(jù)的輸出,在同一時(shí)鐘的下降沿,狀態(tài)發(fā)生改變,產(chǎn)生另外一控制信號varb(低電平有效)。復(fù)位后,系統(tǒng)又回到初始狀態(tài)。狀態(tài)變化過程如下:
- 轉(zhuǎn)換輸出單元
轉(zhuǎn)換輸出單元是系統(tǒng)的核心,它包括三個(gè)部分:數(shù)據(jù)格式的轉(zhuǎn)換、數(shù)據(jù)使能信號DEN的輸出、數(shù)據(jù)時(shí)鐘信號DCLK的輸出。數(shù)據(jù)的轉(zhuǎn)換輸出是由系統(tǒng)當(dāng)前所處的狀態(tài)決定的。permit信號有效后,在時(shí)鐘的上升沿,轉(zhuǎn)換輸出單元檢測系統(tǒng)狀態(tài):狀態(tài)為first時(shí),輸出高8位;狀態(tài)為second時(shí),輸出低8位;狀態(tài)為third時(shí),系統(tǒng)復(fù)位,從而完成一次轉(zhuǎn)換,開始下一轉(zhuǎn)換周期。在轉(zhuǎn)換過程中,系統(tǒng)同時(shí)完成對信號simbol、sign(低電平有效)的控制。
輸出數(shù)據(jù)使能信號DEN是根據(jù)MPEG-2標(biāo)準(zhǔn)碼流格式產(chǎn)生的,用于數(shù)據(jù)信號的同步。在MPEG-2標(biāo)準(zhǔn)中,碼流是以包的形式傳送的。每一個(gè)數(shù)據(jù)包都有一個(gè)統(tǒng)一的包標(biāo)識符PID,它的十六進(jìn)制形式為47H。從包中的第一個(gè)字節(jié)(47H)開始,DEN變?yōu)橛行Вǜ唠娖剑⒈3值降?88字節(jié)。在接下來的16個(gè)字節(jié)時(shí)間里,DEN保持低電平。
輸出數(shù)據(jù)時(shí)鐘信號DCLK用作解復(fù)用單元的采樣時(shí)鐘,它是由控制信號sign、permit以及系統(tǒng)當(dāng)前所處的狀態(tài)控制產(chǎn)生的。為了保證采樣時(shí)數(shù)據(jù)保持有效,DCLK的輸出比相應(yīng)的輸出數(shù)據(jù)要延遲半個(gè)機(jī)器周期。
- 復(fù)位控制單元
轉(zhuǎn)換結(jié)束后,需要對系統(tǒng)復(fù)位,保證下一轉(zhuǎn)換的順利進(jìn)行。復(fù)位信號的產(chǎn)生取決于三個(gè)控制量:系統(tǒng)當(dāng)前狀態(tài)為third、控制信號varb為低電平、控制信號simbol為高電平。復(fù)位后,輸出端為高阻狀態(tài),其他信號均為無效值。系統(tǒng)回到初始狀態(tài)。
評論