×
嵌入式 > 技术百科 > 详情

极具性价比的PIC单片机调试工具——PICkit3 Debug Express开发套件

发布时间:2020-06-18 发布时间:
|

最近,看到Microchip的产品促销活动,不由的想到先前购买的一款PICkit3 Debug Express开发工具,由于一直没什么时间,就没怎么折腾,这会拿出来玩玩,也顺带给大家做一个参考。

玩单片机的朋友差不多都知道PIC系列的MCU,这是美国微芯半导体(Microchip)的主打系列产品,Microchip是一家全球领先的单片机以及模拟半导体供应商,尤其以PIC单片机的稳定可靠性著称,在工业控制领域用的比较多。而笔者手上的这套PICkit Debug Express开发工具就包含一块PIC8系列MCU的演示板(见下图)。

PICkit3 Debug Express

整套PICkit3 Debug Express开发工具主要包括了:

  • PICkit3 在线调试/编程器
  • 一块基于PIC8系列MCU的44PIN演示板
  • 一份PICkit3使用文档、一根mini USB线缆和一张光盘(包含MPLAB IDE开发工具以及12个示例课程等)

如今网络普及的比较广,IDE开发工具以及开发板的例程基本都能在网上找到,所以目前开发板产品很少还带着C D-ROM光盘的,从这点也能看出PICkit3有些历史了。言归正传,让我们来仔细看看这些产品。

PICkit3 Debug Express开发套件

Microchip的PICkit3在线调试器比较小巧,红色的普通塑料外壳,在工业设计上还保留了一个挂绳扣,非常贴心,经常丢三落四的朋友倒可以利用一下,不过以目前人们的审美水平,估计没人会做个挂神系在脖子里吧。

PICkit3在线编程调试器

PICkit3在线调试器看起来挺多的内容,但在实际使用中只有一个功能按键可以操作,这个功能按键的作用也就是PICkit3主要的特点之一——脱机烧写。

脱机烧写也是相对于联机烧写(与计算机连接进行烧写)而言的,对这个功能不清楚的朋友可能只是没接触到,这在生产,或者产品量产中是非常实用的功能,免去了与电脑的连接,可以方便的、大批量的使用,不过PICkit3说到底还是不适合作为产品量产时候使用,具体原因是PICkit3不支持ID的递增烧写,这与实际量产产品的出厂规范不符合(一般产品出厂都需要唯一的ID号)。不过有这个功能在产品的开发过程中还是非常方便的,除了PICkit3上的功能按键,各个LED的状态也是在烧写过程中值得注意的,具体的作用我们将在使用中介绍。

PICkit3调试器的塑料外壳并没有封装的很严实,相反,很容易就拆开了,相信大家对PICkit3调试器内部组成也会比较好奇,一起来看下。

PICkit3调试器PCB板

PICkit3调试器PCB板看上去非常简单,通过mini USB接口供电,而主芯片PIC24系列微控制器则通过输出为3.3V的LDO供电,PCB板载两个EEPROM,一个用于存储调试器自身的信息文件,另一个是用于存储烧录的代码程序,也就是说,在脱机烧录模式下,先将编译完成的代码程序烧录进EEPROM存储,进而可以断开计算机直接使用PICkit3调试器给其他目标板的烧录操作,其接口采用了ICSP调试接口,定义为下图所示。

ICSP调试接口定义

推荐开发板

  • microchip开发工具大促销,包括开发板、调试器、无线扩展模块
  • MPLAB ICD 3 In-Circuit Debugger,最具成本的高速仿真器

PICkit3调试器的微控制器为microchip公司的基于哈佛架构的16位单片机PIC24FJ256GB106,带USB2.0 OTG功能。最大支持16MHz主频,集成256KB Flash、16KB RAM,4个UART、3个SPI、3个I2C、1个16位ADC,3个比较器等外设功能(见下图)。

PICkit3调试器主控制芯片PIC24FJ256GB106

 

PIC24FJ256GB106系统框图

说完PICkit3调试器,我们再瞧瞧其配备的Demo演示板。

DEMO演示板

相较PICkit3调试器,Demo演示板的内容就更少了,可见的几个功能仅有10K可调变阻,8个LED,1个编程连接器接口,除此之外,仅仅是将PIC18F45K20微控制器的引脚全部引出,这样倒是方便喜欢DIY的朋友折腾。

PIC18F45K20属于microchip的8位单片机,同样是采用了哈佛架构,16MHz主频,集成了32K FLASH、1.5KB RAM,256B data EEPROM,一个13通道的10位ADC,2个比较器,1个UART,1个I2C,1个SPI等其它外设功能,具体见下图PIC18F45K20系统框图。

