基于单片机PIC18F4550的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 PIC18F4550 单片机 基于 相关文章:
- μC/OS-II下通用驱动框架的设计与实现(07-23)
- 基于S3C44B0X+μcLinux的嵌入式以太网设计(07-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)
- DSP和Flash接口技术的实现(08-15)
- dsPIC33F系列DSC的 SD存储卡接口设计(01-05)