深入解析Microchip PIC16C5X系列8位CMOS微控制器

电子说

1.4w人已加入

描述

深入解析Microchip PIC16C5X系列8位CMOS微控制器

引言

在电子工程师的日常工作中,微控制器无疑是设计中频繁使用的核心组件。Microchip的PIC16C5X系列8位CMOS微控制器以其低成本、高性能和丰富的特性脱颖而出。本文将深入探讨PIC16C5X系列微控制器的各项特性,为电子工程师在实际项目设计中提供全面的参考。

文件下载:PIC16C56A-20I P.pdf

一、PIC16C5X系列概述

1.1 高性能RISC CPU架构

PIC16C5X系列采用高性能RISC架构,仅需学习33条单字指令,大部分指令单周期执行,仅程序分支为双周期。这种架构使其执行效率大幅提升,相比同价位竞品性能更优。其12位宽指令高度对称,代码压缩比达2:1,显著减少开发时间。

1.2 丰富外设特性与应用场景

该系列具备如实时时钟/计数器(TMR0)、上电复位(POR)、看门狗定时器(WDT)等多种外设特性。适用于从高速汽车、家电电机控制到低功耗遥控收发器等广泛应用场景。EPROM技术使应用程序定制快速便捷,小尺寸封装适合空间受限应用。

1.3 产品类型多样

PIC16C5X系列有多种设备类型,如含EPROM的C类型、扩展电压范围的LC类型、含ROM的CR类型以及扩展电压且含ROM的LCR类型。还有UV可擦除设备用于原型开发,一次性可编程(OTP)设备适用于频繁更改代码或小批量应用,快速周转生产(QTP)和序列化快速周转生产(SQTP)设备适用于工厂生产,以及只读存储器(ROM)设备用于大批量成熟产品。

二、架构剖析

2.1 哈佛架构优势

PIC16C5X采用哈佛架构,程序和数据通过独立总线访问,相比传统冯·诺伊曼架构,显著提高带宽。程序和数据内存分离,使指令和数据字长可不同,12位宽指令实现单字指令,单周期完成12位指令提取。两级流水线使指令提取和执行重叠,除程序分支外,所有指令单周期执行。

2.2 内存组织

2.2.1 程序内存

不同型号PIC16C5X程序内存容量不同,如PIC16C54/CR54和PIC16C55寻址512 x 12,PIC16C56/CR56寻址1K x 12,PIC16C57/CR57和PIC16C58/CR58寻址2K x 12。所有程序内存均为内部内存,访问超出物理地址会回绕。

2.2.2 数据内存

数据内存由寄存器和RAM组成,分为特殊功能寄存器和通用寄存器。特殊功能寄存器包括TMR0、程序计数器(PC)、状态寄存器等,用于控制设备操作;通用寄存器用于数据和控制信息存储。不同型号数据内存组织有差异,部分型号采用存储体方案扩展通用寄存器寻址范围。

2.3 指令执行与流水线

指令周期由四个Q周期(Q1、Q2、Q3和Q4)组成。指令提取和执行采用流水线方式,提取占一个指令周期,解码和执行占另一个指令周期,实际每条指令单周期执行。程序分支指令因需刷新流水线,需两个周期完成。

三、振荡器配置

3.1 振荡器类型选择

PIC16C5X可在四种振荡器模式下工作,通过配置FOSC1:FOSC0两位选择:

  • LP(低功耗晶体):适用于对功耗要求高的应用。
  • XT(晶体/谐振器):标准晶体/谐振器模式,稳定性好。
  • HS(高速晶体/谐振器):用于高速应用场景。
  • RC(电阻/电容):成本低,适用于对定时精度要求不高的应用。

3.2 晶体振荡器与陶瓷谐振器

在XT、LP或HS模式下,需将晶体或陶瓷谐振器连接到OSC1/CLKIN和OSC2/CLKOUT引脚。使用平行切割晶体,避免使用串联切割晶体导致频率超出规格。也可使用外部时钟源驱动OSC1/CLKIN引脚。同时,不同频率的晶体或谐振器需选择合适的外部电容,可参考相关电容选择表。

3.3 外部晶体振荡器电路

可使用预封装振荡器或带TTL门的简单振荡器电路作为外部晶体振荡器。预封装振荡器工作范围宽、稳定性好;设计良好的晶体振荡器搭配TTL门也能提供良好性能,有并联谐振和串联谐振两种电路类型。

3.4 RC振荡器

RC振荡器适用于对定时不敏感的应用,可节省成本。其频率受电源电压、电阻(REXT)、电容(CEXT)值和工作温度影响,不同封装的引脚框架电容差异也会影响频率。建议REXT在3 kΩ - 100 kΩ之间,CEXT大于20 pF以保证稳定性。

四、复位机制

4.1 复位方式

PIC16C5X可通过多种方式复位:

  • 上电复位(POR):芯片内置POR电路,多数上电情况提供内部复位,将MCLR/VPP引脚连接到VDD即可使用。
  • MCLR复位:正常操作和从SLEEP唤醒时可使用MCLR引脚复位。
  • 看门狗定时器复位(WDT):正常操作和从SLEEP唤醒时,WDT超时会触发复位。

4.2 上电复位细节

POR电路与设备复位定时器(DRT)密切相关。上电时,复位锁存器置位,DRT复位并开始计数,约18 ms超时后复位锁存器复位,结束内部复位信号。若VDD上电过慢,可能需外部RC电路延长POR延迟时间。

4.3 欠压复位

