首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年4月25日星期四
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
适宜海量存储应用的高速USB单片机

High-speed USB MCU for Mass Storage Applications

飞思卡尔半导体公司(Freescale)


MS9S12UF32的硬件结构

基本特性

MS9S12UF32是飞思卡尔半导体公司专门针对海量存储应用而设计的高速USB单片机。它采用S12 16W位CPU内核,在5V的供电电压下CPU的总线频率可达30MHz。内置有32K字节的嵌入式FLASH内存,可支持绝大多数的应用。具有3.5K字节的RAM,并可配置成1K字节的SRAM加2K 10位的SRAM。这种功能可用于逻辑地址到物理地址的转换,特别适合于SmartMedia以及Memory Stick记忆棒的应用。它还有内置的单线背景调制模块,从而可以把目标板直接用作仿真器、编程器。

图(略)

UF32有两种不同的封装形式,100脚LQFP和64脚LQFP。100脚的封装带有所有的存储介质接口,而64脚的封装可以有多种不同的选项。

UF32的CPU既可以运行在6MHz,也可以运行在30MHz,可用于USB功能。其引脚是多功能复用的,可以由软件进行配置,或者在上电时由硬件的上拉和下拉来确定。与08系列的CPU相比,S12的CPU具有增强的指令集,如查表指令和移动指令等,也有更多的索引方式。

UF32的电源和内置稳压器

UF32内置了多个稳压器。其中的3.3V和2.5V输出提供给内部的USB模块,VDD是2.5V,它专供S12 CPU内核本身。VDDA和VDD脚上需要各加一个旁路电容。另有一个稳压器提供3.3V的电压输出,但它需要一个外部的MOSFET,通过电路中的REF3V信号进行控制。3.3V的输出可以用来控制VDDX和VDD3X,并给它们提供电源,它还可以给其它存储介质提供电源。UF32的内存地址分配,在缺省状态下,队列RAM和寄存器RAM的地址是重叠的,所以需要将队列RAM映射到其它的区域。

集成队列模块可以无需CPU的参与,自助进行数据的传输。它可以自动地将数据从USB传送到某个海量存储器件,或者从存储器件传送到USB。它也可以实现数据在不同存储介质之间的传送。集成队列模块有四个通道,通常在USB和某个海量存储器件之间传输数据时,USB需使用高级别的通道。

USB2.0模块

USB的设备请求是一些控制传输信号,有两种类型的请求。
一类是标准请求,这在USB规范第9章中有详细说明。大多数标准请求都有一些选项,如设置地址、设置配置,这些对于所有的USB设备都是必需的。几乎所有的标准请求,都能由UF32的USB模块进行处理。读取描述字请求和设置描述字等请求需由固件进行处理。

图(略)


另一类请求为分类请求。它们各自不同的规格书中进行说明,每个类型各不相同,因此需要用固件处理。

UF32的ATA主控器特性

符合ATA/ATAPI规范-5;

PIO传输模式0到4;

UDMA模式0到4(突发模式下高达60MB/秒的传输速率);

16字节FIFO;

支持大于138GB的容量,这一特性从ATA6开始。

UF32中的ATA5主控寄存器分为两组,一组是内部寄存器,用于ATA的配置和定时器的配置。另一组是外部寄存器,它们被映射到外部ATA设备。

UF32的CompactFlash主制器特性

符合CompactFlash规范1.4;

支持PC卡存储模式;

支持PC卡I/O模式;

不支持真IDE模式(由ATA主控器支持);

8字节的FIFO;

高达2KB的卡地址存取。

CompactFlash卡的存储区(寄存器)有两种,一种是属性存储区,包括识别、配置信息等,另一种是通用存储区,包括ATA寄存器。

UF32的SmartMedia主控器特性

符合SmartMedia物理格式规范 和SmartMedia电气规范;

内置16字节FIFO;

内置块地址区的奇偶校验;

硬件ECC生成;

256+16或512+16数据传输模式;

高达128M字节。

UF32的SmartMedia主控器的工作命令表中有三种读取命令,读取命令1读取512字节,读取命令2读取256字节,读取命令3读取16字节。SmartMedia的最小擦除单位是块,即擦除一个数据就会把一个块的数据都擦除。UF32的RAM可以设置成2K 10位的形式,无需采用16位的RAM而产生地址浪费。


