网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
天线制作 GPS 地标
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | Open source | GNU | Linux | BSD | Solaris | AIX | HP-UX | IRIX | Mac OS X | Minix | Tru64 | SCO UNIX | Network | Security | X-Window | Database | 应用服务 | Programming | 经典著作 | 永远的纪念 | 杂项
 当前位置: Home > Linux > 嵌入式系统 > 硬件设计 > 文章  
嵌入式系统的USB虚拟串口设计
文章来源: CE china 文章作者: 吴明琪 发布时间: 2006-07-24   字体: [ ]  
 

 

通常一个CDC类又由两个接口子类组成通信接口类(Communication Interface Class)和数据接口类(Data Interface Class)。笔者主要通过通信接口类对设备进行管理和控制,而通过数据接口类传送数据。这两个接口子类占有不同数量和类型的终端点Endpoints),如图2所示。对于前面所述的不同CDC类模型,其所对应的接口的终端点需求也是不同的。如所需要讨论的抽象控制模型对终端点的需求,通信接口类需要一个控制终端点(Control Endpoint)和一个可选的中断(Interrupt)型终端点,数据接口子类需要一个方向为输入(IN)的周期性(Isochronous)型终端点和一个方向为输出(OUT)的周期性型终端点。其中控制终端点主要用于USB设备的枚举和虚拟串口的波特率和数据类型(数据位数、停止位和起始位)设置的通信。输出方向的非同步终端点用于主机(Host)向从设备(Slave)发送数据,相当于传统物理串口中的TXD线(如果从单片机的角度看),输入方向的非同步终端点用于从设备向主机发送数据,相当于传统物理串口中的RXD线。

 

传输的两种类型

 

2

 

 

3AT89C5131的简单介绍

 

基于单片机的嵌入式系统要实现USB总线通信,通常都是通过外扩专用的USB总线接口芯片(如飞利浦的D12)。但是这样的方案既增加了成本,又使PCB板的面积变大,所以使用Atmel公司的集成了USB2.0全速(Full Speed)从接口外设的51单片机AT89C5131

 

AT89C5131是一个基于52内核的单片机。在存储器方面,其内部集成了32KBFlash存储器用于代码的存储,1KBEEPROM存储器用于用户数据的存储,用户可以使用片上的BootloaderFlash API通过USB接口或者其他接口(如UARTI2C总线)对Flash存储器和EEPROM存储器进行ISP或者IAP编程。 此外AT89C5131还集成了10位的ADCI2C总线接口和PCA模块等丰富的外设。

 

 AT89C5131USB2.0全速从接口的结构如图3所示,其包括USB D+/D-的接口缓冲,数字锁相环,串行接口引擎(SIE)和通用功能接口(UFI)。其中数字锁相环以单片机的时钟为输入,产生了USB接口其他部分所需的48MHz时钟。串行接口引擎完成USB通信物理层NRZI码的编码与解码,CRC生成以及校验与纠错。通用功能接口包含了一个双端口的数据存储器,其一端与串行接口引擎链接,另一端通过数据总线与单片机相连接,使单片机可以通过特殊功能寄存器完成对USB2.0从接口的控制与通信。

 

usb2.0全速从接口的结构 

3

 
推荐文章
·嵌入式Linux平台的多协议路由器
·嵌入式系统的PCI接口设计
 

 
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
相关分类
热点文章
·嵌入式系统的PCI接口设
·嵌入式Linux平台的多协
·Linux下ARM/DSP双核系统
·基于嵌入式Linux的智能
·基于Linux的嵌入式网络
·嵌入式Linux操作系统CGI
相关文章
·开源嵌入式数据库Berkel
·嵌入式数据库
·嵌入式系统的人机界面原
·双内核嵌入式处理器及其
·Linux 2.6 内核的嵌入式
·YAFFS文件系统在嵌入式L
·ARM7系统中实现CF卡存储
·基于μClinux的SoPC应用
更多...
 
 

Copyright(c) 2001-2009 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统