无忧商务网,免费信息发布推广平台,您可以 [登陆后台] 或 [免费注册] 无忧商务网 | 企业黄页 | 产品库存 | 供求信息 | 最新报价 | 企业资讯 | 展会信息
黄页信息| 库存信息| 技术服务| 供应信息| 求购信息| 二手信息| 加工信息| 供求库| 报价库| 展会库| 代理信息| 保健| 生活黄页| 食谱| 网络黄页| 水族休闲| 人力HR| 招聘
首页>>生活网>>生活保健>>3C小百科-消费性电子-其他
嵌入式系统中USB控制的Host/Slave模式的应用

<FONT face=宋体> 目前,USB 设备产品的应用非常广泛,但市场上能够提供Host/Slave两种模式的USB控制芯片并不多,本系统采用CYPRESS公司的SL811HST芯片作为USB接口的控制芯片,实现Host/Slave两种工作模式。<BR><BR><STRONG>    系统介绍</STRONG><BR><BR>    本系统是以三星公司的S3C44B0X为嵌入式处理器,mClinux为操作系统的专用PDA,通过无线方式实现与上位机的通信,同时也可通过USB接口直接控制USB打印机输出。其中USB控制芯片采用CYPRESS公司的SL811HST芯片,它有两种工作模式Host/Slave。模式的改变是由该芯片M/S脚的电平值决定,其值可以通过软件设置来改变。当置M/S脚为低电平时,它是Host模式,可以直接控制打印机;当置M/S脚为高电平时,它是Slave模式,可以下载PC的最新资料,同时可对PDA充电电池充电。<BR><BR>    硬件设计<BR><BR>    三星公司的S3C44B0X是一款专为手持设备和通用设备而设计的,16/32位RISC 结构的嵌入式处理器。<BR><BR>CYPRESS公司的SL811HST是嵌入式的USB 主机或外设接口控制器。其基本功能如下:<BR><BR>    1)支持USB 1.1 的全速和低速设备;<BR><BR>    2)虚拟的外部总线,使得仅需占用和外接CPU 的1 根地址线A0,数据线为8位;<BR><BR>    3)16 个内部寄存器,可以对USB Host 进行充分的控制;内部多达256 字节的RAM,为USB 传输建立了足够的缓冲区;<BR><BR>    4)操作电压为3.3V,但是I/O 端口为5V Tolerant,因此可以自由地和5V 或3.3V 的CPU 系统连接;<BR><BR>    5)可接12MHz 或48MHz外置晶振,对其操作通过16个寄存器来完成。<BR><BR>    SL811HST与主芯片S3C44B0X的连接如图1所示。<BR><BR>    GPE5是Host/Slave模式控制管脚,它同时同步控制USB接口的负载方式。GPE4口可以监视USB接口上是否有主USB设备插入,如果有,VUSB为高电平;没有则为低电平。GPE3口用于显示USB设备是否处于就绪或相应的Host/Slave模式工作状态。<BR></FONT>
<P align=center><FONT face=宋体><IMG style="WIDTH: 431px; HEIGHT: 413px" height=413 alt=sl811hstt与主芯片连接图 hspace=0 src="http://www.dzdqw.com/jishu/UploadFiles_9637/200610/20061010225524780.jpg" width=431 border=0></FONT></P>                            图1  SL811HSTT与主芯片连接图<BR><BR> <BR><STRONG>    软件设计<BR></STRONG><BR>    在Linux操作系统中,驱动程序的加载方式为:<BR><BR>    1) 将驱动程序作为可加载的模块(Module),在系统超级用户(Root)权限下使用insmod命令动态加载,使之成为系统核心的一部分。对于USB 设备而言,由于可热插拔,一般采用模块化的设备驱动程序。<BR><BR>    2) 将设备驱动程序的源代码加进系统内核,编译移植到嵌入式系统,系统启动后将自动加载驱动。USB 协议栈程序一般采用这种方法加入内核,进而产生一个叫做&#8220;USB 核心&#8221;的子系统。这个子系统提供了许多数据结构、宏定义、功能函数和应用程序接口(API)来对硬件或设备进行支持。<BR><BR>    本系统就是采用第二种方式加载USB驱动的。由于本系统的mClinux包来自于英蓓特公司的包,因此节省了很多工作,具体编译过程如下:<BR><BR>    1) 在mClinux内核的USB驱动目录中添加如下三个文件:sl811h-usb.c 、sl811h.h、 sl811husb.h。这两个头文件中主要定义了一些关于811HS/T寄存器的宏。<BR><BR>    2) 编辑/uclinux-s3cev40/linux-2.4.x/drivers/usb/config.in文件。<BR><BR>    首先在config.in文件开头添加如下语句:<BR><BR>    dep_tristate Support for USB CONFIG_USB $CONFIG_PCI<BR><BR>    if [ "$CONFIG_USB" = "y" -o  "$CONFIG_USB" = "m" ]; then<BR><BR>       bool   USB verbose debug messages CONFIG_USB_DEBUG<BR><BR>    comment Miscellaneous USB options<BR>
相关资讯
类别浏览
安徽 北京 福建 甘肃 广东 广西 贵州 海南 河北 河南 黑龙江 湖北 湖南 吉林 江苏 宁夏 青海 山东 山西 陕西 上海 四川 天津 新疆 西藏 云南 浙江 重庆 辽宁 江西 内蒙古
无忧商务网 版权所有 Copyright © 2020.6 www.cn5135.com All Rights Reserved. 湘ICP备12008603号
本站所有产品都是会员自行发布,所有信息都有对方的企业名片和联系方式,如果您需要咨询产品具体参数和细节,请直接联系和咨询厂商,谢谢。
行业子站: 机械 库存 建材 物流 礼品 能源 农业 汽摩 食品 通讯 五金 玩具 矿产 印刷 休闲 服务 服装 化工 环保 电子 纺织 电工 电脑 电器 办公 安全 包装 仪器 家居