对比如今的微控制器,8位的单片机PIC18F45K20的外设功能就显得非常简洁,不过作为演示板正合适。将PICkit3 Debug Express开发套件的硬件里里外外熟悉了一遍,我们接着就正式使用看看。

PICkit3 Debug Express开发套件使用

PICKIT3调试器的使用必须配合microchip的 IDE开发工具(目前主要有MPLAB以及MPLAB X两种IDE软件版本,下面都将介绍),因为光盘自带的是MPLAB V8.60版本的,我们就先使用这个IDE软件。

从光盘中安装MPLAB IDE V8.60工具,安装完成打开,界面十分简洁,与目前的IDE设计工具界面相去甚远,好在很流畅,先来跑个例程看看,点击Project->open载入光盘中的例程,笔者以Blink LED为例。

打开光盘中的例程文件

Blink LED 汇编源代码

居然还是汇编语言,着时让人惊叹了一把,笔者编译了几次都报错,软件甚至于无响应,提示没有选择正确的编译工具,这时可能是没有选择正确的执行路径,或者没有安装针对PIC8位单片机的编译器而导致的,一种比较牵强的解决办法可以去microchip官网下载针对PIC系列的8位的编译器安装,虽然只是60天的试用版,但胜在免费,当然也可以购买标准版或者专业版,编译速度更快更有效率,不过价格很贵。

推荐开发板

  • MRF24WB0MA Wi-Fi® PICtail™/PICtail Plus子板,评估PIC单片机的Wi-Fi连接
  • ICkit™ 3 Debug Express,性价比高、外型小巧的仿真器

下载完成安装编译器,这时再选择正确的编译工具就可以编译成功了,之后就直接进行下载,我们先将PICkit3调试器上电连接,有新固件更新的提示。

更新PICkit3调试器的固件

更新完固件,将Demo演示板连接到PICkit3调试器,注意连接时候的第一脚顺序。在前面的介绍中,我们知道目标板额外供电接口未被引出,而PICkit3调试器在线编程调试的基础是要求目标板卡上电工作的,目前可以通过MPLAB IDE软件设置通过PICkit3调试器给予板子供电,如下图。

设置通过PICkit调试器给Demo演示板供电

这个电压的选择范围在1.8V~3.6V,因为供电口是直接连接到演示板微控制器的电压,可以参考微控制器的工作电压,太大会损坏芯片,太小芯片无法工作,经过试验,发现实际输出的电压会略小于软件设置的,这可能跟软件算法和压降都有一定关系,所以实际使用中不妨设稍微大一点的电压。

输出电压设置完成后就可以识别到Demo演示板,并且读到演示板的ID号,而演示板上电后也在运行出厂时内置的流水灯程序,并且通过可调变阻器可以控制流水灯显示的快慢。

正确建立调试器与目标板的连接,读到ID

演示板自带的流水灯程序

此时我们也可以将先前编译好的Blink LED程序直接下载进Demo演示板,笔者大概计了下下载时间9s左右,接着笔者又换一开始介绍调试器时候的脱机下载办法。首先在正确连接的情况下点击MPLAB IDE 软件的Programmer->Programmer-to-go->send image in Memony,将程序下载入调试器的EEPROM,软件设置如下图

将软件程序下载入PICkit3调试器的EEPROM中

大概4秒的时间下载完成,之后我们可以移除电源mini USB线与电脑的连接,额外准备一个便携式移动电源,或者直接用5V/1A的电源适配器即可,要求输出电流至少大于100mA维持调试器以及目标板卡的电流,事实上因为我们此次的Demo演示板工作电流小的原因,才能通过调试器供电,而需要调试器供电的目标板卡工作电流不能超过30mA,否则最好使用额外的外部电源给目标板卡供电。

下图则就是脱机下载的3个状态:

下载前,电源LED常亮,Active LED慢闪,状态LED熄灭

PICkit3脱机下载前LED状态指示

按一下PICkit3调试器的功能按键执行脱机下载,下载时,电源LED常亮,Active LED常亮,状态LED快闪

PICkit3脱机下载时LED状态指示

下载完成后,电源LED常亮,Active LED恢复慢闪,状态LED由橙色快闪变为黄色常亮,等待下一次烧录

PICkit3脱机下载后LED状态指示

脱机下载的速度要比联机下载快,仅有了7s的时间,就如笔者先前所说,在开发过程或者小批量试产中,这个脱机下载功能非常的实用。

