有关PIC32单片机的UART通信概述

时间:2011-09-04

  引言

  Microchip Technology Inc.(美国微芯科技公司)今天宣布在其PIC32单片机系列中新增一款具备集成USB 2.0 On-The-Go (OTG) 功能的低成本器件。至此,PIC32单片机系列中的7款通用器件率先投入批量生产。Microchip PIC32系列现一共拥有12款器件,能满足客户对性能、内存及USB OTG连接性能日益增长的需求。另外,Microchip现提供37款8位、16位和32位USB PIC单片机,从28引脚的PIC18封装到100引脚的80 MHz PIC32封装,一应俱全。PIC32系列不仅为嵌入式设计人员带来更高的性能及容量更大的存储器,还可在引脚、外设及软件等方面,保持与Microchip 16位单片机及数字信号控制器(DSC)系列的兼容性。为进一步方便移植和节省开发工具投资,Microchip是现今一家8位、16位和32位器件的完整产品线都由单一集成开发环境——的MPLAB? IDE支持的供应商。

  现今消费者对更新兴、更易使用和可升级的产品不断增长的需求,促使嵌入式设计人员在应用中添加的USB OTG功能。个人计算机(PC)等产品仅以主机角色运行,而USB闪存驱动器等其他产品则仅用作器件。而OTG功能为产品赋予双重角色 —— 通过自动协商功能,在两个OTG产品进行USB连接时决定哪个产品作为嵌入式主机,哪个产品作为器件。Microchip PIC32单片机集成了USB OTG功能,让设计人员可以为产品灵活地添加所有三种USB工作模式。此外,PIC32 USB OTG系列的所有单片机均包含一个USB OTG PHY,有助于降低BOM成本并节省印刷电路板空间。

  Microchip 高性能单片机部门总监Patrick Johnson表示:“长期以来,PIC? MCU一直是嵌入式USB应用所需8位单片机的。这次,Microchip在USB OTG PIC32单片机系列中增添了全新的低成本器件,而其中7款器件也率先投入量产,在其的通用嵌入式单片机市场继续为业界提供完善的产品系列,共有超过500多款的8位、16位及32位单片机和数字信号控制器,且都得到同一开发环境支持。”

  1 PIC32系列单片机简介

  PIC32系列单片机是Microchip Technology Inc.(美国微芯科技公司)推出的高性能32位单片机,它是以MIPS32架构为基础设计的。目前推出的PIC32MX3XX分支为通用型,PIC32MX4XX分支带有USB功能,PIC32MX5XX分支带有USB和CAN功能,PIC32MX6XX分支带有USB和Ethernet功能,PICMX7XX分支则带有USB、CAN和Ethernet功能。PIC32系列单片机采用哈佛结构,带有5级流水线,工作频率80 MHz;具有高效指令架构、高性能硬件乘法器/累加器及多至8组32个内核寄存器,可实现1.56一款DMIPS/MHz的运行速度。此外,PIC32系统具有指令和ROM数据预取缓冲器的64字节高速缓存,128位宽的闪存,可缩短单个指令的取指时间,支持MIPSl6e 16位指令集构架,可多减少40%的代码。

  PIC32系列单片机包括了闪存范围从32 KB到512 KB的可扩展器件,片上RAM从8 KB到128 KB,引脚与64/100引脚的16位单片机PIC24FJ-XXXGA系列兼容,新推出的PIC32MX5XX/6XX/7XX提供XBGA的封装。另外,PIC32系列单片机带有丰富的外设资源——5个定时器、16路通道的10位A/D转换器及通信接口,即SPI、I2C、UART和PMP,同时PIC32还有集成的CRC计算功能和基于模式的传输终端选择功能的DMA控制器。此外,PIC32MX5/6/7系列包括10/100 Mbps以太网、CAN2.0b控制器、USB主设备/从设备和OTG。

  PIC32系列单片机不仅比PIC 8位、16位单片机速度更快、性能更强,同时相对于ARM系列的32位单片机也具有一定的优势。虽然Microc-hip能选择的MISP 4K时钟频率只有80 MHz,但是由于MIPS内核简洁,多家处理器评估机构确认PIC32的处理能力总体性能更高,而且PI-C32的指令多为单周期指令,比多周期指令执行速度更迅捷。PIC32系列单片机多达128 KB的RAM,使其在数据处理上更具优。Microchip微公司还有一个非常独特的优势,就是该公司所有8、16和32位的器件都是充分兼容的,所有的这些全系列的产品使用的都是同样的开发工具,单一的开发环境,软件库也是全面兼容的,这对于客户更为方便。此外,Ashling、Green Hills及Hi-Tech提供了完整工具链支持,CM-X、Exp-ress Logic等提供RTOS支持,EasyGUI、Segger、RamTeX及Micrium等提供绘图工具支持。值得一提的是,微芯公司为开发人员准备了入门工具包,示例源文件,同时提供了如USB、TCP/IP协议栈,以及Graphics和FATl6文件系统开发的中间件模块。PIC32的MPLAB C32编译器包括了16位Microchip MCU兼容的软件外设函数库,以更加方便快捷地使用外没模块。PIC32系列单片机的结构框图如图1所示。


    Microchip集成开发工具支持所有PIC32型号单片机,包括MPLAB集成开发环境(IDE)、MPLAB C32 C编译器、MPLAB REAL ICE仿真系统、MPLAB ICD2在线调试器及Explore 16开发板等。PIC32系列单片机要求MAPLAB IDE版本要在8.0以上,现版本为8.43,MAPLAB IDE软件可以从微芯公司网站www.microchip.com。MPLAB ICD2在线调试器是一款低价位的PIC开发工具,可设置一个1次断点,调试能力较弱。MPLAB ICD3保留了与Microchip RJ-11接口的向后兼容,可轻松连接目标板,迅速进行器件编程;可多达1000个软件断点,2~5.5 V工作电压;可支持2.0 V的低电压调试,具有高速的编程能力,比MPLAB ICD2的编程速度快5~15倍。MPLAB REALICE仿真系统能够支持标准和先进的调试功能,如复杂断点、应用代码的追踪和数据采集、代码执行计时及实时变量监控。新推出的MPLAB PM3通用器件编程器支持全部的PIC器件产品及dsPIC30系列的编程。但是MPLAB REAL ICE,ICD3和PM3价格都比较昂贵,ICD2尽管功能有限,但价格便宜,可实现PIC32系列的编程仿真。关于具体PIC32各型号单片机所支持的编程器、仿真器、编译器以及各版本的IDE所支持的PIC系列型号可以在MPLAB IDE(8.0版本以上)的Configure『Select device…进行查看。

  2 P1032的UART串口编程

  下面以UART串口模块为例来叙述PIC32的开发过程,电路原理如图2所示。考虑到MAPLAB ICD3和MPLAB REAL ICE仿真器的价格较贵,采用了USB口的MPLAB ICD2(MPLAB IDE支持USB口的MPLABICD2,不支持串口的ICD2)。本实验采用MAPLAB IDE8.33集成开发环境,选择PIC32MX32-0F128H。


    在PIC32编程中,需要对配置字进行配置(主要是对系统时钟、外设时钟等进行配置)。这一工作可在程序中定义,也可以通过MPLAB IDE中的菜单Configure |Configuration Bits…对配置字进行设置;同时可通过Project | Select Language Toolsuite选择编译器,通过Configure | Select Device选择芯片型号。由于MPLAB IDE8.33集成开发环境程序只是对以前版本的升级改进,因此使用过MAPIAB IDE开发环境的开发人员可方便、快速地掌握其使用方法。本实验采用MPLAB C32编译器,程序1为直接使用MPLAB C32编译器中的软件外设函数库进行UART的操作;程序2则是采用读写寄存器对UART进行操作。程序实现上位机发送数据,PIC32单片机收到数据后返回上位机。

  应用领域

  PIC32系列单片机适用于各种嵌入式应用领域,包括:工业(安防系统、电表、智能卡/条形码/门禁读卡器和仪表);医疗(病人监测仪、计量泵和血液分析器);汽车(汽车数据记录器、无线电设施、转速表和车辆跟踪);通信(电力线通信电路板、媒体网络控制器和GSM备用控制器);家电 (咖啡机、洗衣机、健身器材、洗碗机和空调通风系统);以及消费电子产品 (GPS模块、家居自动化和MP3播放器接口/适配器)。

  开发工具及软件支持

  PIC32系列中各款产品均得到Microchip世界一流开发工具的支持,包括MPLAB IDE集成开发环境、MPLAB C32 C编译器、MPLAB REAL ICE?仿真系统、MPLAB ICD 2在线调试器,以及MPLAB PM3通用器件编程器。

  此外,Microchip还提供USB软件协议栈及类驱动程序的源代码,帮助设计人员顺利迈出USB应用开发的步。Microchip的USB主机协议栈、设备协议栈及类驱动程序(HID、MSD、CDC和定制类)现提供。同样的USB OTG协议栈已有试用评估版,预计于第二季度正式面世。

  PIC32系列拥有业内广泛的工具支持。Ashling、Green Hills、Hi-Tech及Lauterbach均为其提供完整工具链 —— 包括C和C++编译器、MPLAB IDE及调试器。同时, CMX、 Express Logic、FreeRTOS、Micrium、Segger及Pumpkin为其提供RTOS支持;此外还得到了绘图工具供应商EasyGUI、Segger、RamTeX及Micrium的支持。


  
上一篇:Eclipse IDE下调试工具TRACE32的使用
下一篇:用芯片设计一个高60Hz发生器的LED数字钟

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料