一、摘要 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简介 CH340在USB转串口方面应用非常广泛,是一种类似于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手持终端的数据交互; 六、应用场合 汽车电子、手机周边、游戏产品,刷卡器,智能家居等。 七、源码
|