用VHDL實現的有線電視機頂盒信源發生方案
3 系統整體設計
系統啟動后,主機向I/O口發出地址信號。AEN為低電平時,系統進行地址譯碼。譯碼成功后,產生一使能信號ENABLE打開數據暫存單元。數據到來后,數據暫存單元將總線上的16位并行數據鎖存在暫存器中,同時產生一允許信號PERMIT,允許進行數據格式轉換。接下來系統根據當前所處的狀態進行選擇輸出,完成格式的轉換,并產生相應的輸出數據使能信號DEN和輸出數據時鐘信號DCLK。整個過程結束后,將各信號復位,開始新的轉換周期。因此,整個系統應包括五個邏輯部分:地址譯碼、數據暫存、狀態控制、復位控制、轉換輸出。
3.1 系統的整體框圖
系統的整體框圖如圖2所示。

3.2 系統的工作時序
轉換過程的時序如圖3所示。

4 VHDL語言描述
4.1 各單元模塊的描述
- 地址譯碼單元
計算機與I/O設備間的正確通信是通過對I/O空間的尋址操作來完成的。每個I/O端口都分配了一個地址。在該方案中,將端口的地址設定為0280H,采用完全譯碼的方式。同時為了避免DMA操作控制總線,設計時讓aen亦參與譯碼,并由時鐘信號進行觸發控制。譯碼成功后,產生一使能信號enable(高電平有效),同時將io_cs信號拉低。
- 數據暫存單元
enable信號無效時,數據暫存單元為高阻狀態。該信號和寫信號iow(低電平有效)都變為有效后,在接下來的一個時鐘的下降沿(確保采樣時數據有效),將總線上的數據讀入數據暫存單元,并產生一允許信號permit,允許系統進行格式轉換。
- 狀態控制單元
這是系統的控制部分。系統狀態的控制是由系統的控制信號simbol、sign在時鐘信號的驅動下實現的。系統每完成一次8位數據的輸出,在同一時鐘的下降沿,狀態發生改變,產生另外一控制信號varb(低電平有效)。復位后,系統又回到初始狀態。狀態變化過程如下:
![]()
- 轉換輸出單元
轉換輸出單元是系統的核心,它包括三個部分:數據格式的轉換、數據使能信號DEN的輸出、數據時鐘信號DCLK的輸出。數據的轉換輸出是由系統當前所處的狀態決定的。permit信號有效后,在時鐘的上升沿,轉換輸出單元檢測系統狀態:狀態為first時,輸出高8位;狀態為second時,輸出低8位;狀態為third時,系統復位,從而完成一次轉換,開始下一轉換周期。在轉換過程中,系統同時完成對信號simbol、sign(低電平有效)的控制。
輸出數據使能信號DEN是根據MPEG-2標準碼流格式產生的,用于數據信號的同步。在MPEG-2標準中,碼流是以包的形式傳送的。每一個數據包都有一個統一的包標識符PID,它的十六進制形式為47H。從包中的第一個字節(47H)開始,DEN變為有效(高電平),并保持到第188字節。在接下來的16個字節時間里,DEN保持低電平。
輸出數據時鐘信號DCLK用作解復用單元的采樣時鐘,它是由控制信號sign、permit以及系統當前所處的狀態控制產生的。為了保證采樣時數據保持有效,DCLK的輸出比相應的輸出數據要延遲半個機器周期。
- 復位控制單元
轉換結束后,需要對系統復位,保證下一轉換的順利進行。復位信號的產生取決于三個控制量:系統當前狀態為third、控制信號varb為低電平、控制信號simbol為高電平。復位后,輸出端為高阻狀態,其他信號均為無效值。系統回到初始狀態。









評論