推荐开发板

  • PIC32 I/O扩展板,为用户提供了对MCU信号的访问、JTAG调试、ICSP™开发
  • MPLAB® ICD 3和Explorer 16工具包,支持Microchip PIC24和PIC32 MCU及dsPIC® DSC系列

不需要使用脱机下载的功能时,只需将调试器再次连接电脑,打开MPLAB IDE软件,将出现的是否要保持脱机下载的对话框点否就可以了,如下图

取消PICkit3调试器的脱机下载

PICkit3调试器除了下载、在线编程,同样可以配合MPLAB IDE软件进行程序代码的debug,不过实用性不是太好,有时会出现无响应、软件假死状态,相比目前市面上流行的Keil、IAR等工具有所欠缺,或许也是鉴于此,microchiop公司设计了另一款更强大的IDE设计工具MPLAB X。

通过microchip官网可以下载MPLAB X,安装完成打开 软件,MPLAB X的界面更加美观以及具有向导性,不会让人觉得有手足无措、不知道该如何用的感觉。不过软件的启动变慢了,将近用了20多s。

MPLAB X IDE开发工具界面

MPLAB X相对于MPLAB一个重大的改变可以说是在建立工程文件的时候细致化,比如你现在PIC系列一个型号的芯片,在设置编译器的工程中会提示你目前有哪些编译器,而哪些编译器你没有安装但支持此系列微控制器的代码的编译,可以参照下图安装XC8编译器前后的设置对比。

安装XC8编译器前

安装XC8编译器后

除了新建项目的设置,MPLAB X更是可以导入MPLAB的工程文件,这就可帮助你从MPLAB IDE V8.XX过渡到MPLAB X版本,完成代码的迁移。先看下通过MPLAB X将之前的程序下载入Demo 演示板,实际操作中发现了一个问题,找不到MPLAB X软件对PICkit3调试器输出电压的设置(事实上是可以的,通过File->Project Properties-》Pickit 3 power选项下),没有办法,暂时只能就将为Demo演示板提供外部供电。

通过MPLAB X下载运行Blink LED程序

不过,现在PIC系列单片机功能变的多了,功耗也随之上去了,而PICkit3提供的输出电流(30mA)有点捉襟见肘了,所以其输出电压的设置需要考虑好板卡的实际功耗再决定是否开启。MPLAB X还是保留了脱机下载的功能设置,具体可以在下载的下拉栏中找到。当然,PICkit3最重要的作用不在于下载,调试才是其根本所在,好在在MPLAB X软件上,调试功能大大改善了,没有在MPLAB上可能有时会出现的软件无响应状况,PICkit3同样如市面上仿真器的特点,具有单步调试、断点调试等功能,有兴趣的朋友可以去买一个好好折腾一番。

在初步体验过MPLAB以及MPLAB X后,两个IDE工具的根本的区别在于思路,见下图

MPLAB IDE V8.00与MPLAB X IDE根本区别所在

两个IDE软件反映出了两种设计的理念,MPLAB在于当调试器与IDE软件选择设置建立连接后,一直会保持这种连接状态,随时都可以进行下载调试等手段,而MPLAB X则是将IDE工具与调试器设置完成后,当需要进行下载、调试会话的情况下,MPLAB X软件才会与调试器建立保持连接,直到调试会话结束。这就好比两个个无线产品,功能一样,但是工作方式是一个是一直保持连接,但是会不断消耗功耗,另一个是在需要的时候才连接,有益于降低功耗,孰优孰劣,一目了然,但然这个例子仅仅是解释MPLAB 与 MPLAB X IDE这两个软件调试的工作原理,不涉及功能。笔者在初步体验了两个软件后也无法评估到底哪个工具好, MPLAB X在功能上有优势,又支持跨平台,如可以在Mac上开发PIC单片机,编辑窗口功能好用(纠错功能),但是速度慢,不支持ICD2,安装前必须安装Java等缺点也明显,在选择使用工具的时候还是按照自己的需求来吧。

小结

介绍了PICkit3 Debug Express开发套件的基本硬件以及配合microchip的IDE工具使用情况,在PIC系列单片机的开发中,PICkit3不失为一个极具性价比的调试工具,小巧的外观、脱机下载功能、更有不同的IDE软件配合,强大的中英文资料参考,而最为重要的,PIC系列单片机的优异可靠性、产品细分化明显等优势得到大批工程师的认可,依托于这些有利的因素,PICkit3调试器无形之中已经站在了巨人的肩膀,而爱板网最新的microchip开发工具促销活动更是进一步将其优势发挥得淋漓尽致,有需求的朋友千万别错过。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
分布式光纤温度传感器(DTS)系统的应用