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的速度提升。
具体特性
- 内存方面:拥有4K的EPROM和192字节的RAM。
- I/O引脚:具备22个I/O引脚,可实现灵活的输入输出控制。
- 模拟外设:包含8个外部模拟输入通道(其中两个带有电平转换输入)、6个内部模拟输入通道、2个带可编程参考的比较器、一个带隙参考、一个内部温度传感器和一个可编程电流源。
- 通信接口:通过多路复用器支持两个独立的I²C串行端口。
- 振荡器选项:提供内部4 MHz振荡器或外部晶体振荡器两种选择,使用内部振荡器无需外部组件。
- 定时器:包含看门狗定时器(WDT)、Timer0(TMR0)和A/D定时器(ADTMR)。WDT有自己的片上RC振荡器,可防止软件锁定;TMR0是一个通用的8位定时器/计数器,带有8位预分频器,可通过RC3/T0CKI引脚外部时钟;ADTMR主要用于斜坡A/D转换器,也可作为通用定时器,并有一个相关的捕获寄存器用于测量事件之间的时间。
- 低电压检测:内部低电压检测电路可跟踪电压水平,检测到低电压时,PIC14000可保存运行状态并进入空闲状态。
- 校准功能:内部带隙参考用于校准模拟外设的测量,校准因子存储在EPROM中,可实现高精度测量。
- 节能模式:提供SLEEP和HIBERNATE两种节能模式,可通过中断或复位唤醒。
- 封装类型: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或其他类似微控制器时遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
-
微控制器
+关注
关注
49文章
8830浏览量
165578 -
PIC14000
+关注
关注
0文章
3浏览量
5854
发布评论请先 登录
MAX5548:高性能8位可编程DAC的技术解析与应用指南
PIC10F200/202/204/206:低成本高性能8位微控制器的全面解析
MAX11300:20端口可编程混合信号I/O芯片的深度解析
AD7147:电容触摸可编程控制器的技术解析与应用指南
解析AD7142电容触摸传感器可编程控制器:特性、应用与设计要点
PIC16HV540:高性能8位CMOS微控制器的深度解析
MAX11312:12端口可编程混合信号I/O芯片的深度解析
ADSP - 21992:高性能混合信号 DSP 控制器的深度剖析
新品 | StickS3,紧凑高性能可编程控制器
PIC14000:高性能可编程混合信号控制器的全面解析
评论