US32的记忆棒(Memory Stick)主 控器特性

符合索尼的记忆棒规范;

内置8字节FIFO;

硬件生成CRC;

命令自动执行;

16位主机总线存取。

记忆棒只需要三个口线进行通讯:总线状态、串行数据输出输入、串行时钟,它是主机控制器的输出信号。

UF32的安全数字卡(Secure Digital) 主控器

符合SD存储卡规范1.0(仅为SD模式,不支持SPI模式);

符合MMC系统规范3.0;

1位(MMC)或4位(SD)总线模式;

可编程时钟频率;

硬件生成CRC7和CRC16;

流模式(仅MMC)或块模式数据传输。

它有4个数据口、1个命令口、1个时钟口。SD的命令格式总是48位的,而响应的位数可以48位也可以是136位,取决于命令内容。参考设计时用到了部分的命令。


USB海量存储应用及参考设计

批量传输是USB海量存储应用的一种,另外有巨量中断传输方式,还有针对软盘应用的传输方式等。

USB批量传输模式要求:端点要求,分类请求,命令块数据包(CBW),命令状态数据包(CSW)。存在有三种类型的命令块数据包:第一种主机发送数据到设备,第二种是不带数据传输的命令块数据包,第三种是主机要从设备接收数据的命令。
飞思卡尔在海量存储方面提供以下几种参考设计:

USB ATA/ATAPI转接桥


设计有两种电路板,一种针对2.5英寸硬盘,一种针对3.5英寸硬盘以及其它如DVD-Rewrite类设备的。

图(略)

优盘驱动器

只有一个UF32和一个NAND闪存。NAND接口与SmartMedia的接口相似或完全一致。用户可以选择采用接口相同的闪存。

图(略)

USB读卡器的参考设计

这个方案支持CompactFlash、SmartMedia、Secure Digital和记忆棒。它采用UF32开发板,配置有所有的存储器卡接口以及ATA的接口。

飞思卡尔在海量存储方面提供以下几种参考设计:



USB ATA/ATAPI转接桥

设计有两种电路板,一种针对2.5英寸硬盘,一种针对3.5英寸硬盘以及其它如DVD-Rewrite类设备的。

图(略)

优盘驱动器

只有一个UF32和一个NAND闪存。NAND接口与SmartMedia的接口相似或完全一致。用户可以选择采用接口相同的闪存。

图(略)

USB读卡器的参考设计

这个方案支持CompactFlash、SmartMedia、Secure Digital和记忆棒。它采用UF32开发板,配置有所有的存储器卡接口以及ATA的接口。

图(略)


问答选编

问:1.UF32是否支持XD卡。 2.UF32是否同时连接两种不同的存储体,并能够实现相互之间的数据拷贝。3.UF32是否支持对盘符的划分。

答:1.不;
2.是,用IQUEUE模式;
3.是,主机可同时监控多个硬盘分区。

问:1.普通MCU为什么不适宜海量高速USB;
2.为了适应此种应用,MCU应具备什么特性?
3.该产品的配套开发环境如何?

答:1. 普通MCU性能不够;

2. 应具备:USB控制端口、Bulk IN、一个Bulk输出多 端口;另外应基于支持什么大容量的存储器;

3.软件,我们有Codeworrier C++;硬件,有所有存储 卡接口、内置ATA连接的开发板,以及一些参考设计。

问:请问USB2.0的通信协议是不是与模块化,可直接 调用?单片机的价格是不是有优势?

答:大多数标准USB指令,除了 GET_DESCRIPTOR, 都支持USB硬件模块。对USB固件开发,需要 GET_DESCRIPTOR指令,对于某些总线还需SUS PEND、 USB RESET、 RESUME等。

UF32 在价格上应该是很有竞争力的。

问:请问与普通的USB控制芯片相比有什么不同点 和相同点。

答:UF32是Freescale第一个高速USB器件(480Mbps), 兼容Freescale低速、全速的USB器件。

问:请教专家下面三个问题:
1.功耗情况如何(全速和节电模式)?
2.开发系统有何要求?
3.Windows驱动程序如何处理?

