为多媒体应用选择一款合适的处理器是一项很复杂的工作。其原因之一就是从视频源到显示器之间需要多个高速连接,而且通常很难找到能处理高速数据流接口的完美组合。
一种解决方法是寻找一种通用的高速外围设备,以便在几种不同的配置中足够灵活地连接。美国模拟器件公司(Analog Devices Inc.,简称ADI)的Blackfin处理器系列中的并行外围接口(PPI)为这种灵活连接提供了一个很好的范例。
PPI是一种能在8~16 bit之间进行配置的多功能并行接口。它支持双向数据传输且包含三条同步线和一个用于连接外部时钟的引脚。PPI可以无缝地解码ITU-R
BT.656视频数据,也可以连接ITU-R BT.601视频流。
PPI不仅仅可用作照相机接口,而且可用作连接高速模数转换器(ADC)和数模转换器(DAC)的一个管道,具有很高的灵活性和足够快的速度。它还可以对外部处理器进行主机接口仿真,甚至还可以用作无缝连接液晶显示器(LCD)控制器。
视频输入输出接口
不久前,连接视频源就是指连接基于BT.601的视频流和外部帧同步信号。这些帧同步信号区分开视频信号和消隐区域以及帧边界,采用BT.656建议,所有这些同步信号都可以当做包含在一个完整的数字流中的控制信息,这样信号线仅仅就需要一条8~10bit的数据总线和一条时钟线。
PPI不仅可以按照BT.601视频流的“硬件同步”模式工作,还能自动解码BT.656前同步码,从而允许无缝连接到多种视频源和图像传感器。
这种灵活性还带来其它的好处。与直接存储器存取(DMA)控制器配合使用,PPI可以在完整的视频帧信息中只读入有效的视频信息,或只有消隐区域。这样当不需要完整的视频帧时显著节省了带宽。另外,PPI可以忽略隔行的BT.656视频流的所有第二场图像信息,从而提供了一种很有效的方法用于快速抽取输入信号。最后,因为PPI本身就可以解码BT.656视频流,所以它可以直接连接到流行的类似ADV7183A视频解码器。
在发送方向上,PPI可以发送数据给支持BT.601/656的视频编码器,例如ADV7179等。在这种情况下,利用软件在外部存储中建立完整的发送缓冲器(包括所有必需的前同步码),而PPI控制必要的信令(最多包括多达3个帧同步信号)以便发送数据到编码器。
ADC和DAC接口
随着支持要求严格的实时应用高速电路不断发展的趋势,ADC和DAC性能也有了突飞猛进的发展,从而允许采用数字信号处理器(DSP)取代成本很高的模拟电路。Blackfin处理器通过PPI可以直接连接这些高速混合信号转换器,从而实现了一种低功耗而且低成本的总体解决方案。
当今大多数的处理器都采用串行接口连接DAC和ADC。通常都将数据转换器的采样频率限制到1 MHz以下,这样的频率虽然对语音和音频处理来说是足够高了,但是无法满足高速、实时数据处理的需求。例如,许多的电信应用在发送和接收路径上都需要高速(10~60
MHz)的DAC和ADC。在过去,这些数据转换器通常都先连接到现场可编程门阵列(FPGA)或者专用集成电路(ASIC),然后再连接到DSP。
现在,因为Blackfin处理器的工作时钟频率高达600 MHz甚至更高,所以在需要极高采样速率的混合信号数据转换器的应用中,它们成为代替FPGA和ASIC的可行解决方案。
在普通的TDMA和半双工应用中,基于Blackfin处理器的收发器可能要在来自ADC的接收数据到通过DAC的发送数据之间频繁地切换。该PPI只需要几个系统时钟周期便能完成发送和接收方向之间的切换,其中系统时钟速率可高达133
MHz。
PPI和高速转换器之间的物理连接是非常简单的:一个时钟、一个可选的帧同步以及16个数据引脚。许多混合信号数据转换器都提供一个额外的输出时钟,它可以直接驱动PPI的时钟输入。另外,一个“接收允许”信号(利用通用的I/O引脚实现的)能够实现ADC和DAC之间的接口共享。
主机接口仿真
在多媒体应用中,外部处理器常常需要与媒体处理器通信,甚至达到访问其全部存储器空间的程度。通常,这种外部主机可以作为连接网络、存储接口或者其它数据流的管道,但是它不具备允许实时处理数据的性能特性。因此,就产生了对媒体处理器应具备相当宽的带宽的“主机接口”的要求。
图1 Black处理器与AD9975混合信号宽带调制解调器前端之间的半双工连接(略)
这里,PPI有两种使用方法。一种方法,通过增加外部锁存器,该接口允许在主机的异步本地总线和Blackfin处理器之间传送数据。另一种方法,PPI利用最小的无缝连接逻辑(一个门电路)便可仿真一个主机接口,由此外部处理器和Blackfin器件都遵守灵活的软件协议。启动时,
PPI被配置成接收一个从主机发出的100 byte的指令“信息包”。当接收到这个信息包时,PPI中断服务程序就分析该信息包并且根据这些接收到的指令启动DMA和PPI寄存器,在完成这些操作以后向主机回送一个应答信号。最后,主机通过执行本地总线读或写时序开始传送操作。
LCD控制器
薄膜晶体管LCD(TFT-LCD)平板显示器处在当今许多支持视频嵌入式应用的核心部分。虽然某些TFT-LCD平板显示器具有模拟前端,但是大多数都只有一个数字RGB接口,所以通常需要每个R、G和B都采用6
bit数据线,以及时钟和同步线。因为18引脚(6+6+6)的数据线不能很好地符合16 bit处理器的数据线,所以业界一种流行的折衷方法是R和B通道都采用5
bit,而G通道采用6 bit(5+6+5=16 bit数据总线)。这种方案工作得很好,因为绿色是三种颜色中对视觉最灵敏的颜色。在平板显示器的数据线上,将红色和蓝色的最低有效位(LSB)分别与其各自的最高有效位(MSB)连接在一起(即将R0和R5连接到PPI4上,将B0和B5连接到PPI15上)。这样保证了每个颜色通道具有全动态范围(从全饱和降到全黑)。
图2 PPI直接连接TFT-LCD显示器模块(略)
PPI作为一种16 bit接口,它能很好地处理这种5-6-5的排列格式。结合Blackfin处理器的预处理能力,PPI可以仿真一个适度复杂的LCD控制器。例如,双内核的ADSP-BF561处理器可以完成NTSC视频流的实时色度格式转换,将其转换为5-6-5
RGB格式,并且将它在VGA TFT-LCD平板显示器上显示--上述任务都在一个单内核上实现。这样就使另外一个内核处于空闲,可以用于完成图形叠加生成、操作系统以及其它的用户接口任务。
另外,有些TFT-LCD平板显示器需要外部的定时ASIC来产生行和列的驱动信号。并且ADSP-BF561可提供许多脉冲宽度调制(PWM)定时器输出信号,完全无需上述的ASIC,因此显著节省了产品材料清单(BOM)成本。
总之,PPI提供了一种简单而功能强大的方法用于直接连接高速并行数据流。这种通用的并行接口能支持市场上各种各样的应用。
|