基于PIC单片机的USB接口设计
引言
USB是一种快速的、双向同步传输的、廉价并可以进行热插拔的串行接口。利用USB总线技术,开发适用于科学研究和工业牛产的各种仪器仪表设备,借以取代传统计算机测控系统中采用串行RS232或并行接口的仪器仪表设备,使计算机测控系统更加高效实时,方便灵活。
利用USB总线的数据采集方案有两种,一种是采用普通单片机加上专用的USB通信芯片。该方案可充分利用开发人员原有的硬件资源和软件知识,开发成本较低,但系统的设计和调试较为麻烦,且电磁兼容性差,容易造成主机不能识别USB设备。另一种是利用具有USB接口功能的单片机。使用这些专用芯片构成的数据采集系统电路设计简单,调试方便,电磁兼容性好。然而,目前大部分具有USB功能的单片机都是专门针对个人计算机外围设备或消费市场的需要而设计的,忽略了嵌入式工程师的需要。Microchip公司新款PIC18F4550系列单片机的问世,为广泛的嵌入式应用增添了全速USB的优势,即使遇到恶劣的操作环境或在只能不定时地连接个人计算机的情况下,也能正常工作。
本文以光栅位移传感器检测系统的设计为背景,详细介绍了带全速USB接口的单片机PIC18F4550的应用设计方法。
1 PIC18F4550介绍
PIC18F4550是Microchip公司最新生产的带全速USB接口的8位高档单片机,芯片为40/44脚封装。该单片机除了具有PIC单片机所特有的精简指令集(RISC)、数据总线和指令总线相互独立的哈佛(Harvard)结构等特点外,还配备了自编程闪存存储器以及纳瓦节能技术,工作频率达48 MHz,数据传输速率高达12 Mbps。另外,还具有Microchip先进PMOS电可擦除单元(PEEC)闪存技术,耐擦写次数可高达100万次,而数据保存期能超过40年。因而该芯片有很强的控制能力和灵活的工作方式。新器件的全速USB 2.0接口具有1 KB双重存取RAM,支持高达32个端点(双向16对)和2种数据传输速率(即全速模式1 2 Mbps和低速模式1.5 Mbps),具有USB协议所规定的4种数据传输方式(控制传输方式、中断传输方式、批量传输方式和实时传输方式)。该接口包括一个片上收发器和一个并行流端口,能把数据直接传送到外部的设备,不仅减小了CPU的开销,而且大大增强了系统的抗干扰能力和工作可靠性。
PIC18F4550的硬件资源非常丰富,包含33个I/O,I/O端口为端口A、B、C、D、E;具有多个中断源和1个中断优先级选择,4个定时器,32 KB程序闪存,256字节EEP-ROM数据存储器,2 048字节数据随机存储器以及8×8硬件乘法器;集成了13通道的10位A/D转换器,2个CCP(比较/捕捉/PWM)模块,1个增强型CCP模块和1个看门狗;具有省电功能的休眠模式;1个USART不仅支持异步与同步的串行通信,而且支持LIN总线;2个模拟比较器,支持I2C和SPI通信的主控同步串行端口,可编程欠压复位及低电压检测电路等。
PIC18F4550单片机的一个关键特性在于它配备了32 KB自编程增强型闪存,使得设计人员可以通过USB端口对最终应用进行现场升级。结合新器件配备的一系列片上外设和纳瓦技术(nanoWatt)的功耗管理功能,使其非常适用于多种嵌入式应用,包括工业、医疗、汽车、电池供电和消费类产品等。
2 PIC18F4550的设计应用
2.1 光栅位移传感器的基本工作原理、特点
光栅位移传感器的基本工作原理是利用一对光栅,其中一块是固定的,而另一块是运动的。当它们发生相对运动并有光通过两者时,能够获得相当于干涉仪中得到的条纹信号,即所谓的“莫尔条纹信号”。对于一对计量光栅,彼此移动一条刻槽(现代计量光栅常采用4~250 L/mm)就移动一条莫尔条纹。条纹宽度不受波长影响,并且条纹较宽可进行内插,由于误差平均效应,因而可以获得很高的精度。与普通位移传感器相比,它有以下几个特点: ① 精度高。光栅位移传感器在大量程测量长度或直线位移方面仅仅低于激光干涉传感器;在圆分度和角位移测量方面,光栅式传感器属于精度最高的。
② 大量程测量兼有高分辨率。感应同步器和磁栅式传感器也具有大量程测量的特点,但分辨力和精度都不如光栅位移传感器。
③ 可动态测量,易于实现测量及数据处理自动化。
④ 具有较强的抗干扰能力,对环境条件的要求不像激光干涉传感器那么严格,但不如感应同步器和磁栅式传感器的适应性强。油污和灰尘会影响它的可靠性,主要适合于在实验室和环境较好的车间使用。
2.2 PIC18F4550硬件设计
PIC18F4550的USB接口硬件设计比较简单,而单片机控制的外围设备属于一般单片机设计,可以参照一般PIC单片机的设计方法。对于USB接口,Microchip公司提供了一套开发套件(Demo板)帮助使用者开发自己的产品。它提供了应用程序、驱动程序和固件,帮助使用者熟悉USB的工作过程;同时,可以直接利用开发套件来扩展外围设备。
图1是一个光栅位移传感器检测系统硬件电路框图,主要实现数据的采集、处理、传输和PWM脉冲的产生等。从光栅传感器输入的信号有5路:±sin,±cos以及零窗信号zero。经差分放大电路合成,分3路进入PIC单片机模拟量输入口进行A/D转换;同时,经差分放大电路合成后的sin、cos信号经过零比较器后转换成数字脉冲信号,然后经D触发器和“与”门电路完成光栅位移的辨向。PIC单片机T0和T1口接收来自“与”门电路的数字脉冲,完成光栅位移的计数(计算光栅尺移动的完整光栅数);PIC单片机RC1口输出4 MHz的PWM脉冲信号作为D触发器的CP信号。计算机的USB接口两根数据线分别接PIC18F4550的D+和D-口,用于完成计算机和单片机之间的数据通信。计算机的USB电源一方面为PIC微处理器提供能源,另一方面通过电源模块转换成±12 V电源,为运放电路提供正负电源。
2.3 单片机软件部分设计
单片机的软件部分主要完成光栅位移传感器的数据采集、A/D转换、计算光栅位移传感器的正向、反向莫尔条纹的个数、为数字电路提供CP脉冲以及完成USB的通信等工作。图2是单片机软件部分的流程图。
评论