基于TTL串口的嵌入式USB主机系统的设计

最新更新时间:2015-03-08来源: 互联网关键字:TTL串口  嵌入式  USB 手机看文章 扫描二维码
随时随地手机看文章
1 引言

随着移动存储业的发展及数码产品的普及,数据采集系统、工控行业和嵌入式用户对移动存储的需求越来越大,也对数据移动存储盘提出了更高的应用要求,包括到地矿数据采集行业用户、水文系统数据采集行业用户、仪器仪表制造行业用户、铁路、长途汽运等交通系统数据采集用户、油田数据采集系统用户、单板系统的软件升级用户、纺织系统数据采集用户、银行等。但由于之前多数数据采集设备、工控机及嵌入式系统不具备USB数据输入输出标准接口,所以在USB数据存储方面一直得不到很好的普及。业界和用户的需求使得嵌入式USB主机的研究成为USB研究领域的一个新的方向。

本文介绍了一种基于TTL串口的USB主机系统,通过TTL串口(或并口)转接出USB接口,系统原理图如图1所示。嵌入式设备需要通过TTL串口,按照USB主机系统的串口通信协议与USB主机系统进行数据传输和通信,主机系统负责优盘的检测和数据的存储。本文详细介绍了该系统的设计思路,并给出了硬件设计和USB 主机的底层驱动软件的设计方法。

 

系统原理图

 

2 USB主机工作原理

对于我们设计嵌入式USB主机,可以参照PC上的USB主机。对于PC上的USB主机,其硬件方面由一个USB主机接口芯片控制,这个接口芯片在通过PCI总线与PC机通讯,其余还有电源管理部分;软件方面主要有三部分:USB接口驱动程序,负责CPU与USB主机接口芯片的通讯,负责底层USB包的接收和发送;USB协议栈驱动程序,负责解析设备驱动程序对USB的各种操作命令,并在解码后发给底层驱动程序;设备驱动程序,也就是上层的应用程序,包括操作系统提供给用户的API,以及用户自定义的对USB设备的操作,比如发送设备特有的USB命令请求。PC上的USB主机端软件结构图如图2所示。

 

PC上的USB主机端软件结构图

 

3.系统结构

整个系统的核心芯片选用Motorola公司的DSP56f803和TDI公司的USB HOST控制器UHC124。整个系统由DSP56f803模块、UHC124模块、UART串口模块。

3.1 DSP56f803模块

系统的核心控制器,包括基本硬件和编写的固件。实现的功能包括:实现与UHC124的物理连接和通讯,并且配置UHC124的控制寄存器;配置USB外设,实现USB通信,实现USB Host要求的各项配置和数据传输的要求,接受USB Host的命令来管理USB外设;实现FAT16文件系统。

3.2 UHC124模块

USB HOST控制器的硬件部分。实现USB Host的接口,配置下行USB设备,管理USB总线电源。实现的功能包括:实现各种USB Host动作,协调内容各项功能,与外围主控制器通讯;存放传输的USB数据,设置USB传输特性;与作为主控制器的DSP56f803接口连接;管理USB电源,连接下行USB设备,总共带有4个下行USB设备端口。

3.3 UART串口模块

与用户通过串口进行协议通讯的固件部分。实现自定义的串口通讯协议,即根据自定义的串口通讯协议,解析串口通讯数据包,调用相应的文件操作接口函数,实现客户的文件操作命令。

4.硬件设计

4.1硬件架构

硬件主要模块包括USB HOST、主控芯片、外部SRAM、译码指示和电源部分。主控芯片和USB HOST芯片连接,控制USB HOST芯片与移动存储盘通讯。考虑到需要给用户预留数据Buffer,所以外扩SRAM。因为芯片工作电源不同,所以要提供两组直流电源,译码指示电路采用3个LED指示灯,一个电源指示,一个指示移动存储盘的接入,另一个指示了工控机与移动存储盘通讯工作中。

 

硬件架构

 

4.2 USB主控芯片的选型

对于主控芯片的选型应该会有多种选择,只要带有UART接口,程序存储空间足够,程序的执行效率可以满足系统的功能需求即可。对于USB主控芯片,目前市面上出现的主要有3种:Sypress公司的SL811、

Philips公司的ISP1161和TDI公司的UHC124。其中,SL811较为常见,笔者也曾用过此芯片进行过第一代产品的开发,综合各方面的选型因素考虑,第二代产品选用了UHC124。

UHC124与其他两款芯片的主优势在于:支持包传送,最多可一次性传送16个USB 协议交互数据,而不会向CPU产生中断,而SL811是每次都会产生中断,大大占用了CPU的资源;支持所有的USB传输类型,包括控制传输、块传输、中断传输和同步传输,且数据包最大可达到1023字节;具有2K的数据存储区。

4.3主控芯片与USB HOST相连的接口电路

UHC124支持两种存储器访问模式,取决于MODE引脚的电平高低。如果主控芯片没有外部总线,需

采用模式0;如果主控芯片有独立或复用的数据地址总线,采用模式1。本方案所选的主控芯片DSP56f803具有独立的地址数据总线,因此采用UHC124的工作模式1。接口电路如下图4所示:

 