答:1.UF32,正常运行IDD大约90mA,室温下,IDD停 止约100uA;
2.建议用Metrowerk Codewarrier ,至少有16K FLA SH支持;
3.对“USB Mass Storage Bulk-Only Transfer ” Windows 2000 和 Windows XP 已嵌入,无需特殊驱动程序;对 Windows 98,我们为客户开发了驱动程序。

问:USB和单片机结合有哪些优点?USB2.0可以达 到480Mbit每秒,单片机在速度上如何匹配?

答:MCU + USB是高性价比的方案,节约PCB空间、 易于开发。用内部缓冲器可以完成最大限度的 USB传输, UF32用 S12 Core,能支持30MHz总线。

问:MC9S12UF32的寻址空间有多大?外部数据总线 为多少位?工作频率最高为多少?

答:完整的地址空间从$0000-$FFFF ,程序Flash 32k、 内置RAM 3.5K并只允许一页 (16k)外部存储器; 16 bit 地址、数据线在PTA 和PTB;最高总线频率 30MHz。

问:开发MC9S12UF32是否可以使用并口的BDM-MUL TLINK?

答:可以。用S12 DBM Multilink,有并口和USB口。

问:是否测试过对于4200转的硬盘,USB2.0,使用您 的芯片的设备与PC最大的读写速度能到多少?

答:对硬盘支持UDMA mode 4, 2.6GHz Pentium 4 CPU 的PC最大的读写速度,读33MByte/s 、写23MByte/ s ;速度取决于PC和硬盘的性能。

问:请问FreeScale是否提供该MCU的USB2.0固件?

答:UF32已内置USB2.0 HS硬件模块, UF32 开发平 台 (EVM)包括用于固件开发的USB控制器。

问:请问开发是基于何种操作软件?C和汇编可以 吗?还有那些高级语言可以应用在高速USB单 片机系统?

答:支持C和汇编,其他高级语言在嵌入控制器应用 中不支持。

问:该USB可否达到和普通mp3解码芯片解码所需 的速度?

答:可以, UF32已用于MP-HDD播放器。

问:USB的通讯距离是比较短的,请问象贵公司的此 类单片机在应用时是否会受此影响。

答:5米是标准。

问:作为16位USB单片机,与集成有ARM核或者其 他软核的FPGA的USB开发有什么优缺点。更适 合于那些方面的应用。譬如,我如果要完成一个 高速信号采集,通过USB通道上传数据,单片机 能不能达到那么高的速度。

答:UF32仍是传统意义上的16位单片机,但它内部 集成了高速USB接口及控制电路,还有收发器及 收发缓存区,另外还有专用的集成队列模块,所 有这些特性能大大提高其数据处理及传输得速度, 同时也大大减轻了软件的负担。至于对于某个 具体的应用UF32是否能达到其要求,应该对数 据处理和传输的要求进行具体分析。

问:能否对采用ATA/ATAPI转接桥实现保密功能的设 计,请简单的介绍一二。

答:如果用自定义密码,可以在UF32中完成,如果想 用Microsoft DRM 加密,UF32不能独立完成,必须 有其他有更大存储器容量的CPU协同工作。

问:我用的是GP32芯片,请问如何将其SCI转换为 USB接口(硬件连接)?MC9S12UF32芯片在线 编程如何实现,其USB2.0接口寄存器编程实现 方法及在汽车电子上具体实例?

答:GP32没有内置的USB接口电路,应该通过串行 通讯接口与其他的USB接口电路进行通讯。UF32 可以通过BDM(背景调试模块)接口进行在线编程, 也可以通过串行通讯接口进行在线编程。

问:UF32支不支持IDE模式的CF卡读写?

答:可以支持,但要通过ATA接口控制方式。

问:该芯片的可编程中断口是否仍然是边沿触发方式?

答:UF32 MCU 的IRQ 和XIRQ 与其他S12 MCU相同; XIRQ是电平触发,IRQ 可以是电平触发或下降沿 触发。

问:1、使用CodeWarrior开发UF32程序,最多可以设 置两个断点,问如何设置多个断点?
2、UF32内置32K Flash ROM,是否可以扩展?如 何扩展?

答:1. 两个断点是固定的,不能增加;

2. 用扩展模式和I/O口扩展。

2005GEC.1

         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com