论文部分内容阅读
进入21世纪,随着科学技术的发展,机顶盒技术趋于成熟,功能趋于多样化,操作起来也较为复杂,特别是高清及H.264等新技术应用到广播电视领域,机顶盒的发展进入一个新纪元,新的应用方案(例INTEL,SIGMADESIGN等等都推出自己的高清机顶盒接收方案)如雨后春笋般冒出来,希望可以在机顶盒市场上占得一席之地。不同的方案侧重点不同,针对的市场定位也不尽相同,但无论是哪种芯片方案,其工作流程和内部结构(中央处理器CPU,存储单元及不同的硬件接口都是必不可少的)都是相近的,彼此的差别不大。
今天我们来谈谈机顶盒中的存储器。众所周知,存储器的主要作用是存储“数据”,在机顶盒的应用中,“数据”包括的内容很广,既有频道信息(包括节目名称,音量大小),机顶盒信息(机顶盒序号,也可以称为ID号或串号。用于网络通讯的IP地址等),又有音视频数据(MPEG-2解压缩后的数据),还有转发器参数,机顶盒运行所需要的程序等等。就存储器的特性而言,可分为易失性存储器和非易失性存储器。说到这里可能有读者不是很明白,何为易失和非易失呢?通俗的说,就是在通电和断电两种不同的条件下,存储器内部的数据是否被改变。没有改变,则被称为非易失性存储器(EEPROM,FLASH,硬盘等都是)。如果被清空了就被称做易失性存储器(DRAM,SDRAM,DDR等就是)。下面我就先说说非易失性存储器。
EEPROM(Electrically Erasable PROM)电可擦除可编程只读存储器(如图1所示)。在平常情况下,EEPROM是只读的,需要写入时,在CS(chip select)引脚加上一个高电压即可写入或擦除,而且其擦除的速度极快。通常EEPROM芯片又分为串行EEPROM和并行EEPROM两种,串行EEPROM在读写时数据的输入/输出是通过2线、3线、4线或SPI总线等接口方式进行的,而并行EEPROM的数据输入/输出则是通过并行总线进行的。串行存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;与并行的EEPROM相比,可大大节省印制板空间,且接线简单,我们在机顶盒中常见的24C**和93C46都是(24C**指的是存储容量,我们已24C16为例,16代表16kbit存储空间)串行EEPROM。尽管都是串行模式,但是使用方法截然不同,24C**在早期的应用中主要存储节目信息,设定的参数或CA系统需要的ID号码,后许多厂商因为成本原因都改用FLASH完成这部分的工作,这点在卫星机顶盒中的应用较多。其数据的读写操作是使用I2C总线方式进行。I2C是一种较为常用的串行接口标准,具有协议完善、支持芯片较多和占用I/O线少等优点。I2C总线是PHILIPS公司为有效实现电子器件之间的控制而开发的一种简单的双向两线总线。是一个国际标准,在超过100种不同的IC集成电路上实现,得到超过50家公司的许可,应用涉及家电、通信、控制等众多领域, I2C采用两根I/O线:一根时钟线(SCL称为串行时钟线),一根数据线(SDA称为串行数据线),实现全双工的同步数据通信。
I2C总线通过SCL/SDA两根线使挂接到总线上的器件相互进行信息传递SDA和SCL都是双向线路,各通过一个电流源或上拉电阻连接到正的电源电压。当总线空闲时这两条线路都是高电平,连接到总线的器件输出必须是漏极开路或集电极开路才能执行线与的功能。I2C总线上数据的传输速率在标准模式下可达100kb/s,在快速模式下可达400kb/s,在高速模式下可达3.4Mb/s。在机顶盒中,常常将TUNER,射频盒,24C**等元件挂在一起使用,即方便又快捷。93C46是64×16bit的结构,也就是说一个93C46具有64个16位bit单元的容量,每次处理数据也都是16位。主要存贮IP和MAC地址等和网络有关的的资料,不过目前已渐渐退出,改由FLASH完成它的使命。它的读写操作则是使用SPI总线,SPI(Serial Peripheral Interface)SPI 总线是Motorola公司推出的三线同步接口,是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI 接口由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由SDO 输出,SDI 输入,数据在时钟的上升或下降沿由SDO 输出,在紧接着的下降或上升沿由SDI 读入,这样经过8/16 次时钟的改变,完成8/16 位数据的传输。SPI总线可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等,波特率可以高达5Mbps,相对于I2C总线要快一些。
FLASH也叫闪存(如图2所示),机顶盒中常用的一种内存类型。机顶盒的主程序都放在里面。数据采用并行存储方式,有独立的数据和地址总线与之相配合,读写模式也是分开的。谈到这里要强调一下,这里说的Flash和我们搞硬件的看到常见的记忆卡中的不同,很多人甚至很多工程师都分不清楚。我们说的FLASH是指NOR FLASH ,而常见SD,USB存储卡中的都是NAND FLASH。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NOR器件时是以64~128kb的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32kb的块进行的,执行相同的操作最多只需要4ms。NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。稳定性方面,NAND也占有优势。有的读者要问了,说了半天NAND的要比NOR要好很多,为什麽不使用NAND FLASH呢?这样成本不就降下来了吗?其实不然,不同的结构特点决定了NAND无法直接应用在机顶盒中,只能配合NOR使用。NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。机顶盒中的NOR FLASH通常都不会超过64Mbit,就是这个道理。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。许多厂商制作的CA机顶盒(俗称解码器),纷纷被盗版(早期的FLASH加密方式很简单,有的没有做保护措施或者只是作了简单的处理,例如增加了单片机或GAL芯片来保护FLASH里面的程序不被盗走,这些都不能解决实际问题),导致运营商的损失加大,CA厂商纷纷升级系统版本,希望可以挽回损失损失,然而,道高一尺魔高一丈,治标不治本仍然解决不了实际情况。于是新的加密NOR FLASH诞生了,即Krypto闪存,这是ST在NOR闪存领域取得的一项关键的技术创新,这个产品系列提供内容保护功能,可以保护每一个扇区,防止非法修改和读取闪存数据。目前几个著名的CA厂商在做机顶盒认证时都要求机顶盒厂商使用这种FLASH,防止竞争对手非法复制有关信息。随着纳米技术的发展,FLASH的工艺也发生了变化,由110纳米转成90纳米以至现在50纳米工艺,FLASH的体积逐渐缩小(图3左侧为标准封装的TSOP封装的FLASH,其用量也是目前市场上使用最多的。右侧的BGA封装的FLASH,不难看出体积已缩小很多,这样机顶盒的印刷线路板面积也会变小,机顶盒的价格也会降一些,这才是我们最需要的,毕竟口袋里的粮食不多,囊中羞涩呀)。
HARD DISK就是我们最常用的硬盘,主要用来录制节目数据。早期的机顶盒并没有硬盘接口,还没有大量的数据需要存储。但随着PVR的需求改变了原有的设计思路,许多芯片都增加IDE接口(Integrated Drive Electronics就是指把控制器与盘体集成在一起的硬盘驱动器,我们常说的IDE 接口,也叫ATA 接口。),用来连接硬盘,存储海量的音视频数据,取代老式的PVR(并不是完全取代,只不过是将机顶盒和PVR整合在一起罢了)。要提供专用的IDE接口,数据线很多需要占用CPU资源。CPU引线将变多,即使使用BGA封装,由于焊盘数量的增加,CPU的体积也增加不少。随着硬盘技术的更新,SATA(新的Serial ATA(即串行ATA),是英特尔公司在2000年IDF(Intel Developer Forum,英特尔开发者论坛)发布,将于下一代外设产品中采用的接口类型。它是以连续串行的方式传送资料,在同一时间点内只会有1位数据传输)渐渐取代IDE,成为主要的硬盘接口,这种接口不需要占用CPU资源,减小接口的针脚数目,即用4个针就完成了所有的工作(第1针发出、第2针接收、第3 针供电、第4针地线),还降低了电力消耗,减小发热量,CPU剩余的资源也可以提供给其它端口,提高了CPU的效率。
说了半天非易失性存储器了,现在来谈谈易失性存储器。
DRAM作为机顶盒中最大的存储单元,主要存储视频D/A转换前的资料,VBI信息(包括图文广播,WSS等相关数据),还有现代流行的数据广播,EPG电子节目指南等等。由于内部存储的数据随时刷新,一但断电,内部存储的数据就都没有了,这也就是将其归到易失性存储器主要原因。在机顶盒发展的初期即上个世纪90年代,机顶盒的发展还处于萌芽状态,功能还是很少,可以解出图像和声音就已满足要求。当时CPU的工作频率较低,使用DRAM作为图像和声音作为存储单元(以百胜产的P3800为代表,使用的方案是ST公司最早的ST20+STI3520四片装方案)。DRAM(Dynamic Random Access Memory)顾名思义即动态RAM,是相对于静态RAM而言。DRAM的结构较为简单,基本结构是一只MOS管和一个电容构成。利用电容是否充有电荷来做为存储状态的标志。之所以称做“动态”,指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个内存刷新(Memory Refresh)的操作。我们举个例子:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就会造成数据丢失;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,籍此来保持数据的连续性。数据虽然保住了,但是因为有了刷新操作,动态内存的存取速度比静态内存要慢很多。随着CPU总要等待内存的数据,严重影响了性能机顶盒中常见的DRAM有-7和-6两种(图4),指的是就是70纳秒和60纳秒。现在最流行的SDRAM的速度更快,达到10纳秒,符合PC-100标准的SDRAM速度达到8纳秒。当系统的速度逐渐增加,EDO内存的速度就显得很慢了,CPU总要等待内存的数据,严重影响了性能,内存成了一个很大的瓶颈。因此出现了同步系统时钟频率的SDRAM。
SDRAM(同步DRAM),顾名思义,它是同步于系统时钟频率的。SDRAM内存访问采用突发(burst)模式,它和原理是,SDRAM在现有的标准动态存储器中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。在功能上,它类似常规的DRAM,也需时钟进行刷新。可以说,SDRAM是一种改善了结构的增强型DRAM。然而,SDRAM是如何利用它的同步特性而适应高速系统的需要的呢?我们知道,原先我们使用的动态存储器技术都是建立在异步控制基础上的。系统在使用这些异步动态存储器时需插入一些等待状态来适应异步动态存储器的本身需要,这时,指令的执行时间往往是由内存的速度、而非系统本身能够达到的最高速率来决定。例如,当将连续数据存入CACHE时,一个速度为60ns的快页内存需要40ns的页循环时间;当系统速度运行在100MHz时(一个时钟周期10ns),每执行一次数据存取,即需要等待4个时钟周期!而使用SDRAM,由于其同步特性,则可避免这一时。SDRAM结构的另一大特点是其支持DRAM的两列地址同时打开。两个打开的存储体间的内存存取可以交叉进行,一般的如预置或激活列可以隐藏在存储体存取过程中,即允许在一个存储体读或写的同时,令一存储体进行预置。按此进行,100MHz的无缝数据速率可在整个器件读或写中实现。因为SDRAM的速度约束着系统的时钟速度,它的速度是由MHz或ns来计算的。SDRAM的速度至少不能慢于系统的时钟速度,SDRAM的访问通常发生在四个连续的突发周期,第一个突发周期需要4个系统时钟周期,第二到第四个突发周期只需要1个系统时钟周期。还要强调的一点就是电源的调整,为了提高传送的频率,SDRAM的电源已经从DRAM时代的5V转为3.3V,这样做是为了降低了从“0”到“1”所需要的时间,以适应更高的系统要求。目前,我们见到的机顶盒大多数都使用SDRAM作为音视频数据,EPG,图文等等多种信息,即使是系统升级,也要占用SDRAM资源,即CPU先将RS232端口传过来的数据先存到SDRAM作缓冲,等到文件全部收下来才开始进行FLASH的更新。新一代CPU的出现(特别是主频在200MHZ左右的,例如ST公司推出的5100,7100等等),SDRAM也满足不了要求,系统要求提供更快的速度,于是新一代的内存DDR粉墨登场。
DDR(Double Data Rate)SDRAM即双倍速率同步动态随机存储器。其核心建立在SDRAM的基础上,是SDRAM的更新换代产品,SDRAM使用的3.3V电压,而DDR采用2.5V工作电压,这样做的结果在速度上有了提高(从0V变到到2.5V比从0V变到到3.3V所需要的时间要短,同样DRAM使用的是5V电源,读写时间叫SDRAM更长,所以速度是3个中最慢的)。DDR分为4种主要型号,DDR-200、DDR-266、DDR-333和DDR-433。外形上DDR与SDRAM相比差别不大, SDRAM多出12只管脚(如图5所示,上面的是SDRAM,下面的是DDR)。DDR可以在不提高时钟频率的情况下,使数据传输率提高一倍,SDRAM仅在时钟信号的上升沿读取数据,而DDR在时钟信号的上升沿和下降沿都读取数据,因此我们也可以说,它的速度是标准SDRAM的2倍。速度的提高提高了整体的性能,但是对于线路的布局也带来一定的困难,有条件的读者可以对比一下使用SDRAM的主板和使用DDRSDRAM的主板,不难发现使用DDRSDRAM的主板,CPU与DDRSDRAM之间的连线并不是直线,而是一些带有迂回婉转的曲线,这样做的目的是解决数据在高速传送时,因路线不同而造成时延不同,影响数据正常接收,很容易造成数据混乱,最终的结果会导致图像花屏甚至死机。
无论是非易失性存储器还是易失性存储器,都是机顶盒内部的重要组成部分。存储器部分就先说到这里,CPU和TUNER的解决方案后续再继续为大家介绍。
今天我们来谈谈机顶盒中的存储器。众所周知,存储器的主要作用是存储“数据”,在机顶盒的应用中,“数据”包括的内容很广,既有频道信息(包括节目名称,音量大小),机顶盒信息(机顶盒序号,也可以称为ID号或串号。用于网络通讯的IP地址等),又有音视频数据(MPEG-2解压缩后的数据),还有转发器参数,机顶盒运行所需要的程序等等。就存储器的特性而言,可分为易失性存储器和非易失性存储器。说到这里可能有读者不是很明白,何为易失和非易失呢?通俗的说,就是在通电和断电两种不同的条件下,存储器内部的数据是否被改变。没有改变,则被称为非易失性存储器(EEPROM,FLASH,硬盘等都是)。如果被清空了就被称做易失性存储器(DRAM,SDRAM,DDR等就是)。下面我就先说说非易失性存储器。
EEPROM(Electrically Erasable PROM)电可擦除可编程只读存储器(如图1所示)。在平常情况下,EEPROM是只读的,需要写入时,在CS(chip select)引脚加上一个高电压即可写入或擦除,而且其擦除的速度极快。通常EEPROM芯片又分为串行EEPROM和并行EEPROM两种,串行EEPROM在读写时数据的输入/输出是通过2线、3线、4线或SPI总线等接口方式进行的,而并行EEPROM的数据输入/输出则是通过并行总线进行的。串行存储器可靠性高,能够重复写100万次,数据可以保存100年不丢失;与并行的EEPROM相比,可大大节省印制板空间,且接线简单,我们在机顶盒中常见的24C**和93C46都是(24C**指的是存储容量,我们已24C16为例,16代表16kbit存储空间)串行EEPROM。尽管都是串行模式,但是使用方法截然不同,24C**在早期的应用中主要存储节目信息,设定的参数或CA系统需要的ID号码,后许多厂商因为成本原因都改用FLASH完成这部分的工作,这点在卫星机顶盒中的应用较多。其数据的读写操作是使用I2C总线方式进行。I2C是一种较为常用的串行接口标准,具有协议完善、支持芯片较多和占用I/O线少等优点。I2C总线是PHILIPS公司为有效实现电子器件之间的控制而开发的一种简单的双向两线总线。是一个国际标准,在超过100种不同的IC集成电路上实现,得到超过50家公司的许可,应用涉及家电、通信、控制等众多领域, I2C采用两根I/O线:一根时钟线(SCL称为串行时钟线),一根数据线(SDA称为串行数据线),实现全双工的同步数据通信。
I2C总线通过SCL/SDA两根线使挂接到总线上的器件相互进行信息传递SDA和SCL都是双向线路,各通过一个电流源或上拉电阻连接到正的电源电压。当总线空闲时这两条线路都是高电平,连接到总线的器件输出必须是漏极开路或集电极开路才能执行线与的功能。I2C总线上数据的传输速率在标准模式下可达100kb/s,在快速模式下可达400kb/s,在高速模式下可达3.4Mb/s。在机顶盒中,常常将TUNER,射频盒,24C**等元件挂在一起使用,即方便又快捷。93C46是64×16bit的结构,也就是说一个93C46具有64个16位bit单元的容量,每次处理数据也都是16位。主要存贮IP和MAC地址等和网络有关的的资料,不过目前已渐渐退出,改由FLASH完成它的使命。它的读写操作则是使用SPI总线,SPI(Serial Peripheral Interface)SPI 总线是Motorola公司推出的三线同步接口,是一种串行同步通讯协议,由一个主设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而完成数据的交换。SPI 接口由SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)四种信号构成,CS 决定了唯一的与主设备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备通过产生移位时钟来发起通讯。通讯时,数据由SDO 输出,SDI 输入,数据在时钟的上升或下降沿由SDO 输出,在紧接着的下降或上升沿由SDI 读入,这样经过8/16 次时钟的改变,完成8/16 位数据的传输。SPI总线可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等,波特率可以高达5Mbps,相对于I2C总线要快一些。
FLASH也叫闪存(如图2所示),机顶盒中常用的一种内存类型。机顶盒的主程序都放在里面。数据采用并行存储方式,有独立的数据和地址总线与之相配合,读写模式也是分开的。谈到这里要强调一下,这里说的Flash和我们搞硬件的看到常见的记忆卡中的不同,很多人甚至很多工程师都分不清楚。我们说的FLASH是指NOR FLASH ,而常见SD,USB存储卡中的都是NAND FLASH。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989年,东芝公司发表了NAND flash结构,强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NOR器件时是以64~128kb的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32kb的块进行的,执行相同的操作最多只需要4ms。NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。在NAND闪存中每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。稳定性方面,NAND也占有优势。有的读者要问了,说了半天NAND的要比NOR要好很多,为什麽不使用NAND FLASH呢?这样成本不就降下来了吗?其实不然,不同的结构特点决定了NAND无法直接应用在机顶盒中,只能配合NOR使用。NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。不需要任何的软件支持,在NAND器件上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD),NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。机顶盒中的NOR FLASH通常都不会超过64Mbit,就是这个道理。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。许多厂商制作的CA机顶盒(俗称解码器),纷纷被盗版(早期的FLASH加密方式很简单,有的没有做保护措施或者只是作了简单的处理,例如增加了单片机或GAL芯片来保护FLASH里面的程序不被盗走,这些都不能解决实际问题),导致运营商的损失加大,CA厂商纷纷升级系统版本,希望可以挽回损失损失,然而,道高一尺魔高一丈,治标不治本仍然解决不了实际情况。于是新的加密NOR FLASH诞生了,即Krypto闪存,这是ST在NOR闪存领域取得的一项关键的技术创新,这个产品系列提供内容保护功能,可以保护每一个扇区,防止非法修改和读取闪存数据。目前几个著名的CA厂商在做机顶盒认证时都要求机顶盒厂商使用这种FLASH,防止竞争对手非法复制有关信息。随着纳米技术的发展,FLASH的工艺也发生了变化,由110纳米转成90纳米以至现在50纳米工艺,FLASH的体积逐渐缩小(图3左侧为标准封装的TSOP封装的FLASH,其用量也是目前市场上使用最多的。右侧的BGA封装的FLASH,不难看出体积已缩小很多,这样机顶盒的印刷线路板面积也会变小,机顶盒的价格也会降一些,这才是我们最需要的,毕竟口袋里的粮食不多,囊中羞涩呀)。
HARD DISK就是我们最常用的硬盘,主要用来录制节目数据。早期的机顶盒并没有硬盘接口,还没有大量的数据需要存储。但随着PVR的需求改变了原有的设计思路,许多芯片都增加IDE接口(Integrated Drive Electronics就是指把控制器与盘体集成在一起的硬盘驱动器,我们常说的IDE 接口,也叫ATA 接口。),用来连接硬盘,存储海量的音视频数据,取代老式的PVR(并不是完全取代,只不过是将机顶盒和PVR整合在一起罢了)。要提供专用的IDE接口,数据线很多需要占用CPU资源。CPU引线将变多,即使使用BGA封装,由于焊盘数量的增加,CPU的体积也增加不少。随着硬盘技术的更新,SATA(新的Serial ATA(即串行ATA),是英特尔公司在2000年IDF(Intel Developer Forum,英特尔开发者论坛)发布,将于下一代外设产品中采用的接口类型。它是以连续串行的方式传送资料,在同一时间点内只会有1位数据传输)渐渐取代IDE,成为主要的硬盘接口,这种接口不需要占用CPU资源,减小接口的针脚数目,即用4个针就完成了所有的工作(第1针发出、第2针接收、第3 针供电、第4针地线),还降低了电力消耗,减小发热量,CPU剩余的资源也可以提供给其它端口,提高了CPU的效率。
说了半天非易失性存储器了,现在来谈谈易失性存储器。
DRAM作为机顶盒中最大的存储单元,主要存储视频D/A转换前的资料,VBI信息(包括图文广播,WSS等相关数据),还有现代流行的数据广播,EPG电子节目指南等等。由于内部存储的数据随时刷新,一但断电,内部存储的数据就都没有了,这也就是将其归到易失性存储器主要原因。在机顶盒发展的初期即上个世纪90年代,机顶盒的发展还处于萌芽状态,功能还是很少,可以解出图像和声音就已满足要求。当时CPU的工作频率较低,使用DRAM作为图像和声音作为存储单元(以百胜产的P3800为代表,使用的方案是ST公司最早的ST20+STI3520四片装方案)。DRAM(Dynamic Random Access Memory)顾名思义即动态RAM,是相对于静态RAM而言。DRAM的结构较为简单,基本结构是一只MOS管和一个电容构成。利用电容是否充有电荷来做为存储状态的标志。之所以称做“动态”,指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个内存刷新(Memory Refresh)的操作。我们举个例子:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就会造成数据丢失;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,籍此来保持数据的连续性。数据虽然保住了,但是因为有了刷新操作,动态内存的存取速度比静态内存要慢很多。随着CPU总要等待内存的数据,严重影响了性能机顶盒中常见的DRAM有-7和-6两种(图4),指的是就是70纳秒和60纳秒。现在最流行的SDRAM的速度更快,达到10纳秒,符合PC-100标准的SDRAM速度达到8纳秒。当系统的速度逐渐增加,EDO内存的速度就显得很慢了,CPU总要等待内存的数据,严重影响了性能,内存成了一个很大的瓶颈。因此出现了同步系统时钟频率的SDRAM。
SDRAM(同步DRAM),顾名思义,它是同步于系统时钟频率的。SDRAM内存访问采用突发(burst)模式,它和原理是,SDRAM在现有的标准动态存储器中加入同步控制逻辑(一个状态机),利用一个单一的系统时钟同步所有的地址数据和控制信号。使用SDRAM不但能提高系统表现,还能简化设计、提供高速的数据传输。在功能上,它类似常规的DRAM,也需时钟进行刷新。可以说,SDRAM是一种改善了结构的增强型DRAM。然而,SDRAM是如何利用它的同步特性而适应高速系统的需要的呢?我们知道,原先我们使用的动态存储器技术都是建立在异步控制基础上的。系统在使用这些异步动态存储器时需插入一些等待状态来适应异步动态存储器的本身需要,这时,指令的执行时间往往是由内存的速度、而非系统本身能够达到的最高速率来决定。例如,当将连续数据存入CACHE时,一个速度为60ns的快页内存需要40ns的页循环时间;当系统速度运行在100MHz时(一个时钟周期10ns),每执行一次数据存取,即需要等待4个时钟周期!而使用SDRAM,由于其同步特性,则可避免这一时。SDRAM结构的另一大特点是其支持DRAM的两列地址同时打开。两个打开的存储体间的内存存取可以交叉进行,一般的如预置或激活列可以隐藏在存储体存取过程中,即允许在一个存储体读或写的同时,令一存储体进行预置。按此进行,100MHz的无缝数据速率可在整个器件读或写中实现。因为SDRAM的速度约束着系统的时钟速度,它的速度是由MHz或ns来计算的。SDRAM的速度至少不能慢于系统的时钟速度,SDRAM的访问通常发生在四个连续的突发周期,第一个突发周期需要4个系统时钟周期,第二到第四个突发周期只需要1个系统时钟周期。还要强调的一点就是电源的调整,为了提高传送的频率,SDRAM的电源已经从DRAM时代的5V转为3.3V,这样做是为了降低了从“0”到“1”所需要的时间,以适应更高的系统要求。目前,我们见到的机顶盒大多数都使用SDRAM作为音视频数据,EPG,图文等等多种信息,即使是系统升级,也要占用SDRAM资源,即CPU先将RS232端口传过来的数据先存到SDRAM作缓冲,等到文件全部收下来才开始进行FLASH的更新。新一代CPU的出现(特别是主频在200MHZ左右的,例如ST公司推出的5100,7100等等),SDRAM也满足不了要求,系统要求提供更快的速度,于是新一代的内存DDR粉墨登场。
DDR(Double Data Rate)SDRAM即双倍速率同步动态随机存储器。其核心建立在SDRAM的基础上,是SDRAM的更新换代产品,SDRAM使用的3.3V电压,而DDR采用2.5V工作电压,这样做的结果在速度上有了提高(从0V变到到2.5V比从0V变到到3.3V所需要的时间要短,同样DRAM使用的是5V电源,读写时间叫SDRAM更长,所以速度是3个中最慢的)。DDR分为4种主要型号,DDR-200、DDR-266、DDR-333和DDR-433。外形上DDR与SDRAM相比差别不大, SDRAM多出12只管脚(如图5所示,上面的是SDRAM,下面的是DDR)。DDR可以在不提高时钟频率的情况下,使数据传输率提高一倍,SDRAM仅在时钟信号的上升沿读取数据,而DDR在时钟信号的上升沿和下降沿都读取数据,因此我们也可以说,它的速度是标准SDRAM的2倍。速度的提高提高了整体的性能,但是对于线路的布局也带来一定的困难,有条件的读者可以对比一下使用SDRAM的主板和使用DDRSDRAM的主板,不难发现使用DDRSDRAM的主板,CPU与DDRSDRAM之间的连线并不是直线,而是一些带有迂回婉转的曲线,这样做的目的是解决数据在高速传送时,因路线不同而造成时延不同,影响数据正常接收,很容易造成数据混乱,最终的结果会导致图像花屏甚至死机。
无论是非易失性存储器还是易失性存储器,都是机顶盒内部的重要组成部分。存储器部分就先说到这里,CPU和TUNER的解决方案后续再继续为大家介绍。