一、摘要

      CH55X系列内置USB全速主从控制器,可用于各种USB主机和设备应用。本文主要介绍CH55X虚拟串口的实现和相关应用。

二、总体概述

      在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)。

1.jpg

(2)、CH34X简介

CH34X在USB转串口方面应用非常广泛,市场份额也比较大,作为沁恒公司比较典型的USB接口芯片,市场的接受度和认可度都比较高。CH34X是一种类似于USB CDC类的厂商自定义设备类,通过USB虚拟串口的方式和操作系统进行数据交换。

(3)、CH55X模拟CH34X

随着手持设备日益普遍和一些应用或者测试条件的变化,部分应用希望将USB转串作为一个模块功能做到主控当中,这样既能节省硬件成本,PCB走线布板也精简很多,以下将主要介绍CH55X模拟CH34X的实现关键点。 

(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设备,这是就要求厂商提供单独的客户端驱动程序。

       CH34X就是厂商自定义设备类型,所有需要安装驱动,驱动下载地址会在源码部分给出。

三、硬件设计

     模拟CH34X主要是软件工作,硬件上用CH551/CH552/CH553/CH558/CH559都可以实现,都可以使用芯片内置晶振,基本上无需其他外围器件。

       CH559/CH558是兼容MCS51的增强型E8051内核单片机,79%的指令是单字节单周期指令,内置60K 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)、CH55X连接PC

2.jpg

3.jpg

4.jpg

此处列举部分USB类命令。


(3)、其他端点数据通讯

5.jpg

五、可拓展功能

CH55X模拟CH34X,主机安装驱动后可以直接通过串口调试工具进行数据收发的演示,可以拓展功能如下:

      A.CH55X同时可以扩展并口、SPI、串口、GPIO、PWM、定时器等接口;

      B.提供的安卓APP方便与Android手持终端的数据交互;

六、应用场合

      汽车电子、手机周边、游戏产品,刷卡器,智能家居等。

七、源码

USB模拟串口.rar