电子说
在电子设计领域,选择一款合适的微控制器对于项目的成功至关重要。PIC14000作为一款28引脚的可编程混合信号控制器,凭借其丰富的特性和出色的性能,在众多应用场景中展现出了强大的优势。今天,我们就来深入探讨一下PIC14000的各个方面。
文件下载:PIC14000T-04/SS.pdf
PIC14000具有中到高分辨率的A/D转换(10到16位)、温度传感、闭环充电控制、串行通信和低功耗运行等特点。它采用RISC哈佛架构CPU,拥有独立的14位指令总线和8位数据总线,两级指令流水线使得除程序分支外的所有指令都能在单周期内执行,总共只有35条单字指令,易于学习。与其他8位微控制器相比,PIC16/17微控制器通常能实现2:1的代码压缩和4:1的速度提升。
PIC14000非常适合电池充电、容量监测和数据记录等应用。其EPROM技术使应用程序的定制(如电池特性、功能集等)快速便捷,小尺寸封装使其在空间受限的应用中表现出色。此外,低成本、低功耗、高性能、易用性和I/O灵活性使其在温度监测/控制等其他应用中也具有很强的通用性。
UV可擦除版本采用CERDIP封装,非常适合原型开发和试点项目。它可以被擦除并重新编程到任何配置模式,但需要注意的是,擦除设备也会擦除预编程的校准因子,更多信息可参考AN621。Microchip的PICSTART、PICSTART - PLUS和PRO MATE程序员都支持PIC14000的编程,也有第三方程序员可供选择。
OTP设备对于需要频繁更新代码或小批量应用的客户非常有用。它们采用塑料封装,用户只能对其进行一次编程,除了程序内存外,还必须对配置位进行编程。
Microchip为工厂生产订单提供QTP编程服务,适用于选择不自行编程中高数量单元且代码模式已稳定的用户。这些设备与OTP设备相同,但所有EPROM位置和熔丝选项已由工厂编程。在生产发货前,需要进行某些代码和原型验证程序,具体细节可联系当地Microchip技术销售办公室。
Microchip提供一种独特的编程服务,为每个设备的几个用户定义位置编程不同的序列号。序列号可以是随机、伪随机或顺序的,串行编程使每个设备都有一个唯一的编号,可作为入口代码、密码或ID号。
PIC14000可寻址4K x 14的程序内存,所有程序内存都在内部。它可以直接或间接寻址其寄存器文件或数据内存,所有特殊功能寄存器(包括程序计数器)都映射在数据内存中。其正交指令集允许使用任何寻址模式对任何寄存器执行任何操作,编程简单高效,学习曲线大大降低。
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或其他类似微控制器时遇到过哪些问题呢?欢迎在评论区分享你的经验和见解。
全部0条评论
快来发表一下你的评论吧 !