Microchip发布PIC16F13145系列MCU,促进可定制逻辑的新发展
为了满足嵌入式应用日益增长的定制化需求,Microchip Technology推出了PIC16F13145系列单片机(MCU),提供量身定制的硬件解决方案。该系列MCU配备了全新的独立于内核的外设(CIP),即可配置逻辑块模块,可直接在MCU内创建基于硬件的定制组合逻辑功能。由于集成到MCU,CLB使设计人员能够优化嵌入式控制系统的速度和响应时间,无需外部逻辑元件,从而降低了物料清单(BOM)成本和功耗。图形接口工具可帮助使用CLB综合定制逻辑设计,进一步简化了流程。PIC16F13145系列专为利用定制协议、任务排序或 I/O 控制来管理工业和汽车领域实时控制系统的应用而设计。
PIC16F13145
Microchip负责8位单片机业务部的副总裁Greg Robinson表示:“可配置逻辑单元 (CLC)模块集成到Microchip MCU中已有十多年历史,新发布的CLB模块是我们可定制逻辑产品发展的新阶段,使该系列MCU能够用于通常属于独立可编程逻辑器件领域的应用。当今市场上很少有单芯片解决方案能像PIC16F131系列MCU那样解决嵌入式工程师的设计难题。新型MCU可处理定制逻辑功能,最大限度地降低功耗,简化设计,并能适应不断变化的设计要求。”
CLB工具
由于CLB的运行不依赖于CPU的时钟速度,因此能改善系统的延迟,并提供低功耗解决方案。CLB可用于在CPU休眠模式下做出逻辑决策,从而进一步降低功耗和软件依赖性。PIC16F13145 MCU还包括一个具有内置计算功能的快速10位模数转换器(ADC)、一个8位数模转换器 (DAC)、快速比较器、8位和16位定时器以及串行通信模块(I2C和SPI),从而可以在没有CPU的情况下执行许多系统级任务。该系列将提供从8引脚到20引脚的各种封装。
CLB Block Diagram
开发工具
PIC16F13145系列MCU得到MPLAB代码配置器(MCC)支持 ,这是MPLAB X IDE中一个免费软件插件,提供了一个基于GUI的简便接口,用于配置器件和板载外设(包括CLB)。该接口可为高级用户提供使用硬件描述语言(HDL)的选项,通过原理图设计所需的定制逻辑,从而缩短开发时间。新的合成器有两种选择:集成到MCC,以及在线方式logic.microchip.com。PIC16F131 Curiosity Nano评估工具包为使用PIC16F131系列进行设计提供全面支持,可协调实现无缝嵌入式开发体验,缩短产品上市时间。
供货与定价
PIC16F131 MCU每件售价0.47美元,10,000件起售。
(8533695)
PIC系列单片机配置字详细介绍(长期实践总结的压箱底资料)
(注:本文档主要根据PIC16F193X数据手册编写,对于其他型号的单片机,其配置字可能略有不同,此外本文部分参考了PIC18F78K22数据手册,因而部分注释了两个系列单片机的区别)
1、FCMEN:故障保护时钟监视器使能位
FCMEN_ON:使能 FCMEN_OFF: 禁止(红色表示本人使用PIC单片机所选择的配置,下同)
详细说明:在使器件能在外部振荡器发生故障时继续运行。 FSCM 可以检测当振荡器起振定时器(OST)延时结束后的任何时刻发生的振荡器故障。
如图所示,故障检测器模块内部有一个锁存器。在外部时钟的每个下降沿上将锁存器置1。 在采样时钟的每个上升沿将锁存器清零。 如果采样时钟的一个完整半周期在外部时钟变为低电平之前结束,则将检测到故障。
FC时钟监控框图
FC时钟监控时序
结论:若外部时钟在采样时钟为高电平时间内(约1ms)没有下降沿,则当采样时钟为低电平时认为时钟故障。
注:外部时钟没有经过PLL倍频
2、IESO:内部/外部时钟切换位
IESO_ON:使能切换 IESO_OFF:禁止切换
详细说明:使能后,当外部晶振出错后,单片机会自动切换到内部RC震荡电路作为其工作时钟。
16F1936资料:当MCU上电复位或从休眠模式唤醒时,由于外部震荡电路可能还没稳定,此时可允许先使用内部时钟,然后再切换到外部时钟。
3、CLKOUTEN:时钟输出使能位
CLKOUTEN_ON: 使能 CLKOUTEN_OFF: 禁止
详细说明:使能RA6/CLKOUT 引脚上的CLKOUT 功能,若MPU连接外部石英晶振或陶瓷谐振器,不能使用该功能
4、BOREN<1:0>:欠压复位使能位
BOREN_ON:使能BOR
BOREN_NSLEEP: BOR 在工作时使能,在休眠时禁止
BOREN_SBODEN: BOR 由PCON 寄存器的SBOREN 位控制
BOREN_OFF: 禁止
详细说明:当Vdd 到达可选的最低电平时, BOR 电路将器件保持在复位状态。 在BOR 和POR 之间的整个电压范围内,可实现执行保护功能。可配合PWRT(复位延迟)使用。
BOR原理
5、CPD:数据代码保护位
CPD_ON:使能 CPD_OFF:禁止
详细说明:使能/禁止数据存储器代码保护,擦除操作期间关闭代码保护时,将擦除整个数据EEPROM 的内容。在数据存储器受代码保护时,只有CPU 可对数据EEPROM进行读写操作。
6、CP:代码保护位
CP_ON:使能 CP_OFF:禁止
详细说明:使能/禁止程序存储器代码保护,当关闭代码保护时,将擦除整个程序存储器的内容。使能后,禁止对程序存取器的外部读写操作,若进行读操作,返回0。
7、MCLRE:MCLR/VPP 引脚功能选择位
MCLRE_ON:使能 MCLRE_OFF:禁止
详细说明:仅当LVP=0时有效,外部复位
MCLRE引脚
8、PWRTE:上电延 时定时器使能位
(如果电源上电慢,防止无法启动,MCU必须具有该功能,且必须使能)
PWRET_ON:使能 PWRET_OFF:禁止
详细说明:上电、欠压复位后提供64ms的延迟。
(注:16F1936,16F1946中仅说有64ms的延迟,18F87K22资料中有如下说明:采用LF-INTOSC时钟(31.25KHz,周期为32us)计数,计数寄存器为11bits,因而延迟时间为2048*32us=65.5ms)
复位原理图
9、WDTE<1:0>:看门狗定时器使能位
WDTE_ON:使能
WDTE_NSLEEP:在运行时使能,休眠时禁止
WDTE_SWDTEN:由WDTCON 寄存器中的SWDTEN 位控制
WDTE_OFF:禁止
详细说明:看门狗定时器是系统定时器,如果固件在超时周期内未发出CLRWDT 指令,看门狗定时器将产生复位。
看门狗原理图
通过配置WDTPS,可是设置复位时间2ms-256s(18F为4ms-4196s)。
(注:任何复位,进入休眠模式,从休眠模式唤醒,振荡器故障都会使WDT清0,且复位后默认超时周期为2秒)
10、FOSC<2:0>:振荡器选择位
111 = ECH:外部时钟,高功耗模式:RA7/OSC1/CLKIN 引脚为CLKIN 功能
110 = ECM:外部时钟,中等功耗模式:RA7/OSC1/CLKIN 引脚为CLKIN 功能
101 = ECL:外部时钟,低功耗模式:RA7/OSC1/CLKIN 引脚为CLKIN 功能
100 = INTOSC振荡器:RA7/OSC1/CLKIN 引脚为I/O 功能
011 = EXTRC 振荡器:RA7/OSC1/CLKIN 引脚为RC 功能
010 = HS振荡器:高速晶振/ 谐振器连接到RA6/OSC2/CLKOUT 和RA7/OSC1/CLKIN 引脚
001 = XT振荡器:晶振/ 谐振器连接到RA6/OSC2/CLKOUT 和RA7/OSC1/CLKIN 引脚
000 = LP振荡器:低功耗晶振连接到RA6/OSC2/CLKOUT 和RA7/OSC1/CLKIN 引脚
详细说明:EC模式将外部产生的逻辑电平作为系统时钟源,其中ECH对应4-32 MHz,ECM对应0.5-4 MHz,ECL对应0-0.5 MHz。INTOSC模式采用内部时钟源作为其工作时钟,通过PLL倍频、分频,可产生31KHz-16MHz时钟。LP、XT 和HS 模式支持在OSC1 和OSC2 引脚之间连
接石英晶振或陶瓷谐振器的应用,EXTRC模式支持使用外部RC 电路。
时钟源整体框图
EC模式
石英晶振(LP、XT 或HS模式)
陶瓷谐振器(XT或HS模式)
RC模式
“pic系列单片机有rc、lp、xt、hs等振荡模式。除rc模式外,振荡模式的选择实际上就是环路增益的选择。低增益对应低振荡频率,高增益对应高振荡频率。一般根据实际需要的工作频率可参考数据手册来选择。
11、LVP:低压编程使能位
LVP_ON = 使能低压编程
LVP_OFF = 必须使用MCLR/VPP 引脚上的高压进行编程
详细说明:允许器件在没有高压的情况下仅使用VDD 进行编程。如果使能了低压编程(LVP = 1),将自动使能MCLR复位功能,且无法禁止。
12、DEBUG:在线调试器模式位
DEBUG_OFF = 禁止在线调试器, RB6/ICSPCLK 和RB7/ICSPDAT 是通用I/O 引脚
DEBUG_ON = 使能在线调试器, RB6/ICSPCLK 和RB7/ICSPDAT 专用于调试器
13、BORV:欠压复位电压选择位
BORV_19 = 欠压复位电压设置为1.9V
BORV_= 欠压复位电压设置为2.5V (注:1936,1946资料为2.5V,代码注释为2.7V)
(注:18F87K22为BORV<1:0>,1.8V,2.0V,2.7V,3.0V)
14、STVREN:堆栈上溢/ 下溢复位使能位
STVREN_ON = 堆栈上溢或下溢将导致复位
0STVREN_OFF = 堆栈上溢或下溢不会导致复位
详细说明:MPC在执行调用函数、中断函数等操作时,进行对当前PC值进行堆栈操作,若不使能该功能,堆栈将作为循环缓冲区使用,溢出的PC值将覆盖最早进入堆栈的PC值。
15、PLLEN:PLL 使能位
PLLEN_ON = 使能4xPLL
PLLEN_OFF = 禁止4xPLL
注:配置字禁止该功能时,可在程序中通过设置SPLLEN,选择是否使能4xPLL功能。 (软件启动时,需一段时间后锁相环倍频才能稳定,可查询PLLR,测试PIC16F1946,采用外部4M晶振,震荡器选择HS模式,软件SPLLEN置1,约600指令周期后PLLR为1)
16、 VCAPEN<1:0>:稳压器电容使能位
00 = 在RA0 引脚上使能VCAP 功能
01 = 在RA5 引脚上使能VCAP 功能
10 = 在RA6 引脚上使能VCAP 功能
11 = VCAP 引脚上无电容
详细说明:Vcap是提供给内部稳压器使用的,如果你5V的系统,必须在三个Vcap脚上选择一个接上Cap,而且要在配置位中指定该引脚。如果系统只需要3.3V,无需选择Vcap.
17、WRT<1:0>:闪存自写保护位
4 kW 闪存(仅PIC16F1933/PIC16LF1933 和PIC16F1934/PIC16LF1934):
11 = 写保护关闭
10 = 000h 至1FFh 受写保护, 200h 至FFFh 可以由EECON 控制寄存器修改
01 = 000h 至7FFh 受写保护, 800h 至FFFh 可以由EECON 控制寄存器修改
00 = 000h 至FFFh 受写保护,无可由EECON 控制寄存器修改的地址址
8 kW 闪存(仅PIC16F1936/PIC16LF1936 和PIC16F1937/PIC16LF1937):
11 = 写保护关闭
10 = 000h 至1FFh 受写保护, 200h 至1FFFh 可以由EECON 控制寄存器修改
01 = 000h 至FFFh 受写保护, 1000h 至1FFFh 可以由EECON 控制寄存器修改
00 = 000h 至1FFFh 受写保护,无可由EECON 控制寄存器修改的地址
16 kW 闪存(仅PIC16F1938/PIC16LF1938 和PIC16F1939/PIC16LF1939):
11 = 写保护关闭
10 = 000h 至1FFh 受写保护, 200h 至3FFFh 可以由EECON 控制寄存器修改
01 = 000h 至1FFFh 受写保护, 2000h 至3FFFh 可以由EECON 控制寄存器修改
00 = 000h 至3FFFh 受写保护,无可由EECON 控制寄存器修改的地址
详细说明:写保护用于保护器件不受意外的自写访问。在允许修改程序存储器其他区域的同时可以保护应用程序,例如引导加载程序软件。
推荐配置:__CONFIG(FOSC_HS & WDTE_ON(1) & PWRTE_ON & MCLRE_ON&CP_ON & CPD_OFF & BOREN_ON &CLKOUTEN_OFF & IESO_OFF & FCMEN_ON);
__CONFIG(WRT_OFF & VCAPEN_OFF(2)& PLLEN_ON(3)& STVREN_ON & BORV_19 (4)& DEBUG_OFF & LVP_OFF);
注:
1、关于看门狗配置字WDTE,若某些单片机超时时间较短,而程序初始化时间较长,可选择软件启动,WDTE_SWDTEN,注意对相关寄存器定时设置,或者在初始化程序中 多次清狗
2、如果MCU采用+3.3V供电,则可以不使能VCAP,如果采用+5.0V供电必须使用VCAP。
3、若采用4M外部晶振,采用FOSC_HS 或FOSC_XT可能还需测试确认。
4、复位电压根据MCU工作电压、电源电压范围以及RAM保持电压确认。+3.3V工作推荐为1.9V,+5.0V工作推荐为+5.0V。
相关问答
PIC16F 87X 单片机 的掉电保护程序?单片机自带掉电检测电路的,就可直接进入掉电中断,处理掉电保护程序,否则外加电路。单片机自带掉电检测电路的,就可直接进入掉电中断,处理掉电保护程序,否则外...
PIC16F 630 单片机 驱动led指示灯电路?楼主的接法可以,但是我不建议这样做,我们现在一般做项目的常规接法是,LED灯的正极接5V电源,负极接1k的限流电阻到PIC的IO引脚。然后IO写0的时候灯亮,写1的时...
STC12 单片机 与 PIC16F 87的区别?LZ的问题,就好像在问:WindowsXP跟Windows2000有什么区别呢?其他它们都是单片机,不过是不同厂家开发出来的,使用方法、功能、性能、价格等都各不相同...
pic16f 73 单片机 能否在程序中写ROM?当然可以啊,比如51单片机的汇编指令MOVC,访问放在rom的常量。当然可以啊,比如51单片机的汇编指令MOVC,访问放在rom的常量。
怎么测 单片机 板子的静态电流,比如 PIC16F 886?把电源线(给单片机供电的电源线)断开,把电流表串在电源线中间,开机就可以看到静态电流。把电源线(给单片机供电的电源线)断开,把电流表串在电源线中间,开机就...
PIC单片机 指令周期怎么算的?PIC单片机的时钟经过内部分频,实际的工作频率为晶振频率的四分之一,同时指令的执行采用流水线方式,大部分的指令的执行时间是一个周期,所以在用4MHz的晶振时...
PIC16单片机 ,中断有没有优先级?PIC的16中档系列的单片机没有硬件的中断优先级,中断入口只有一个,如果开启多个中断的话可以在中断子程序里面人为的设定优先(优先判断),不过PIC18系列的单片...
PIC单片机 的外部中断什么意思?在PIC16系列单片机中,除TMR0,INT和RB电平变化中断外的其他中断,均称为外设中断,如AD转换结束中断,TMR1中断等,都属于外设中断。外部中断,只有指定的某几...
想学会使用 PIC单片机 中的8脚单片机,是不是必须先学会使用 PIC16F 877?朋友们好,我是电子及工控技术,我来回答这个问题。对于单片机的学习我有以下体会和朋友们分享一下,我认为学习单片机要选择典型的、成熟度高的单片机。学会了一...
如何读出 pic单片机 的程序?如果已经加密了,拷出来也看不了,黑客一不行,因为加密算法是不可逆的。如果程序原本是C语言写的,但C语言程序会被MPLAB先编译成汇编后才能烧写进单片机,所...