关于我们 设为主页
 
  产品 技术 案例 应用 术语 商家  
QQ:945685450(技术)
QQ:775606450(技术)
嵌入式系统的USB虚拟串口设计
日期:2007/1/22 14:59:32 作者:未知 来源:转载


图2


   
       3、  AT89C5131的简单介绍
   
       基于单片机的嵌入式系统要实现USB总线通信,通常都是通过外扩专用的USB总线接口芯片(如飞利浦的D12)。但是这样的方案既增加了成本,又使PCB板的面积变大,所以使用Atmel公司的集成了USB2.0全速(Full Speed)从接口外设的51单片机AT89C5131。
   
   
    AT89C5131是一个基于52内核的单片机。在存储器方面,其内部集成了32KB的Flash存储器用于代码的存储,1KB的EEPROM存储器用于用户数据的存储,用户可以使用片上的Bootloader或Flash API通过USB接口或者其他接口(如UART和I2C总线)对Flash存储器和EEPROM存储器进行ISP或者IAP编程。 此外AT89C5131还集成了10位的ADC、I2C总线接口和PCA模块等丰富的外设。

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



图3

       AT89C5131的USB2.0全速从接口包含了7个终端点,其中0号终端点被配置成为默认的控制终端点。其他1~6号终端点都可以通过特殊寄存器配置为控制(Control),突发(Bulk),中断(Interrupt)和周期性(Isochronous)模式。由于每一个终端点都由一组独立的寄存器对该终端点进行控制、状态识别和数据的存取,则如果将这些寄存器直接映射到51单片机的特殊功能寄存器地址空间显然是容纳不下的。因此,这7个终端点的7组寄存器在单片机的地址空间中其实使用的是同一组寄存器的地址,而通过一个特殊功能寄存器(UEPNUM)来选择当前该组寄存器实际选择的是哪个终端点的寄存器组,这样就大大节省了所占用的地址空间,为集成其他特殊外设提供了可能。
   
       4、  基于AT89C5131的CDC类的实现
   
       AT89C5131与USB接口的硬件连接很简单,选用一个Btype的USB插座,因为按照USB规范,从设备使用Btype的USB插座,主设备使用Atype的USB插座,将Btype的USB插座的D+和D-脚分别与AT89C5131上的D+和D-脚相连。然后再在电源和D+之间用一个1.5 kΩ的上拉电阻连接,因为按照USB规范,USB主设备是通过从设备在插入时D+和D-上的绝对电平来确定从设备是一个全速设备还是一个低速设备的,而AT89C5131是一个全速设备,所以需要将D+上拉。
   
       下面介绍虚拟串口的单片机软件设计与实现。首先来看一下终端点的分配,按照CDC类抽象控制模型对终端点的需求,将单片机0号终端点和1号终端点分配给通信接口子类,分别作为控制终端点(完成枚举和串口参数设置)和中断终端点,而将2号和3号终端点分配给数据接口子类,分别作为IN和OUT终端点,虚拟串口的数据主要从这两终端点来进行传送。

上一页  [1] [2] [3]  下一页

[返回上一页] [打 印] [收 藏]
上一篇技术:数字电视编码技术
∷相关技术评论∷    (评论内容只代表网友观点,与本站立场无关!) [参与评论…]

  最新技术
· 购买刀片服务器之前应了解的10件..
· DDR2内存变固态硬盘 新一代RAM D..
· 如何利用固态硬盘技术创建Tier 0..
· 企业级用户采购固态硬盘实用技巧..
· Windows 7将推动固态硬盘繁荣与应..
· 固态硬盘的进展
· Intel:测试显示SSD真的省电很多
· 解读英特尔绿色创新科技
· 无视SSD存在!希捷居然推出3TB硬..
· 固态硬盘战胜传统硬盘的三大法宝..
· 包揽世界记录 细析全球首块Lanpa..
· Sun推出大内存刀片服务器及存储
· 看点:微软为Windows 7奠定基石
· 苹果MacBook改用芯片 是否会爆发..
· 次世代存储对决!内存硬盘PK固态..
Copyright © 2006-2007 EEdisk.com. All Rights Reserved . 免责申明 | 广告服务 | 友情链接 | 关于我们
广告合作:0755-82706770 客服QQ:945685450 775606450   E-mail:eedisk_2007@163.com