基于STM32的PIC单片机程序烧录器设计

    郑洁霁+秦国栋

    

    

    摘 要:针对PIC单片机的程序烧录,文章实现了以ARM芯片STM32F103VCT6为核心的程序烧录器的设计。文章首先介绍了STM32F103VCT6的特点以及ICSP下载方式,然后给出了系统设计框图和程序设计流程图。编程实验表明,该烧录器能够可靠、高效地实现对PIC单片机的编程下载功能。

    关键词:STM32;PIC单片机;程序烧录器

    PIC单片机是Microchip公司的产品,其采用精简指令集的RISC结构。同时采用哈佛双总线结构,能并行处理程序存储器和数据存储器的访问,这种指令流水线结构能在一个周期内完成两部分工作,极大地提升了执行效率[1]。因此,PIC单片机在工业界得到了大量的应用,占据了一定的市场份额。在工业的批量烧录生产过程中,主要使用PicKit等脱机烧录器,其功能比较单一,无法满足扩展功能等需求。随着PIC单片机产品的增多和自动烧录机台等设备的应用,根据生产的实际需求,人们设计了一种基于STM32的PIC程序烧录器,其具有工作稳定、界面直观、操作方便等特点,取得了良好的效果。

    1 ICSP协议简介

    Microchip公司是最先生产能够在线编程的微控制器生产商之一。这个功能首先是在中档PICmicro微控制器中提供的,但从那以后已经成为所有新的PICmicro微控制器的一个特性[2]。

    电路系列编程中(In Circuit Serial Programming,ICSP)需使用5根线,分别为时钟、数据线、电源、接地以及编程电压线。利用ICSP功能,可以很方便地构建一个PIC单片机的串行编程器,将编好的单片机程序固化到芯片中[3]。保持编程时钟和编程数据引脚为低电平,并将VPP引脚电压从VIL增加到VIHH,器件便进入编程模式。此时通过数据引脚即可将数据送入单片机或者从单片机中读出数据。

    2 烧录器的硬件设计

    烧录器的主控芯片采用ST公司的32位单片机STM32F103VCT6,配有3.2寸彩色TFT液晶触摸屏提供人机交互功能,且具有可调节的电压输出功能以及EEPROM掉电记忆功能。

    STM32F103VCT6是由ST公司出品的基于ARM内核的32位微控制器,包括256 K字节Flash存储器、2个12位的ADC、3个通用16位定时器和1个PWM定时器[4]。

    系统使用12 V直流电源作为供电电源,通过稳压芯片LM2576,MC78M05和LM1117-3.3分别输出7 V,5 V和3.3 V作为系统内部使用的电源。为了输出13 V左右的VPP编程电压,在系统中使用了PWM波控制的升压电路来完成此功能,如图1所示。

    系统通过3.2寸彩色TFT液晶屏提供显示功能,用户可以通过触摸屏来进行对编程器的操作。并通过JTAG接口进行程序的调试和下载。为了实现掉电记忆功能,系统配有EEPROM芯片。连接电路如图2所示。

    3 烧录器的软件设计

    烧录器的软件设计是整个系统的重点,程序使用C语言开发。在开发中使用ST公司提供的库函数,具有高效、易用的特点。库函数中封装了对底层硬件的控制功能,它可以让开发者无需直接操作硬件,只需调用库函数中提供的功能函数即可完成相应的功能,方便了开发者的使用。

    系统使用运行于STM32之上的uC/OSII嵌入式实时操作系统。uC/OSII它是一个源代码公开、可裁减、移植性好、占先式实时多任务操作系统,目前已广泛移植在DSP,ARM单片机等处理器上[5]。

    系统通过uC/GUI创建友好易用的图形用户界面,能够完成的功能有:对PIC芯片进行编程、提供LCD的显示、触摸屏功能、自动电压调节、掉电记忆等。在基于实时操作系统的应用编程中,任务设计是整个应用编程的基础。当任务被创建之后进入就绪状态,然后按照优先权的高低依次获得运行权,进入运行状态。在应用编程的设计中,主函数可以简化,只负责跟操作系统有关的事项,而与具体的应用无关,即初始化系统、创建主任务以及启动操作系统。

    PIC系列单片机程序下载需遵循ICSP编程规范,其使用数据、时钟两个引脚进行通信,并遵循时序来进行编程。进入编程模式后,通过向芯片发送操作命令和烧录数据进行编程。在本烧录器的信息显示区会有进度条显示烧录进度,并显示烧录成功/失败的提示信息。程序设计的流程如圖3所示。

    4 结语

    本文介绍了一种基于STM32的PIC单片机程序烧录器的设计方案,阐述了硬件设计的相关功能,给出了控制软件的流程设计。该程序烧录器具有工作稳定、界面直观友好、操作方便等特点。实际应用表明,其具有一定的实用性。

    [参考文献]

    [1]谢锋然. PIC单片机原理及程序设计[M].北京:清华大学出版社,2013.

    [2](加)迈克·普雷多克. PICmicro微控制器编程与自主开发[M].姜汉龙,译.北京:电子工业出版社,2001.

    [3]汤竞南.PIC单片机基础与应用[M].北京:北京邮电出版社,2006.

    [4]谷峰.一种可输出预置序列的新型程控电源设计[J].重庆理工大学学报(自然科学版),2015 (2):86-90.

    [5]程凤兰.一种嵌入式多工位压力机送料机构控制系统[J].制造业自动化,2011(33):20-21.

相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 基于MATLAB 的信号时域采样及

    唐敏敏 张静摘要:频率混叠是数字信号处理中特有的现象,发生频率混叠后,信号会分析出错误的结果。而采样过程中,由于频率不够高,采样出

  • 卫星天线过顶盲区时机分析

    晁宁+罗晓英+杨新龙<br />
    摘 要: 分析直角坐标框架结构平台和极坐标框架平台结构星载天线在各自盲区状态区域附近的发散问题。通过建