为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

单片机U盘控制器的设计与实现

2011-09-19 5页 pdf 899KB 27阅读

用户头像

is_644545

暂无简介

举报
单片机U盘控制器的设计与实现 引 言 目前在数据采集设备和仪器仪表等嵌入式系统 中,数据交换多采用串行口(RS232、RS485、CAN 总 线)或以太网等方式,这些方式需要布线施工、成本 高且不具有移动性。基于 USB-FLASH 技术的 USB 移动存储技术的发展为上述领域中的数据存储和交 换提供了新的方式。U 盘以其容量大、体积小、价格 便宜、信息不易丢失等优点成为了最新的移动存储设 备。由于多数数据采集设备和仪器仪表等嵌入式系统 并没有安装 USB 标准接口,使得在 USB 数据存储方 面一直没有很好的解决方案。 本文详细介绍了利用 ...
单片机U盘控制器的设计与实现
引 言 目前在数据采集设备和仪器仪表等嵌入式系统 中,数据交换多采用串行口(RS232、RS485、CAN 总 线)或以太网等方式,这些方式需要布线施工、成本 高且不具有移动性。基于 USB-FLASH 技术的 USB 移动存储技术的发展为上述领域中的数据存储和交 换提供了新的方式。U 盘以其容量大、体积小、价格 便宜、信息不易丢失等优点成为了最新的移动存储设 备。由于多数数据采集设备和仪器仪表等嵌入式系统 并没有安装 USB 接口,使得在 USB 数据存储方 面一直没有很好的解决。 本文详细介绍了利用 USB 接口芯片 CH376 实现 单片机对 U 盘的读写,从而实现便携式仪器设备等嵌 入式系统的外挂式海量存储。本设计除了 MCU 以外, 只需要一片 CH376 即可实现对 U 盘的读写操作,具 有成本低、结构简单、通用性强、可靠性高等优点。 1 系统总体结构 系统主要由本地端控制器(单片机)和 USB 接 单片机 U 盘控制器的设计与实现 孟 涛,王福虎 (中国船舶重工集团公司第七一八研究所,河北 邯郸,056027) 摘 要: 基于目前在数据采集设备和仪器仪表等嵌入式系统中,数据交换多采用串行口或以太网等 方式的现状,本文介绍了一种以 U 盘为存储介质的 U 盘控制器设计方案,并给出了系统电路原理图 和单片机读写 U 盘的程序。该方案以 USB 接口芯片 CH376 和单片机为核心,具有成本低、通用 性强、可靠性高等特点,可方便的集成到各种测控系统中,解决了串口、网络通信方式需要布线施 工、成本高、移动性差的问题。 关键词: CH376;单片机;U 盘;USB 接口 中图分类号:TP311 文献标识码:A Design and implementation of MCU USB flash disk controller Meng Tao, Wang Fu-hu (The 718th Research Institute of CSIC, Handan 056027, China) Abstract: Now UART and Ethernet are widely used in application-embedded systems. Based on MCU and CH376, this paper introduces a design and implementation to control USB flash disk, and provides schematic diagram of hardware and part of program, gives detailed introductions to their principles and control-methods. It is proved to have several advantages such as low cost, easy application and stable running. This solution fits the application especially in measuring system and data acquisition equipment. Key words: CH376; MCU; USB flash disk; USB interface 舰 船 防 化 2010 年第 2 期,20~24 CHEMICAL DEFENCE ON SHIPS №2, 20~24 口芯片 CH376 组成,另外可以根据需要在系统中增 加人机接口,如键盘、LCD 液晶模块等。单片机通过 USB 接口芯片 CH376 对 U 盘进行读写操作。图 1 是 系统硬件框图。 图 1 系统硬件框图 Fig.1 system fundamental block diagram 系统支持 1.5Mbps 低速和 12Mbps 全速 USB 通 讯,兼容 USB V2.0,外围元器件只需要晶振和电容。 内置 FAT16 和 FAT32 以及 FAT12 文件系统的管理固 件,支持容量高达 32GB 的 U 盘和移动硬盘。 2 CH376 芯片简介 CH376 是文件管理控制芯片,用于单片机系统读 写 U 盘或者 SD 卡中的文件。CH376 支持 USB 设备 方式和 USB 主机方式,并且内置了 USB 通讯的 基本固件,内置了处理 Mass-Storage 海量存储设备的 专用通讯协议的固件,内置了 SD 卡的通讯接口固件, 内置了 FAT16 和 FAT32 以及 FAT12 文件系统的管理 固件,支持常用的 USB 存储设备(包括 U 盘/USB 硬 盘/USB 闪存盘/USB 读卡器)和 SD 卡(包括标准容 量 SD 卡和高容量 HC-SD 卡以及协议兼容的 MMC 卡和 TF 卡)。CH376 支持三种通讯接口:8 位并口、 SPI 接口或者异步串口,单片机/DSP/MCU/MPU 等控 制器可以通过上述任何一种通讯接口控制 CH376 芯 片,存取 U 盘或者 SD卡中的文件或者与计算机通讯。 图 2 是 MCU 处理 U 盘的示意图。一般情况下, 单片机或者嵌入式系统处理 U 盘的文件系统需要实 现图 2 左边的 4 个层次,右边是 U 盘的内部结构层 次。由于 CH376 不仅是一个通用的 USB-HOST 硬件 接口芯片,还内置了相关的 USB 底层传输固件程序、 Bulk-Only 协议传输固件程序、FAT 文件系统管理固 件程序,包含了图 2左边的 4 个层次(标为灰色部分), 所以实际的单片机程序只需要发出文件管理和文件 读写命令即可完成对 U 盘的操作[1]。 3 系统硬件电路设计 本设计中CH376与单片机之间采用并口通信方 式,并口信号线包括:8位双向数据总线D7~D0、读 选通输入引脚RD#、写选通输入引脚WR#、片选输入 引脚PCS#以及地址输入引脚A0。CH376芯片的PCS# 可以由地址译码电路驱动,用于当单片机具有多个外 围器件时进行设备选择。通过被动并行接口,CH376 芯片可以很方便地挂接到各种8位单片机、DSP、MCU 的系统总线上,并且可以与多个外围器件共存。图3 是系统电路原理图。 并口状态下,CH376的TXD引脚应接地。对于类 似Intel并口时序的单片机,CH376芯片的RD#引脚和 2010 年第 2 期 单片机 U 盘控制器的设计与实现 · 21 · 图 2 MCU 处理 U 盘示意图 Fig.2 sketch map of MCU controlling USB flash disk WR#引脚可以分别连接到单片机的读选通输出引脚 和写选通输出引脚。表1为并口I/O操作的真值表(表 中X代表不关心此位,Z代表CH376三态禁止)。 CH376 芯片占用两个地址位,当 A0 引脚为高电 平时选择命令端口,可以写入新的命令,或者读出接 口状态;当 A0 引脚为低电平时选择数据端口,可以 读写数据。单片机通过 8 位并口对 CH376 芯片进行 读写,所有操作都是由一个命令码、若干个输入数据 和若干个输出数据组成,部分命令不需要输入数据, 部分命令没有输出数据。命令操作步骤如下: ①单片机在 A0=1 时向命令端口写入命令代码; ②如果该命令具有输入数据,那么在 A0=0 时依 次写入输入数据,每次一个字节; ③如果该命令具有输出数据,那么在 A0=0 时依 次读取输出数据,每次一个字节; ④命令完成,有些命令在执行完成后会产生中断 通知,单片机可以暂停或者转到①继续执行下一个命 令。 4 系统软件设计 由于CH376内置了USB控制传输的协议处理器 和处理海量存储设备的专用通讯协议,支持 Bulk-Only传输协议和SCSI、UFI、RBC或等效命令集 的USB存储设备的固件,所以单片机可以通过CH376 读写U盘、SD卡等大容量存储器,而不需要详细了解 USB通信协议。CH376提供了操作U盘和SD卡的常用 命令集,表2是该芯片部分指令编码表,其他指令用 户可以参考CH376的数据手册。 · 22 · 舰 船 防 化 2010 年第 2 期 PCS# WR# RD# A0 D7~D0 对 CH376 芯片的实际操作 1 X X X X/Z 未选中 CH376,不进行任何操作 0 1 1 X X/Z 虽然选中 CH376,但不进行任何操作 0 0 1/X 1 输入 向 CH376 的命令端口写入命令码 0 0 1/X 0 输入 向 CH376 的数据端口写入数据 0 1 0 0 输出 从 CH376 的数据端口读出数据 0 1 0 1 输出 从 CH376 的命令端口读取接口状态:位 7 是中断标志,低有效,等效于 INT#引脚, 位 4 是忙标志,高有效,等效于 BZ 引脚。 表 1 并口 I/O 操作真值表 Table 1 parallel interface controlling detail 图 3 电路原理图 Fig.3 principle diagram of circuit CH376对U盘文件的读写方式分为扇区模式和字 节模式。扇区模式下以扇区(每扇区通常是51 2字节) 为基本单位对U盘文件进行读写,所以读写速度较快, 但是通常情况下需要额外的文件数据缓冲区 (RAM)。字节模式下,以字节为基本单位对U盘进 行读写,读写速度较慢,但是不需要额外的文件数据 缓冲区,使用方便,适用于RAM少、数据量小或者 数据零碎、不经常读写数据的单片机系统。 下面以字节模式为例,说明在U盘中新建一个名 为“TEST.TXT”文档,并写入数据的过程。程序流 程 图 如 图 4 所 示 , 单 片 机 首 先 发 送 CMD_SET_USB_MODE命令设置CH376工作在主机 模式下,之后等待U盘连接。U盘可以由CH376自动 检测并产生中断通知,也可以由单片机定时发送命令 检测。U盘连入之后,在进行操作之前必须要发送 CMD_DISK_MOUNT命令进行初始化,并检查磁盘 是否准备就绪。随后向U盘内新建文件并通过循环执 行指令写入数据,最后保存文件并更新文件长度。 6 结 论 2010 年第 2 期 单片机 U 盘控制器的设计与实现 · 23 · 代码 命令名称 CMD_ 输入数据 输出数据 命令用途 15H SET_USB_MODE 模式代码 操作状态 设置设置USB 工作模式 22H GET_STATUS 中断状态 获取中断状态并取消中断请求 数据长度 2DH WR_REQ_DATA 数据流(n) 向内部指定的缓冲区 写入请求的数据块 2FH SET_FILE_NAME 字符串(n) 设置将要操作的文件名称 30H DISK_CONNECT 产生中断 检查磁盘是否连接 31H DISK_MOUNT 产生中断 初始化磁盘并测试磁盘是否就绪 32H FILE_OPEN 产生中断 打开文件或目录 34H FILE_CREATE 产生中断 新建文件 36H FILE_CLOSE 是否运行更新 产生中断 关闭当前打开的文件或目录 3CH BYTE_WRITE 请求写入字节数 产生中断 以字节为单位向当前 位置写入数据块 3DH BYTE_WR_GO 产生中断 继续字节写 表2 部分CH376指令编码表 Table 2 parts of instruction of CH376 图 4 程序流程图 Fig.4 program flow chart 本文利用 USB 总线接口芯片 CH376 完成了单片 机 U 盘控制器的设计。采用字节读写方式时只需要一 片 CH376 即可实现对 U 盘的读写控制,具有成本低、 结构简单、通用性强、可靠性高等优点,为数据采集 设备和仪器仪表等嵌入式系统的数据存储和交换提 供了一种方便、通用、可靠的解决方案。随着 USB 移动存储产品的普及,该方案在嵌入式系统领域将有 着广泛的应用前景。 参 考 文 献 [1] USB总线接口芯片CH376中文手册. 南京沁恒电子有限公 司, 2009 _____________________________________________________ 作者简介:孟涛(1980~),男,硕士,2006 年毕业于华中科 技大学控制科学与工程系,研究方向为 RFID、微处理器技术 等。 派瑞门禁系列产品之 派瑞单体门禁系统 派瑞单体门禁系统是一款集门禁控制、安全报 警、读/发卡机具及电子门锁于一体的单体门禁系 统,特别适用于对出入口需要进行严格控制的小型 办公场所。 功能特性: „ 主卡开门 1) 可支持多张卡开门,开门不受任何限制。 2) 开门时,记录开门卡号及进入日期、时间。 3) 关门时,记录锁门日期、时间。 „ 副卡开门 1) 支持有限张副卡,只在特定时间段有效。 2) 开门时,记录开门卡号及进入日期、时间。如 门开时间超过有效时间段则报警提示。 3) 门被关上后,自动上锁并报警提示,需要再次 刷卡确认锁门日期、时间及卡号。 4) 锁门后,系统会记录未读卡出现的开门现象。 „ 报警功能 1) 门长开状态下,关门时会以声、光形式提醒用 户取消长开状态。 2) 门虚掩或门没锁好会自动报警。 3) 电流欠压时会报警提示更换电池。 „ 独特设计 1) 系统提供严格受控长开方式,可避免频繁开门 操作。 2) 电子门锁内设访问控制口令,对上位机与门锁 的连接提供访问认证。 3) 在系统更换电池时,也能正常计时。 4) 特有的安全设计,即使室外锁体裸露部分被破 坏,仍无法实施技术开启。 技术指标: 管 理 卡 支持 主 副 卡 支持 读卡距离 0~3 cm 开门时间 <1 s 开门次数 15000 次 工作电源 6 V(4 节 5号碱性电池) 低压报警 4.5 V 可调 开锁电流 约 150 mA 静态电流 <30 µA · 24 · 舰 船 防 化 2010 年第 2 期
/
本文档为【单片机U盘控制器的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索