电子说
在电子工程师的日常工作中,微控制器无疑是设计中频繁使用的核心组件。Microchip的PIC16C5X系列8位CMOS微控制器以其低成本、高性能和丰富的特性脱颖而出。本文将深入探讨PIC16C5X系列微控制器的各项特性,为电子工程师在实际项目设计中提供全面的参考。
文件下载:PIC16C56A-20I P.pdf
PIC16C5X系列采用高性能RISC架构,仅需学习33条单字指令,大部分指令单周期执行,仅程序分支为双周期。这种架构使其执行效率大幅提升,相比同价位竞品性能更优。其12位宽指令高度对称,代码压缩比达2:1,显著减少开发时间。
该系列具备如实时时钟/计数器(TMR0)、上电复位(POR)、看门狗定时器(WDT)等多种外设特性。适用于从高速汽车、家电电机控制到低功耗遥控收发器等广泛应用场景。EPROM技术使应用程序定制快速便捷,小尺寸封装适合空间受限应用。
PIC16C5X系列有多种设备类型,如含EPROM的C类型、扩展电压范围的LC类型、含ROM的CR类型以及扩展电压且含ROM的LCR类型。还有UV可擦除设备用于原型开发,一次性可编程(OTP)设备适用于频繁更改代码或小批量应用,快速周转生产(QTP)和序列化快速周转生产(SQTP)设备适用于工厂生产,以及只读存储器(ROM)设备用于大批量成熟产品。
PIC16C5X采用哈佛架构,程序和数据通过独立总线访问,相比传统冯·诺伊曼架构,显著提高带宽。程序和数据内存分离,使指令和数据字长可不同,12位宽指令实现单字指令,单周期完成12位指令提取。两级流水线使指令提取和执行重叠,除程序分支外,所有指令单周期执行。
不同型号PIC16C5X程序内存容量不同,如PIC16C54/CR54和PIC16C55寻址512 x 12,PIC16C56/CR56寻址1K x 12,PIC16C57/CR57和PIC16C58/CR58寻址2K x 12。所有程序内存均为内部内存,访问超出物理地址会回绕。
数据内存由寄存器和RAM组成,分为特殊功能寄存器和通用寄存器。特殊功能寄存器包括TMR0、程序计数器(PC)、状态寄存器等,用于控制设备操作;通用寄存器用于数据和控制信息存储。不同型号数据内存组织有差异,部分型号采用存储体方案扩展通用寄存器寻址范围。
指令周期由四个Q周期(Q1、Q2、Q3和Q4)组成。指令提取和执行采用流水线方式,提取占一个指令周期,解码和执行占另一个指令周期,实际每条指令单周期执行。程序分支指令因需刷新流水线,需两个周期完成。
PIC16C5X可在四种振荡器模式下工作,通过配置FOSC1:FOSC0两位选择:
在XT、LP或HS模式下,需将晶体或陶瓷谐振器连接到OSC1/CLKIN和OSC2/CLKOUT引脚。使用平行切割晶体,避免使用串联切割晶体导致频率超出规格。也可使用外部时钟源驱动OSC1/CLKIN引脚。同时,不同频率的晶体或谐振器需选择合适的外部电容,可参考相关电容选择表。
可使用预封装振荡器或带TTL门的简单振荡器电路作为外部晶体振荡器。预封装振荡器工作范围宽、稳定性好;设计良好的晶体振荡器搭配TTL门也能提供良好性能,有并联谐振和串联谐振两种电路类型。
RC振荡器适用于对定时不敏感的应用,可节省成本。其频率受电源电压、电阻(REXT)、电容(CEXT)值和工作温度影响,不同封装的引脚框架电容差异也会影响频率。建议REXT在3 kΩ - 100 kΩ之间,CEXT大于20 pF以保证稳定性。
PIC16C5X可通过多种方式复位:
POR电路与设备复位定时器(DRT)密切相关。上电时,复位锁存器置位,DRT复位并开始计数,约18 ms超时后复位锁存器复位,结束内部复位信号。若VDD上电过慢,可能需外部RC电路延长POR延迟时间。
设备电源(VDD)下降但未到零又恢复时,需进行复位。可构建外部欠压保护电路,如使用齐纳二极管、晶体管或Microchip的MCP809微控制器监控器。
I/O寄存器可通过程序控制读写,复位时所有I/O端口设为输入。PORTA为4位I/O寄存器,PORTB为8位I/O寄存器,PORTC在部分型号为I/O寄存器,部分为通用寄存器。
TRIS寄存器用于控制I/O端口输出驱动。执行TRIS f指令将W寄存器内容加载到TRIS寄存器,'1'使对应输出驱动为高阻态(输入模式),'0'使输出数据锁存器内容输出到选定引脚。
部分指令为读-修改-写操作,应用于双向I/O端口时需谨慎。如对PORTB某位置位操作,会读取整个PORTB到CPU,修改后写回,可能覆盖其他引脚输入信号。
对I/O端口写操作在指令周期结束时发生,读操作需数据在指令周期开始时有效。因此,写后读操作需确保引脚电压稳定,可插入NOP指令。
Timer0模块具有8位定时器/计数器寄存器TMR0,可读可写;8位软件可编程预分频器;可选择内部或外部时钟源,外部时钟源可选择上升或下降沿触发。
使用外部时钟源时,需满足一定要求。无预分频器时,T0CKI需高、低电平至少2TOSC(含20 ns RC延迟);有预分频器时,T0CKI周期至少为4TOSC(含40 ns RC延迟)除以预分频值,且高、低电平不低于10 ns。
预分频器可分配给Timer0模块或看门狗定时器(WDT),但不能同时使用。通过PSA和PS<2:0>位控制预分频器分配和分频比。分配给Timer0模块时,写TMR0寄存器会清除预分频器;分配给WDT时,CLRWDT指令会清除预分频器和WDT。
配置位用于选择设备配置,包括振荡器类型选择和看门狗定时器使能位,部分设备还有代码保护位。
WDT是独立的片上RC振荡器,即使主时钟停止仍可运行。可通过配置位WDTE永久禁用。无预分频器时,WDT标称超时周期为18 ms,可通过预分频器延长超时周期。CLRWDT指令可清除WDT和预分频器,SLEEP指令会复位WDT和预分频器。
执行SLEEP指令进入掉电模式,WDT清零但继续运行,TO位置位,PD位清零,振荡器驱动关闭,I/O端口保持原有状态。可通过外部复位或WDT超时唤醒,唤醒时WDT清零。
未编程代码保护位时,可读取片上程序内存进行验证。不建议对开窗设备进行代码保护。
四个内存位置作为ID位置,可存储校验和或代码识别号,正常执行时不可访问,编程/验证时可读可写。
PIC16C5X指令集分为字节操作、位操作、立即数和控制操作。所有指令单周期执行,条件测试为真或程序计数器改变时需两个周期。
以ADDWF指令为例,将W寄存器和指定寄存器内容相加,结果可存储在W寄存器或指定寄存器中,影响C、DC、Z状态位。
PIC16C5X系列有丰富的开发工具,包括集成开发环境(MPLAB IDE)、汇编器/编译器/链接器(MPASM、MPLAB C17和C18)、模拟器(MPLAB SIM)、仿真器(MPLAB ICE、ICEPIC)、在线调试器(MPLAB ICD)、设备编程器(PRO MATE II、PICSTART Plus)和低成本演示板(PICDEM 1、2、3、17)等。
MPLAB IDE是基于Windows的应用程序,提供调试工具接口、全功能编辑器、项目管理器等,支持编辑、编译、下载和调试代码,方便开发者在不同调试工具间切换。
不同型号PIC16C5X有相应的绝对最大额定值,包括环境温度、存储温度、电压、功耗、电流等限制,超出这些限制可能导致设备永久损坏。
不同温度范围(商业、工业、扩展)下,PIC16C5X的DC特性不同,包括电源电压、RAM数据保留电压、上电复位电压和上升速率、电源电流、掉电电流等。
交流特性包括外部时钟频率、周期、时钟高低时间、上升下降时间等,不同振荡器模式下要求不同。
PIC16C5X有多种封装类型,如18引脚PDIP、28引脚PDIP、18引脚SOIC、28引脚SOIC、20引脚SSOP、28引脚SSOP、18引脚CERDIP窗口封装和28引脚CERDIP窗口封装等,每种封装有详细的尺寸和引脚信息。
Microchip的PIC16C5X系列8位CMOS微控制器凭借其高性能RISC架构、丰富的外设特性、多样的设备类型和全面的开发支持,成为电子工程师在各种应用场景中的理想选择。在实际设计中,工程师需根据具体需求选择合适的型号和配置,充分发挥其优势,同时注意各项电气特性和编程注意事项,确保设计的稳定性和可靠性。你在使用PIC16C5X系列微控制器过程中遇到过哪些问题呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !