位置:51电子网 » 技术资料 » 存 储 器

基于LPC2132的U盘软硬件系统设计

发布时间:2008/5/27 0:00:00 访问次数:705

        

    

     引 言

    

    usb移动存储技术(u盘)把usb接口技术与flash存储器技术结合在一起,构成了一种快速、大容量、方便的新型数据交换系统,主要构成有主控制器(mcu)、usb接口芯片和flash存储器。主控制器(mcu)是系统的核心,负责控制各种外围设备、实现各种算法、协调与主机通信;usb接口芯片负责usb通信;flash(闪烁存储器)用来存储数据,它决定了u盘的容量。

    

    1 硬件系统设计

    

    u盘设计结构框图如图1所示。使用phil-ips公司的arm7芯片lpc2132,控制 philips的usb1.1接口芯片pdi-usbd12,处理pmc公司的128 kb串行flash存储器作为数据存储设备实现u盘。

    

    

    (1) arm处理器

    

    lpc2132是基于一个支持实时仿真和跟踪的16/32位arm7tdmi-s cpu,并带有64 kb嵌入的高速flash存储器。lpc2132的实时仿真和跟踪功能方便了代码的调试,降低了开发成本。

    

    (2) pdiusbd12

    

    pdiusbd12(简称为“d12”)是一款性价比很高的usb器件;通常用于微控制器系统中实现与微控制器进行通信的高速通用并行接口;支持本地的dma传输。pdiusbd12所具有的低挂起功耗连同lazyclock输出可以满足使用acpi、onnow和usb电源管理的要求。低功耗可以应用于使用usb总线供电的外设。

    

    (3) flash存储器

    

    存储器选用pmc公司的pm25lv010。适合低功耗和低电压下工作的应用场合;具有完备的数据保护功能。通过没置芯片的状态寄存器,可以将存储空间的高1/4、高1/2或整片写保护。写使能和写禁止指令进一步保护数据。另外还提供wp引脚用于硬件数据保护,以防止对状态寄存器的意外修改。

    

    u盘电路原理如图2所示。

    

    

    2 软件设计

    

    软件设计主要包括d12驱动、mass storage类协议和flash存储器的读/写控制。

    

    2.1 d12驱动的实现

    

    在usb设备插入主机之前,主机对这个usb设备的情况一无所知,无法建立起通信;但usb协议规定了一些最基本的准则,如每个设备的端点0都是可用的,属于控制端点。有了这个基本的沟通途径,主机就开始通过端点0向设备提出一些问题,这些问题是有关设备基本情况的。这些基本情况可以反映usb设备所属的类别及子类,反映配置情况、接口情况和端点情况;一旦得知了这些信息,主机就大体了解了这个设备是个什么样的设备,按照usb协议中的相应规定,就逐步建立起了一条介于设备之间的高速数据通道,用于数据的传输。主机向设备提出的这些问题实际上就是usb协议中规定的各种标准清求,设备必须对这些问题进行回答;而回答的方式就是向主机传送相应的描述符,即设备描述符、配置描述符、接口描述符、端点描述符。

    

    为了使软件可移植性强、易维护,采用分层的方法编写pdiusbd12的驱动程序。usb驱动程序分层结构如表1所列。

    

    

    ① 硬件提取层(d12hal.c)包含最底层的函数。

    

    ② d12命令接口(d12ci.c)实现pdiusbd12的命令接口以简化器件的编程。该层的函数及其功能如下:

    

    ◇读取芯片id号,uint16 d12_readchipid(void);

    

    ◇设置地址/使能,void d12_setaddressenable(uint8 baddress,uint8 benable);

    

    ◇设置端点使能,void d12_setendpointenable(uint8 benable);

    

    ◇设置模式,void d12_setmode(uint8 bconfig,uint8bclkdiv)。

    

    ③ 协议层(chap_9.c)处理标准的usb设备请求,以及特殊的厂商请求,如dma等。usb

        

    

     引 言

    

    usb移动存储技术(u盘)把usb接口技术与flash存储器技术结合在一起,构成了一种快速、大容量、方便的新型数据交换系统,主要构成有主控制器(mcu)、usb接口芯片和flash存储器。主控制器(mcu)是系统的核心,负责控制各种外围设备、实现各种算法、协调与主机通信;usb接口芯片负责usb通信;flash(闪烁存储器)用来存储数据,它决定了u盘的容量。

    

    1 硬件系统设计

    

    u盘设计结构框图如图1所示。使用phil-ips公司的arm7芯片lpc2132,控制 philips的usb1.1接口芯片pdi-usbd12,处理pmc公司的128 kb串行flash存储器作为数据存储设备实现u盘。

    

    

    (1) arm处理器

    

    lpc2132是基于一个支持实时仿真和跟踪的16/32位arm7tdmi-s cpu,并带有64 kb嵌入的高速flash存储器。lpc2132的实时仿真和跟踪功能方便了代码的调试,降低了开发成本。

    

    (2) pdiusbd12

    

    pdiusbd12(简称为“d12”)是一款性价比很高的usb器件;通常用于微控制器系统中实现与微控制器进行通信的高速通用并行接口;支持本地的dma传输。pdiusbd12所具有的低挂起功耗连同lazyclock输出可以满足使用acpi、onnow和usb电源管理的要求。低功耗可以应用于使用usb总线供电的外设。

    

    (3) flash存储器

    

    存储器选用pmc公司的pm25lv010。适合低功耗和低电压下工作的应用场合;具有完备的数据保护功能。通过没置芯片的状态寄存器,可以将存储空间的高1/4、高1/2或整片写保护。写使能和写禁止指令进一步保护数据。另外还提供wp引脚用于硬件数据保护,以防止对状态寄存器的意外修改。

    

    u盘电路原理如图2所示。

    

    

    2 软件设计

    

    软件设计主要包括d12驱动、mass storage类协议和flash存储器的读/写控制。

    

    2.1 d12驱动的实现

    

    在usb设备插入主机之前,主机对这个usb设备的情况一无所知,无法建立起通信;但usb协议规定了一些最基本的准则,如每个设备的端点0都是可用的,属于控制端点。有了这个基本的沟通途径,主机就开始通过端点0向设备提出一些问题,这些问题是有关设备基本情况的。这些基本情况可以反映usb设备所属的类别及子类,反映配置情况、接口情况和端点情况;一旦得知了这些信息,主机就大体了解了这个设备是个什么样的设备,按照usb协议中的相应规定,就逐步建立起了一条介于设备之间的高速数据通道,用于数据的传输。主机向设备提出的这些问题实际上就是usb协议中规定的各种标准清求,设备必须对这些问题进行回答;而回答的方式就是向主机传送相应的描述符,即设备描述符、配置描述符、接口描述符、端点描述符。

    

    为了使软件可移植性强、易维护,采用分层的方法编写pdiusbd12的驱动程序。usb驱动程序分层结构如表1所列。

    

    

    ① 硬件提取层(d12hal.c)包含最底层的函数。

    

    ② d12命令接口(d12ci.c)实现pdiusbd12的命令接口以简化器件的编程。该层的函数及其功能如下:

    

    ◇读取芯片id号,uint16 d12_readchipid(void);

    

    ◇设置地址/使能,void d12_setaddressenable(uint8 baddress,uint8 benable);

    

    ◇设置端点使能,void d12_setendpointenable(uint8 benable);

    

    ◇设置模式,void d12_setmode(uint8 bconfig,uint8bclkdiv)。

    

    ③ 协议层(chap_9.c)处理标准的usb设备请求,以及特殊的厂商请求,如dma等。usb

相关IC型号

热门点击

 

推荐技术资料

循线机器人是机器人入门和
    循线机器人是机器人入门和比赛最常用的控制方式,E48S... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!