PIC14000:高性能可编程混合信号控制器的全面解析

电子说

1.4w人已加入

描述

PIC14000:高性能可编程混合信号控制器的全面解析

在电子设计领域,选择一款合适的微控制器对于项目的成功至关重要。PIC14000作为一款28引脚的可编程混合信号控制器,凭借其丰富的特性和出色的性能,在众多应用场景中展现出了强大的优势。今天,我们就来深入探讨一下PIC14000的各个方面。

文件下载:PIC14000T-04/SS.pdf

一、总体概述

PIC14000具有中到高分辨率的A/D转换(10到16位)、温度传感、闭环充电控制、串行通信和低功耗运行等特点。它采用RISC哈佛架构CPU,拥有独立的14位指令总线和8位数据总线,两级指令流水线使得除程序分支外的所有指令都能在单周期内执行,总共只有35条单字指令,易于学习。与其他8位微控制器相比,PIC16/17微控制器通常能实现2:1的代码压缩和4:1的速度提升。

具体特性

  1. 内存方面:拥有4K的EPROM和192字节的RAM。
  2. I/O引脚:具备22个I/O引脚,可实现灵活的输入输出控制。
  3. 模拟外设:包含8个外部模拟输入通道(其中两个带有电平转换输入)、6个内部模拟输入通道、2个带可编程参考的比较器、一个带隙参考、一个内部温度传感器和一个可编程电流源。
  4. 通信接口:通过多路复用器支持两个独立的I²C串行端口。
  5. 振荡器选项:提供内部4 MHz振荡器或外部晶体振荡器两种选择,使用内部振荡器无需外部组件。
  6. 定时器:包含看门狗定时器(WDT)、Timer0(TMR0)和A/D定时器(ADTMR)。WDT有自己的片上RC振荡器,可防止软件锁定;TMR0是一个通用的8位定时器/计数器,带有8位预分频器,可通过RC3/T0CKI引脚外部时钟;ADTMR主要用于斜坡A/D转换器,也可作为通用定时器,并有一个相关的捕获寄存器用于测量事件之间的时间。
  7. 低电压检测:内部低电压检测电路可跟踪电压水平,检测到低电压时,PIC14000可保存运行状态并进入空闲状态。
  8. 校准功能:内部带隙参考用于校准模拟外设的测量,校准因子存储在EPROM中,可实现高精度测量。
  9. 节能模式:提供SLEEP和HIBERNATE两种节能模式,可通过中断或复位唤醒。
  10. 封装类型:UV可擦除的CERDIP封装版本适用于代码开发,一次性可编程(OTP)版本适合任何规模的生产。

应用场景

PIC14000非常适合电池充电、容量监测和数据记录等应用。其EPROM技术使应用程序的定制(如电池特性、功能集等)快速便捷,小尺寸封装使其在空间受限的应用中表现出色。此外,低成本、低功耗、高性能、易用性和I/O灵活性使其在温度监测/控制等其他应用中也具有很强的通用性。

二、设备类型

UV可擦除设备

UV可擦除版本采用CERDIP封装,非常适合原型开发和试点项目。它可以被擦除并重新编程到任何配置模式,但需要注意的是,擦除设备也会擦除预编程的校准因子,更多信息可参考AN621。Microchip的PICSTART、PICSTART - PLUS和PRO MATE程序员都支持PIC14000的编程,也有第三方程序员可供选择。

一次性可编程(OTP)设备

OTP设备对于需要频繁更新代码或小批量应用的客户非常有用。它们采用塑料封装,用户只能对其进行一次编程,除了程序内存外,还必须对配置位进行编程。

快速周转生产(QTP)设备

Microchip为工厂生产订单提供QTP编程服务,适用于选择不自行编程中高数量单元且代码模式已稳定的用户。这些设备与OTP设备相同,但所有EPROM位置和熔丝选项已由工厂编程。在生产发货前,需要进行某些代码和原型验证程序,具体细节可联系当地Microchip技术销售办公室。

