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
|