打印
[USB接口]

USB单片机CH558虚拟串口应用实例

[复制链接]
2300|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、摘要
CH558内置USB全速主从控制器,可用于各种USB主机和设备应用。本文主要介绍CH558虚拟串口的实现和相关应用。
二、总体概述
USB标准子类中,有一类称之为CDC类,可以实现虚拟串口通信的协议,而且由于大部分的操作系统(Windows和Linux)都带有支持CDC类的设备驱动程序,可以自动识别CDC类的设备,这样不仅免去了写专用设备驱动的负担,同时简化了设备驱动的安装。
(1)、CDC类简介
USB的CDC类是USB通信设备类(Communication Device Class)的简称。CDC类是USB组织定义的一类专门给各种通信设备(电信通信设备和中速网络通信设备)使用的USB子类。根据CDC类所针对通信设备的不同,CDC类又被分成以下不同的模型:USB传统纯电话业务(POTS)模型,USB ISDN模型和USB网络模型。其中,USB传统纯电话业务模型,有可分为直接线控制模型(Direct Line Control Model)、抽象控制模型(Abstract Control Model)和USB电话模型(USB Telephone Model)。
(2)、CH340简介
        CH340USB转串口方面应用非常广泛,是一种类似于USB CDC类的厂商自定义设备类,通过USB虚拟串口的方式和操作系统进行数据交换。
(3)、CH558模拟CH340
        随着手持设备日益普遍和一些应用或者测试条件的变化,部分应用希望将USB转串作为一个模块功能做到主控当中,这样既能节省硬件成本,PCB走线布板也精简很多,以下将主要介绍CH558模拟CH340的实现关键点。
(4)、USB设备接入主机主要包括以下几个阶段
*设备插入并且主机供电;
*主机和设备USB标准命令交互阶段;
*主机和设备USB类命令交互阶段;
*主机和设备非控制端点数据通讯;
*设备移除;
        A.检测设备连接
        当设备没有插入时,集线器下游端口的D+和D-线上都是低电平,协议定义为SE0(Single-Ended 0)。
        当有设备接入到集线器下游端口时,D+和D-有一个由低变高电平的状态阶段,这个状态阶段一般为2.5us。
当设备移除时,D+和D-同样也会有一个由高到底的状态阶段,同样持续约2.5us。
B.主机和设备标准命令交互阶段
一般包括获取设备描述符、设置设备地址、获取配置描述符、获取语言描述符、设置设备接口;
C.主机和设备类命令交互阶段
USB设备分类,USB-IF将具有相同/相似功能的设备归为一类,并制定和相关设备类规范,这样在操作系统端就无需为每种设备提供独立的设备驱动程序,同时也会简化上层驱动的处理。但是USB-IF制定的设备类规范并不能涵盖所有的电子设备,市场上也有很多非标准的USB设备,这是就要求厂商提供单独的客户端驱动程序。
CH340就是厂商自定义设备类型,所有需要安装驱动,驱动下载地址会在源码部分给出。
三、硬件设计
模拟CH340主要是软件工作,硬件上用CH551/CH552/CH553/CH554/CH558/CH559都可以实现,都可以使用芯片内置晶振,基本上无需其他外围器件。
CH559/CH558是兼容MCS51的增强型E8051内核单片机,79%的指令是单字节单周期指令,内置63K Code Flash,6K+256B Ram。CH559 内嵌USB控制器和双USB收发器,支持 USB-Host 主机模式和 USB-Device 设备模式,支持 USB 2.0 全速 12Mbps 或者低速 1.5Mbps,USB 主机模式下可以通过双端口 Root-HUB 同时管理两个 USB 设备。支持最大 64 字节数据包,内置 FIFO,支持 DMA。
CH554/CH553/CH552/CH551是兼容MCS51的增强型E8051内核单片机,79%的指令是单字节单周期指令,内置24MHz时钟源,内置1K+256B RAM,16KB iFlash-ROM。CH554提供丰富的接口资源,包括ADC模数转换、3组定时器和信号捕捉及PWM、双异步串口、SPI等。CH554提供6通道电容检测模块,互电容方式支持最多15个触摸按键。CH554内嵌全速USB控制器,支持USB HOST主机模式和USB DEVICE设备模式。
四、软件设计
(1)、USB设备功能开启
(2)、CH558连接PC
此处列举部分USB类命令。
(3)、其他端点数据通讯
A.批量端点接收函数
五、可拓展功能
        CH558模拟CH340,主机安装驱动后可以直接通过串口调试工具进行数据收发的演示,可以拓展功能如下:
A.CH558同时可以扩展并口、SPI、串口、GPIO、PWM、定时器等接口;
B.提供的安卓APP方便与Android手持终端的数据交互;
六、应用场合
汽车电子、手机周边、游戏产品,刷卡器,智能家居等。
七、源码
USB模拟串口.zip (245.96 KB)

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

131

帖子

6

粉丝