有关UART升级到USB的方法
1. 发现问题
最近做项目时发现,随着微型计算机技术的飞速发展,原来与之通信的串口已经消失。这对于用惯了RS232串口通信的人来说,措手不及。急需改进技术,USB接口将是最好替代接口。
2. 分析问题
就目前来说,UART接口升级到USB接口的方案有三类。
<1>、USB转UART桥接芯片。PC通过USB接口虚拟出一个RS-232接口,设备对PC接口的形式为USB,实现操作是UART接口,不存在USB协议问题。比如:Prolific公司的PL2303/PL2302,Silicon Laboratories公司的CP210X,南京沁恒电子有限公司的CH340/CH341。
<2>、带USB接口的微控制器(MCU)。这些微控制器有些是从底层专用于USB控制的,比如Cypress半导体公司的CY7C63xxx/CY7C64xxx,这类微控制器有自己的系统结构和指令;有些微控制器只是增加了USB接口的通用8051内核芯片,比如Intel公司的8x931/8x930,Cypress公司的EZUSB,Silicon Laboratories公司的C8051F320/321;
<3>、USB接口芯片。需要一个外部微控制器控制,比如朗讯公司的USS820/825。National Semiconductor公司的USBN9602/9603,Chip公司的NET2888,Philips公司的PDIUSBD11/PDIUSBD12,南京沁恒电子公司的CH372。
3. 解决问题
根据具体要求选用合适USB接口芯片,以降低开发成本、减少开发时间。
方案一、最快速的升绶方案。采用一款号称业界体积最小集成度最高的单芯片USB至UART桥接芯片CP2101。其特点:外配元件少,使用PCB空间小。该芯片包含一个 USB 2.0 全速功能控制器,USB收发器振荡器和带有全部的调制解调器控制信号的异步串行数据总线(UART)全部功能.采用一个 5mm X 5mm MLP-28封装。片内带有EEPROM,可以用于定义USB供应商代码,产品代码,产品描述文字,功率标牌版本号和器件序列号等数据的存储。EEPROM可以通过USB在应用板上进行编程。CYGNAL 免费提供的器件驱动程序可以很容易地将 CP2101 用于实现一个有效的 COM 口,提供免税的实用COM口(VCP)器件驱动器。允许一个基于CP2101的产品作为PC机的一个COM口使用。CP2101 的 UART 接口处理所有的 RS232 信号包括控制和握手信号所以现存的系统固件无需改动在许多现存的 RS232 设计中更新从RS232到USB 所要做的就是用CP2101 取代 RS232 级别的转换器
特点如下:
单芯片 USB 转 UART 数据转换器
- 集成的 USB 收发器无需外部电阻
- 集成的时钟无需外部振荡器
- 集成的 512 字节 EEPROM 用于存储产品生产商ID产品ID序列号电源参数版本号和产品说明
- 片内上电复位电路
- 片内电压调节器3.3V 输出
USB 功能控制器
-符合USB 2.0 规范全速 (12 Mbps)
-SUSPEND 引脚支持 USB 挂起状态
异步串行数据总线(UART)
- 所有握手和调制解调器接口信号
- 支持的数据格式
- 支持硬件 或 X-On / X-Off 握手
- 支持事件状态
虚拟 COM 口器件驱动程序
- 可以和带有COM口的 PC 应用配合使用
封装- 28脚 MLP (5mm X 5mm)
方案二、 随着带USB接口的单片机价格降低,采用带USB接口的单片机C8051F320/321。
特点如下:
模拟外设
− 10位 ADC
转换速率可达200ksps
可多达17或13个外部单端或差分输入
VREF可在内部VREF、外部引脚或VDD中选择
外部转换启动输入
内置温度传感器
− 两个比较器
− 内部电压基准
− 上电复位/掉电检测器
USB控制器
− 符合USB规范2.0版
− 全速(12Mbps)或低速(1.5Mbps)
− 集成时钟恢复电路;无需外部晶体
− 支持8个端点
− 1KB USB缓存
− 集成收发器;无需外部电阻
在片调试
− 片内调试电路提供全速、非侵入式的在系统调试(不需仿真器!)
− 支持断点、单步、观察/修改存储器和寄存器
− 比使用仿真芯片、目标仿真头和仿真插座的仿真系统有更优越的性能
电压调整器输入:4.0V - 5.25V
高速8051微控制器内核
− 流水线指令结构;70%的指令的执行时间为一个或两个系统时钟周期
− 速度可达25MIPS(时钟频率为25MHz时)
− 扩展的中断系统
存储器
− 2304 B内部数据RAM(1K+256+1K USB FIFO)
− 16KB FLASH;可在系统编程,扇区大小为512字节
数字外设
− 25/21个端口I/O;均耐5V电压,大灌电流
− 硬件增强型SPI、增强型UART和SMBus串口
− 4个通用16位计数器/定时器
− 16位可编程计数器/定时器阵列(PCA),有5个捕捉/比较模块
− 使用外部时钟源和PCA或定时器的实时时钟方式
时钟源
− 内部振荡器:0.25%的精度(时钟恢复被使能时)。支持USB和UART操作
− 外部振荡器:晶体、RC、C、或外部时钟
− 可在运行中切换时钟源,适用于节电方式
封装
− 32脚LQFP(C8051F320)
− 28脚MLP(C8051F321)