设备电源(VDD)下降但未到零又恢复时,需进行复位。可构建外部欠压保护电路,如使用齐纳二极管、晶体管或Microchip的MCP809微控制器监控器。

五、I/O端口

5.1 I/O端口概述

I/O寄存器可通过程序控制读写,复位时所有I/O端口设为输入。PORTA为4位I/O寄存器,PORTB为8位I/O寄存器,PORTC在部分型号为I/O寄存器,部分为通用寄存器。

5.2 TRIS寄存器

TRIS寄存器用于控制I/O端口输出驱动。执行TRIS f指令将W寄存器内容加载到TRIS寄存器,'1'使对应输出驱动为高阻态(输入模式),'0'使输出数据锁存器内容输出到选定引脚。

5.3 I/O编程注意事项

5.3.1 双向I/O端口

部分指令为读-修改-写操作,应用于双向I/O端口时需谨慎。如对PORTB某位置位操作,会读取整个PORTB到CPU,修改后写回,可能覆盖其他引脚输入信号。

5.3.2 连续操作

对I/O端口写操作在指令周期结束时发生,读操作需数据在指令周期开始时有效。因此,写后读操作需确保引脚电压稳定,可插入NOP指令。

六、Timer0模块

6.1 Timer0模块特性

Timer0模块具有8位定时器/计数器寄存器TMR0,可读可写;8位软件可编程预分频器;可选择内部或外部时钟源,外部时钟源可选择上升或下降沿触发。

6.2 外部时钟使用

使用外部时钟源时,需满足一定要求。无预分频器时,T0CKI需高、低电平至少2TOSC(含20 ns RC延迟);有预分频器时,T0CKI周期至少为4TOSC(含40 ns RC延迟)除以预分频值,且高、低电平不低于10 ns。

6.3 预分频器操作

预分频器可分配给Timer0模块或看门狗定时器(WDT),但不能同时使用。通过PSA和PS<2:0>位控制预分频器分配和分频比。分配给Timer0模块时,写TMR0寄存器会清除预分频器;分配给WDT时,CLRWDT指令会清除预分频器和WDT。

七、CPU特殊特性

7.1 配置位

配置位用于选择设备配置,包括振荡器类型选择和看门狗定时器使能位,部分设备还有代码保护位。

7.2 看门狗定时器(WDT)

WDT是独立的片上RC振荡器,即使主时钟停止仍可运行。可通过配置位WDTE永久禁用。无预分频器时,WDT标称超时周期为18 ms,可通过预分频器延长超时周期。CLRWDT指令可清除WDT和预分频器,SLEEP指令会复位WDT和预分频器。

7.3 掉电模式(SLEEP)

执行SLEEP指令进入掉电模式,WDT清零但继续运行,TO位置位,PD位清零,振荡器驱动关闭,I/O端口保持原有状态。可通过外部复位或WDT超时唤醒,唤醒时WDT清零。

7.4 程序验证与代码保护

未编程代码保护位时,可读取片上程序内存进行验证。不建议对开窗设备进行代码保护。

7.5 ID位置

四个内存位置作为ID位置,可存储校验和或代码识别号,正常执行时不可访问,编程/验证时可读可写。

八、指令集

8.1 指令分类

PIC16C5X指令集分为字节操作、位操作、立即数和控制操作。所有指令单周期执行,条件测试为真或程序计数器改变时需两个周期。

8.2 指令示例

以ADDWF指令为例,将W寄存器和指定寄存器内容相加,结果可存储在W寄存器或指定寄存器中,影响C、DC、Z状态位。

九、开发支持

9.1 开发工具

PIC16C5X系列有丰富的开发工具,包括集成开发环境(MPLAB IDE)、汇编器/编译器/链接器(MPASM、MPLAB C17和C18)、模拟器(MPLAB SIM)、仿真器(MPLAB ICE、ICEPIC)、在线调试器(MPLAB ICD)、设备编程器(PRO MATE II、PICSTART Plus)和低成本演示板(PICDEM 1、2、3、17)等。

9.2 MPLAB IDE

MPLAB IDE是基于Windows的应用程序,提供调试工具接口、全功能编辑器、项目管理器等,支持编辑、编译、下载和调试代码,方便开发者在不同调试工具间切换。

十、电气特性

10.1 绝对最大额定值

不同型号PIC16C5X有相应的绝对最大额定值,包括环境温度、存储温度、电压、功耗、电流等限制,超出这些限制可能导致设备永久损坏。

10.2 DC特性

不同温度范围(商业、工业、扩展)下,PIC16C5X的DC特性不同,包括电源电压、RAM数据保留电压、上电复位电压和上升速率、电源电流、掉电电流等。

10.3 交流特性

交流特性包括外部时钟频率、周期、时钟高低时间、上升下降时间等,不同振荡器模式下要求不同。

十一、封装信息

PIC16C5X有多种封装类型,如18引脚PDIP、28引脚PDIP、18引脚SOIC、28引脚SOIC、20引脚SSOP、28引脚SSOP、18引脚CERDIP窗口封装和28引脚CERDIP窗口封装等,每种封装有详细的尺寸和引脚信息。

总结

Microchip的PIC16C5X系列8位CMOS微控制器凭借其高性能RISC架构、丰富的外设特性、多样的设备类型和全面的开发支持,成为电子工程师在各种应用场景中的理想选择。在实际设计中,工程师需根据具体需求选择合适的型号和配置,充分发挥其优势,同时注意各项电气特性和编程注意事项,确保设计的稳定性和可靠性。你在使用PIC16C5X系列微控制器过程中遇到过哪些问题呢?欢迎在评论区分享交流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分