接口电路

 

5.软件设计

USB 主机软件的设计我们可以参照PC的USB 主机来设计。本方案的简要软件流程图如图5所示。

 

简要软件流程图

 

5.1 USB接口驱动程序

主要实现主控芯片DSP56f803与USB主机接口芯片UHC124的通讯,以及底层USB包的接收和发送,

是实现整个USB体系的基础。包括如下几个函数:

void ReadLengthFromHost(UCHAR ucaddr,UCHAR uclength,UCHAR *pucdata);

void WriteLengthToHost(UCHAR *pucdata,UCHAR uclength,UCHAR ucaddr);

UCHAR OutBulkData(ULONG ullength,UCHAR *pucptr);

UCH

AR InBulkData(ULONG ullength,UCHAR *pucptr);

5.2 USB协议栈驱动程序

主要实现USB协议定义的标准命令请求,主要包括:

ClearFeature(),GetConfiguration(),GetDescriptor(),GetInmterface(),GetStatus(),SetAddress(),SetConfiguration(),SetDescriptor(),SetFeature(),SetInterface()。

具体的标准设备请求的含义请参考USB 标准协议。USB 主机要在检测到有USB设备插入时,完成对USB设备的枚举,之后USB主机和USB设备才可以进入正常的数据包通讯状态。

5.3 USB设备类驱动程序

移动存储盘属于USB协议所定义的设备类中的Mass Storage类,USB 组织定义了海量存储设备类(Mass Storage Class)的规范,这个类规范包括四个独立的子类规范,即:

1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport

2. USBMass Storage Class Bulk-Only Transport

3. USB MassStorage Class ATA Command Block

4.USB Mass Storage Class UFI Command Specification。

前两个子规范定义了数据/命令/状态在USB 上的传输方法。Bulk- Only 传输规范仅仅使用Bulk 端点传送数据/命令/状态,CBI 传输规范则使用Control/Bulk/Interrupt三种类型的端点进行数据/命令/状态传送。后两个子规范则定义了存储介质的操作命令。ATA 命令规范用于硬盘,UFI 命令规范是针对USB 移动存储。因此USB主机需要遵循Mass Storage 协议来组织数据和发送命令,即可实现与移动存储盘交换数据。

6.结束语

嵌入式USB主机的开发,目前在国外也处于刚刚起步的阶段,可以提供的USB HOST接口芯片的并不多。作为USB总线研究的另一热点,嵌入式USB HOST的研究具有一定的先进性和前瞻性。以嵌入式USB 主机为核心的数据采集系统,可以在工业和民用两个领域得到广泛的应用,可以带来可观的经济效益和市场前景。

关键字:TTL串口  嵌入式  USB 编辑:探路者 引用地址:基于TTL串口的嵌入式USB主机系统的设计

上一篇:详解JESD204B串行接口时钟需求及其实现方法
下一篇:采用8位单片机驱动PCI总线网卡的设计方案

推荐阅读最新更新时间:2023-10-12 22:53

