经产观察
IT资讯
IT产业动态
业界
网站运营
站长资讯
互联网
国际互联网新闻
国内互联网新闻
通信行业
通信设备
通信运营商
消费电子
数码
家电
通信设备

基于Qt实现USB CDC便携式设备串口通信客户端设计?通信设备

作者:habao 来源: 日期:2015-5-23 0:29:30 人气:

  引言近年来,随着电子科技的进步和高新技术的不断涌现,不少设备的技术性能越来越好,体积也越来越小,易于搬运和携带。具有USB接口的便携式设备已经走进了人们的生活。在众多USB产品中,有这样一类USB设备广泛应用于我们的生产和生活中——使用USBCDC类协议的设备,然而对于Linux下使用此类设备的用户来讲,几乎不可用的。因此,需要根据CDC类通信协议编写设备驱动程序,以使用户实现与USBCDC类设备的数据通信。同时,在上位机下,利用QT软件设计实现CDC类设备串口通信应用程序,这样用户就可以轻松、方便地设备的当前状态和控制设备行为。另外,Linux是一个完全免费和基于UNIX和POSIX的用户、多任务、支持多进程线程和多核的操作系统,它具有完全兼容POSIX1.0标准、良好的界面、独特的组织架构等特点。尤其是它配以拥有多种应用库的QT软件,使得本CDC类设备串口通信应用程序设计简单,成本低廉,非常适合于推广和应用。1USB和USBCDC协议1.1USB接口简介通用串行总线(UniversalSerialBus,简称USB)是计算机连接外部设备装置的一个高速串行通信协议标准,如今USB2.0已广泛地应用在计算机上,同时也扩展到了家用机顶盒和游戏机上。另外,补充标准On-The-Go(OTG)使USB设备间能够地进行数据交换。USB的出现大大简化了计算机和其它设备的数据通信,增强了计算机的扩展性,因而得到大范围推广[1-2]。通信接口是便携式设备必备的对外功能模块之一。由于现今设备的多功能特点,造成数据传送量呈几何级数地增加,过去的通信协议标准如串口通信协议RS-232、并行通信接口协议LPT等存在传输速度低、误码率高、数据常常丢失等问题[3],已不能满足社会发展的需求。可以看出,USB接口在便携式设备上出现是一种必然趋势。1.2CDC类简介USB通讯协议组织制定了三个类:通信设备类、通信接口类和数据接口类。通讯设备类是一种设备级别的定义,主机用该协议识别外部设备可以表现出的不同接口类型。通信接口类定义了一种可以使能USB上的所有类型的通信服务的通用机制。数据接口类定义了一种通用机制,当数据不能满足其它通信类的要求时,能使USB完成块数据或者同步传输功能。其中,USBCDC类是由通信接口类和数据接口类组合而成。针对不同的USB通信设备,CDC类又被分成以下三个模式:传统纯电话业务模式、ISDN模式和网络模式。而传统纯电话业务模式可分为DirectLineControlModel、ACM(AbstractControlModel)和USBTelephoneModel。本文所讨论的便携式设备串口通信就属于USB传统纯电话业务下的ACM模式[4-5]。1.3CDC类协议通信原理和接口函数USBCDC类协议所描述的USBCDC类设备首先像一般的USB设备被USBCore所识别和描述,其次将信息上传至更高层协议,也就是tty协议层,最后通过线规程的方式,将tty协议层和usb协议层结合使用,完成CDC类设备通信,即tty协议层负责应用程序串口通信,usb协议层负责CDC类设备的识别、描述和通信[9-10] ,如图1所示。本文中开发的设备驱动涉及的主要接口函数和过程如下:首先,当CDC类设备接入USB接口时,利用初始化函数acm_init(void)初始化设备,再由探针函数acm_probe()对接入的设备识别检测;其次,设备控制中断函数acm_ctrl_irq()发出中断,请求数据读写,其中数据读写函数为:批量块传输读函数acm_read_bulk()、批量块传输写函数acm_write_bulk();再次,打开tty协议层设备,并进行数据通信,主要是以下五个函数:打开tty设备函数acm_tty_open()、关闭函数acm_tty_close()、写函数acm_tty_write()、中断控制函数acm_tty_break_ctl()和IO控制函数acm_tty_ioctl();最后,需要有设备驱动的和退出函数:acm_disconnect()、acm_exit(void)。

  2QT软件介绍及其界面设计

  2.1QT软件简介

  Qt是1991年由奇趣科技开发的一个跨平台C++图形用户界面应用程序开发框架,它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。因此,Qt的扩展性极强,允许多组件或模块化编程。同时,Qt的跨平台特性好,支持任何平台的编译与运行。另外,其独有的信号和槽机制,使得触发信号和数据在不同模块间通信。可以看出,QT是专门面向用户对象的,提供了图形用户界面的应用框架和窗口系统,具有极易的开发特性,非常适合于linux下应用程序的开发。QTDesigner实现界面设计如下

  ·联影医疗何以打破“GPS”垄断...·松下推出消耗电流削减九成多 封...·赛默飞推出基于串接气质的PM2...·多因素致使国产检测仪器处境尴尬·黄岛仪器仪表产业引来“国字”项...·小米携手联芯 拟自行研发处理器·超级电容备受瞩目 储能电站大会...·陶瓷电容器应用于250V交流电...·中国制造如何与互联网加出正效应·英利年报引发清算恐慌 周二股价...·前有小米华为 LG手机能在中国...·苹果可持续竞争优势:封闭生态链...

  ·奔跑吧库存 5家旗舰店均获订单拿样·奔跑吧库存 倒计时三天 订单挡不住·奔跑吧库存 通过测试成大单 成交突破200万!·奔跑吧库存 旗舰店采购测试接踵而来·奔跑吧库存 成交英雄榜 冲刺最后一周·奔跑吧!库存 银创生电容成交遥遥领先·奔跑吧!库存 晶科鑫振荡器成交新鲜报

  ·旺旺集团 全国招募促销品供应商

  ·灭火器采购大会召集供应商报名

  ·运动户外休闲用品采购盛会

  ·水暖配件采购

  ·饲料原料采购征集供应商报名

  ·五金配件采购

  ·外贸零售大咖找服装鞋帽厂商合作

  ·供应 LIUJING/柳晶 出口型-双向可控硅(螺..

  ·EPS线条切割机全球销量NO.1恒翔机械厂,E..

  ·供应皇冠高强度耐温双面胶

  ·供应飞企PLpcb曲线分板机钢模分板机

  ·江苏丹阳mzj直流接触器100A

  ·供应华安STT-950标线厚度测量仪

  ·厂家直销,批发真空机配件,真空机专用铜..

  ·松下推出消耗电流削减九成多 封装面积减半..·小米携手联芯 拟自行研发处理器·超级电容备受瞩目 储能电站大会Maxwell大..·中国制造如何与互联网加出正效应·英利年报引发清算恐慌 周二股价暴跌近37%·前有小米华为 LG手机能在中国翻身吗?

关键词:通信设备
推荐文章