用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为高电平。复位后,输出端为高阻状态,其他信号均为无效值。系统回到初始状态。
评论