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