CSDN博客

img ryman

Strong ARM SA1110的USB解决方案

发表于2004/10/26 11:28:00  1669人阅读

分类: Linux嵌入式系统的底层软件开发系列之一

Strong ARM SA1110的USB解决方案
USB Interface Solution For Strong ARM SA1110
■洛阳工业高等专科学校计算机系 李 蒙 舒云星
由于Intel Strong ARM SA1110 有高达206MHz的主频速度,并有功能强大的多媒体接口和LCD接口,在掌上电脑和一些行业用户中得到了广泛的应用,如电信的多媒体公话和VoIP的移动终端等。但是由于SA1110的USB接口只有从控制器,只能作为一个从设备使用,限制了SA1110的应用范围,因此如何为SA1110扩展USB的主接口就成了一个关键的问题。这里采用Philips的ISP1161为SA1110扩展了两个USB的主接口和一个从接口。


ISP1161 功能简介


ISP1161是在一个芯片上集成了两个USB的控制器,一个是主控制器HC(Host Controller),另一个是从控制器DC(Device Controller),这两个控制器共用总线接口,有独立的DMA通道和独立的DMA中断申请引脚,独立主接口和从 接口,因此ISP1161可控制USB 的HC和DC同时工作。

ISP1161为USB HC提供两个下行的端口,为USB DC 提供一个上行的端口。每个下行的端口有独立的过流检测输入引脚和电源供电开关控制输出引脚。上行接口有独立的VBUS检测输入引脚,因此可为SA1110扩展两个USB 的主接口和一个从接口。USB的主接口可连接任何于USB接口协议兼容的USB 设备,USB的从 接口可连接任何于USB接口协议兼容的USB 主 接口的设备。同时USB HC 和DC有独立的唤醒输入引脚和挂起输出引脚,使系统电源管理更加灵活,因此ISP1161非常适合用于嵌入式系统和便携式设备。使用ISP1161的嵌入式系统中的应用如图1所示。


ISP1161的性能指标


ISP1161支持USB2.0协议,并兼容USB1.1;
支持单路的突发模式和多路的突发模式的DMA操作;
内置独立的缓冲HC(4KB)及DC(2462bit);
工作电压+5V或3.3V;
8KV的ESD电路保护;
主接口的最大传输为15MB/s, 从 接口的最大传输为11.1MB/s;
6MHz 的晶振,内部集成PLL以减少电磁干扰(EMI)。


连接方式


ISP1161与CPU的接口。是专为RISC的CPU设计的,数据传输可工作在I/O口方式和DMA方式。其内部有一个"乒乓"(Ping Pong)结构的RAM可由内部的主/从控制器或外部的CPU控制。这个RAM空间的分配对主控制器和从控制器来说是独立的,主控制器有2K的Ping RAM和2K的Pong RAM, 从控制器有1.5K的Ping RAM和1.5K的Pong RAM。

ISP1161的D0-D16直接与SA1110的数据线相连,用SA110的两个地址线(A0,A1)来选择ISP1161的内部寄存器。

A1A0=00 选择主控制器的数据端口;
A1A0=01 选择主控制器的命令端口;
A1A0=10 选择从控制器的数据端口;
A1A0=11 选择从控制器的命令端口。

用SA1110的一个SC为ISB1161分配一个确定的地址端, WR和RD分别传送写和读信号。INT1和INT2分别是主/从控制的中断申请,接SA1110的GPIO,这两个中断线可编程控制为电平或脉冲触发方式。ISP1161的RESET/n接SA1110的RESET_OUT/n,RESET_OUT/n在SA1110复位后会自动产生一个低电平使ISP1161复位。连接关系如图2所示。

读写时序

SA1110的修改内存读写周期通过设置MSC0、MSC1、MSC2寄存器实现。写MSC0可改变CS0、CS1的读写周期,写MSC1可改变CS2、CS3的读写周期,写MSC2可改变CS3、CS4的读写周期。

读操作必须遵守以下时序关系:

根据ISP1161的读写周期,对控制ISP1161的片选线的MSCX寄存器进行相应设置,即可使SA1110对ISP1161的读写时序符合ISP1161芯片的要求。访问ISP1161的内部寄存器分两个步骤:

1)写要访问的寄存器地址;
2)根据(RD/WD)要求实现数据传输。

中断的使用

ISP1161的两个中断INT1、INT2分别是有主控制器和从控制器产生,通过设置ISP1161的中断寄存器、中断使能寄存器和硬件配置寄存器实现中断控制。INT1、INT2可通过设置设置硬件配置寄存器为:高电平、低电平、上升沿、下降沿四种工作方式。分别连接INT1、INT2到SA1110的GPIO口上,每个GPIO口都可通过设置上升沿检测寄存器(GRER)和设置下降沿检测寄存器(GFER)中相应位,实现对INT1和INT2沿变化的检测,并产生中断通知CPU。

ISP1161的挂起和恢复

ISP1161是为嵌入式设备专门设计的,提供了节能工作模式以减少功耗,通过设置主控制器的控制寄存器和从控制器的模式寄存器可使ISP1161进入节能模式。

主控制器挂起设置,写11到控制寄存器的bit7、6主控制器功能状态位(HCFS),可实现将主控制器挂起,进入挂起状态1.3ms后,内部时钟停止,内部电压调节电路关闭,读引脚H_SUSPEND电平,可判断是否实现挂起操作。

从控制器挂起设置,送一个高电平脉冲到模式寄存器的bit 5(GOSUSP),即可将从控制器挂起,读引脚D_SUSPEND电平,可判断是否实现挂起操作。
ISP1161的唤醒可通过控制主控制器唤醒引脚(H_WAKEUP)和从控制器唤醒引脚(D_WAKEUP)实现,这两个引脚可接到SA1110的GPIO上。也可以设置ISP1161的控制寄存器的bit3为1,通过CS信号实现唤醒,即CS信号有效时可唤醒系统。
阅读全文
0 0

相关文章推荐

img
取 消
img