USB接口已经在无线接入设备、电子商务、安全钥匙、PDA及计算机便携式外设上有了广泛的应用。本次Freescale杯设计竞赛推荐的两款单片机带有USB接口,它们是支持高速、全速USB传输的MC9S12UF32和支持低速USB传输的MC68HC908JB8/16。
MC9S12UF32 单片机
MC9S12UF32是16位单片机中低价位、高性能HC/S12家族中的一员。由S12内核(Star Core CPU),加其它标准的片上模块组成,包括32K字节FLASH EEPROM,3.5K字节RAM,1.5K队列QRAM,高速USB2.0(480Mb/s)接口,给USB批量数据传输使用的集成队列控制器(IQUE),ATA5接口(PCI总线接口),U盘类FLASH接口(Compact FLASH),SD/MMC接口,智能多媒体接口,记忆棒接口,一个16位8通道定时器,串行通讯接口,73个独立氖?諭/O通道和2个输入通道。系统集成模块(SIM)负责管理系统资源的映射、时钟产生、中断控制和总线接口。MC9S12UF32系统总线为16位宽。外部总线可以在8位窄模式下工作,这使得在低成本系统中可以使用单个8位宽存储器。特别地,IQUE模块控制了一条专门的内部总线,这条总线使得从存储接口到USB模块可以保持每秒60M字节的传输率。
可以说这款单片机是专门为高速USB存储设备接口设计的。使用这款芯片的主要模块是集成队列控制器(IQUE)、USB2.0接口和众多存储控制器接口(如ATA5)中的一个或多个。CPU本身起到了对系统的配置和控制作用,真正的数据传输通过IQUE作为中介完成,不需要CPU的干预,这是利用这款芯片进行产品设计时的思路。
集成队列模块IQUE由三个主要部分组成:QUE控制器、QUE集成模块(QIM)和1.5K字节,宽度可定义为16位的静态队列RAM(QRAM)。QUE控制器有四个通道,它们可以在单个IQUE时钟周期内移动一个字节或者一个16位字。QIM内部的复用和控制逻辑允许QRAM在QUE控制器和CPU之间共享。模块有三个总线接口:外设(IP)总线接口,IP 先进先出缓冲接口(FIFO)和S12的CPU接口(EEPROM总线)。
集成队列模块IQUE可以在不需CPU干预的情况下进行自动数据块传输,并且由于队列数据传输发生在CPU不使用QRAM的时间段内,因此不需要借用CPU总线周期。一个快速通道专门供高数据速率的外围设备使用。即使CPU在使用QRAM,该通道也能保证数据传输的带宽。不同于DMA控制器,IQUE是专门面向高速数据传输的单片机设计的,传输队列的一端是单片机内的外围设备,另一端是QRAM。这种设计大大减少了地址指针,计数器和其它控制逻辑的数目,降低了系统设计的复杂程度。
在数据队列的自动传输过程中,数据以FIFO的方式写入或传出QRAM。CPU可以通过对QUE控制器寄存器的操作实现对QRAM的写入或者读出,这些寄存器作为FIFO数据端口工作。特别地,CPU可以用普通的读或写方式对QRAM进行随机访问。当从FIFO数据端口访问QRAM中的信息时,指针会自动更新,此时QRAM缓冲区以环形或线性FIFO方式工作。FIFO的起始指针和末尾指针也可以直接修改。
QUE控制器中的四个队列通道可以以接收队列或者发送队列方式工作。转移方式只是把一个接收通道和发送通道联系到同一块QRAM FIFO缓冲区上,这样数据就可以在没有CPU的干预下自动从一个外设传送到另一个外设。当某一个队列通道关闭时,与该通道相联系的FIFO缓冲区可以作为软件缓冲区使用。
USB2.0模块依靠片上USB设备控制器(UDC20)和USB物理层接口(UPHY),支持USB全速和高速协议。USB2.0模块的示意框图如图1所示。
图1 USB2.0模块方块图
UDC20模块通过IP总线处在S12内核的编程控制中。有6个独立的端点,它们可以配置为控制、中断、批量或者同步传输的IN/OUT端点。两个64字节的端点缓冲区分配给了物理端点1,该端点默认为控制端点。另外三个64字节缓冲区分配给了物理端点2,3和6
本新闻共2页,当前在第1页 [1] [2]
|