前言在开发USB设备时最难的就是固件和驱动程序的开发,要想成功的开发这两部分必须完全熟悉USB协议,而这至少需要五到六个月的时间。南京沁恒公司的CH371芯片是一块屏蔽了USB协议的接口芯片,该芯片固化了设备驱动程序和单片机程序中的协议处理部分,因此不需要去了解复杂的设备驱动程序和USB协议,大大减少了开发周期,也降低了开发难度。本文介绍的演示板就是基于该公司的CH371和CH451芯片的一个简单USB外设,通过这块演示板,不仅可以了
前言
在开发
USB设备时最难的就是固件和驱动程序的开发,要想成功的开发这两部分必须完全熟悉USB协议,而这至少需要五到六个月的时间。南京沁恒公司的CH371芯片是一块屏蔽了USB协议的接口芯片,该芯片固化了设备驱动程序和单片机程序中的协议处理部分,因此不需要去了解复杂的设备驱动程序和USB协议,大大减少了开发周期,也降低了开发难度。本文介绍的演示板就是基于该公司的CH371和
CH451芯片的一个简单USB外设,通过这块演示板,不仅可以了解基于USB接口的基本结构,而且还可以熟悉基于这种接口的PC和单片机通信的单片机控制程序和计算机应用程序的编写。
芯片介绍
USB接口芯片CH371
CH371是一个USB 总线的通用接口芯片。在本地端,CH371 具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机、
DSP、
MCU 等控制器的系统总线上;在计算机系统中,CH371 的配套软件提供了简洁易用的操作接口,与本地端的单片机通讯就如同读写硬盘中的文件。CH371 屏蔽了USB 通讯中的所有协议,在计算机应用层与本地端控制器之间提供端对端的连接。基于CH371,不需要了解任何USB 协议或者固件程序,甚至驱动程序,就可以轻松地将并口、串口的产品升级到USB 接口。
使用时,在本地端CH371具有8位数据总线和读、写、片选控制线以及中断输出,就像操作一般外设芯片一样方便地挂接到DSP、MCU等控制器的系统总线上;在计算机端,CH371的配套软件包括通用驱动程序以及应用软件包,提供了简洁易用的操作接口。
根据不同的工作方式,芯片的接口类型可以有以下几种:被动并行接口、I2C主接口、主控方式接口。按照芯片特点,CH371芯片通过被动并行接口与本地端控制器连接,通过USB接口与计算机连接,如图1所示。
图1 单片机、CH371芯片以及PC连接示意图
键盘控制和
数码管驱动芯片CH451
CH451 是一个多功能外围芯片,通过可以级联的4 线串行接口与单片机、DSP、微处理器等控制器交换数据。CH451 包含三个功能:数码管显示驱动、键盘扫描控制、 P 监控,三个功能之间相互独立,控制器可以通过操作命令分别启用、关闭、设定CH451 的任何一个功能。CH451 的串行接口是由硬件实现的,控制器可以频繁地通过串行接口进行高速操作。CH451主要功能包括动态扫描功能和键盘扫描功能。
在计算机应用层,通过应用程序来演示CH451的各种功能。应用程序把控制命令通过CH371传送给单片机,单片机接收到命令后再来控制CH451。CH451通过四线串行接口与单片机连接,如图2所示。
图2 单片机、CH451芯片和键盘、数码管的连接示意图
USB设备配置和
数据传输过程描述