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

       由于各个终端点的行为相对独立,对于每个终端点的控制过程又有相似性,在这里以2号终端点即作为数据接口的IN终端点为例,说明软件是如何对终端点进行操作和控制的,其控制流程图如图4所示。2号终端点是一个IN的终端点,它的主要工作是模拟物理串口的TXD线,向主设备发送数据。当主设备发出IN的请求时,如果FIFO不空,就向主设备发送FIFO的内容;如果FIFO为空,则向主设备发送一个空包作为回应。AT89C5131在收到IN的请求时,会触发USB中断(如果被使能),在中断处理程序中,如图4所示,首先判断中断的触发源是哪个终端点,如果是2号终端点,将USB寄存器组映射到2号终端点的那一组,然后将需要发送的串口数据填入FIFO寄存器(UEPDATX),置位UEPSTAX的TXRDY位,表示FIFO中的数据已经准备好,这时USB接口就会自动响应IN请求,并将FIFO中的数据发送出去,程序则可退出中断服务程序。对于其他的终端点,其处理过程也是相似的。
 


图4


  
     软件使用Keil C51为编译系统,为了便于和系统的其他程序集成,采用标准字符型设备的API接口usb_getc()和usb_putc(),使程序具有很好的移植性。应用程序层函数(usb_getc()和usb_putc())与USB中断处理程序通过两个先进先出FIFO循环队列(TX和RX)来交换数据,这样有效的起到收发缓冲的作用,防止缓冲溢出。
   
       5、  总结
  
       在单片机上实现基于CDC类的USB虚拟串口很好的适应了当前计算机外设接口的发展,同时因为这样的接口在PC操作系统中仍然映射为一个串口,所以又避免了大量的PC端调试程序和应用程序的重新编写。

上一页  [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