530 likes | 732 Views
4.6.4 高速红外通讯接口 FICP. FICP 工作于半双工方式,可直接驱动市面上出售的符合 IrDA 规定的红外 LED 器件。 FICP 基于 4MHz IrDA 标准,使用 4PPM 调制方式,以及和专门为 IrDA 开发的串行分组协议。 PXA255 FICP 接口包括以下模块: 一个位编码 / 译码器 一个串 / 并数据转换器 一个 128 × 8 位发送 FIFO 一个 128 × 11 位接收 FIFO.
E N D
4.6.4 高速红外通讯接口FICP • FICP工作于半双工方式,可直接驱动市面上出售的符合IrDA规定的红外LED器件。FICP基于4MHz IrDA标准,使用4PPM调制方式,以及和专门为IrDA开发的串行分组协议。 • PXA255 FICP接口包括以下模块: • 一个位编码/译码器 • 一个串/并数据转换器 • 一个128×8位发送FIFO • 一个128×11位接收FIFO
FICP与标准UART共享发送和接收数据脚(IRTXD和IRRXD),同时只能有一个接口有效。为支持各种IrDA传送器,发送和接收数据脚可分别设置为高或低有效。
FICP发送/接收数据采用4PPM IrDA标准进行调制。在4PPM方式中,用一个128ns光脉冲置于四个时间段方式一次编码两位数据。这四个时间段称为片(Chip)。四个片构成一个字节。
波特率的确定 FICP的数据传输速率是由一个48MHz的时钟所决定的,采用一个6分频的PLL可以得到一个8MHz的波特率时钟用于4PPM调制数据的同步。4Mbps数据流的chip速率为2MHz,每个chip包括4个timeslot,则timeslot的速率就是8MHz。接收方对每个timeslot的采样是6次,也就是48MHz的采样频率。
数据的接收 IrDA标准中所有传送为半双工,故软件一次只应允许一个方向的传送。 在允许FICP时,接收器从接收数据脚检测输入的片。如没发现正确的引导码(Preamble)时,时间段计数器跳过一个8MHz周期。这称为搜索方式。它持续至发现正确的引导码,这指示时间段计数器达到同步。引导码可重复16次或连续表示空闲发送线。在收到16个引导码后,接收开始标志。开始标志为8个片。如开始标志错,则产生帧错,重新进入搜索方式。
在收到正确的开始标志后,每四个片编码为一个字节,写入5字节的暂时FIFO中。在暂存FIFO满,数据值一个接一个地传送至接收FIFO。帧的第一个数据字节为地址。如允许地址符合比较,则把接收到的地址与ICCR1的地址符合值进行比较。如符合或输入地址为全1,所有后继数据字节,包括地址字节,存入接收FIFO中。如不符合,不存入接收FIFO,查找下一个引导码。如不允许接收地址符合,则帧的第一个数据字节作为普通数据存放于FIFO中。在收到正确的开始标志后,每四个片编码为一个字节,写入5字节的暂时FIFO中。在暂存FIFO满,数据值一个接一个地传送至接收FIFO。帧的第一个数据字节为地址。如允许地址符合比较,则把接收到的地址与ICCR1的地址符合值进行比较。如符合或输入地址为全1,所有后继数据字节,包括地址字节,存入接收FIFO中。如不符合,不存入接收FIFO,查找下一个引导码。如不允许接收地址符合,则帧的第一个数据字节作为普通数据存放于FIFO中。
数据的发送 在每帧结束后,FICP发送一个称为串行红外传送脉冲(SIP)。每500ms至少须发一个SIP,以保证低速器件(115.2Kps或更低)不破坏高速传送。SIP模拟引起使所有低速器件在至少下一个500ms内处于总线外的起始位。在SIP周期后,连续发引导码,以向片外器件指出FICP发送器处于空闲状态。
4.6.5 USB接口 处理器有一个通用串行总线器件控制器(UDC)。它支持16个端点(endpoint),能以12Mbs工作于半双工方式(仅为从机,不能作主机或Hub控制器)。UDC支持四种器件设置。设置1、2和3每种支持两个接口。这允许主机对物理总线结构进行动态修改。
USB接口有四条线:+5V、地、UDC+(D+)和UDC-(D-)。USB规定使用D+和D-两个脚的差分信号进行半双工数据传送 。
UDC共有41个寄存器,所有的设置、请求/服务和状态报告由USB主机通过USB与UDC的通讯来控制。 UDC寄存器包括控制UDC与软件接口寄存器,中断控制寄存器、状态寄存器等。16个端点每个也都有自己的控制或状态寄存器。
4.7 多媒体通信接口 Xscale是专门是为手持式设备而设计的处理器,其具有专门的多媒体处理功能。因此多媒体通信接口也是其重要的组成部分。
4.7.1 AC’97控制器 PXA250/255的AC97控制器单元(ACUNIT)支持AC97 V2.0,也支持声音控制器连接(AC-LINK)。AC-LINK是一种用于传送数字声音、Modem、话筒输入、Codec(编码解码器)寄存器控制和状态信息的串行接口。 注:ACUNIT和I2S控制器不能同时使用。
ACUNIT支持以下AC97特性: • 具有独立的立体声脉冲编码调制(PCM)输入、立体声PCM输出、Modem输出、Modem输入和单声道话筒输入通道。它们仅支持16位硬件采样。低于16位的采样由软件支持。 • 多重采样速率AC97 2.0 Codec(48KHZ或更低)。ACUNIT采样速率可以通过Codec控制进行改变。
读/写访问AC97寄存器。 • 支持第二个Codec。 • 三个接收FIFO(32位16单元)。 • 两个发送FIFO(32位16单元)。 • 不支持以下可选的AC97特性: • 双速率采样(PCM L、R&C的n+1采样)。 • 18和20位采样长度。
AC97的信号线构成AC-LINK。AC-LINK是一种支持点至点的全双工同步串行互连方式。所有数字音频数据流、Modem线上的Codec数据流和所有的命令/状态信息都通过AC-LINK进行传送。AC-LINK的管脚使用GPIO来组成,必须通过软件来配置GPIO用作AC-LINK。
Signal Configuration Steps • Configure SYNC and SDATA_OUT as outputs. • Configure BITCLK, SDATA_IN_0, and SDATA_IN_1 as inputs. • nACRESET is a dedicated output. It remains asserted on power-up. Complete these steps to deassert nACRESET: • a. Configure the other AC’97 signals as • previously described. • b. In the Global Control Register (GCR), Set • the GCR[COLD_RST] bit.
AC-LINK数据帧由256bits组成,分为13个时隙。时隙0有16bits,称为Tag Phase。其他12个时隙称为Data Phase,长度都是20bits。Tag中有1bit表示该帧有效,12bits分别表示12个数据时隙的有效性。 数据帧从SYNC变高开始传输。AC’97的帧速率为48KHz, BITCLK为12.288MHz,两者保持同步。
ACUNIT寄存器 ACUNIT和Codec寄存器位于0x4050 0000至0x405F FFFF地址的空间。所有ACUNIT寄存器为32bits。Codec寄存器的宽度为16bits。
4.7.2 I2S控制器 I2S是一个数字立体声的协议。 Xscale的I2SC模块控制I2SLINK,这是一个低功耗、四线串行立体声接口。I2S和AC’97接口不能同时使用。
I2SC支持普通的I2S以及MSB-Justified-I2S格式。通过4根(或者可选为5根)连线把控制器连接至外部的Codec上:I2SC支持普通的I2S以及MSB-Justified-I2S格式。通过4根(或者可选为5根)连线把控制器连接至外部的Codec上: • 一个位速率时钟,可使用内部或外部源。 • 一个格式(左/右)控制信号。 • 两个串行声音脚:一个输入,一个输出。 • 一个可选的系统时钟可从I2SC发至Codec。
1、SYSCLK:I2S单元的基本时钟。通过PLL可以获得大致在2MHz到12.2MHz之间的频率,是声音采样频率的256倍。1、SYSCLK:I2S单元的基本时钟。通过PLL可以获得大致在2MHz到12.2MHz之间的频率,是声音采样频率的256倍。 2、BITCLK:为SYSCLK频率的四分之一,64倍于声音采样频率。一个音频采样值由左声道和右声道信号组成,长度可以是8、16或32位。BITCLK可设置为输入或输出。 3、SYNC:它为BITCLK的64分频,为8KHZ至48KHZ信号。SYNC用于指出当前数据是左或右声道数据。 4、SDATA_IN和SDATA_OUT:用于I2SC从Codec接收/发送数据。
I2SC支持的采样频率 注:对MPEG2和MPEG4应设置为48KHz采样速率。对MP3为44.1KHz。
4.7.3 MMC控制器 多媒体卡(MMC)控制器的作用就是连接软件程序与MMC栈(全套存贮卡)。MMC控制器可支持MMC系统、低成本数据存贮器和通讯模块。
MMC控制器的特点: • 数据传送速率可高至20Mbs。 • 一个响应FIFO。 • 两套接收数据FIFO。 • 两套发送FIFO。 • 支持两个MMC设备,可工作于MMC或SPI模式。
MMC通过命令和数据线进行串行通讯,其信息传输是基于消息(Message)的协议。 包括一下令牌(token): • 命令(Command) • 响应(Response) • 数据(Data)
命令令牌:一个6字节的命令令牌启动一次操作。命令集包含卡初始化、卡寄存器读和写、数据传送等。MMC控制器仅从MMCMD线串行发送命令令牌。命令令牌:一个6字节的命令令牌启动一次操作。命令集包含卡初始化、卡寄存器读和写、数据传送等。MMC控制器仅从MMCMD线串行发送命令令牌。
响应令牌:一个响应令牌是对命令令牌的响应。每个命令要么对应有专门响应,要么无响应。具体的响应令牌格式和预期的响应以及卡模式有关,可以参考The MultiMediaCard System Specification Version 2.1。
数据令牌:控制器和卡之间的数据传输是以8-bit块的形式进行串行传输,最高速率可以达到20Mbps。数据令牌格式要根据卡工作方式而定,有MMC数据令牌和SPI数据令牌两种格式。 。
4.8 LCD控制器 Xscale的LCD控制器提供处理器与被动(DSTN)或主动(TFT)平板显示器的接口,它支持单色和多种彩色格式。另外LCD控制器还支持单屏或双屏显示 。
LCD控制器特性 • 显示方式: • —单或双屏显示 • —被动单色方式,256级灰度(8位) • —被动彩色方式,65536种颜色 • —主动彩色方式有65536种颜色 • —被动8位彩色单屏显示 • —被动8位(每屏)彩色双屏显示
最好达到1024×1024像点,推荐640×480。 • 内部彩色调色板RAM256×16bits(能在每帧开始自动装入) • 像点编码数据可以为1、2、4、8或16位。 • 可程控极性翻转的AC偏置脚输出(由行计数控制) • 可程控的像点时钟,从195KHz至83MHZ(100MHZ/512至166MHZ/2)
专用双通道DMA(一个通道用于调色板和单屏,另一个通道用于双屏方式的第二个屏)专用双通道DMA(一个通道用于调色板和单屏,另一个通道用于双屏方式的第二个屏) • 可程控在每行的开始和结束插入等待状态。 • 可程控输出允许、帧时钟和行时钟的极性。 • 可程控输入和输出FIFO下溢出中断。 • 可程控帧和行时钟极性,脉冲宽度和等待技术。
在复位后,第一次允许LCD控制器时,必须如下编程所有LCD寄存器:在复位后,第一次允许LCD控制器时,必须如下编程所有LCD寄存器: 1. 置通用I/O(GPIO)脚用于LCD控制器的功能。 2. 把帧描述器和调色板描述器(如需要)写入存储器。 3. 编程所有的LCD设置寄存器,除了帧描述器地址寄存器(FDADRx)、LCD控制器设置寄存器0(LCCR0)。 4. 把调色板/帧描述器的存储器地址写入PDADRx中。写入LCCR0允许LCD控制器。
有两种禁止LCD控制器的方法:普通和快速。 1.普通禁止:推荐使用的停止LCD控制器的方式。置位LCCR0的DIS位,这时将在完成当前帧显示后,禁止LCD,并置位LCSR的LCD禁止完成位(LDD),自动清零LCCR0的允许位(ENB)。 2. 快速禁止:清零LCCR0的允许位(ENB),LCD控制器在完成现行DMA传送后立即停止LCD驱动,并置位LCSR的快速禁止位(QD)。它一般用于需立即减小系统总线传输的情况,如电池故障等。