Fremont Micro Devices
FT62F21
数据手册
(商业级,工业级,汽车 1 级)
主要特性
8−bit 基于 EEPROM 的 RISC MCU
Program: 1k x 14; RAM: 64 x 8; Data: 128x 8
6 / 8 引脚
3 个定时器, 4 路独立 PWM − 1 路带死区控制
高可靠性的 4 路触摸按键
低 Standby, WDT 和工作电流
POR, LVR, LVD – 单输入比较器
可配置源电流和灌电流
高 ESD, 高 EFT
低 VDD 工作电压
HIRC 可微调
Rev2.00 2021-02-01
www.fremontmicro.com
FMD授权代理商:深圳市浩瑞佳电子科技有限公司
TEL:+86-0755-89519740
HRJ:www.sika-wen.com
Fremont Micro Devices
FT62F21x
8−bit CPU (EEPROM)
电容触摸按键
37 条 RISC 指令:
4T
16 MHz / 4T
多达 8 个引脚
(VDD ≥ 2.5)
最多 4 个按键
I/O PORTS (多达 6 个 I/O)
Memory
PROGRAM: 1k x 14 bit
(读/写保护)
DATA: 128x 8 bit
RAM: 64x 8 bit
8 层硬件堆栈
用户密匙:Hex 加密
SLEEP
LVR: 2.0, 2.2, 2.5, 2.8, 3.1, 3.6, 4.1
(V)
LVD: 1.2, 1.8, 2, 2.4, 2.7, 3, 3.3, 3.6, 4 (V)
(LVD 也具备可选极性的单输入比较器功能)
VDD (VPOR ≤ 1.9V)
VPOR − 5.5 V
(通过 POR 自动调整,0°C 以上 ≤1.7V)
−
商业级
40 − + 85 °C
−
工业级
40 − +105 °C
−
汽车 1 级
40 − +125 °C
低 Standby
0.2 μA
系统时钟 (SysClk)
HIRC 高速内部振荡器
16MHz 20 年 / 125°C 存储
(5V, 25°C)
(5V, 25°C)
电源管理
工作条件 (5V, 25°C)
WDT
正常模式 (16 MHz)
上拉电阻
2 个 I/O 源电流: 3, 6 or 24mA
2 个 I/O 漏电流: 53 or 67 mA
6 个 I/O:
中断/唤醒
(typical)
(typical)
集成开发环境 (IDE)
片上调试 (OCD),ISP
1 个硬件断点
软复位,暂停,单步,运行等
ESD > 4 kV
EFT > 5.5 kV
PWM (Total 4)
封装
支持在 SLEEP 下运行
共 4 个通道 (相同周期) :
独立:占空比,极性
1 个通道 (多达 2 个 I/O):
互补输出+死区
自动故障刹车 (I/O, LVD)
XOR, XNOR 第 2 功能
单脉冲模式
蜂鸣器模式
SOT23-6
DFN6
SOP8
DFN8
Timers
WDT (16−bit): 7−bit 后分频
Timer0 (8−bit): 8−bit 预分频
Timer2 (16−bit): 4−bit 预分频和后分频
支持在 SLEEP 下运行
LIRC, HIRC, 1 or 4x {指令时钟}
Rev2.00
-1-
2021-02-01
Fremont Micro Devices
FT62F21x
产品信息和选型表
I/O 数
型号
封装
FT62F210−Uab
4
SOP23-6
FT62F210−Hab
4
DFN6
FT62F211−ab
5
SOP8
FT62F211−Hab
6
DFN8
此处
a = R; RoHS
= G; Green
b = B; Tube
= T; T&R
MCU 产品订购信息
Rev2.00
-2-
2021-02-01
Fremont Micro Devices
FT62F21x
文档修改历史
日期
版本
描述
2018-08-29
1.00
初版
2020-11-11
1.0x
旧格式版本优化
2021-02-01
2.00
全面优化版本 (请忽略初版及旧版本)
Rev2.00
-3-
2021-02-01
Fremont Micro Devices
FT62F21x
目录
1. 结构框图和引脚 .................................................................................................................................. 7
1.1
引脚图...................................................................................................................................... 8
1.2
引脚描述---按功能分类 ............................................................................................................ 9
2. I/O 端口 ............................................................................................................................................ 10
2.1
I/O 端口相关寄存器汇总 ........................................................................................................ 12
2.2
I/O 配置 ................................................................................................................................. 13
3. 上电复位 (POR) ............................................................................................................................... 14
3.1
初始化配置时序 ..................................................................................................................... 14
4. 系统复位 ........................................................................................................................................... 16
4.1
系统复位相关寄存器汇总 ...................................................................................................... 17
4.2
欠压复位 (Brown-Out Reset, LVR / BOR)............................................................................ 17
4.3
非法指令复位 (Illegal Instruction Reset) .............................................................................. 18
4.4
看门狗定时器 (Watch Dog Timer, WDT) 复位..................................................................... 18
4.5
外部 I/O 系统复位 /MCLRB .................................................................................................. 19
4.6
检测上次复位类型 ................................................................................................................. 19
5. 低电压检测/比较器 (LVD) ................................................................................................................ 20
5.1
LVD 相关寄存器汇总 ............................................................................................................. 20
6. 振荡器和系统时钟 ............................................................................................................................ 21
6.1
振荡器模块相关寄存器汇总 ................................................................................................... 22
6.2
内部时钟模式 (HIRC 和 LIRC) .............................................................................................. 23
6.3
外部时钟模式 (EC) ............................................................................................................... 24
6.4
HIRC, LIRC 和 EC 时钟的内部切换 ...................................................................................... 24
6.5
系统时钟输出 (CLKO) .......................................................................................................... 24
7. 定时器 (TIMERS) ............................................................................................................................ 26
7.1
7.2
看门狗定时器 (Watch Dog Timer, WDT).............................................................................. 27
7.1.1
WDT 相关寄存器汇总 ............................................................................................ 27
7.1.2
WDT 的设置和使用 ................................................................................................ 28
7.1.3
在 Timer0 和 WDT 之间切换分频电路 ................................................................... 29
定时器 0 (TIMER0) ................................................................................................................ 30
7.2.1
7.3
Rev2.00
Timer0 相关寄存器汇总 ......................................................................................... 31
定时器 2 (TIMER2) ................................................................................................................ 32
-4-
2021-02-01
Fremont Micro Devices
FT62F21x
7.3.1
Timer2 相关寄存器汇总 ......................................................................................... 33
7.3.2
TMR2 寄存器的读/写操作 ...................................................................................... 34
8. SLEEP 睡眠模式 (POWER-DOWN) ............................................................................................... 35
8.1
进入 SLEEP........................................................................................................................... 35
8.2
从 SLEEP 中唤醒 .................................................................................................................. 36
9. 中断 (INTERRUPTS)....................................................................................................................... 37
9.1
中断相关寄存器汇总.............................................................................................................. 38
9.2
PA2-INT 和 PORTA 端口变化中断 ........................................................................................ 40
10. PWM................................................................................................................................................. 41
10.1
PWM 相关寄存器汇总 ........................................................................................................... 42
10.2
时钟源.................................................................................................................................... 44
10.3
周期 (Period) ........................................................................................................................ 44
10.4
占空比 (Duty Cycle) .............................................................................................................. 44
10.5
死区 (Deadband) 时间 ......................................................................................................... 45
10.6
故障刹车 (Fault-Break) 功能 ................................................................................................ 45
10.7
周期和占空比寄存器的更新 ................................................................................................... 45
10.8
PWM 输出 ............................................................................................................................. 46
10.9
(P1B, P1C) 的第 2 功能输出 ................................................................................................ 47
11. 数据 EEPROM (DATA EEPROM) ................................................................................................... 48
11.1
DATA EEPROM 相关寄存器汇总 ......................................................................................... 48
11.2
写 DATA EEPROM .............................................................................................................. 49
11.3
读 DATA EEPROM .............................................................................................................. 50
12. TOUCH 模块 .................................................................................................................................... 51
12.1
TOUCH 触摸按键功能 ........................................................................................................... 51
13. 存储区读/写保护 ............................................................................................................................... 52
14. 指令集 (INSTRUCTION SET) ......................................................................................................... 53
15. 特殊功能寄存器 (SPECIAL FUNCTION REGISTERS, SFR) ......................................................... 55
15.1
初始化配置寄存器 ................................................................................................................. 55
15.2
用户寄存器 ............................................................................................................................ 57
15.3
STATUS 寄存器 .................................................................................................................... 60
15.4
PCL 和 PCLATH.................................................................................................................... 61
16. 电气特性 ........................................................................................................................................... 62
Rev2.00
-5-
2021-02-01
Fremont Micro Devices
FT62F21x
16.1
极限参数 ................................................................................................................................ 62
16.2
工作特性 ................................................................................................................................ 62
16.3
POR, LVR, LVD .................................................................................................................... 63
16.4
I/O 端口电路 .......................................................................................................................... 64
16.5
工作电流 (IDD) ....................................................................................................................... 64
16.6
内部振荡器 ............................................................................................................................ 65
16.7
Program 和 Data EEPROM................................................................................................... 66
16.8
EMC 特性 .............................................................................................................................. 66
17. 特性图 .............................................................................................................................................. 67
18. 封装信息 ........................................................................................................................................... 72
联系信息 ................................................................................................................................................. 76
Rev2.00
-6-
2021-02-01
Fremont Micro Devices
1.
FT62F21x
结构框图和引脚
Reset
+
Clock
control
Timers
PROM
SFR BUS
CPU
Touch
DROM
I/O
LVD
SRAM
PWM
OCD
OCD BUS
图 1-1
系统结构框图
标准缩写列表如下:
缩写
Rev2.00
描述
CPU
Central Processing Unit
SFR
Special Function Registers
SRAM
Static Random Access Memory
DROM
Data EEPROM
PROM
Program EEPROM
Timers
Timer0, Timer2
PWM
Pulse Width Modulator
LVD
Low Voltage Detect / comparator
OCD
On Chip Debug
I/O
Input / Output
-7-
2021-02-01
Fremont Micro Devices
1.1
FT62F21x
引脚图
ISPDAT/P1D0/KEY2/PA1
GND
TKCAP/PA2
1
PA0/KEY1/[P1C1]ISPCLK
6
2 FT62F210-URT 5
SOT23-6
3
4
VDD
PA4/ELVD1/P1B/P1A0N/CLKO
1
图 1-2 SOT23-6
ISPDAT/P1D0/KEY2/PA1
GND
TKCAP/PA2
1
PA0/KEY1/[P1C1]ISPCLK
6
2 FT62F210-HRT 5
DFN6
3
4
图 1-3 DFN6 1
VDD
PA4/ELVD1/P1B/P1A0N/CLKO
2
CLKO/P1A0N/P1B/ELVD1/PA4
1
8
TKCAP
2
VDD
3
FT62F211-RB 7
SOP8
6
GND
4
5
PA3/KEY4/P1A0/CLKI
PA0/KEY1/[P1C1]/ISPCLK
PA1/KEY2/P1D0/ISPDAT
PA2/KEY3/P1C0/T0CKI/INT/BK0
图 1-4 SOP8
MCLRB/[P1D1]/ELVD0/PA5
TKCAP/PA4
GND
BK0/INT/T0CKI/P1C0/KEY3/PA2
1
8
PA3/KEY4/P1A0/CLKI
2 FT62F211-HRT 7
DFN8
3
6
PA0/KEY1/[P1C1]/ISPCLK
4
VDD
5
图 1-5 DFN8
PA1/KEY2/P1D0/ISPDAT
3
1
对于 6pin 封装, TKCAP 与 PA2 共用引脚 3。 对于 DFN8 封装, TKCAP 与 PA4 共用引脚 2。 引脚用作 TKCAP 功能时,
则 PA2/PA4 必须相应地设置为输入;当关闭 TKCAP 功能时,则 PA2/PA4 为通用 IO 功能。
2
对于 DFN6 封装, 底部裸露的焊垫是与 GND 连在一起的。
3
对于 DFN8 封装, 底部裸露的焊垫是与 VDD 连在一起的。
Rev2.00
-8-
2021-02-01
Fremont Micro Devices
1.2
FT62F21x
引脚描述---按功能分类
功能
6
pins
SOP8
pins
DFN8
pins
VDD
5
3
5
GND
2
4
3
描述
电源
对应
GPIO
引脚名
PA5
GPIO
LVD
时钟
ISP 调试
外部复位
上拉,
数字输入,
数字输出
1
PA4
4
PA3
1
2
8
8
PA2
3
5
4
PA1
1
6
6
PA0
6
7
7
ELVD0
PA5
ELVD1
PA4
4
1
2
输出
CLKO
PA4
4
1
2
EC 输入
CLKI
PA3
8
8
Timer0 时钟
T0CKI
PA2
3
5
4
ISP-Data
ISPDAT
PA1
1
6
6
ISP-CLK
ISPCLK
PA0
6
7
7
上拉
/MCLRB
PA5
PA2-INT
PA2
输入
PA2 边沿中断
1
1
3
5
PA5
1
PA4
PORTA
端口变化中断
PWM1
(死区)
输入
/PWM1
PWM2
PWM3
PWM4
PWM 故障刹车输入
触摸按键
输入
CREF
4
PA3
1
2
8
8
PA2
3
5
4
PA1
1
6
6
PA0
6
7
7
8
8
P1A0
PA3
P1A0N
PA4
4
1
2
P1B0
PA4
4
1
2
P1C0
PA2
3
5
4
[P1C1]
PA0
6
7
7
P1D0
PA1
1
6
6
[P1D1]
PA5
BK0
PA2
KEY4
1
5
4
PA3
8
8
KEY3
PA2
5
4
KEY2
PA1
1
6
6
KEY1
PA0
6
7
7
3
2
2
TKCAP
表 1-1
Rev2.00
4
3
按功能分类的引脚描述
-9-
2021-02-01
Fremont Micro Devices
2.
FT62F21x
I/O 端口
根据封装类型的不同,FT62F21x 系列芯片最多有 6 个 I/O 引脚可用,PORTA (6)。 表 2-1 列出了所有
I/O 引脚的功能。
To LVD
(仅 ELVDx )
TRISx
PORTx
RDCTRL
1
PAIF 置位
Q
仅适用于 PORTA
EN
Q
读 PORTA
D
写 IOCA
Q
D
EN
IOCAx
0
读
PORTA
Q1
EN
D
写 WPUx
D
VDD
Q
WPUx
EN
P1xOE
BUS
D
写 TRISx
P1x
TRISx
VDD
1
VDD
VDD
VDD
0
I/O
PORTx
EN
D
写 PORTx
Q
Q
PORTx
EN
图 2-1
PORT 端口结构框图
所有 I/O 引脚均具有以下功能 (表 2-3,表 2-4):
数字输出
数字输入
弱上拉
此外,部分 I/O 具有以下特殊功能:
1. 烧录调试引脚 (ISP-Data,ISP-CLK),硬件内部连接,不需设置。
2. 通过 IDE 界面配置,且在芯片初始化配置时加载的功能 (表 2-2):
外部时钟输入 (CLKI)
内部时钟输出
Rev2.00
- 10 -
系统外部复位 (/MCLRB)
2021-02-01
Fremont Micro Devices
FT62F21x
3. 通过指令对相应 I/O 引脚进行配置的其他功能,可分为 3 类:
a. 数字输出
PWM
b. 数字输入
PWM 故障刹车
Timer0 时钟输入
外部边沿中断
GPIO 端口变化中断
TOUCH
c. 模拟输入
LVD / BOR
引脚名
ISP
调试
PA0
PA1
PWM
数字 I/O
上拉
源电流
(mA)
灌电流
(mA)
PWM 3
18
53
KEY2
PWM 4
18
53
TOUCH
中断
CLK
KEY1
DATA
时钟
LVD
PA2
T0CKI
KEY3
+ INT
PWM 3
18
53
PA3
CLKI
KEY4
PWM 1
18
53
PA4
输出
PA5
ELVD1
PWM 2 +
PWM 1N
3, 6, 24
53, 67
+ /MCLRB
ELVD0
PWM4
3, 6, 24
53, 67
BK0 = PA2
注
表 2-1
注:
VDD=5, VDS=0.5
I/O 端口功能
PA4−PA5 支持 3 档可配置源电流驱动能力 (参阅 “PSRCAx”,表 2-4) 和 2 档可配置灌电流驱
动能力 (参阅 “PSINKAx”,表 2-4)
Rev2.00
- 11 -
2021-02-01
Fremont Micro Devices
2.1
FT62F21x
I/O 端口相关寄存器汇总
名称
功能
默认
当 TRISx = 0 (输出使能) 时,读 PORTx 寄存器的返回值
RDCTRL
输入锁存器
输出锁存器
输出锁存器
MCLRE
FOSC
外部 I/O 复位
关闭
EC: PA3(CLKI) 接外部时钟输入 (注意: 需设置 TRISA[3] = 1)
表 2-2
名称
INTOSCIO
INTOSCIO: PA3 为 I/O
地址
bit 7
bit 6
I/O 相关初始化配置寄存器
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
复位值
TRISA
0x85
−
TRISA[5:0], PORTA 方向控制
−−11 1111
PORTA
0x05
−
PORTA 输出寄存器
−−xx xxxx
WPUA
0x95
−
PORTA 弱上拉
−−11 1111
PSRCA
0x88
PSINKA
0x97
IOCA
0x96
OPTION
0x81
−
−
−
/PAPU
−−−− 1111
PORTA 源电流设置
PORTA 灌电流设置
−−00 0000
IOCA[5:0]: PORTA 端口变化中断设置
INTEDG
T0CS
表 2-3
名称
T0SE
PSA
−−−− −−11
PS2
PS1
PS0
1111 1111
I/O 相关用户寄存器的地址和复位值
状态
寄存器
地址
复位值
TRISA[5:0]
0x85
RW−11 1111
OPTION[7]
0x81
RW−1
PORT端口数字输出 (方向控制)
TRISA
/PAPU
PORTA
1 = 关闭
0 = 使能 (关闭上拉)
1 = 关闭所有 PORTA 上拉功能
0 = 上拉由 WPUA 控制
弱上拉
WPUA
PORTA
1 = 使能
0 = 关闭
WPUA[5:0]
0x95
RW−11 1111
PORTA
PORTA
数据输出寄存器
PORTA[5:0]
0x05
RW−xx xxxx
PA5
灌电流 (mA)
PSINKA[1]
PA4
1 = 67
0 = 53
PSINKA
PA5
PSRCA
PA4
0x97
源电流 (mA)
(00) = 3
(01) = 6 / (10) = 6
(11) = 24
表 2-4
Rev2.00
RW−1
PSINKA[0]
RW−1
PSRCA[3:2]
RW−11
0x88
PSRCA[1:0]
RW−11
I/O 相关用户寄存器
- 12 -
2021-02-01
Fremont Micro Devices
2.2
FT62F21x
I/O 配置
每个 PORT 端口, 均需根据其相应功能配置以下 3 个模块(表 2-5):
弱上拉
数字输入
功能
数字输出
数字输入
上拉
数字输出
ISP-DATA
On
Off
On
(硬件内置,忽略指令)
ISP-CLK
On
Off
Off
(硬件内置,忽略指令)
/MCLRB
On
上拉
Off
(初始化配置, 忽略指令)
时钟输出
(忽略)
Off
On
(初始化配置, 忽略指令)
CLKI (EC)
On
(可选)
Off
(初始化配置, 忽略指令)
TOUCH
Off
Off
Off
TRISx = 1
Off
Off
TRISx = 1
LVD
Off
(3)
设置
Timer0 时钟
On
(可选)
Off
TRISx = 1
端口变化中断
On
(可选)
Off
TRISx = 1
PA2−INT
On
(可选)
Off
TRISx = 1
BK0
On
(可选)
Off
TRISx = 1
数字输入
On
(可选)
Off
TRISx = 1
PWM
On
Off
On
TRISx = 0
数字输出
On
Off
On
TRISx = 0
表 2-5
I/O 配置标志和用户寄存器
注:
1. TRISx = 0:“数字输出” 使能,“上拉” 自动关闭 (忽略 WPUx)。
2.
TRISx = 1:“数字输出” 关闭。
3.
将 PORT 端口设置为 LVD 输入时,其“数字输入” 、“上拉” 功能被自动关闭。当 LVD 输入需要在不
同的通道之间切换使用时,当前未被选择通道的 “数字输入” 无法关闭,因此 PA4 和 PA5 不应仅在
部分时间作为 LVD 输入。
4.
“/PAPU = 1” 关闭所有 PAx 端口的 “弱上拉” 功能。
5.
/MCLR 使能:PA5 的弱上拉功能自动使能 (忽略 WPUA[5]);读 PORTA[5] 的值为 “0”。
6.
对 PORTx 数据输出寄存器进行写操作,I/O 端口将输出相应的逻辑电平。6 个 I/O 的数据寄存器共
用相同的地址,写操作实际执行 ‘读-修改-写’ 的过程,即先读取 PORTx 端口锁存器值 (输出或输
入),然后修改,再写回 PORTx 数据寄存器。
7.
数字输出和数字输入功能可以共存,有些应用需要同时使能数字输出和数字输入。
8.
当 TRISx = 0 时,通过 IDE 界面可选择读取 PORTx 输出或输入锁存器的值。
9.
完全复位或系统复位时,PORTx 寄存器不会复位,但 TRISx 将被重置为“1”,从而关闭输出。
PA2-INT 和 PORTA 端口变化中断的设置,请参阅 章节 9 “中断”。
Rev2.00
- 13 -
2021-02-01
Fremont Micro Devices
3.
FT62F21x
上电复位 (POR)
上电过程,即 VDD 从低于 Power-On-Reset 电压(VPOR)上升至高于 VPOR 的过程。当 CPU 重新上电时,
VDD 可能没有完全放电至 0V。
1. 当 VDD 低于 VPOR 时,CPU 处于完全复位状态。
a. 所有校准配置寄存器不复位。除 TMR0、PORTx、Z、HC、C、FSR、INDF 和 SRAM 以外 (参
阅 章节 15 ”特殊功能寄存器”) 的其他特殊功能寄存器 (Special Function Registers, SFR) 均
处于复位状态。而不复位的寄存器如 SRAM, 将保持其数据直至 VDD 降至 0.6V(典型值)以下, 当
VDD 低于 0.6V 时, 其值为不确定值。
b. 程序计数器 PC = 0x00, 指令寄存器 = “NOP”, 堆栈指针 = “TOS” (栈顶)。
2. 当 VDD 上升至 VPOR 以上时,芯片开始初始化配置(BOOT)过程。
3. 初始化配置完成后,指令将从 PC = 0x00 地址开始执行。
常温(25°C)下,VPOR 的典型值~1.6V, 低温(-40°C)上升至~1.9V。当 VDD ≥ VPOR 时, CPU 可在较低的速度
8 MHz / 4T 下工作,因此单独运用 POR 特性即可预防低电压故障,同时也使得 VDD 的工作范围可随温
度变化自动调整。此特性对于用电池供电的系统来说很重要,在典型的电池工作环境中,当电池电压低
至~1.5V 时,CPU 仍可工作,从而提高电池使用寿命。
注:
1. VPOR 不可配置。
2. POR 的硬件电路默认为开启状态,当 VDD 电压低于 VPOR 时即执行电源复位,而不仅仅是在上电时执
行。
3.1
初始化配置时序
名称
PWRTEB
功能
默认
上电延时定时器,初始化配置完成后额外延时~64ms
关闭
表 3-1
初始化配置
以上初始化配置,由 IDE 界面设置,不能通过指令修改。初始化配置过程:
1. CPU 空闲等待~4ms;
2. 从非易失性存储器中加载初始化配置寄存器值,该过程~24us。这些寄存器值由 IDE 预先设置,不受
指令影响;
3. 如果使能上电延时定时器(Power-On-Timer, PWRT),CPU 将额外空闲等待~64ms;
Rev2.00
- 14 -
2021-02-01
Fremont Micro Devices
FT62F21x
图 3-1
图 3-2
上电时序 ( PWRT 使能)
上电过程所需最小 PWRT 时间
如果 CPU 需要在 16MHz / 4T 的速度下运行,那么在初始化配置(BOOT)结束时 VDD 必须高于 2.5V。通
过使能 PWRT,可使初始化配置时间从~4ms 增加至~68ms,从而提高电源系统的稳定时间。
在以 16MHz / 4T 的速度运行的同时,应使能 LVR 且设置 VBOR ≥ 2.5V。另外,可通过指令控制 LVR 使
能的频率来不时地监测 VDD,而无需一直使能(参阅“LVREN”, “SLVREN”)以降低功耗。
注:
1. VDD 上电过程不可以太慢,另外不建议 VDD 的电容 CVDD ≥ 22 μF;
2. VDD 电容值以 1 到 10μF 为佳。出于 EFT 性能考虑,CVDD < 1μF 可能太小;
3. 如果可以接受启动延时,那么建议使能 PWRT 以提高 CPU 的稳定性;
Rev2.00
- 15 -
2021-02-01
Fremont Micro Devices
4.
FT62F21x
系统复位
与 POR 不同,系统复位(system reset) 并不会完全复位。系统复位时,CPU 是否启动初始化配置过程
则取决于复位触发类型和配置。若启动初始化配置则空闲等待~4ms,然后重新加载初始化配置寄存器值,
如果使能 PWRT 将额外延时~64ms,随后系统正常启动。在系统复位中:
除初始化配置寄存器外,POR 过程中被重置的寄存器在系统复位时也会被同样重置;
程序计数器 PC = 0x00, 指令寄存器 = “NOP”, 堆栈指针 = “TOS” (栈顶);
除仿真调试的 OCD(On-Chip Debugger) 模块外,以下 4 种事件可触发系统复位:
1. 欠压复位 (LVR / BOR) – 总会启动初始化配置;
2. 非法指令复位 (默认始终开启);
3. 看门狗定时器 (WDT);
4. 外部 I/O 复位 (/MCLRB) – 如果使能 “ MBTEB” 则启动初始化配置;
注: 如果可以接受更长的系统重启时间,则建议使能初始化配置过程(BOOT)以提高系统的稳定性。
外部复位
/MCLRB
WDT
Module
/Sleep
WDT
复位
VDD Rise
Detet
VDD
Brown out
Reset
S
_
Q
R
Q
系统复位
LVREN
IREG
IRERR
Detect
PWRTEB
PWRT
SOFTRST
by OCD
图 4-1
Rev2.00
复位电路结构框图
- 16 -
2021-02-01
Fremont Micro Devices
4.1
FT62F21x
系统复位相关寄存器汇总
系统复位的大多数设置均由 IDE 界面配置,而不能通过指令修改。
名称
功能
默认
7 档 VBOR 电压(V):
LVRS
2.0 / 2.2 / 2.5 / 2.8 / 3.1 / 3.6 / 4.1
2.5
LVR
LVREN
使能
关闭
关闭
通过指令控制 (SLVREN)
WDT
WDTE
SWDTEN
控制
使能 (指令不能禁止)
由指令控制 (SWDTEN)
MCLRE
外部 I/O 复位
关闭
MBTEB
MCLRE 复位启动初始化配置过程
关闭
表 4-1
4.2
复位相关初始化配置寄存器
欠压复位 (Brown-Out Reset, LVR / BOR)
当 VDD 值降低并低于预设的欠压值 (VBOR) 超过 TBOR 时间时,就会出现欠压状态。TBOR 大概为 3 到 4 个
LIRC 时钟周期 (~94 – 125us, 如果未预先启动,LIRC 将自动开启)。当 VDD ≤ VBOR 时,CPU 保持系统
复位状态,直至 VDD > VBOR 时 CPU 开始初始化配置过程(BOOT)。
VPOR 值不能配置,而 VBOR 值可以设置为 2.0、2.2、2.5、2.8、3.1、3.6、4.1V (参阅 “LVRS”,表 4-1)。
VDD
VBOR
/System_Reset
TBOR
图 4-2
Rev2.00
BOOT
LVR 初始化配置时序图
- 17 -
2021-02-01
Fremont Micro Devices
FT62F21x
LVR 可在初始化配置时设置成 3 种不同功能(参阅 “LVREN”, 表 4-1)。
1. LVR 使能;
2. LVR 关闭;
3. 由指令控制使能或关闭 LVR (SLVREN, 表 4-2).
注:
可通过指令关闭 SLEEP 期间的 LVR 以降低功耗。但如果系统 VDD 不稳定,CPU 应定期唤醒并
使能 LVR 来监控 VDD。
名称
状态
寄存器
地址
复位值
仅适用于 LVREN 配置成由指令 SLVREN 控制 LVR
SLVREN
MSCON[3]
1 = 使能 LVR
0 = 关闭 LVR
表 4-2
4.3
0x1B
RW-0
LVR 用户寄存器
非法指令复位 (Illegal Instruction Reset)
CPU 获取指令错误的原因有很多,最常见的为干扰和 VDD 不稳定。出现非法指令时将产生系统复位。
非法指令复位默认始终开启。虽然没有专用的复位指令,但任何蓄意的非法指令都等同于复位指令。
4.4
看门狗定时器 (Watch Dog Timer, WDT) 复位
SLEEP 模式下,WDT 溢出将导致唤醒。
正常模式 (非 SLEEP 模式)下,WDT 溢出将触发系统复位。WDT 复位可用于复位挂起的 CPU。应在程
序中时不时地清除 WDT 来避免错误复位。
关于 WDT 的操作和设置等细节,请参阅 章节 7.1 看门狗定时器 (Watch Dog Timer, WDT)。
Rev2.00
- 18 -
2021-02-01
Fremont Micro Devices
4.5
FT62F21x
外部 I/O 系统复位 /MCLRB
如果已相应设置初始化配置寄存器,那么可通过在/MCLRB (PA5)脚上施加低电压来使 CPU 复位。
/MCLRB 脚通常经过一个电阻弱上拉到 VDD, 而不是直接连到 VDD, 如 图 4-3 所示,建议采用外部 RC
电路以提供故障滤波和过流保护。
/MCLR 系统复位后是否产生初始化配置则取决于 IDE 设置 (参阅 “MBTEB”, 表 4-1)。
VDD
1k
/MCLRB
100
0.1μF
图 4-3
4.6
/MCLRB 复位电路
检测上次复位类型
通过 4 个状态标志位 /POR、/BOR、Time Out (/TF) 、Power Down (/PF)的不同组合可以追溯上一次系
统复位的类型, “正常模式下的/MCLR 系统复位” 和 “非法指令复位” 除外。这些状态标志位均需由指令
置 1。复位后,相应的标志位将被锁定为“0”。
复位源
/POR
/BOR
/TF
/PF
PCON[1]
PCON[0]
STATUS[4]
STATUS[3]
0x8E
0x03, 0x83
POR
0
(未知)
1
1
LVR
−
0
1
1
正常模式下(非 SLEEP) WDT 溢出(复位)
−
−
0
−
SLEEP 模式下 WDT 溢出(唤醒)
−
−
0
0
SLEEP 模式下/MCLR 复位
−
−
1
0
正常模式下(非 SLEEP) /MCLR 复位
−
−
−
−
非法指令复位
−
−
−
−
片上调试 (OCD)
−
−
−
−
表 4-3
Rev2.00
复位相关状态标志位 (“−“ 无变化)
- 19 -
2021-02-01
Fremont Micro Devices
5.
FT62F21x
低电压检测/比较器 (LVD)
LVD 的工作原理与 LVR 类似,但以下几点除外:
所有控制位和参数配置位均由用户指令设置,而不是初始化配置时;
必须正确设置 I/O:TRISx = 1;(如果 PA4 或 PA5 配置为输入但没有被选择为 LVD 输入,且端口电
压不是 VDD 或 GND 时,可能会有数字输入模块的漏电);
LVD 事件将置位 LVDW 而不是/BOR;
可通过指令配置为中断,且不会触发系统复位;
可通过 LVDDEB 使能消抖功能,消抖时间 (TLVD) 大概为 3 到 4 个 LIRC 时钟周期 (~94 – 125us, 如
果未预先启动,LIRC 将自动开启);
LVD 输入可以配置成 VDD 或其他 I/O (PA4, PA5, TOUCH),后者允许将 LVD 当作单输入比较器功能
使用,与 9 档 LVDL 电压值(VLVD-REF) 之一进行比较;
可设置 LVD 的极性,因此 LVD 可作为 VLVD-REF 的 “高” 或 “低” 比较器;
注: PA5 的外部复位功能(/MCLRB)优先级高于 LVD 输入功能, 即当 PA5 配置成外部复位管脚时, 将忽
略其 LVD 输入检测功能。
5.1
LVD 相关寄存器汇总
名称
LVDEN
LVDL
状态
LVD
1 = 使能
VLVD−REF
0000 = 1.8
0001 = 2.0
0010 = 2.4
0011 = 2.7
0100 = 3.0
寄存器
0 = 关闭
0101 = 3.3
0110 = 3.6
0111 = 4.0
1xxx = 1.2
LVD 触发?
当 LVDP=1:
1 = 检测电压 > VLVD−REF (不锁存)
0 = 检测电压 < VLVD−REF
复位值
PCON[3]
RW−0
PCON[7:4]
RW−0000
当 LVDP=0:
1 = 检测电压 < VLVD−REF (不锁存)
0 = 检测电压 > VLVD−REF
LVDW
地址
0x8E
PCON[2]
RO−x
注意:当 LVDP = 1 且 LVDEN = 0
时, LVDW 和 LVDIF 均为 1
LVDP
LVDW 极性
1 = 反相
0 = 不反相
WDTCON[7]
LVDDEB
LVD 消抖
1 = 使能
0 = 关闭
LVDCON[2]
LVDM
LVD 输入
00 = VDD
01 = PA5
10 = PA4
11 = TOUCH
LVDCON[1:0]
LVDIE
LVD 中断
1 = 使能
0 = 关闭
PIE1[5]
0x8C
RW−0
LVDIF
LVD 产生中断?
1 = Yes
0 = No,或已被清零
PIR1[5]
0x0C
RW−0
表 5-1
Rev2.00
0x18
RW−0
RW−1
0x8D
RW−00
LVD 用户设置和标志寄存器
- 20 -
2021-02-01
Fremont Micro Devices
6.
FT62F21x
振荡器和系统时钟
系统时钟(SysClk) 可通过指令选择为内部高速振荡器 HIRC,内部低速振荡器 LIRC,或外部振荡器 EC,
由初始化配置寄存器 “FOSC” (表 6-1) 决定。系统时钟还可通过指令进一步选择为内部振荡器的分频
(参阅 IRCF 和 LFMOD,表 6-2)。系统时钟用于产生指令时钟(Instruction Clock):
指令时钟 = SysClk / N; N = 4 for 4T.
Timers 模块有独立的振荡器,因此可有多个振荡器同时运行。
当 Timers 使能时,其选用的振荡器将自动开启,且在 Timers 运行期间一直保持有效。SLEEP 模式可将
振荡器配置为开启或关闭。当相应的振荡器在 SLEEP 模式下保持运行时,Timers 和 PWM 功能同样可
在 SLEEP 时工作。
SLEEP 模式下指令停止运行,而指令时钟也将停止,因此选择指令时钟作为时钟源的外设模块也将在
SLEEP 模式下停止工作。
INTOSC
预分频器
~
16M HIRC
~
EC
SysClk
FOSC
(配置字)
8M
4M
2M
1M
500k
250k
32k
IRCF
(OSCCON)
到 PWRT, FSCM
÷8
LFMOD
图 6-1
Rev2.00
到外设
~
256k LIRC
32k
系统时钟 SysClk 的时钟源框图
- 21 -
2021-02-01
Fremont Micro Devices
6.1
FT62F21x
振荡器模块相关寄存器汇总
名称
FOSC
功能
默认
EC:PA3 (+) 接外部时钟输入(注意:需设置 TRISA[3] = 1)
INTOSCIO
INTOSCIO:PA3 为 I/O
表 6-1
FOSC 初始化配置寄存器
配置
SysClk 系统时钟源
IRCF
LFMOD
OSCCON[6:4]
OSCCON[7]
0x8F
外部
RW-100
RW-0
-
-
16 MHz
111
-
8 MHz
110
-
4 MHz
101
-
2 MHz
100
-
1 MHz
011
-
500 kHz
010
-
250 kHz
001
-
256 kHz
000
1
32 kHz
000
0
EC
HIRC
内部
LIRC
表 6-2
名称
SysClk 系统时钟源设置相关用户寄存器
状态
寄存器
地址
复位值
HIRC ready (锁存)
HTS
OSCCON[2]
1 = Yes
0 = No
0x8F
LIRC ready (锁存)
LTS
RO−0
1 = Yes
0 = No
OSCCON[1]
RO−0
MSCON[2]
RW−0
LIRC 和 HIRC 交叉校准时 4 次平均测量模式
CKMAVG
1 = 使能
0 = 关闭
0x1B
启动 LIRC 和 HIRC 的交叉校准功能
CKCNTI
1 = 启动
0 = 完成(自动清零)
MSCON[1]
SOSCPR
校准 LIRC 周期所需的 HIRC 周期数
SOSCPR[11:0]
表 6-3
Rev2.00
RW−0
0x1D[3:0]
0x1C
RW−FFF
振荡器控制位/状态位
- 22 -
2021-02-01
Fremont Micro Devices
6.2
FT62F21x
内部时钟模式 (HIRC 和 LIRC)
内部高频时钟 (Internal high frequency clock, HIRC) 出厂时已校准到 16 MHz @ 2.5V/25°C。芯片之
−
+
间的频率变化典型值 < ±1.0% @2.5 − 5.5V/25°C,温度变化典型值为 ±4% @ 40 − 85 °C。
HIRC 精度在晶圆测试时已进行校准。封装过程可能会导致 HIRC 频率漂移。烧录器软件可选择是否需要
对 HIRC 进行重新校准,此外,还可选择是否将校准后的 HIRC 频率误差存储到数据 EEPROM 的最后一
个字节。每一个 step 代表 1% / 128 = 0.008%的误差。HIRC 出厂校准值已存储在“FOSCCAL”寄存器中,
用户可以从默认的 16 MHz 来改变 HIRC 频率(微调),微调 steps 是非线性的(~130 kHz)。粗略估计如下:
FOSCCAL[5:0] ± N ≈ 16000 ± N * 130
内部低频时钟 (Internal low frequency clock, LIRC) 出厂时已校准到 256 kHz。芯片之间的频率变化
−
+
典型值 < ±3.5% @2.5 − 5.5V/25°C,温度变化典型值 < ±2% @ 40 − 85 °C。
同样可在烧录器软件选择是否需要测量 LIRC 精度,以及将 LIRC 频率误差存储到数据 EEPROM 的倒数
第二个字节。每一个 step 代表 4% / 128 = 0.031%的误差。
LIRC 和 HIRC 可相互交叉校准 – 在一个 LIRC 周期内(值由“LFMOD”设置) 使用 Timer2 来测量指令时
钟数(SysClk 选择 16MHz HIRC),此为内置硬件功能。由于 LIRC 温度系数较低,因此当温度不稳定时,
可通过用 LIRC 来校准 HIRC 的功能,以达到相同的±2%的温度系数。
图 6-2
单次测量时序图
LIRC 和 HIRC 交叉校准步骤:
1. 设置 IRCF = 111, SCS = 1 ;SysClk 选择 16MHz HIRC (其他频率设置的精准度会降低)
2. 设置 CKMAVG = 1
;4 次测量平均,选择 0 表示不做平均
3. 设置 TMR2ON = 1
;使能 Timer2
4. 设置 CKCNTI = 1
;开始校准, 默认 Timer2 预分频比= 1, 后分频比= 1, T2CKSRC = SysClk
5. 校准完成时,CKCNTI 自动清零(“CKCNTI =0”), CKMIF 自动置位(“CKMIF = 1”)。
6. 测量值存储在 SOSCPR 寄存器中。
Rev2.00
- 23 -
2021-02-01
Fremont Micro Devices
FT62F21x
7. 如果 LIRC 为 32kHz,且 CPU 运行在 16MHz / 4T 下,则理想的匹配值为 500。
注:
LIRC 和 HIRC 交叉校准时,不要对 SOSCPRH/L 寄存器进行写操作;
LIRC 和 HIRC 交叉校准时,Timer2 不能被其他外设使用;
LIRC 和 HIRC 交叉校准功能与 IDE 的单步调试模式不兼容;
6.3
外部时钟模式 (EC)
外部数字信号作为时钟源连接到 CLKI (PA3) 脚。当 SysClk 选择 EC 模式,POR 复位或从睡眠中唤醒
时,EC 模式不存在设置或转换时间延迟。
注意:当 PA3 用作外部时钟输入时,需设置 TRISA[3] = 1。
6.4
HIRC, LIRC 和 EC 时钟的内部切换
图 6-3 为时钟内部切换时序图。如果 HIRC 或 LIRC 在切换前已经关闭(为了省电),则将会有额外的振荡
器设置延迟时间。
图 6-3
6.5
由 LIRC 切换到 HIRC 时序图 (同样的原则也适用于 EC, LIRC, HIRC 之间的切换)
系统时钟输出 (CLKO)
可通过指令置位 SCKEN 和 SCKOE 来将系统时钟输出到 PA4。写 SCKCFG 寄存器有一定的限制,需按
照以下示例程序的步骤进行操作。
示例程序:
LDWI 34H
STR EECON1
BSR SCKCFG, 7
BSR SCKCFG, 1
CLRR EECON1
;写之前将 WREN3/2/1 同时置 1
;先将 SCKEN 置 1
;再将 SCKOE 置 1, 将系统时钟输出到 CLKO (PA4)脚
;WREN3/2/1 清 0, 以免后面的指令误触发写操作
注:
1.
如需关闭系统时钟输出, 则按上述步骤将 SCKEN 和 SCKOE 清零。
2.
读操作不需此步骤。
3.
除 bit7 和 bit1 以外, 禁止对 SCKCFG 寄存器的其他位写 1。
Rev2.00
- 24 -
2021-02-01
Fremont Micro Devices
名称
SCKEN
SCKOE
FT62F21x
状态
系统时钟输出 [SCKEN:SCKOE] :
地址
SCKCFG[7]
0x = Disable
10 = Disable
11 = Enable
复位值
RW−0
0x98
SCKCFG[1]
表 6-4
Rev2.00
寄存器
RW−0
系统时钟输出(CLKO)控制寄存器
- 25 -
2021-02-01
Fremont Micro Devices
7.
FT62F21x
定时器 (TIMERS)
共有 3 个定时器,包括看门狗定时器(WDT)在内。
WDT
Timer0
Timer2
预分频器 (位)
–
8 (与 WDT 共用)
4 (1x, 4x, 16x)
计数器 (位)
16
8
16
7 (与 Timer0 共用)
–
4 (1 − 16x)
后分频器 (位)
时钟源
HIRC
HIRC
HIRC
LIRC
指令时钟
指令时钟
PA2/T0CKI
4x 指令时钟
(转变沿计数器)
LIRC
表 7-1
定时器资源
注: 如果定时器的时钟源不是指令时钟,在更改 TMRx 之前需先设置“TMRxON = 0”。
当定时器使能时,其所选的时钟源会自动开启。指令时钟在 SLEEP 模式下被关闭,因此不能用于 WDT。
WDT 的后分频器(postscaler)和 Timer0 的预分频器(prescaler)共用同一个硬件分频电路。该硬件电路由
指令选择分配给 WDT 或 Timer0,但二者不能同时使用。未被分配分频器的定时器,其分频比值为“1”。
在 POR 或系统复位时,除 Timer0 的计数器(counter)外,其他所有定时器的计数器、预分频器和后分频
器都将复位。以下事件也将复位相应定时器的计数器和分频器:
WDT
Timer0
–
预分频器
Timer2
写 TMR0
TMR2ON = 0
PSA 切换
LIRC 和 HIRC 交叉校准启动
写 T2CON0, TMR2L/H
WDT 溢出
Timer0 溢出
TMR2 = PR2(匹配)
进入/退出 SLEEP
计数器
CLRWDT
写 WDTCON
WDTCON 和 SWDTEN
同时写 0
除写 WDTCON 外的以
后分频器
–
上所有条件
PSA 切换
表 7-2
除(TMR2ON = 0)外的以上所
有条件
定时器的计数器和分频器的重置事件
一旦发生 PWM 故障刹车,且刹车事件一直保持,那么 Timer2 的计数器、预分频器和后分频器将停止递
增,在故障刹车事件清除后将自动恢复。
PWM 单脉冲输出结束时将自动设置 “TMR2ON = 0”,通过设置 “TMR2ON = 1” 可重新启动 Timer2。
Rev2.00
- 26 -
2021-02-01
Fremont Micro Devices
7.1
FT62F21x
看门狗定时器 (Watch Dog Timer, WDT)
WDT 用于 “从 SLEEP 中唤醒” 或 “CPU 挂起时产生系统复位”。当 WDT 计数到预设数量的时钟周期数
时则产生溢出。
在 SLEEP 模式下,WDT 溢出将触发唤醒。CPU 将从其进入 SLEEP 之前的位置恢复操作。唤醒不
是中断,也不是系统复位事件。
在正常模式(非 SLEEP 模式)下,WDT 溢出将触发系统复位(参阅 章节 4 系统复位)。
到 Timer0
LIRC
来自
Timer0
16-bit
WDT
计数器
HIRC
PSA
WCKSRC
WDT
计时溢出
后分频器
PS
PSA
WDTPS
WDTE
SWDTEN
图 7-1
WDT 结构框图
计时超过看门狗定时时间:WDT-周期 x WDT-后分频比 / WDT 时钟频率,WDT 将溢出。
对于选定的时钟源,由于 WDT 后分频器的二进制特性,看门狗定时时间步长呈连续的倍数关系。选用
LIRC 作为时钟源时,WDT 溢出前可设置的最长定时时间为:
216 x 27 / 32kHz = ~262 seconds.
7.1.1
WDT 相关寄存器汇总
名称
功能
默认
WDT
WDTE
SWDTEN 控制
使能 (指令不能禁止)
通过指令控制 (SWDTEN)
表 7-3 WDT 选项初始化配置寄存器
Rev2.00
- 27 -
2021-02-01
Fremont Micro Devices
FT62F21x
名称
状态
寄存器
地址
复位值
WDT 时钟源
WCKSRC
WDTCON[5]
0 = LIRC
1 = HIRC
RW−0
WDT 周期
WDTPS
SWDTEN
LFMOD
0111 = 4,096
1000 = 8,192
1001 = 16,384
1010 = 32,768
1011 = 65,536
0000 = 32
0001 = 64
0010 = 128
0011 = 256
0100 = 512 (默认)
0101 = 1,024
0110 = 2,048
WDTCON[4:1]
1 = WDT使能
WDTCON[0]
0 = WDT 关闭 (当 WDTE = 0 时)
1: LIRC = 256 kHz
OSCCON[7]
0: LIRC = 32 kHz
WDT 后分频比
PS
xxx
(PSA=1)
(PSA =0)
1
2
4
8
16
32
64
128
1
RW−0
0x8F
OPTION[3]
0 = 分频电路分配给 Timer0 预分频器
000
001
010
011
100
101
110
111
RW−0100
11xx = 65,536
1 = 分频电路分配给WDT后分频器
PSA
0x18
RW−0
RW−1
Timer0 预分频比
(PSA=0)
(PSA =1)
2
4
8
16
32
64
128
256
0x81
OPTION[2:0]
RW−111
1
表 7-4 WDT 相关用户寄存器
7.1.2
WDT 的设置和使用
由 WDTE (初始化配置寄存器) 以及 SWDTEN (用户寄存器) 使能 WDT。
WDT 时钟源由 WCKSRC 选择 (如果选择 LIRC 则由 LFMOD 进一步选定频率),后分频器由 WDTPS,
PSA 和 PS 一起设置。
如需阻止 WDT 溢出,必须在设定的定时时间之前清除 WDT,具体可参阅表 7-2 中的清除 WDT 事件。
WDT 被清除后将重新开始计时。
Rev2.00
- 28 -
2021-02-01
Fremont Micro Devices
7.1.3
FT62F21x
在 Timer0 和 WDT 之间切换分频电路
共用的硬件分频电路可分配给 Timer0 或 WDT 使用,当在 Timer0 和 WDT 之间切换分频电路时可能会
导致系统误复位。
将分频电路从分配给 Timer0 切换至 WDT 时,必须遵循以下指令顺序:
BANKSEL TMR0
CLRWDT
CLRR TMR0
BANKSEL OPTION
BSR OPTION, PSA
; Can skip if already in TMR0 bank
; Clear WDT
; Clear TMR0 and scaler
LDWI b’11111000’
ANDWR OPTION, W
IORWI b’00000101’
STR OPTION
; Mask scaler bits (PS2-0)
; Select WDT
; Set WDT scaler bits to 32 (or any value desired)
将分频电路从分配给 WDT 切换至 Timer0 时,必须遵循以下指令顺序:
CLRWDT
BANKSEL OPTION
LDWI b’11110000’
ANDWR OPTION, W
IORWI b’00000011’
STR OPTION
Rev2.00
; Clear WDT and scaler
; Mask TMR0 select and scaler bits (PSA, PS2-0)
; Set Timer0 scale to 16 (or any value desired)
- 29 -
2021-02-01
Fremont Micro Devices
7.2
FT62F21x
定时器 0 (TIMER0)
BUS
T0CKSRC
InstrClk
HIRC
Sync
TMR0
T0IF
置位
T0CKI
T0CS
T0SE
PSA
8-bit
预分频器
PSA
PS
WDT
计时溢出
WDTE
16-bit
WDT
SWDTEN
PSA
WDTPS
图 7-2
Timer0 结构框图
Timer0 可用作 I/O “PA2−T0CKI” 的上升沿/下降沿计数器,或计时的定时器 (参阅 T0CKSRC)。
Timer0 计数和定时溢出时间 = TMR0[7:0] * Timer0_预分频
Timer0 溢出将置位中断标志位(T0IF),
是否触发中断和/或从睡眠中唤醒则取决于相应的使能控制位(T0IE
和 GIE)。
注:
1. 对 TMR0 进行写操作后的 2 个指令周期内,Timer0 停止递增;
2. 如需从睡眠中唤醒,需设置 “T0CKRUN = 1” 和 “T0CKSRC ≠ 00”,以使 Timer0 的时钟源不是指令
时钟且在 SLEEP 模式下保持运行,否则 Timer0 将停止计数,维持其进入睡眠前的计数值;
3. 如果 Timer0 用于对 T0CKI 进行计数,那么相对于 Timer0,对 T0CKI 有最小周期、高/低脉冲宽度的
要求。除非 T0CKI 非常快且 TT0CK 非常慢,否则通常都满足这些限制条件;
T0CKI
高/低脉冲宽度
周期
最小值
单位
条件
0.5 * TT0CK + 20
ns
无预分频
10
ns
有预分频
20 和 (TT0CK+40)/N 中的较大者
ns
N = 1, 2, 4, …, 256 (有预分频)
N=1
(无预分频)
4. 关于 “在 Timer0 和 WDT 之间切换分频电路” 请参阅 章节 7.1.3;
Rev2.00
- 30 -
2021-02-01
Fremont Micro Devices
7.2.1
FT62F21x
Timer0 相关寄存器汇总
名称
状态
寄存器
地址
复位值
T0ON
Timer0
1 = 使能
0 = 关闭
T0CON0[3]
RW−1
T0CKRUN
SLEEP模式下
T0CK保持运行
1 = Yes (时钟源非指令时钟)
0 = No
T0CON0[2]
RW−0
T0CKSRC
Timer0 时钟源 (T0CS = 0)
00 = 指令时钟
01 = HIRC
1x = 保留值
T0CS
Timer0输入源
T0SE
计数器触发沿
PSA
1 = 分频电路分配给WDT后分频器
0 = 分频电路分配给 Timer0 预分频器
T0CON0[1:0]
RW−00
1 = PA2/T0CKI (计数器)
0 = T0CKSRC (定时器)
OPTION[5]
RW−1
1 = 下降沿
0 = 上升沿
OPTION[4]
RW−1
OPTION[3]
RW−1
WDT 后分频比
000
001
010
011
100
101
110
111
PS
xxx
TMR0[7:0]
(PSA=1)
TIMER0 预分频比
1
2
4
8
16
32
64
128
(PSA =0)
1
T0IE
T0IF
全局中断
Timer0溢出
中断控制位
Timer0溢出
中断标志位
OPTION[2:0]
RW−111
1
0x01
RW−xxxx xxxx
Timer0 相关用户控制寄存器
状态
寄存器
1 = 使能
0 = 全局关闭
(T0IE 适用)
(唤醒不受影响)
1 = 使能
0 = 关闭
(无唤醒)
1 = 已经溢出
0 = 未溢出
表 7-6
Rev2.00
(PSA =1)
0x81
TMR0[7:0]
表 7-5
GIE
(PSA=0)
2
4
8
16
32
64
128
256
Timer0 计数值
名称
0x1F
(锁存)
地址
INTCON[7]
INTCON[5]
INTCON[2]
复位值
RW−0
0x0B
0x8B
RW−0
RW−0
Timer0 中断使能和状态位
- 31 -
2021-02-01
Fremont Micro Devices
7.3
FT62F21x
定时器 2 (TIMER2)
T2CKSRC
InstrClk
...
T2CK
TMR2
预分频器
清0
HIRC
T2CKPS
比较器
EQ
TMR2IF
置位
后分频器
TOUTPS
PAR2ACT
重新加载
PR2
图 7-3
Timer2 结构框图
Timer2 为定时器,也可用于产生 PWM (无后分频器,参阅 章节 10 PWM),及用于 LIRC 和 HIRC 交叉
校准计数(CKCNTI=1)。可同时运用计数匹配和后分频器溢出功能。
Timer2 时钟被送入 Timer2 预分频器(预分频比为 1, 4 或 16),预分频器的输出被用于递增 TMR2 寄存
器,TMR2 从 0x00 开始递增直至与 PR2 匹配。匹配时:
1. TMR2 在下一个递增周期复位为 0x00;
2. Timer2 后分频器递增;
3. 当 Timer2 后分频器的递增输出值与后分频比设置值 (1, 2 …. 15 或 16) 相等时,Timer2 溢出;
4. 中断标志位 TMR2IF 置 1,是否触发中断和/或从睡眠中唤醒则取决于相应的使能控制位(GIE, PEIE
和 TMR2IE);
注:
1. 对 T2CON0 进行写操作并不会清零 TMR2 寄存器。
2. TMR2 和 PR2 都是可读/写寄存器。复位时,其值分别为 0x0000 和 0xFFFF。
3. 当 (“TMR2ON = 1”, “T2CKRUN = 1”, “T2CKSRC ≠ 000”) 时, Timer2 在 SLEEP 模式下将保持运行。
Rev2.00
- 32 -
2021-02-01
Fremont Micro Devices
7.3.1
FT62F21x
Timer2 相关寄存器汇总
名称
T2CKRUN
状态
睡眠时T2CK
保持工作
1 = Yes
0 = No
寄存器
(时钟源非指令时钟)
MSCON[0]
地址
0x1B
复位值
RW−0
更新周期和占空比的即时生效控制位
PR2U
1 = PR2/P1xDTy 缓冲值立即分别更新到 PR2ACT
和 P1xDTyACT
T2CON0[7]
WO1−0
0 = 周期结束后正常更新
Timer2 后分频比
TOUTPS
0000 = 1
0001 = 2
0010 = 3
0011 = 4
0100 = 5
0101 = 6
0110 = 7
0111 = 8
1000 = 9
1001 = 10
1010 = 11
1011 = 12
TMR2ON
Timer2 (PWM单脉冲模
式下自动清0)
1 = 使能
0 = 关闭
T2CKPS
Timer2预分频比
00 = 1
01 = 4
1100 = 13
1101 = 14
1110 = 15
1111 = 16
1x = 16
T2CON0[6:3]
0x12
RW− 0000
T2CON0[2]
RW−0
T2CON0[1:0]
RW−00
Timer2 时钟源
T2CKSRC
000 = 指令时钟
001 = 4x 指令时钟
01x = 保留值
100 = HIRC
101 = LIRC
11x = 保留值
T2CON1[2:0]
0x9E
RW−000
PR2L
PR2 周期寄存器低 8 位
PR2L[7:0]
0x91
RW−1111 1111
PR2H
PR2 周期寄存器高 8 位
PR2H[7:0]
0x92
RW−1111 1111
TMR2L
TMR2 计数结果寄存器低 8 位
TMR2L[7:0]
0x11
RW−0000 0000
TMR2H
TMR2 计数结果寄存器高低 8 位
TMR2H[7:0]
0x13
RW−0000 0000
表 7-7
名称
Timer2 相关用户控制寄存器
状态
寄存器
地址
复位值
GIE
全局中断
1 = 使能
0 = 全局关闭
(PEIE, TMR2IE 适用)
(唤醒不受影响)
PEIE
外设总中断
1 = 使能 (TMR2IE 适用)
0 = 关闭 (无唤醒)
TMR2IE
Timer2与PR2匹配中断
1 = 使能
0 = 关闭 (无唤醒)
PIE1[1]
0x8C
RW−0
TMR2IF
Timer2与PR2匹配中断
标志位
1 = 匹配 (锁存)
0 = 不匹配
PIR1[1]
0x0C
RW−0
表 7-8
Rev2.00
INTCON[7]
0x0B
0x8B
INTCON[6]
RW−0
RW−0
Timer2 中断使能和状态位
- 33 -
2021-02-01
Fremont Micro Devices
7.3.2
FT62F21x
TMR2 寄存器的读/写操作
TMR2H 和 TMR2L 不能同时读或写。通过 TMR2H 的内部缓存 TMR2H_buf 可解决此问题,必须遵循以
下读写顺序:
读 TMR2 时,先读 TMR2L,此时 TMR2H 的值将被锁存到 TMR2H_buf,然后读 TMR2H。当 Timer2
的时钟源不是指令时钟时,需设置 “TMR2ON =0” 以停止计数,然后在读 TMR2 之前执行 1 条 NOP
指令。
写 TMR2 时, 先写 TMR2H, 此时 TMR2H 的值将被储存到 TMR2H_buffer 中。然后写 TMR2L, 此时
TMR2H 和 TMR2L 将同时更新到计数值中。另外,为了避免写入操作和计数之间的竞争,在写操作
前,应设置 “TMR2ON = 0” 以停止计数。
读 TMR2H
TMR2
D
SET
CLR
Q
Q
TMR2
16bit
BUS
TMR2H_buffer
读 TMR2L
TMR2
图 7-4
D
SET
TMR2 读操作结构框图
Q
写 TMR2H
CLR
Q
TMR2H_buffer
BUS
TMR2
16bit
写 TMR2L
图 7-5
Rev2.00
TMR2 写操作结构框图
- 34 -
2021-02-01
Fremont Micro Devices
8.
FT62F21x
SLEEP 睡眠模式 (POWER-DOWN)
睡眠模式下,指令时钟关闭,指令执行停止,大多数模块掉电以降低功耗。如表 8-1 所示,FT62F21x
可根据实际需求在睡眠时有选择地开启各个模块, 而无须指令介入,以使其相应功能如 LVR、LVD、WDT、
Timers 和 PWM 能在 SLEEP 模式下保持运行。一些模块也可配置成进入 SLEEP 后自动关闭,而无须由
指令关闭。
SLEEP 模式下的各模块配置条件
模块
指令时钟
运行
自动关闭?
(始终关闭)
Yes
LVR
LVREN = 00 or (LVREN = 01 & SLVREN=1)
No
LVD
LVDEN = 1
No
WDT
WDTE or SWDTEN
No
TIMER0
T0CKRUN = 1 & T0CKSRC ≠ 00 & T0ON = 1
T0CKRUN=0
TIMER2
T2CKRUN = 1 & T2CKSRC ≠ 000 & TMR2ON = 1
T2CKRUN=0
PWM
(跟随 TIMER2)
HIRC / LIRC / EC
(跟随使用它们的外设状态)
I/O
(除非 SLEEP 时使能 PWM,否则 I/O 将保持其进入 SLEEP 前的状态)
表 8-1
8.1
除指令时钟外,其他模块可根据需求在 SLEEP 模式下保持运行
进入 SLEEP
CPU 通过执行 SLEEP 指令进入睡眠模式。进入睡眠时:
1. 如果 WDT 使能,则 WDT 的后分频器(如果分配给 WDT)和定时器将被清零,并重新开始计时。
2. 超时标志位 (/TF) = 1。
3. 掉电标志位 (/PF) = 0。
4. 时钟源
指令时钟自动关闭;
如果 Timer 在 SLEEP 下保持运行,则其所选用的时钟源 HIRC, LIRC 也将保持运行。 如果某个
Timer 在睡眠中自动关闭,则其时钟源也将自动关闭,除非此时钟源同时被另一个保持运行的
Timer 所使用。
指令时钟自动停止,因此即便配置了输出内部指令时钟,进入睡眠后其输出也将停止。
5. I/O 端口
如果 Timer2 在 SLEEP 下保持运行,则 PWM 输出也将保持。如果 Timer2 自动关闭,那么 PWM
的输出将保持其进入 SLEEP 前的状态。
其他数字输出端口,将保持其进入 SLEEP 之前的状态(高阻态,低电平或高电平)
有关各个外设在 SLEEP 状态下如何工作的详细信息,请查阅相应章节。
Rev2.00
- 35 -
2021-02-01
Fremont Micro Devices
8.2
FT62F21x
从 SLEEP 中唤醒
从睡眠中唤醒有 2 个基本原则:
基于时间,即 CPU 在一定的时间后醒来。建议选择 LIRC 作为计时的时钟源,因为 LIRC 比 HIRC
的功耗更低。
基于事件,即触发 POR,系统复位,仅唤醒而不产生中断,以及产生中断的事件,如 LVD,端口变
化中断,PA2 边沿中断。
1. 如果使能,看门狗定时器可触发唤醒 (参阅 章节 7.1 看门狗定时器)。
2. 完全复位和系统复位:
POR 完全复位 (不能关闭)
通过/MCLR 进行外部系统复位 (如果使能)
LVR 复位 (如果使能)
3. 使能中断 (关闭“全局中断使能”不影响唤醒功能)。请参阅 章节 9 中断。
注:
1. 从睡眠中唤醒将清零 WDT。
2. 紧跟 SLEEP 指令后必须写为 NOP 指令
使用非中断方式 (即未执行“中断服务程序) 从 SLEEP 中唤醒时, 比如 WDT 唤醒或全局中断控制位
(GIE)未使能时的中断事件唤醒,下一条指令将被执行两次。为了避免重复执行,紧跟 SLEEP 的后
面必须为 NOP 指令。
SLEEP
NOP
Rev2.00
// 非中断方式唤醒时,NOP 将执行两遍。
- 36 -
2021-02-01
Fremont Micro Devices
9.
FT62F21x
中断 (INTERRUPTS)
图 9-1
中断结构框图
CPU 支持 7 个中断源,分为 2 组:
1) 非外设中断 (Timer0 和 I/O)
Timer0 溢出
PA2−INT (自动上升沿或下降沿中断)
PORTA 端口变化中断 (软件控制)
2) 外设中断
Timer2 后分频器溢出
DATA EEPROM 写完成
LIRC 和 HIRC 交叉校准完成
LVD 条件匹配
与其他 Timers 不同,WDT 溢出不会产生中断。除外部 I/O 中断外,其他中断请参阅相应章节。
Rev2.00
- 37 -
2021-02-01
Fremont Micro Devices
FT62F21x
产生中断时,PC 跳转并执行 ”中断服务程序(ISR)”。中断的关闭/使能有多层控制:
每个中断源均有其独立的中断使能位:T0IE, INTE, IOCAx, TMR2IE, EEIE, CKMIE, LVDIE。
6 个 PAx 中断输入共用一个端口中断使能位:PAIE (PORTA Interrupt Enable)。
外设中断有一个总中断使能位:PEIE (PEripheral Interrupt Enable)。
如果关闭以上所有控制位,将不会执行从睡眠中唤醒。
所有中断都由全局中断使能位控制:GIE (Global Interrupt Enable)。与其他使能位不同,当关闭全局
中断使能位时,依然允许从睡眠中唤醒。
关闭中断使能位并不影响中断标志位的置位。
中断处理时序如下:
自动设置 “GIE = 0”,从而关闭中断。
返回地址被压入堆栈,程序指针 PC 加载 0x0004 地址。
发生中断后的 1 – 2 个指令周期,跳转到 ”中断服务程序(ISR)” 开始处理中断。
执行 “从中断返回(RETI)” 指令退出 ISR。在 RETI 之前必须清除所有中断标志位。
当 ISR 完成时,PC 返回到中断前的地址,如果在 SLEEP 模式下,则返回到 SLEEP 指令后紧跟的
地址。
在执行 RETI 时自动设置 “GIE = 1”,从而使能中断。
注:
中断过程中,只有返回 PC 地址被自动保存在堆栈上。如果用户需要保存其他重要的寄存器值(如
W, STATUS 寄存器等),必须通过指令将这些值正确地写入临时寄存器中,建议使用 GPR 的最
后 16 个 bytes 作为临时寄存器,因为所有 bank 共用这 16 个 bytes,而不需要切换 bank 以节省
代码。
9.1
中断相关寄存器汇总
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
复位值(RW)
PAIF
0000 0000
名称
地址
INTCON
0x0B
GIE
PEIE
T0IE
PIE1
0x8C
EEIE
CKMIE
PIR1
0x0C
EEIF
OPTION
0x81
/PAPU
TRISA
0x85
−
PORTA 方向控制
--11 1111
IOCA
0x96
−
PORTA 端口变化中断设置
--00 0000
INTE
PAIE
T0IF
LVDIE
−
−
−
TMR2IE
−
000- --0-
CKMIF
LVDIF
−
−
−
TMR2IF
−
000- --0-
INTEDG
T0CS
T0SE
PSA
PS2
PS1
PS0
1111 1111
表 9-1
Rev2.00
INTF
中断相关寄存器地址和默认值
- 38 -
2021-02-01
Fremont Micro Devices
FT62F21x
名称
状态
寄存器
GIE
全局中断
1 = 使能 (PEIE, 各中断独立
使能位适用)
0 = 全局关闭 (唤醒不受影响)
PEIE
外设总中断
1 = 使能
(各中断独立使能位适用)
0 = 关闭 (无唤醒)
T0IE
Timer0 溢出中断
INTE
PA2−INT 外部中断
PAIE
PORTA 端口变化中断
T0IF
Timer0 溢出中断标志位
INTF
PA2−INT 外部中断标志位
PAIF
PORTA 端口变化中断标志位
1 = Yes (锁存)
0 = No
名称
EE 写完成中断
CKMIE
LIRC和HIRC交叉校准完成中断
LVDIE
LVD 中断
TMR2IE
Timer2与PR2匹配中断
RW−0
0x0B
0x8B
RW−0
INTCON[3]
RW−0
INTCON[2]
RW−0
INTCON[1]
RW−0
INTCON[0]
RW−0
寄存器
PIE1[6]
1 = 使能
0 = 关闭 (无唤醒)
PIE1[5]
地址
EEPROM 写完成标志位
CKMIF
LIRC和HIRC交叉校准完成标志位
LVDIF
LVD 中断标志位
TMR2IF
Timer2与PR2匹配标志位
名称
1 = Yes (锁存)
0 = No
RW−0
RW−0
RW−0
地址
PIR1[6]
PIR1[5]
复位值
RW−0
0x0C
PIR1[1]
RW−0
RW−0
RW−0
PIR1 寄存器
寄存器
PORTA 上拉
0 = 由 WPUA 控制
PA2 中断沿
1 = 上升沿
0x8C
寄存器
状态
1 = 全局关闭
RW−0
PIR1[7]
表 9-4
复位值
PIE1 寄存器
状态
EEIF
RW−0
INTCON[4]
PIE1[1]
名称
INTEDG
INTCON[6]
PIE1[7]
表 9-3
/PAPU
RW−0
INTCON 寄存器
状态
EEIE
复位值
INTCON[7]
INTCON[5]
1 = 使能
0 = 关闭 (无唤醒)
表 9-2
地址
地址
OPTION[7]
RW−1
0x81
OPTION[6]
0 = 下降沿
复位值
RW−1
PORTA I/O 数字输出 (方向控制)
TRISA
1 = 输入 (关闭数字输出)
TRISA[5:0]
0x85
RW−111111
IOCA[5:0]
0x96
RW−000000
0 = 关闭上拉/下拉
IOCA
PORTA 端口变化中断
1 = 使能
0 = 关闭
表 9-5
Rev2.00
OPTION,TRISA 和 IOCA 寄存器
- 39 -
2021-02-01
Fremont Micro Devices
9.2
FT62F21x
PA2-INT 和 PORTA 端口变化中断
PA2-INT
名称
PORTA 端口变化中断
通道数
仅PA2
PA0 – PA5 (多达6个通道)
I/O 设置
TRISA[2] = 1
TRISA[x] = 1
其他设置
INTEDG, INTE, GIE, INTF
IOCA, PAIE, GIE, PAIF
触发
上升沿或下降沿 (二选一)
0→1 或 1→0
No
需要软件监控?
表 9-6
需要
PA2-INT 和 PORTA 端口变化中断之间的区别
PA2-INT 和 PORTA 端口变化中断均为外部 I/O 中断,而两者对 PA2 均适用。如果设置正确,PA2-INT
将在后台运行而无需监督。PORTA 端口变化中断则需要持续的软件监控。对于 PORTA 端口变化中断:
1. 将输入寄存器值锁存到端口变化中断锁存器中(通过读 PORTA)。
2. 当输入电平变化时,输入寄存器值与锁存器值之间的差异将置位 PAIF。
3. 输入寄存器的锁存过程(即读 PORTA 的过程)将更新用于比较的参考电平,如果在 PAIF 置位后立即
读 PORTA 即可清除端口变化中断的触发条件。当端口不匹配事件不再存在时,PAIF 可通过指令清
除。
Busx
D
写 IOCA
Q
IOCAx
EN
D
PAIF 置位
Q
读 PORTA
EN
D
Instr.Clk or
SLEEP
图 9-2
Rev2.00
Q
EN
PORTA 转变沿中断
- 40 -
2021-02-01
Fremont Micro Devices
10.
FT62F21x
PWM
P1ADT
死区
S
R
SET
CLR
P1AzP
P1Az
Q
Q
P1ADTACT
=
S
死区
R
SET
CLR
P1AzNP
Q
P1xyP
S
=
R
SET
CLR
P1AzN
Q
P1xy
Q
Q
TMR2
=
EQ
PR2ACT
P1xDTACT
注:
x = B, C, D
y = 0, 1
Z=0
PR2
P1xDT
图 10-1 PWM 结构框图
PWM 特性:
4 路周期相同 (由 Timer2 控制),且独立占空比的 PWM 通道:P1A, P1B, P1C, P1D
通道 1 带有互补输出:/P1A
1 路带死区控制的 PWM 通道:P1A, /P1A
16−bit 的分辨率
每路 PWM 输出极性可独立控制
带可选自动重启功能的多种故障刹车事件
PWM3 和 PWM4 可映射到 2 个 I/O
XOR/XNOR 第 2 功能输出
蜂鸣器模式
单脉冲输出模式
周期和占空比寄存器双缓冲读写设计
SLEEP 模式下的 PWM 操作 – 不管是否处于 SLEEP 状态, 只要 Timer2 保持运行(参阅 章节 7.3
Timer2),且 PWM 使能,那么 PWM 将一直保持运行。而 Timer2 如需在 SLEEP 下运行,其时钟源不可
选择指令时钟。如果 SLEEP 模式下 Timer2 自动关闭,那么 PWM 的输出将保持其进入 SLEEP 前的状
态。
Rev2.00
- 41 -
2021-02-01
Fremont Micro Devices
10.1
FT62F21x
PWM 相关寄存器汇总
Timer2 周期
MSB
Timer2 计数器
LSB
MSB
占空比
LSB
死区时间
MSB
LSB
P1ADTH
P1ADTL
P1DC
P1BDTH
P1BDTL
−
PWM3
P1CDTH
P1CDTL
−
PWM4
P1DDTH
P1DDTL
PWM1
/PWM1
PWM2
PR2H
名称
PR2L
TMR2H
TMR2L
bit 7
地址
bit 6 - 0
复位值(RW)
PR2H
0x92
PR2 周期高 8 位
1111 1111
PR2L
0x91
PR2 周期低 8 位
1111 1111
TMR2H
0x13
Timer2 计数器高 8 位
0000 0000
TMR2L
0x11
Timer2 计数器低 8 位
0000 0000
P1ADTH
0x14
P1A 占空比高 8 位
0000 0000
P1ADTL
0x0E
P1A 占空比低 8 位
0000 0000
P1BDTH
0x15
P1B 占空比高 8 位
0000 0000
P1BDTL
0x0F
P1B 占空比低 8 位
0000 0000
P1CDTH
0x1A
P1C 占空比高 8 位
0000 0000
P1CDTL
0x10
P1C 占空比低 8 位
0000 0000
P1DDTH
0x09
P1D 占空比高 8 位
0000 0000
P1DDTL
0x08
P1D 占空比低 8 位
0000 0000
P1CON
0x16
P1AUE
0000 0000
P1DC (死区时间)
表 10-1 PWM 时序设置
通道分配
名称
P1BR1
输出使能
Ch 0
Ch 1
PWM1
PA3
−
P1A0OE
−
P1A0P
/PWM1
PA4
−
P1A0NOE
−
P1A0NP
PWM2
PA4
−
P1BOE
−
P1BP
PWM3
PA2
PA0
P1COE
P1CALT
P1CP
PWM4
PA1
PA5
P1DOE
P1DALT
P1DP
bit 7
bit 6
P1DSS [1:0]
bit 5
bit 4
P1D2SS [1:0]
P1OE
P1COE
P1BOE
P1DOE
−
P1POL
P1CP
P1BP
P1DP
−
Ch 0
极性
bit 3
P1CALT
bit 2
P1DALT
P1C2SS[1:0]
−
−
Ch 1
bit 1
Ch 0
bit 0
P1CSS [1:0]
地址
复位值(RW)
0x19
0000 0000
P1A0NOE
P1A0OE
0x90
000− 0000
P1A0NP
P1A0P
0x99
000− −−00
表 10-2 PWM 输出极性 (1 = 反向, 0 = 正常) 和输出使能位 (1 = 使能, 0 = 关闭)
Rev2.00
- 42 -
2021-02-01
Fremont Micro Devices
FT62F21x
关闭 = 0, 使能 = 1
异或(XOR) = 0, 同或(XNOR) = 1
第 2 功能
Ch 0
Ch 1
Ch 0
Ch 1
PWM1
−
−
−
−
N/A
/PWM1
−
−
−
−
N/A
PWM2
−
−
−
−
N/A
PWM3
−
−
−
−
N/A
PWM4
−
P1DF2E
−
P1DF2
P1B xor/xnor P1C
名称
地址
bit 7 ~ bit 2
bit 1
bit 0
复位值 (RW)
P1AUX
0x1E
−
P1DF2E
P1DF2
00
表 10-3 PWM 第 2 功能
名称
4 路 PWM 通道通用控制
寄存器
地址
复位值
T2CON0[7]
0x12
WO1−0
更新周期和占空比的即时生效控制位
PR2U
1 = PR2/P1xDTy 缓冲值立即分别更新到 PR2ACT 和
P1xDTyACT
0 = 周期结束后正常更新
P1BZM
1 = 蜂鸣器 (Buzzer) 模式,50%占空比
0 = 正常 PWM 模式
T2CON1[3]
P1OS
1 = 单脉冲 (One pulse) 模式
0 = 正常连续模式
T2CON1[4]
RW−0
0x9E
RW−0
表 10-4 4 路 PWM 通道的通用功能控制
名称
控制
寄存器
地址
复位值
P1BR0[6:4]
0x17
RW−000
P1CON[7]
0x16
RW−0
PWM 故障源
P1BKS
000: 禁止故障刹车功能
001: BK0 = 0
010: BK0 = 1
011: LVDW = 1
100: LVDW = 1 or BK0 = 0
101: LVDW = 1 or BK0 = 1
11x: 禁止故障刹车功能
PWM 自动重启
P1AUE
1 = 当故障条件被清除时,P1BEVT 自动清零,PWM 自动重启
0 = 当故障条件被清除时,P1BEVT 由指令清零,PWM 重启
表 10-5 PWM 故障刹车源和自动重启
名称
P1BEVT
状态
PWM 发生故障事件标志位
1 = Yes (锁存,直至被清零)
0 = No
寄存器
地址
复位值
P1BR0[7]
0x17
RW−0
表 10-6 PWM 故障事件状态位
Rev2.00
- 43 -
2021-02-01
Fremont Micro Devices
FT62F21x
名称
地址
bit 7
P1BR0
0x17
P1BEVT
P1BR1
0x19
P1AUX
0x1E
bit 6
bit 5
bit 4
bit 3
P1BKS [2:0]
P1DSS
P1D2SS
bit 2
P1BSS
P1CALT
P1DALT
−
PWM1
/PWM1
PWM2
P1BSS
PWM3
P1CSS
P1C2SS(1)
PWM4
P1DSS
P1D2SS(1)
复位值(RW)
0000 0000
P1CSS
0000 0000
P1DF2
−−−− −−00
备注
Ch 1
P1ASS
bit 0
P1ASS
P1DF2E
故障下,引脚输出状态
Ch 0
bit 1
00 = 高阻;
01 = 逻辑 “0”
1x = 逻辑 “1”;
如 p1xxp = 0, 逻辑 “0” = 0
如 p1xxp = 1, 逻辑 “0” = 1
(1)
00 = 高阻;
01 = 0
1x = 1
表 10-7 PWM 发生故障时的输出状态
10.2
时钟源
4 路 PWM 通道的专用定时器为 Timer2,其可选择的 4 个时钟源如下:
1x or 4x 指令时钟
HIRC
LIRC
具体时钟源设置请参阅 章节 7.3 Timer2.
10.3
周期 (Period)
PWM 周期由 Timer2 的 PR2 (PR2H + PR2L) 周期寄存器决定,如 公式 10-1:
公式 10-1
PWM 周期 = (PR2 + 1)*TT2CK*(TMR2 预分频值)
当 Timer2 的计数结果寄存器 TMR2 与 PR2 相等时:
Timer2 的周期和占空比寄存器(PR2ACT 和 P1xDTACT)被更新。
TMR2 被清零,即 “TMR2 = 0”。
P1A0, P1B0, P1Cx, P1Dx 输出逻辑 1”。
10.4
占空比 (Duty Cycle)
4 路 PWM 均具有独立的占空比,由相应的 2 x 8−bit 寄存器 (P1xDTH, P1xDTL) 设置。P1xDTH 为高 8
位而 P1xDTL 为低 8 位。由于内部的双缓冲设计,P1xDTH 和 P1xDTL 寄存器可在任何时刻被更新写入。
PWM 脉宽(Pulse width) 和占空比(Duty cycle) 分别由 公式 10-2 和 公式 10-3 计算得出:
公式 10-2
脉宽 = P1xDT*TT2CK*(TMR2 预分频值)
公式 10-3
占空比 = P1xDT ÷ (PR2+1)
Rev2.00
- 44 -
2021-02-01
Fremont Micro Devices
10.5
FT62F21x
死区 (Deadband) 时间
图 10-2 PWM 死区时间时序图
如果 P1DC ≠ “00 0000”,P1Ax 和 P1AxN (/P1A) 的低到高转换沿将产生延迟,延迟时间即为”死区”时
间。有效脉宽和占空比也相应减小。死区定时器以Timer2时钟作为计数时钟源。
10.6
故障刹车 (Fault-Break) 功能
4 路 PWM 均支持故障刹车功能。一旦发生故障刹车事件,且只要故障条件一直存在,PWM 输出引脚将
根据其设置一直输出预定状态。TMR2ON 不受影响。故障刹车事件可以为下列条件之一:
BK0 = 0
BK0 = 1
LVDW = 1 (LVDDEB 使能消抖,用于 LVDW 的滤波)
LVDW = 1, BK0 = 0
LVDW = 1, BK0 = 1
注:
P1BEVT 为故障事件状态位。LVDW 不锁存,反映 LVD 的实时比较结果。
故障刹车时的输出状态 – 故障刹车时,P1x 输出可以为输入状态(高阻),输出逻辑高或逻辑低。注意,
P1C1, P1D1 的故障输出状态的控制逻辑与其他 I/O 不同。
故障清除 – 只要故障条件有效,P1BEVT 便不能由指令清零。只有当故障条件被清除时,P1BEVT 才可
被指令清零。
自动重启模式 – 发生故障刹车时,Timer2 将停止计数。当故障事件结束后,Timer2 将从其停止处恢复
计数。4 路 PWM 输出可同时配置成自动重启模式,否则 PWM 输出必须由指令重启。
10.7
周期和占空比寄存器的更新
周期和各占空比寄存器可随时被更新写入,但除非使用 PR2U 来使其立即强制更新,否则直至下一个周
期到来时其更新值才会真正有效。
注:
指令可读 PR2 和 P1xDTL, P1xDTH 寄存器,而 xxxACT 对软件不可见。
Rev2.00
- 45 -
2021-02-01
Fremont Micro Devices
FT62F21x
Timer2 相关寄存器
P1xDT
P1xDTACT
PR2
PR2ACT
PR2U_WR1
TMR2_MAT
TMR2ON
图 10-3 Timer2 寄存器的更新
周期和占空比寄存器的双缓冲读写设计可确保在大部分情况下减少 PWM 输出的毛刺,但如果在非常接
近一个周期结束时去更新这些寄存器(特别是在 Timer2 的频率比系统时钟 Sysclk 快的情况下),则可能发
生不可预知的情况,且可能导致 xxxACT 寄存器的值被改为非期望值。
图 10-4 PR2ACT 值被更新成 FFF (期望值为 F00)
因此强烈建议在一个新的周期开始后立即更新 PR2 和 xxxDTx 寄存器。
10.8
PWM 输出
重映射 – 4 路独立占空比的 PWM 通道 P1A, P1B, P1C, P1D, 可映射到不同的 I/O 引脚。
PWM3 和 PWM4
可分别映射到 2 个 I/O,PWM1 和 PWM2 可分别映射到 1 个 I/O。
蜂鸣器 (Buzzer) 模式 – 输出周期为 (2*(PR2+1)*TT2CK *(TMR2 预分频值)。P1A, P1B, P1C, P1D 将输
出 50%占空比的方波。
Rev2.00
- 46 -
2021-02-01
Fremont Micro Devices
FT62F21x
图 10-5 蜂鸣器模式的输出时序图
单脉冲输出 – P1A, P1B, P1C, P1D 将只产生一次相应的单脉冲。
注意:[P1C1]和 [P1D1] 不支持。
10.9
(P1B, P1C) 的第 2 功能输出
PA5 = P1B xor P1C (或 P1B xnor P1C,参阅 “P1DF2E”,表 10-3)。
P1DF2
P1DF2E
P1B
P1C
P1D
P1DALT
PORTA5
TRISA5
PA5
图 10-6 第 2 功能输出结构框图
图 10-7 P1D 的第 2 功能时序图
Rev2.00
- 47 -
2021-02-01
Fremont Micro Devices
11.
FT62F21x
数据 EEPROM (DATA EEPROM)
片内集成有 128 x 8−bit 的非易失性 DATA EEPROM 存储区,并独立于主程序区。此数据存储区的典型
擦写次数可达 100 万次。可通过指令进行读/写访问,每次可读取或写入的单位为 1 个 byte (8−bit),没
有页模式(page mode)。擦除/编程实现了硬件自定时,无需软件查询,以节省有限的代码空间。因此写
操作可在后台运行,不影响 CPU 执行其他指令,甚至可进入 SLEEP 状态。
读操作需要 2 个指令时钟周期,而写操作需要的时间为 TWRITE-EEPROM (3 ~ 5 ms)。芯片内置有电荷泵,
因此不需要提供外部高压,即可对 EEPROM 区进行擦除和编程。写操作完成时将置位相应的中断标志
位 EEIF。
不支持连续读(sequential READ) 或连续写(sequential WRITE),因此每次读/写都必须更新相应的地址。
只要 VDD ≥ VPOR, CPU 即可在 8 MHz / 4T 的速度下运行, 在高温下甚至可低至 1.5V 左右。而写 DATA
EEPROM 所需的电压(VDD-WRITE) 较高。
工业级和汽车 1 级的最低 VDD-WRITE 分别为 1.9V 和 2.2V。
读 DATA
EEPROM 没有此最低电压限制(参阅 VDD-READ)。
11.1
DATA EEPROM 相关寄存器汇总
名称
状态
寄存器
地址
复位值
EEDAT
DATA EEPROM 数据
EEDAT[7:0]
0x9A
RW−0000 0000
EEADR
DATA EEPROM 地址
EEADR[7:0]
0x9B
RW−0000 0000
DATA EEPROM 写使能 (bit 3)
WREN3
WREN2
111
= 使能, 完成后重置为 000
(其他)
= 关闭
DATA EEPROM 写使能 (bit 2)
EECON1[5]
RW−0
EECON1[4]
RW−0
DATA EEPROM 写错误标志位
WRERR
EECON1[3]
1 = 中止 (发生 MCLR 或 WDT 复位)
0x9C
RW−x
0 = 正常完成
WREN1
DATA EEPROM 写使能 (bit 1)
EECON1[2]
RW−0
EECON1[0]
RW−0
DATA EEPROM 读控制位
RD
1 = Yes (保持 4 个 SysClk 周期,然后 = 0)
0 = No
DATA EEPROM 写控制位
WR
1 = 启动一次写或写正在进行中 (完成后重置为 0)
EECON2[0]
0x9D
RW−0
0 = 完成
表 11-1
Rev2.00
EEPROM 相关用户控制寄存器
- 48 -
2021-02-01
Fremont Micro Devices
FT62F21x
名称
状态
寄存器
地址
复位值
GIE
全局中断
1 = 使能
(PEIE, EEIE 适用)
0 = 全局关闭
(唤醒不受影响)
PEIE
外设总中断
1 = 使能 (EEIE 适用)
0 = 关闭 (无唤醒)
INTCON[6]
EEIE
EEPROM 写完成中断
1 = 使能
0 = 关闭 (无唤醒)
PIE1[7]
0x8C
RW−0
EEIF
EEPROM 写完成中断
标志位
1 = Yes (锁存)
0 = No
PIR1[7]
0x0C
RW−0
表 11-2
11.2
INTCON[7]
0x0B
0x8B
RW−0
RW−0
EEPROM 中断使能和状态位
写 DATA EEPROM
1.
设置 “GIE = 0”;
2.
判断 GIE,如果 “GIE = 1”, 则重复步骤 (1);
3.
往 EEADR 写入目标地址;
4.
往 EEDAT 写入目标数据;
5.
设置 “WREN3, WREN2, WREN1” = “1, 1, 1”,并在整个编程过程中保持此设置;
6.
须立即设置 “WR = 1” 以启动写 (否则将中止);
7.
编程完成 (编程时间请参阅 TWRITE-EEPROM) 后,”WR” 和 “WREN3, WREN2, WREN1” 都将自动清
0;
示例程序:
BCR INTCON, GIE
BTSC INTCON, GIE
LJUMP $-2
BANKSEL EEADR
LDWI 55H
STR EEADR
STR EEDAT
LDWI 34H
STR EECON1
BSR EECON2, 0
BSR INTCON, GIE
; 地址为 0x55
; 数据为 0x55
; WREN3/2/1 同时置 1
; 启动写
; GIE 置 1
注:
1. 将数据写入字节(byte)的过程包括 2 步:先自动擦除字节,再编程字节。
2. 当编程正在进行中时,对 Data EEPROM 进行读操作将导致读取结果错误。
3. 如果编程完成前,WREN3, WREN2 或 WREN1 任意一位被清 0,在下次编程前需清除 EEIF 标志位。
Rev2.00
- 49 -
2021-02-01
Fremont Micro Devices
11.3
FT62F21x
读 DATA EEPROM
将目标地址写入 EEADR 寄存器,然后启动读 (“RD = 1”)。2 个指令时钟周期后,EEPROM 数据被写入
EEDAT 寄存器,因而必须在读指令之后紧跟一条 NOP 指令。EEDAT 寄存器将保持此值直至下一次读
或写操作。
读 DATA EEPROM 的示例程序如下:
BANKSEL EEADR
LDWI dest_addr
STR EEADR
BSR EECON1, RD
NOP
LDR EEDAT, W
Rev2.00
; 读等待
; 此时,数据可由指令读取
- 50 -
2021-02-01
Fremont Micro Devices
12.
TOUCH 模块
12.1
TOUCH 触摸按键功能
FT62F21x
FT62F21x 片内集成多路触控按键功能, 可替代传统的机械式轻触按键, 外围简单, 安全性高
多达 4 个触摸按键
通过外接参考电容 CREF 调节灵敏度 (推荐 10nF)
抗干扰能力强
用户可通过仿真器 IDE 内置的 FMDToutchTool 软件及库函数快速开发触摸相关应用,开发界面示例如下:
图 12-1 Touch 开发界面
Rev2.00
- 51 -
2021-02-01
Fremont Micro Devices
13.
FT62F21x
存储区读/写保护
程序区(PROM)和数据 EEPROM(DROM)可配置为全区读保护。此保护功能由 IDE 界面进行选择配置。
名称
CPB
功能
PROM 和 DROM 全区读保护
默认
关闭
表 13-1 存储区读/写保护初始化配置寄存器
Rev2.00
- 52 -
2021-02-01
Fremont Micro Devices
14.
FT62F21x
指令集 (INSTRUCTION SET)
汇编语法
功能
运算
状态位
NOP
空操作
None
NONE
SLEEP
进入 SLEEP 模式
0 → WDT; Stop OSC
/PF, /TF
CLRWDT
清看门狗 (喂狗)
0 → WDT
/PF, /TF
LJUMP N
无条件跳转
N → PC
NONE
LCALL N
调用子程序
N → PC; PC + 1 → Stack
NONE
RETI
从中断返回
Stack → PC; 1 → GIE
NONE
RET
从子程序返回
Stack → PC
NONE
BCR R, b
将寄存器 R 的 b 位清 0
0 → R(b)
NONE
BSR R, b
将寄存器 R 的 b 位置 1
1 → R(b)
NONE
CLRR R
将寄存器 R 清 0
0→R
Z
LDR R, d (MOVF)
将 R 存到 d
R→d
Z
COMR R, d
R 的反码
/R → d
Z
INCR R, d
R+1
R+1→d
Z
INCRSZ R, d
R + 1,结果为 0 则跳过
R+1→d
NONE
DECR R, d
R−1
R−1→d
Z
DECRSZ R, d
R − 1,结果为 0 则跳过
R−1→d
NONE
SWAPR R, d
将寄存器 R 的半字节交换
R(0-3)R(4−7) → d
NONE
RRR R, d
R 带进位循环右移
R(0) → C; R(n) → R(n−1); C → R(7);
C
RLR R, d
R 带进位循环左移
R(7) → C; R(n) → R(n+1); C → R(0);
C
BTSC R, b
位测试,结果为 0 则跳过
Skip if R(b)=0
NONE
BTSS R, b
位测试,结果为 1 则跳过
Skip if R(b)=1
NONE
CLRW
将工作寄存器 W 清 0
0→W
Z
STTMD
将 W 内容存到 OPTION
W → OPTION
NONE
CTLIO R
设置 I/O 方向控制寄存器 TRISr
W → TRISr
NONE
STR R (MOVWF)
将 W 存到 R
W→R
NONE
ADDWR R, d
W 与 R 相加
W+R→d
C, HC, Z
SUBWR R, d
R 减 W
R − W → d ( R+ /W + 1→ d)
C, HC, Z
ANDWR R, d
W 与 R 相与
R&W→d
Z
IORWR R, d
W 与 R 相或
W|R→d
Z
XORWR R, d
W 与 R 异或
W^R→d
Z
LDWI I (MOVLW)
将立即数存到 W
I→W
NONE
ANDWI I
W 与立即数 I 相与
I&W→W
Z
IORWI I
W 与立即数 I 相或
I|W→W
Z
XORWI I
W 与立即数 I 异或
I^W→W
Z
ADDWI I
W 与立即数 I 相加
I+W→W
C, HC, Z
SUBWI I
立即数 I 减 W
I−W→W
C, HC, Z
RETW I
返回,将立即数 I 存到 W
Stack → PC; I → W
NONE
表 14-1 37 条 RISC 指令
Rev2.00
- 53 -
2021-02-01
Fremont Micro Devices
FT62F21x
字段
描述
R(F)
SFR/GPR 地址
W
工作寄存器
b
8-bit 寄存器 R / RAM 中的位地址
I / Imm (k)
立即数
X
不关心,值可以为 0 或 1
d
目标寄存器选择
1 = 结果存放到寄存器 R / RAM
0 = 结果存放到 W
N
程序绝对地址
PC
程序计数器
/PF
掉电标志位
/TF
超时标志位
TRISr
TRISr 寄存器, r 可以是 A
C
进位 / 借位
HC
半进位 / 半借位
Z
0 标志位
表 14-2 操作码字段
名称
状态
寄存器
地址
复位值
0标志位:算术或逻辑运算的结果为零?
Z
HC
C
STATUS[2]
1 = Yes
0 = No
半进位 / 半借位 (ADDWR, ADDWI, SUBWI, SUBWR):
结果的第4低位向高位发生了进位或借位?
1 = 进位,或未借位
0 = 未进位,或借位
进位 / 借位 (ADDWR, ADDWI, SUBWI, SUBWR):结果
的最高位发生了进位或借位?
1 = 进位,或未借位
0 = 未进位,或借位
STATUS[1]
STATUS[0]
RW−x
0x03
0x83
RW−x
RW−x
表 14-3 计算状态标志位
Rev2.00
- 54 -
2021-02-01
Fremont Micro Devices
15.
FT62F21x
特殊功能寄存器 (SPECIAL FUNCTION REGISTERS, SFR)
有 2 种特殊功能寄存器(SFR):
初始化配置寄存器: 由仿真器界面设置(Integrated Development Environment, IDE);
用户寄存器;
15.1
初始化配置寄存器
图 15-1 由 IDE 设置的初始化配置寄存器
Rev2.00
- 55 -
2021-02-01
Fremont Micro Devices
FT62F21x
名称
功能
默认
CPB
PROM 和 DROM 全区读保护
关闭
MCLRE
外部 I/O 复位
关闭
PWRTEB
上电延时定时器(PWRT),初始化配置完成后额外延时~64ms
关闭
WDT
WDTE
SWDTEN
控制
使能 (指令不能禁止)
由指令控制 (SWDTEN)
FOSC
RDCTRL
EC:PA3 (+) 接外部时钟输入 (注意:需设置 TRISA[3] = 1)
INTOSCIO:PA3 为 I/O
当 TRISx = 0 (输出使能) 时,读 PORTx 寄存器的返回值
输入锁存器
输出锁存器
INTOSCIO
输出
LVR
LVREN
使能
关闭
关闭
通过指令控制 (SLVREN)
MBTEB
MCLRE 复位启动初始化配置
LVRS
7 档 VBOR 电压(V): 2.0 / 2.2 / 2.5 / 2.8 / 3.1 / 3.6 / 4.1
关闭
2.5
表 15-1 初始化配置寄存器 (由 IDE 设置)
Rev2.00
- 56 -
2021-02-01
Fremont Micro Devices
15.2
FT62F21x
用户寄存器
用户寄存器,即特殊功能寄存器(SFR)分布在 2 个 bank 中。在访问寄存器前,必须先切换到相应的 bank。
图 15-2 间接寻址
因为在切换 bank 时需要额外的指令,因此一些常用的 SFR 同时存储在 2 个 bank 中,以减少切换操作,
这些 2 个 bank 所共有的寄存器值是同步的。
地址
名称
bit 7
bit 6
bit 5
0, 80
INDF
2, 82
PCL
3, 83
STATUS
4, 84
FSR
A, 8A
PCLATH
−
−
−
B, 8B
INTCON
GIE
PEIE
T0IE
0x70 − 0x7F
0xF0 − 0xFF
bit 4
bit 3
bit 2
bit 1
bit 0
使用 FSR 的内容对数据存储器进行访问 (非物理寄存器)
xxxx xxxx
程序计数器 (PC) 低 8 位
−
−
PAGE
/TF
/PF
0000 0000
Z
HC
C
程序计数器 (PC) 高 5 位锁存器
PAIE
公共 BANK SRAM 区
−−01 1xxx
xxxx xxxx
间接寻址指针寄存器
INTE
复位值
T0IF
INTF
−−−0 0000
PAIF
0000 0000
xxxx xxxx
表 15-2 2 个 BANK 共有的寄存器
Rev2.00
- 57 -
2021-02-01
Fremont Micro Devices
地址
名称
bit 7
FT62F21x
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
复位值
0
INDF
使用 FSR 的内容对数据存储器进行访问 (非物理寄存器)
xxxx xxxx
1
TMR0
Timer0 计数器
xxxx xxxx
2
PCL
程序计数器低 8 位
0000 0000
3
STATUS
4
FSR
5
PORTA
−
−
PAGE
/TF
/PF
Z
HC
C
xxxx xxxx
间接寻址指针寄存器
−
−
PA5
PA4
−−01 1xxx
PA3
PA2
PA1
PA0
−−xx xxxx
6
−
−
−−−− −−−−
7
−
−
−−−− −−−−
8
P1DDTL
P1D 占空比寄存器低 8 位
0000 0000
9
P1DDTH
P1D 占空比寄存器高 8 位
0000 0000
A
PCLATH
−
−
−
B
INTCON
GIE
PEIE
T0IE
INTE
PAIE
T0IF
INTF
PAIF
0000 0000
C
PIR1
EEIF
CKMIF
LVDIF
−
−
−
TMR2IF
−
000− −−0−
D
FOSCCAL
−
−
E
P1ADTL
P1A 占空比寄存器低 8 位
0000 0000
F
P1BDTL
P1B 占空比寄存器低 8 位
0000 0000
10
P1CDTL
P1C 占空比寄存器低 8 位
0000 0000
11
TMR2L
TMR2 [7:0], TMR2 低 8 位
0000 0000
12
T2CON0
13
TMR2H
TMR2 [15:8], TMR2 高 8 位
0000 0000
14
P1ADTH
P1A 占空比寄存器高 8 位
0000 0000
15
P1BDTH
P1B 占空比寄存器高 8 位
0000 0000
16
P1CON
P1AUE
17
P1BR0
P1BEVT
18
WDTCON
19
P1BR1
1A
P1CDTH
1B
MSCON
1C
SOSCPRL
1D
SOSCPRH
−
−
−
−
1E
P1AUX
−
−
−
−
−
−
1F
T0CON0
−
−
−
−
T0ON
T0CKRUN
PR2U
LVDP
程序计数器高 5 位锁存器
−−−0 0000
FOSCCAL [5:0]
TOUTPS [3:0]
TMR2ON
−−xx xxxx
T2CKPS [1:0]
P1DC [6:0]
−
P1DSS [1:0]
0000 0000
P1BKS [2:0]
P1BSS [1:0]
WCKSRC
WDTPS [3:0]
P1D2SS [1:0]
P1CALT
P1DALT
P1ASS [1:0]
SWDTEN
P1CSS [1:0]
P1C 占空比寄存器高 8 位
−
−
−
−
SLVREN
0000 0000
0000 0000
0−00 1000
0000 0000
0000 0000
CKMAVG
CKCNTI
T2CKRUN
SOSCPR [7:0]
−−−− 0000
1111 1111
SOSCPR [11:8]
P1DF2E
−−−− 1111
P1DF2
T0CKSRC [1:0]
−−−− −−00
−−−− 1000
20–3F
−
xxxx xxxx
40–7F
SRAM BANK0, (64 Bytes) 物理地址 0x40–0x7F
xxxx xxxx
表 15-3 SFR, BANK 0
Rev2.00
- 58 -
2021-02-01
Fremont Micro Devices
地址
名称
bit 7
80
INDF
81
OPTION
82
PCL
83
STATUS
84
FSR
85
TRISA
−
86
TKCON
−
87
88
FT62F21x
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
使用 FSR 的内容对数据存储器进行访问 (非物理寄存器)
/PAPU
INTEDG
T0CS
T0SE
PSA
PS2
xxxx xxxx
PS1
PS0
程序计数器低 8 位
−
−
PAGE
/TF
/PF
Z
HC
C
TKEN
−
−−11 1111
TKCHE[3:0]
−000 0000
−
PSRCA
−
−−01 1xxx
xxxx xxxx
TRISA [5:0]
TKCHGS[1:0]
1111 1111
0000 0000
间接寻址指针寄存器
−
复位值
−−−− −−−−
PSRCA5[1:0]
PSRCA4[1:0]
−−−− 1111
89
−
−
−−−− −−−−
8A
PCLATH
−
−
−
8B
INTCON
GIE
PEIE
T0IE
INTE
PAIE
T0IF
INTF
PAIF
0000 0000
8C
PIE1
EEIE
CKMIE
LVDIE
−
−
−
TMR2IE
−
000− −−0−
8D
LVDCON
8E
PCON
8F
OSCCON
LFMOD
90
P1OE
P1COE
91
PR2L
PR2 [7:0], Timer2 周期寄存器低 8 位
1111 1111
92
PR2H
PR2[15:8], Timer2 周期寄存器高 8 位
1111 1111
93
−
−
−−−− −−−−
94
−
−
−−−− −−−−
程序计数器高 5 位锁存器
−
LVDDEB
LVDL [3:0]
IRCF [2:0]
P1BOE
P1DOE
−
−−−0 0000
LVDM[1:0]
−−−− −100
LVDEN
LVDW
/POR
/BOR
0000 0xqq
−
HTS
LTS
−
0101 −00−
P1A0NOE
P1A0OE
000− 0000
P1C2SS[1:0]
95
WPUA
−
−
WPUA [5:0]
−−11 1111
96
IOCA
−
−
IOCA [5:0]
−−00 0000
97
PSINKA
−
−
−
−
−
−
98
SCKCFG
SCKEN
−
−
−
−
−
SCKOE
−
0−−− −−0−
99
P1POL
P1CP
P1BP
P1DP
−
−
−
P1A0NP
P1A0P
000− −−00
9A
EEDAT
EEDAT [7:0]
0000 0000
9B
EEADR
EEADR [7:0]
0000 0000
9C
EECON1
−
−
WREN3
WREN2
WRERR
WREN1
−
RD
−−00 x0−0
9D
EECON2
−
−
−
−
−
−
−
WR
−−−− −−−0
9E
T2CON1
−
−
−
P1OS
P1BZM
9F
−
−
A0–EF
−
F0–FF
PSINKA [1:0]
T2CKSRC [2:0]
−−−− −−00
−−−0 0000
−−−− −−−−
xxxx xxxx
SRAM, 访问 BANK0’s 0x70–0x7F
xxxx xxxx
表 15-4 SFR, BANK 1
注:
1.
INDF 不是物理寄存器;
2.
灰色部分表示没有实现;
3.
不要对未实现的寄存器位进行写操作;
Rev2.00
- 59 -
2021-02-01
Fremont Micro Devices
15.3
FT62F21x
STATUS 寄存器
名称
状态
寄存器
地址
复位值
寄存器存储区(bank)选择位
PAGE
0 = Bank 0 (0x00h – 0x7Fh)
1 = Bank 1 (0x80h – 0xFFh)
STATUS[5]
RW−0
STATUS[4]
RO−1
STATUS[3]
RO−1
超时标志位
1 = 上电后,执行了 CLRWDT 或 SLEEP 指令
0 = 发生 WDT 超时溢出
/ TF
掉电标志位
1 = 上电复位后或执行了CLRWDT指令
0 = 执行了 SLEEP 指令
/PF
0 标志位:算术或逻辑运算的结果为零?
Z
STATUS[2]
1 = Yes
0 = No
半进位 / 半借位 (ADDWR, ADDWI, SUBWI,
SUBWR):结果的第4低位向高位发生了进位或借位?
HC
1 = 进位,或未借位
0 = 未进位,或借位
进位 / 借位 (ADDWR, ADDWI, SUBWI, SUBWR):
结果的最高位发生了进位或借位?
C
1 = 进位,或未借位
0 = 未进位,或借位
0x03
0x83
RW−x
STATUS[1]
RW−x
STATUS[0]
RW−x
表 15-5 Status 寄存器
注:
1.
同其他寄存器一样,STATUS 状态寄存器也可以作为任何指令的目标寄存器。但如果一条影响 Z、
HC 或 C 位的指令以 STATUS 作为目标寄存器,那么对这三位的写操作将被禁止,Z、HC 和 C
位只受运算结果影响从而被置 1 或清 0。此时,当执行一条以 STATUS 作为目标寄存器的指令后,
STATUS 的内容可能与预期不一致。
2.
建议只使用 BCR、BSR、SWAPR 和 STR 指令来操作 STATUS 寄存器。
Rev2.00
- 60 -
2021-02-01
Fremont Micro Devices
15.4
FT62F21x
PCL 和 PCLATH
程序区只有 1 个 Page (1kW),在 Page 的末尾 (0x3FF)将回滚到 Page 的开头 (0x000)。指令的地址宽
度为 11 位,能寻址 2kW。LJUMP 和 LCALL 等长跳转指令,无需设置 PCLATH。
程序计数器(PC)为 11 位宽。其低 8 位来自可读写的 PCL 寄存器,高 3 位(PC[10:8])来自 PCLATH,不
可直接读写。发生复位时,PC 将被清 0。图 15-3 显示了装载 PC 值的两种情形。
10
8 7
0
PCH
3
10
PCL
8
8 7
PCH
0
PCL
11
ALU result
PCLATH
OPCODE
PCLATH
PCLATH
Instuction with PCLATH as Destination
LJUMP, LCALL
图 15-3 装载 PC 值的不同情况
执行任何以 PCL 寄存器为目标寄存器的指令将同时使程序计数器 PC[10:8]位被 PCLATH 内容所取代。
因此可通过将所需的高 3 位先写入 PCLATH 寄存器来更改程序计数器 PC 的全部内容。
计算 LJUMP 指令是通过向程序计数器 PC 加入偏移量(ADDWR PCL)来实现的。因此通过修改 PCL 寄
存器来跳转到查找表或程序分支表(计算 LJUMP)时应特别谨慎。假定 PCLATH 设置为表的起始地址,如
果表的长度大于 255 条指令,或如果存储器地址的低 8 位在表的中间从 0xFF 计满返回到 0x00,那么在
每次表的起始地址或表内的目标地址之间发生计满返回时,PCLATH 必须递增。
INDF 不是物理存在的寄存器,对 INDF 进行寻址将产生间接寻址。
任何使用 INDF 寄存器的指令,实际上是对文件选择寄存器(File Select Register, FSR)所指向的单元进行
存取。间接对 INDF 进行读操作将返回 0, 间接对 INDF 进行写操作将导致空操作(可能会影响状态标志
位)。
Rev2.00
- 61 -
2021-02-01
Fremont Micro Devices
16.
电气特性
16.1
极限参数
FT62F21x
–
+
工作温度 (商业级)…………..………………………………………..….……….………. 40 – 85°C
–
+
工作温度 (工业级)……………………………………..……………...……….………... 40 – 105°C
–
+
工作温度 (汽车 1 级)……………………………………....………….….…...………... 40 – 125°C
–
+
存储温度…………………………………………..……………………..…..……….….. 40 – 125°C
电源电压……………………...……………….……………………...………… VSS-0.3V – VSS+6.0V
端口输入电压.…………………………...………..……………..……..……… VSS-0.3V – VDD+0.3V
注:
1.
超过上述“极限参数”所规定的范围,可能会对芯片造成永久性损坏。
2.
除非另作说明,所有特性值的测试条件为 25°C, VDD =1.9 – 5.5V。
3.
本节所示的值和范围基于特性值,并非最终出货的标准值。除汽车 1 级产品外,生产测试温度为
25°C。
16.2
工作特性
Min
Typical
Max
单位
−
−
8
MHz
-40 – 85°C, VDD = 1.9 – 5.5V
−
−
16
MHz
-40 – 85°C, VDD = 2.5 – 5.5V
4T
−
250
−
ns
SysClk = HIRC
4T
−
122
−
μs
SysClk = LIRC
0.5 * TT0CK + 20
−
−
ns
无预分频
10
−
−
ns
有预分频
−
−
ns
N = 1, 2, 4, …, 256 (预分频值)
−
8
−
ms
25°C, PWRT disable
2000
−
−
ns
25°C
−
1
−
ms
预分频比 = 1:32
参数
Fsys (SysClk)
指令周期 (TINSTRCLK)
T0CKI
4T
高或低脉冲宽度
T0CKI 输入周期
上电复位保持时间 (TDRH)
外部复位脉冲宽度 (TMCLRB)
WDT 周期 (TWDT)
注:
Rev2.00
Max. 20 and
(TT0CK+40)/N
条件
TT0CK 是指由 T0CKSRC 所选的时钟周期。
- 62 -
2021-02-01
Fremont Micro Devices
16.3
FT62F21x
POR, LVR, LVD
上电复位 (POR)
Min
Typical
Max
单位
IPOR 工作电流
−
0.14
−
μA
25°C , VDD = 3.3V
VPOR
−
1.65
−
V
25°C
Min
Typical
Max
单位
−
13.54
−
μA
25°C, VDD = 3.3V
1.94
2.0
2.06
2.13
2.2
2.27
2.42
2.5
2.58
2.72
2.8
2.88
V
25°C
3.01
3.1
3.19
3.49
3.6
3.71
3.98
4.1
4.22
94
−
125
μs
25°C, VDD = 1.9 – 5.5V
Min
Typical
Max
单位
−
21.4
−
μA
1.16
1.2
1.24
1.74
1.8
1.86
1.94
2.0
2.06
2.33
2.4
2.47
2.62
2.7
2.78
2.91
3.0
3.09
3.20
3.3
3.40
3.49
3.6
3.71
3.88
4.0
4.12
94
−
125
特性
条件
低电压复位 (LVR)
参数
ILVR 工作电流
VLVR, LVR 阈值
LVR delay
条件
低电压检测 (LVD)
特性
ILVD 工作电流
VLVD, LVD 阈值
LVD delay
Rev2.00
- 63 -
条件
25°C, VDD = 3.3V
25°C
V
ns
25°C, VDD = 1.9 – 5.5V
2021-02-01
Fremont Micro Devices
16.4
FT62F21x
I/O 端口电路
Min
Typical
Max
单位
VIL
0
−
0.3* VDD
V
VIH
0.7* VDD
−
VDD
V
-1
−
1
μA
参数
漏电流
源电流
(Source)
灌电流
PA4–5
L0
−
-3
−
PA4–5
L1
−
-6
−
PA0–3
L2
−
-18
−
PA4–5
L3
−
-24
−
L0
−
53
−
L1
−
67
−
−
20
−
PA0–5
(Sink)
上拉电阻
16.5
mA
mA
条件
VDD = 5V
25°C, VDD = 5V,
VOH = 4.5V
25°C, VDD = 5V,
VOL= 0.5V
kΩ
−
工作电流 (IDD)
参数
SysClk
16 MHz
Typical @VDD
2.0V
−
3.0V
单位
5.5V
0.519
0.542
8 MHz
0.266
0.390
0.405
4 MHz
0.222
0.324
0.336
2 MHz
0.201
0.290
0.300
1 MHz
0.190
0.274
0.284
32 kHz
0.117
0.175
0.182
Sleep 模式 (WDT OFF, LVR OFF)
−
0.077
0.099
0.112
Sleep 模式 (WDT ON, LVR OFF)
32 kHz
1.163
2.464
2.574
Sleep 模式 (WDT OFF, LVR ON)
−
12.116
17.318
22.299
Sleep 模式 (WDT ON, LVR ON)
−
13.094
19.494
24.505
Sleep 模式 (WDT OFF, LVR OFF, LVD ON)
−
18.454
21.402
24.840
正常模式 (4T) - IDD
注:
Rev2.00
mA
μA
Sleep 模式 ISB 的测试条件为 I/O 设置成输入模式并外部下拉到 GND。
- 64 -
2021-02-01
Fremont Micro Devices
16.6
FT62F21x
内部振荡器
内部低频振荡器 (LIRC)
测试条件为 LIRC 选择 32 kHz (LFMOD=0)。
Min
Typical
Max
单位
30.4
32
33.6
kHz
随温度变化范围
-2.0%
−
2.0%
−
-40 – 85°C, VDD = 2.5V
随电源电压变化范围
-3.5%
−
1.0%
−
25°C, VDD = 1.9 – 5.5V
ILIRC 工作电流
−
2.0
−
μA
25°C, VDD = 3.0V
启动时间
−
4.6
−
μs
25°C, VDD = 3.0V
Min
Typical
Max
单位
频率范围
15.76
16
16.24
MHz
随温度变化范围
-8.5%
±4.0%
6.0%
−
-40 – 85°C, VDD = 2.5V
随电源电压变化范围
-1.0%
−
1.0%
−
25°C, VDD = 1.9 – 5.5V
IHIRC 工作电流
−
51
−
μA
25°C, VDD = 3.0V
启动时间
−
2.5
−
μs
25°C, VDD = 3.0V
特性
频率范围
条件
25°C, VDD = 2.5V
内部高频振荡器 (HIRC)
参数
Rev2.00
- 65 -
条件
25°C, VDD = 2.5V
2021-02-01
Fremont Micro Devices
16.7
FT62F21x
Program 和 Data EEPROM
Min
VPOR
Typical
−
Max
5.5
Program EE 写电压
2.5
−
5.5
Data EE 写电压
1.9
−
5.5
100 k
−
−
25 °C
40 k
−
−
85 °C
10 k
−
−
1,000 k
−
−
400 k
−
−
85 °C
100 k
−
−
105 °C
20
−
−
1k 次擦写后
@ 85 °C
10
−
−
参数
Program/Data EE 读电压
VDD-READ
VDD-WRITE
Program EE 擦/写次数
NEND
Data EE 擦/写次数
单位
V
条件
-40 – 85 / 105°C
V
-40 – 85 / 105°C
cycle
Program EE 数据保持
TRET
年
Data EE 写时间
IPROG
Data EE 编程电流
16.8
25 °C
1k 次擦写后
@ 105 °C
10k 次擦写后
@ 85 °C
20
−
−
10
−
−
3.0
−
5.0
ms
10k 次擦写后
@ 105 °C
−
−
−
300
μA
25 °C, VDD = 3 V
Data EE 数据保持
TWRITE
105 °C
EMC 特性
ESD
参数
Min
Typical
Max
单位
条件
VESD
HBM
4000
−
−
V
MIL-STD-883H Method 3015.8
VESD
MM
200
−
−
V
JESD22-A115
Min
Typical
Max
单位
200
−
−
mA
Min
Typical
Max
单位
条件
5.5
−
−
kV
VDD (5V) 与 GND 间的电容:1μF
Latch-up
参数
LU, static latch-up
条件
EIA/JESD 78
EFT
参数
VEFT
Rev2.00
- 66 -
2021-02-01
Fremont Micro Devices
FT62F21x
17.
特性图
注:
特性图基于特性值,仅供参考,未经生产测试。
图 17-1 HIRC vs. VDD (TA = 25°C)
图 17-2 LIRC vs. VDD (TA = 25°C)
Rev2.00
- 67 -
2021-02-01
Fremont Micro Devices
FT62F21x
图 17-3
IDD vs. Frequency (4T, TA = 25°C)
图 17-4 Sleep Current (ISB) vs. Temperature
Rev2.00
- 68 -
2021-02-01
Fremont Micro Devices
Rev2.00
FT62F21x
图 17-5
IOH vs. VOH @L0 = -3mA, VDD = 5V
图 17-6
IOH vs. VOH @L1 = -6mA, VDD = 5V
- 69 -
2021-02-01
Fremont Micro Devices
Rev2.00
FT62F21x
图 17-7
IOH vs. VOH @L2 = -18mA, VDD = 5V
图 17-8
IOH vs. VOH @L3 = -24mA, VDD = 5V
- 70 -
2021-02-01
Fremont Micro Devices
FT62F21x
图 17-9
IOL vs. VOL @L0 = 53mA, VDD = 5V
图 17-10 IOL vs. VOL @L1 = 67mA, VDD = 5V
Rev2.00
- 71 -
2021-02-01
Fremont Micro Devices
18.
FT62F21x
封装信息
本芯片的封装形式有 SOT23-6、DFN6、SOP8 和 DFN8 封装。具体封装尺寸信息如下:
SOT23-6
Symbol
Dimensions In Inches
Min
Max
Min
Max
A
—
1.300
—
0.051
A1
0.040
0.100
0.002
0.004
A2
1.050
1.150
0.041
0.045
A3
0.600
0.700
0.024
0.028
e
0.920
0.980
0.036
0.039
e1
1.850
1.950
0.073
0.077
b
0.350
0.450
0.014
0.018
D
2.820
2.920
0.111
0.115
E
2.650
2.950
0.104
0.116
E1
1.550
1.650
0.061
0.065
L
0.400
0.500
0.016
0.020
L1
Rev2.00
Dimensions In Millimeters
0.25BSC
0.010BSC
- 72 -
2021-02-01
Fremont Micro Devices
FT62F21x
DFN6
Symbol
Dimensions In Millimeters
Dimensions In Inches
Min
Max
Min
Max
A1
—
0.050
—
0.002
A2
0.700
0.800
0.028
0.031
E
0.150
0.250
0.006
0.010
b
0.200
0.300
0.008
0.012
e
0.625
0.675
0.025
0.027
D
1.900
2.100
0.075
0.083
E1
1.900
2.100
0.075
0.083
J1
0.750
0.850
0.030
0.033
J2
1.250
1.350
0.049
0.053
L
0.250
0.350
0.010
0.014
Rev2.00
- 73 -
2021-02-01
Fremont Micro Devices
FT62F21x
SOP8
Symbol
Dimensions (inches)
Min
Max
Min
Max
A
1.350
1.750
0.053
0.069
A1
0.100
0.250
0.004
0.010
A2
1.350
1.550
0.053
0.061
b
0.330
0.510
0.013
0.020
c
0.170
0.250
0.006
0.010
D
4.700
5.100
0.185
0.200
E
3.800
4.000
0.150
0.157
E1
5.800
6.200
0.228
0.244
e
Rev2.00
Dimensions (mm)
1.270 (BSC)
0.050 (BSC)
L
0.400
1.270
0.016
0.050
θ
0°
8°
0°
8°
- 74 -
2021-02-01
Fremont Micro Devices
FT62F21x
DFN8
Symbol
Dimensions In Millimeters
Dimensions In Inches
Min
Max
Min
Max
A1
—
0.050
—
0.002
A2
0.700
0.800
0.028
0.031
E
0.150
0.250
0.006
0.010
b
0.200
0.300
0.008
0.012
e
0.500
0.500
0.020
0.020
D
1.900
2.100
0.075
0.083
E1
1.900
2.100
0.075
0.083
J1
0.840
0.940
0.033
0.037
J2
1.450
1.550
0.057
0.061
L
0.250
0.350
0.010
0.014
Rev2.00
- 75 -
2021-02-01
Fremont Micro Devices
FT62F21x
联系信息
Fremont Micro Devices (SZ) Limited
#5−8, 10/F, Changhong Building
Ke-Ji Nan 12 Road, Nanshan District,
Shenzhen, Guangdong, PRC 518057
Tel: (+86 755) 8611 7811
Fax: (+86 755) 8611 7810
Fremont Micro Devices (HK) Limited
#16, 16/F, Block B, Veristrong Industrial Centre,
34−36 Au Pui Wan Street, Fotan, Shatin, Hong Kong SAR
Tel: (+852) 2781 1186
Fax: (+852) 2781 1144
http://www.fremontmicro.com/
* Information furnished is believed to be accurate and reliable. However, Fremont Micro Devices (SZ)
Limited assumes no responsibility for the consequences of use of such information or for any
infringement of patents of other rights of third parties, which may result from its use. No license is
granted by implication or otherwise under any patent rights of Fremont Micro Devices (SZ) Limited.
Specifications mentioned in this publication are subject to change without notice. This publication
supersedes and replaces all information previously supplied. Fremont Micro Devices (SZ) Limited
products are not authorized for use as critical components in life support devices or systems without
express written approval of Fremont Micro Devices (SZ) Limited. The FMD logo is a registered
trademark of Fremont Micro Devices (SZ) Limited. All other names are the property of their respective
owners.
Rev2.00
-76-
2021-02-01