单片机以太网嵌入式控制芯片--MCU-W7100A数据手册
W7100A iMCU是一个单片机以太网嵌入式控制芯片,它的的结构是:内嵌8051单片机 + TCP/IP协议栈 + 10/100 高速以太网络MAC/PHY W7100A 是 W7100 的升级版。它增加了一些新功能,如记忆锁定功能(Memory Lock)、休眠模式、最高支持16M字节外部存储空间、特别功能寄存器(SFR)和GPIO上拉/下拉的控制(Pull-Up/Down Control)。另有64QFN封装可供小型嵌入式装置使用. 概述 1.1 简介 W7100A iMCU是一个集合了8051兼容微处理器内核,64K的SRAM以及高性能的硬件的TCP/IP协议栈内核的单片式以太网解决方案,
[单片机]
单片机以太网<font color='red'>嵌入式</font>控制芯片--MCU-W7100A数据手册
STM32 自定义HID USB设备的实现
最近需要使用STM32开发一个设备通过HID协议与主机通信,于是开始学习USB,发现USB这个体系实在太庞大了,直接看USB的例程根本看不懂,完全找不到突破口,最后在网上找到一本不错的书《圈圈教你玩USB》,这本书能够很好地带你入门。枚举过程,请求,令牌,数据包,端点,描述符,这些知识都讲的很清楚,只有清楚了这些,再去看代码就能明白是怎么回事了。 接下来总结一个我个人的理解:对于HID设备,STM32有例程,但是怎么修改成符合自己要求的HID设备呢?首先,HID设备必需有报告描述符,报告描述符描述的是数据的长度以及用途,所以最重要的就是修改报告描述符,如我现在只是需要用来传数据,一次最大16字节长度;修改后的报告描述符如下:
[单片机]
嵌入式开发人员要使用FPGA的原因
在一个领域中,如果唯一不变的是变化,那么不需要对电子技术和设计方法的发展变化做多少回顾,就能见证到变化是如何使设计工程师能够创建出下一代创新产品。微处理器得到大规模应用后,价廉物美的新技术为基于软件的革新性电子产品设计打开了大门,这就是一个很好的例子。简言之,把设计的主要元素——在这儿是控制“智能”——转入到软领域后,设计工程师就可以在更短时间内创建出更好、更智能、更廉价的产品。   这个变化意味着嵌入式软件开发人员是当今定义电子产品功能和特性的主要推动者,并且最终将把硬件生产出来。该方法的成功因素在于减少硬件复杂度和把设计的控制元素转变到可编程领域带来的开放灵活性。   今天,大容量、低成本可编程器件的到来给电子产品设计的发展
[嵌入式]
<font color='red'>嵌入式</font>开发人员要使用FPGA的原因
Keyssa及睿思科技携手为 USB Type-C 连接推出非接触式替代方案
美国加利福尼亚州坎贝尔市(Campbell, Calif.)-2016年10月-高速非接触式连接技术领导厂商Keyssa与高速连接芯片及解决方案领先开发商睿思科技 ( Fresco Logic ) 日前宣布:业界首款可在移动设备和笔记本电脑中替代 USB Type-C 连接的非接触式解决方案现已上市。全新非接触式解决方案可在完全没有机械连接器的情况下,实现机械式 USB Type-C 连接器的主要优点,包括针对高速数据传输的多协议支持、高分辨率视频文件的流传输,以及在设备间输入输出USB电源的快速充电协议的管理能力(包括从默认的3A 5V到用于100W充电的5A 20V)。此外,这种非接触式连接器还支持包括 I2C 和 GPIO 等
[嵌入式]
STM32 F7如何满足嵌入式系统更高处理性能需求
  意法半导体(ST)日前宣布推出业界首款基于ARM最新Cortex-M7内核的STM32 F7系列微控制器,其性能远超ST之前的32位STM32F4微控制器,通过无缝升级路径可将处理性能和DSP性能提高一倍。   “作为STM32微控制器产品家族的高端产品,STM32 F7使内存和外存的性能达到一个新的水平,给开发人员带来新的创新机会,保证他们不需要再根据存储器性能调整代码。”ST微控制器市场总监Daniel Colonna表示,“而之所以能够在业内率先推出基于Cortex-M7的产品,首先得益于ST与ARM密切的合作关系。其次,ST也与第三方客户保持着广泛的合作,确保他们能够及时得到ARM最新的技术支持并推出新产品。强大的开发
[电源管理]
STM32 F7如何满足<font color='red'>嵌入式</font>系统更高处理性能需求
瑞萨电子扩展Renesas Synergy™平台并达到高软件质量水平
2017年3月14日,日本东京讯——全球领先的半导体解决方案供应商瑞萨电子株式会社(TSE:6723)今日在2017纽伦堡嵌入式应用展览会暨研讨会上发布了Renesas Synergy™平台的最新扩展,包括:最新的Synergy软件包(SSP)1.2.0版,其依据ISO / IEC / IEEE 12207国际标准规定的过程,通过提供完整的软件质量保证(SQA)文档包,确保软件达到了前所未有的质量水平;新推出的Wi-Fi应用框架,用于标准化和简化嵌入式IoT设备连接;全新Synergy S5D9微控制器(MCU)产品群,可实现安全制造和安全通信。 瑞萨电子于3月14日到16日在纽伦堡嵌入式应用展览会暨研讨会(4号展厅104号展
[嵌入式]
USB电源充电设计技巧与注意事项
  几乎所有目前和未来推出的手持设备都要求使用 USB 电源和 AC 墙上适配器充电,这给电池充电带来了诸多挑战。本文中,我们将讨论简化 USB 充电的一些特性。具体而言,就是说哪些特性可以帮助用户设计一种符合 USB 规范的应用?设计如何能够同时支持 USB 和 AC 适配器输入呢?我们将讨论静态电流、输入电压动态电源管理 (VIN-DPM) 和输入电流极限。下面就以 bq2407x 系列器件为例来说明一下这些特性。导言   消费者希望其设备的电源线和连接线越来越少,并期望获得通过计算机或 AC 插座充电的灵活性,因此要求几乎所有目前和未来推出的手持设备都能通过 USB 电源和 AC 墙上适配器充电。USB 要求给电池充电带
[电源管理]
<font color='red'>USB</font>电源充电设计技巧与注意事项
飞思卡尔与IBM宣布签署标志性技术开发协议
—— 两家公司将合作开发未来半导体技术    德州奥斯汀和纽约阿芒克-2007年1月23日讯 -飞思卡尔半导体公司和IBM宣布,飞思卡尔将加入IBM技术联盟,联合进行半导体的研究与开发。   此协议包括互补性氧化金属半导体(CMOS)技术和绝缘硅(SOI)技术以及45纳米一代产品的高级半导体研究和设计支持转换。飞思卡尔是第一个与IBM技术联盟共同参与低功耗和高性能技术研究和开发的技术开发合作伙伴。   本协议将飞思卡尔在主要嵌入式市场(包括汽车、联网、无线、工业和消费电子)的领先技术水平与IBM开发世界一流技术和业界领先系统技术的成功经验结合起来。   此次合作将进一步加强飞思卡尔
[焦点新闻]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved