应用笔记 3025

PIC'ing MAX3100:使用MAX3100 UART,在PIC微控制器中加入USB


摘要 : USB的实现越来越简单。本应用笔记帮助设计人员利用他们所熟悉的MAX3100 UART的UART帧,连续发送和接收数据,从而简化USB设计。UART至USB转换IC和操作系统驱动可以解决复杂的USB通信问题。本应用笔记介绍了利用MAX3100通过USB发送、接收数据所需的软件和硬件。

背景

自从IBM最初的PC机主板采用Intel 8250 UART开始,UART (通用异步收发器)便成为标准串口的成帧器件。多年以后,由于UART可靠,并且操作简便,仍在广泛应用。

通用串行总线(USB)具有简单、可靠,通信速度高等特点,被广泛用来替代标准串口,连接设备与PC机。虽然USB简化了用户连接,却给设计人员带来了更大挑战。很多设计人员继续使用具有标准串口的UART,等待能够简化USB通信的产品出现。值得庆幸的是目前已经找到有效的解决方案。使用MAX3100和UART至USB转换器实现USB连接。设计人员利用熟悉的MAX3100 UART的UART帧,由UART至USB转换IC和操作系统驱动器处理复杂的USB通信。

MAX3100是首款针对微控制器系统设计的UART。其SPI™/QSPI™兼容接口使得MAX3100能够用于绝大多数微控制器。SPI/QSPI接口是比较理想的选择,原因在于实现简单,采用片内SPI/QSPI外设或4个GPIO即可实现。MAX3100支持4.2MHz的SPI数据速率,其UART支持高达230kBd的波特率。

本应用笔记帮助设计人员使用标准的UART数据帧,连续发送和接收数据,从而简化了USB设计。以下介绍了用MAX3100通过USB发送、接收数据时所需要的软件和硬件。

基于UART的USB设计

图1所示应用电路包括MAX3100 UART、FT232BM UART至USB转换器、93C46串行EEPROM和PIC16F84微控制器。由于PIC16F84没有内部USB或UART外设,MAX3100提供了一个很好的UART外设。在清单1程序中,PIC16F84通过SPI实现与MAX3100的连接。

图1. MAX3100应用原理图
大图

图1. MAX3100应用原理图

清单1
下载


清单1是PIC16F84通过SPI与MAX3100接口的汇编例程。

汇编程序连续发送以下消息:
“THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG”。

MAX3100通过SPI接收这些数据,以标准UART帧向FT232BM连续发送相同的消息,速率为230kBd。FT232BM把UART帧数据转换成USB兼容格式,这样,PC使用USB虚拟COM口很容易接收到这些数据。

当有效的USB串行电缆第一次插入图1电路时,PC必须安装了USB虚拟COM口驱动程序。由于整个电路由USB口供电,因此,电路板并不需要作用电源。请将表1列出的压缩文件复制到计算机硬盘。可以把压缩文件复制到C盘子目录:C:\3100appnote。请按照以下步骤成功安装虚拟COM口驱动。

以下操作步骤需要下载: 表1. 把文件R9012134.ZIP解压缩到计算机硬盘子目录
Description Filename
Win98/2000 Virtual COM port driver R9012134.ZIP

第1步:电路板插入有效的USB串行电缆后,将会看到以下显示信息。按下Next >按钮。



第2步:第二屏出现时,按下Next >按钮,为器件搜索最佳驱动程序。



第3步:第三屏出现时,按下Browse按钮,找到放置压缩文件R9012134.ZIP的位置。例如,C:\3100appnote。按下Next >按钮,开始搜索。



第4步:出现下一屏,找到FTDIBUS.INF驱动文件后,按下Next >按钮。



第5步:最后一屏出现后,按下Finish按钮,完成安装过程。



第6步:通过查看System Properties | Device Manager | Ports中的Device Manager标签的端口部分,确定正确安装了USB虚拟COM端口。



一旦装好了USB虚拟COM口驱动,所有标准串口PC的通信程序都可以利用虚拟COM口(而非典型的硬件COM口)通过USB发送、接收数据。很多硬件COM口的通信速率限制在115kBd,而用于仿真硬件COM端口的软件虚拟COM口能够支持高达921kBd的波特率。