序列号编程(SM)设备

Microchip提供一种独特的编程服务,为每个设备的几个用户定义位置编程不同的序列号。序列号可以是随机、伪随机或顺序的,串行编程使每个设备都有一个唯一的编号,可作为入口代码、密码或ID号。

三、架构概述

内存寻址

PIC14000可寻址4K x 14的程序内存,所有程序内存都在内部。它可以直接或间接寻址其寄存器文件或数据内存,所有特殊功能寄存器(包括程序计数器)都映射在数据内存中。其正交指令集允许使用任何寻址模式对任何寄存器执行任何操作,编程简单高效,学习曲线大大降低。

ALU运算

PIC14000包含一个8位ALU和工作寄存器,ALU可在工作寄存器和任何寄存器文件之间执行算术和布尔函数,能够进行加法、减法、移位和逻辑运算。算术运算通常采用二进制补码形式,在双操作数指令中,一个操作数通常是工作寄存器(W寄存器),另一个操作数是文件寄存器或立即常量;在单操作数指令中,操作数是W寄存器或文件寄存器。ALU的运算结果可能会影响STATUS寄存器中的Carry(C)、Digit Carry(DC)和Zero(Z)位。

时钟方案和指令周期

时钟输入(来自OSC1或内部振荡器)在内部被4分频,生成四个非重叠的正交时钟Q1、Q2、Q3和Q4。程序计数器(PC)在每个Q1递增,指令在Q4从程序内存中取出并锁存到指令寄存器,然后在接下来的Q1到Q4期间进行解码和执行。除程序分支外,所有指令都是单周期的,程序分支需要两个周期,因为在获取和执行新指令时,已获取的指令会从流水线中“刷新”。

指令流程和流水线

一个“指令周期”由四个Q周期(Q1、Q2、Q3和Q4)组成。指令获取和执行采用流水线方式,获取需要一个指令周期,解码和执行需要另一个指令周期,但由于流水线的存在,每个指令实际上在一个周期内执行。如果指令导致程序计数器改变(如GOTO),则需要两个周期来完成该指令。

四、内存组织

程序内存组织

PIC14000有一个13位的程序计数器,可寻址8K x 14的程序内存空间,但实际只实现了前4K x 14(0000 - 0FFFh)。访问超出实际实现地址的位置会导致回绕。复位向量位于0000h,中断向量位于0004h。4096字的程序内存空间分为地址向量(0000h - 0004h)、程序内存页0(0005h - 07FFH)、程序内存页1(0800h - 0FBFh)和校准空间(64字,0FC0h - 0FFFh)。校准空间用于存储校准模拟测量的常量和因子。

数据内存组织

数据内存分为两个存储体,包含通用寄存器和特殊功能寄存器。通过STATUS寄存器中的RP0位选择存储体,RP0位清零选择Bank0(00h - 7Fh),置位选择Bank1(80h - FFh)。每个存储体最多扩展到7Fh(128字节),前32个位置保留给特殊功能寄存器,一些特殊功能寄存器在两个存储体中都有映射。通用寄存器实现为静态RAM,位于地址20h - 7Fh和A0 - FF。

特殊功能寄存器

特殊功能寄存器用于CPU和外设功能控制设备的操作,这些寄存器是静态RAM。其中,STATUS寄存器包含ALU的算术状态、复位状态和数据内存的存储体选择位。需要注意的是,STATUS寄存器作为指令目标时,对Z、DC或C位的写入是禁用的,TO和PD位也不可写,因此建议仅使用BCF、BSF、SWAPF指令来更改STATUS寄存器。

PIC14000凭借其丰富的功能和灵活的架构,为电子工程师提供了一个强大的工具。在实际应用中,我们需要根据具体需求合理选择设备类型和配置,充分发挥其性能优势。你在使用PIC14000或其他类似微控制器时遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。

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

全部0条评论

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

×
20
完善资料,
赚取积分