0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
ES7P169CFGSD/TB

ES7P169CFGSD/TB

  • 厂商:

    EASTSOFT(东软载波)

  • 封装:

  • 描述:

  • 数据手册
  • 价格&库存
ES7P169CFGSD/TB 数据手册
ES7P169C 数据手册 8 位 MCU ES7P169C 数 据 手 册  产品简介  数据手册 产品规格 上海东软载波微电子有限公司 2023 年 3 月 20 日 V1.8 版权所有©上海东软载波微电子有限公司 1/248 http://www.essemi.com ES7P169C 数据手册 东软载波 MCU 芯片使用注意事项 关于芯片的上/下电 东软载波 MCU 芯片具有独立电源管脚。当 MCU 芯片应用在多电源供电系统时,应先对 MCU 芯片上电,再对系统 其他部件上电;反之,下电时,先对系统其他部件下电,再对 MCU 芯片下电。若操作顺序相反则可能导致芯片内 部元件过压或过流,从而导致芯片故障或元件退化。具体可参照芯片的数据手册说明。 关于芯片的复位 东软载波 MCU 芯片具有内部上电复位。对于不同的快速上/下电或慢速上/下电系统,内部上电复位电路可能失效, 建议用户使用外部复位、下电复位、看门狗复位等,确保复位电路正常工作。在系统设计时,若使用外部复位电路, 建议采用三极管复位电路、RC 复位电路。若不使用外部复位电路,建议采用复位管脚接电阻到电源,或采取必要 的电源抖动处理电路或其他保护电路。具体可参照芯片的数据手册说明。 关于芯片的时钟 东软载波 MCU 芯片具有内部和外部时钟源。内部时钟源会随着温度、电压变化而偏移,可能会影响时钟源精度; 外部时钟源采用陶瓷、晶体振荡器电路时,建议使能起振延时;使用 RC 振荡电路时,需考虑电容、电阻匹配;采 用外部有源晶振或时钟输入时,需考虑输入高/低电平电压。具体可参照芯片的数据手册说明。 关于芯片的初始化 东软载波 MCU 芯片具有各种内部和外部复位。对于不同的应用系统,有必要对芯片寄存器、内存、功能模块等进 行初始化,尤其是 I/O 管脚复用功能进行初始化,避免由于芯片上电以后,I/O 管脚状态的不确定情况发生。 关于芯片的管脚 东软载波 MCU 芯片具有宽范围的输入管脚电平,建议用户输入高电平应在 VIHMIN 之上,低电平应在 VILMAX 之下。 避免输入电压介于 VIHMIN 和 VILMAX 之间,以免波动噪声进入芯片。对于未使用的输入/输出管脚,建议用户设为输入 状态,并通过电阻上拉至电源或下拉至地,或设置为输出管脚,输出固定电平并浮空。对未使用的管脚处理因应用 系统而异,具体遵循应用系统的相关规定和说明。 关于芯片的 ESD 防护措施 东软载波 MCU 芯片具有满足工业级 ESD 标准保护电路。 建议用户根据芯片存储/应用的环境采取适当静电防护措施。 应注意应用环境的湿度;建议避免使用容易产生静电的绝缘体;存放和运输应在抗静电容器、抗静电屏蔽袋或导电 材料容器中;包括工作台在内的所有测试和测量工具必须保证接地;操作者应该佩戴静电消除手腕环手套,不能用 手直接接触芯片等。 关于芯片的 EFT 防护措施 东软载波 MCU 芯片具有满足工业级 EFT 标准的保护电路。当 MCU 芯片应用在 PCB 系统时,需要遵守 PCB 相关 设计要求,包括电源、地走线(包括数字/模拟电源分离,单/多点接地等) 、复位管脚保护电路、电源和地之间的去 耦电容、高低频电路单独分别处理以及单/多层板选择等。 关于芯片的开发环境 东软载波 MCU 芯片具有完整的软/硬件开发环境,并受知识产权保护。选择上海东软载波微电子有限公司或其指定 的第三方公司的汇编器、编译器、编程器、硬件仿真器开发环境,必须遵循与芯片相关的规定和说明。 注:在产品开发时,如遇到不清楚的地方,请通过销售或其它方式与上海东软载波微电子有限公司联系。 V1.8 版权所有©上海东软载波微电子有限公司 2/248 http://www.essemi.com ES7P169C 数据手册 产品订购信息 Part NO. 工作电压 FLASH SRAM Data FLASH I/O ADC UART I2CS SPI BEEPER VREF LVD Timer 封装类型 ES7P169CFGTF 2.2V~5.5V 8K Word 1K Byte 1K Word 18 12-bit× 12+2Ch 2 1 1 1 1 1 8-bit×1 12-bit×2 16-bit×1 TSSOP20 ES7P169CFGSF 2.2V~5.5V 8K Word 1K Byte 1K Word 18 12-bit× 12+2Ch 2 1 1 1 1 1 8-bit×1 12-bit×2 16-bit×1 SOP20 ES7P169CFGSD 2.2V~5.5V 8K Word 1K Byte 1K Word 14 12-bit× 10+2Ch 2 1 — 1 1 1 8-bit×1 12-bit×2 16-bit×1 SOP16 Example: ES7P 169C F G TF / TB Packing TB — Tube TR — Tape Reel TRY— Tray Package TF — TSSOP20 SF — SOP20 SD — SOP16 Code Size G — 8KW Code MEM Type F — FLASH Part No. Device Family ES7P — 8-Bit MCU based on ES7P-V2 CPU Core 地 址:上海市徐汇区古美路 1515 号凤凰园 12 号楼 3 楼 E-mail:support@essemi.com 电 话:+86-21-60910333 传 真:+86-21-60914991 网 址:http://www.essemi.com 版权所有© 上海东软载波微电子有限公司 本资料内容为上海东软载波微电子有限公司在现有数据资料基础上慎重且力求准确无误编制而成,本资料中所记载 的实例以正确的使用方法和标准操作为前提,使用方在应用该等实例时请充分考虑外部诸条件,上海东软载波微电 子有限公司不担保或确认该等实例在使用方的适用性、适当性或完整性,上海东软载波微电子有限公司亦不对使用 方因使用本资料所有内容而可能或已经带来的风险或后果承担任何法律责任。基于使本资料的内容更加完善等原因, 上海东软载波微电子有限公司保留未经预告的修改权。使用方如需获得最新的产品信息,请随时用上述联系方式与 上海东软载波微电子有限公司联系。 V1.8 版权所有©上海东软载波微电子有限公司 3/248 http://www.essemi.com ES7P169C 数据手册 修订历史 版本 修改日期 V1.0 2020-11-30 初版 2021-1-21 1)在 ADC 章节添加 1/4VDD 精度范围的描述; 2)在芯片配置字章节,增强对 ICDEN 位的描述; 3)更新 PORTCTR 寄存器 bit4 和 bit5 的名称。 V1.0.2 2021-1-26 1)屏蔽配置字时钟分频选项和其相关的内容; 2)更新 LVD 模块特性表中部分档位的范围及温度特性; 3)更新 1/4VDD 精度范围到电气特性表章节。 V1.0.3 2021-2-25 1)补充 PA4/PA5 弱上/下拉使用注意事项; 2)由于 ADC 无法得到满量程转换值 0xFFF,推荐了模 拟输入信号的最大值。 V1.0.4 2021-3-22 1)禁止使用 WDT 计数溢出复位功能; 2)I2CS 模块的 I2CIEC 寄存器的 bit7 需软件固定为 0。 V1.1 2021-4-8 官网发布 V1.2 2021-4-23 1)完善 ESD 和 WDT RC 时钟的电气特性参数。 V1.3 2021-5-18 完善“模/数转换器(ADC)”章节,关于 ADC 使用内部 VREF 作为参考电压时的 ADC 建立时间描述。 2021-8-3 1. T8N/T11/T21 定时器模块增加 ICD 调试暂停章节介绍; 2. ES7P169CFGTF 标记为暂不推荐产品; 3. 更新“ADC 特性表”中关于失调误差的描述; 4. 更新内部时钟源特性表中 64MHz 和 32MHz 的参数描 述。 2021-8-20 1)更新 BEEPC 寄存器 BEEPPRE预分频器分频比 一档,由 768 改为 1024; 2)更新参数特性图章节,芯片 IDLE 模式电流随电压-温 度变化特性图中的高温部分功耗值; 3)更新公司地址 V1.6 2022-4-11 1)删除 PA4/PA5 弱上/下拉使用注意事项; 2)支持使用 WDT 计数溢出复位功能; 3)支持睡眠模式下,PWEN寄存器软件关闭 WDT 计 数功能; 4)ADC 增加 VSS 作为内部通道可选。 V1.7 2022-10-11 增加芯片唯一识别码章节。 2023-3-20 1. 增加配置字可选内部 1MHz 系统时钟,以及 1MHz 校 准精度和芯片运行功耗等。 2. 删除 ES7P169CFGTF 限售的相关信息。 V1.0.1 V1.4 V1.5 V1.8 V1.8 版权所有©上海东软载波微电子有限公司 更改概要 4/248 http://www.essemi.com ES7P169C 数据手册 目 录 内容目录 第1章 1. 1 1. 2 1. 3 1. 4 第2章 2. 1 2. 2 2. 3 第3章 3. 1 3. 2 3. 3 芯片简介 ................................................................................................................... 18 概述 .......................................................................................................................... 18 应用领域 ................................................................................................................... 22 结构框图 ................................................................................................................... 22 管脚分配图 ............................................................................................................... 23 1. 4. 1 20-pin(TSSOP/SOP)............................................................................. 23 1. 4. 2 16-pin(SOP) .......................................................................................... 23 1. 4. 3 管脚说明 .................................................................................................... 24 内核特性 ................................................................................................................... 28 CPU 内核概述 .......................................................................................................... 28 硬件乘法器 ............................................................................................................... 28 2. 2. 1 概述 ............................................................................................................ 28 2. 2. 2 硬件乘法器操作.......................................................................................... 28 特殊功能寄存器 ........................................................................................................ 29 2. 3. 1 程序状态字寄存器(PSW) ...................................................................... 29 2. 3. 2 程序计数器寄存器低 8 位(PCRL) .......................................................... 30 2. 3. 3 程序计数器寄存器高 6 位(PCRH) ......................................................... 30 2. 3. 4 累加器 A 寄存器(AREG) ....................................................................... 30 2. 3. 5 乘数 A 寄存器(MULA) ........................................................................... 30 2. 3. 6 乘数 B 寄存器(MULB) ........................................................................... 30 2. 3. 7 乘积低 8 位寄存器(MULL) ..................................................................... 31 2. 3. 8 乘积高 8 位寄存器(MULH) .................................................................... 31 存储资源 ................................................................................................................... 32 概述 .......................................................................................................................... 32 程序/数据寻址空间映射 ............................................................................................ 32 FLASH 存储器 .......................................................................................................... 34 3. 3. 1 概述 ............................................................................................................ 34 3. 3. 2 程序计数器(PC) .................................................................................... 34 3. 3. 3 硬件堆栈 .................................................................................................... 35 3. 3. 4 芯片唯一识别码(UID) ............................................................................ 35 3. 3. 5 FLASH 存储器 IAP 操作 ............................................................................ 36 3. 3. 5. 1 概述 .................................................................................................... 36 3. 3. 5. 2 查表读操作.......................................................................................... 36 3. 3. 5. 3 存储器的 IAP 擦写 .............................................................................. 38 3. 3. 5. 4 存储器页更新流程............................................................................... 38 3. 3. 5. 5 操作参考例程 ...................................................................................... 39 3. 3. 6 特殊功能寄存器.......................................................................................... 42 3. 3. 6. 1 查表地址寄存器低 8 位(FRAL) ...................................................... 42 3. 3. 6. 2 查表地址寄存器高 8 位(FRAH) ...................................................... 42 3. 3. 6. 3 查表地址取反寄存器低 8 位(FRALN)............................................. 43 3. 3. 6. 4 查表地址取反寄存器高 8 位(FRAHN) ............................................ 43 V1.8 版权所有©上海东软载波微电子有限公司 5/248 http://www.essemi.com ES7P169C 数据手册 3. 4 3. 5 第4章 4. 1 4. 2 4. 3 4. 4 4. 5 4. 6 3. 3. 6. 5 查表数据寄存器低 8 位(ROMDL)................................................... 43 3. 3. 6. 6 查表数据寄存器高 8 位(ROMDH) .................................................. 43 3. 3. 6. 7 查表数据寄存器 1 低 8 位(ROMD1L) ............................................. 43 3. 3. 6. 8 查表数据寄存器 1 高 8 位(ROMD1H) ............................................ 44 3. 3. 6. 9 存储器控制寄存器低 8 位(ROMCL) ............................................... 44 3. 3. 6. 10 存储器控制寄存器高 8 位(ROMCH) .............................................. 44 在线编程 ISP 和在线调试 ICD .................................................................................. 45 数据存储器 ............................................................................................................... 46 3. 5. 1 概述 ............................................................................................................ 46 3. 5. 2 通用数据存储器.......................................................................................... 46 3. 5. 3 特殊功能寄存器.......................................................................................... 46 3. 5. 3. 1 特殊功能存储体 0 ............................................................................... 47 3. 5. 3. 2 特殊功能存储体 1 ............................................................................... 48 3. 5. 4 寻址方式 .................................................................................................... 48 3. 5. 4. 1 直接寻址 ............................................................................................. 48 3. 5. 4. 2 GPR 特殊寻址 .................................................................................... 49 3. 5. 4. 3 间接寻址 ............................................................................................. 49 3. 5. 5 特殊功能寄存器.......................................................................................... 50 3. 5. 5. 1 间接寻址数据寄存器(IAD).............................................................. 50 3. 5. 5. 2 间接寻址索引寄存器低 8 位(IAAL)................................................. 50 3. 5. 5. 3 间接寻址索引寄存器高 8 位(IAAH) ................................................ 51 3. 5. 5. 4 存储体选择寄存器(BKSR) ............................................................. 51 输入/输出端口 ........................................................................................................... 52 概述 .......................................................................................................................... 52 结构框图 ................................................................................................................... 53 I/O 端口功能设置 ...................................................................................................... 53 4. 3. 1 I/O 端口输入/输出控制 ............................................................................... 53 4. 3. 2 I/O 端口弱上/下拉功能 ............................................................................... 53 4. 3. 3 I/O 端口模拟/数字类型选择功能................................................................. 54 4. 3. 4 I/O 端口开漏输出 ....................................................................................... 54 4. 3. 5 I/O 端口可配 SMT 窗口 .............................................................................. 54 4. 3. 6 I/O 端口可配驱动能力 ................................................................................ 54 4. 3. 7 I/O 端口可配输入滤波 ................................................................................ 55 4. 3. 8 I/O 端口复用功能 ....................................................................................... 55 端口中断 ................................................................................................................... 55 4. 4. 1 外部端口中断(PINT).............................................................................. 55 4. 4. 2 外部按键中断(KINT).............................................................................. 56 I/O 端口操作注意事项 ............................................................................................... 56 特殊功能寄存器 ........................................................................................................ 57 4. 6. 1 PA 端口电平状态寄存器(PA) ................................................................. 57 4. 6. 2 PA 端口输入输出控制寄存器(PAT)........................................................ 57 4. 6. 3 PA 端口弱上拉控制寄存器(PAPU) ........................................................ 57 4. 6. 4 PA 端口弱下拉控制寄存器(PAPD) ........................................................ 58 4. 6. 5 PA 端口控制寄存器(PACTR)................................................................. 58 V1.8 版权所有©上海东软载波微电子有限公司 6/248 http://www.essemi.com ES7P169C 数据手册 第5章 5. 1 5. 2 5. 3 5. 4 5. 5 4. 6. 6 PA 端口输入滤波寄存器(PAFLT)........................................................... 59 4. 6. 7 PB 端口电平状态寄存器(PB) ................................................................ 59 4. 6. 8 PB 端口输入输出控制寄存器(PBT) ....................................................... 59 4. 6. 9 PB 端口弱上拉控制寄存器(PBPU)........................................................ 60 4. 6. 10 PB 端口弱下拉控制寄存器(PBPD)........................................................ 60 4. 6. 11 PB 端口控制寄存器(PBCTR) ................................................................ 60 4. 6. 12 PB 端口输入滤波寄存器(PBFLT) .......................................................... 61 4. 6. 13 PC 端口电平状态寄存器(PC) ................................................................ 61 4. 6. 14 PC 端口输入输出控制寄存器(PCT) ...................................................... 61 4. 6. 15 PC 端口弱上拉控制寄存器(PCPU) ....................................................... 62 4. 6. 16 PC 端口控制寄存器(PCCTR) ................................................................ 62 4. 6. 17 PC 端口输入滤波寄存器(PCFLT) .......................................................... 62 4. 6. 18 端口特殊功能控制寄存器(PORTCTR) .................................................. 63 特殊功能及操作特性 ................................................................................................. 64 系统时钟与振荡器 .................................................................................................... 64 5. 1. 1 概述 ............................................................................................................ 64 5. 1. 2 内部结构图 ................................................................................................. 65 5. 1. 3 时钟源 ........................................................................................................ 65 5. 1. 3. 1 内部高速 RC 振荡器模式(INTHRC) ............................................... 65 5. 1. 3. 2 内部低速 32kHz RC 振荡器模式(INTLRC) .................................... 66 看门狗定时器(WDT) ............................................................................................ 67 5. 2. 1 概述 ............................................................................................................ 67 5. 2. 2 内部结构图 ................................................................................................. 67 5. 2. 3 WDT 定时器 ............................................................................................... 67 5. 2. 4 特殊功能寄存器.......................................................................................... 68 5. 2. 4. 1 WDT 控制寄存器(WDTC) .............................................................. 68 5. 2. 4. 2 WDT 计数周期匹配寄存器(WDTP) ................................................ 68 BEEPER 蜂鸣器 ....................................................................................................... 69 5. 3. 1 概述 ............................................................................................................ 69 5. 3. 2 BEEP 控制寄存器(BEEPC)................................................................... 69 复位模块 ................................................................................................................... 70 5. 4. 1 概述 ............................................................................................................ 70 5. 4. 2 上电复位 .................................................................................................... 70 5. 4. 3 掉电复位 .................................................................................................... 71 5. 4. 4 外部 MRSTN 管脚复位 .............................................................................. 71 5. 4. 4. 1 RC 复位 .............................................................................................. 72 5. 4. 4. 2 PNP 三极管复位 ................................................................................. 72 5. 4. 5 看门狗定时器溢出复位............................................................................... 72 5. 4. 6 RST 指令软件复位 ..................................................................................... 73 5. 4. 7 特殊功能寄存器.......................................................................................... 73 5. 4. 7. 1 电源控制寄存器(PWRC) ................................................................ 73 5. 4. 7. 2 功耗控制寄存器(PWEN) ................................................................ 74 低功耗操作 ............................................................................................................... 75 5. 5. 1 MCU 低功耗模式........................................................................................ 75 V1.8 版权所有©上海东软载波微电子有限公司 7/248 http://www.essemi.com ES7P169C 数据手册 第6章 6. 1 6. 2 6. 3 5. 5. 2 低功耗模式配置.......................................................................................... 75 5. 5. 3 IDLE 唤醒方式配置 .................................................................................... 75 5. 5. 4 唤醒时序图 ................................................................................................. 76 5. 5. 5 特殊功能寄存器.......................................................................................... 76 5. 5. 5. 1 唤醒延时控制寄存器(WKDC)......................................................... 76 外设 .......................................................................................................................... 77 8 位定时/计数器(T8N).......................................................................................... 77 6. 1. 1 概述 ............................................................................................................ 77 6. 1. 2 内部结构图 ................................................................................................. 77 6. 1. 3 预分频器 .................................................................................................... 77 6. 1. 4 工作模式 .................................................................................................... 78 6. 1. 5 定时器模式 ................................................................................................. 78 6. 1. 6 同步计数器模式.......................................................................................... 79 6. 1. 7 ICD 调试暂停模式 ...................................................................................... 79 6. 1. 8 特殊功能寄存器.......................................................................................... 80 6. 1. 8. 1 T8N 计数器寄存器(T8N) ................................................................ 80 6. 1. 8. 2 T8N 控制寄存器(T8NC) ................................................................. 80 12 位多功能定时器(T11) ...................................................................................... 81 6. 2. 1 概述 ............................................................................................................ 81 6. 2. 2 内部结构图 ................................................................................................. 81 6. 2. 3 预分频器和后分频器 .................................................................................. 81 6. 2. 4 工作模式 .................................................................................................... 81 6. 2. 5 定时器模式 ................................................................................................. 82 6. 2. 6 异步/同步计数器模式 ................................................................................. 82 6. 2. 7 ICD 调试暂停模式 ...................................................................................... 83 6. 2. 8 特殊功能寄存器.......................................................................................... 83 6. 2. 8. 1 计数器寄存器低 8 位(T11L) ........................................................... 83 6. 2. 8. 2 计数器寄存器高 4 位(T11H) ........................................................... 83 6. 2. 8. 3 周期寄存器低 8 位(T11PL)............................................................. 84 6. 2. 8. 4 周期寄存器高 4 位(T11PH) ............................................................ 84 6. 2. 8. 5 控制寄存器低 8 位(T11CL) ............................................................ 84 6. 2. 8. 6 控制寄存器次高 8 位(T11CM) ........................................................ 84 6. 2. 8. 7 控制寄存器高 8 位(T11CH) ............................................................ 85 12 位多功能定时器(T21)...................................................................................... 86 6. 3. 1 概述 ............................................................................................................ 86 6. 3. 2 内部结构图 ................................................................................................. 86 6. 3. 3 预分频器和后分频器 .................................................................................. 87 6. 3. 4 工作模式 .................................................................................................... 87 6. 3. 5 定时器模式 ................................................................................................. 87 6. 3. 6 异步/同步计数器模式 ................................................................................. 87 6. 3. 7 多精度 PWM 模式 ...................................................................................... 88 6. 3. 8 捕捉器模式 ................................................................................................. 90 6. 3. 9 比较器模式 ................................................................................................. 91 6. 3. 10 ICD 调试暂停模式 ...................................................................................... 92 V1.8 版权所有©上海东软载波微电子有限公司 8/248 http://www.essemi.com ES7P169C 数据手册 6. 3. 11 特殊功能寄存器.......................................................................................... 92 6. 3. 11. 1 计数器寄存器低 8 位(T21L) ........................................................... 92 6. 3. 11. 2 计数器寄存器高 4 位(T21H)........................................................... 93 6. 3. 11. 3 周期寄存器低 8 位(T21PL) ............................................................ 93 6. 3. 11. 4 周期寄存器高 4 位(T21PH) ............................................................ 93 6. 3. 11. 5 多功能寄存器 0 低 8 位(T21R0L)................................................... 93 6. 3. 11. 6 多功能寄存器 0 高 4 位(T21R0H) .................................................. 94 6. 3. 11. 7 多功能寄存器 1 低 8 位(T21R1L)................................................... 94 6. 3. 11. 8 多功能寄存器 1 高 4 位(T21R1H) .................................................. 94 6. 3. 11. 9 多功能寄存器 2 低 8 位(T21R2L)................................................... 94 6. 3. 11. 10 多功能寄存器 2 高 4 位(T21R2H) ........................................... 95 6. 3. 11. 11 控制寄存器低 8 位(T21CL) ..................................................... 95 6. 3. 11. 12 控制寄存器次高 8 位(T21CM) ................................................ 96 6. 3. 11. 13 控制寄存器高 8 位(T21CH) .................................................... 97 6. 3. 11. 14 输入输出控制寄存器(T21OC)................................................. 97 6. 3. 11. 15 T21 的 PWM(T21_CH0)沿检测延时寄存器(TMRADC) ............ 98 6. 4 16 位多功能定时器(T31)...................................................................................... 99 6. 4. 1 概述 ............................................................................................................ 99 6. 4. 2 内部结构图 ............................................................................................... 100 6. 4. 3 时钟分频器 ............................................................................................... 100 6. 4. 3. 1 预分频器 ........................................................................................... 100 6. 4. 3. 2 后分频器 ........................................................................................... 101 6. 4. 4 计数模式 .................................................................................................. 102 6. 4. 4. 1 递增计数模式 .................................................................................... 102 6. 4. 4. 2 递减计数模式 .................................................................................... 103 6. 4. 4. 3 中心对齐模式 .................................................................................... 104 6. 4. 5 工作模式 .................................................................................................. 104 6. 4. 6 定时器模式 ............................................................................................... 105 6. 4. 6. 1 内部时钟源模式 ................................................................................ 106 6. 4. 6. 2 外部时钟源模式 1 ............................................................................. 106 6. 4. 6. 3 外部时钟源模式 2 ............................................................................. 107 6. 4. 7 捕捉器模式 ............................................................................................... 107 6. 4. 8 比较器模式 ............................................................................................... 109 6. 4. 9 PWM 模式 .................................................................................................111 6. 4. 9. 1 PWM 普通模式 ..................................................................................111 6. 4. 9. 2 PWM 中心对齐模式 .......................................................................... 112 6. 4. 9. 3 带死区互补输出 ................................................................................ 113 6. 4. 10 单脉冲模式 ............................................................................................... 114 6. 4. 11 关断功能模式 ........................................................................................... 115 6. 4. 12 从模式 ...................................................................................................... 117 6. 4. 12. 1 编码器模式........................................................................................ 117 6. 4. 12. 2 复位模式 ........................................................................................... 118 6. 4. 12. 3 门控模式 ........................................................................................... 119 6. 4. 12. 4 触发模式 ........................................................................................... 119 V1.8 版权所有©上海东软载波微电子有限公司 9/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 13 ICD 调试暂停模式下的 PWM 输出........................................................... 120 6. 4. 14 特殊功能寄存器........................................................................................ 120 6. 4. 14. 1 计数器寄存器低 8 位(T31CNTL).................................................. 120 6. 4. 14. 2 计数器寄存器高 8 位(T31CNTH) ................................................. 120 6. 4. 14. 3 预分频寄存器低 8 位(T31PRSL).................................................. 121 6. 4. 14. 4 预分频寄存器高 8 位(T31PRSH) ................................................. 121 6. 4. 14. 5 计数器重载寄存器低 8 位(T31CNTLDL) ...................................... 121 6. 4. 14. 6 计数器重载寄存器高 8 位(T31CNTLDH) ..................................... 121 6. 4. 14. 7 后分频寄存器(T31POS)............................................................... 122 6. 4. 14. 8 通道 1 捕捉/比较寄存器低 8 位(T31CH1RL) ............................... 122 6. 4. 14. 9 通道 1 捕捉/比较寄存器高 8 位(T31CH1RH) ............................... 122 6. 4. 14. 10 通道 2 捕捉/比较寄存器低 8 位(T31CH2RL) ........................ 122 6. 4. 14. 11 通道 2 捕捉/比较寄存器高 8 位(T31CH2RH)........................ 123 6. 4. 14. 12 通道 3 捕捉/比较寄存器低 8 位(T31CH3RL) ........................ 123 6. 4. 14. 13 通道 3 捕捉/比较寄存器高 8 位(T31CH3RH)........................ 123 6. 4. 14. 14 通道 4 捕捉/比较寄存器低 8 位(T31CH4RL) ........................ 123 6. 4. 14. 15 通道 4 捕捉/比较寄存器高 8 位(T31CH4RH)........................ 124 6. 4. 14. 16 死区延时寄存器(T31DLYT) .................................................. 124 6. 4. 14. 17 控制寄存器 0 低 8 位(T31C0L) ............................................. 124 6. 4. 14. 18 控制寄存器 0 高 8 位(T31C0H) ............................................ 125 6. 4. 14. 19 控制寄存器 1 低 8 位(T31C1L) ............................................. 126 6. 4. 14. 20 控制寄存器 1 高 8 位(T31C1H) ............................................ 126 6. 4. 14. 21 控制寄存器 2 低 8 位(T31C2L) ............................................. 127 6. 4. 14. 22 控制寄存器 2 高 8 位(T31C2H) ............................................ 128 6. 4. 14. 23 通道 1 控制寄存器(T31CH1C).............................................. 129 6. 4. 14. 24 通道 2 控制寄存器(T31CH2C).............................................. 131 6. 4. 14. 25 通道 3 控制寄存器(T31CH3C).............................................. 133 6. 4. 14. 26 通道 4 控制寄存器(T31CH4C).............................................. 134 6. 4. 14. 27 通道端口控制寄存器低 8 位(T31PINCL) .............................. 136 6. 4. 14. 28 通道端口控制寄存器高 8 位(T31PINCH).............................. 138 6. 4. 14. 29 通道输出关断控制寄存器(T31CHBK)................................... 140 6. 4. 14. 30 软件触发事件寄存器(T31EVG) ............................................ 141 6. 4. 14. 31 中断使能控制寄存器低 8 位(T31IEL) ................................... 142 6. 4. 14. 32 中断使能控制寄存器高 8 位(T31IEH) ................................... 142 6. 4. 14. 33 中断禁止寄存器低 8 位(T31IDL)........................................... 143 6. 4. 14. 34 中断禁止寄存器高 8 位(T31IDH) .......................................... 144 6. 4. 14. 35 中断使能状态寄存器低 8 位(T31IVSL) ................................. 144 6. 4. 14. 36 中断使能状态寄存器高 8 位(T31IVSH) ................................ 145 6. 4. 14. 37 中断标志寄存器低 8 位(T31IFL) ........................................... 146 6. 4. 14. 38 中断标志寄存器高 8 位(T31IFH) .......................................... 147 6. 4. 14. 39 中断请求状态寄存器低 8 位(T31IFML)................................. 147 6. 4. 14. 40 中断请求状态寄存器高 8 位(T31IFMH) ................................ 148 6. 4. 14. 41 中断清 0 寄存器低 8 位(T31ICRL) ........................................ 148 6. 4. 14. 42 中断清 0 寄存器高 8 位(T31ICRH) ....................................... 149 V1.8 版权所有©上海东软载波微电子有限公司 10/248 http://www.essemi.com ES7P169C 数据手册 6. 5 通用异步接收/发送器(UART0/UART1) .............................................................. 150 6. 5. 1 概述 .......................................................................................................... 150 6. 5. 2 内部结构图 ............................................................................................... 150 6. 5. 3 波特率配置 ............................................................................................... 151 6. 5. 4 传输数据格式 ........................................................................................... 151 6. 5. 5 异步发送器 ............................................................................................... 151 6. 5. 6 异步接收器 ............................................................................................... 153 6. 5. 7 UARTn 单/双线通信端口 .......................................................................... 154 6. 5. 8 UARTn 发送/接收端口互换 ...................................................................... 154 6. 5. 9 UARTn 使用注意事项 .............................................................................. 155 6. 5. 10 特殊功能寄存器........................................................................................ 155 6. 5. 10. 1 UARTn 整数位波特率寄存器(BR0R/BR1R) ................................ 155 6. 5. 10. 2 UARTn 小数位波特率寄存器(BR0FRA/BR1FRA) ....................... 155 6. 5. 10. 3 UARTn 接收数据寄存器(RX0B/RX1B) ........................................ 155 6. 5. 10. 4 UARTn 接收控制/状态寄存器(RX0C/RX1C) ............................... 156 6. 5. 10. 5 UARTn 发送数据寄存器(TX0B/TX1B) ......................................... 156 6. 5. 10. 6 UARTn 发送控制/状态寄存器(TX0C/TX1C) ................................ 157 6. 6 I2C 总线从动器(I2CS) ....................................................................................... 158 6. 6. 1 概述 .......................................................................................................... 158 6. 6. 2 内部结构 .................................................................................................. 159 6. 6. 3 I2CS 端口配置 ......................................................................................... 159 6. 6. 4 I2C 通讯协议 ............................................................................................ 160 6. 6. 5 I2C 操作 ................................................................................................... 161 6. 6. 6 起始位 START 和停止位 STOP ............................................................... 161 6. 6. 7 数据传输和应答........................................................................................ 162 6. 6. 8 数据传输格式参考 .................................................................................... 163 6. 6. 9 I2C 通讯发送器 ........................................................................................ 163 6. 6. 10 I2C 通讯接收器 ........................................................................................ 164 6. 6. 11 I2C 时钟线自动下拉等待请求功能 ........................................................... 164 6. 6. 12 特殊功能寄存器........................................................................................ 165 6. 6. 12. 1 I2C 采样滤波寄存器(I2CX16) ...................................................... 165 6. 6. 12. 2 I2C 控制寄存器(I2CC) ................................................................. 165 6. 6. 12. 3 I2C 从机地址寄存器(I2CSA) ........................................................ 166 6. 6. 12. 4 I2C 发送数据缓冲器(I2CTB) ........................................................ 166 6. 6. 12. 5 I2C 接收数据缓冲器(I2CRB)........................................................ 167 6. 6. 12. 6 I2C 中断使能寄存器(I2CIEC)....................................................... 167 6. 6. 12. 7 I2C 中断标志寄存器(I2CIFC) ....................................................... 168 6. 7 SPI 同步串口通讯模块(SPI ) ............................................................................. 169 6. 7. 1 概述 .......................................................................................................... 169 6. 7. 2 结构框图 .................................................................................................. 169 6. 7. 3 SPI 通讯模式 ............................................................................................ 169 6. 7. 4 SPI 数据格式 ............................................................................................ 169 6. 7. 5 SPI 同步发送器 ........................................................................................ 171 6. 7. 6 SPI 同步接收器 ........................................................................................ 171 V1.8 版权所有©上海东软载波微电子有限公司 11/248 http://www.essemi.com ES7P169C 数据手册 6. 8 6. 9 第7章 7. 1 7. 2 7. 3 6. 7. 7 SPI 通讯控制 ............................................................................................ 172 6. 7. 8 SPI 延迟接收功能 .................................................................................... 173 6. 7. 9 SPI 应用说明 ............................................................................................ 173 6. 7. 10 特殊功能寄存器........................................................................................ 173 6. 7. 10. 1 SPI 控制寄存器 0(SPICON0)....................................................... 173 6. 7. 10. 2 SPI 控制寄存器 1(SPICON1)....................................................... 174 6. 7. 10. 3 SPI 发送数据写入寄存器(SPITBW) ............................................. 175 6. 7. 10. 4 SPI 接收数据读取寄存器(SPIRBR) ............................................. 175 6. 7. 10. 5 SPI 中断使能寄存器(SPIIE) ......................................................... 175 6. 7. 10. 6 SPI 中断标志寄存器(SPIIF) ......................................................... 176 模/数转换器(ADC) ............................................................................................. 178 6. 8. 1 概述 .......................................................................................................... 178 6. 8. 2 内部结构图 ............................................................................................... 178 6. 8. 3 ADC 配置 ................................................................................................. 179 6. 8. 3. 1 时钟选择 ........................................................................................... 179 6. 8. 3. 2 参考源选择........................................................................................ 179 6. 8. 3. 3 内部参考电压 .................................................................................... 179 6. 8. 3. 4 采样时间选择 .................................................................................... 179 6. 8. 3. 5 采样模式选择及控制 ......................................................................... 180 6. 8. 3. 6 复用端口类型选择............................................................................. 180 6. 8. 3. 7 模拟信号输入通道选择 ..................................................................... 180 6. 8. 3. 8 转换结果和对齐方式选择.................................................................. 180 6. 8. 4 ADC 转换步骤 .......................................................................................... 180 6. 8. 5 电压自动监测 ........................................................................................... 181 6. 8. 6 AD 时序特征示意图.................................................................................. 182 6. 8. 7 参考例程 .................................................................................................. 182 6. 8. 8 特殊功能寄存器........................................................................................ 183 6. 8. 8. 1 ADC 转换值寄存器(ADCR).......................................................... 183 6. 8. 8. 2 ADC 自动监测下门槛值寄存器(ADCLTR) ................................... 183 6. 8. 8. 3 ADC 自动监测上门槛值寄存器(ADCHTR)................................... 184 6. 8. 8. 4 ADC 控制寄存器低 8 位(ADCCL) ................................................ 184 6. 8. 8. 5 ADC 控制寄存器次高 8 位(ADCCM) ........................................... 185 6. 8. 8. 6 ADC 控制寄存器高 8 位(ADCCH)................................................ 186 6. 8. 8. 7 ADC 控制寄存器超高 8 位(ADCCSH) ......................................... 186 6. 8. 8. 8 端口数模控制寄存器低 8 位(ANSL) ............................................. 187 6. 8. 8. 9 端口数模控制寄存器高 8 位(ANSH) ............................................ 188 低电压检测模块(LVD) ........................................................................................ 189 6. 9. 1 概述 .......................................................................................................... 189 6. 9. 2 LVD 操作 .................................................................................................. 189 6. 9. 3 特殊功能寄存器........................................................................................ 189 中断处理 ................................................................................................................. 191 概述 ........................................................................................................................ 191 中断控制结构框图 .................................................................................................. 192 中断模式选择 .......................................................................................................... 193 V1.8 版权所有©上海东软载波微电子有限公司 12/248 http://www.essemi.com ES7P169C 数据手册 7. 4 7. 5 7. 6 第8章 8. 1 8. 2 第9章 9. 1 7. 3. 1 默认中断模式 ........................................................................................... 194 7. 3. 2 向量中断模式 ........................................................................................... 195 7. 3. 2. 1 向量表配置........................................................................................ 195 7. 3. 2. 2 中断分组配置 .................................................................................... 195 7. 3. 2. 3 中断使能配置 .................................................................................... 196 中断现场保护 .......................................................................................................... 197 中断操作 ................................................................................................................. 198 7. 5. 1 中断使能位 GIE 和 GIEL 的操作 .............................................................. 198 7. 5. 2 外部中断 .................................................................................................. 198 7. 5. 3 外部按键中断 ........................................................................................... 198 7. 5. 4 ADC 中断 ................................................................................................. 199 7. 5. 5 ADC 电压检测中断................................................................................... 199 7. 5. 6 LVD 中断 .................................................................................................. 199 7. 5. 7 T8N 溢出中断 ........................................................................................... 199 7. 5. 8 T11 溢出中断............................................................................................ 200 7. 5. 9 T11 周期中断............................................................................................ 200 7. 5. 10 T21 溢出中断 ........................................................................................... 200 7. 5. 11 T21 周期中断 ........................................................................................... 200 7. 5. 12 T21 多功能中断........................................................................................ 200 7. 5. 13 T31 中断................................................................................................... 201 7. 5. 14 UART0/UART1 中断 ................................................................................ 201 7. 5. 15 I2CS 中断 ................................................................................................. 201 7. 5. 16 SPI 中断 ................................................................................................... 202 7. 5. 17 中断操作注意事项 .................................................................................... 202 特殊功能寄存器 ...................................................................................................... 202 7. 6. 1 中断全局寄存器(INTG)........................................................................ 202 7. 6. 2 中断优先级寄存器(INTP) .................................................................... 203 7. 6. 3 中断控制寄存器 0(INTC0) ................................................................... 203 7. 6. 4 中断标志寄存器 0(INTF0) ................................................................... 204 7. 6. 5 中断使能寄存器 0(INTE0) ................................................................... 204 7. 6. 6 中断标志寄存器 1(INTF1) ................................................................... 205 7. 6. 7 中断使能寄存器 1(INTE1) ................................................................... 206 7. 6. 8 中断标志寄存器 2(INTF2) ................................................................... 207 7. 6. 9 中断使能寄存器 2(INTE2) ................................................................... 207 7. 6. 10 中断标志寄存器 3(INTF3) ................................................................... 208 7. 6. 11 中断使能寄存器 3(INTE3) ................................................................... 209 7. 6. 12 外部按键中断屏蔽寄存器(KMSK) ....................................................... 209 芯片配置字 ............................................................................................................. 211 芯片配置字 0(CFG_WD0) ................................................................................. 211 芯片配置字 1(CFG_WD1) ................................................................................. 212 芯片封装图 ............................................................................................................. 213 20-pin 封装图 ......................................................................................................... 213 9. 1. 1 TSSOP20................................................................................................. 213 9. 1. 2 SOP20 封装图 ......................................................................................... 214 V1.8 版权所有©上海东软载波微电子有限公司 13/248 http://www.essemi.com ES7P169C 数据手册 9. 2 16-pin 封装图 ......................................................................................................... 215 9. 2. 1 SOP16 ..................................................................................................... 215 附录 1 指令集 ..................................................................................................................... 216 附录 1. 1 概述 ................................................................................................................. 216 附录 1. 2 寄存器操作指令 ............................................................................................... 216 附录 1. 3 程序控制指令 .................................................................................................. 216 附录 1. 4 算术/逻辑运算指令 .......................................................................................... 217 附录 2 特殊功能寄存器总表(特殊存储体 0) .................................................................. 220 附录 3 特殊功能寄存器总表(特殊存储体 1) .................................................................. 226 附录 4 电气特性 ................................................................................................................. 230 附录 4. 1 参数特性表 ...................................................................................................... 230 附录 4. 1. 1 芯片工作条件 ........................................................................................... 230 附录 4. 1. 2 芯片特性参数测量方法............................................................................. 231 附录 4. 1. 3 芯片功耗特性 ........................................................................................... 231 附录 4. 1. 4 芯片 IO 端口特性...................................................................................... 232 附录 4. 1. 5 芯片系统时钟特性 .................................................................................... 233 附录 4. 1. 6 芯片 ESD 特性 ......................................................................................... 234 附录 4. 1. 7 芯片功能模块特性 .................................................................................... 234 附录 4. 2 参数特性图 ...................................................................................................... 238 附录 4. 2. 1 芯片功耗特性 ........................................................................................... 238 附录 4. 2. 2 芯片 IO 端口输入特性 .............................................................................. 240 附录 4. 2. 3 芯片 IO 端口普通驱动输出特性................................................................ 241 附录 4. 2. 4 芯片 IO 端口增强驱动输出特性(PC0,PB0~PB3,PA0~PA2 端口) .. 244 附录 4. 2. 5 芯片 IO 端口增强驱动输出特性(PC1,PA3~PA5 端口) ...................... 247 V1.8 版权所有©上海东软载波微电子有限公司 14/248 http://www.essemi.com ES7P169C 数据手册 图目录 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 1-1 1-2 1-3 3-1 3-2 3-3 3-4 3-5 3-6 3-7 3-8 3-9 4-1 5-1 5-2 5-3 5-4 5-5 5-6 5-7 5-8 5-9 5-10 5-11 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11 6-12 6-13 6-14 6-15 6-16 6-17 6-18 6-19 ES7P169C 结构框图........................................................................................................ 22 ES7P169CFGT/SF 顶视图 .............................................................................................. 23 ES7P169CFGSD 顶视图 ................................................................................................. 23 FLASH 程序存储区寻址空间映射图 ................................................................................. 33 FLASH 数据存储区寻址空间映射图 ................................................................................. 33 堆栈示意图 ....................................................................................................................... 35 页更新参考流程图 ............................................................................................................ 39 GPR 地址映射示意图 ....................................................................................................... 46 特殊功能寄存器空间 ........................................................................................................ 47 直接寻址示意图................................................................................................................ 49 GPR 特殊寻址示意图 ....................................................................................................... 49 间接寻址示意图................................................................................................................ 50 PA/PB/PC 端口结构图 ..................................................................................................... 53 系统时钟结构图................................................................................................................ 65 看门狗定时器内部结构图 ................................................................................................. 67 芯片复位原理图................................................................................................................ 70 上电复位时序示意图 ........................................................................................................ 70 低电压复位时序示意图..................................................................................................... 71 外部 MRSTN 管脚复位 .................................................................................................... 71 MRSTN 复位参考电路图 1 ............................................................................................... 72 MRSTN 复位参考电路图 2 ............................................................................................... 72 看门狗溢出复位................................................................................................................ 73 RST 指令软件复位 ......................................................................................................... 73 系统唤醒 IDLE 的时序图 ................................................................................................ 76 T8N 内部结构图 ............................................................................................................... 77 定时器模式时序图 ............................................................................................................ 79 计数器模式时序图(T8NEG=0,T8NCKI 上升沿计数)................................................. 79 T11 内部结构图 ................................................................................................................ 81 T11 定时器模式时序图 .................................................................................................... 82 T21 内部结构图 ................................................................................................................ 86 T21 定时器模式时序图 .................................................................................................... 87 T21 计数器模式时序图 .................................................................................................... 88 T21 多精度 PWM 模式示意图 .......................................................................................... 89 T21 捕捉器模式时序图(每个脉冲上升沿捕捉信号) .................................................. 91 T21 比较器模式时序图 .................................................................................................. 92 T31 内部结构图 ............................................................................................................ 100 预分频比变更的计数时序图(T31CNTLD=0x2D) ..................................................... 100 使用后分频的计数时序图(T31CNTLD=0x2D)......................................................... 101 递增计数时序图(预分频为 1) ................................................................................... 102 递增计数时序图(RLBE=1,T31CNTLD 有缓冲) ..................................................... 102 递增计数时序图(RLBE=0,T31CNTLD 无缓冲) ..................................................... 103 递减计数时序图(RLBE=1,T31CNTLD 有缓冲) ..................................................... 103 中心对齐模式 1 计数时序图(RLBE=1) .................................................................... 104 V1.8 版权所有©上海东软载波微电子有限公司 15/248 http://www.essemi.com ES7P169C 数据手册 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 图 6-20 6-21 6-22 6-23 6-24 6-25 6-26 6-27 6-28 6-29 6-30 6-31 6-32 6-33 6-34 6-35 6-36 6-37 6-38 6-39 6-40 6-41 6-42 6-43 6-44 6-45 6-46 6-47 6-48 6-49 6-50 6-51 6-52 6-53 6-54 6-55 6-56 6-57 6-58 6-59 6-60 6-61 6-62 6-63 内部时钟源模式下递增计数时序图(预分频/后分频为 1).......................................... 106 外部时钟源模式 1 的计数时序图(时钟源为通道 1 端口,上升沿递增计数) ............ 107 外部时钟源模式 2 的计数时序图(预分频比为 1:2,上升沿递增计数)................... 107 测量脉冲信号周期和占空比的捕捉模式时序(通道 1,复位模式) ............................ 109 比较器模式时序图(比较匹配后端口输出翻转,CHnOBE=0,无缓冲) ................... 110 普通 PWM 波形,递增计数(T31CHnR=3,T31CNTLD=0x3F,CHnP=0) ............ 112 普通 PWM 波形,递减计数(T31CHnR=3,T31CNTLD=0x3F,CHnP=1) ............ 112 中心对齐 PWM 波形(T31CHnR=0x3D,T31CNTLD=0x3F,CHnP=0,CMC=10) 113 带死区延时的互补输出................................................................................................. 113 单脉冲输出波形(PWM 模式 1,T31CHnR=0x3D,T31CNTLD=0x3F,CHnP=1) 114 带死区互补输出的关断时序图 ...................................................................................... 116 编码器模式下的计数器计数时序(T31SM=010,通道输入不反相).......................... 118 复位模式下的计数时序(T31CNTLD=0x3F,通道 2 端口信号上升沿触发) ............. 118 门控模式下的计数时序(T31CNTLD=0x3F,通道 2 端口门控信号高电平有效) ...... 119 触发模式下的计数时序(T31CNTLD=0x3F,通道 2 端口信号上升沿触发) ............. 120 UART 发送端原理图 .................................................................................................... 150 UART 接收端原理图 .................................................................................................... 151 UARTn 数据格式示意图 ............................................................................................... 151 UARTn 发送器操作流程图 ........................................................................................... 152 UARTn 发送器发送数据时序图(9 位数据格式,第 9 位数据为“0” ) ...................... 153 UARTn 接收器操作流程图 ........................................................................................... 154 UARTn 接收器接收数据时序图(9 位数据格式) ....................................................... 154 I2C 内部结构 ................................................................................................................ 159 开漏输出端口示意图 .................................................................................................... 160 I2C 总线通讯协议示意图 .............................................................................................. 161 I2C 从动波形图 ............................................................................................................ 161 I2C 起始位和停止位 ..................................................................................................... 162 数据传输和应答............................................................................................................ 162 主控器写入从动器数据示意图 ...................................................................................... 163 主控器读取从动器数据示意图 ...................................................................................... 163 I2C 发送数据流示意图 ................................................................................................. 163 I2C 接收数据流示意图 ................................................................................................. 164 I2C 时钟线下拉等待波形示意图 ................................................................................... 164 SPI 电路结构框图 ........................................................................................................ 169 SPI 时钟上升沿发送,下降沿接收波形示意图 ............................................................. 170 SPI 时钟下降沿发送,上升沿接收波形示意图 ............................................................. 170 SPI 时钟上升沿接收,下降沿发送波形示意图 ............................................................. 170 SPI 时钟下降沿接收,上升沿发送波形示意图 ............................................................. 171 SPI 发送数据流示意图 ................................................................................................. 171 SPI 接收数据流示意图 ................................................................................................. 172 SPI 延迟接收功能波形示意图 ...................................................................................... 173 ADC 内部结构图 .......................................................................................................... 179 ADC 时序特征示意图(SMPS=0) ............................................................................. 182 ADC 时序特征示意图(SMPS=1) ............................................................................. 182 V1.8 版权所有©上海东软载波微电子有限公司 16/248 http://www.essemi.com ES7P169C 数据手册 图 6-64 LVD 工作时序图 ........................................................................................................... 189 图 7-1 默认中断模式中断控制逻辑 ........................................................................................... 192 图 7-2 向量中断模式中断控制逻辑 ........................................................................................... 193 表目录 表 表 表 表 表 表 表 表 表 表 表 表 表 表 表 表 表 表 表 表 表 1-1 3-1 4-1 4-2 4-3 4-4 4-5 5-1 5-2 5-3 6-1 6-2 6-3 6-4 6-5 6-6 7-1 7-2 7-3 7-4 7-5 管脚说明........................................................................................................................... 27 在线编程/调试管脚说明.................................................................................................... 45 I/O 端口弱上拉 ................................................................................................................. 54 I/O 端口弱下拉 ................................................................................................................. 54 I/O 端口开漏输出 ............................................................................................................. 54 外部端口中断 ................................................................................................................... 56 外部按键中断 ................................................................................................................... 56 低功耗模式配置表 ............................................................................................................ 75 唤醒方式配置表................................................................................................................ 75 唤醒时间计算表................................................................................................................ 76 T8N 预分频器配置表 ........................................................................................................ 78 T8N 工作模式配置表 ........................................................................................................ 78 带有关断功能的通道互补输出列表 ................................................................................ 116 计数方向与编码器信号的关系(通道输入不反相) ....................................................... 117 UARTn 波特率配置表 .................................................................................................... 151 I2CS 端口配置表 ............................................................................................................ 159 中断模式选择表.............................................................................................................. 193 默认中断模式使能配置表 ............................................................................................... 194 向量表配置表 ................................................................................................................. 195 向量中断模式中断分组配置表 ........................................................................................ 196 向量中断模式使能配置表 ............................................................................................... 197 V1.8 版权所有©上海东软载波微电子有限公司 17/248 http://www.essemi.com ES7P169C 数据手册 第1章 芯片简介 1. 1 概述      工作条件  工作电压范围:2.2V ~ 5.5V  工作温度范围:-40 ~ 85℃ 设计工艺及封装  低功耗、高速 FLASH CMOS 工艺  20 个管脚,采用 TSSOP/SOP 封装  16 个管脚,采用 SOP 封装 内核  ES7P RISC CPU 内核  79 条精简指令  系统时钟工作频率最高为 32MHz  指令周期为 2 个系统时钟周期  复位向量位于 0000H,默认中断向量位于 0004H  支持中断处理,支持中断优先级和中断向量表  支持硬件乘法器 存储资源  8K Word FLASH 程序存储器  共 32 页,每页 256 Word 支持 IAP 操作,查表读,页擦除和单地址编程 擦写时,支持定时器模块正常工作 擦写时,不支持中断处理 1K Word Data FLASH 数据存储器  共 4 页,每页 256 Word 支持 IAP 操作,查表读,页擦除和单地址编程 擦写时,支持定时器模块正常工作 擦写时,不支持中断处理 支持芯片唯一识别码  16 级程序堆栈  1K Byte SRAM 数据存储器  程序存储器支持直接寻址、相对寻址和查表读操作  数据存储器支持直接寻址、GPR 特殊寻址和间接寻址 编程及调试接口  - 支持在线编程(ISP)接口 支持 2 组 ISP 编程接口可选择,硬件自动识别有效的 ISP 编程接口 V1.8 版权所有©上海东软载波微电子有限公司 18/248 http://www.essemi.com ES7P169C 数据手册  支持在线调试(ICD)功能 - 支持 2 组 ICD 调试接口可选择,通过芯片配置字选择 ICD 编程接口  支持编程代码加密保护  I/O 端口  最多支持 18 个 I/O 端口 - PA 端口(PA0~PA7) - PB 端口(PB0~PB7) - PC 端口(PC0~PC1)  支持 9 个外部端口中断 PINT(PINT0~PINT8 为输入端)  支持 8 个按键端口中断 KINT(KIN0~KIN7 为输入端)  支持独立的可配置内部弱上/下拉输入端口 - 支持 18 个独立可配置弱上拉输入端口 - 支持 16 个独立可配置弱下拉输入端口  支持 4 个独立可配置开漏输出端口(PB0~PB1,PC1,PA5)   支持 12 个驱动能力可独立配置的端口(PA0~PA5,PB0~PB3,PC0~PC1)  支持 18 个可独立配置的 20nS 输入滤波端口  支持 3 组可配置的两种 SMIT 输入端口(PA,PB,PC)  VDD=5V, 其中 4 个端口 PC1, PA3~PA5 的灌电流驱动可加强到 60mA@VOL=1.4V, 常温 复位  内嵌上电复位电路 POR  内嵌掉电复位电路 BOR - BOR 复位电压 3 个档位可选:2.1V,2.5V,3.1V  内嵌低电压检测电路 LVD - LVD 电压 8 个档位可选: 2.2V~4.6V  支持外部复位 MRSTN   支持独立硬件看门狗定时器溢出复位  支持指令 RST 复位 时钟  支持多种内部高频 INTHRC 振荡时钟源 - 64MHz,32MHz,16MHz,4MHz 可选,其中 4MHz 支持分频后得到 1MHz 时钟 - 出厂前校准精度为±1%,分频得到的 1MHz 时钟频率精度为-1%~+2%(常温 25℃) - 用于主系统时钟源,最高支持 32MHz  支持内部低频 32KHz RC 振荡时钟源  - 出厂前校准精度为±5%(常温 25℃) - 可选择用于主系统和部分外设时钟源 看门狗定时器  支持内部 32KHz 作为时钟源 V1.8 版权所有©上海东软载波微电子有限公司 19/248 http://www.essemi.com ES7P169C 数据手册     支持周期匹配寄存器,可调整溢出时间  支持溢出唤醒功能  支持溢出复位功能 1 路蜂鸣器 BEEPER  可配置 3 种频率 1KHz,2KHz,4KHz 时钟输出  时钟输出端口可配置 1 路内部参考电压 VREF  出厂前校准精度为±1%(常温 25℃)  支持内部参考 2.048V 可选  可选作为 AD 参考电压 功耗特性 IDLE 电流  - 2.5uA@5.0V,25℃,典型值  动态电流  - 2.6mA@内部 16MHz,5.0V,25℃,典型值 外设  1 路 8 位定时器 T8N  定时器模式(计数时钟为系统时钟 2 分频) 计数器模式(外灌时钟或者内部低频 INTLRC 时钟) 支持可配置预分频器 支持中断产生 1 路 12 位定时/计数器 T11 - 支持同步定时器模式(采用系统时钟分频作为时钟源) - 内置 4 位预分频器和 7 位后分频器 - 支持中断产生  1 路 12 位定时/计数器 T21 -  支持同步定时器模式(采用系统时钟分频作为时钟源) 内置 4 位预分频器和 7 位后分频器 多达 3 个独立通道,可用于:  输入捕捉  输出比较  PWM 生成(多精度 PWM 模式) 3 路 PWM 输出占空比可独立设置 3 路 PWM 输出极性可独立设置 2 组互补 PWM 输出 PWM 沿和比较输出可触发 AD 转换 支持计数器溢出中断、PWM 周期匹配中断、捕捉中断、比较中断 支持 PWM 时钟源可配置:系统时钟 Fosc,或 INTHRC 时钟 支持外部时钟作为异步计数时钟 1 路 16 位多功能定时器 T31 V1.8 版权所有©上海东软载波微电子有限公司 20/248 http://www.essemi.com ES7P169C 数据手册 - 16 位自动重载计数器,支持递增计数,递减计数,递增/递减交替计数模式 16 位可编程预分频器,计数时钟预分频范围为 1~65536 8 位可编程后分频器,后分频范围为 1~256 8 位死区延时寄存器 T31DLYT 4 个 16 位捕捉/比较寄存器 T31CH1R、T31CH2R、T31CH3R 和 T31CH4R 支持 7 种工作模式:定时器模式,捕捉模式,比较模式,PWM 模式,单脉冲模式, 关断功能模式,从模式 - 支持多个从模式:编码器模式,复位模式,门控模式,触发模式 - 多达 4 个独立通道,可用于:  输入捕捉  输出比较  PWM 生成(普通 PWM 模式,中心对齐模式,带死区互补输出)  单脉冲模式输出 - 以下事件将生成中断请求:  更新:计数器上溢出/下溢出、计数器初始化(通过软件或内部/外部触发)  触发事件(计数器启动、停止、初始化或通过内部/外部触发计数)  输入捕捉  输出比较匹配  关断输入 - 支持 PWM 时钟源可配置:系统时钟 Fosc,或 INTHRC 时钟  两路高速异步收发器 UART0/UART1  支持异步全双工收发 支持 8 位/9 位数据格式 约定数据从最低位开始接收/发送 支持双/单线通讯 支持接收/发送端口互换 支持 4 位小数波特率 支持中断产生 一路 I2C 总线  只支持从动模式 支持标准 I2C 总线协议,最高传输速率 400K bit/s 支持 7 位寻址方式 约定数据从最高位开始接收/发送 支持中断产生 一路同步串口通讯模块 SPI  支持主控模式、从动模式 支持 4 种数据传输格式 支持主控模式通讯时钟速率可配置 支持 4 级发送缓冲器和 4 级接收缓冲器 支持发送和接收缓冲器空/满中断 支持接收数据溢出中断、发送数据写错误中断、从动模式的发送数据错误中断 支持从动模式的片选变化中断、主控模式的空闲状态中断 支持主控模式延迟接收 模拟数字转换器 ADC V1.8 版权所有©上海东软载波微电子有限公司 21/248 http://www.essemi.com ES7P169C 数据手册 - 支持 12 位数字转换精度 支持 12+2 通道模拟输入端 支持可选择参考电压源 支持内部参考 2.048V 可选 支持 1/4VDD 和 VSS 作为 ADC 的内部输入通道 支持窗口电压自动监测 ADC 转换支持以下启动方式  设置寄存器 ADCCL 的 ADTRG=1(SMPS=1)启动转换  设置寄存器 ADCCL 的 SMPON=1(SMPS=0)启动转换  外部中断 PINT5(ADC_ETR0/PA7)启动转换,需设置 ADC_ETR0EN=1  外部中断 PINT8(ADC_ETR1/PB1)启动转换,需设置 ADC_ETR1EN=1  T21 模块的比较匹配触发转换,需设置寄存器 T21CL 的 T21M=1011  T31 模块的更新事件或比较匹配触发转换,可通过寄存器 T31C1L 的 ADTRGS 位设置 - 支持中断产生,可唤醒 CPU 1. 2 应用领域 本芯片可用于门禁系统、电子烟、灯控、断路器、充电器、美容仪器、小家电、工业控制等 领域。 1. 3 结构框图 程序/数据存储器 8K Words FLASH Reset Controller FLASH程序、数据存储器访问控制器 Oscillator IAP 特 殊 功 能 接 口 程序总线接口 程序指针 16级程 序堆栈 取指和 指令译码 模块 数 据 总 线 接 口 ALU CPU 数据存储器 WDT LVD Interrupt Controller 特殊功能 IO / IOMUX T8N T11/T21 T31 PA BEEPER PB SPI SRAM访问控制器 UART0/UART1 1K Bytes SRAM IICS 外 设 PC ADC VREF 图 1-1 ES7P169C 结构框图 V1.8 版权所有©上海东软载波微电子有限公司 22/248 http://www.essemi.com ES7P169C 数据手册 1. 4 管脚分配图 20-pin(TSSOP/SOP) VSS 1 20 PA6/AIN10/SPI_NSS/T21_CH2/PINT4 2 19 PC1/ISPCK0/T31_CH3N/TX1/I2C_SCL PB0/AIN3/I2C_SDA/T21_CH0N/T31_ETR/KIN2 3 18 PA5/ISPDA0/RX1/I2C_SDA/PINT3 PA3/MRSTN/T21CKI/BEEPO/PINT1 4 PB1/AIN11/I2C_SCL/ADC_ETR1/T31_BRK/PINT8 5 PB2/AIN4/T31_CH1N/T11CKI/BEEPO/KIN3 6 PB3/AIN5/T31_CH4/T31_CH2N/CLKO/KIN4 7 PB4/AIN9/SPI_SCK/T21_CH0/T31_CH3/PINT6 8 PB5/AIN12/SPI_MOSI/T31_CH1/TX1/PINT7 9 PB6/SPI_MISO/T31_CH2/RX1/KIN5 10 ES7P169CFGT/SF* 1. 4. 1 VDD 17 PA4/ISPCK1/T8NCKI/T21_CH2N/PINT2 16 PA2/AIN2/ISPDA1/RX0/KIN1 15 PA1/AIN1/TX0/KIN0 14 PA0/AIN0/T21_CH0/PINT0 13 PA7/AIN7/T21_CH1/T31_CH3N/ADC_ETR0/PINT5 12 PC0/T31_CH1N/KIN7 11 PB7/AIN6/T21_CH2/T31_CH2N/BEEPO/KIN6 图 1-2 ES7P169CFGT/SF 顶视图 16-pin(SOP) VSS 1 16 VDD PA6/AIN10//T21_CH2/PINT4 2 15 PC1/ISPCK0/T31_CH3N/TX1/I2C_SCL PB0/AIN3/I2C_SDA/T21_CH0N/T31_ETR/KIN2 3 14 PA5/ISPDA0/RX1/I2C_SDA/PINT3 PA3/MRSTN/T21CKI/BEEPO/PINT1 4 13 PA4/ISPCK1/T8NCKI/T21_CH2N/PINT2 PB1/AIN11/I2C_SCL/ADC_ETR1/T31_BRK/PINT8 5 12 PA2/AIN2/ISPDA1/RX0/KIN1 PB2/AIN4/T31_CH1N/T11CKI/BEEPO/KIN3 6 11 PA1/AIN1/TX0/KIN0 PB3/AIN5/T31_CH4/T31_CH2N/CLKO/KIN4 7 10 PA0/AIN0/T21_CH0/PINT0 PB4/AIN9/T21_CH0/T31_CH3/PINT6 8 9 PA7/AIN7/T21_CH1/T31_CH3N/ADC_ETR0/PINT5 ES7P169CFGSD 1. 4. 2 图 1-3 ES7P169CFGSD 顶视图 注 1:MRSTN 表示低电平有效。 注 2:外部复位管脚可以复用 PA3 为数字输入/输出功能。 注 3:PC1 和 PA5,PA4 和 PA2 作为 2 组在线编程/调试接口,使用时可选择其中任意一组。 注 4:I2CS 有两组通讯口可选,分别为 PC1 和 PA5,PB1 和 PB0。 注 5:UART1 有两组双线通讯口可选,分别为 PC1 和 PA5,PB5 和 PB6;UART0 的通讯口为 PA1 和 PA2。 注 6:UART1 的单线通讯端口为 PC1,UART0 的单线通讯端口为 PA1。 注 7:芯片 I/O 端口输入电平不能高于芯片 VDD+0.3V 且不能低于 VSS-0.3V,否则可能会影响芯片正常工作。 注 8:在应用系统中,未使用的 I/O 管脚需软件设置为输出低电平,如果产品封装引脚数小于本系列最大封装管脚数, 则未引出的 I/O 管脚也需软件设置为输出低电平,否则芯片功耗可能会出现异常,芯片工作稳定性也容易因 外界干扰而降低。 V1.8 版权所有©上海东软载波微电子有限公司 23/248 http://www.essemi.com ES7P169C 数据手册 1. 4. 3 管脚说明 管脚名 管脚复用 输入类型 输出类型 A/D PA0 TTL CMOS D 通用 I/O AIN0 — — A ADC 模拟通道 0 输入 PA0/AIN0/T21_CH0/ PINT0 端口说明 T21 捕捉输入通道 0 T21_CH0 TTL CMOS D PWM 输出通道 0 比较输出通道 0 备注 支持弱 上/下 拉 PINT0 TTL — D 外部中断输入 0 PA1 TTL CMOS D 通用 I/O AIN1 — — A ADC 模拟通道 1 输入 TX0 — CMOS D UART0 发送输出 KIN0 TTL — D 外部按键中断输入 0 PA2 TTL CMOS D 通用 I/O AIN2 — — A ADC 模拟通道 2 输入 支持弱 ISPDA1 TTL CMOS D ISP 串行编程/调试数据输入 上/下 输出 1 拉 RX0 TTL — D UART0 接收输入 KIN1 TTL — D 外部按键中断输入 1 PA3 TTL CMOS D 通用 I/O PA3/MRSTN/T21CK MRSTN TTL — D 外部复位输入 支持弱 I/BEEPO/ T21CKI TTL — D 外部时钟输入 上/下 PINT1 BEEPO — CMOS D 蜂鸣器时钟输出 拉 PINT1 TTL — D 外部中断输入 1 PA4 TTL CMOS D 通用 I/O ISPCK1 TTL — D T8NCKI TTL — D PA1/AIN1/TX0/KIN0 PA2/AIN2/ISPDA1/R X0/KIN1 PA4/ISPCK1/ T8NCKI/ T21_CH2N/ PINT2 — CMOS D 上/下 拉 ISP 串行编程/调试时钟输入 1 T8N 外部时钟输入 T21 通道 2 T21_CH2N 支持弱 PWM 互补输出 支持弱 上/下 拉 比较互补输出 PA5/ISPDA0/RX1/I2 C_SDA/PINT3 PA6/AIN10/SPI_NS S/T21_CH2/PINT4 PINT2 TTL — D 外部中断输入 2 PA5 TTL CMOS D 通用 I/O ISP 串行编程/调试数据输入 支持开 ISPDA0 TTL CMOS D RX1 TTL — D UART1 接收输入 I2C_SDA TTL CMOS D I2C 数据输入/输出 PINT3 TTL — D 外部中断输入 3 PA6 TTL CMOS D 通用 I/O AIN10 — — A ADC 模拟通道 10 输入 支持弱 SPI_NSS TTL — D SPI 从动模式片选输入 上/下 TTL CMOS D T21 捕捉输入通道 2 拉 T21_CH2 V1.8 版权所有©上海东软载波微电子有限公司 输出 0 漏输 出,支 持弱上 /下拉 PWM 输出通道 2 24/248 http://www.essemi.com ES7P169C 数据手册 管脚名 管脚复用 输入类型 输出类型 A/D 端口说明 备注 比较输出通道 2 PINT4 TTL — D 外部中断输入 4 PA7 TTL CMOS D 通用 I/O AIN7 — — A ADC 模拟通道 7 输入 T21 捕捉输入通道 1 PA7/AIN7/T21_CH1/ T21_CH1 TTL CMOS D T31_CH3N/ADC_ET R0/PINT5 PB0/AIN3/ I2C_SDA/ T21_CH0N/T31_ET R/KIN2 PB1/AIN11/I2C_SCL /ADC_ETR1/T31_B RK/PINT8 PB2/AIN4/ T31_CH1N/T11CKI/ BEEPO/KIN3 PB3/AIN5/T31_CH4/ 支持弱 比较输出通道 1 上/下 T31 通道 3 互补输出 拉 T31_CH3N — CMOS D ADC_ETR0 TTL — D PINT5 TTL — D 外部中断输入 5 PB0 TTL CMOS D 通用 I/O AIN3 — — A ADC 模拟通道 3 输入 I2C_SDA TTL CMOS D I2C 数据输入/输出 支持弱 T21 通道 0 上/下 PWM 互补输出 拉/开 比较互补输出 漏输出 T21_CH0N — CMOS D 外部中断 5 触发 AD 转换信 号 T31_ETR TTL — D T31 外部触发输入信号 KIN2 TTL — D 外部按键中断输入 2 PB1 TTL CMOS D 通用 I/O AIN11 — — A ADC 模拟通道 11 输入 I2C_SCL TTL — D I2C 时钟输入 上/下 外部中断 8 触发 AD 转换信 拉/开 号 漏输出 ADC_ETR1 TTL — D T31_BRK TTL — D T31 关断事件输入 PINT8 TTL — D 外部中断输入 8 PB2 TTL CMOS D 通用 I/O AIN4 — — A ADC 模拟通道 4 输入 T31_CH1N — CMOS D T11CKI TTL — BEEPO — KIN3 支持弱 T31 通道 1 比较和 PWM 互 支持弱 补输出 上/下 D T11 计数时钟输入 拉 CMOS D 蜂鸣器时钟输出 TTL — D 按键中断输入 3 PB3 TTL CMOS D 通用 I/O AIN5 — — A ADC 模拟通道 5 输入 T31_CH4 TTL CMOS D T31_CH2N/CLKO/KI N4 PWM 输出通道 1 T31 通道 4 捕捉输入 比较输出,PWM 输出 T31 通道 2 比较和 PWM 互 T31_CH2N — CMOS D CLKO — CMOS D 系统时钟输出 KIN4 TTL — D 按键中断输入 4 V1.8 版权所有©上海东软载波微电子有限公司 补输出 支持弱 上/下 拉 25/248 http://www.essemi.com ES7P169C 数据手册 管脚名 PB4/AIN9/SPI_SCK/ T21_CH0/T31_CH3/ 管脚复用 输入类型 输出类型 A/D PB4 TTL CMOS D 通用 I/O AIN9 — — A ADC 模拟通道 9 输入 SPI_SCK TTL — D SPI 从动模式时钟输入 端口说明 T21 捕捉输入通道 0 T21_CH0 TTL CMOS D PWM 输出通道 0 比较输出通道 0 PINT6 T31 通道 3 捕捉输入 T31_CH3 TTL CMOS D 备注 支持弱 上/下 拉 比较输出 PWM 输出 PB5/AIN12/SPI_MO SI/T31_CH1/TX1/PI NT7 PB6/SPI_MISO/T31 _CH2/RX1/KIN5 PINT6 TTL — D 外部中断输入 6 PB5 TTL CMOS D 通用 I/O AIN12 — — A ADC 模拟通道 12 输入 SPI_MOSI TTL CMOS D SPI 主控输出/从机输入端口 T31 通道 1 捕捉输入 T31_CH1 TTL CMOS D 比较输出 PWM 互补输出 TX1 — CMOS D UART1 发送输出 PINT7 TTL — D 外部中断输入 7 PB6 TTL CMOS D 通用 I/O SPI_MISO TTL CMOS D SPI 主控输入/从机输出端口 T31_CH2 TTL CMOS D 支持弱 上/下 拉 T31 通道 2 捕捉输入 支持弱 比较输出 上/下 PWM 输出 拉 RX1 TTL — D UART1 接收输入 KIN5 TTL — D 外部按键中断输入 5 PB7 TTL CMOS D 通用 I/O AIN6 — — A ADC 模拟通道 6 输入 T21_CH2 TTL CMOS D T21 捕捉输入通道 2 PB7/AIN6/T21_CH2/ T31_CH2N /BEEPO/KIN6 PC0/T31_CH1N/KIN 7 PC1/ISPCK0/T31_C H3N/TX1/I2C_SCL PWM 输出通道 2 支持弱 比较输出通道 2 上/下 T31 通道 2 比较和 PWM 互 拉 T31_CH2N — CMOS D BEEPO — CMOS D 蜂鸣器时钟输出 KIN6 TTL — D 外部按键中断输入 6 PC0 TTL CMOS D 通用 I/O T31_CH1N — CMOS D KIN7 TTL — D 外部按键中断输入 7 PC1 TTL CMOS D 通用 I/O 支持弱 ISPCK0 TTL — D ISP 串行编程/调试时钟输入 上拉/ 0 开漏输 T31_CH3N — CMOS D T31 通道 3 比较和 PWM 互 出 V1.8 版权所有©上海东软载波微电子有限公司 补输出 T31 通道 1 比较和 PWM 互 支持弱 补输出 上拉 26/248 http://www.essemi.com ES7P169C 数据手册 管脚名 管脚复用 输入类型 输出类型 A/D 端口说明 备注 补输出 TX1 — CMOS D UART1 发送输出 I2C_SCL TTL — D I2C 时钟输入 VDD VDD — — P 电源 — VSS VSS — — P 地,0V 参考点 — 表 1-1 管脚说明 注 1:A = 模拟端口,D = 数字端口,P = 电源/地。 注 2:MRSTN 表示低电平复位有效。 注 3:所有通用 I/O 端口均支持 CMOS 和 TTL 施密特输入可选,以及 CMOS 输出驱动。 V1.8 版权所有©上海东软载波微电子有限公司 27/248 http://www.essemi.com ES7P169C 数据手册 第2章 内核特性 2. 1 CPU内核概述  - 内核特性 采用高性能 ES7P RISC CPU 内核,79 条精简指令集 采用 2T 架构,每个机器周期包括两个系统时钟周期 系统时钟最高支持 32MHz,最小指令周期 62.5ns 支持中断优先级和中断向量表 支持硬件乘法器 2. 2 硬件乘法器 2. 2. 1 概述 芯片指令集不包含乘法指令,内部集成独立的硬件乘法器,通过读写相应寄存器进行操作。  - 2. 2. 2 主要功能组件 8 位乘数 A 寄存器(MULA,只可写) 8 位乘数 B 寄存器(MULB,只可写) 16 位乘积寄存器(MULL/MULH,只可读) 硬件乘法器操作 硬件乘法器完成 8 位乘数 MULA 与 8 位乘数 MULB 的相乘操作: x = 16 位乘积。 在 MULA 和 MULB 写入完成后的 1 个机器周期内,将 16 位结果高、低 8 位分别存储于 2 个寄存器 MULH 和 MULL。 MULA 和 MULL 共用一个寄存器地址,MULB 和 MULH 共用一个寄存器地址。乘数 A/B 设置完成后,下一条指令即可读取乘积结果。 应用实例:硬件乘法器操作应用程序 …… BCC MOVI MOVA MOVI MOVA MOV …… MOV …… INTG,GIE mul_operand_a MULA mul_operand_b MULB MULL,0 ; 写乘数 B ; 读乘积低 8 位 MULH,0 ; 读乘积高 8 位 ; 写乘数 A 注:硬件乘法器的乘数寄存器可写不可读,在使用硬件乘法器之前,需先禁止全局中断使能(GIE=0) ,以免在中断 处理过程中,乘数寄存器无法被有效保护而被改写。 V1.8 版权所有©上海东软载波微电子有限公司 28/248 http://www.essemi.com ES7P169C 数据手册 2. 3 特殊功能寄存器 CPU 相关寄存器包括 14-bit 程序计数器寄存器 PCRL/PCRH,程序状态字寄存器 PSW,累 加器 A 寄存器 AREG,乘数寄存器 MULA、MULB 和乘积寄存器 MULL、MULH,其中程序 状态寄存器 PSW 用于存放各个状态标志位,包括程序出栈溢出、负数标志位、溢出标志位、 零标志位、半进位/半借位标志位,以及全进位或全借位标志位等。 2. 3. 1 程序状态字寄存器(PSW) PSW:程序状态字寄存器 Bit 7 6 5 4 3 2 1 0 Name — UF OF N OV Z DC C R/W — R R R/W R/W R/W R/W R/W RESET x 0 0 x x x x x Bit 7 Bit 6 未使用 UF:程序出栈溢出标志位 0:程序出栈未溢出 1:程序出栈溢出 OF:程序压栈溢出标志位 0:程序压栈未溢出 1:程序压栈溢出 N:负数标志位 0:有符号算术或逻辑运算结果为正数 1:结果为负数 OV:溢出标志位 0:有符号算术运算未发生溢出 1:发生溢出 Z:零标志位 0:算术或逻辑运算的结果不为零 1:算术或逻辑运算的结果为零 DC:半进位或半借位标志位 0:低四位无进位或低四位有借位 1:低四位有进位或低四位无借位 C:全进位或全借位标志位 0:无进位或有借位 1:有进位或无借位 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 注 1:仅部分指令可对 PSW 寄存器进行写操作,包括 JDEC、JINC、SWAP、BCC、BSS、BTT、MOVA 和 SETR。 其它指令对 PSW 寄存器的写操作,只根据指令的运行结果影响相应状态标志位。 注 2:OF 和 UF 位为只读标志位,仅上电复位、复位指令和 MRSTN 复位会将其清零,其它复位不影响这两个标志 位。 V1.8 版权所有©上海东软载波微电子有限公司 29/248 http://www.essemi.com ES7P169C 数据手册 2. 3. 2 程序计数器寄存器低 8 位(PCRL) PCRL:程序计数器寄存器低 8 位 Bit 7 6 5 4 Name 3 2 1 0 PCRL R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 2. 3. 3 PCRL:程序计数器寄存器低 8 位 程序计数器寄存器高 6 位(PCRH) PCRH:程序计数器寄存器高 5 位 Bit 7 6 Name — — R/W — — R/W R/W POR 0 0 0 0 Bit 7~6 Bit 5~0 2. 3. 4 5 4 3 2 1 0 R/W R/W R/W R/W 0 0 0 0 PCRH 未使用 PCRH:程序计数器寄存器高 6 位 累加器A寄存器(AREG) AREG:累加器 A 寄存器 Bit 7 6 5 Name 4 3 2 1 0 AREG R/W R/W R/W R/W R/W R/W R/W R/W R/W POR x x x x x x x x 4 3 2 1 0 Bit 7~0 2. 3. 5 AREG:累加器的值 乘数A寄存器(MULA) MULA:乘数 A 寄存器 Bit 7 6 5 Name MULA R/W W W W W W W W W POR x x x x x x x x 4 3 2 1 0 Bit 7~0 MULA:乘数 A 2. 3. 6 乘数B寄存器(MULB) MULB:乘数 B 寄存器 Bit 7 6 5 Name MULB R/W W W W W W W W W POR x x x x x x x x Bit 7~0 MULB:乘数 B V1.8 版权所有©上海东软载波微电子有限公司 30/248 http://www.essemi.com ES7P169C 数据手册 2. 3. 7 乘积低 8 位寄存器(MULL) MULL:乘积低 8 位寄存器 Bit 7 6 5 Name 4 3 2 1 0 MULL R/W R R R R R R R R POR x x x x x x x x 4 3 2 1 0 Bit 7~0 2. 3. 8 MUL:乘积低 8 位 乘积高 8 位寄存器(MULH) MULH:乘积高 8 位寄存器 Bit 7 6 5 Name MULH R/W R R R R R R R R POR x x x x x x x x Bit 7~0 MUL:乘积高 8 位 V1.8 版权所有©上海东软载波微电子有限公司 31/248 http://www.essemi.com ES7P169C 数据手册 第3章 存储资源 3. 1 概述 本芯片采用哈佛总线架构,程序寻址空间和数据寻址空间相互独立。 片内存储器资源包括:  8K word FLASH 程序存储区 - 共分为 32 页,每页 256 word 存储空间 0000H ~ 1FFFH(IAP 访问时为 32 位字单元操作,每个地址单元为 2 个 word, 其中高 16 位和低 16 位分别对应于奇数地址单元 word 和偶数地址单元 word) - 支持应用中自编程操作 IAP(In-Application Programming),包括编程和页擦 - 支持查表指令读取数据 - 支持页擦除,擦除时间至少为 2ms - 支持单地址编程,编程时间至少为 25us - 支持至少 10 万次擦写次数,10 年以上的数据保持时间 - 擦写时,支持定时器模块正常工作,但不支持中断处理  1K word Data FLASH 数据存储区 - 共 4 页,每页 256 word 存储空间 C000H ~ C1FFH(IAP 访问时为 32 位字单元操作,每个地址单元为 2 个 word) - 支持应用中自编程操作 IAP(In-Application Programming),包括编程和页擦 - 支持查表指令读取数据 - 支持页擦除,擦除时间至少为 2ms - 支持单地址编程,编程时间至少为 25us - 支持至少 10 万次擦写次数,10 年以上的数据保持时间 - 擦写时,支持定时器模块正常工作,但不支持中断处理  256 word FLASH 信息存储区 - 存储空间 8000H ~ 807FH(IAP 访问时为 32 位字单元操作,每个地址单元为 2 个 word )  1K byte SRAM 数据存储器 其中 FLASH 程序存储区被映射到程序寻址空间,FLASH 数据存储区被映射到 Data FLASH 寻址空间,FLASH 信息存储区被映射到信息区寻址空间,SRAM 数据存储器被映射到数据寻 址空间。 3. 2 程序/数据寻址空间映射 FLASH 程序/数据/信息寻址空间映射如下图: V1.8 版权所有©上海东软载波微电子有限公司 32/248 http://www.essemi.com ES7P169C 数据手册 0000H 复位向量 …… 0004H 中断向量 0024H 程序存储区 PC访问区 …… 1FFFH 图 3-1 FLASH 程序存储区寻址空间映射图 C000H 第1页 C0FFH C100H 第2页 第3页 C17FH C180H FLASH 数据存储区 FRA访问 C07FH C080H 第4页 C1FFH 图 3-2 FLASH 数据存储区寻址空间映射图 8000H 信息区 FRA访问 807FH 图 3-3 信息区寻址空间映射图 注:FLASH 数据/程序存储区,信息区在进行 IAP 读写时,均只支持 32 位字单元操作。 V1.8 版权所有©上海东软载波微电子有限公司 33/248 http://www.essemi.com ES7P169C 数据手册 3. 3 FLASH存储器 3. 3. 1 概述 FLASH 存储器分为程序存储区,数据存储区和信息存储区三个区域。 FLASH 程序存储区用于存储用户程序。由于芯片指令位宽为 16 位(2 个字节),因此约 8K Word FLASH 程序存储器被映射到程序寻址空间的地址空间 0000H~1FFFH,每个访问 地址对应于一个 16 位宽(2 个字节)的存储单元。通过 13 位程序计数器 PC 进行程序 寻址访问。 FLASH 数据存储区用于存储用户系统中的关键参数,芯片掉电后不会丢失。 FLASH 信息存储区用于存储芯片出厂时的关键参数,芯片掉电后不会丢失。 3. 3. 2 程序计数器(PC) 程序计数器中存放的是要执行的下一条指令的地址。CPU 运行时,PC 在每个指令周期后 都会自动加 1,除非 PC 的值被指令或中断异常改写。13 位程序计数器 PC,可寻 址 8K 程序存储空间 0000H ~ 1FFFH,超出地址范围会导致 PC 循环(又从 0000H 开始访 问) 。程序计数器 PC 的低 8 位 PC可通过 PCRL 直接读写,而 PC 高 5 位不能直接 读写,只能通过 PCRH 寄存器来间接赋值(在执行 RCALL、CALL、GOTO 等指令前, 需先对 PCRH 寄存器赋值) 。复位时,PCRL、PCRH 和 PC 都会被清零。PC 硬件堆栈操 作不会影响 PCRH 的值。 当进行 FLASH 数据存储器进行擦写时,程序计数器 PC 暂停更新。 各种指令对 PC 的影响: 1. 通过指令直接修改 PC 值时,对 PCRL 为目标寄存器的操作可直接修改 PC,即 PC=PCRL; 而操作 PC的同时也会执行 PC=PCRH,因此,修改 PC 时,应先修改 PCRH,再修改 PCRL。 2. 执行 RCALL 指令时,PC为寄存器 R 中的值;而 PC =PCRH。 3. 执行 CALL,GOTO 指令时,PC低 11 位为指令中 11 位立即数,而 PC =PCRH。 4. 执行 LCALL 指令时,该指令为双字指令共有 16 位立即数(操作数) 。PC被修改为该 16 位立即数的值 的低 13 位;同时 PCRH被修改为 I的值。 5. 执行 AJMP 指令时,该指令为双字指令共有 16 位立即数(操作数) 。PC 被修改为该 16 位立即数的值 低 13 位,同时 PCRH修改为 I的值。 6. 执行 PAGE 指令时,PCRH的值将被该指令的立即数 I替换。 7. 执行其他指令时,PC 值自动加 1。 应用实例:以 PCRL 为目标寄存器的指令应用程序 …… MOVI MOVA MOVI CALL …… pageaddr PCRH tableaddr TABLE V1.8 版权所有©上海东软载波微电子有限公司 ;设置表格页面地址 ;设置偏移量给 A 寄存器 ;调用子程序方式查表 34/248 http://www.essemi.com ES7P169C 数据手册 TABLE: ADD RETIA RETIA RETIA …… 3. 3. 3 PCRL, F 0x01 0x02 0x03 ;PC 加上偏移量,指向访问的地址 硬件堆栈 芯片内有 16 级硬件堆栈,堆栈位宽与 PC 位宽相等,用于 PC 的压栈和出栈。执行 CALL、 LCALL 和 RCALL 指令或中断被响应后,PC 自动压栈保护;当执行 RET、RETIA 或 RETIE 指令时,堆栈会将最近一次压栈的值恢复至 PC。 16 级硬件堆栈只支持 16 级缓冲操作,即硬件堆栈只保存最近的 16 次压栈值,对于连续 超过 16 次的压栈操作,第 17 次的压栈数据会覆盖第 1 次压栈的数据,使得第 1 次的压栈 数据丢失。同样,超过 16 次的连续出栈,第 17 次出栈操作,可能使得程序流程不可控。 芯片复位后,堆栈指针将重新指向堆栈顶部。 程序指针计数器(PC) 用户程序存储区 堆栈控制器 16级堆栈 1 2 … 16 图 3-3 堆栈示意图 3. 3. 4 芯片唯一识别码(UID) 支持芯片唯一识别码 UID,此款芯片 UID 共 12 个字节,位于信息区的 UID0~UID2,通 过 IAP 查表读可获取 UID 信息。具体 IAP 查表读的操作,可参考 3.3.5.2 章节的应用例 程 3。 芯片唯一识别码(UID0~UID2) 地址 UID0:8070H UID1:8071H UID2:8072H UID Bit31~0 V1.8 版权所有©上海东软载波微电子有限公司 芯片唯一识别码 35/248 http://www.essemi.com ES7P169C 数据手册 3. 3. 5 3. 3. 5. 1 FLASH存储器IAP操作 概述 FLASH 存储器的 IAP 擦除操作是以页(Page)为单位,程序区和数据区每页为 128 个 地址单元(每个地址单元为 2 个 word,共 256 个 word) ,页地址对应到 FRAH。FLASH 存储器的读出和 IAP 编程写入操作以 1 个地址单元为单位,通过 FRA(FRAH, FRAL)寻址,FRA固定为 0。 FLASH 存储区包括 DATA 数据区、信息区、程序区,三个区域的选择通过 FRA 地址寄存器设置,FRA=2'b11 时,选择 DATA 区;FRA=2'b10 时,选 择信息区;FRA=2'b00 时,选择程序区。 当 FLASH 存储器进行 IAP 擦除或 IAP 写入操作时 CPU 内核暂停执行,需要软件关闭全 局中断使能位 GIE(INTG),并判断 GIE 寄存器是否清零成功,如未被清零,则需 再次执行软件清零操作,直到清零成功,外设可按预设状态继续运行,外设的中断请求 将置位相应的中断标志。当 IAP 擦除或 IAP 写入操作完成时,CPU 内核恢复执行,软件 可再使能全局中断,进行相应的中断处理。 FLASH 数据存储区和程序存储区都支持查表读和 IAP 擦写操作,信息存储区只支持 IAP 字读操作。 FLASH 程序区连续读写,需地址加 2 递增,FRA无效;而数据区连续读写,需地址 加 1 递增;信息区连续读,也是地址加 1 递增。访问 FLASH 程序区时,以 FRA 为有效地址进行寻址,对每次读写的 2 个 16 位字,ROMD(ROMDH,ROMDL)对应 于地址最低位 FRA=0 的字,ROMD1(ROMD1H,ROMD1L)对应于地址最低位 FRA=1 的字。 3. 3. 5. 2 查表读操作 本芯片的 FLASH 程序区,数据区和信息区都支持查表读操作。通过查表读指令将 FRA (FRAH,FRAL)所指向的存储器地址单元中的字(32 位)读入 ROMD(ROMDH, ROMDL)和 ROMD1(ROMD1H,ROMD1L)中。 本芯片查表写指令保留未用(执行时仅影响 FRA 寄存器) 。 在进行查表读操作时,需要设置 FRA地址选择操作区域,程序区查表读还需使 能配置字 FREN(CFG_WD0) ,如果 FREN 为 0,禁止查表读,程序区读取时为全 零;数据区查表读和配置字 FREN 是否使能无关。 特别注意,在进行数据区和信息区查表读之前,需要先使能读触发位 DATARDTRG (ROMCL),使能读准备,并判断读准备结束后,再使能读出使能位 DATARDEN (ROMCL) ,最后执行查表读指令。详见下面应用例程 2 和 3。 应用例程 1:FLASH 程序存储区查表读 MOVI 0x04 MOVA MOVI MOVA FRAL 0x01 FRAH V1.8 版权所有©上海东软载波微电子有限公司 ;读取 FRA地址的数据,即程序存储器 ;0104H 和 0105H 地址单元,共 2 个 word 36/248 http://www.essemi.com ES7P169C 数据手册 TBR MOV MOV MOV MOV …… MOVI MOVA ROMDH, 0 …… ROMDL, 0 …… ROMD1H, 0 …… ROMD1L, 0 0x00 ROMCL ;读取地址单元 0104H ;读取地址单元 0105H ;退出 IAP 操作 应用例程 2:FLASH 数据存储区查表读。 MOVI MOVA MOVI MOVA BCC JBC GOTO BSS JBC GOTO BSS TBR MOV …… MOV …… MOV …… MOV …… BSS MOVI MOVA 0x04 FRAL 0XC0 FRAH INTG, GIE INTG, GIE $-2 ROMCL,0 ROMCL,0 $-1 ROMCL,7 ;读取 FRA地址的数据,即数据存储器 C004H ;判断全局中断是否清零 ;使能读触发位,读准备使能 ;判断读准备是否完成 ;读出使能 ;查表读 ROMDH, 0 ROMDL, 0 ;读取地址单元 C004H 低 16 位数据 ROMD1H, 0 ROMD1L, 0 ;读取地址单元 C004H 高 16 位数据 INTG, GIE 0x00 ROMCL ;开全局中断 ;退出 IAP 操作 应用例程 3:信息区查表读。 MOVI MOVA MOVI MOVA BCC JBC 0x2F FRAL 0X80 FRAH INTG, GIE INTG, GIE V1.8 版权所有©上海东软载波微电子有限公司 ;读取信息区存储器(802FH)单元 ;判断全局中断是否清零 37/248 http://www.essemi.com ES7P169C 数据手册 GOTO BSS JBC GOTO BSS TBR MOV …… MOV …… MOV …… MOV …… BSS MOVI MOVA 3. 3. 5. 3 $-2 ROMCL,0 ROMCL,0 $-1 ROMCL,7 ;使能读触发位,读准备使能 ;判断读准备是否完成 ;读出使能 ;查表读 ROMDH, 0 ROMDL, 0 ;读取地址单元 802FH 低 16 位数据 ROMD1H, 0 ROMD1L, 0 ;读取地址单元 802FH 高 16 位数据 INTG, GIE 0x00 ROMCL ;开全局中断 ;退出 IAP 操作 存储器的IAP擦写 FLASH 程序区和数据区都支持 IAP 擦写操作。 擦写操作需通过存储器控制寄存器(ROMCH,ROMCL)共同完成,同时地址寄存器 FRA(FRAH,FRAL)和 FRAN(FRAHN,FRALN)的值需满足逻辑取反,即寄存器 FRAN 的值为寄存器 FRA 的反码,如果 FRA 和 FRAN 不满足逻辑取反,硬件会自动清 零擦写使能位 WREN,禁止擦写。每次 FRA 和 FRAN 寄存器更新并满足取反逻辑后, 都要重新打开 FLASH 擦除/编程使能位 WREN。 IAP 擦写包括三个基本操作:数据备份,页擦除,自编程。 FLASH 存储器的擦除以页为单位,可将页地址寄存器 FRAH 所指向的页擦除。每页擦除 时间至少为 2ms。 FLASH 存储器的自编程以双字为单位,可同时将 ROMD(ROMDH,ROMDL) 、ROMD1 (ROMD1H,ROMD1L)寄存器中的 32 位值写入 FRA(FRAH,FRAL)所指向的地址 单元。FLASH 数据区写操作时,ROMD 写入 FRA地址单元的低 16 位字,ROMD1 写入 FRA地址单元的高 16 位字;FLASH 程序区写操作时,以 FRA为有 效地址进行寻址,ROMD 写入地址最低位 FRA=0 的 16 位字地址单元,ROMD1 写 入地址最低位 FRA=1 的 16 位字地址单元。双字编程时间至少为 25us。 3. 3. 5. 4  存储器页更新流程 编程模式 V1.8 版权所有©上海东软载波微电子有限公司 38/248 http://www.essemi.com ES7P169C 数据手册 开始 备份整页数据至RAM 更新所需的RAM数据 执行页擦除 写RAM数据至 ROMD/ROMD1 FRA + 1 执行自编程 下一地址? 是 否 错误 校验 正确 完成 图 3-4 页更新参考流程图 更新一页 FLASH 存储器的步骤: 1. 用查表读指令将一页内容备份至数据存储空间(需 256x2 字节存储空间,用于存放一页的数据量) ; 2. 修改备份数据存储空间要更新的值; 3. 通过设置寄存器 ROMCL 和 ROMCH 进行页擦除(必须依照固定程序流程进行) ; 4. 通过寄存器 FRAL 和 FRAH 选择需要更新的地址,以及设置寄存器 ROMD 和 ROMD1 需要更新的数据; 5. 通过设置寄存器 ROMCL 和 ROMCH, 将寄存器 ROMD 和 ROMD1 中的内容写入 FRA 所指向的页中的地址 (必 须依照固定程序流程进行) ; 6. 重复 4、5 步骤直至完成整页编程; 7. 用查表读指令进行写入区的校验。 3. 3. 5. 5 操作参考例程 以下例程以数据存储区的 IAP 页擦和编程为例,同样,当 IAP 操作选择程序存储区,也支持 IAP 页擦和编程操作。 应用例程 1:FLASH 数据存储区页擦除。 除定时器/计数器可保持运行外,程序停止运行,直至擦除操作完成后自动恢复运行。 MOVI MOVA MOVI MOVA MOVI MOVA 0X00 FRAL 0XC1 FRAH 0XFF FRALN V1.8 版权所有©上海东软载波微电子有限公司 ;设置擦除页面的地址 ;设置页面的地址反码 39/248 http://www.essemi.com ES7P169C 数据手册 MOVI MOVA BSS BSS BCC JBC GOTO 0X3E FRAHN ROMCL, FPEE ROMCL, WREN INTG, GIE INTG, GIE $-2 MOVI MOVA ... ... MOVI MOVA ... ... BSS 0x55 ROMCH JBC GOTO BSS …… MOVI MOVA CLR CLR ROMCL,WR $-1 INTG, GIE ;选择擦除操作 ;打开 FLASH 擦除/编程使能 ;关闭全局中断(避免中断影响后续固定程序流程) ;判断全局中断是否清零 ; 8 个 NOP 指令,或等待 8 个指令周期 0xAA ROMCH ; 8 个 NOP 指令,或等待 8 个指令周期 ROMCL, WR 0x00 ROMCL FRALN FRAHN ;等待擦除结束 ;开全局中断 ;退出 IAP 操作 应用例程 2:FLASH 数据存储区地址单元写入。 除定时器/计数器可保持运行外,程序停止运行,直至写入操作完成后自动恢复运行。 MOVI 0x00 MOVA FRAL MOVI 0xC0 MOVA FRAH C000H 地址单元,共 2 个 word MOVI 0XFF MOVA FRALN MOVI 0X3F MOVA FRAHN MOVI MOVA MOVI MOVA MOVI MOVA MOVI MOVA BCC 0x12 ROMDH 0x34 ROMDL 0x56 ROMD1H 0x78 ROMD1L ROMCL, FPEE V1.8 版权所有©上海东软载波微电子有限公司 ; 写 FLASH 数据存储区的 FRA,即数据存储区 ;设置待写入单元的地址反码 ; C000H 地址低 16 位写入数据 0x1234 ; C000H 地址高 16 位写入数据 0x5678 ; 选择编程操作 40/248 http://www.essemi.com ES7P169C 数据手册 BSS CC JBC GOTO ROMCL, WREN INTG, GIE INTG, GIE $-2 ; 打开 FLASH 擦除/编程使能 ; 关闭全局中断(避免中断影响后续固定程序流程) ;判断全局中断是否清零 MOVI MOVA ... ... MOVI MOVA ... ... BSS 0x55 ROMCH JBC GOTO BSS …… MOVI MOVA CLR CLR ROMCL,WR $-1 INTG, GIE ;等待编程结束 0x00 ROMCL FRALN FRAHN ;退出 IAP 操作 ; 8 个 NOP 指令,或等待 8 个指令周期 0xAA ROMCH ; 8 个 NOP 指令,或等待 8 个指令周期 ROMCL, WR ; 开全局中断 应用例程 3:FLASH 程序存储区地址单元写入。 除定时器/计数器可保持运行外,程序停止运行,直至写入操作完成后自动恢复运行。 MOVI MOVA MOVI MOVA 0x00 FRAL 0x00 FRAH MOVI MOVA MOVI MOVA 0XFF FRALN 0XFF FRAHN MOVI MOVA MOVI MOVA MOVI MOVA MOVI MOVA BCC BSS BCC 0x12 ROMDH 0x34 ROMDL 0x56 ROMD1H 0x78 ROMD1L ROMCL, FPEE ROMCL, WREN INTG, GIE V1.8 版权所有©上海东软载波微电子有限公司 ; 写 FLASH 程序存储区的 FRA地址单元, ; 对应于程序存储区 0000H 和 0001H 地址,共 2 个 word ; 设置待写入单元的地址反码 ; 0000H 地址写入数据 0x1234 ; 0001H 地址写入数据 0x5678 ; 选择编程操作 ; 打开 FLASH 擦除/编程使能 ; 关闭全局中断(避免中断影响后续固定程序流程) 41/248 http://www.essemi.com ES7P169C 数据手册 JBC GOTO INTG, GIE $-2 ; 判断全局中断是否清零 MOVI MOVA ... ... MOVI MOVA ... ... BSS 0x55 ROMCH JBC GOTO BSS …… MOVI MOVA CLR CLR ROMCL,WR $-1 INTG, GIE ; 等待编程结束 0x00 ROMCL FRALN FRAHN ; 退出 IAP 操作 ; 8 个 NOP 指令,或等待 8 个指令周期 0xAA ROMCH ; 8 个 NOP 指令,或等待 8 个指令周期 ROMCL, WR ; 开全局中断 注:上述应用例程方框中的程序为固定操作格式,使用时不可改变,否则会导致 IAP 擦除和编程不成功。 3. 3. 6 3. 3. 6. 1 特殊功能寄存器 查表地址寄存器低 8 位(FRAL) FRAL:查表地址寄存器低 8 位 Bit 7 6 5 4 Name 3 2 1 0 FRAL R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET x x x x x x x x Bit 7~0 FRAL:查表地址低 8 位 3. 3. 6. 2 查表地址寄存器高 8 位(FRAH) 3 2 1 0 FRAH:查表地址寄存器高 8 位 Bit 7 6 5 4 Name FRAH R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET x x x x x x x x Bit 7~0 FRAH:查表地址高 8 位 V1.8 版权所有©上海东软载波微电子有限公司 42/248 http://www.essemi.com ES7P169C 数据手册 3. 3. 6. 3 查表地址取反寄存器低 8 位(FRALN) FRALN:查表地址取反寄存器低 8 位 Bit 7 6 5 4 Name 3 2 1 0 FRALN R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 FRALN:查表地址取反低 8 位 3. 3. 6. 4 查表地址取反寄存器高 8 位(FRAHN) 3 2 1 0 FRAHN:查表地址取反寄存器高 8 位 Bit 7 6 5 4 Name FRAHN R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 FRAHN:查表地址取反高 8 位 3. 3. 6. 5 查表数据寄存器低 8 位(ROMDL) 3 2 1 0 ROMDL:查表数据寄存器低 8 位 Bit 7 6 5 4 Name ROMDL R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET x x x x x x x x Bit 7~0 ROMDL:查表数据 32 位字的 bit7~0 3. 3. 6. 6 查表数据寄存器高 8 位(ROMDH) 3 2 1 0 ROMDH:查表数据寄存器高 8 位 Bit 7 6 5 Name 4 ROMDH R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET x x x x x x x x Bit 7~0 ROMDH:查表数据 32 位字的 bit15~8 3. 3. 6. 7 查表数据寄存器 1 低 8 位(ROMD1L) 2 1 0 ROMD1L:查表数据寄存器 1 低 8 位 Bit 7 6 5 Name 4 3 ROMD1L R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET x x x x x x x x Bit 7~0 ROMD1L:查表数据 32 位字的 bit23~16 V1.8 版权所有©上海东软载波微电子有限公司 43/248 http://www.essemi.com ES7P169C 数据手册 3. 3. 6. 8 查表数据寄存器 1 高 8 位(ROMD1H) ROMD1H:查表数据寄存器 1 高 8 位 Bit 7 6 5 Name 4 3 2 1 0 ROMD1H R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET x x x x x x x x Bit 7~0 ROMD1H:查表数据 32 位字的 bit31~24 3. 3. 6. 9 存储器控制寄存器低 8 位(ROMCL) ROMCL:存储器控制寄存器低 8 位 Bit 7 Name DATARDEN R/W R/W R/W R/W RESET 0 0 0 Bit7 Bit 6~4 Bit 3 Bit 2 Bit 1 Bit 0 3. 3. 6. 10 6 5 4 3 2 1 0 FPEE WREN WR DATARDTRG R/W R/W R/W R/W R/W 0 0 0 0 0 — DATARDEN:数据区和信息区数据读出使能位 0:禁止 1:使能 保留未用 FPEE:FLASH 存储器页擦除/编程选择位 0:编程 1:擦除 WREN:FLASH 存储器页擦除/编程使能位 0:禁止,如果 FRA 和 FRAN 不满足逻辑取反时,硬件自动清零 WREN 1:使能 WR:FLASH 存储器页擦除/编程触发位 0:未启动页擦除/编程操作,或操作已完成 1:页擦除/编程正在进行操作(硬件自动清零) DATARDTRG:数据区和信息区查表读触发位,开始读准备 0:禁止 1:使能读准备,读准备完成后,硬件自动清零 存储器控制寄存器高 8 位(ROMCH) ROMCH:存储器控制寄存器高 8 位 Bit 7 6 5 Name 4 3 2 1 0 ROMCH R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 ROMCH:存储器页擦除/编程控制字 注:ROMCH 寄存器为虚拟寄存器,对该寄存器读出始终为全 0。 V1.8 版权所有©上海东软载波微电子有限公司 44/248 http://www.essemi.com ES7P169C 数据手册 3. 4 在线编程ISP和在线调试ICD FLASH 存储器和 FLASH 数据存储器具有可重复烧写的功能,便于客户代码和数据的更新升 级。为了实现开发人员在开发过程中能够更轻松地进行代码的调试、更新、升级,本芯片还 支持在线编程 ISP 和在线调试 ICD,用户只需在电路系统板上引出五根编程和调试接口线, 即可实现程序的重新烧录和调试,更加方便高效。 芯片管脚 管脚说明 ISPCK 编程/调试串行时钟端口 ISPDA 编程/调试串行数据端口 MRSTN 复位脚 VDD 电源 VSS 地 表 3-1 在线编程/调试管脚说明 注:对编程/调试接口中的 ISPCK 和 ISPDAT 管脚,芯片支持两组管脚可选择,其中 PC1 和 PA5 作为一组,PA4 和 PA2 作为另一组编程/调试接口。此两组接口用作编程使用时,无需进行选择设置,芯片自动识别有效使用的 编程接口;用作调试使用时,通过配置字 ICDEN(CFG_WD)使能,并由配置字 ICDSEL (CFG_WD1)进行选择 ICD 调试端口。 V1.8 版权所有©上海东软载波微电子有限公司 45/248 http://www.essemi.com ES7P169C 数据手册 3. 5 数据存储器 3. 5. 1 概述  数据存储器由 2 部分组成 - 通用数据存储器 GPR - 特殊功能寄存器 SFR  物理存储包括 - 1K Byte 数据存储器 - 256 个特殊寄存器  支持 3 种寻址方式 - 3. 5. 2 直接寻址 GPR 特殊寻址 间接寻址 通用数据存储器 通用数据存储器被用于临时存放数据和控制信息,可以在程序控制下进行读写操作。本芯 片通用数据存储器空间为 1K Byte,支持 8 个存储体组,地址范围为 0000H~03FFH。程序 控制过程中,对这些存储体访问时,需通过寄存器 BKSR 选择存储体,实现在不同存储体 间的跳转。通用数据存储器的内容在上电复位后是不确定的,未掉电的其它复位后,将保 存复位前的内容。 地址映射如下: 0000H 007FH 00FFH 017FH 01FFH 027FH 02FFH 037FH 03FFH FF7FH Section 0 Section 1 Section 2 Section 3 Section 4 Section 5 Section 6 Section 7 保留 图 3-5 GPR 地址映射示意图 3. 5. 3 特殊功能寄存器 特殊功能寄存器用于芯片对外设操作的控制设定。本芯片支持 256 个特殊寄存器,分两个 存储体组,地址范围 FF80H~FFFFH。其中 FF80H~FFBFH 为两个存储体公共的存储区,此 区域的寄存器无需切换存储体访问。大多数寄存器都是可以读写的,仅有少数寄存器作为 保留使用,用户程序不能进行读写。相关功能所使用的寄存器将分别在各个章节中描述。 V1.8 版权所有©上海东软载波微电子有限公司 46/248 http://www.essemi.com ES7P169C 数据手册 3. 5. 3. 1 特殊功能存储体 0 当 SBKSR=0 时,选择特殊功能存储体 0,特殊存储体 0 寄存器分布如下: FF80H FF81H FF82H FF83H FF84H FF85H FF86H FF87H FF88H FF89H FF8AH FF8BH FF8CH FF8DH FF8EH FF8FH FF90H FF91H FF92H FF93H FF94H FF95H FF96H FF97H FF98H FF99H FF9AH FF9BH FF9CH FF9DH FF9EH FF9FH IAD IAAL IAAH BKSR PSW AREG PCRL PCRH MULA/MULL MULB/MULH TMRADC BEEPC LVDC ANSH FRALN FRAHN FRAL FRAH ROMDL ROMDH ROMCL ROMCH INTG INTP INTC0 INTE0 INTF0 INTE1 INTF1 INTE2 INTF2 INTE3 FFA0H FFA1H FFA2H FFA3H FFA4H FFA5H FFA6H FFA7H FFA8H FFA9H FFAAH FFABH FFACH FFADH FFAEH FFAFH FFB0H FFB1H FFB2H FFB3H FFB4H FFB5H FFB6H FFB7H FFB8H FFB9H FFBAH FFBBH FFBCH FFBDH FFBEH FFBFH INTF3 ROMD1L ROMD1H KMSK WDTC WDTP WKDC PWEN PA PB PC PAFLT PBFLT PAT PBT PCT PAPD PBPD PAPU PBPU PCPU PCFLT PWRC PACTR PBCTR PCCTR ADCCSH PORTCTR ANSL T8N T8NC T31CHBK FFC0H FFC1H FFC2H FFC3H FFC4H FFC5H FFC6H FFC7H FFC8H FFC9H FFCAH FFCBH FFCCH FFCDH FFCEH FFCFH FFD0H FFD1H FFD2H FFD3H FFD4H FFD5H FFD6H FFD7H FFD8H FFD9H FFDAH FFDBH FFDCH FFDDH FFDEH FFDFH T31DLYT T31C0L T31C0H T31C1L T31C1H T31C2L T31C2H T31IEL T31IEH T31IDL T31IDH T31IVSL T31IVSH T31IFL T31IFH T31IFML T31IFMH T31ICRL T31ICRH T31EVG T31CH1C T31CH2C T31CH3C T31CH4C T31PINCL T31PINCH T31CNTL T31CNTH T31PRSL T31PRSH T31CNTLDL T31CNTLDH FFE0H FFE1H FFE2H FFE3H FFE4H FFE5H FFE6H FFE7H FFE8H FFE9H FFEAH FFEBH FFECH FFEDH FFEEH FFEFH FFF0H FFF1H FFF2H FFF3H FFF4H FFF5H FFF6H FFF7H FFF8H FFF9H FFFAH FFFBH FFFCH FFFDH FFFEH FFFFH T31POS T31CH1RL T31CH1RH T31CH2RL T31CH2RH T31CH3RL T31CH3RH T31CH4RL T31CH4RH T21OC T21L T21H T21PL T21PH T21R0L T21R0H T21CL T21CM T21CH T21R1L T21R1H T21R2L T21R2H ADCCM ADCRL ADCRH ADCCL ADCCH ADCLTRL ADCLTRH ADCHTRL ADCHTRH 图 3-6 特殊功能寄存器空间 V1.8 版权所有©上海东软载波微电子有限公司 47/248 http://www.essemi.com ES7P169C 数据手册 3. 5. 3. 2 特殊功能存储体 1 当 SBKSR=1 时,选择特殊功能存储体 1,特殊存储体 1 寄存器分布如下: FF80H FF81H FF82H FF83H FF84H FF85H FF86H FF87H FF88H FF89H FF8AH FF8BH FF8CH FF8DH FF8EH FF8FH FF90H FF91H FF92H FF93H FF94H FF95H FF96H FF97H FF98H FF99H FF9AH FF9BH FF9CH FF9DH FF9EH FF9FH IAD IAAL IAAH BKSR PSW AREG PCRL PCRH MULA/MULL MULB/MULH TMRADC BEEPC LVDC ANSH FRALN FRAHN FRAL FRAH ROMDL ROMDH ROMCL ROMCH INTG INTP INTC0 INTE0 INTF0 INTE1 INTF1 INTE2 INTF2 INTE3 FFA0H FFA1H FFA2H FFA3H FFA4H FFA5H FFA6H FFA7H FFA8H FFA9H FFAAH FFABH FFACH FFADH FFAEH FFAFH FFB0H FFB1H FFB2H FFB3H FFB4H FFB5H FFB6H FFB7H FFB8H FFB9H FFBAH FFBBH FFBCH FFBDH FFBEH FFBFH INTF3 ROMD1L ROMD1H KMSK WDTC WDTP WKDC PWEN PA PB PC PAFLT PBFLT PAT PBT PCT PAPD PBPD PAPU PBPU PCPU PCFLT PWRC PACTR PBCTR PCCTR ADCCSH PORTCTR ANSL T8N T8NC T31CHBK FFC0H FFC1H FFC2H FFC3H FFC4H FFC5H FFC6H FFC7H FFC8H FFC9H FFCAH FFCBH FFCCH FFCDH FFCEH FFCFH FFD0H FFD1H FFD2H FFD3H FFD4H FFD5H FFD6H FFD7H FFD8H FFD9H FFDAH FFDBH FFDCH FFDDH FFDEH FFDFH SPICON0 SPICON1 SPIIE SPIIF SPIRBR SPITBW T11L T11H T11PL T11PH T11CL T11CM T11CH BR0FRA BR1FRA RX0B RX0C TX0B TX0C BR0R RX1B RX1C TX1B TX1C BR1R I2CX16 I2CC I2CSA I2CTB I2CRB I2CIEC I2CIFC FFE0H FFE1H FFE2H FFE3H FFE4H FFE5H FFE6H FFE7H FFE8H FFE9H FFEAH FFEBH FFECH FFEDH FFEEH FFEFH FFF0H FFF1H FFF2H FFF3H FFF4H FFF5H FFF6H FFF7H FFF8H FFF9H FFFAH FFFBH FFFCH FFFDH FFFEH FFFFH — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — 注:FFE0H~ FFFFH 地址范围为测试保留寄存器,禁止应用程序软件写操作,否则可能会导致芯片工作异常。 3. 5. 4 寻址方式 SRAM 数据存储器的寻址方式支持直接寻址、GPR 特殊寻址和间接寻址。 3. 5. 4. 1 直接寻址 直接寻址的地址信息由两部分组成,BKSR 和指令中的 8 位地址信息。BKSR 用于选择 存储体组,指令中的 8 位地址信息用于在 BKSR 所选的存储体组中寻址。 在直接寻址时,当指令中的 8 位地址信息大于或等于 80H 时,将忽略 BKSR 而直接寻址 SFR 映射区。当指令中的 8 位地址信息小于 80H 时,访问 GPR 地址映射区。 示意图如下: V1.8 版权所有©上海东软载波微电子有限公司 48/248 http://www.essemi.com ES7P169C 数据手册 } } GPR SECTION0 R { GPR SECTION1 (< 80H) (≥ 80H) GPR地址映射区 ≈ BKSR ≈ } GPR SECTION7 ≈ 保留 ≈ SFR SFR 图 3-7 直接寻址示意图 3. 5. 4. 2 GPR特殊寻址 为方便较大的数据段(例如数组)在 GPR 中的移动,指令 MOVAR 和 MOVRA 用于对 GPR 进行特殊寻址操作,本芯片 MOVAR 和 MOVRA 指令最大支持 10 位地址信息 (R) ,可直接寻址 1K 字节地址空间。无需进行 SECTION 间切换。 MOVAR 和 MOVRA 指令无法访问 SFR。 示意图如下: GPR SECTION0~7 R ˜ ˜ 保留 图 3-8 GPR 特殊寻址示意图 3. 5. 4. 3 间接寻址 间接寻址是通过 16 位间接地址寄存器 IAA(由 2 个 8 位寄存器 IAAH 和 IAAL 组成)和 8 位虚拟数据寄存器 IAD,间接访问数据寻址空间中的存储单元。先将访问目的地址存 放于间接地址寄存器 IAA,再通过指令对 IAD 进行读/写操作,实际的读/写操作对象则是 IAA 指向的数据寻址空间中的目的地址单元。 IAD 寄存器本身也映射到数据寻址空间的 FF80H 地址, 因此当 IAA 存放的地址值为 FF80H V1.8 版权所有©上海东软载波微电子有限公司 49/248 http://www.essemi.com ES7P169C 数据手册 时,读/写 IAD 相当于用间接寻址方式访问虚拟寄存器 IAD 本身,此时读操作将始终读出 为 00H,写操作则是一个空操作(可能影响状态位) 。 ISTEP 指令,用来对 16 位间接地址寄存器 IAA 进行偏移操作。执行该指令时,先将指 令字中的 8 位有符号立即数进行符号位扩展为 16 位数,再将 IAA 的值加上这个数的结 果存回 IAA 寄存器。ISTEP 可实现的偏移范围为-128~127。 0000H ISTEP IAA IAD 数据寻址 空间 FFFFH 图 3-9 间接寻址示意图 3. 5. 5 3. 5. 5. 1 特殊功能寄存器 间接寻址数据寄存器(IAD) IAD:间接寻址数据寄存器 Bit 7 6 5 4 Name 3 2 1 0 IAD R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 IAD:间接寻址数据 3. 5. 5. 2 间接寻址索引寄存器低 8 位(IAAL) 3 2 1 0 IAAL:间接寻址索引寄存器低 8 位 Bit 7 6 5 4 Name IAAL R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 IAAL:间接寻址索引低 8 位 V1.8 版权所有©上海东软载波微电子有限公司 50/248 http://www.essemi.com ES7P169C 数据手册 3. 5. 5. 3 间接寻址索引寄存器高 8 位(IAAH) IAAH:间接寻址索引寄存器高 8 位 Bit 7 6 5 4 Name 3 2 1 0 IAAH R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 IAAH:间接寻址索引高 8 位 3. 5. 5. 4 存储体选择寄存器(BKSR) 2 1 0 BKSR:存储体选择寄存器 Bit 7 6 5 4 3 Name — — — SBKSR — R/W — — — R/W — R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~5 Bit 4 未使用 SBKSR:特殊功能存储体选择位 0:选择存储体 0 1:选择存储体 1 未使用 DBKSR:数据存储体选择位 000:选择存储体 0 001:选择存储体 1 010:选择存储体 2 011:选择存储体 3 100:选择存储体 4 101:选择存储体 5 110:选择存储体 6 111:选择存储体 7 Bit 3 Bit 2~0 V1.8 版权所有©上海东软载波微电子有限公司 DBKSR 51/248 http://www.essemi.com ES7P169C 数据手册 第4章 输入/输出端口 4. 1 概述 输入/输出端口是芯片的最基本组成部分,本芯片最多支持 18 个输入/输出端口。所有 I/O 端 口都是 TTL/SMT 输入和 CMOS 输出驱动。  PA 输入/输出端口功能组件 - 8 位双向输入/输出端口 TTL/SMT 输入和 CMOS 输出驱动 端口输入输出控制寄存器(PAT) 端口弱上拉控制寄存器(PAPU) 端口弱下拉控制寄存器(PAPD) 数/模端口控制寄存器(ANSL/ANSH) PA0,PA3~7 支持外部端口中断功能 PA1~2 支持外部按键中断功能 PA5 支持开漏输出 支持可配置的两种 SMIT 窗口 支持输入滤波功能 PA0~5 支持两档可配置的驱动能力, 其中 PA3~5 的灌电流驱动加强到 60mA@1.4V, VDD=5V,常温。  PB 输入/输出端口功能组件  - 8 位双向输入/输出端口 TTL/SMT 输入和 CMOS 输出驱动 端口输入输出控制寄存器(PBT) 端口弱上拉控制寄存器(PBPU) 端口弱下拉控制寄存器(PBPD) 数/模端口控制寄存器(ANSL/ANSH) 端口 PB0~1 有开漏输出功能 PB4~5,PB1 支持外部端口中断功能 PB0,PB2~3,PB6~7 支持按键中断功能 支持可配置的两种 SMIT 窗口 支持输入滤波功能 PB0~3 支持两档可配置的驱动能力 PC 输入/输出端口功能组件 2 位双向输入/输出端口 TTL/SMT 输入和 CMOS 输出驱动 端口输入输出控制寄存器(PCT) 端口弱上拉控制寄存器(PCPU) PC0 支持按键中断功能 PC1 支持开漏输出 支持可配置的两种 SMIT 窗口 支持输入滤波功能 PC0~1 支持两档可配置的驱动能力,其中 PC1 的灌电流驱动加强到 60mA@1.4V, VDD=5V,常温。 V1.8 版权所有©上海东软载波微电子有限公司 52/248 http://www.essemi.com ES7P169C 数据手册 注 1:当端口设置为输出或者模拟输入端口时,内部弱上/下拉自动禁止。 4. 2 结构框图 VDD 外设输出使能 外设输出数据 D 写PX Q 1 0 端口写数据 寄存器 CLR D 写PXT SET PXOD SET Q Q VDD 端口输入输出 控制寄存器 CLR Q I/O口 VDD PXPU ANSL 数据总线 读PXT 读PX PXPD 模拟口 图 4-1 PA/PB/PC 端口结构图 注 1:除 PB0/PB1 和 PA5/PC1 外,其它端口无开漏输出功能; 注 2:PC0~1 无弱下拉功能。 4. 3 I/O端口功能设置 4. 3. 1 I/O端口输入/输出控制 芯片中的所有 I/O 端口都具有输入/输出的能力,端口控制寄存器 PAT/PBT/PCT 用于相应 端口的输入或输出功能选择。当 I/O 端口设置为数字输出状态时,I/O 端口输出 PA/PB/PC 寄存器内容,即相应 I/O 端口电平状态,读取 PA/PB/PC 寄存器的操作实际为读取相应 I/O 端口电平状态。当 I/O 端口设置为数字输入状态时,读取 PA/PB/PC 寄存器的操作实际为 读取相应 I/O 端口电平状态。 4. 3. 2 I/O端口弱上/下拉功能 很多产品的应用中需要端口连接上拉或下拉电阻,使端口固定在一个稳定的电平状态,防 止外界干扰以及其它影响,弱上/下拉都有独立的寄存器控制。 (PA3/MRSTN 端口内部弱 上拉默认使能) V1.8 版权所有©上海东软载波微电子有限公司 53/248 http://www.essemi.com ES7P169C 数据手册 管脚 0 1 2 3 4 5 6 7 PA 支持 支持 支持 支持 支持 支持 支持 支持 PB 支持 支持 支持 支持 支持 支持 支持 支持 PC 支持 支持 — — — — — — 表 4-1 I/O 端口弱上拉 管脚 0 1 2 3 4 5 6 7 PA 支持 支持 支持 支持 支持 支持 支持 支持 PB 支持 支持 支持 支持 支持 支持 支持 支持 PC — — — — — — — — 表 4-2 I/O 端口弱下拉 4. 3. 3 I/O端口模拟/数字类型选择功能 当数字信号和模拟信号共用管脚时,在使用对应端口的数字信号或模拟信号功能前,须正 确设置端口的类型,否则可能不会达到预期的结果。本芯片中部分 PA/PB 端口具有独立的 模拟/数字信号选择功能,由 ANSL、ANSH、PAT 和 PBT 寄存器控制选择。当端口被配置 为模拟端口时,PAT 和 PBT 寄存器相应的位一定要配置为 1,读相应的 PA/PB 寄存器时, 始终读到“0”。 4. 3. 4 I/O端口开漏输出 端口 PB0~1 支持开漏输出功能, 可独立设置为开漏输出, 由 PBCTR 寄存器的 PBOD 位独立控制;PC1 和 PA5 也支持开漏输出功能,可独立设置为开漏输出,分别由 PACTR 寄存器的 PA5OD 位,PCCTR 的寄存器 PC1OD 位独立控制 管脚 0 1 2 3 4 5 6 7 PA — — — — — 支持 — — PB 支持 支持 — — — — — — PC — 支持 — — — — — — 表 4-3 I/O 端口开漏输出 4. 3. 5 I/O端口可配SMT窗口 端口 PA,PB,PC 支持 3 组 SMT 输入窗口可选功能,由 PACTR、PBCTR和 PCCTR寄存器位控制每一组。 管脚 0 1 2 3 4 5 PA 支持 支持 支持 PB 支持 支持 PC 支持 支持 支持 支持 支持 支持 支持 — — — 6 7 支持 支持 支持 支持 支持 支持 — — — 表 4-4 I/O 端口 SMT 窗口 4. 3. 6 I/O端口可配驱动能力 端口 PA0~5,PB0~3,PC0~1 支持 2 档驱动能力可选功能,由 PACTR、PBCTR V1.8 版权所有©上海东软载波微电子有限公司 54/248 http://www.essemi.com ES7P169C 数据手册 和 PCCTR寄存器位独立控制。 其中 PC1, PA3~5 的灌电流驱动增强到 60mA@1.4V, VDD=5V,常温下。具体驱动能力详见附录 4 的参数特性表。 管脚 0 1 2 3 4 5 6 7 PA 支持 支持 支持 支持 支持 支持 — — PB 支持 支持 支持 支持 — — — — PC 支持 支持 — — — — — — 表 4-5 I/O 端口驱动能力 4. 3. 7 I/O端口可配输入滤波 端口 PA,PB,PC 支持可配的数字输入 20ns 的滤波功能,默认使能,由 PAFLT、 PBFLT和 PCFLT寄存器位独立控制。 管脚 0 1 2 3 4 5 6 7 PA 支持 支持 支持 支持 支持 支持 支持 支持 PB 支持 支持 支持 支持 支持 支持 支持 支持 PC 支持 支持 — — — — — — 表 4-6 I/O 端口输入滤波 4. 3. 8 I/O端口复用功能 为了使资源合理利用最优化,本芯片的所有 I/O 端口都具有复用功能。当端口用于复用功 能时,管脚电平由复用功能决定。 4. 4 端口中断 4. 4. 1 外部端口中断(PINT) 本芯片支持 9 个外部端口中断。当 PINT0~PINT8 复用端口被配置为数字输入端口,且输 入信号变化满足触发条件时,将产生 PINT0~PINT8 外部端口中断。可配置为上升沿触发、 下降沿触发或双沿触发。外部端口中断可由 PIE0~PIE8 使能。中断产生将影响相应的中断 标志 PIF0~PIF8。在 IDLE 模式下,此中断能唤醒 CPU。 外部中断 PINT5 和 PINT8 可触发 AD 转换。当寄存器 ADC_ETR1EN(PORTCTR) 使能时,外部中断 PINT8 可触发 AD 转换;当寄存器 ADC_ETR0EN(PORTCTR) 使能时, 外部中断 PINT5 可触发 AD 转换; ADC 必须先使能,且设置为硬件采样,即 ADCCL 寄存器的 ADEN 和 SMPS 控制位都需设置为 1。 管脚名 端口输入 边沿选择 中断名 中断使能 中断标志 PA0 PINT0 PEG0 PINT0 PIE0 PIF0 PA3 PINT1 PEG0 PINT1 PIE1 PIF1 PA4 PINT2 PEG1 PINT2 PIE2 PIF2 PA5 PINT3 PEG1 PINT3 PIE3 PIF3 PA6 PINT4 PEG2 PINT4 PIE4 PIF4 PA7 PINT5 PEG2 PINT5 PIE5 PIF5 PB4 PINT6 PEG3 PINT6 PIE6 PIF6 V1.8 版权所有©上海东软载波微电子有限公司 55/248 http://www.essemi.com ES7P169C 数据手册 管脚名 端口输入 边沿选择 中断名 中断使能 中断标志 PB5 PINT7 PEG3 PINT7 PIE7 PIF7 PB1 PINT8 PEG3 PINT8 PIE8 PIF8 表 4-4 外部端口中断 4. 4. 2 外部按键中断(KINT) 本芯片支持 1 组最多 8 个外部按键输入端 KINx 的按键中断,每个按键输入都可以由相应 的 KMSKx 位屏蔽。当 KINx 复用端口被配置为数字输入端口,且 1 组中任何一个未屏蔽 的按键端口输入信号发生电平变化时,将产生按键中断 KINT。外部按键中断可由 KIE 使 能。中断产生将影响中断标志 KIF。使用外部按键中断时,须配置相应的控制寄存器,并 且使能外部按键中断端口的内部弱上拉电阻。 外部按键电平比较,是比较按键输入端口的当前电平与锁存器中的最后输入值,如果不相 同则产生按键中断标志。清除按键中断标志位前,必须对相应复用端口进行一次读或写操 作,否则按键中断标志位无法被清除。在 IDLE 模式下,此中断能唤醒 CPU。 管脚名 端口输入 按键屏蔽 PA1 KIN0 KMSK0 PA2 KIN1 KMSK1 PB0 KIN2 KMSK2 PB2 KIN3 KMSK3 PB3 KIN4 KMSK4 PB6 KIN5 KMSK5 PB7 KIN6 KMSK6 PC0 KIN7 KMSK7 中断名 中断使能 中断标志 KINT KIE KIF 表 4-5 外部按键中断 4. 5 I/O端口操作注意事项 当执行以端口寄存器为目标的算术或逻辑运算指令(除位操作指令)时,芯片实际执行读-修 改-写过程,即先读取该组全部 I/O 端口的电平,修改后再写回端口寄存器。位操作指令对 I/O 的修改操作只影响选定的位,对同组其它 I/O 不影响。因此建议用户对单个 I/O 的修改采用位 操作指令。此外在 I/O 复用功能使能和关闭时,应充分考虑当前 I/O 端口的输出寄存器值,并 判断是否需要重新对这些 I/O 端口进行初始化赋值。 V1.8 版权所有©上海东软载波微电子有限公司 56/248 http://www.essemi.com ES7P169C 数据手册 4. 6 特殊功能寄存器 4. 6. 1 PA端口电平状态寄存器(PA) PA:PA 端口电平状态寄存器 Bit 7 6 5 4 3 Name 2 1 0 PA R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET x x x x x x x x Bit 7~0 PA:PA 端口电平状态 0:低电平 1:高电平 3 2 1 0 4. 6. 2 PA端口输入输出控制寄存器(PAT) PAT:PA 端口输入输出控制寄存器 Bit 7 6 5 4 Name PAT R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 1 1 1 1 1 1 1 1 Bit 7~0 PAT:PA 端口输入输出状态控制位 0:输出状态 1:输入状态 注:PA3 只有在配置为 IO 端口时,输入/输出功能才都有效,用作外部复位管脚时,固定为输入。 4. 6. 3 PA端口弱上拉控制寄存器(PAPU) PAPU:PA 端口弱上拉控制寄存器 Bit 7 6 5 4 Name 3 2 1 0 PAPU R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 1 0 0 0 Bit 7~6 PAPU:PA端口内部弱上拉控制位 0:禁止 1:使能 PAPU:PA端口内部弱上拉控制位 0:禁止 1:使能 PAPU:PA端口内部弱上拉控制位 0:禁止 1:使能 PAPU:PA端口内部弱上拉控制位 0:禁止 1:使能 Bit5 Bit4 Bit 3~0 V1.8 版权所有©上海东软载波微电子有限公司 57/248 http://www.essemi.com ES7P169C 数据手册 4. 6. 4 PA端口弱下拉控制寄存器(PAPD) PAPD:PA 端口弱下拉控制寄存器 Bit 7 6 5 4 Name 3 2 1 0 PAPD R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~6 PAPD:PA端口内部弱下拉控制位 0:禁止 1:使能 PAPD:PA端口内部弱下拉控制位 0:禁止 1:使能 PAPD:PA端口内部弱下拉控制位 0:禁止 1:使能 PAPD:PA端口内部弱下拉控制位 0:禁止 1:使能 Bit5 Bit4 Bit 3~0 4. 6. 5 PA端口控制寄存器(PACTR) PACTR:PA 端口控制寄存器 Bit 7 6 5 4 3 2 1 0 Name PASMTS PA5OD PA5DS PA4DS PA3DS PA2DS PA1DS PA0DS R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 1 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 PASMTS:PA 端口 SMT 窗口选择位 0:TTL 输入 1:CMOS 输入 PA5OD:PA5 开漏输出使能位 0:禁止 1:使能 PA5DS:PA5 端口电流选择位 0:弱电流 1:强电流 PA4DS:PA4 端口电流选择位 0:弱电流 1:强电流 PA3DS:PA3 端口电流选择位 0:弱电流 1:强电流 PA2DS:PA2 端口电流选择位 0:弱电流 V1.8 版权所有©上海东软载波微电子有限公司 58/248 http://www.essemi.com ES7P169C 数据手册 Bit 1 Bit 0 1:强电流 PA1DS:PA1 端口电流选择位 0:弱电流 1:强电流 PA0DS:PA0 端口电流选择位 0:弱电流 1:强电流 注:PA3 配置为外部复位端口时,SMT 窗口固定为 CMOS 输入。 4. 6. 6 PA端口输入滤波寄存器(PAFLT) PAFLT:PA 端口输入滤波寄存器 Bit 7 6 5 4 Name 3 2 1 0 PAFLT R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 1 1 1 1 1 1 1 1 2 1 0 Bit 7~0 4. 6. 7 PAFLT:PA 端口输入 20nS 滤波使能位 0:禁止 1:使能 PB端口电平状态寄存器(PB) PB:PB 端口电平状态寄存器 Bit 7 6 5 4 3 Name PB R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET x x x x x x x x Bit 7~0 PB:PB 端口电平状态 0:低电平 1:高电平 4. 6. 8 PB端口输入输出控制寄存器(PBT) PBT:PB 端口输入输出控制寄存器 Bit 7 6 5 Name 4 3 2 1 0 PBT R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 1 1 1 1 1 1 1 1 Bit 7~0 PBT:PB 端口输入输出状态控制位 0:输出状态 1:输入状态 V1.8 版权所有©上海东软载波微电子有限公司 59/248 http://www.essemi.com ES7P169C 数据手册 4. 6. 9 PB端口弱上拉控制寄存器(PBPU) PBPU:PB 端口弱上拉控制寄存器 Bit 7 6 5 4 Name 3 2 1 0 PBPU R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 PBPU:PB 端口内部弱上拉控制位 0:禁止 1:使能 3 2 1 0 4. 6. 10 PB端口弱下拉控制寄存器(PBPD) PBPD:PB 端口弱下拉控制寄存器 Bit 7 6 5 4 Name PBPD R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 PBPD:PB 端口内部弱下拉控制位 0:禁止 1:使能 4. 6. 11 PB端口控制寄存器(PBCTR) PBCTR:PB 端口控制寄存器 Bit 7 6 5 4 3 2 1 0 Name PBSMTS PB0OD PB1OD — PB3DS PB2DS PB1DS PB0DS R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 1 0 0 0 0 0 0 0 Bit7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 PBSMTS:PB 端口 SMT 窗口选择位 0:TTL 输入 1:CMOS 输入 PB0OD:PB0 端口开漏输出控制位 0:禁止 1:使能 PB1OD:PB1 端口开漏输出控制位 0:禁止 1:使能 保留未用 PB3DS:PB3 端口电流选择位 0:弱电流 1:强电流 PB2DS:PB2 端口电流选择位 0:弱电流 1:强电流 V1.8 版权所有©上海东软载波微电子有限公司 60/248 http://www.essemi.com ES7P169C 数据手册 Bit 1 PB1DS:PB1 端口电流选择位 0:弱电流 1:强电流 PB0DS:PB0 端口电流选择位 0:弱电流 1:强电流 Bit 0 4. 6. 12 PB端口输入滤波寄存器(PBFLT) PBFLT:PB 端口输入滤波寄存器 Bit 7 6 5 4 Name 3 2 1 0 PBFLT R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 1 1 1 1 1 1 1 1 Bit 7~0 PBFLT:PB 端口输入 20nS 滤波使能位 0:禁止 1:使能 4. 6. 13 PC端口电平状态寄存器(PC) PC:PC 端口电平状态寄存器 Bit 7 6 5 4 3 2 1 0 Name — — — — — — R/W — — — — — — R/W R/W RESET x x x x x x x x Bit 7~2 Bit 1~0 未使用 PC:PC1~PC0 端口电平状态 0:低电平 1:高电平 1 0 PC 4. 6. 14 PC端口输入输出控制寄存器(PCT) PCT:PC 端口输入输出控制寄存器 Bit 7 6 5 4 3 2 Name — — — — — — R/W — — — — — — R/W R/W RESET 0 0 0 0 0 0 1 1 Bit 7~2 Bit 1~0 未使用 PCT:PC1~PC0 端口输入输出状态控制位 0:输出状态 1:输入状态 V1.8 版权所有©上海东软载波微电子有限公司 PCT 61/248 http://www.essemi.com ES7P169C 数据手册 4. 6. 15 PC端口弱上拉控制寄存器(PCPU) PCPU:PC 端口弱上拉控制寄存器 Bit 7 6 5 4 3 2 1 0 Name — — — — — — PCPU R/W — — — — — — R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~2 Bit 1~0 未使用 PCPU:PC1~PC0 端口内部弱上拉控制位 0:禁止 1:使能 4. 6. 16 PC端口控制寄存器(PCCTR) PCCTR:PC 端口控制寄存器 Bit 7 6 5 4 Name PCSMTS PC1OD I2C_SEL — R/W R/W R/W R/W R/W R/W RESET 1 0 0 0 0 Bit 7 Bit 6 Bit5 Bit 4~2 Bit 1 Bit 0 3 2 1 0 PC1DS PC0DS R/W R/W R/W 0 0 0 0 — PCSMTS:PC 端口 SMT 窗口选择位 0:TTL 输入 1:CMOS 输入 PC1OD:PC1 开漏输出使能位 0:禁止 1:使能 I2C_SEL:I2C 通讯端口选择位 0:PB1/PB0 1:PC1/PA5 保留未用 PC1DS:PC1 端口电流选择位 0:弱电流 1:强电流 PC0DS:PC0 端口电流选择位 0:弱电流 1:强电流 4. 6. 17 PC端口输入滤波寄存器(PCFLT) PCFLT:PC 端口输入滤波寄存器 Bit 7 6 5 4 3 2 1 Name — — — — — — PCFLT R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 1 1 Bit 7~2 Bit 1~0 保留未用 PCFLT:PC 端口输入 20nS 滤波使能位 V1.8 版权所有©上海东软载波微电子有限公司 62/248 http://www.essemi.com ES7P169C 数据手册 0:禁止 1:使能 4. 6. 18 端口特殊功能控制寄存器(PORTCTR) PORTCTR:端口特殊功能控制寄存器 Bit 7 6 5 4 3 2 1 0 Name UART1SEL T31CH3NSEL T31CH2NSEL T31CH1NSEL AD_ETR1EN ADC_ETR0EN T21CH2NEN T21CH0NEN R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7 bit6 bit5 bit4 bit3 bit2 Bit 1 Bit 0 UART1SEL:UART1 接收、发送端口选择位 0:TX1 复用 PB5,RX1 复用 PB6 1:TX1 复用 PC1,RX1 复用 PA5 T31CH3NSEL:T31 通道 3 互补输出选择位 0:PC1 比较输出,PWM 互补输出使能 1:PA7 比较输出,PWM 互补输出使能 T31CH2NSEL:T31 通道 2 互补输出选择位 0:PB3 比较输出,PWM 互补输出使能 1:PB7 比较输出,PWM 互补输出使能 T31CH1NSEL:T31 通道 1 互补输出选择位 0:PB2 比较输出,PWM 互补输出使能 1:PC0 比较输出,PWM 互补输出使能 ADC_ETR1EN:外部中断 8 触发 ADC 转换使能位 0:禁止 1:使能 ADC_ETR0EN:外部中断 5 触发 ADC 转换使能位 0:禁止 1:使能 T21CH2NEN:T21 通道 2 互补输出使能位 0:禁止 1:使能 PA4 输出 T21CH0NEN:T21 通道 0 互补输出使能位 0:禁止 1:使能 PB0 输出 注:具体 IO 端口的驱动能力,可参考附录 4《电气特性》 。 V1.8 版权所有©上海东软载波微电子有限公司 63/248 http://www.essemi.com ES7P169C 数据手册 第5章 特殊功能及操作特性 5. 1 系统时钟与振荡器 5. 1. 1 概述 芯片运行所需要的时钟源由振荡器提供,不同的振荡器选择可以让使用者在不同的应用需 求中实现更大范围的功能。本款芯片所提供的振荡器有2种:内部高速RC振荡器和内部低 速RC振荡器(32KHz) 。灵活选择振荡器,使得产品在速度和功耗方面可以达到最优化。 振荡器除了作为系统时钟源外,还可以为看门狗定时器、ADC模块、Timer等提供所需要 的时钟源。  INTHRC - 内部 1~64MHz RC 振荡器 出厂前,内部 INTHRC 振荡器频率已经在常温下校准,校准精度在±1%以内,分 频后得到的 1MHz 时钟频率精度在-1%~+2%以内 - 支持多种时钟,可通过配置字选择 - 可配置为系统时钟,最高频率 32MHz - 配置为 64MHz 时,系统时钟由硬件自动设置为使用其二分频时钟,即 32MHz  INTLRC  - 内部 32KHz RC 振荡器 WDT 计数时钟 T8N 计数时钟 AD 转换时钟 出厂前,内部 RC 振荡器频率已经在常温下校准,校准精度在±5%以内 可配置为系统时钟 振荡和暂停 在 IDLE 模式下,主系统时钟振荡器暂停振荡 V1.8 版权所有©上海东软载波微电子有限公司 64/248 http://www.essemi.com ES7P169C 数据手册 5. 1. 2 内部结构图 OSCS 4MHz 16MHz M U X INTHRC 振荡器 32MHz 64MHz FOSC M U X INTHRC Div/2 ADCKS Fosc OSC_FREQ_SEL Fosc/2 DIV Fosc/4 …… MUX M U X FADC Fosc/64 OSC_FREQ_SEL INTLRC INTLRC 振荡器 Fosc FINTHRC 4/16/32/64MHz FWDT FT8N 0 T21 PWM计数时钟源 1 T21PWMCKS 1 OSCS=1 Fosc T31 PWM计数时钟源 0 T31PWMCKS 图 5-1 系统钟结构图 5. 1. 3 5. 1. 3. 1 时钟源 内部高速RC振荡器模式(INTHRC) 芯片内置高速 RC 时钟振荡器,不需要外接其它外部器件,作为系统时钟源。 当芯片配置字 OSCS = 111 时,配置为 INTHRC 模式,此时 PB3 管脚复用为通用 I/O 端口。 当芯片配置字 OSCS = 110 时,配置为 INTHRCO 模式,此时 PB3 管脚复用为输 出时钟 CLKO,CLKO 频率同系统时钟。 当芯片配置字 OSCS = 100 时,配置为 INTHRC/4 模式,此时 PB3 管脚复用为通 用 I/O 端口,仅当配置字 OSC_FREQ_SEL=00 时,支持配置为 INTHRC/4 模式。 在出厂前,芯片已经在常温下校准,在工作电压范围内,INTHRC 时钟频率校准精度在 ±1%以内;在 INTHRC/4 模式下,由 4MHz 分频得到的 1MHz 时钟频率精度在-1%~+2% 以内。 通过配置字 OSC_FREQ_SEL(CFG_WD0)可选择内部高速时钟频率 V1.8 版权所有©上海东软载波微电子有限公司 65/248 http://www.essemi.com ES7P169C 数据手册 4MHz,16MHz,32MHz 或 64MHz。当 OSC_FREQ_SEL=11 时,选择内部 64MHz, 此时系统时钟最大为 32MHz,由硬件自动二分频处理后再作为系统时钟。INTHRC 64MHz 时钟可选择作为 T21/T31 模块的 PWM 计数时钟源。 5. 1. 3. 2 内部低速 32kHz RC振荡器模式(INTLRC) 芯片内置 32KHz RC 时钟振荡器,不需要外接其它外部器件,可用作 WDT、ADC 模块、 T8N 模块的时钟源。在出厂前,芯片已经在常温下校准,在工作电压范围内,INTLRC 时钟频率校准精度在±5%以内。 当芯片配置字 OSCS = 011 时,配置为 INTLRC 模式,选择此时钟作为系统时钟。 V1.8 版权所有©上海东软载波微电子有限公司 66/248 http://www.essemi.com ES7P169C 数据手册 5. 2 看门狗定时器(WDT) 5. 2. 1 概述 看门狗定时器是芯片的一个组成部分,它可以在发生软件故障时,将芯片复位。若系统进 入了错误的工作状态,看门狗可以在合理的时间范围内使芯片复位。使能看门狗时,若用 户程序清除看门狗定时器失败,则在预定的时间范围内,看门狗会使系统复位。  - 5. 2. 2 WDT 定时器 8 位 WDT 定时计数器(无实际物理地址,不可读写) 定时器时钟源为内部 32KHz RC 时钟,出厂前,在常温下已经将频率校准在±5% 以内 8 位预分频器(无实际物理地址,不可读写) WDT 控制寄存器(WDTC) WDT 计数周期匹配寄存器(WDTP) IDLE 模式下,可软件禁止 WDT 计数 唤醒功能 复位功能 内部结构图 WDTPRS FWDT/2 FWDT/4 WDTPRE FWDT/8 FWDT/16 INTLRC INTLRC振荡器 预分频器 FWDT/32 FWDT/64 FWDT/128 M U X M U X WDTEN 看门狗 定时器 比较器 WDT溢出复位 FWDT/256 定时周期寄存器 FWDT 图 5-2 看门狗定时器内部结构图 5. 2. 3 WDT定时器 芯片提供 8 位 WDT 定时计数器,通过芯片配置字 WDTEN 可使能硬件看门狗 WDT。当 芯片配置字 WDTEN 使能时,WDT 定时器计数使能,在进入 IDLE 模式前,可通过设置 RCEN(PWEN)寄存器禁止 WDT 计数,唤醒后硬件自动清零 WDT 计数器,并重新开 始计数;当 WDTEN 关闭时,WDT 定时器计数禁止。客户可通过编程器界面选择。 WDT 支持一组可读/写的定时周期寄存器 WDTP,当看门狗计数到定时周期时,超时溢出。 在 IDLE 模式下,WDT 计数溢出会唤醒 CPU,不复位芯片;系统在执行 IDLE 指令时,硬 件会自动清零 WDT 计数器,并重新开始计数。 在正常运行模式下,WDT 计数溢出会复位芯片。为了避免不必要的复位,需使用 CWDT 指令适时清零 WDT 计数器。 WDT 支持一个预分频器,由 WDTC 寄存器中的 WDTPRE 位控制。当 WDTPRE 位清零, 禁止预分频器时,常温下 WDT 的计数溢出时间约为 8ms。 V1.8 版权所有©上海东软载波微电子有限公司 67/248 http://www.essemi.com ES7P169C 数据手册 当 WDTPRE 位置 1,使能预分频器时,可通过 WDTC 寄存器中的 WDTPRS位设置 WDT 时钟源的预分频比,再将分频后的时钟信号作为 WDT 定时器的计数时钟。 5. 2. 4 5. 2. 4. 1 特殊功能寄存器 WDT控制寄存器(WDTC) WDTC:WDT 控制寄存器 Bit 7 6 5 4 3 Name — — — WDTPRE — R/W — — — R/W R/W R/W R/W R/W RESET 0 0 0 0 1 1 1 1 Bit 7~5 Bit 4 保留未用 WDTPRE:WDT 预分频器使能位 0:禁止 1:使能 保留未用 WDTPRS :WDT 预分频器分频比选择位 000:1:2 001:1:4 010:1:8 011:1:16 100:1:32 101:1:64 110:1:128 111:1:256 Bit 3 Bit 2~0 5. 2. 4. 2 2 1 0 WDTPRS WDT计数周期匹配寄存器(WDTP) WDTP:WDT 计数周期匹配寄存器 Bit 7 6 5 Name 4 3 2 1 0 WDTP R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 1 1 1 1 1 1 1 1 Bit 7~0 WDTP:WDT 计数周期值 V1.8 版权所有©上海东软载波微电子有限公司 68/248 http://www.essemi.com ES7P169C 数据手册 5. 3 BEEPER蜂鸣器 5. 3. 1 概述 内部 INTHRC 或者 INTLRC 时钟,可通过寄存器控制,经过分频产生 1KHz、2KHz、4KHz 的时钟 输出。输出端口可通过软件设置。 CFG_WD0 BEEPPRE BEEP_OUTSEL BEEPIOS INTHRC 分频器 约31.25KHz 分频器 1~4KHz BEEPO INTLRC 图 5.1 5. 3. 2 BEEPER 结构图 BEEP控制寄存器(BEEPC) BEEPC:BEEP 控制寄存器 Bit Name R/W RESET Bit 7~6 Bit 5~4 Bit 3~2 Bit1 Bit 0 7 6 BEEPIOS R/W R/W 0 0 5 4 BEEPPRE 3 2 BEEP_OUTSEL 1 0 — BEEPEN R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 BEEPIOS:BEEPER 时钟输出端口选择位 00:禁止输出 01:PA3 10:PB2 11:PB7 BEEPPRE:31.25KHz~32MHz 时钟预分频选择位(预分频后的时钟为 31.25KHz) 00:1:1 01:1:128 10:1:512 11:1:1024 BEEP_OUTSEL:BEEPER 时钟输出频率选择位 00,01:1KHz 10:2KHz 11:4KHz 保留未用 BEEPEN:BEEPER 模块使能位 0:禁止 1:使能 V1.8 版权所有©上海东软载波微电子有限公司 69/248 http://www.essemi.com ES7P169C 数据手册 5. 4 复位模块 5. 4. 1 概述  上电复位 POR  掉电复位 BOR,复位电压点可配置  外部端口 MRSTN 复位,低电平复位有效  看门狗定时器 WDT 溢出复位  软件执行指令 RST 复位 Fosc PWRTEB 掉电检测 上电检测 130ms 上电等待定时器 POR_BOR BOR POR 晶振稳定 定时器 POR_BOR_RST POR/BOR 稳定等待定时器 系 统 复 位 RESET MRSTN WDT_RST 指令RST 图 5-3 芯片复位原理图 注 1:对 130ms 上电延时定时器,在 MRSTN 管脚复用为 I/O 功能时,该延时固定为使能,与配置位 CFG_PWRTEB 无关。 注 2:芯片上电稳定后,在工作过程中,如果发生外部复位,WDT 计数溢出复位,或指令 RST 软件复位,则在复 位条件撤除后,芯片会立即退出复位状态,恢复正常运行状态,与上图中的各定时器无关。 5. 4. 2 上电复位 芯片上电过程中会产生 POR 复位,并且该复位信号将会一直保持到电源电压升高到芯片 能够正常工作的电压为止。系统上电过程呈逐渐上升的曲线形式,需要一定时间才能达到 正常电平值。上电复位的时序如下: Tr 工作电压 VDD 0V RESET 上电定时时间 注1:VDD上电时间Tr < 10ms; 注2:上电定时时间:1)上电/低电压定时器使能,约为130ms; 2)上电/低电压定时器禁止,小于0.5ms; 图 5-4 上电复位时序示意图 V1.8 版权所有©上海东软载波微电子有限公司 70/248 http://www.essemi.com ES7P169C 数据手册 5. 4. 3 掉电复位 掉电复位针对外部因素引起的系统电压跌落情形(例如:更换电池),掉电时可能会引起 系统工作状态不正常或程序执行错误,掉电复位电路可保障芯片在异常掉电过程中处于复 位状态,避免出现误操作。对电压跌落的滤波时间 Tfilter,可通过寄存器 PWEN进 行设置,根据所配置的 BOR 低电压档位和应用系统的供电情况,选择合适的滤波时间, 通常保持为默认值。 VDD 工作电压 BOR档位电压 0V Tfilter RESET 上电定时时间 注1:滤波时间Tfilter,可通过寄存器PWEN进行设置,约为0~220uS之间; 注2:上电定时时间:1)上电/低电压定时器使能,约为130ms; 2)上电/低电压定时器禁止,小于0.5ms; 图 5-5 低电压复位时序示意图 5. 4. 4 外部MRSTN管脚复位 芯片提供外部 MRSTN 管脚,用于系统复位。当复位管脚输入低电平信号时,系统复位。 当复位管脚处于高电平时,系统正常运行。需要注意的是,芯片配置为外部复位功能时, 在系统上电完成后,外部复位管脚必须输入高电平,否则系统将一直保持在复位状态。另 外需要特别注意的是,禁止将 MRSTN 管脚直接连接到 VDD 上。外部复位滤波时间 Tfilter 为 200us 左右,可滤除外部复位管脚上脉宽小于 200us 的干扰脉冲信号,为确保 MRSTN 管脚的外部复位信号有效,其低电平脉宽需大于 250us。 工作电压 VDD 0V MRSTN Tfilter RESET Tfilter 上电定时时间 注1:滤波时间Tfilter,约为220uS; 注2:上电定时时间:1)上电/低电压定时器使能,约为130ms; 2)上电/低电压定时器禁止,小于0.5ms; 图 5-6 外部 MRSTN 管脚复位 注 1:当芯片配置字 MRSTEN=1 为外部复位时,上电定时器可以通过 PWRTEB 屏蔽,而当 MRSTEN=0 为数字输 入输出端口时,上电定时器固定使能,定时时间约为 130ms。 外部 MRSTN 管脚复位电路有多种,以下介绍两种比较典型的连接电路。 V1.8 版权所有©上海东软载波微电子有限公司 71/248 http://www.essemi.com ES7P169C 数据手册 5. 4. 4. 1 RC复位 RC 复位电路是外部 MRSTN 管脚复位电路最简单的一种,对外界环境条件要求不高的情 况下,可以采用此种连接方式。 VDD D1 DIODE R1 R2 MRSTN管脚 图 5-7 MRSTN 复位参考电路图 1 注:采样 RC 复位,其中 47KΩ≤R1≤100KΩ,电容 C1(0.1μF) ,R2 为限流电阻,0.1KΩ≤R2≤1KΩ。 5. 4. 4. 2 PNP三极管复位 PNP 三极管复位电路适用于对电源干扰较强的的场合。 VDD VDD R1 PNP Q1 R4 MRSTN管脚 R2 R3 C1 图 5-8 MRSTN 复位参考电路图 2 注:采用 PNP 三极管复位,通过 R1(2KΩ)和 R2(10KΩ)分压作为基极输入,发射极接 VDD,集电极一路通过 R3(20KΩ)接地,另一路通过 R4(1KΩ)和 C1(0.1μF)接地,C1 另一端作为 MRSTN 输入。 5. 4. 5 看门狗定时器溢出复位 看门狗复位是系统的一种保护设置。在正常状态下,由程序将看门狗定时器清零。若出错, 系统处于未知状态,程序无法清除看门狗,导致看门狗定时器计数溢出,产生系统复位。 看门狗溢出复位后,系统重启进入正常状态。 V1.8 版权所有©上海东软载波微电子有限公司 72/248 http://www.essemi.com ES7P169C 数据手册 看门狗溢出信号 看门狗溢出复位时间 RESET signal 注1:看门狗溢出复位时间约为1个机器周期 图 5-9 看门狗溢出复位 5. 4. 6 RST指令软件复位 整个芯片可通过执行 RST 指令进行复位,复位后,全部寄存器状态位都将被影响。 RST指令复位信号 RST指令复位时间 RESET signal 注1:RST指令复位时间约为2个机器周期 图 5-10 RST 指令软件复位 5. 4. 7 5. 4. 7. 1 特殊功能寄存器 电源控制寄存器(PWRC) PWRC:电源控制寄存器 Bit Name 7 6 LPM 5 4 VRST 3 2 1 0 N_TO N_PD N_POR N_BOR R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 1 1 0 0 1 1 0 0 Bit 7-6 Bit 5 -4 LPM:休眠模式选择位,需软件固定设置为 10 00:保留未用 01:保留未用 10:IDLE 模式 11:保留未用 VRST:LDO 稳定时间选择位 00:约 2 个 INTLRC 时钟周期(约 64uS) 01:约 4 个 INTLRC 时钟周期(约 128uS) V1.8 版权所有©上海东软载波微电子有限公司 73/248 http://www.essemi.com ES7P169C 数据手册 Bit 3 Bit 2 Bit 1 Bit 0 5. 4. 7. 2 10:约 8 个 INTLRC 时钟周期(约 256uS) 11:约 16 个 INTLRC 时钟周期(约 512uS) N_TO:WDT 溢出标志位 0:WDT 计数溢出时被清零 1:上电复位或执行 CWDT、IDLE 指令后被置 1 N_PD:低功耗标志位 0:执行 IDLE 指令后清零 1:上电复位或执行 CWDT 指令后置 1 N_POR:上电复位状态位 0:上电复位发生(上电复位后,必须软件置位) 1:无上电复位发生 N_BOR:低电压复位状态位 0:低电压复位发生(低电压复位后,必须软件置位) 1:无低电压复位发生 功耗控制寄存器(PWEN) PWEN:功耗控制寄存器 Bit 7 6 5 4 Name — — MRSTF PORLOST R/W — R/W R/W R R/W RESET 0 0 0 0 0 Bit 7~6 Bit 5 Bit 4 Bit 3~2 Bit 1 Bit 0 3 2 1 0 RCEN HALT_PWM R/W R/W R/W 0 1 1 BORFLT 保留未使用 MRSTF:外部复位状态位 0:已发生外部复位(外部复位后,必须软件置 1) 1:未发生外部复位 PORLOST:上电复位失效状态位 0:已发生上电复位 1:未发生上电复位 BORFLT:BOR 滤波时间选择位 00:无滤波时间 01:约 3 个 INTLRC 时钟周期 10:约 5 个 INTLRC 时钟周期 11:约 7 个 INTLRC 时钟周期 RCEN:IDLE 状态下,WDT 计数使能位(仅在 IDLE 状态下生效) 0:禁止 1:使能 HALT_PWM:在线调试暂停状态下,T11/T21/T31 定时器计数使能位 0:使能 1:禁止 V1.8 版权所有©上海东软载波微电子有限公司 74/248 http://www.essemi.com ES7P169C 数据手册 5. 5 低功耗操作 5. 5. 1 MCU低功耗模式 芯片支持休眠模式。  - 5. 5. 2 IDLE 睡眠模式 系统时钟暂停 程序暂停、同步模块暂停、异步模块运行,器件功耗降低 MCU 处于休眠状态 支持外部中断、按键唤醒,唤醒时间可配 所有 I/O 端口将保持进入 IDLE 模式前的状态 若使能 WDT,则 WDT 将被清零并保持运行 N_PD 位被清零,N_TO 位被置 1 低功耗模式配置 低功耗 IDLE 模式,由 PWRC 寄存器中的 LPM位控制。需软件设置 LPM = 10 时, 执行 IDLE 指令,芯片进入 IDLE 模式。 LPM (PWRC) 低功耗模式 10 IDLE 模式 表 5-1 低功耗模式配置表 为了降低功耗,所有 I/O 管脚都应保持为高电平或低电平。为了避免输入管脚悬空而引入 开关电流,应在外部将高阻输入的 I/O 管脚通过上拉或下拉电阻接为高电平或低电平,或 将 I/O 管脚设置为输出低电平。如果产品封装引脚数小于最大引脚数,则未引出的和未使 用的 I/O 管脚都需设置为输出低电平。 5. 5. 3 IDLE唤醒方式配置 当系统进入低功耗模式后,程序处于暂停状态,以下几种方式可将系统唤醒。 序号 唤醒方式 中断屏蔽 中断使能 中断模式 低功耗模式 备注 1 MRSTN — — — IDLE — 2 WDT — — — IDLE WDT 溢出 3 PINTx — PIEx 默认/向量 IDLE — 4 KINT KMSKx KIE 默认/向量 IDLE — 5 ADINT — ADIE 默认/向量 IDLE — 6 ADHTHINT — ADHTHIE 默认/向量 IDLE — 7 ADLTHINT — ADLTHIE 默认/向量 IDLE — 8 LVDINT — LVDIE 默认/向量 IDLE 9 T21INT — T21VIE 默认/向量 IDLE 异步计数模式 表 5-2 唤醒方式配置表 V1.8 版权所有©上海东软载波微电子有限公司 75/248 http://www.essemi.com ES7P169C 数据手册 注:低功耗唤醒与全局中断使能无关。在低功耗模式时,若外设产生中断信号,即使默认中断模式下,全局中断使 能 GIE 为 0,或向量中断模式下,高优先级中断使能 GIE 和低优先级中断使能 GIEL 均为 0,低功耗模式依然 会被唤醒,只是唤醒后不会执行中断程序。 5. 5. 4 唤醒时序图 当唤醒事件发生后,芯片唤醒时间由 LDO 稳定时间(VRwkdly)和唤醒延时(Twkdly) 两部分组成。 在 IDLE 模式下,芯片需要先等待 VRwkdly 时间(由 VRST 设定) ,此时间称 为 LDO 稳定时间。之后芯片主时钟稳定一段 Twkdly 时间后才执行 IDLE 下一条指 令,Twkdly 称为振荡器稳定时间,需大于 2us,可通过 WKDC寄存器设置以 及系统时钟决定。比如,系统时钟选择 16MHz,那么设置 WKDC寄存器的值 必须大于 1FH。  低功耗模式 VRwkdly IDLE 模式 备注 唤醒时间 Twkdly (VRST ) ×Tintlrc LDO 稳定时间 WKDC×2 ×Tosc 振荡器稳定时间需 大于 2us,通过 WKDC寄存 器设置 表 5-3 唤醒时间计算表 注:以上唤醒时间为理论值,Tintlrc 为内部低速时钟周期,Tosc 为系统时钟周期。 PC PC+1 PC(对应指令为IDLE) 唤醒 信号源 VRwkdly 程序运行 Twkdly Fosc 图 5-11 系统唤醒 IDLE 的时序图 5. 5. 5 5. 5. 5. 1 特殊功能寄存器 唤醒延时控制寄存器(WKDC) WKDC:唤醒延时控制寄存器 Bit 7 6 5 Name 4 3 2 1 0 WKDC R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 1 1 1 1 1 1 1 1 Bit 7~0 WKDC:唤醒延时控制位 V1.8 版权所有©上海东软载波微电子有限公司 76/248 http://www.essemi.com ES7P169C 数据手册 第6章 外设 6. 1 8 位定时/计数器(T8N) 6. 1. 1 概述 8 位定时器/计数器包括定时器和计数器两种工作模式。定时器模式根据寄存器制定的定时 时间进行定时,可以使定时器有选择地产生中断请求或完成其它操作。计数器模式用于对 外部时钟信号(T8NCKI)进行计数。  T8N 支持两种工作模式 - 定时器模式(时钟源为系统时钟二分频(Fosc/2)或者 INTLRC 时钟) - 同步计数器模式(时钟源为外部输入时钟 T8NCKI)  T8N 支持以下功能组件 - 8 位预分频器(无实际物理地址,不可读写) - 8 位计数器寄存器(T8N) - 8 位控制寄存器(T8NC)  中断和暂停 - 6. 1. 2 支持溢出中断标志(T8NIF) 支持中断处理 在 IDLE 模式下,T8N 暂停 内部结构图 T8NM T8NCLK Fosc/2 INTLRC M U X T8NCKI FT8NCLK/2 FT8NCLK/4 FT8NCLK/8 FT8NCLK/16 预分频器 FT8NCLK/32 FT8NCLK/64 FT8NCLK/128 FT8NCLK/256 T8NPRE M U X M U X 模式选择器 边沿检测 T8NEN T8N计数器 T8N计数溢出 T8NIF=1 T8NEG T8NPRS 图 6-1 T8N 内部结构图 6. 1. 3 预分频器 预分频器可以提供定时器/计数器一个更长的溢出周期。当 T8NC 寄存器中的 T8NPRE 为“1”时,使能 T8N 预分频器。任何对 T8N 计数器的写操作都会清零预分频器,改写后 立即更新,但不影响预分频器的分频比设置,预分频器的计数值无法读写。预分频器的 分频比可通过 T8NC 寄存器中的 T8NPRS位进行设置,预分频比范围为 1:2~1:256。 注 1:当使用 INTLRC 为计数时钟时,必须使能预分频控制位。 注 2:建议不要在 T8N 计数时,改写 T8N 计数器和预分频值,否则会影响改写后的第一次计数的时间。 V1.8 版权所有©上海东软载波微电子有限公司 77/248 http://www.essemi.com ES7P169C 数据手册 工作模式 定时器模式 工作模式 计数器模式 T8NPRE T8NPRS 0 T8N 计数时钟 T8NCLK=0 T8NCLK=1 — Fosc/2 — 1 000 (Fosc/2) /2 Fintlrc /2 1 001 (Fosc/2) /4 Fintlrc /4 1 010 (Fosc/2) /8 Fintlrc /8 1 011 (Fosc/2) /16 Fintlrc /16 1 100 (Fosc/2) /32 Fintlrc /32 1 101 (Fosc/2) /64 Fintlrc /64 1 110 (Fosc/2) /128 Fintlrc /128 1 111 (Fosc/2) /256 Fintlrc /256 T8NPRE T8NPRS T8N 计数时钟 0 — T8NCKI 1 000 T8NCKI /2 1 001 T8NCKI /4 1 010 T8NCKI /8 1 011 T8NCKI /16 1 100 T8NCKI /32 1 101 T8NCKI /64 1 110 T8NCKI /128 1 111 T8NCKI /256 表 6-1 T8N 预分频器配置表 6. 1. 4 工作模式 T8N 有两种工作模式,定时器模式和计数器模式,通过 T8NM 进行选择。定时器和计数 器计数模式均支持预分频器。配置为定时器模式时,T8N 计数器的时钟源可通过 T8NC 寄存器中的 T8NCLK 位选择为系统时钟 2 分频(Fosc/2)或 INTLRC;配置为计数器模 式时,T8N 计数器的时钟源为经二分频后的系统时钟 Fosc/2 同步的外部输入时钟 T8NCKI,因此 T8NCKI 输入时钟信号的高电平和低电平时间都至少为一个机器周期。通 过 T8NC 寄存器中的 T8NEG 位选择外部时钟的计数边沿为上升沿或下降沿。T8NCKI 所在 IO 端口必须配置为数字输入状态。 T8NM T8NCLK 工作模式 时钟源 0 0 定时器模式 Fosc/2 0 1 定时器模式 INTLRC 1 0 同步计数器模式 T8NCKI 表 6-2 T8N 工作模式配置表 6. 1. 5 定时器模式 T8N 计数器为递增计数,计数值由 FFH 变为 00H 时,T8N 计数器发生溢出并重新开始计 数。T8N 计数器发生溢出时,中断标志 T8NIF 位被置“1”,产生 T8N 溢出中断。在 CPU 进入休眠模式后,T8N 模块不工作,因此不产生中断。 V1.8 版权所有©上海东软载波微电子有限公司 78/248 http://www.essemi.com ES7P169C 数据手册 当 T8N 配置为定时器模式时,若禁止预分频器,则 T8N 计数器的时钟只能选择为系统 时钟二分频(Fosc/2),不能选择为 INTLRC;若使能预分频器,分频器对 Fosc/2 或 INTLRC 进行分频,此时,T8N 计数器的计数时钟为分频后的时钟。 FOSC/2 INTLRC m T8N m+1 m+2 m+3 254 …… 255 T8NEN 软件清标志 T8NIF 图 6-2 定时器模式时序图 6. 1. 6 同步计数器模式 当 T8N 配置为同步计数器模式时,若禁止预分频器,T8N 计数器的时钟为外部输入时钟 T8NCKI,内部相位时钟 p2 将对时钟 T8NCKI 进行同步。所以 T8NCKI 保持高电平或者 低电平的时间至少为一个机器周期。通过设置 T8NEG (T8NC)选择外部时钟的计数 边沿为上升沿或下降沿。 同样,同步计数器模式也支持预分频器对外部时钟 T8NCKI 进行分频。并且,T8NCKI 复用的 IO 端口必须配置为数字输入状态。 T8N 计数器为递增计数,计数值由 FFH 变为 00H 时,T8N 计数器发生溢出并重新开始 计数。T8N 计数器发生溢出时,中断标志 T8NIF 位被置“1”,产生 T8N 溢出中断。在 CPU 进入休眠模式后,T8N 模块不工作,因此不产生中断。 T8NCKI T8N 1 2 3 4 …… 254 255 T8NEG T8NEN 软件清标志 T8NIF 图 6-3 计数器模式时序图(T8NEG=0,T8NCKI 上升沿计数) 6. 1. 7 ICD调试暂停模式 在调试暂停时,计数器停止计数,T8N 工作暂停。 V1.8 版权所有©上海东软载波微电子有限公司 79/248 http://www.essemi.com ES7P169C 数据手册 6. 1. 8 特殊功能寄存器 8 位定时器/计数器 T8N 由两个寄存器控制,一个 8 位计数器寄存器 T8N 和一个控制寄 存器 T8NC。T8N 寄存器用于存放计数值,T8NC 控制寄存器用于控制 T8N 的使能、T8N 的模式选择、T8NCKI 计数边沿选择、预分频器使能位以及预分频器分频比选择。 6. 1. 8. 1 T8N计数器寄存器(T8N) T8N:T8N 计数器寄存器 Bit 7 6 5 4 Name 3 2 1 0 T8N R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7~0 T8N :8 位 T8N 计数值 6. 1. 8. 2 T8N控制寄存器(T8NC) T8NC:T8N 控制寄存器 Bit 7 6 5 4 3 Name T8NEN T8NCLK T8NM T8NEG T8NPRE R/W R/W R/W R/W R/W R/W R/W R/W R/W RESET 0 0 0 0 0 0 0 0 Bit 7 T8NEN:T8N 模块使能位 0:关闭 1:使能 T8NCLK:T8N 定时时钟源选择位 0:系统时钟二分频 Fosc/2 1:INTLRC 时钟(必须同时使能 T8N 的预分频控制位,即 T8NPRE=1) T8NM:T8N 模式选择位 0:定时器模式 1:同步计数器模式 T8NEG:T8NCKI 同步计数边沿选择位 0:T8NCKI 上升沿计数 1:T8NCKI 下降沿计数 T8NPRE:预分频器使能位 0:禁止 1:使能 T8NPRS :预分频器分频比选择位 000:1:2 001:1:4 010:1:8 011:1:16 100:1:32 101:1:64 110:1:128 111:1:256 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2~0 V1.8 版权所有©上海东软载波微电子有限公司 2 1 0 T8NPRS 80/248 http://www.essemi.com ES7P169C 数据手册 6. 2 12 位多功能定时器(T11) 6. 2. 1 概述 12 位定时器 T11。  T11 定时器模式(时钟源为 Fosc)  T11 支持以下功能组件 - 4 位预分频器和 7 位后分频器(无实际物理地址,不可读写) - 12 位计数器 T11(计数器初始值可写) - 12 位周期寄存器 T11PL、T11PH  中断和暂停 - 支持溢出中断 T11VIF、周期匹配中断 T11PIF - 在 IDLE 模式下,停止工作 注 1:周期寄存器的更新,在写低 8 位寄存器时,同时加载高位寄存器的值,因此寄存器更新时,需要先写高 4 位 寄存器,再写低 8 位寄存器; 6. 2. 2 内部结构图 溢出中断 T11VIF=1 CNT_CLK 预分频器 FOSC CNT_CLK/2 CNT_CLK/15 M U X T11计数器 CNT_CLK/16 T11PRS 图 6-4 T11 内部结构图 6. 2. 3 预分频器和后分频器 预分频器可以提供一个更长的溢出周期。T11 支持可配置的预分频器。通过 T11CM 寄存 器中的 T11PRS 位配置预分频器的分频比,预分频比的范围为 1:1 ~ 1:16。任何对计数 器或控制寄存器的写操作都会使预分频器和后分频器清零,但不改变配置的分频比。预 分频器和后分频器的计数值不可读写。 后分频器的分频比可通过 T11CH 寄存器中的 T11POS位进行设置,后分频比范围 为 1:1~1:128,通过计数器与周期寄存器值的匹配,来进行后分频。 6. 2. 4 工作模式 T11 定时器模式,通过 T11M进行模式选择。 T11EN 置 1 使能之前,需先由 T11M 设定工作模式,选择计数时钟,并配置好预分频器、 后分频器、周期等参数,且需保证计数时钟在 T11EN 使能时已稳定。 V1.8 版权所有©上海东软载波微电子有限公司 81/248 http://www.essemi.com ES7P169C 数据手册 6. 2. 5 定时器模式 当 T11M 为 0000 时,T11 工作在定时器模式。 T11 计数器的时钟源为系统时钟 Fosc,并支持预分频器和后分频器。 T11 计数器为可读写寄存器,支持计数初值的设置和计数过程中的计数值改变。 T11EN 使能时,12 位定时器 T11 对计数时钟进行递增计数,当 T11 的计数值与周期寄 存器 T11P 相等时,后分频计数器加 1,同时 T11 计数器被自动清零并重新开始计数。 当后分频器的计数值与后分频器分频比相同时,复位后分频器,并将定时溢出中断标志 T11VIF 置“1” ,该中断标志需要软件清零。 T11=T11P,T11被自 动清零并重新开始计 数,后分频器加1计数 定时器模式,T11EN使 能,T11始计数 后分频器的计数值与 后分频器分频比相同, 产生定时器中断 …… T11_cnt T11_clk …… T11EN 软件清标志 T11VIF 图 6-5 T11 定时器模式时序图 6. 2. 6 异步/同步计数器模式 T11M 设置为 “0010” 时, T11 工作在同步计数器模式, 计数时钟源为外部输入时钟 T11CKI 经 Fosc 同步后的时钟。 T11M 设置为“0001”时,T11 工作在异步计数器模式 1,计数器时钟源为外部输入时钟 T11CKI。 计数模式支持预分频器和后分频器,可选择预分频器对计数时钟进行分频,计数器的计 数时钟为分频后的时钟。 同步计数器模式时钟源为外部输入时钟 T11CKI(T11 Clock Input),上升沿有效。此工 作模式要求外部输入时钟的高/低电平时间,至少保持 1 个机器周期。 T11 计数器(T11H,T11L)对时钟源进行递增计数,当 T11 的计数值与周期寄存器 T11P 相等时,T11 被自动清零并重新开始计数,后分频计数加 1,当后分频计数值与后分频比 相同时,复位后分频器,产生计数溢出中断 T11VIF,该中断必须软件清零。 异步/同步计数器模式下,对 T11 计数器初始值的写入操作,需延时 3 个 T11CKI 时钟周 期才会生效(与预分频比无关) 。 V1.8 版权所有©上海东软载波微电子有限公司 82/248 http://www.essemi.com ES7P169C 数据手册 T11=T11P,T11被自 动清零并重新开始计 数,后分频器加1计数 计数器模式,T11EN使 能,T11始计数 T11=T11P 后分频器的计数值与 后分频器分频比相同, 产生定时器中断 …… T11=0 T11=0 …… T11 T11_clk …… T11EN 软件清标志 T11VIF 图 6-6 T11 计数器模式时序图 6. 2. 7 ICD调试暂停模式 在 ICD 调试暂停时, HALT_PWM(PWEN)位决定 T11 计数器是否停止计数。 当设置 HALT_PWM=1 时,在调试暂停时,计数器停止计数,T11 工作暂停。 当设置 HALT_PWM=0 时,在调试暂停时,计数器仍继续计数,T11 保持正常工作。 6. 2. 8 6. 2. 8. 1 特殊功能寄存器 计数器寄存器低 8 位(T11L) T11L:T11 计数器低 8 位(T11L) Bit 7 6 5 4 Name 3 2 1 0 T11 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 3 2 1 0 Bit 7~0 T11:T11 计数器低 8 位 6. 2. 8. 2 计数器寄存器高 4 位(T11H) T11H:T11 计数器高 4 位(T11H) Bit 7 6 5 4 Name — — — — R/W — — — — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 Bit 3~0 T11 保留未用 T11:T11 计数器高 4 位 V1.8 版权所有©上海东软载波微电子有限公司 83/248 http://www.essemi.com ES7P169C 数据手册 6. 2. 8. 3 周期寄存器低 8 位(T11PL) T11PL:T11 周期寄存器低 8 位(T11PL) Bit 7 6 5 4 Name 3 2 1 0 T11P R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 1 1 1 1 1 1 1 1 1 0 Bit 7~0 T11P:PWM 周期值低 8 位 6. 2. 8. 4 周期寄存器高 4 位(T11PH) T11PH:T11 周期寄存器高 4 位(T11PH) Bit 7 6 5 4 Name — — — — R/W — — — — R/W R/W R/W R/W POR 1 1 1 1 1 1 1 1 Bit 7~4 Bit 3~0 3 2 T11P 保留未用 T11P:PWM 周期值高 4 位 注:周期寄存器的更新,在写低 8 位寄存器时,会同时加载高位寄存器的值,因此寄存器更新时,需要先写高 4 位 寄存器,再写低 8 位寄存器; 6. 2. 8. 5 控制寄存器低 8 位(T11CL) T11CL:T11 控制寄存器低 8 位(T11CL) Bit 7 6 Name 5 4 3 T11M 2 1 0 — — R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 Bit 3~0 T11M :T11 工作模式选择位 0000:定时器模式(计数器时钟源为 Fosc) 0001:异步计数模式 1(计数器时钟源为外部输入时钟 T11CKI) 0010:同步计数器模式(计数时钟源为外部输入时钟 T11CKI 经 Fosc 同步后的时 钟) 其它:保留未用 保留未用 6. 2. 8. 6 控制寄存器次高 8 位(T11CM) T11CM:T11 控制寄存器中 8 位(T11CM) Bit 7 6 5 4 Name — — — — R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 3 2 1 0 T11PRS 保留未用 V1.8 版权所有©上海东软载波微电子有限公司 84/248 http://www.essemi.com ES7P169C 数据手册 Bit 3~0 T11PRS:T11 预分频器分频比选择位 0000:分频比为 1:1 0001:分频比为 1:2 0010:分频比为 1:3 0011:分频比为 1:4 0100:分频比为 1:5 0101:分频比为 1:6 0110:分频比为 1:7 0111:分频比为 1:8 1000:分频比为 1:9 1001:分频比为 1:10 1010:分频比为 1:11 1011:分频比为 1:12 1100:分频比为 1:13 1101:分频比为 1:14 1110:分频比为 1:15 1111:分频比为 1:16 6. 2. 8. 7 控制寄存器高 8 位(T11CH) T11CH:T11 控制寄存器高 8 位(T11CH) Bit 7 Name T11EN R/W R/W R/W R/W R/W POR 0 0 0 0 Bit 7 Bit 6~0 6 5 4 3 2 1 0 R/W R/W R/W R/W 0 0 0 0 T11POS T11EN :T11 使能位 0:关闭 1:使能 T11POS:T11 后分频器分频值 后分频次数 = T11POS + 1 V1.8 版权所有©上海东软载波微电子有限公司 85/248 http://www.essemi.com ES7P169C 数据手册 6. 3 12 位多功能定时器(T21) 6. 3. 1 概述 12 位多功能定时器 T21 共有 4 种工作模式:定时器模式、多精度 PWM 模式、捕捉器模 式、比较器模式。  T21 支持 4 种工作模式 - 定时器模式(时钟源为 Fosc) - 多精度 PWM 模式,支持 3 路独立的 PWM 输出,输出占空比、极性都可独立设置 - 捕捉器模式,支持 3 路独立的捕捉输入,每路输入捕捉边沿可分别设置 - 比较器模式,支持 3 路独立的比较输出 - PWM 时钟源可通过寄存器配置为:系统时钟 Fosc,或 INTHRC 时钟  T21 支持以下功能组件 - 4 位预分频器和 7 位后分频器(无实际物理地址,不可读写) - 12 位计数器 T21(计数器初始值可写) - 12 位捕捉/比较寄存器 T21R0、T21R1 和 T21R2  中断和暂停 - 支持溢出中断 T21VIF、周期匹配中断 T21PIF 和多功能中断 T21MIF - 在 IDLE 模式下,除异步计数模式可继续工作外,其它模式下停止工作 注 1:精度寄存器和周期寄存器的更新,在写低 8 位寄存器时,同时加载高位寄存器的值,因此寄存器更新时,需 要先写高 4 位寄存器,再写低 8 位寄存器; 注 2:管脚图中的 T21_CH0/T21_CH1/T21_CH2 分别代表的是本节中多精度 PWM 模式的输出通道 PWM210/ PWM211/PWM212、捕捉输入模式的通道 T21CI0/T21CI1/T21CI2、比较输出模式的输出通道 T21CO0/ T21CO1/ T21CO2。 6. 3. 2 内部结构图 溢出中断 T21VIF=1 CNT_CLK 双精度PWM模式 定时器模式 CNT_CLK/2 FOSC 0 FINTHRC 1 预 分 频 器 CNT_CLK/15 M U X T21计数器 比较器模式 多功能中断 T21MIF0/1/2=1 CNT_CLK/16 相等 PWM模式 比较器 T21PWMCKS T21PRS T21R0/1/2 “0” 00 “1” 01 0 0 T21M FOSC 禁止 00 每1个脉冲下降沿捕捉 01 每1个脉冲上升沿捕捉 10 每1个脉冲双边沿捕捉 11 下降沿检测 上升沿检测 边沿计数器 Q 匹配输出 FOSC CAP0S/CAP1S/CAP2S T21CI0/ T21CI1/ T21CI2 D 1 捕捉器模式 D Q T21R0 T21R1 T21R2 多功能中断 T21MIF0/1/2=1 FOSC 图 6-6 T21 内部结构图 V1.8 版权所有©上海东软载波微电子有限公司 86/248 http://www.essemi.com ES7P169C 数据手册 6. 3. 3 预分频器和后分频器 预分频器可以提供一个更长的溢出周期。T21 支持可配置的预分频器。通过 T21CM 寄 存器中的 T21PRS 位配置预分频器的分频比,预分频比的范围为 1:1 ~ 1:16。任何对计 数器或控制寄存器的写操作都会使预分频器和后分频器清零,但不改变配置的分频比。 预分频器和后分频器的计数值不可读写。 后分频器的分频比可通过 T21CH 寄存器中的 T21POS位进行设置,后分频比范围 为 1:1~1:128,通过计数器与周期寄存器值的匹配,来进行后分频。 6. 3. 4 工作模式 T21 有 4 种工作模式,定时器模式、多精度 PWM 模式、捕捉器模式、比较器模式,通 过 T21M进行模式选择。 T21EN 置 1 使能之前,需先由 T21M 设定工作模式,选择计数时钟,并配置好预分频器、 后分频器、周期等参数,且需保证计数时钟在 T21EN 使能时已稳定。 6. 3. 5 定时器模式 当 T21M 为 0000 时,T21 工作在定时器模式。 T21 计数器的时钟源为系统时钟 Fosc,并支持预分频器和后分频器。 T21 计数器为可读写寄存器,支持计数初值的设置和计数过程中的计数值改变。 T21EN 使能时,12 位定时器 T21 对计数时钟进行递增计数,当 T21 的计数值与周期寄 存器 T21P 相等时,后分频计数器加 1,同时 T21 计数器被自动清零并重新开始计数。 当后分频器的计数值与后分频器分频比相同时,复位后分频器,并将定时溢出中断标志 T21VIF 置“1” ,该中断标志需要软件清零。 T21=T21P,T21被自 动清零并重新开始计 数,后分频器加1计数 定时器模式,T21EN使 能,T21始计数 后分频器的计数值与 后分频器分频比相同, 产生定时器中断 …… T21_cnt T21_clk …… T21EN 软件清标志 T21VIF 图 6-7 T21 定时器模式时序图 6. 3. 6 异步/同步计数器模式 T21M 设置为“0010”时,T21 工作在同步计数器模式,计数时钟源为 T21CKI 经 Fosc V1.8 版权所有©上海东软载波微电子有限公司 87/248 http://www.essemi.com ES7P169C 数据手册 同步后的时钟。 T21M 设置为“0001”时,T21 工作在异步计数器模式 1,计数器时钟源为外灌时钟。 T21M 设置为“1101”时,T21 工作在异步计数器模式 2,计数器时钟源为 T21CKI。 计数模式支持预分频器和后分频器,可选择预分频器对计数时钟进行分频,计数器的计 数时钟为分频后的时钟。 同步计数器模式时钟源为外部输入时钟 T21CKI(T21 Clock Input) ,上升沿有效。此工 作模式要求外部输入时钟的高/低电平时间,至少保持 1 个机器周期。 异步计数器模式时钟源的选择,当为异步计数器模式 2 时,时钟源为外部输入时钟 T21CKI,上升沿有效;当为异步计数器模式 1 时,时钟源为外灌时钟。 IDLE 状态下,配置为异步计数模式 1,T21 可工作在异步计数模式下。 T21 计数器(T21H,T21L)对时钟源进行递增计数,当 T21 的计数值与周期寄存器 T21P 相等时,T21 被自动清零并重新开始计数,后分频计数加 1,当后分频计数值与后分频 比相同时,复位后分频器,产生计数溢出中断 T21VIF,该中断必须软件清零。在异步计 数器模式下,T21 计数器可以在 CPU 睡眠时继续工作,并且产生的中断 T21VIF 可以唤 醒 CPU。 异步/同步计数器模式下,对 T21 计数器初始值的写入操作,需延时 3 个 T21CKI 时钟周 期才会生效(与预分频比无关) 。 在 PWM 模式下,禁止对 T21 计数器进行写操作,否则会造成 PWM 输出错误。 T21=T21P,T21被自 动清零并重新开始计 数,后分频器加1计数 计数器模式,T21EN使 能,T21始计数 T21=T21P 后分频器的计数值与 后分频器分频比相同, 产生定时器中断 …… T21=0 T21=0 …… T21 T21_clk …… T21EN 软件清标志 T21VIF 图 6-8 T21 计数器模式时序图 6. 3. 7 多精度PWM模式 T21M 为“1100”时,T21 工作在多精度 PWM 模式,支持 3 个 PWM 输出端口 PWM210、 PWM211 和 PWM212,可分别通过 T21R0、T21R1 和 T21R2 独立设置 PWM 占空比, 并可独立设置输出极性。并且支持 2 个 PWM 输出端口 PWM210、PWM212 的互补输 出,可通过 PORTCTR进行设置。 V1.8 版权所有©上海东软载波微电子有限公司 88/248 http://www.essemi.com ES7P169C 数据手册 多精度 PWM 模式计数时钟源可通过 T21PWMCKS (T21OC)寄存器设置,可为 系统时钟 Fosc 或者内部高速时钟 INTHRC,其中 INTHRC 时钟最高可到 64MHz,并支 持预分频器和后分频器。此模式下,后分频比不影响 PWM 周期,只影响计数溢出中断 标志 T21VIF。 如下图示,当 T21EN 使能,T21TR 为 0 时,PWM 输出关闭,并保持 PWM210/1/2 输 出为 0;设置 T21TR 为 1 时,PWM 输出波形启动,PWM210/ PWM211/ PWM212 输 出 起 始 为 1 , 同 时 分 别 将 12 位 周 期 寄 存 器 T21P 和 12 位 精 度 寄 存 器 T21R0/T21R1/T21R2 寄存器的内容,更新至 12 位 PWM 周期缓冲器 PRDBUF 和 12 位 精度缓冲器 RESBUF0/RESBUF1/RESBUF2(该缓冲器软件不可读写) ,随后 12 位计 数器 T21 从零开始递增计数,当 T21 与 RESBUF0/RESBUF1/RESBUF2 的值相等时, PWM210/ PWM211/ PWM212 输出改变为 0,并继续递增计数。当 T21 的计数值与 PRDBUF 相等时,后分频计数器加 1,PWM210/PWM211/PWM212 输出恢复为 1,同 时 PRDBUF 和 RESBUF0/RESBUF1/RESBUF2 再 次 分 别 载 入 T21P 和 T21R0/T21R1/T21R2 寄存器的值,并产生周期中断标志 T21PIF,该中断标志需要软件 清零。至此一个完整的 PWM 周期完成,随后计数器 T21 从零开始递增计数,继续循环 产生新的 PWM 周期。当后分频器的计数值与后分频器分频比相同时,复位后分频器, 并将计数溢出中断标志 T21VIF 置“1”,该中断标志需要软件清零。 特别的,若 RESBUF 的值大于 PRDBUF,则当前 PWM 周期内 PWM 输出始终为 1。若 RESBUF 的值为零,则当前 PWM 周期内 PWM 输出始终为 0。 T21匹配PRDBUF,同时分别 将T21P和T21R0/1/2的值更新 至PRDBUF和RESBUF0/1/2 将T21P和T21R0/1/2的值更 新至PRDBUF和 RESBUF0/1/2 设置 T21M=1100 T21EN=1 T21 T21匹配更新后 的RESBUF0 T21匹配 RESBUF0 T21匹配 RESBUF1 T21匹配 RESBUF2 T21从00H开始 递增 T21从00H开始 递增 PWM210 PWM210工作周期 PWM211 PWM211工作周期 PWM212 PWM212工作周期 PWM周期 软件清 标志 T21PIF 图 6-9 T21 多精度 PWM 模式示意图 V1.8 版权所有©上海东软载波微电子有限公司 89/248 http://www.essemi.com ES7P169C 数据手册 PWM 计算公式如下: PWM 周期 = (T21P + 1) × Tosc × PWM 频率 = 1 / PWM 脉宽 = (T21R0/1/2) × Tosc × PWM 占空比 = / 给定 PWM 频率,PWM 的最大分辨率可计算为: Fosc log( ) Fpwm * Fckps 分辨率 = log 2 Fckps 是计数器的预分频器的分频比。 PWM(T21_CH0)沿启动 AD 转换 当 ADEN(ADCCL) ,SMPS(ADCCL)位为 1 使能时,支持 PWM 输出沿启动 AD 转换,为了保证有效沿启动 AD 转换,在 PWM 输出沿后增加了可配置延时滤波电路。 当 T21ADEN 置为 1 时,通过软件配置 8 位 PWM 沿检测延时寄存器 TMRADC。设置寄 存器 T21ADS 选择启动沿,当 T21ADS 为 0 时,内部计数器在 PWM 的上升沿开始计数; 当 T21ADS 为 1 时,内部计数器在 PWM 的下降沿开始计数。当计数器计数值大于 TMRADC 时,产生启动 AD 转换的触发信号,硬件自动启动 AD 转换。 在 AD 转换还未完成前,硬件自动屏蔽启动 AD 转换的 PWM 触发信号沿。 内部计数器计数时钟为系统时钟 Fosc,在 IDLE 模式下,PWM 停止工作,所以不能触 发 AD 转换。 6. 3. 8 捕捉器模式 T21M 设置为“01xx”时,T21 工作在捕捉器模式,T21 支持 3 个相互独立的捕捉输入 端口 T21CI0、T21CI1 和 T21CI2。该模式下支持 3 种捕捉条件选择。 T21 配置为捕捉模式时,时钟源为系统时钟(Fosc) 。在此模式下,12 位计数器 T21 进 行递增计数,当 T21CI0/T21CI1/T21CI2 输入信号的变化状态满足捕捉条件时,计数器 T21 的值将被载入到相应的 12 位捕捉寄存器 T21R0/T21R1/T21R2 中,并产生多功能中 断 T21MIF0/T21MIF1/T21MIF2,该中断必须由软件清零。计数器继续递增计数。若下 一次捕捉事件发生时,捕捉寄存器 T21R0/T21R1/T21R2 中的值未被及时读取,将被新 捕捉的值覆盖。当计数值溢出时(即从 FFFH 变为 000H),产生溢出中断 T21VIF,该中 断必须软件清零。 T21 支持 1 个用于捕捉条件判断的边沿计数器,此边沿计数器仅在捕捉模式有效。当 T21 关闭或切换为其它模式时,该边沿计数器被清零,但在 T21 的 4 种捕捉模式相互切换时, 该边沿计数器不会被清零。因此,当切换捕捉模式后,首次捕捉可能存在误差,同时也 可能导致错误的中断产生。为了避免产生错误中断,用户在改变模式时应该先禁止 T21 相应中断使能位,并且清除中断标志。 V1.8 版权所有©上海东软载波微电子有限公司 90/248 http://www.essemi.com ES7P169C 数据手册 FFFH 设置 T21EN=1 C A B T21 D T21CI0 D A T21R0 软件 清零 T21MIF0 T21CI1 B T21R1 软件 清零 T21MIF1 C T21R2 软件 清零 T21MIF2 软件 清零 T21VIF 图 6-10 T21 捕捉器模式时序图(每个脉冲上升沿捕捉信号) 6. 3. 9 比较器模式 T21M 设置为“10xx”时,T21 工作在比较器模式,T21 支持 3 个相互独立的比较输出 端口 T21CO0、T21CO1 和 T21CO2。 比较器模式时钟源为系统时钟(Fosc) 。在此模式下,12 位计数器 T21 进行递增计数。 当计数器 T21 的计数值与比较寄存器 T21R0/T21R1/T21R2 中的值相等时,执行相应的 比较匹配事件,并产生多功能中断 T21MIF0/T21MIF1/T21MIF2,该中断必须软件清零。 当计数值溢出时(即从 FFFH 变为 000H),产生溢出中断 T21VIF,该中断必须软件清零; 计数溢出后,继续从 0 开始递增计数。 比较器模式配置位 T21M 配置为 1000 或 1001 时,当 T21 计数器匹配 T21R0L/T21R0H 时,T21CO0 端口输出 0 或 1 并保持;当 T21 计数器匹配 T21R1L/T21R1H 时,T21CO1 端口输出 0 或 1 并保持;当 T21 计数器匹配 T21R2L/T21R2H 时,T21CO2 端口输出 0 或 1 并保持。 比较器模式配置位 T21M 配置为 1011 时,当 T21 计数器匹配 T21R0L/T21R0H、 T21R1L/T21RH 或 T21R2L/T21R2H 时,T21 被清零,并可触发 ADC 转换。ADC 必须 先使能,且设置为硬件采样,即 ADCCL 寄存器的 ADEN 和 SMPS 控制位都需设置为 1。 V1.8 版权所有©上海东软载波微电子有限公司 91/248 http://www.essemi.com ES7P169C 数据手册 特别注意:因匹配时 T21 被清零,因此只有 T21R0L/T21R0H、T21R1L/T21R1H 或 T21R2L/T21R2H 中的较小值在该模式下有效。 FFFH T21R2 设置 T21EN=1 T21R1 T21R0 T21 软件 清零 T21MIF0 软件 清零 T21MIF1 软件 清零 T21MIF2 软件 清零 T21VIF 图 6-11 T21 比较器模式时序图 6. 3. 10 ICD调试暂停模式 在 ICD 调试暂停时, HALT_PWM(PWEN)位决定 T21 计数器是否停止计数。 当设置 HALT_PWM=1 时,在调试暂停时,计数器停止计数,T21 工作暂停。但相应的端 口电平不受端口电平状态寄存器 Px 决定。 当设置 HALT_PWM=0 时,在调试暂停时,计数器仍继续计数,T21 保持正常工作。 6. 3. 11 特殊功能寄存器 6. 3. 11. 1 计数器寄存器低 8 位(T21L) T21L:T21 计数器低 8 位(T21L) Bit 7 6 5 4 Name 3 2 1 0 T21 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 T21:T21 计数器低 8 位 V1.8 版权所有©上海东软载波微电子有限公司 92/248 http://www.essemi.com ES7P169C 数据手册 6. 3. 11. 2 计数器寄存器高 4 位(T21H) T21H:T21 计数器高 4 位(T21H) Bit 7 6 5 4 Name — — — — R/W — — — — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 Bit 3~0 保留未用 T21:T21 计数器高 4 位 6. 3. 11. 3 周期寄存器低 8 位(T21PL) 3 2 1 0 T21 T21PL:T21 周期寄存器低 8 位(T21PL) Bit 7 6 5 4 3 Name 2 1 0 T21P R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 1 1 1 1 1 1 1 1 Bit 7~0 T21P:PWM 周期值低 8 位 6. 3. 11. 4 周期寄存器高 4 位(T21PH) T21PH:T21 周期寄存器高 4 位(T21PH) Bit 7 6 5 4 Name — — — — R/W — — — — R/W POR 1 1 1 1 1 Bit 7~4 Bit 3~0 3 2 1 0 R/W R/W R/W 1 1 1 T21P 保留未用 T21P:PWM 周期值高 4 位 注:周期寄存器的更新,在写低 8 位寄存器时,会同时加载高位寄存器的值,因此寄存器更新时,需要先写高 4 位 寄存器,再写低 8 位寄存器。 6. 3. 11. 5 多功能寄存器 0 低 8 位(T21R0L) T21R0L:T21 精度寄存器 0 低 8 位(T21R0L) Bit 7 6 5 4 Name 3 2 1 0 T21R0 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 T21R0: 多精度 PWM 模式:PWM210 精度值低 8 位 捕捉模式:T21CI0 捕捉值低 8 位 比较模式:T21CO0 比较值低 8 位 V1.8 版权所有©上海东软载波微电子有限公司 93/248 http://www.essemi.com ES7P169C 数据手册 6. 3. 11. 6 多功能寄存器 0 高 4 位(T21R0H) T21R0H:T21 精度寄存器 0 高 4 位(T21R0H) Bit 7 6 5 4 3 2 1 0 Name — — — — R/W — — — — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 T21R0 Bit 7~4 Bit 3~0 保留未用 T21R0: 多精度 PWM 模式:PWM210 精度值高 4 位 捕捉模式:T21CI0 捕捉值高 4 位 比较模式:T21CO0 比较值高 4 位 6. 3. 11. 7 多功能寄存器 1 低 8 位(T21R1L) T21R1L:T21 精度寄存器 1 低 8 位(T21R1L) Bit 7 6 5 4 Name 3 2 1 0 T21R1 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 2 1 Bit 7~0 T21R1: 多精度 PWM 模式:PWM211 精度值低 8 位 捕捉模式:T21CI1 捕捉值低 8 位 比较模式:T21CO1 比较值低 8 位 6. 3. 11. 8 多功能寄存器 1 高 4 位(T21R1H) T21R1H:T21 精度寄存器 1 高 4 位(T21R1H) Bit 7 6 5 4 3 0 Name — — — — R/W — — — — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 2 1 0 T21R1 Bit 7~4 Bit 3~0 保留未用 T21R1: 多精度 PWM 模式:PWM211 精度值高 4 位 捕捉模式:T21CI1 捕捉值高 4 位 比较模式:T21CO1 比较值高 4 位 6. 3. 11. 9 多功能寄存器 2 低 8 位(T21R2L) T21R2L:T21 精度寄存器 2 低 8 位(T21R2L) Bit 7 6 5 4 Name 3 T21R2 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 T21R2: V1.8 版权所有©上海东软载波微电子有限公司 94/248 http://www.essemi.com ES7P169C 数据手册 多精度 PWM 模式:PWM212 精度值低 8 位 捕捉模式:T21CI2 捕捉值低 8 位 比较模式:T21CO2 比较值低 8 位 6. 3. 11. 10 多功能寄存器 2 高 4 位(T21R2H) T21R2H:T21 精度寄存器 2 高 4 位(T21R2H) Bit 7 6 5 4 Name — — — — R/W — — — — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 Bit 3~0 3 2 1 0 T21R2 保留未用 T21R2: 多精度 PWM 模式:PWM212 精度值高 4 位 捕捉模式:T21CI2 捕捉值高 4 位 比较模式:T21CO2 比较值高 4 位 注:精度寄存器更新,在写低 8 位寄存器时,会同时加载高位寄存器的值,因此寄存器更新时,需要先写高 4 位寄 存器,再写低 8 位寄存器。 6. 3. 11. 11 控制寄存器低 8 位(T21CL) T21CL:T21 控制寄存器低 8 位(T21CL) Bit 7 Name 6 5 4 T21M 3 2 CAP1S 1 0 CAP0S R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 Bit 3~2 T21M :T21 工作模式选择位 0000:定时器模式(计数器时钟源为 Fosc) 0001:异步计数模式 1(计数器时钟源为外灌时钟) 0010:同步计数器模式(计数时钟源为 T2nCKI 经 Fosc 同步后的时钟) 0011~0011:保留未用 01xx:捕捉模式 1000:比较器模式,匹配时输出 1 1001:比较器模式,匹配时输出 0 1010:比较器模式,匹配时不改变输出,由 IO 输出状况决定 1011:比较器模式,匹配时复位 T21,并触发 ADC 转换,且不改变输出,由 IO 输 出状况决定 1100:多精度 PWM 模式 1101:异步计数模式 2(计数器时钟源为 T2nCKI) 其它:保留未用 CAP1S:CAPTURE1 捕捉输入沿选择位 00:禁止 01:捕捉每 1 个脉冲下降沿 10:捕捉每 1 个脉冲上升沿 V1.8 版权所有©上海东软载波微电子有限公司 95/248 http://www.essemi.com ES7P169C 数据手册 Bit 1~0 6. 3. 11. 12 11:捕捉每 1 个脉冲双沿 CAP0S:CAPTURE0 捕捉输入沿选择位 00:禁止 01:捕捉每 1 个脉冲下降沿 10:捕捉每 1 个脉冲上升沿 11:捕捉每 1 个脉冲双沿 控制寄存器次高 8 位(T21CM) T21CM:T21 控制寄存器中 8 位(T21CM) Bit Name 7 6 CAP2S 5 4 T21OM20 T21OM21 3 2 1 0 T21PRS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~6 Bit 5 Bit 4 Bit 3~0 CAP2S:CAPTURE2 捕捉输入沿选择位 00:禁止 01:捕捉每 1 个脉冲下降沿 10:捕捉每 1 个脉冲上升沿 11:捕捉每 1 个脉冲双沿 T21OM20:PWM210 输出极性选择位 0:PWM210 高有效 1:PWM210 低有效 T21OM21:PWM211 输出极性选择位 0:PWM211 高有效 1:PWM211 低有效 T21PRS:T21 预分频器分频比选择位 0000:分频比为 1:1 0001:分频比为 1:2 0010:分频比为 1:3 0011:分频比为 1:4 0100:分频比为 1:5 0101:分频比为 1:6 0110:分频比为 1:7 0111:分频比为 1:8 1000:分频比为 1:9 1001:分频比为 1:10 1010:分频比为 1:11 1011:分频比为 1:12 1100:分频比为 1:13 1101:分频比为 1:14 1110:分频比为 1:15 1111:分频比为 1:16 V1.8 版权所有©上海东软载波微电子有限公司 96/248 http://www.essemi.com ES7P169C 数据手册 6. 3. 11. 13 控制寄存器高 8 位(T21CH) T21CH:T21 控制寄存器高 8 位(T21CH) Bit 7 Name T21EN R/W R/W R/W R/W R/W POR 0 0 0 0 Bit 7 6 5 4 3 2 1 0 R/W R/W R/W R/W 0 0 0 0 T21POS T21EN :T21 使能位 0:关闭 1:使能 T21POS:T21 后分频器分频值 后分频次数 = T21POS + 1 Bit 6~0 6. 3. 11. 14 输入输出控制寄存器(T21OC) T21OC:T21 输入输出控制寄存器(T21OC) Bit 7 6 Name T21TR T21PWMCKS R/W R/W R/W R/W POR 0 0 0 Bit 7 Bit 6 Bit 5~4 Bit 3 Bit 2 Bit 1~0 5 4 3 2 T21OM22 PT1EN R/W R/W R/W R/W R/W 0 0 0 0 0 PT2EN 1 0 PT0EN T21TR:PWM 输出触发位 0:PWM 输出为 0 1:启动 PWM 输出 T21PWMCKS:PWM 模式计数时钟源选择位 0:系统时钟 1: INTHRC 时钟 PT2EN:T21CI2/PWM212/T21CO2 端口复用选择位 00:关闭 01:PA6 端口 10:PB7 端口 11:保留未用 T21OM22:PWM212 输出极性选择位 0:PWM212 高有效 1:PWM212 低有效 PT1EN:T21CI1/PWM211/T21CO1 端口复用选择位 0:关闭 1:PA7 端口 PT0EN:T21CI0/PWM210/T21CO0 端口复用选择位 00:关闭 01:PA0 端口 10:PB4 端口 11:保留未用 V1.8 版权所有©上海东软载波微电子有限公司 97/248 http://www.essemi.com ES7P169C 数据手册 6. 3. 11. 15 T21 的PWM(T21_CH0)沿检测延时寄存器(TMRADC) TMRADC:PWM 沿检测延时寄存器(TMRADC) Bit 7 6 5 4 Name 3 2 1 0 TMRADC R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 TMRADC:PWM 沿检测延时时间设置寄存器 注:如果选择存储体 1,TMRADC只可写不可读。 V1.8 版权所有©上海东软载波微电子有限公司 98/248 http://www.essemi.com ES7P169C 数据手册 6. 4 16 位多功能定时器(T31) 6. 4. 1 概述 16 位多功能定时器 T31 包括一个 16 位自动重载计数器,支持预分频器和后分频器,支持 多种工作模式:定时器模式,捕捉器模式,比较器模式,PWM 模式,单脉冲模式,关断 功能模式,从模式。  T31 支持多种工作模式 - 定时器模式(时钟源为 Fosc,外部时钟源模式 1,外部时钟源模式 2) 捕捉器模式 比较器模式 PWM 模式(普通 PWM 模式,中心对齐模式,带死区互补输出) 单脉冲模式 关断功能模式 从模式(编码器模式,复位模式,门控模式,触发模式) - PWM 时钟源可通过寄存器配置为:系统时钟 Fosc,或 INTHRC 时钟  T31 支持以下功能组件  16 位自动重载计数器,支持递增计数,递减计数,递增/递减交替计数 16 位可编程预分频器,计数时钟预分频范围为 1~65536 8 位可编程后分频器,后分频范围为 1~256 8 位死区延时寄存器 T31DLYT 4 个 16 位捕捉/比较寄存器 T31CH1R、T31CH2R、T31CH3R 和 T31CH4R 支持四个独立通道 中断和暂停 - - 支持关断中断 BKIF、外部触发中断 TRGIF、互补通道更新中断 CHUIF、通道多功 能中断 MIFn、更新中断 UPIF、通道捕捉溢出中断 OVIFn,当中断发生时,如果对 应的中断使能位为 1,则会置起 T31 总中断标志位 T31IF 在 IDLE 模式下,停止工作 注:本章节中的字母 n 代表数字 1、2、3、4。 V1.8 版权所有©上海东软载波微电子有限公司 99/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 2 内部结构图 T31PWMCKS PWM模式 Fosc FINTHR C 0 1 触发ADC 从模式及 其它控制 电路 预分频器 计数重载寄存器 滤波和边沿 检测电路 T31计数器 后分频器 捕捉/比较寄存器 1/2/3/4 死区和输 出控制电 路 预分频器 T31_ETR TRGS T31_CH 1/2/3/4 通道输入 信号选择 1/2/3/4 滤波和边沿 检测电路 预分频器 1/2/3/4 T31_CH 1/2/3/4 T31_CH 1N/2N/3N T31_BRK CHnIOS 图 6-12 T31 内部结构图 6. 4. 3 时钟分频器 6. 4. 3. 1 预分频器 预分频器包括一个 16 位预分频寄存器 T31PRS 和一个 16 位预分频计数器,预分频范围 为 1~65536。其中预分频寄存器 T31PRS 可软件读写,并具有缓冲功能,所以寄存器 T31PRS 可在预分频计数器工作时被改写,更新后的预分频值直到下一次更新事件产生 时才生效。 预分频计数器固定为递增计数方式,从 0 开始计数到 T31PRS 寄存器的值后,会自动清 零并重新递增计数。 T31CLK T31CNT 2A T31预分频 计数器 0 T31PRS 0 2B 2C 2D 0 1 2 1 2 0 1 2 0 1 改写预分 频寄存器 2 新的预分 频值生效 T31EN 更新事件 图 6-13 预分频比变更的计数时序图(T31CNTLD=0x2D) V1.8 版权所有©上海东软载波微电子有限公司 100/248 http://www.essemi.com ES7P169C 数据手册 注:T31CLK 为系统时钟 Fosc。 6. 4. 3. 2 后分频器 后分频器包括一个 8 位后分频寄存器 T31POS 和一个 8 位后分频计数器,后分频范围为 1~256。其中后分频寄存器 T31POS 可软件读写,并具有缓冲功能,所以寄存器 T31POS 可在后分频计数器工作时被改写,更新后的后分频值直到下一次更新事件产生时才生效。 后分频计数器固定为递减计数方式,从 T31POS 寄存器的值开始递减计数到 0,会自动 重新加载 T31POS 寄存器的值,并继续递减计数。 T31 工作中使用了后分频器后,只在后分频计数器递减到 0 时才会产生更新事件,并置 起更新标志位 UPIF(T31IFL) 。 当后分频寄存器 T31POS 的值为 N 时,则每 N 次计数器上溢出或下溢出时,产生更新 事件,当更新事件发生时,所有计数相关设置都被更新:  后分频计数器重新加载 T31POS 寄存器的值  计数器重新加载 T31CNTLD 寄存器的值  预分频计数器重新加载 T31PRS 寄存器的值  比较器模式下的比较器重新加载 T31CHnR 寄存器的值 后分频计数器为递减计数,会在下列任一条件下发生递减:  每次计数器递增计数上溢出时递减  每次计数器递减计数下溢出时递减  在中心对齐模式下,每次计数器递增计数上溢出和递减计数下溢出时,后分频计数 器均会递减 后分频计数器是自动加载的,当后分频递减计数到 0 后产生更新事件,自动加载 T31POS 寄存器的值。当更新事件由软件设定 UPT(T31EVG)位或由硬件通过从模式控制 器产生时,后分频计数器也都会立即加载 T31POS 寄存器的值。 T31CLK T31CNT T31后分 频计数器 ………… ………… 7 8 ………… 2D 0 ………… 0 2D 1 2 重载 T31POS 0 1 T31POS 1 1 T31EN 置起更新 中断标志 UPIF 图 6-14 使用后分频的计数时序图(T31CNTLD=0x2D) V1.8 版权所有©上海东软载波微电子有限公司 101/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 4 计数模式 6. 4. 4. 1 递增计数模式 在递增计数模式下,计数器由 0 计数至计数重载值(由 T31CNTLD 寄存器设置)后,会 重新开始由 0 计数并产生一个计数器上溢出更新事件。 如果使用了后分频计数器,则会在递增计数上溢出次数达到后分频寄存器 T31POS 的值 后产生更新事件,否则会在每次计数器上溢出时产生更新事件。 更新事件可通过设置 T31C0L 寄存器的 UED 位关闭,这样可以避免在改写计数重载寄存 器 T31CNTLD 时恰好发生更新事件,而使改写值立即生效。禁止产生更新事件时,计数 器递增计数上溢出后,仍会被清零重新计数,预分频器的计数也会被清零并重新开始计 数(但预分频比不会改变) 。 当更新事件发生时,所有计数相关设置都被更新且置起更新标志位 UPIF(T31IFL) :  后分频计数器重新加载 T31POS 寄存器的值  计数器重新加载 T31CNTLD 寄存器的值  预分频计数器重新加载 T31PRS 寄存器的值 T31CLK T31CNT 2A T31CNTLD 2D 2B 2C 2D T31EN 0 1 2 3 4 5 6 3F 40 0 计数溢出 UPIF 图 6-15 递增计数时序图(预分频为 1) T31CLK T31CNT ………… 2A 2B 2C 2D 0 1 ………… 1 改写后的值 开始生效 T31CNTLD 2D 40 T31EN 计数溢出 计数溢出 UPIF 图 6-16 递增计数时序图(RLBE=1,T31CNTLD 有缓冲) V1.8 版权所有©上海东软载波微电子有限公司 102/248 http://www.essemi.com ES7P169C 数据手册 T31CLK 2A T31CNT 2B 2C 2D 1 0 2 3 4 5 6 改写后立 即生效 2D 40 T31CNTLD T31EN 计数溢出 UPIF 图 6-17 递增计数时序图(RLBE=0,T31CNTLD 无缓冲) 6. 4. 4. 2 递减计数模式 在递减计数模式下,计数器由计数重载值(由 T31CNTLD 寄存器设置)开始递减计数至 0 后,会重新开始由计数重载值计数并产生一个计数器下溢出更新事件。 如果使用了后分频计数器,则会在递减计数下溢出次数达到后分频寄存器 T31POS 的值 后产生更新事件,否则会在每次计数器下溢出时产生更新事件。 更新事件可通过设置 T31C0L 寄存器的 UED 位关闭,这样可以避免在改写计数重载寄存 器 T31CNTLD 时恰好发生更新事件,而使改写值立即生效。禁止产生更新事件时,计数 器递减计数下溢出后,仍会自动重载然后重新计数,预分频器的计数也会被清零并重新 开始计数(但预分频比不会改变)。 当更新事件发生时,所有计数相关设置都被更新且置起更新状态位 UPIF(T31IFL) :  后分频计数器重新加载 T31POS 寄存器的值  计数器重新加载 T31CNTLD 寄存器的值  预分频计数器重新加载 T31PRS 寄存器的值 T31CLK T31CNT ………… 3 2 1 0 40 3F ………… 1 0 2D 40 T31EN 4 改写后的值5 开始生效 改写后的值 40开始生效 T31CNTLD 5 5 计数溢出 计数溢出 UPIF 图 6-18 递减计数时序图(RLBE=1,T31CNTLD 有缓冲) V1.8 版权所有©上海东软载波微电子有限公司 103/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 4. 3 中心对齐模式 在中心对齐模式下,计数器由 0 开始递增计数至计数重载值(由 T31CNTLD 寄存器设置) 时,会产生一个计数器上溢出事件,再继续由计数重载值递减计数至 0,并产生一个计 数器下溢出事件,然后计数器重新由 0 开始计数。 T31 支持 3 种中心对齐模式,可通过寄存器控制位 CMC(T31C0L)设置。在 3 种中心对齐模式下,计数器均以交替方式递增或递减计数,但各输出通道的多功能中断 标志 MIFn 置 1 的方式不同,当 CMC=“01”时,为中心对齐模式 1,仅在计数器递减 计数时多功能中断标志 MIFn 才会被置 1;当 CMC=“10”时,为中心对齐模式 2,仅在 计数器递增计数时多功能中断标志 MIFn 才会被置 1;当 CMC=“11”时,为中心对齐 模式 3,在计数器递增或递减计数时多功能中断标志 MIFn 均可被置 1。 在中心对齐模式下,计数器的计数方向选择位 DIRS(T31C0L)由硬件电路自动控 制,实现计数器递增或递减计数。 更新事件可通过设置 T31C0L 寄存器的 UED 位关闭,这样可以避免在改写计数重载寄存 器 T31CNTLD 时恰好发生更新事件,而使改写值立即生效。禁止产生更新事件时,计数 器计数上溢出或下溢出后,仍会自动重新开始计数。 当更新事件发生时,所有计数相关设置都被更新且置起更新标志位 UPIF(T31IF) :  后分频计数器重新加载 T31POS 寄存器的值  计数器重新加载 T31CNTLD 寄存器的值  预分频计数器重新加载 T31PRS 寄存器的值 T31CLK T31CNT ………… 4 3 2 1 0 1 ………… 3E 3F 2D 40 T31EN 4 改写后的值5 开始生效 改写后的值 40开始生效 T31CNTLD 5 5 递减计数 下溢出 递增计数 上溢出 UPIF 置起多功能 中断标志 MIFn 图 6-19 中心对齐模式 1 计数时序图(RLBE=1) 6. 4. 5 工作模式 T31 支持多种工作模式:定时器模式,捕捉器模式,比较器模式,PWM 模式,单脉冲模 式,关断功能模式,从模式。其中定时器模式包括内部 Fosc 时钟计数,外部时钟源模式 1 计数,外部时钟源模式 2 计数;PWM 模式包括 PWM 普通模式,PWM 中心对齐模式, 带死区互补输出;从模式包括编码器模式,复位模式,门控模式,触发模式。 V1.8 版权所有©上海东软载波微电子有限公司 104/248 http://www.essemi.com ES7P169C 数据手册 T31 支持 4 个捕捉/比较通道,其中有 3 个通道各支持两个互补输出端口,每个通道的捕 捉输入和比较输出功能均不能同时使用。 6. 4. 6 定时器模式 T31 定时器包括一个可自动重载的 16 位计数寄存器 T31CNT,一个 16 位计数重载寄存 器 T31CNTLD,一个 16 位预分频寄存器 T31PRS,一个 8 位后分频寄存器 T31POS, 都可由软件读写,但建议不要在计数器正常工作时改写计数寄存器的值,以免造成工作 异常。 对计数重载寄存器 T31CNTLD 的写操作,需要先写高 8 位寄存器 T31CNTLDH,再写低 8 位寄存器 T31CNTLDL。高 8 位寄存器写入的值并不会立即生效,而是在写低 8 位寄 存器的值时才会同时更新。 计数重载寄存器 T31CNTLD 支持写入缓冲功能,可通过 T31C0L 寄存器的 RLBE 位设 置是否使能缓冲功能,当缓冲使能时,写入 T31CNTLD 寄存器的值不会立刻生效,而是 直到下一次更新事件发生时才会生效。 当 T31C0L 寄存器的更新事件禁止位 UED 为 0 时,则以下任一事件发生时,都会产生 一个更新事件: - 计数器递增计数上溢出或递减计数下溢出 - 软件设置 UPT 位,产生一个更新事件 - 从模式控制器产生的更新 当 T31C0L 寄存器的更新事件禁止位 UED 为 1 时,禁止更新事件产生。 当 T31 工作在定时器模式时,无需使能其捕捉/比较通道的功能,只需要对计数相关的寄 存器进行设置。 定时器模式下计数器的时钟源可为系统时钟 Fosc 或外部时钟,并支持两种外部时钟源模 式:  设置 T31C2L 寄存器的 T31SM=000,T31C2H 寄存器的 ECM2E=0,可配置计数 器时钟源为系统时钟 Fosc。  设置 T31C2L 寄存器的 T31SM=111,T31C2H 寄存器的 ECM2E=0,可配置计数器 为外部时钟源模式 1,并通过 TRGS 位,选择外部时钟源: 通道 1 端口 T31_CH1 输入脉冲信号边沿(双边沿均有效) ; 通道 1 端口 T31_CH1 输入信号(支持输入滤波,上升沿或下降沿可选); 通道 2 端口 T31_CH2 输入信号(支持输入滤波,上升沿或下降沿可选) ; 外部触发输入 T31_ETR(支持输入滤波和独立的预分频,上升沿或下降沿可选) 。  设置 T31C2H 寄存器的 ECM2E=1,可配置计数器为外部时钟源模式 2,使用外部 触发输入 T31_ETR 作为时钟源。 支持计数时钟的预分频器和计数后分频器。 设置 T31C0L 寄存器的 CMC=00,可选择为普通计数模式,设置 T31C0L 寄存器的 T31EN=1 后,计数器开始计数。 支持递增和递减两种计数方式,可通过 T31C0L 寄存器的 DIRS 位进行选择。递增或递 V1.8 版权所有©上海东软载波微电子有限公司 105/248 http://www.essemi.com ES7P169C 数据手册 减计数溢出时,计数器均会重新开始计数,并产生一个计数器上溢出或下溢出事件,且 置起更新标志位 UPIF(T31IFL) 。 6. 4. 6. 1 内部时钟源模式 设置 T31C2L 寄存器的 T31SM=000,T31C2H 寄存器的 ECM2E=0,可配置 T31 为内 部时钟源模式,计数器时钟源为系统时钟 Fosc。 配置计数器为内部时钟源模式计数的步骤如下:  设置 T31C2L 寄存器的 T31SM=000,T31C2H 寄存器的 ECM2E=0,配置为内部 时钟源模式  设置预分频寄存器 T31PRS,配置预分频  设置后分频寄存器 T31POS,配置后分频  设置 T31C0L 寄存器的 DIRS 位,选择递增或递减计数方式  设置 T31C0L 寄存器的 RLBE 位,配置计数重载寄存器缓冲是否使能  设置计数重载寄存器 T31CNTLD,配置计数周期  设置 T31C0L 寄存器的 T31EN=1,使能计数器 T31CLK T31CNT 2A T31CNTLD 2D 2B 2C T31EN 2D 0 1 2 3 4 5 6 计数溢出 UPIF 图 6-20 6. 4. 6. 2 内部时钟源模式下递增计数时序图(预分频/后分频为 1) 外部时钟源模式 1 设置 T31C2L 寄存器的 T31SM=111,可配置 T31 为外部时钟源模式 1,该模式下计数器 在外部输入时钟的每个上升沿或下降沿计数,外部输入时钟端口可选。 配置计数器为外部时钟源模式 1 计数的步骤如下:  设置 T31C2L 寄存器的 T31SM=111,配置为外部时钟源模式 1  设置 T31C2L 寄存器中的 TRGS 位,选择外部时钟源  如果外部时钟源为通道 1 或 2 端口,则可以设置 T31CHnC 寄存器的 CHnIFS 位, 配置输入信号的滤波时间;设置 T31PINC 寄存器的 CHnNP/CHnP,选择上升沿或 下降沿有效  如果外部时钟源为外部触发输入端口,则可以设置 T31C2H 寄存器的 ETFS 位,配 置输入信号的滤波时间,设置 ETPRS 位,配置触发输入信号的预分频,设置 ETEG, V1.8 版权所有©上海东软载波微电子有限公司 106/248 http://www.essemi.com ES7P169C 数据手册 选择上升沿或下降沿有效  设置 T31C0L 寄存器的 T31EN=1,使能计数器 计数器工作在外部时钟源模式 1 时,每递增或递减计数一次,TRGIF 标志位均会被置 1。 因外部输入时钟需经过片内滤波采样电路处理,所以实际计数时刻与外部时钟上升沿时 刻之间有一定延时。 T31_CH1 3 T31CNT 4 5 6 T31EN TRGIF 图 6-21 外部时钟源模式 1 的计数时序图(时钟源为通道 1 端口,上升沿递增计数) 6. 4. 6. 3 外部时钟源模式 2 设置 T31C2L 寄存器的 T31SM=000,T31C2H 寄存器的 ECM2E=1,可配置 T31 为外 部时钟源模式 2,该模式下计数器在外部触发输入 T31_ETR 的上升沿或下降沿计数,并 可使用预分频器。外部时钟源模式 2 等同于在外部时钟源模式 1 时,将 T31_ETR 信号 作为外部时钟。 配置计数器为外部时钟源模式 2 计数的步骤如下:  设置 T31C2H 寄存器的 ETFS 位,配置输入信号的滤波时间  设置 T31C2H 寄存器的 ETPRS 位,选择外部触发输入信号的预分频  设置 T31C2H 寄存器的 ETEG,选择上升沿还是下降沿有效  设置 T31C2L 寄存器的 T31SM=000,T31C2H 寄存器的 ECM2E=1,使能外部时 钟源模式 2  设置 T31C0L 寄存器的 T31EN=1,使能计数器 T31_ETR T31CNT 3 4 5 6 T31EN 图 6-22 外部时钟源模式 2 的计数时序图(预分频比为 1:2,上升沿递增计数) 6. 4. 7 捕捉器模式 T31 支持 4 个捕捉通道,每个捕捉通道,均支持两个捕捉输入端口,可通过 T31CHnC V1.8 版权所有©上海东软载波微电子有限公司 107/248 http://www.essemi.com ES7P169C 数据手册 寄存器的 CHnIOS 位进行选择。例如:对捕捉通道 1,可对通道 1 端口 T31_CH1,也可 对通道 2 端口 T31_CH2 输入的信号进行捕捉(由 CH1IOS 位进行选择) 。 支持对捕捉输入信号进行滤波处理和边沿选择,可以通过 T31CHnC 寄存器的 CHnIFS 位,设置捕捉输入信号的滤波时间,通过 T31PINC 寄存器的 CHnNP/CHnP 位,设置捕 捉输入信号的有效边沿(上升沿,下降沿或双边沿) 。 支持捕捉频率可选,可以通过 T31CHnC 寄存器的 CHnIM 位,设置捕捉的频率(每 1, 2,4 或 8 个输入信号边沿,捕捉一次) 。 设置 T31PINC 寄存器的 CHnE=1,使能通道的捕捉输入。 在捕捉器模式下,当检测到捕捉输入信号满足捕捉条件后,计数器的当前值被锁存到捕 捉/比较寄存器 T31CHnR 中。 当发生捕捉时,多功能中断标志位 MIFn 被置 1,如果多功能中断使能位 MIEn=1,则 T31 总中断标志位 T31IF 也被置 1,如果总中断使能位 T31IE=1,则会产生一个捕捉中断请 求;如果发生捕捉时,MIFn 标志位已经置位,则捕捉溢出中断标志位 OVIFn 会被置 1。 通过对寄存器 T31ICR 的对应中断清零 0 位进行写 1 操作,可以清除中断标志位 MIFn 和 OVIFn,还可以通过读取捕捉寄存器 T31CHnR 来清除中断标志位 MIFn。 捕捉条件的产生也可由软件设置寄存器 T31EVG 的 CHnT 位来触发,当 CHnT 位写入 1 时,会触发捕捉,将计数器的当前值锁存到捕捉/比较寄存器 T31CHnR 中,同时置起相 应的中断标志位 MIFn 或 OVIFn。 发生捕捉溢出时,建议先读取数据,再处理捕捉溢出标志,避免反复产生捕捉溢出。 捕捉模式可用于测量输入脉冲信号的周期,如果使用两个捕捉通道,同时对一个端口上 的输入信号分别进行上升沿和下降沿的捕捉,则可以测量脉冲信号的周期和占空比。在 测量脉冲信号的应用中,可设置 T31C2L 寄存器的 T31SM=100,把从模式控制器配置 为复位模式,使用触发输入信号的上升沿重新初始化计数器,并设置 T31C2L 寄存器的 TRGS 位,选择通道端口的捕捉输入作为触发输入信号。 V1.8 版权所有©上海东软载波微电子有限公司 108/248 http://www.essemi.com ES7P169C 数据手册 T31CNT 7 8 0 1 2 3 4 5 8 x 0 1 2 上升沿捕捉 上升沿捕捉 T31CH1R 6 6 下降沿捕捉 T31CH2R x 3 T31EN T31_CH1 置起通道1多 功能中断标志 置起通道1多 功能中断标志 MIF1 置起通道2多 功能中断标志 MIF2 图 6-23 测量脉冲信号周期和占空比的捕捉模式时序(通道 1,复位模式) 6. 4. 8 比较器模式 设置 T31CHnC 寄存器的 CHnOM,可配置比较器模式。T31 支持 4 个比较输出通道, 输出端口 T31_CHn(n=1,2,3,4)与捕捉通道复用,设置 T31CHnC 寄存器的 CHnIOS=00,可将通道端口配置为比较输出。 每个比较通道支持一个 16 位捕捉/比较寄存器 T31CHnR,可进行软件读写操作,写操作 时需要先写高 8 位寄存器 T31CHnRH,再写低 8 位寄存器 T31CHnRL,高 8 位寄存器 写入的值并不会立即生效,而是在写低 8 位寄存器的值时才会同时更新。通过 T31CHnC 寄存器的 CHnOBE 位,可设置 T31CHnR 寄存器是否立即生效,还是在下一次更新事件 发生时生效。更新事件对于比较器输出和通道端口输出没有影响。 在比较器模式下,计数器可以使用内部或外部时钟进行计数,支持计数时钟预分频。 在比较器模式下,将计数器的计数值与比较寄存器进行比较,发生比较匹配时,可通过 T31CHnC 寄存器的 CHnOM 位和 T31PINC 寄存器中的输出极性控制位 CHnP,来控制 通道端口 T31_CHn 的输出电平。发生比较匹配时: - 如果 CHnOM=000,则通道端口输出电平保持不变; - 如果 CHnOM=001,则比较器输出 1,通道端口电平取决于 CHnP 位; - 如果 CHnOM=010,则比较器输出 0,通道端口电平取决于 CHnP 位; - 如果 CHnOM=011,则通道端口电平翻转。 发生比较匹配时,会置起对应比较通道的多功能中断标志位 MIFn,如果相应的多功能中 断使能位 MIEn=1,则 T31 总中断标志位 T31IF 也被置 1,如果总中断使能位 T31IE=1, 则会产生一个比较中断请求。 发生比较匹配后,计数器仍继续递增或递减计数,直到计数溢出,会置起更新中断标志 位 UPIF,如果使用了后分频器,则直到后分频器递减到 0 后,再次发生计数溢出时,才 V1.8 版权所有©上海东软载波微电子有限公司 109/248 http://www.essemi.com ES7P169C 数据手册 置起更新中断标志位 UPIF。例如递增计数时,会继续计数到重载寄存器 T31CNTLD 的 值后发生上溢出。 在比较器模式下,还支持软件将比较器输出强制为固定电平。设置 T31CHnC 寄存器的 CHnOM=100,可将比较器输出强制为 0;CHnOM=101,可将比较器输出强制为 1。比 较器输出被强制为固定电平后,通道端口电平仍取决于 CHnP 位,硬件比较电路仍然会 继续进行与计数值的比较,相应的标志也会被置起,并产生相应的中断。 比较器模式的配置步骤如下所示:  选择计数器时钟(内部,外部)和预分频  设置计数重载寄存器 T31CNTLD 和比较寄存器 T31CHnR  通过 CHnOM 设置比较匹配时的端口状态,通过 CHnP 设置端口电平极性  通过 CHnOBE 设置比较寄存器 T31CHnR 是立即生效还是有缓冲  设置 T31IEL 寄存器的 MIEn=1,INTE0 寄存器的 T31IE=1,可产生比较中断请求  设置 T31PINC 寄存器的 CHnE=1,使能比较通道端口输出  设置 T31C0L 寄存器的 T31EN=1,使能计数器 T31CLK T31CNT ………… 2A 2B 2C 2D 2E 2F ………… 3F 40 41 42 改写后的值 立即生效 T31CHnR 2D T31EN 40 比较匹配 T31_CHn 置起多功能 中断标志 比较匹配 置起多功能 中断标志 MIFn 图 6-24 比较器模式时序图(比较匹配后端口输出翻转,CHnOBE=0,无缓冲) 每个通道的比较器输出,均支持通过外部触发输入信号 T31_ETR 清 0。设置 T31CHnC 寄存器的 CHnCOCE=1,T31C2L 寄存器的 COCE=1,可通过外部输入信号清零对应通 道的比较器输出,清零后的比较器输出保持为低,直到下一更新事件发生。需要注意的 是,此功能只能用于比较器模式和 PWM 模式,但不能用于比较器强制输出模式 (CHnOM=100 或 101) 。 使用外部触发输入信号清零比较器输出时,需要设置 T31C2H 寄存器的 ECM2E=0,禁 止外部时钟源模式 2,不能把外部输入信号 T31_ETR 作为计数器时钟。 可通过 T31C2H 寄存器的 ETEG 和 ETFS 位,配置外部触发输入信号的有效边沿和滤波 时间。 V1.8 版权所有©上海东软载波微电子有限公司 110/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 9 PWM模式 设置 T31CHnC 寄存器的 CHnOM,可配置 PWM 模式。T31 支持 4 个 PWM 输出通道, 每个通道的 PWM 模式均可独立设置,基于比较器的比较输出结果,产生 PWM 输出波 形。其中有 3 个 PWM 通道各支持两个互补输出端口 T31_CHn 和 T31_CHnN(n=1,2, 3),可产生带死区延时的互补输出信号,第 4 个 PWM 通道只支持一个输出端口 T31_CH4。 PWM 模式计数时钟源可通过 T31C0H 寄存器的 T31PWMCKS 位设置,可为系统时钟 Fosc 或者内部高速时钟 INTHRC,其中 INTHRC 时钟最高可到 64MHz。 支持两种 PWM 模式,输出波形互补,通过 T31CHnC 寄存器的 CHnOM 可设置 PWM 模式,当 CHnOM=110 时为 PWM 模式 1,当 CHnOM=111 时为 PWM 模式 2。 在 PWM 模式下,通过 T31CNTLD 寄存器设置脉冲周期,通过 T31CHnR 寄存器设置脉 冲宽度,确定占空比。必须设置 T31CHnC 寄存器的 CHnOBE=1,使能 T31CHnR 寄存 器的缓冲功能,设置 T31C0L 寄存器的 RLBE=1,使能 T31CNTLD 寄存器的缓冲功能, 可确保在周期或占空比连续改变时,每个 PWM 脉冲波形均是完整的。在计数器开始计 数之前,必须设置 T31EVG 寄存器的 UPT 位,初始化更新所有寄存器的缓冲器。 可以通过 T31PINC 寄存器中的 CHnP 位设置端口 T31_CHn 的输出极性,可以选择端口 电平相对于比较器输出是否反相。通过 T31PINC 寄存器的通道输出使能位 CHnE,互补 输出使能位 CHnNE 和 T31CHBK 寄存器的通道输出状态总使能位 CHOE,空闲模式下 的端口空闲状态选择位 NOFFS 和运行模式下的端口无效状态选择位 ROFFS,来控制端 口 T31_CHn 的输出状态。 在 PWM 模式下,计数值 T31CNT 和比较寄存器值 T31CHnR 始终在进行比较,并根据 CHnOM 位设置的 PWM 模式,比较器输出对应的比较结果。 设置 T31C0L 寄存器的 CMC 位,可选择 PWM 信号波形为普通模式或中心对齐模式。 注:在 ICD 调试模式下,需软件固定设置 T31C0H 寄存器的 HTOEOFF=1,否则 PWM 输出可能异常。 6. 4. 9. 1 PWM普通模式 设置 T31C0L 寄存器的 CMC=00,可配置 PWM 为普通模式,在 PWM 普通模式下,通 过 T31C0L 寄存器的 DIRS 位,可以控制计数器递增或递减计数。 以 PWM 模式 1 为例,递增计数时只要 T31CNTT31CHnR,比较器的输出就为低,否 则比较器的输出保持为高,通道端口 T31_CHn 的输出电平取决于 CHnP 位的极性控制。 如果 T31CHnR 中的比较值大于 T31CNTLD 中的计数重载值,则比较器的输出一直保持 为高;递减计数时不能产生占空比为 0 的 PWM 波形(即使 T31CHnR=0,当递减计数 到 T31CNT=0 时,比较器的输出仍会跳变为高电平) 。 V1.8 版权所有©上海东软载波微电子有限公司 111/248 http://www.essemi.com ES7P169C 数据手册 T31CLK T31CNT ………… 0 1 2 3 4 5 ………… 3F 0 1 2 T31EN 比较器 输出 T31_CHn 置起多功能 中断标志 MIFn 图 6-25 普通 PWM 波形,递增计数(T31CHnR=3,T31CNTLD=0x3F,CHnP=0) T31CLK T31CNT ………… 3F 3E 3D ………… 4 3 2 1 0 3F 3E T31EN 比较器 输出 T31_CHn 置起多功能 中断标志 MIFn 图 6-26 普通 PWM 波形,递减计数(T31CHnR=3,T31CNTLD=0x3F,CHnP=1) 6. 4. 9. 2 PWM中心对齐模式 设置 T31C0L 寄存器的 CMC 位为非 00 时,可配置 PWM 为中心对齐模式,共支持 3 种 中心对齐模式,可实现各通道的多功能中断标志位 MIFn 在递减计数匹配时置 1、递增计 数匹配时置 1、递减/递增计数匹配时置 1。 在中心对齐模式下,在计数器开始工作前,需先软件设置好 T31C0L 寄存器中的 DIRS 位,及其它控制寄存器,然后设置 T31EVG 寄存器的 UPT 位产生一次软件更新事件。 计数器使能后基于 DIRS 位的初始值,来决定以递增或递减方式开始计数,计数过程中 由硬件自动控制 DIRS 位,实现递增和递减交替的方式计数,软件修改无效。在软件初 始化时,DIRS 和 CMC 位不要同时修改,也不要在计数过程中修改计数器的值,以免产 生异常。 V1.8 版权所有©上海东软载波微电子有限公司 112/248 http://www.essemi.com ES7P169C 数据手册 T31CLK T31CNT ………… 0 1 2 3 ………… 3D 3E 3F 3E 3D 3C T31EN 比较器 输出 T31_CHn 置起多功能 中断标志 MIFn 图 6-27 中心对齐 PWM 波形(T31CHnR=0x3D,T31CNTLD=0x3F,CHnP=0,CMC=10) 6. 4. 9. 3 带死区互补输出 T31 有 3 个 PWM 通道各支持两个互补输出端口 T31_CHn 和 T31_CHnN(n=1,2,3), 可产生带死区延时的互补输出信号,并且死区时间可配置。 通过 T31PINC 寄存器的 CHnP 与 CHnNP 位,可独立设置每个端口输出信号的极性。 互补输出信号可通过以下几个控制位进行设置:T31PINC 寄存器的通道输出和互补输出 使能位 CHnE 和 CHnNE,T31CHBK 寄存器的通道输出状态总使能位 CHOE,空闲和运 行模式下的端口空闲和无效状态选择位 NOFFS 和 ROFFS,T31C1H 寄存器的通道输出 和互补输出空闲状态选择位 ONSn 和 ONSnN。 通过 T31DLYT 寄存器,可设置互补输出信号的死区时间,所有通道均共用该死区时间, 根据比较器的输出信号,产生 2 路互补输出 T31_CHn 和 T31_CHnN。如果死区时间大 于输出信号的有效脉宽,则不会产生脉冲输出。 比较器 输出 T31_CHn 死区延时 T31_CHnN 死区延时 图 6-28 带死区延时的互补输出 当 PWM 通道配置为互补输出时,如下寄存器控制位都会有缓冲:CHnOM、CHnE 和 CHnNE。发生互补通道更新事件时,这些寄存器位才会真正生效,这样就可以预先设置 好下一步的配置,并同时对所有互补通道的配置进行更新。互补通道更新事件可以通过 设置 T31EVG 寄存器的 CHUT=1 产生,或由触发信号产生(由 T31C2L 寄存器的 TRGS 位选择触发信号)。 V1.8 版权所有©上海东软载波微电子有限公司 113/248 http://www.essemi.com ES7P169C 数据手册 当发生互补通道更新事件时,会置起互补通道更新中断标志位 CHUIF(T31IF) ,如 果互补通道更新中断使能位 CHUIE=1,并且总中断使能位 T31IE=1,则产生一个互补通 道更新中断请求。 6. 4. 10 单脉冲模式 单脉冲模式实际是基于比较器模式或 PWM 模式来产生波形的,可通过设置 T31C0L 寄 存器的 SPME=1,来实现单脉冲输出。在单脉冲模式下,计数器会在下一次更新事件产 生时自动停止计数。 为确保单脉冲可以正确的产生,在计数器开始计数之前,计数器的计数值,比较值和计 数重载寄存器的值,必须满足如下条件: 递增计数时 T31CNT T31CHnR。 通过比较寄存器 T31CHnR 和计数重载寄存器 T31CNTLD,可设置单脉冲输出的延时和 脉宽时间。 基于 PWM 模式设置单脉冲输出波形的步骤如下:  设置 T31CHnC 寄存器的 CHnOM 位,选择 PWM 模式 1 或 2;  设置 T31PINC 寄存器的 CHnP 位,选择通道端口 T31_CHn 的输出极性;  设置 T31C0L 寄存器的 DIRS,CMC,SPME 位,配置为递增或递减计数,PWM 普通波形模式,单脉冲模式使能;  设置 T31CHnC 寄存器的 CHnOBE=1,T31C0L 寄存器的 RLBE=1,使能比较寄存 器和计数重载寄存器的缓冲功能(也可以根据实际情况不使能缓冲) ;  设置 T31CHnR 寄存器和 T31CNTLD 寄存器,配置单脉冲输出延时和脉宽时间;  设置 UPT 位来产生一个更新事件;  设置 T31C0L 寄存器的 T31EN=1 来启动计数器,也可以在触发模式下,通过外部 触发输入信号来触发硬件自动设置 T31EN=1。 T31CLK T31CNT ………… 0 1 2 3 ………… 3D 3E 3F 0 T31EN 比较器 输出 T31_CHn 计数溢出 UPIF 图 6-29 单脉冲输出波形(PWM 模式 1,T31CHnR=0x3D,T31CNTLD=0x3F,CHnP=1) V1.8 版权所有©上海东软载波微电子有限公司 114/248 http://www.essemi.com ES7P169C 数据手册 在单脉冲模式下,如果希望通过外部触发输入信号的方式,来快速触发产生一个单脉冲 输出,则可以设置 T31CHnC 寄存器的 CHnOFE=1,使能比较器输出加速功能,使得比 较器输出和通道端口 T31_CHn 在外部触发时立即输出脉冲波形,而不需要等到计数比 较匹配后再输出。需要注意的是,CHnOFE 位只在通道配置为 PWM 模式 1 和 PWM 模 式 2 时才有效。 6. 4. 11 关断功能模式 关断功能模式可通过以下几个控制位进行设置:T31CHBK 寄存器的 CHOE、NOFFS 和 ROFFS 位,T31C1H 寄存器的 ONSn 和 ONSnN 位。关断产生时,通道输出空闲状态 电平。 支持两种关断方式:一种是通过 T31_BRK 输入管脚关断,另一种是设置 T31EVG 寄存 器的 BKT=1,来产生关断事件。 设置 T31CHBK 寄存器中的 BKE 位可以使能关断功能,关断输入信号的极性可以通过设 置 BKPS 位选择,BKE 和 BKPS 可以同时被修改。 关断电路控制寄存器具有写保护功能,支持 3 个保护等级,可通过 T31CHBK 寄存器的 PROTS 位来选择,实现对死区时间,通道端口 T31_CHn/T31_CHnN 输出极性和空闲 状态,CHnOM 配置,关断使能和极性等的写保护。 当发生关断时,执行下列操作:  CHOE 位被立即清 0,将通道输出禁止或强制为空闲状态(由 NOFFS 位选择) ,该 操作为异步操作,所以即使在芯片系统时钟关闭时依然有效。  空闲状态下,每个通道的输出电平,可通过 T31C1H 寄存器的 ONSn 和 ONSnN 位 设定。通道输出禁止时,T31 不再控制端口输出使能。  当使用互补输出时:通道输出首先被置于无效状态,这是异步操作,即使定时器没 有时钟,该操作也依然有效;如果定时器的时钟存在,则死区时间仍有效,并会重 新启动死区时间计时,在死区时间之后根据 ONSn 和 ONSnN 位的设置,端口输出 空闲状态电平。需要注意的是,因为重新同步 CHOE,死区时间会比平时略长一些 (约 1~2 个时钟周期) 。  如果使能了 T31IEL 寄存器中的关断中断使能位 BKIE,则当关断中断标志 BKIF (T31IFL)为 1 时,会产生一个中断请求。  如果使能了 T31CHBK 寄存器中的 AROE 位,则当关断事件撤消后,在下一个更新 事件时 CHOE 位被自动置位,否则 CHOE 位始终保持为低,直到被软件再次置 1。 注 1:因为关断输入信号为电平有效,所以当关断输入有效时,不能同时(自动地或通过软件)设置 CHOE,并且 中断标志位 BKIF 也不能被清除; 注 2:芯片复位后,T31CHBK 寄存器中的 PROTS 位只能写一次。 V1.8 版权所有©上海东软载波微电子有限公司 115/248 http://www.essemi.com ES7P169C 数据手册 关断状态 T31_BRK 死区延时 T31_CHn 关断状态 死区延时 T31_CHnN 关断状态 死区延时 置起关 断中断 BKIF 图 6-30 带死区互补输出的关断时序图 通道端口输出支持以下四种状态: - - CHOE 1 0 NOFFS 输出禁止,端口的输入输出状态由 IO 端口的输入输出控制寄存器 PxT 控制,输出 数据由端口电平状态寄存器 Px 控制。 输出空闲状态,需设置 CHOE=0,端口电平由 T31C1H 寄存器的 ONSn/ONSnN 位 设置,可以实现所有通道端口 T31_CHn/T31_CHnN 同时输出空闲状态。 输出无效状态,需设置 CHOE=1,端口电平由 T31PINC 寄存器的 CHnP/CHnNP 位设置,可以实现两路互补输出端口的其中一路输出无效状态,另一路输出有效状 态。 输出有效状态, 需设置 CHOE=1, 端口输出比较器的比较结果, 输出极性由 T31PINC 寄存器的 CHnP/CHnNP 位设置是否反相,可以实现两路互补输出。 ROFFS CHnE CHnNE T31_CHn 输出状态 T31_CHnN 输出状态 0 0 0 输出禁止 输出禁止 0 0 1 输出禁止 有效状态,极性可配置 0 1 0 有效状态,极性可配置 输出禁止 0 1 1 1 0 0 输出禁止 输出禁止 1 0 1 无效状态,电平可配置 有效状态,极性可配置 1 1 0 有效状态,极性可配置 无效状态,电平可配置 1 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 1 X 0 1 X 两路互补输出均为有效状态,极性和死区时间可配置 两路互补输出均为有效状态,极性和死区时间可配置 输出禁止 输出禁止 输出禁止 输出禁止 输出禁止 输出禁止 输出空闲状态,端口电平由 ONSn/ONSnN 设置,如果设置了死 区时间,则在 CHOE=0 后,重新开始死区时间计时,经过所设 置的死区时间之后,再输出空闲状态 表 6-3 带有关断功能的通道互补输出列表 注:通道输出禁止时,对应的通道端口可以作为普通 IO 端口使用。 V1.8 版权所有©上海东软载波微电子有限公司 116/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 12 从模式 T31 支持以下扩展的从模式:编码器模式,复位模式,门控模式,触发模式。 6. 4. 12. 1 编码器模式 T31 的通道 1 和通道 2 支持 3 种编码器模式,可通过 T31C2L 寄存器的 T31SM 位配置: 当 T31SM=001 时,计数器只在通道 2 输入信号 T31_CH2 的边沿计数,计数方向由通 道 1 信号 T31_CH1 的电平控制;当 T31SM=010 时,计数器只在通道 1 输入信号 T31_CH1 的边沿计数,计数方向由通道 2 信号 T31_CH2 的电平控制;当 T31SM=011 时, 计数器在通道 2 输入信号 T31_CH2 和通道 1 输入信号 T31_CH1 的边沿均进行计数, 计数时将出现边沿变化的通道信号作为时钟,计数方向由对方通道信号电平控制。 通过设置 T31PINCL 寄存器的 CH1NP/CH1P 和 CH2NP/CH2P 位,可以选择 T31_CH1 和 T31_CH2 端口的输入信号是否反相,还可以根据实际情况设置输入信号的滤波器时 间。 在编码器模式下,计数器使用 T31_CH1 和 T31_CH2 两个通道输入的信号边沿计数。 计数器启动后(T31C0L 寄存器的 T31EN=1) ,以其中一个通道输入信号做为计数时钟, 时钟信号的上升沿和下降沿均有效,根据另外一个输入信号的电平变化,硬件自动控制 计数方向选择位 DIRS(T31C0L) ,进行递增或递减计数。 在编码器模式下,计数器相当于使用了一个带有方向选择的外部时钟,计数器只在 0 到 T31CNTLD 寄存器的计数重载值之间连续递增或递减计数。编码器模式下,禁止使能外 部时钟源模式 2,两者不能同时工作。 在编码器模式下,计数器会根据外部增量式编码器的速度和方向自动调整计数,计数器 的值反映的是编码器的位置,计数方向与外部相连的传感器旋转的方向相对应。下表列 出了计数器在信号不同输入组合下的计数方式: 计数时钟 T31_CH1 T31_CH2 T31_CH1 和 T31_CH2 另一路信号的电平 T31_CH1 T31_CH2 上升沿 下降沿 上升沿 下降沿 T31_CH2=1 递减 递增 不计数 不计数 T31_CH2=0 递增 递减 不计数 不计数 T31_CH1=1 不计数 不计数 递增 递减 T31_CH1=0 不计数 不计数 递减 递增 1 递减 递增 递增 递减 0 递增 递减 递减 递增 表 6-4 计数方向与编码器信号的关系(通道输入不反相) 外部增量编码器可以直接与芯片连接而不需要外部接口逻辑,但通常会使用比较器将编 码器的差分输出转换为数字信号,这样可增强抗噪声干扰能力。外部增量编码器的第三 个输出端用于指示机械零点,可以连接到芯片的一个外部中断输入管脚,用于触发一次 计数器复位。 V1.8 版权所有©上海东软载波微电子有限公司 117/248 http://www.essemi.com ES7P169C 数据手册 T31_CH1 T31_CH2 计数器 递增 递减 图 6-31 编码器模式下的计数器计数时序(T31SM=010,通道输入不反相) 6. 4. 12. 2 复位模式 设置 T31C2L 寄存器的 T31SM=100,可配置为复位模式。在复位模式下,计数器使用 内部 Fosc 时钟计数或外部时钟源模式 2 计数,发生触发输入事件时,计数器和预分频 器可以被重新初始化,预分频计数器会被清零(预分频比不受影响) ,递增计数时计数器 也会被清零,递减计数时,计数器会重载计数寄存器的值;同时如果 T31C0L 寄存器的 UES=0,还会产生一个更新事件,使所有的可重载寄存器(T31CNTLD,T31CHnR)都 被重载初始化。 在复位模式下,对触发输入信号,可通过 T31C2L 寄存器的 TRGS,选择触发信号源; 通过 T31PINC 寄存器的 CHnNP/CHnP 位或 T31C2H 寄存器的 ETEG 位,选择触发信 号的有效边沿;还可以根据实际需要,配置输入信号的滤波时间。 设置 T31C0L 寄存器的 T31EN=1,启动计数,触发输入产生时,计数器被清零并从 0 重 新开始计数,同时置起触发中断标志位 TRGIF(T31IF),如果此时中断使能位 TRGIE=1,则会产生一个中断请求。 T31CLK T31CNT ………… 0 1 2 3 ………… 2A 0 1 2 3 4 T31EN T31_CH2 置起触 发中断 TRGIF 图 6-32 复位模式下的计数时序(T31CNTLD=0x3F,通道 2 端口信号上升沿触发) 注:在外部时钟源模式 2 工作时,可以同时使能复位模式,这时 T31_ETR 信号作为外部时钟输入,需选择另一个 输入作为复位模式的触发信号,禁止将 T31_ETR 作为触发信号(即 TRGS 不能设置为 111) 。 V1.8 版权所有©上海东软载波微电子有限公司 118/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 12. 3 门控模式 设置 T31C2L 寄存器的 T31SM=101,可配置为门控模式。在门控模式下,计数器使用 内部 Fosc 时钟计数或外部时钟源模式 2 计数,计数器的计数可由触发输入信号作为门 控信号,来使能或停止(计数器使能位 T31EN 仍需保持为 1) 。 在门控模式下,对触发输入信号,可通过 T31C2L 寄存器的 TRGS,选择触发信号源; 通过 T31PINC 寄存器的 CHnNP/CHnP 位或 T31C2H 寄存器的 ETEG 位,选择触发信 号的有效电平,触发信号电平有效时计数器保持计数,否则暂停计数;还可以根据实际 需要,配置输入信号的滤波时间。 设置 T31C0L 寄存器的 T31EN=1,启动计数,只要门控信号电平有效,计数器会正常计 数,一旦门控信号电平无效则停止计数。当计数器停止计数或重新开始计数时,都会置 起触发中断标志位 TRGIF(T31IF) ,如果此时中断使能位 TRGIE=1,则会产生一个 中断请求。 T31CLK T31CNT ………… 0 1 2 3 4 5 6 T31EN T31_CH2 置起触 发中断 置起触 发中断 TRGIF 图 6-33 门控模式下的计数时序(T31CNTLD=0x3F,通道 2 端口门控信号高电平有效) 注:在外部时钟源模式 2 工作时,可以同时使能门控模式,这时 T31_ETR 信号作为外部时钟输入,需选择另一个 输入作为门控模式的门控信号,禁止将 T31_ETR 作为门控信号(即 TRGS 不能设置为 111) 。 6. 4. 12. 4 触发模式 设置 T31C2L 寄存器的 T31SM=110,可配置为触发模式,在触发模式下,计数器使用内 部 Fosc 时钟计数或外部时钟源模式 2 计数,计数器的启动可由触发输入信号的有效边 沿来使能,硬件自动设置 T31EN=1,无需软件设置。 在触发模式下,对触发输入信号,可通过 T31C2L 寄存器的 TRGS,选择触发信号源; 通过 T31PINC 寄存器的 CHnNP/CHnP 位或 T31C2H 寄存器的 ETEG 位,选择触发信 号的有效边沿;还可以根据实际需要,配置输入信号的滤波时间。 触发输入产生时,硬件自动设置 T31EN=1,启动计数器计数,同时置起触发中断标志位 TRGIF(T31IF) ,如果此时中断使能位 TRGIE=1,则会产生一个中断请求。 V1.8 版权所有©上海东软载波微电子有限公司 119/248 http://www.essemi.com ES7P169C 数据手册 T31CLK ………… 9 8 T31CNT T31_CH2 A C B D 置起触 发中断 TRGIF 图 6-34 触发模式下的计数时序(T31CNTLD=0x3F,通道 2 端口信号上升沿触发) 注:在外部时钟源模式 2 工作时,可以同时使能触发模式,这时 T31_ETR 信号作为外部时钟输入,需选择另一个 输入作为触发模式的触发信号,禁止将 T31_ETR 作为触发信号(即 TRGS 不能设置为 111) 。 6. 4. 13 ICD调试暂停模式下的PWM输出 在 ICD 调试模式下,需软件固定设置 HTOEOFF(T31C0H)=1,否则 PWM 输出 可能会异常。在 ICD 调试暂停时,PWM 输出由 HALT_PWM(PWEN)位决定。 当设置 HALT_PWM=1 时,在调试暂停时,计数器停止计数,并关断 PWM 输出,此时 PWM 端口的输入/输出状态,由相应的端口输入输出控制寄存器 PxT 的对应控制位决定, 如果 PxT 配置端口为输入,则相应的端口为高阻态,如果 PxT 配置端口为输出,则相应 的端口电平由端口电平状态寄存器 Px 决定。 当设置 HALT_PWM=0 时,在调试暂停时,计数器仍继续计数,保持 PWM 输出。 6. 4. 14 特殊功能寄存器 6. 4. 14. 1 计数器寄存器低 8 位(T31CNTL) T31CNTL:计数器寄存器低 8 位(T31CNTL) Bit 7 6 5 4 3 Name 2 1 0 CNT R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 3 2 1 0 Bit 7~0 CNT:计数值低 8 位 6. 4. 14. 2 计数器寄存器高 8 位(T31CNTH) T31CNTH:计数器寄存器高 8 位(T31CNTH) Bit 7 6 5 4 Name CNT R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 CNT:计数值高 8 位 V1.8 版权所有©上海东软载波微电子有限公司 120/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 14. 3 预分频寄存器低 8 位(T31PRSL) T31PRSL:预分频寄存器低 8 位(T31PRSL) Bit 7 6 5 4 3 Name 2 1 0 PRS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 3 2 1 0 Bit 7~0 PRS:预分频值低 8 位 6. 4. 14. 4 预分频寄存器高 8 位(T31PRSH) T31PRSH:预分频寄存器高 8 位(T31PRSH) Bit 7 6 5 4 Name PRS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 2 1 0 Bit 7~0 PRS:预分频值高 8 位 注:计数器使用预分频后的时钟计数,预分频比为 PRS + 1。 6. 4. 14. 5 计数器重载寄存器低 8 位(T31CNTLDL) T31CNTLDL:计数器重载寄存器低 8 位(T31CNTLDL) Bit 7 6 5 4 Name 3 CNTLD R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 1 1 1 1 1 1 1 1 2 1 0 Bit 7~0 CNTLD:计数器计数重载值低 8 位 6. 4. 14. 6 计数器重载寄存器高 8 位(T31CNTLDH) T31CNTLDH:计数器重载寄存器高 8 位(T31CNTLDH) Bit 7 6 5 Name 4 3 CNTLD R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 1 1 1 1 1 1 1 1 Bit 7~0 CNTLD:计数器计数重载值高 8 位 注 1:发生更新事件时,T31CNTLD 的值会被自动重载,对计数器重新初始化,当 T31CNTLD =0 时,计数 器重新初始化后,不再继续计数; 注 2:对寄存器 T31CNTLD 的写操作,需要先写高 8 位寄存器 T31CNTLDH,再写低 8 位寄存器 T31CNTLDL。 V1.8 版权所有©上海东软载波微电子有限公司 121/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 14. 7 后分频寄存器(T31POS) T31POS:后分频寄存器(T31POS) Bit 7 6 5 4 3 Name 2 1 0 POS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 2 1 0 Bit 7~0 POS:后分频值 6. 4. 14. 8 通道 1 捕捉/比较寄存器低 8 位(T31CH1RL) T31CH1RL:通道 1 捕捉/比较寄存器 1 低 8 位(T31CH1RL) Bit 7 6 5 4 Name 3 CH1R R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 2 1 0 Bit 7~0 CH1R:通道 1 捕捉/比较值低 8 位 6. 4. 14. 9 通道 1 捕捉/比较寄存器高 8 位(T31CH1RH) T31CH1RH:通道 1 捕捉/比较寄存器高 8 位(T31CH1RH) Bit 7 6 5 4 Name 3 CH1R R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 CH1R:通道 1 捕捉/比较值高 8 位 注:对寄存器 T31CH1R 的写操作,需要先写高 8 位寄存器 T31CH1RH,再写低 8 位寄存器 T31CH1RL。 6. 4. 14. 10 通道 2 捕捉/比较寄存器低 8 位(T31CH2RL) T31CH2RL:通道 2 捕捉/比较寄存器低 8 位(T31CH2RL) Bit 7 6 5 4 Name 3 2 1 0 CH2R R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 CH2R:通道 2 捕捉/比较值低 8 位 V1.8 版权所有©上海东软载波微电子有限公司 122/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 14. 11 通道 2 捕捉/比较寄存器高 8 位(T31CH2RH) T31CH2RH:通道 2 捕捉/比较寄存器高 8 位(T31CH2RH) Bit 7 6 5 4 Name 3 2 1 0 CH2R R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 CH2R:通道 2 捕捉/比较值高 8 位 注:对寄存器 T31CH2R 的写操作,需要先写高 8 位寄存器 T31CH2RH,再写低 8 位寄存器 T31CH2RL。 6. 4. 14. 12 通道 3 捕捉/比较寄存器低 8 位(T31CH3RL) T31CH3RL:通道 3 捕捉/比较寄存器低 8 位(T31CH3RL) Bit 7 6 5 4 Name 3 2 1 0 CH3R R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 2 1 0 Bit 7~0 CH3R:通道 3 捕捉/比较值低 8 位 6. 4. 14. 13 通道 3 捕捉/比较寄存器高 8 位(T31CH3RH) T31CH3RH:通道 3 捕捉/比较寄存器高 8 位(T31CH3RH) Bit 7 6 5 4 Name 3 CH3R R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 CH3R:通道 3 捕捉/比较值高 8 位 注:对寄存器 T31CH3R 的写操作,需要先写高 8 位寄存器 T31CH3RH,再写低 8 位寄存器 T31CH3RL。 6. 4. 14. 14 通道 4 捕捉/比较寄存器低 8 位(T31CH4RL) T31CH4RL:通道 4 捕捉/比较寄存器低 8 位(T31CH4RL) Bit 7 6 5 4 Name 3 2 1 0 CH4R R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 CH4R:通道 4 捕捉/比较值低 8 位 V1.8 版权所有©上海东软载波微电子有限公司 123/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 14. 15 通道 4 捕捉/比较寄存器高 8 位(T31CH4RH) T31CH4RH:通道 4 捕捉/比较寄存器高 8 位(T31CH4RH) Bit 7 6 5 4 Name 3 2 1 0 CH4R R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 CH4R:通道 4 捕捉/比较值高 8 位 注:对寄存器 T31CH4R 的写操作,需要先写高 8 位寄存器 T31CH4RH,再写低 8 位寄存器 T31CH4RL。 6. 4. 14. 16 死区延时寄存器(T31DLYT) T31DLYT:死区延时寄存器(T31DLYT) Bit 7 6 5 4 Name 3 2 1 0 DLYT R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 DLYT:死区延时设置值 DLYT=0xx:死区时间为 DLYT x Tdfck DLYT=10x:死区时间为(128+2 x DLYT)x Tdfck DLYT=110:死区时间为(256+8 x DLYT)x Tdfck DLYT=111:死区时间为(512+16 x DLYT)x Tdfck 注 1:当 T31CHBK 寄存器的 PROTS=01,10 或 11(设置为保护等级 1,2 或 3) ,T31DLYT 寄存器将不能被改写; 注 2:Tdfck 为数字滤波器工作时钟周期,由 DFCKS(T31C0H)位设置。 6. 4. 14. 17 控制寄存器 0 低 8 位(T31C0L) T31C0L:控制寄存器 0 低 8 位(T31C0L) Bit 7 Name RLBE R/W R/W R/W POR 0 0 Bit 7 Bit 6~5 6 5 4 3 2 1 0 DIRS SPME UES UED T31EN R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 CMC RLBE:计数重载寄存器缓冲使能位 0:禁止,T31CNTLD 寄存器没有缓冲,写入后立即生效 1:使能,T31CNTLD 寄存器有缓冲,在下一个更新事件时生效 CMC:中心对齐模式控制位(推荐只在 T31EN=0 时改写该位) 00:普通模式,计数器根据方向位 DIRS 递增或递减计数,由软件控制。 01:中心对齐模式 1,计数器以交替方式递增或递减计数。仅当计数器递减计数时, 多功能中断标志位 MIFn 才会被置 1(对应通道需配置为输出) 。 10:中心对齐模式 2,计数器以交替方式递增或递减计数。仅当计数器递增计数时, 多功能中断标志位 MIFn 才会被置 1。 V1.8 版权所有©上海东软载波微电子有限公司 124/248 http://www.essemi.com ES7P169C 数据手册 11:中心对齐模式 3,计数器以交替方式递增或递减计数。当计数器递增或递减计 数时,多功能中断标志位 MIFn 均会被置 1。 DIRS:计数器计数方向选择位(中心对齐和编码器模式下,该位只读) 0:递增计数 1:递减计数 SPME:单脉冲模式使能位 0:禁止,当发生更新事件时,计数器不停止计数 1:使能,当发生下一次更新事件时,T31EN 位被清 0,计数器停止计数 UES:更新事件源选择位 0:计数器上溢出/下溢出,软件设置 UPT=1,从模式控制器产生的更新,可以产生 更新事件 1:计数器上溢出/下溢出,可以产生更新事件 UED:更新事件禁止位 0:不禁止产生更新事件 1:禁止产生更新事件 T31EN:T31 计数器使能位 0:禁止 1:使能 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 注 1:当计数器使能时(T31EN=1) ,禁止从普通模式转换到中心对齐模式; 注 2:当计数器配置为中心对齐模式或编码器模式时,DIRS 位只可读,无法软件改写; 注 3:对 T31EN 位,在触发模式下由硬件自动置 1,无需通过软件置 1。 6. 4. 14. 18 控制寄存器 0 高 8 位(T31C0H) T31C0H:控制寄存器 0 高 8 位(T31C0H) Bit 7 6 5 4 3 2 Name T31PWMCKS HTOEOFF — — — — R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5~2 Bit 1~0 1 0 DFCKS T31PWMCKS:PWM 模式计数时钟源选择位 0:系统时钟 1:INTHRC 时钟 HTOEOFF:在 ICD 调试时,PWM 状态控制(非 ICD 调试模式下,该位无效) 0:预留,禁止使用 1:在 ICD 调试模式下,该位需软件固定设置为 1,否则 PWM 输出可能会异常 未使用,需软件固定设置为 0 DFCKS:死区发生器和数字滤波器工作时钟频率 Fdfck 选择位 00:Fosc 01:Fosc/2 10:Fosc/4 11:预留,禁止使用 注:PWM 互补输出信号的死区发生器,外部触发输入 T31_ETR 和各通道输入信号的数字滤波器,均基于计数器内 部时钟 Fosc 或其分频后的时钟进行工作。 V1.8 版权所有©上海东软载波微电子有限公司 125/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 14. 19 控制寄存器 1 低 8 位(T31C1L) T31C1L:控制寄存器 1 低 8 位 (T31C1L) Bit 7 Name — R/W R/W R/W R/W POR 0 0 0 Bit 7 Bit 6~4 Bit 3 Bit 2 Bit 1 Bit 0 6. 4. 14. 20 6 5 4 3 2 1 0 — CHCUS — CHCBE R/W — R/W — R/W 0 0 0 0 0 ADTRGS 未使用,需软件固定设置为 0 ADTRGS:ADC 触发源选择位,触发后启动 ADC 转换 000:计数器被重新初始化:设置 T31EVG 寄存器的 UPT=1 产生更新事件;或在 复位模式下发生触发输入事件 001:计数器被使能计数:设置 T31C0L 寄存器的 T31EN=1 使能计数;或在触发模 式下,触发输入信号使能计数;或在门控模式下使能计数 010:更新事件的产生 011:通道 1 的多功能中断标志 MIF1 100:通道 1 发生了比较匹配 101:通道 2 发生了比较匹配 110:通道 3 发生了比较匹配 111:通道 4 发生了比较匹配 未使用,需软件固定设置为 0 CHCUS:互补通道控制位更新选择位(仅在互补输出模式下,且 CHCBE=1 时有效) 0:只在 CHUT=1 触发互补通道更新事件时,这些控制位才会被更新 1:在 CHUT=1 或触发信号出现上升沿时,这些控制位均会被更新 未使用,需软件固定设置为 0 CHCBE:通道控制位缓冲使能位(仅在互补输出模式下有效) 0:CHnE,CHnNE 和 CHnOM 无缓冲,改写后立即生效 1:CHnE,CHnNE 和 CHnOM 有缓冲,改写后不立即生效,取决于 CHCUS 的设 置 控制寄存器 1 高 8 位(T31C1H) T31C1H:控制寄存器 1 高 8 位(T31C1H) Bit 7 6 5 4 3 2 1 0 Name — ONS4 ONS3N ONS3 ONS2N ONS2 ONS1N ONS1 R/W — R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 未使用,需软件固定设置为 0 ONS4:通道 4 输出的空闲状态选择位 0:空闲时输出 0 1:空闲时输出 1 ONS3N:通道 3 互补输出的空闲状态选择位 0:空闲时输出 0 1:空闲时输出 1 ONS3:通道 3 输出的空闲状态 3 选择位 V1.8 版权所有©上海东软载波微电子有限公司 126/248 http://www.essemi.com ES7P169C 数据手册 Bit 3 Bit 2 Bit 1 Bit 0 0:空闲时输出 0 1:空闲时输出 1 ONS2N:通道 2 互补输出的空闲状态选择位 0:空闲时输出 0 1:空闲时输出 1 ONS2:通道 2 输出的空闲状态选择位 0:空闲时输出 0 1:空闲时输出 1 ONS1N:通道 1 互补输出的空闲状态选择位 0:空闲时输出 0 1:空闲时输出 1 ONS1:通道 1 输出的空闲状态选择位 0:空闲时输出 0 1:空闲时输出 1 注 1:设置 T31CHBK 寄存器的 CHOE=0,NOFFS=1 后,通道输出空闲状态; 注 2:设置 T31CHBK 寄存器的 PROTS 位写保护后,对 T31C1H 寄存器中的各位无法再改写。 6. 4. 14. 21 控制寄存器 2 低 8 位(T31C2L) T31C2L:控制寄存器 2 低 8 位(T31C2L) Bit 7 Name — R/W R/W R/W R/W R/W — R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6~4 Bit 3 Bit 2~0 6 5 4 TRGS 3 2 COCE 1 0 T31SM 未使用,需软件固定设置为 0 TRGS:触发源选择位,被选触发源作为触发信号,用来同步计数器 000~011:保留 100:通道 1 输入脉冲信号边沿(上升沿和下降沿均有效,可通过 CH1IOS 位选择 通道输入端口) 101:通道 1 输入信号(支持输入滤波,可通过 CH1IOS 位选择通道输入端口) 110:通道 2 输入信号(支持输入滤波,可通过 CH2IOS 位选择通道输入端口) 111:外部触发输入 T31_ETR(支持输入滤波和预分频) COCE:所有通道比较器输出清 0 总使能位 0:禁止 1:使能,外部触发输入信号 T31_ETR 为高电平时,如果 CHnCOCE=1,则对应 通道的比较器输出可被清 0 T31SM:T31 从模式选择位 000:禁止从模式,计数器使用系统时钟 Fosc 内部时钟源计数(ECM2E=0)或外 部时钟源模式 2 计数(ECM2E=1) 001:编码器模式 1,计数时钟为通道 2 端口 T31_CH2 信号的上升沿和下降沿,计 数方向由通道 1 端口 T31_CH1 电平控制 010:编码器模式 2,计数时钟为通道 1 端口 T31_CH1 信号的上升沿和下降沿,计 V1.8 版权所有©上海东软载波微电子有限公司 127/248 http://www.essemi.com ES7P169C 数据手册 数方向由通道 2 端口 T31_CH2 电平控制 011:编码器模式 3,计数时钟为通道 1 端口 T31_CH1 和通道 2 端口 T31_CH2 信 号的上升沿和下降沿,其中任一个输入信号出现有效边沿时均会计数,计数 方向由另一个输入信号的电平控制 100:复位模式,在触发信号的上升沿重新初始化计数器,并更新寄存器 101:门控模式,当触发信号为高电平时,计数器进行计数,为低电平时,计数器 停止计数并保持 110:触发模式,计数器由触发信号的上升沿使能并启动计数 111:外部时钟源模式 1,计数器时钟为触发信号,在上升沿计数 注 1:为了避免错误边沿检测,建议在触发信号不工作时(如 T31SM=000)选择触发源; 注 2:使用门控模式时,不能把通道 1 端口输入脉冲边沿作为触发信号(TRGS=100) ,因这时的触发信号只是一个 脉冲信号,不是门控模式所需的电平信号; 注 3:当选择外部输入信号时,触发信号的有效边沿与外部输入信号的极性设置有关; 注 4:编码器模式下,用作计数时钟和计数方向控制的通道端口输入信号,均可以通过对应的 CHnNP/CHnP 位设置 输入极性。 6. 4. 14. 22 控制寄存器 2 高 8 位(T31C2H) T31C2H:控制寄存器 2 高 8 位(T31C2H) Bit 7 6 Name ETEG ECM2E R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5~4 Bit 3~0 5 4 3 ETPRS 2 1 0 ETFS ETEG:外部触发信号边沿选择位 0:上升沿 1:下降沿 ECM2E:外部时钟源模式 2 使能位 0:禁止 1:使能,计数器时钟为外部输入 T31_ETR 信号的上升沿或下降沿 ETPRS:外部输入时钟 T31_ETR 预分频比选择位 00:1:1 01:1:2 10:1:4 11:1:8 ETFS:外部输入时钟 T31_ETR 的滤波时间选择位 0000:无滤波 0001:2*Tosc(Tosc 为系统时钟周期) 0010:4*Tosc 0011:8*Tosc 0100:12*Tdfck(Tdfck 为数字滤波器工作时钟周期,由 DFCKS 位设置) 0101:16*Tdfck 0110:24*Tdfck 0111:32*Tdfck V1.8 版权所有©上海东软载波微电子有限公司 128/248 http://www.essemi.com ES7P169C 数据手册 1000:48*Tdfck 1001:64*Tdfck 1010:80*Tdfck 1011:96*Tdfck 1100:128*Tdfck 1101:160*Tdfck 1110:192*Tdfck 1111:256*Tdfck 注 1:外部时钟源模式 2,等同于在外部时钟源模式 1 时,将 T31_ETR 信号作为触发信号(TRGS=111) ; 注 2: 如果外部时钟源模式 1 和外部时钟源模式 2 同时使能, 外部时钟源模式 2 优先级高, 则外部时钟输入为 T31_ETR 信号; 注 3:外部输入时钟 T31_ETR 的频率不能超过计数器时钟频率的 1/4,可使用预分频来降低 T31_ETR 的频率。 6. 4. 14. 23 通道 1 控制寄存器(T31CH1C) 比较器模式 T31CH1C:通道 1 控制寄存器(T31CH1C) Bit 7 Name CH1COCE R/W R/W R/W R/W POR 0 0 0 Bit 7 Bit 6~4 Bit 3 Bit 2 6 5 4 3 2 CH1OBE CH1OFE R/W R/W R/W R/W R/W 0 0 0 0 0 CH1OM 1 0 CH1IOS CH1COCE:通道 1 比较器输出清 0 使能位(仅在总清 0 使能位 COCE=1 时有效) 0:禁止 1:使能,当外部触发输入信号 T31_ETR 为高电平时,比较器输出将被清 0 CH1OM:通道 1 比较器和 PWM 工作模式选择位 000:比较器模式,匹配时不改变端口输出 001:比较器模式,匹配时比较器输出 1,通道端口输出电平取决于 CH1P 位 010:比较器模式,匹配时比较器输出 0,通道端口输出电平取决于 CH1P 位 011:比较器模式,匹配时比较器输出翻转,通道端口输出电平翻转 100:比较器输出强制为 0,通道端口输出电平取决于 CH1P 位 101:比较器输出强制为 1,通道端口输出电平取决于 CH1P 位 110:PWM 模式 1,递增计数过程中,当 T31CNTT31CH1R 时,比较器输出 0,否则输 出 1。通道端口输出电平取决于 CH1P 位 111:PWM 模式 2,递增计数过程中,当 T31CNTT31CH1R 时,比较器输出 1,否则输 出 0。通道端口输出电平取决于 CH1P 位 CH1OBE:通道 1 比较寄存器缓冲使能位 0:禁止,T31CH1R 寄存器改写后的值将立即生效 1:使能,T31CH1R 寄存器有缓冲,改写后的值不会立即生效,直到下一次更新事 件发生时才会生效。PWM 模式下建议使能该位,以保证 PWM 波形完整 CH1OFE:通道 1 比较输出加速使能位(仅在 PWM1 或 PWM2 模式下有效) V1.8 版权所有©上海东软载波微电子有限公司 129/248 http://www.essemi.com ES7P169C 数据手册 Bit 1~0 0:禁止,检测到外部触发输入信号后,通道输出端口仍然需要等到计数器的计数 值与比较寄存器匹配后,才能根据具体设置产生所需的输出电平 1:使能,检测到外部触发输入信号后,通道输出端口会立即根据发生了比较匹配 后的具体设置,产生所需的输出电平,而不需要等待计数器的计数值与比较寄存器 真正匹配,这样可将通道输出与触发输入信号之间的延迟时间降为最短 CH1IOS:通道 1 输入/输出选择位(仅在 CH1E=0,通道 1 关闭时可写) 00:通道 1 为输出,则在通道 1 使能后,通道 1 端口 T31_CH1 被设置为输出 01:通道 1 为输入,使用通道 1 端口 T31_CH1 作为输入 10:通道 1 为输入,使用通道 2 端口 T31_CH2 作为输入 11:通道 1 为输入,固定输入 0 注 1:当 T31CHBK 寄存器的 PROTS=11(设置为保护等级 3) ,且 CH1IOS=00(通道为输出模式)时,CH1OM 和 CH1OBE 位将不能被改写; 注 2:在比较器和 PWM 模式下,通道 1 需要设置为输出,CH1IOS=00。 捕捉器模式 T31CH1C:通道 1 控制寄存器(T31CH1C) Bit 7 Name 6 5 4 CH1IFS 3 2 CH1IM 1 0 CH1IOS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 Bit 3~2 Bit 1~0 CH1IFS:通道 1 捕捉输入滤波时间选择位 0000:无滤波 0001:2*Tosc(Tosc 为系统时钟周期) 0010:4*Tosc 0011:8*Tosc 0100:12*Tdfck(Tdfck 为数字滤波器工作时钟周期) 0101:16*Tdfck 0110:24*Tdfck 0111:32*Tdfck 1000:48*Tdfck 1001:64*Tdfck 1010:80*Tdfck 1011:96*Tdfck 1100:128*Tdfck 1101:160*Tdfck 1110:192*Tdfck 1111:256*Tdfck CH1IM:通道 1 捕捉器工作模式选择位 00:每 1 个输入信号边沿,捕捉一次 01:每 2 个输入信号边沿,捕捉一次 10:每 4 个输入信号边沿,捕捉一次 11:每 8 个输入信号边沿,捕捉一次 CH1IOS:通道 1 输入/输出选择位(仅在 CH1E=0,通道 1 关闭时可写) V1.8 版权所有©上海东软载波微电子有限公司 130/248 http://www.essemi.com ES7P169C 数据手册 00:通道 1 为输出,则在通道 1 使能后,通道 1 端口 T31_CH1 被设置为输出 01:通道 1 为输入,使用通道 1 端口 T31_CH1 作为输入 10:通道 1 为输入,使用通道 2 端口 T31_CH2 作为输入 11:通道 1 为输入,固定输入 0 注:在捕捉器模式下,通道 1 需要设置为输入,CH1IOS=01 或 10。 6. 4. 14. 24 通道 2 控制寄存器(T31CH2C) 比较器模式 T31CH2C:通道 2 控制寄存器(T31CH2C) Bit 7 Name CH2COCE R/W R/W R/W R/W POR 0 0 0 Bit 7 Bit 6~4 Bit 3 Bit 2 Bit 1~0 6 5 4 3 2 CH2OBE CH2OFE R/W R/W R/W R/W R/W 0 0 0 0 0 CH2OM 1 0 CH2IOS CH2COCE:通道 2 比较输出清 0 使能位(仅在总清 0 使能位 COCE=1 时有效) 0:禁止 1:使能,当外部触发输入信号 T31_ETR 为高电平时,比较器输出将被清 0 CH2OM:通道 2 比较器和 PWM 工作模式选择位 000:比较器模式,匹配时不改变端口输出 001:比较器模式,匹配时比较器输出 1,通道端口输出电平取决于 CH2P 位 010:比较器模式,匹配时比较器输出 0,通道端口输出电平取决于 CH2P 位 011:比较器模式,匹配时比较器输出翻转,通道端口输出电平翻转 100:比较器输出强制为 0,通道端口输出电平取决于 CH2P 位 101:比较器输出强制为 1,通道端口输出电平取决于 CH2P 位 110:PWM 模式 1,递增计数过程中,当 T31CNTT31CH2R 时,比较器输出 0,否则输 出 1。通道端口输出电平取决于 CH2P 位 111:PWM 模式 2,递增计数过程中,当 T31CNTT31CH2R 时,比较器输出 1,否则输 出 0。通道端口输出电平取决于 CH2P 位 CH2OBE:通道 2 比较寄存器缓冲使能位 0:禁止,T31CH2R 寄存器改写后的值将立即生效 1:使能,T31CH2R 寄存器有缓冲,改写后的值不会立即生效,直到下一次更新事 件发生时才会生效。PWM 模式下建议使能该位,以保证 PWM 波形完整 CH2OFE:通道 2 比较比较输出加速使能位(仅在 PWM1 或 PWM2 模式下有效) 0:禁止,检测到外部触发输入信号后,通道输出端口仍然需要等到计数器的计数 值与比较寄存器匹配后,才能根据具体设置产生所需的输出电平 1:使能,检测到外部触发输入信号后,通道输出端口会立即根据发生了比较匹配 后的具体设置,产生所需的输出电平,而不需要等待计数器的计数值与比较寄存器 真正匹配,这样可将通道输出与触发输入信号之间的延迟时间降为最短 CH2IOS:通道 2 输入/输出选择位(仅在 CH2E=0,通道 2 关闭时可写) 00:通道 2 为输出,则在通道 2 使能后,通道 2 端口 T31_CH2 被设置为输出 01:通道 2 为输入,使用通道 2 端口 T31_CH2 作为输入 V1.8 版权所有©上海东软载波微电子有限公司 131/248 http://www.essemi.com ES7P169C 数据手册 10:通道 2 为输入,使用通道 1 端口 T31_CH1 作为输入 11:通道 2 为输入,固定输入 0 注 1:当 T31CHBK 寄存器的 PROTS=11(设置为保护等级 3) ,且 CH2IOS=00(通道为输出模式)时,CH2OM 和 CH2OBE 位将不能被改写; 注 2:在比较器和 PWM 模式下,通道 2 需要设置为输出,CH2IOS=00。 捕捉器模式 T31CH2C:通道 2 控制寄存器(T31CH2C) Bit 7 Name 6 5 4 3 CH2IFS 2 CH2IM 1 0 CH2IOS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 Bit 3~2 Bit 1~0 CH2IFS:通道 2 捕捉输入滤波时间选择位 0000:无滤波 0001:2*Tosc(Tosc 为系统时钟周期) 0010:4*Tosc 0011:8*Tosc 0100:12*Tdfck(Tdfck 为数字滤波器工作时钟周期) 0101:16*Tdfck 0110:24*Tdfck 0111:32*Tdfck 1000:48*Tdfck 1001:64*Tdfck 1010:80*Tdfck 1011:96*Tdfck 1100:128*Tdfck 1101:160*Tdfck 1110:192*Tdfck 1111:256*Tdfck CH2IM:通道 2 捕捉器工作模式选择位 00:每 1 个输入信号边沿,捕捉一次 01:每 2 个输入信号边沿,捕捉一次 10:每 4 个输入信号边沿,捕捉一次 11:每 8 个输入信号边沿,捕捉一次 CH2IOS:通道 2 输入/输出选择位(仅在 CH2E=0,通道 2 关闭时可写) 00:通道 2 为输出,则在通道 2 使能后,通道 2 端口 T31_CH2 被设置为输出 01:通道 2 为输入,使用通道 2 端口 T31_CH2 作为输入 10:通道 2 为输入,使用通道 1 端口 T31_CH1 作为输入 11:通道 2 为输入,固定输入 0 注:在捕捉器模式下,通道 2 需要设置为输入,CH2IOS=01 或 10。 V1.8 版权所有©上海东软载波微电子有限公司 132/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 14. 25 通道 3 控制寄存器(T31CH3C) 比较器模式 T31CH3C:通道 3 控制寄存器(T31CH3C) Bit 7 Name CH3COCE R/W R/W R/W R/W POR 0 0 0 Bit 7 Bit 6~4 Bit 3 Bit 2 Bit 1~0 6 5 4 3 2 CH3OBE CH3OFE R/W R/W R/W R/W R/W 0 0 0 0 0 CH3OM 1 0 CH3IOS CH3COCE:通道 3 比较器输出清 0 使能位(仅在总清 0 使能位 COCE=1 时有效) 0:禁止 1:使能,当外部触发输入信号 T31_ETR 为高电平时,比较器输出将被清 0 CH3OM:通道 3 比较器和 PWM 工作模式选择位 000:比较器模式,匹配时不改变端口输出 001:比较器模式,匹配时比较器输出 1,通道端口输出电平取决于 CH3P 位 010:比较器模式,匹配时比较器输出 0,通道端口输出电平取决于 CH3P 位 011:比较器模式,匹配时比较器输出翻转,通道端口输出电平翻转 100:比较器输出强制为 0,通道端口输出电平取决于 CH3P 位 101:比较器输出强制为 1,通道端口输出电平取决于 CH3P 位 110:PWM 模式 1,递增计数过程中,当 T31CNTT31CH3R 时,比较器输出 0,否则输 出 1。通道端口输出电平取决于 CH3P 位 111:PWM 模式 2,递增计数过程中,当 T31CNTT31CH3R 时,比较器输出 1,否则输 出 0。通道端口输出电平取决于 CH3P 位 CH3OBE:通道 3 比较寄存器缓冲使能位 0:禁止,T31CH3R 寄存器改写后的值将立即生效 1:使能,T31CH3R 寄存器有缓冲,改写后的值不会立即生效,直到下一次更新事 件发生时才会生效。PWM 模式下建议使能该位,以保证 PWM 波形完整。 CH3OFE:通道 3 比较输出加速使能位(仅 PWM1 或 PWM2 模式下有效) 0:禁止,检测到外部触发输入信号后,通道输出端口仍然需要等到计数器的计数 值与比较寄存器匹配后,才能根据具体设置产生所需的输出电平 1:使能,检测到外部触发输入信号后,通道输出端口会立即根据发生了比较匹配 后的具体设置,产生所需的输出电平,而不需要等待计数器的计数值与比较寄存器 真正匹配,这样可将通道输出与触发输入信号之间的延迟时间降为最短 CH3IOS:通道 3 输入/输出选择位(仅在 CH3E=0,通道 3 关闭时可写) 00:通道 3 为输出,则在通道 3 使能后,通道 3 端口 T31_CH3 被设置为输出 01:通道 3 为输入,使用通道 3 端口 T31_CH3 作为输入 10:通道 3 为输入,使用通道 4 端口 T31_CH4 作为输入 11:通道 3 为输入,固定输入 0 注 1:当 T31CHBK 寄存器的 PROTS=11(设置为保护等级 3) ,且 CH3IOS=00(通道为输出模式)时,CH3OM 和 CH3OBE 位将不能被改写; 注 2:在比较器和 PWM 模式下,通道 3 需要设置为输出,CH3IOS=00。 V1.8 版权所有©上海东软载波微电子有限公司 133/248 http://www.essemi.com ES7P169C 数据手册 捕捉器模式 T31CH3C:通道 3 控制寄存器(T31CH3C) Bit 7 Name 6 5 4 3 CH3IFS 2 CH3IM 1 0 CH3IOS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 Bit 3~2 Bit 1~0 CH3IFS:通道 3 捕捉输入滤波时间选择位 0000:无滤波 0001:2*Tosc(Tosc 为系统时钟周期) 0010:4*Tosc 0011:8*Tosc 0100:12*Tdfck(Tdfck 为数字滤波器工作时钟周期) 0101:16*Tdfck 0110:24*Tdfck 0111:32*Tdfck 1000:48*Tdfck 1001:64*Tdfck 1010:80*Tdfck 1011:96*Tdfck 1100:128*Tdfck 1101:160*Tdfck 1110:192*Tdfck 1111:256*Tdfck CH3IM:通道 3 捕捉器工作模式选择位 00:每 1 个输入信号边沿,捕捉一次 01:每 2 个输入信号边沿,捕捉一次 10:每 4 个输入信号边沿,捕捉一次 11:每 8 个输入信号边沿,捕捉一次 CH3IOS通道 3 输入/输出选择位(仅在 CH3E=0,通道 3 关闭时可写) 00:通道 3 为输出,则在通道 3 使能后,通道 3 端口 T31_CH3 被设置为输出 01:通道 3 为输入,使用通道 3 端口 T31_CH3 作为输入 10:通道 3 为输入,使用通道 4 端口 T31_CH4 作为输入 11:通道 3 为输入,固定输入 0 注:在捕捉器模式下,通道 3 需要设置为输入,CH3IOS=01 或 10。 6. 4. 14. 26 通道 4 控制寄存器(T31CH4C) 比较器模式 T31CH4C:通道 4 控制寄存器(T31CH4C) Bit 7 6 5 Name CH4COCE R/W R/W R/W R/W POR 0 0 0 4 3 2 CH4OBE CH4OFE R/W R/W R/W R/W R/W 0 0 0 0 0 CH4OM V1.8 版权所有©上海东软载波微电子有限公司 1 0 CH4IOS 134/248 http://www.essemi.com ES7P169C 数据手册 Bit 7 Bit 6~4 Bit 3 Bit 2 Bit 1~0 CH4COCE:通道 4 比较器输出清 0 使能位(仅在总清 0 使能位 COCE=1 时有效) 0:禁止 1:使能,当外部触发输入信号 T31_ETR 为高电平时,比较器输出将被清 0 CH4OM:通道 4 比较器和 PWM 工作模式选择位 000:比较器模式,匹配时不改变端口输出 001:比较器模式,匹配时比较器输出 1,通道端口输出电平取决于 CH4P 位 010:比较器模式,匹配时比较器输出 0,通道端口输出电平取决于 CH4P 位 011:比较器模式,匹配时比较器输出翻转,通道端口输出电平翻转 100:比较器输出强制为 0,通道端口输出电平取决于 CH4P 位 101:比较器输出强制为 1,通道端口输出电平取决于 CH4P 位 110:PWM 模式 1,递增计数过程中,当 T31CNTT31CH4R 时,比较器输出 0,否则输 出 1。通道端口输出电平取决于 CH4P 位 111:PWM 模式 2,递增计数过程中,当 T31CNTT31CH4R 时,比较器输出 1,否则输 出 0。通道端口输出电平取决于 CH4P 位 CH4OBE:通道 4 比较寄存器缓冲使能位 0:禁止,T31CH4R 寄存器改写后的值将立即生效 1:使能,T31CH4R 寄存器有缓冲,改写后的值不会立即生效,直到下一次更新事 件发生时才会生效。PWM 模式下建议使能该位,以保证 PWM 波形完整 CH4OFE:通道 4 比较输出加速使能位(仅 PWM1 或 PWM2 模式下有效) 0:禁止,检测到外部触发输入信号后,通道输出端口仍然需要等到计数器的计数 值与比较寄存器匹配后,才能根据具体设置产生所需的输出电平 1:使能,检测到外部触发输入信号后,通道输出端口会立即根据发生了比较匹配 后的具体设置,产生所需的输出电平,而不需要等待计数器的计数值与比较寄存器 真正匹配,这样可将通道输出与触发输入信号之间的延迟时间降为最短 CH4IOS:通道 4 输入/输出选择位(仅在 CH4E=0,通道 4 关闭时可写) 00:通道 4 为输出,则在通道 4 使能后,通道 4 端口 T31_CH4 被设置为输出 01:通道 4 为输入,使用通道 4 端口 T31_CH4 作为输入 10:通道 4 为输入,使用通道 3 端口 T31_CH3 作为输入 11:通道 4 为输入,固定输入 0 注 1:当 T31CHBK 寄存器的 PROTS=11(设置为保护等级 3) ,且 CH4IOS=00(通道为输出模式)时,CH4OM 和 CH4OBE 位将不能被改写; 注 2:在比较器和 PWM 模式下,通道 4 需要设置为输出,CH4IOS=00。 捕捉器模式 T31CH4C:通道 4 控制寄存器(T31CH4C) Bit 7 Name 6 5 4 CH4IFS 3 2 CH4IM 1 0 CH4IOS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~4 CH4IFS:通道 4 捕捉输入滤波时间选择位 V1.8 版权所有©上海东软载波微电子有限公司 135/248 http://www.essemi.com ES7P169C 数据手册 0000:无滤波 0001:2*Tosc(Tosc 为系统时钟周期) 0010:4*Tosc 0011:8*Tosc 0100:12*Tdfck(Tdfck 为数字滤波器工作时钟周期) 0101:16*Tdfck 0110:24*Tdfck 0111:32*Tdfck 1000:48*Tdfck 1001:64*Tdfck 1010:80*Tdfck 1011:96*Tdfck 1100:128*Tdfck 1101:160*Tdfck 1110:192*Tdfck 1111:256*Tdfck CH4IM:通道 4 捕捉器工作模式选择位 00:每 1 个输入信号边沿,捕捉一次 01:每 2 个输入信号边沿,捕捉一次 10:每 4 个输入信号边沿,捕捉一次 11:每 8 个输入信号边沿,捕捉一次 CH4IOS:通道 4 输入/输出选择位(仅在 CH4E=0,通道 4 关闭时可写) 00:通道 4 为输出,则在通道 4 使能后,通道 4 端口 T31_CH4 被设置为输出 01:通道 4 为输入,使用通道 4 端口 T31_CH4 作为输入 10:通道 4 为输入,使用通道 3 端口 T31_CH3 作为输入 11:通道 4 为输入,固定输入 0 Bit 3~2 Bit 1~0 注:在捕捉器模式下,通道 4 需要设置为输入,CH4IOS=01 或 10。 6. 4. 14. 27 通道端口控制寄存器低 8 位(T31PINCL) T31PINCL:通道端口控制寄存器低 8 位(T31PINCL) Bit 7 6 5 4 3 2 1 0 Name CH2NP CH2NE CH2P CH2E CH1NP CH1NE CH1P CH1E R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 通道 2 或 1 配置为输出时: Bit 7 CH2NP:通道 2 互补输出极性控制位 0:T31_CH2N 端口输出有效状态时不反相,输出无效状态时端口为 0 1:T31_CH2N 端口输出有效状态时反相,输出无效状态时端口为 1 Bit 6 CH2NE:通道 2 互补输出使能位 0:禁止,T31_CH2N 端口输出关闭 1:使能,T31_CH2N 端口输出打开 Bit 5 CH2P:通道 2 输出极性控制位 V1.8 版权所有©上海东软载波微电子有限公司 136/248 http://www.essemi.com ES7P169C 数据手册 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0:T31_CH2 端口输出有效状态时不反相,输出无效状态时端口为 0 1:T31_CH2 端口输出有效状态时反相,输出无效状态时端口为 1 CH2E:通道 2 输出使能位 0:禁止,T31_CH2 端口输出关闭 1:使能,T31_CH2 端口输出打开 CH1NP:通道 1 互补输出极性控制位 0:T31_CH1N 端口输出有效状态时不反相,输出无效状态时端口为 0 1:T31_CH1N 端口输出有效状态时反相,输出无效状态时端口为 1 CH1NE:通道 1 互补输出使能位 0:禁止,T31_CH1N 端口输出关闭 1:使能,T31_CH1N 端口输出打开 CH1P:通道 1 输出极性控制位 0:T31_CH1 端口输出有效状态时不反相,输出无效状态时端口为 0 1:T31_CH1 端口输出有效状态时反相,输出无效状态时端口为 1 CH1E:通道 1 输出使能位 0:禁止,T31_CH1 端口输出关闭 1:使能,T31_CH1 端口输出打开 通道 2 或 1 配置为输入时: Bit 7 CH2NP:通道 2 输入极性控制位 该位需和 CH2P 一起使用来控制通道 2 输入信号的极性,参见 CH2P 位的描述。 Bit 6 CH2NE:通道 2 互补输出使能位 该位在通道输入状态下无效 Bit 5 CH2P:通道 2 输入极性控制位 由 CH2NP/CH2P 组合控制输入信号极性: 00:通道 2 输入不反相,输入信号的上升沿或高电平有效 01:通道 2 输入反相,输入信号的下降沿或低电平有效 10:保留未用 11:道道 2 输入不反相,输入信号的双边沿(上升/下降沿)或高电平有效(编码 器模式下禁止使用该配置) Bit 4 CH2E:通道 2 输入使能位 0:禁止,无法进行捕捉 1:使能,可以进行捕捉 Bit 3 CH1NP:通道 1 输入极性控制位 该位需和 CH1P 一起使用来控制通道 1 输入信号的极性,参见 CH1P 位的描述。 Bit 2 CH1NE:通道 1 互补输出使能位 该位在通道输入状态下无效 Bit 1 CH1P:通道 1 输入极性控制位 由 CH1NP/CH1P 组合控制输入信号极性: 00:通道 1 输入不反相,输入信号的上升沿或高电平有效 01:通道 1 输入反相,输入信号的下降沿或低电平有效 10:保留未用 11:道道 1 输入不反相,输入信号的双边沿(上升/下降沿)或高电平有效(编码 器模式下禁止使用该配置) V1.8 版权所有©上海东软载波微电子有限公司 137/248 http://www.essemi.com ES7P169C 数据手册 Bit 0 CH1E:通道 1 输入使能位 0:禁止,无法进行捕捉 1:使能,可以进行捕捉 注 1:当 T31CHBK 寄存器的 PROTS=10 或 11(设置为保护等级 2 或 3) ,且通道 2 和 1 为输出模式时,CH2NP, CH2P,CH1NP,CH1P 位将不能被改写; 注 2:通道 2 输入取决于 T31CH2C 寄存器的 CH2IOS 位的设置,当 CH2IOS=01 时,为通道 2 端口的输入,当 CH2IOS=10 时,为通道 1 端口的输入; 注 3:通道 1 输入取决于 T31CH1C 寄存器的 CH1IOS 位的设置,当 CH1IOS=01 时,为通道 1 端口的输入,当 CH1IOS=10 时,为通道 2 端口的输入; 注 4:通道 2 输出端口 T31_CH2 关闭和打开时,其端口电平取决于 CHOE,NOFFS,ROFFS,ONS2,CH2E 和 CH2NE 的控制; 注 5:通道 2 互补输出端口 T31_CH2N 关闭和打开时,其端口电平取决于 CHOE,NOFFS,ROFFS,ONS2N, CH2E 和 CH2NE 的控制; 注 6:通道 1 输出端口 T31_CH1 关闭和打开时,其端口电平取决于 CHOE,NOFFS,ROFFS,ONS1,CH1E 和 CH1NE 的控制; 注 7:通道 1 互补输出端口 T31_CH1N 关闭和打开时,其端口电平取决于 CHOE,NOFFS,ROFFS,ONS1N, CH1E 和 CH1NE 的控制; 注 8:CHnNP 和 CHnP 对通道端口输出极性的控制仅在 CHOE=1 时有效。 6. 4. 14. 28 通道端口控制寄存器高 8 位(T31PINCH) T31PINCH:通道端口控制寄存器高 8 位(T31PINCH) Bit 7 6 5 4 3 2 1 0 Name CH4NP — CH4P CH4E CH3NP CH3NE CH3P CH3E R/W R/W — R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 通道 4 或 3 配置为输出时: Bit 7 CH4NP:通道 4 输入极性控制位 该位在通道输出状态下无效 Bit 6 未使用,需软件固定设置为 0 Bit 5 CH4P:通道 4 输出极性控制位 0:T31_CH4 端口输出有效状态时不反相,输出无效状态时端口为 0 1:T31_CH4 端口输出有效状态时反相,输出无效状态时端口为 1 Bit 4 CH4E:通道 4 输出使能位 0:禁止,T31_CH4 端口输出关闭 1:使能,T31_CH4 端口输出打开 Bit 3 CH3NP:通道 3 互补输出极性控制位 0:T31_CH3N 端口输出有效状态时不反相,输出无效状态时端口为 0 1:T31_CH3N 端口输出有效状态时反相,输出无效状态时端口为 1 Bit 2 CH3NE:通道 3 互补输出使能位 0:禁止,T31_CH3N 端口输出关闭 1:使能,T31_CH3N 端口输出打开 Bit 1 CH3P:通道 3 输出极性控制位 V1.8 版权所有©上海东软载波微电子有限公司 138/248 http://www.essemi.com ES7P169C 数据手册 0:T31_CH3 端口输出有效状态时不反相,输出无效状态时端口为 0 1:T31_CH3 端口输出有效状态时反相,输出无效状态时端口为 1 CH3E:通道 3 输出使能位 0:禁止,T31_CH3 端口输出关闭 1:使能,T31_CH3 端口输出打开 Bit 0 通道 4 或 3 配置为输入时: Bit 7 CH4NP:通道 4 输入极性控制位 该位需和 CH4P 一起使用来控制通道 4 输入信号的极性,参见 CH4P 位的描述。 Bit 6 未使用,需软件固定设置为 0 Bit 5 CH4P:通道 4 输入极性控制位 由 CH4NP/CH4P 组合控制输入信号极性: 00:通道 4 输入不反相,输入信号的上升沿或高电平有效 01:通道 4 输入反相,输入信号的下降沿或低电平有效 10:保留未用 11:道道 4 输入不反相,输入信号的双边沿(上升/下降沿)或高电平有效(编码 器模式下禁止使用该配置) Bit 4 CH4E:通道 4 输入使能位 0:禁止,无法进行捕捉 1:使能,可以进行捕捉 Bit 3 CH3NP:通道 3 输入极性控制位 该位需和 CH3P 一起使用来控制通道 3 输入信号的极性,参见 CH3P 位的描述。 Bit 2 CH3NE:通道 3 互补输出使能位 该位在通道输入状态下无效 Bit 1 CH3P:通道 3 输入极性控制位 由 CH3NP/CH3P 组合控制输入信号极性: 00:通道 3 输入不反相,输入信号的上升沿或高电平有效 01:通道 3 输入反相,输入信号的下降沿或低电平有效 10:保留未用 11:道道 3 输入不反相,输入信号的双边沿(上升/下降沿)或高电平有效(编码 器模式下禁止使用该配置) Bit 0 CH3E:通道 3 输入使能位 0:禁止,无法进行捕捉 1:使能,可以进行捕捉 注 1:当 T31CHBK 寄存器的 PROTS=10 或 11(设置为保护等级 2 或 3) ,且通道 4 和 3 为输出模式时,CH4P, CH3NP,CH3P 位将不能被改写; 注 2:通道 4 输入取决于 T31CH4C 寄存器的 CH4IOS 位的设置,当 CH4IOS=01 时,为通道 4 端口的输入,当 CH4IOS=10 时,为通道 3 端口的输入; 注 3:通道 3 输入取决于 T31CH3C 寄存器的 CH3IOS 位的设置,当 CH3IOS=01 时,为通道 3 端口的输入,当 CH3IOS=10 时,为通道 4 端口的输入; 注 4:通道 4 输出端口 T31_CH4 关闭和打开时,其端口电平取决于 CHOE,NOFFS,ROFFS,ONS4 和 CH4E 的控制; 注 5:通道 3 输出端口 T31_CH3 关闭和打开时,其端口电平取决于 CHOE,NOFFS,ROFFS,ONS3,CH3E 和 V1.8 版权所有©上海东软载波微电子有限公司 139/248 http://www.essemi.com ES7P169C 数据手册 CH3NE 的控制; 注 6:通道 3 互补输出端口 T31_CH3N 关闭和打开时,其端口电平取决于 CHOE,NOFFS,ROFFS,ONS3N, CH3E 和 CH3NE 的控制; 注 7:CHnNP 和 CHnP 对通道端口输出极性的控制仅在 CHOE=1 时有效。 6. 4. 14. 29 通道输出关断控制寄存器(T31CHBK) T31CHBK:通道输出关断控制寄存器(T31CHBK) Bit 7 6 5 4 3 2 Name CHOE AROE BKPS BKE ROFFS NOFFS R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1~0 1 0 PROTS CHOE:通道输出状态使能总控制位 0:输出关断,通道端口为空闲模式。当 NOFFS=1 时,各通道输出和互补输出均 被强制为空闲状态,如果设置了死区延时,则是经过死区延时后再进入空闲状态; 当 NOFFS=0 时,各通道输出和互补输出均被禁止。 1:输出使能,通道端口为运行模式,各通道输出和互补输出为有效或无效状态, 具体状态取决于 CHnE,CHnNE 和 ROFFS 位。 一旦关断输入有效,该位会立即由硬件异步清零。该位可由软件置 1 或在关断事件 撤消后自动置 1,由 AROE 位进行控制。 AROE:通道自动恢复使能位 0:禁止,需软件重新设置 CHOE 位 1:使能,关断事件撤消后,发生下一次更新事件时,CHOE 位自动恢复置 1 BKPS:关断输入极性选择位 0:低有效 1:高有效 BKE:关断使能位 0:禁止 1:使能 ROFFS:运行模式下的无效状态选择位(仅在 CHOE=1 时有效) 0:通道输出使能位 CHnE 或 CHnNE 为 0 时,对应的通道端口输出禁止 1:通道输出使能位 CHnE 和 CHnNE 只有一位为 0 时,则使能位为 0 的对应通道 端口输出无效状态电平,两位均为 0 时,通道端口输出禁止 NOFFS:空闲模式下的空闲状态选择位(仅在 CHOE=0 时有效) 0:所有的通道端口 T31_CHn/T31_CHnN 输出禁止 1:通道输出使能位 CHnE 和 CHnNE 只有一位为 0 时,则通道端口 T31_CHn 和 T31_CHnN 均输出空闲状态电平,两位均为 0 时,通道端口输出禁止 PROTS:写保护等级选择位 00:关闭写保护,软件可正常写寄存器位 01:写保护等级 1:T31DLYT 寄存器,T31C1H 寄存器的 ONSn 和 ONSnN 和 T31CHBK 寄存器的 BKE,BKPS 和 AROE 不再可写 10:写保护等级 2:除了受写保护等级 1 所保护的寄存器位以外,还有如下寄存器 位也不再可写: T31PINC 寄存器的 CHnP 和 CHnNP 位(只对输出通道的极性控 制位提供写保护) ,以及 ROFFS 和 NOFFS 位 V1.8 版权所有©上海东软载波微电子有限公司 140/248 http://www.essemi.com ES7P169C 数据手册 11:写保护等级 3:除了受写保护等级 2 所保护的寄存器位以外,还有如下寄存器 位也不再可写:T31CHnC 寄存器的 CHnOM 和 CHnOBE 位(只对输出通道的工作 模式和比较寄存器缓冲控制位提供写保护) 注:芯片复位后,T31CHBK 寄存器的 PROTS 位只能软件写一次,所以必须先设置好受写保护的寄存器位,再写 PROTS 位,设置对应的写保护等级。 6. 4. 14. 30 软件触发事件寄存器(T31EVG) T31EVG:软件触发事件寄存器(T31EVG) Bit 7 6 5 4 3 2 1 0 Name BKT TRGT CHUT CH4T CH3T CH2T CH1T UPT R/W W W W W W W W W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BKT:关断事件触发位 0:无效 1:软件触发一次关断事件,产生关断中断 BKIF,该位由硬件自动清 0 TRGT:触发事件生成位 0:无效 1:软件产生一次触发事件,产生触发中断 TRGIF,该位由硬件自动清 0 CHUT:互补通道更新事件触发位(仅对互补输出通道有效) 0:无效 1:软件触发一次互补通道更新事件,产生互补通道更新中断 CHUIF,该位由硬件 自动清 0 CH4T:通道 4 捕捉/比较匹配事件触发位 0:无效 1:软件触发一次通道 4 的捕捉/比较匹配事件,产生多功能中断 MIF4 或捕捉溢出 中断 OVIF4,该位由硬件自动清 0 CH3T:通道 3 捕捉/比较匹配事件触发位 0:无效 1:软件触发一次通道 3 的捕捉/比较匹配事件,产生多功能中断 MIF3 或捕捉溢出 中断 OVIF3,该位由硬件自动清 0 CH2T:通道 2 捕捉/比较匹配事件触发位 0:无效 1:软件触发一次通道 2 的捕捉/比较匹配事件,产生多功能中断 MIF2 或捕捉溢出 中断 OVIF2,该位由硬件自动清 0 CH1T:通道 1 捕捉/比较匹配事件触发位 0:无效 1:软件触发一次通道 1 的捕捉/比较匹配事件,产生多功能中断 MIF1 或捕捉溢出 中断 OVIF1,该位由硬件自动清 0 UPT:更新事件触发位 0:无效 1:软件触发一次重新事件,产生更新中断 UPIF,该位由硬件自动清 0。更新事件 触发后,效果与复位模式下发生触发事件相同,计数器和预分频器被重新初始化, 预分频计数器会被清零(预分频比不受影响) ,递增计数时计数器也会被清零,递 V1.8 版权所有©上海东软载波微电子有限公司 141/248 http://www.essemi.com ES7P169C 数据手册 减计数时,计数器会重载计数寄存器的值。同时如果 T31C0L 寄存器的 UES=0, 还会使所有的可重载寄存器(T31CNTLD,T31CHnR)都被重载初始化。 6. 4. 14. 31 中断使能控制寄存器低 8 位(T31IEL) T31IEL:中断使能控制寄存器低 8 位(T31IEL) Bit 7 6 5 4 3 2 1 0 Name BKIE TRGIE CHUIE MIE4 MIE3 MIE2 MIE1 UPIE R/W W W W W W W W W POR 0 0 0 0 0 0 0 0 Bit 7 BKIE:关断中断使能位 0:禁止 1:使能 TRGIE:触发中断使能位 0:禁止 1:使能 CHUIE:互补通道更新中断使能位 0:禁止 1:使能 MIE4:通道 4 多功能中断使能位 0:禁止 1:使能 MIE3:通道 3 多功能中断使能位 0:禁止 1:使能 MIE2:通道 2 多功能中断使能位 0:禁止 1:使能 MIE1:通道 1 多功能中断使能位 0:禁止 1:使能 UPIE:更新中断使能位 0:禁止 1:使能 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 注:通道 n 发生捕捉或比较匹配时,均会置起该通道的多功能中断标志 MIFn,如果该通道的多功能中断使能位 MIEn=1,则会产生对应的多功能中断请求。 6. 4. 14. 32 中断使能控制寄存器高 8 位(T31IEH) T31IEH:中断使能控制寄存器高 8 位(T31IEH) Bit 7 6 5 4 3 2 1 0 Name — — — OVIE4 OVIE3 OVIE2 OVIE1 — R/W — — — W W W W — POR 0 0 0 0 0 0 0 0 V1.8 版权所有©上海东软载波微电子有限公司 142/248 http://www.essemi.com ES7P169C 数据手册 Bit 7~5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 未使用,需软件固定设置为 0 OVIE4:通道 4 捕捉溢出中断使能位 0:禁止 1:使能 OVIE3:通道 3 捕捉溢出中断使能位 0:禁止 1:使能 OVIE2:通道 2 捕捉溢出中断使能位 0:禁止 1:使能 OVIE1:通道 1 捕捉溢出中断使能位 0:禁止 1:使能 未使用,需软件固定设置为 0 注:当某个中断的中断使能位与中断禁止位均写 1 时,后写入的位有效,例如先写 OVIE1=1,再写 OVID1 =1 时, 实际是禁止通道 1 捕捉溢出中断,反之则是使能通道 1 捕捉溢出中断。 6. 4. 14. 33 中断禁止寄存器低 8 位(T31IDL) T31IDL:中断禁止寄存器低 8 位(T31IDL) Bit 7 6 5 4 3 2 1 0 Name BKID TRGID CHUID MID4 MID3 MID2 MID1 UPID R/W W W W W W W W W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 BKID:关断中断禁止位 0:无效 1:禁止 TRGID:触发中断禁止位 0:无效 1:禁止 CHUID:互补通道更新中断禁止位 0:无效 1:禁止 MID4:通道 4 多功能中断禁止位 0:无效 1:禁止 MID3:通道 3 多功能中断禁止位 0:无效 1:禁止 MID2:通道 2 多功能中断禁止位 0:无效 1:禁止 MID1:通道 1 多功能中断禁止位 V1.8 版权所有©上海东软载波微电子有限公司 143/248 http://www.essemi.com ES7P169C 数据手册 Bit 0 0:无效 1:禁止 UPID:更新中断禁止位 0:无效 1:禁止 6. 4. 14. 34 中断禁止寄存器高 8 位(T31IDH) T31IDH:中断禁止寄存器高 8 位(T31IDH) Bit 7 6 5 4 3 2 1 0 Name — — — OVID4 OVID3 OVID2 OVID1 — R/W — — — W W W W — POR 0 0 0 0 0 0 0 0 Bit 7~5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 未使用,需软件固定设置为 0 OVID4:通道 4 捕捉溢出中断禁止位 0:无效 1:禁止 OVID3:通道 3 捕捉溢出中断禁止位 0:无效 1:禁止 OVID2:通道 2 捕捉溢出中断禁止位 0:无效 1:禁止 OVID1:通道 1 捕捉溢出中断禁止位 0:无效 1:禁止 未使用,需软件固定设置为 0 注:当某个中断的中断使能位与中断禁止位均写 1 时,后写入的位有效,例如先写 OVIE1=1,再写 OVID1 =1 时, 实际是禁止通道 1 捕捉溢出中断,反之则是使能通道 1 捕捉溢出中断。 6. 4. 14. 35 中断使能状态寄存器低 8 位(T31IVSL) T31IVSL:中断使能状态寄存器低 8 位(T31IVSL) Bit 7 6 5 4 3 2 1 0 Name BKIS TRGIS CHUIS MIS4 MIS3 MIS2 MIS1 UPIS R/W R R R R R R R R POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 BKIS:关断中断使能状态位 0:禁止 1:使能 TRGIS:触发中断使能状态位 0:禁止 1:使能 V1.8 版权所有©上海东软载波微电子有限公司 144/248 http://www.essemi.com ES7P169C 数据手册 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 6. 4. 14. 36 CHUIS:互补通道更新中断使能状态位 0:禁止 1:使能 MIS4:通道 4 捕捉中断/比较匹配中断使能状态位 0:禁止 1:使能 MIS3:通道 3 捕捉中断/比较匹配中断使能状态位 0:禁止 1:使能 MIS2:通道 2 捕捉中断/比较匹配中断使能状态位 0:禁止 1:使能 MIS1:通道 1 捕捉中断/比较匹配中断使能状态位 0:禁止 1:使能 UPIS:更新中断使能状态位 0:禁止 1:使能 中断使能状态寄存器高 8 位(T31IVSH) T31IVSH:中断使能状态寄存器高 8 位(T31IVSH) Bit 7 6 5 4 3 2 1 0 Name — — — OVIS4 OVIS3 OVIS2 OVIS1 — R/W — — — R R R R — POR 0 0 0 0 0 0 0 0 Bit 7~5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 未使用,需软件固定设置为 0 OVIS4:通道 4 捕捉溢出中断使能状态位 0:禁止 1:使能 OVIS3:通道 3 捕捉溢出中断使能状态位 0:禁止 1:使能 OVIS2:通道 2 捕捉溢出中断使能状态位 0:禁止 1:使能 OVIS1:通道 1 捕捉溢出中断使能状态位 0:禁止 1:使能 未使用,需软件固定设置为 0 注:通过设置寄存器 T31IE 和 T31ID,来配置寄存器 T31IVS 的中断有效状态位。当寄存器 T31IE 和 T31ID 中的对 应位均为 1 时,后写入的位有效,例如先写 OVIE1=1,再写 OVID1=1 时,实际是禁止通道 1 捕捉溢出中断, 则相应的 OVIS1=0,反之则 OVIS1=1。 V1.8 版权所有©上海东软载波微电子有限公司 145/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 14. 37 中断标志寄存器低 8 位(T31IFL) T31IFL:中断标志寄存器低 8 位(T31IFL) Bit 7 6 5 4 3 2 1 0 Name BKIF TRGIF CHUIF MIF4 MIF3 MIF2 MIF1 UPIF R/W R R R R R R R R POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 BKIF:关断中断标志位 0:未发生关断事件 1:发生关断事件,关断事件撤消后,写 T31ICRL 寄存器对应的清中断位清 0 TRGIF:外部触发中断标志位 0:未发生触发事件 1:发生触发事件,写 T31ICRL 寄存器对应的清中断位清 0 CHUIF:互补通道更新中断标志位 0:未发生互补通道更新事件 1:发生互补通道更新事件,写 T31ICRL 寄存器对应的清中断位清 0 MIF4:通道 4 多功能中断标志位 0:无捕捉事件/比较匹配事件 1:发生捕捉事件/比较匹配事件,写 T31ICRL 寄存器对应的清中断位清 0,发生捕 捉时,还可以通过读取 T31CH4R 寄存器来清 0 MIF3:通道 3 多功能中断标志位 0:无捕捉事件/比较匹配事件 1:发生捕捉事件/比较匹配事件,写 T31ICRL 寄存器对应的清中断位清 0,发生捕 捉时,还可以通过读取 T31CH3R 寄存器来清 0 MIF2:通道 2 多功能中断标志位 0:无捕捉事件/比较匹配事件 1:发生捕捉事件/比较匹配事件,写 T31ICRL 寄存器对应的清中断位清 0,发生捕 捉时,还可以通过读取 T31CH2R 寄存器来清 0 MIF1:通道 1 多功能中断标志位 0:无捕捉事件/比较匹配事件 1:发生捕捉事件/比较匹配事件,写 T31ICRL 寄存器对应的清中断位清 0,发生捕 捉时,还可以通过读取 T31CH1R 寄存器来清 0 UPIF:更新中断标志位 0:未发生更新事件 1:发生更新事件,写 T31ICRL 寄存器对应的清中断位清 0 注:通道 n 发生捕捉或比较匹配时,均会置起该通道的多功能中断标志 MIFn,如果该通道的多功能中断使能位 MIEn=1,则会产生对应的多功能中断请求。 V1.8 版权所有©上海东软载波微电子有限公司 146/248 http://www.essemi.com ES7P169C 数据手册 6. 4. 14. 38 中断标志寄存器高 8 位(T31IFH) T31IFH:中断标志寄存器高 8 位(T31IFH) Bit 7 6 5 4 3 2 1 0 Name — — — OVIF4 OVIF3 OVIF2 OVIF1 — R/W — — — R R R R — POR 0 0 0 0 0 0 0 0 Bit 7~5 Bit 4 Bit 0 未使用,需软件固定设置为 0 OVIF4:通道 4 捕捉溢出中断标志位 0:未发生捕捉溢出 1:发生捕捉溢出,写 T31ICRL 寄存器对应的清中断位清 0 OVIF3:通道 3 捕捉溢出中断标志位 0:未发生捕捉溢出 1:发生捕捉溢出,写 T31ICRL 寄存器对应的清中断位清 0 OVIF2:通道 2 捕捉溢出中断标志位 0:未发生捕捉溢出 1:发生捕捉溢出,写 T31ICRL 寄存器对应的清中断位清 0 OVIF1:通道 1 捕捉溢出中断标志位 0:未发生捕捉溢出 1:发生捕捉溢出,写 T31ICRL 寄存器对应的清中断位清 0 未使用,需软件固定设置为 0 6. 4. 14. 39 中断请求状态寄存器低 8 位(T31IFML) Bit 3 Bit 2 Bit 1 T31IFML:中断请求状态寄存器低 8 位(T31IFML) Bit 7 6 5 4 3 2 1 0 Name BKIM TRGIM CHUIM MIM4 MIM3 MIM2 MIM1 UPIM R/W R R R R R R R R POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 BKIM:关断中断请求状态位 0:无中断请求 1:有中断请求, TRGIM:触发中断请求状态位 0:无中断请求 1:有中断请求 CHUIM:互补通道更新中断请求状态位 0:无中断请求 1:有中断请求 MIM4:通道 4 多功能中断请求状态位 0:无中断请求 1:有中断请求 MIM3:通道 3 多功能中断请求状态位 0:无中断请求 1:有中断请求 V1.8 版权所有©上海东软载波微电子有限公司 147/248 http://www.essemi.com ES7P169C 数据手册 Bit 2 MIM2:通道 2 多功能中断请求状态位 0:无中断请求 1:有中断请求 MIM1:通道 1 多功能中断请求状态位 0:无中断请求 1:有中断请求 UPIM:更新中断请求状态位 0:无中断请求 1:有中断请求 Bit 1 Bit 0 6. 4. 14. 40 中断请求状态寄存器高 8 位(T31IFMH) T31IFMH:中断请求状态寄存器高 8 位(T31IFMH) Bit 7 6 5 4 3 2 1 0 Name — — — OVIM4 OVIM3 OVIM2 OVIM1 — R/W — — — R R R R — POR 0 0 0 0 0 0 0 0 Bit 7~5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 未使用,需软件固定设置为 0 OVIM4:通道 4 捕捉溢出中断请求状态位 0:无中断请求 1:有中断请求 OVIM3:通道 3 捕捉溢出中断请求状态位 0:无中断请求 1:有中断请求 OVIM2:通道 2 捕捉溢出中断请求状态位 0:无中断请求 1:有中断请求 OVIM1:通道 1 捕捉溢出中断请求状态位 0:无中断请求 1:有中断请求 未使用,需软件固定设置为 0 注:寄存器 T31IFM 中的状态位,为 0 表示无中断请求,此时对应的中断标志位和中断使能位,至少有一个为 0; 为 1 表示有中断请求,此时对应的中断标志位和中断使能位均为 1,并会同时置起 T31 总中断标志 T31IF。 6. 4. 14. 41 中断清 0 寄存器低 8 位(T31ICRL) T31ICRL:中断清 0 寄存器低 8 位(T31ICRL) Bit 7 6 5 4 3 2 1 0 Name BKIC TRGIC CHUIC MIC4 MIC3 MIC2 MIC1 UPIC R/W W W W W W W W W POR 0 0 0 0 0 0 0 0 Bit 7 BKIC:关断中断清 0 位 V1.8 版权所有©上海东软载波微电子有限公司 148/248 http://www.essemi.com ES7P169C 数据手册 0:无效 1:中断标志清 0 TRGIC:触发中断清 0 位 0:无效 1:中断标志清 0 CHUIC:互补通道更新中断清 0 位 0:无效 1:中断标志清 0 MIC4:通道 4 多功能中断清 0 位 0:无效 1:中断标志清 0 MIC3:通道 3 多功能中断清 0 位 0:无效 1:中断标志清 0 MIC2:通道 2 多功能中断清 0 位 0:无效 1:中断标志清 0 MIC1:通道 1 多功能中断清 0 位 0:无效 1:中断标志清 0 UPIC:更新中断清 0 位 0:无效 1:中断标志清 0 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 6. 4. 14. 42 中断清 0 寄存器高 8 位(T31ICRH) T31ICRH:中断清 0 寄存器高 8 位(T31ICRH) Bit 7 6 5 4 3 2 1 0 Name — — — OVIC4 OVIC3 OVIC2 OVIC1 — R/W — — — W W W W — POR 0 0 0 0 0 0 0 0 Bit 7~5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 未使用,需软件固定设置为 0 OVIC4:通道 4 捕捉溢出中断清 0 位 0:无效 1:中断标志清 0 OVIC3:通道 3 捕捉溢出中断清 0 位 0:无效 1:中断标志清 0 OVIC2:通道 2 捕捉溢出中断清 0 位 0:无效 1:中断标志清 0 OVIC1:通道 1 捕捉溢出中断清 0 位 0:无效 1:中断标志清 0 未使用,需软件固定设置为 0 V1.8 版权所有©上海东软载波微电子有限公司 149/248 http://www.essemi.com ES7P169C 数据手册 6. 5 通用异步接收/发送器(UART0/UART1) 6. 5. 1 概述 本芯片支持两组全双工的通用异步接收发送器 UART0 和 UART1,它采用串行收发方式与 外部设备进行数据传输,可以和其它具有异步接收发送器的外部设备进行通讯。  支持两种工作模式 - 异步接收器 - 异步发送器  传输波特率配置 高速模式 低速模式 支持 8/9 位传输数据格式,约定数据从最低位开始接收/发送 支持内置波特率发送器,支持 4 位小数波特率和 8 位整数波特率 支持全双工模式  支持单/双线通讯模式  支持接收/发送端口互换  UARTn 支持以下功能组件  接收数据寄存器(RXnB) 接收控制寄存器(RXnC) 发送数据寄存器(TXnB) 发送控制寄存器(TXnC) 发送移位寄存器(TXnR) (无实际物理地址,不可读写) 波特率寄存器(BRnR) 中断和暂停  支持接收中断标志(RXnIF,只可读) 支持发送中断标志(TXnIF,只可读) 支持中断处理 在 IDLE 模式下,暂停接收和发送 兼容 RS-232/RS-442/RS-485 的通讯接口 TXR8 内部结构图 TXM 6. 5. 2  空 TXB BRR 波特率发 生器 STOP bit8 bit7 bit6 bit5 bit4 bit3 bit2 bit1 TXIF bit0 START 输出控制 TX TXR TRMT BRGH TXEN TXEN 图 6-35 UART 发送端原理图 V1.8 版权所有©上海东软载波微电子有限公司 150/248 http://www.essemi.com ES7P169C 数据手册 RXEN 输入控制 START 数据恢复 bit0 bit1 bit2 RX bit3 bit4 bit5 bit6 bit7 bit8 STOP RXM RXR 波特率 发生器 BRR BRGH RXIF OERR FERR FIFO RXEN FIFO RXB支持2级FIFO RXR8 图 6-36 UART 接收端原理图 6. 5. 3 波特率配置 UARTn 自身具有一个波特率发生器,通过它可以设定数据传输速率。当小数波特率去 抖使能位 BJTnEN=0 时,波特率的设置是由 8 位整数位 BRnR寄存器决定;当小 数波特率去抖使能位 BJTnEN=1 时,波特率的设置是由 8 位整数位 BRnR寄存器, 和 4 位小数位 BRnFRA寄存器共同决定。例如:已知 Fosc 和波特率,可以计数出 BRRDIV 的具体值,是一个带小数的浮点数,整数部分直接转换成 16 进制数写入 BRnR寄存器,小数部分乘以 16 得到值(如果是一个带小数的值,则采用四舍五 入去除小数部分) ,整数值再转为 16 进制数写入 BRnFRA寄存器。 BRGHn 是决定波特率发生器处于高速模式还是低速模式,从而决定计算公式的选用。 计算公式 BRGHn BJTnEN Fosc/(64x(BRnR+1)) 0 0 Fosc/(64xBRRDIV) 0 1 Fosc/(16x(BRnR+1)) 1 0 Fosc/(16xBRRDIV) 1 1 波特率 低速模式 高速模式 表 6-5 UARTn 波特率配置表 6. 5. 4 传输数据格式 UARTn 的传输数据格式有两种选择,8 位或 9 位。接收 9 位数据时,读取 RXnC 寄存器 中的 RXnR8 位可以得到接收的第 9 位数据。发送 9 位数据时,可通过 TXnC 寄存器中的 TXnR8 位设置将要发送的第 9 位数据。 帧 TX/RX 起始 D0 D1 D2 D3 D4 D5 D6 D7 D8 停止 数据码 图 6-37 UARTn 数据格式示意图 6. 5. 5 异步发送器 异步发送器发送数据时,起始位(START)和结束位(STOP)由芯片内部产生,用户只 V1.8 版权所有©上海东软载波微电子有限公司 151/248 http://www.essemi.com ES7P169C 数据手册 需要使能异步发送器,并将所要发送的数据写入 TXnB 和 TXnR8 内,就能实现异步发送, 异步发送器还可以实现数据连续发送。 在发送数据时,必须先使能异步发送器,再写发送数据寄存器 TXnB,否则写入的发送数 据无效;如果是 9 位数据格式,则需在使能异步发送器后,先写第 9 位数据 TXnR8,再 写 TXnB,否则第 9 位数据可能会发送错误。 支持 1 级发送移位寄存器 TXnR(该寄存器用户不可访问) ,在数据发送时,硬件电路将发 送数据寄存器 TXnB 和 TXnR8 中的数据,先传输到发送移位寄存器,再通过发送端口 TXn 进行数据发送。发送移位寄存器 TXnR 为空时,会置起空标志位 TRMTn,再次写入发送 数据时,会清零 TRMTn。禁止异步发送(TXnEN=0)时,也会置起空标志位 TRMTn。 当前数据发送完毕后,中断标志位 TXnIF 被置“1” 。如果发送中断使能位 TXnIE 和全局 中断使能位 GIE 都为“1” ,则向 CPU 发出 UART 发送中断请求。中断标志位 TXnIF 为只 读,不可软件清零,在空标志位 TRMTn=0 时,写发送数据寄存器 TXnB,或禁止异步发 送(TXnEN=0)时,可清零 TXnIF。使能异步发送(TXnEN=1)时,在首个数据发送前, 也会置起发送中断标志位 TXnIF,第一次写发送数据寄存器 TXnB 后,该数据自动传输至 移位寄存器 TXnR,并清零 TRMTn,但不清零 TXnIF,第二次写 TXnB 时,才会清零 TXnIF。 在发送数据时,用户可以通过查询发送移位寄存器空标志位 TRMTn 或发送中断标志位 TXnIF,判断数据是否发送完毕,当 TRMTn=1 或 TXnIF=1 时,可以写入下一个待发送数 据;也可以在发送中断服务程序中,写入下一个待发送数据,实现数据的连续发送。 由于 UART 发送器发送端口 TXn 与 I/O 端口复用,在使用 UART 发送端口前,需首先设 置所复用的 I/O 端口处于输出状态,并输出高电平。 通过查询空标志位 TRMTn,进行数据发送的操作流程图如下: 初始化:设置IO端口, 波特率,8/9位数据格式 使能发送器 TXnR空? Y 继续发送? Y 9位格式? N N N 关闭发送器 Y 修改TXnR8 结束 修改TXnB 图 6-38 UARTn 发送器操作流程图 V1.8 版权所有©上海东软载波微电子有限公司 152/248 http://www.essemi.com ES7P169C 数据手册 发送时钟 TXnEN 写TXnB清零 TRMTn Data0发送完毕,置位TXnIF TXnEN=1时,置位TXnIF 在TRMTn=0时,写TXnB清零 TXnIF TXnR8 TXnB Data0 Data1 Data2 STOP位为2bits位宽 TXn START Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 第9位 Bit7 “0” STOP START Bit0 Data0 Bit1 Bit2 Bit3 Bit4 Data1 图 6-39 UARTn 发送器发送数据时序图(9 位数据格式,第 9 位数据为“0” ) 6. 5. 6 异步接收器 异步接收器接收数据时,用户可以查询 RXnIF 中断标志位,来判断是否收到完整的一帧数 据,并通过读取接收数据寄存器 RXnB 和 RXnR8 获得数据,也可以在接收中断服务程序 中,读取数据。芯片内部提供 2 级 9 位 FIFO 作为接收数据缓冲区(该数据缓冲区用户不 可直接访问,需读取 RXnB 来获得缓冲区中的的数据) ,若用户在第 3 个数据接收完毕前, 未读取 RXnB,则溢出标志位 OERRn 将置 1。在一帧数据结束时,如果异步接收器没有 接收到结束位 STOP,则帧格式错误标志位 FERRn 将置 1。 当前数据接收完毕后,中断标志位 RXnIF 被置“1” 。如果接收中断使能位 RXnIE 和全局 中断使能位 GIE 都为“1” ,则向 CPU 发出 UART 接收中断请求。中断标志位 RXnIF 为只 读,不可软件清零,读取接收数据寄存器 RXnB,或禁止异步接收(RXnEN=0)时,可清 零 RXnIF。 由于 UART 接收器接收端口 RXn 与 I/O 端口复用,在使用 UART 接收端口前,需首先设 置所复用的 I/O 端口处于输入状态。 通过查询中断标志位 RXnIF,进行数据接收的操作流程图如下: V1.8 版权所有©上海东软载波微电子有限公司 153/248 http://www.essemi.com ES7P169C 数据手册 初始化:设置IO端口, 波特率,8/9位数据格式 使能接收器 N RXnIF=1? Y Y 接收出错? N N 9位格式? Y Y 读取RXnR8 关闭发送器 读取RXnB 结束 N 继续接收? 图 6-40 UARTn 接收器操作流程图 接收时钟 RXnEN Data0接收完毕,置位RXnIF 读取RXnB,清零RXnIF RXnIF RXnR8 RXnB RXn Data0 START Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7 第9位 “0” STOP START Bit0 Data0 Bit1 Bit2 Bit3 Bit4 Data1 图 6-41 UARTn 接收器接收数据时序图(9 位数据格式) 6. 5. 7 UARTn单/双线通信端口 设置 UARTnIOS(RXnC)寄存器,可选择 UARTn 是双线通信还是单线分时通信,当 设置为 0 时,为双线通信端口;当设置为 1 时,为单线通讯端口,分时发送/接收,此时, 需要用户软件进行 RXnEN 和 TXnEN 的设置,以及相应的输入/输出控制寄存器的设置。 6. 5. 8 UARTn发送/接收端口互换 设置 RXnTXEN(RXnC)寄存器,可控制 UARTn 的发送和接收端口互换,当设置为 0 时,UART0 的通讯端口为(PA1/TX0,PA2/RX0) ,UART1 的通讯端口为(PC1/TX1, PA5/RX1)或者 UART1(PB5/TX1,PB6/RX1);当设置为 1 时,UART0 的通讯端口互 换为(PA2/TX0,PA1/RX0),UART1 的通讯端口互换为(PA5/TX1,PC1/RX1)或者 UART1(PB6/TX1,PB5/RX1) 。 UART1 支持 2 组通讯端口,当寄存器 UART1SEL(PORTCTR)为 0 时,选择 PB5/PB6 V1.8 版权所有©上海东软载波微电子有限公司 154/248 http://www.essemi.com ES7P169C 数据手册 作为通讯端口;当寄存器 UART1SEL(PORTCTR)为 1 时,选择 PC1/PA5 作为通 讯端口。 6. 5. 9 UARTn使用注意事项 在 UART 模块使能前,首先要设置复用的 I/O 端口为数字端口,并将 TX 管脚设置为输出 口,RX 管脚设置为输入口,才能保证在 UART 模块使能后,成功进行数据的发送或接收。 另外,程序中不建议用户频繁切换 TX 和 RX 管脚的输入/输出类型。 UART 传输波特率小于 38400bps 时,常温条件下波特率冗余度约为±3%,如果外部设备 的 UART 传输波特率相对于本芯片设置的波特率偏差在±3%以内,本芯片均可正常进行 UART 数据传输;高低温条件下因内部 INTHRC 时钟频率偏差,UART 波特率冗余度约为 ±2%。 6. 5. 10 特殊功能寄存器 6. 5. 10. 1 UARTn整数位波特率寄存器(BR0R/BR1R) BRnR:UARTn 波特率寄存器(BR0R/BR1R) Bit 7 6 5 4 Name 3 2 1 0 BRnR R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 BRnR:UARTn 波特率设置,00H~FFH 6. 5. 10. 2 UARTn小数位波特率寄存器(BR0FRA/BR1FRA) BRnFRA:UARTn 波特率寄存器(BR0FRA/BR1FRA) Bit 7 6 5 4 3 2 1 0 Name — — — — R/W — — — — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 BRnFRA Bit 7~4 Bit 3~0 保留未用 BRnFRA:UARTn 小数位波特率设置,0H~FH 6. 5. 10. 3 UARTn接收数据寄存器(RX0B/RX1B) RXnB:UARTn 接收数据寄存器(RX0B/RX1B) Bit 7 6 5 4 Name 3 2 1 0 RXnB R/W R R R R R R R R POR x x x x x x x x Bit 7~0 RXnB:UARTn 接收到的数据 V1.8 版权所有©上海东软载波微电子有限公司 155/248 http://www.essemi.com ES7P169C 数据手册 6. 5. 10. 4 UARTn接收控制/状态寄存器(RX0C/RX1C) RXnC:UARTn 接收控制/状态寄存器(RX0C/RX1C) Bit 7 6 5 4 3 2 1 0 Name RXnEN RXnLEN BJTnEN RXnTXEN RXnIOS OERRn FERRn RXnR8 R/W R/W R/W R/W R/W R/W R R R POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 bit4 bit3 Bit 2 Bit 1 Bit 0 6. 5. 10. 5 RXnEN:接收器使能位 0:禁止 1:使能 RXnLEN:接收器数据格式选择位 0:8 位数据接收格式 1:9 位数据接收格式 BJTnEN:波特率去抖使能位 0:禁止 1:使能 RXnTXEN:接收和发送端口互换使能位(必须在双线通信模式下) 0:禁止,UART0(PA1/TX0,PA2/RX0) ,UART1(PC1/TX1,PA5/RX1)或者 UART1(PB5/TX1,PB6/RX1) 1:使能,UART0(PA2/TX0,PA1/RX0) ,UART1(PA5/TX1,PC1/RX1)或者 UART1(PB6/TX1,PB5/RX1) RXnIOS:UART 通信端口模式选择位 0:双线通信模式,UART0(PA1/TX0,PA2/RX0) ,UART1(PC1/TX1,PA5/RX1) 或者 UART1(PB5/TX1,PB6/RX1) 1:单线分时通信模式,UART0(PA1/TX0/RX0) ,UART1(PC1/TX1/RX1) OERRn:接收溢出标志位 0:无溢出错误 1:有溢出错误(清 RXnEN 清零) FERRn:帧格式错标志位 0:无帧格式错误 1:帧格式错(读 RXnB 清零) RXnR8:第 9 位接收数据位 0:第 9 位数据为 0 1:第 9 位数据为 1 UARTn发送数据寄存器(TX0B/TX1B) TXnB:UARTn 发送数据寄存器(TX0B/TX1B) Bit 7 6 5 4 Name 3 2 1 0 TXnB R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 TXnB:UARTn 发送的数据 V1.8 版权所有©上海东软载波微电子有限公司 156/248 http://www.essemi.com ES7P169C 数据手册 6. 5. 10. 6 UARTn发送控制/状态寄存器(TX0C/TX1C) TXnC:UARTn 发送控制/状态寄存器(TX0C/TX1C) Bit 7 6 5 4 3 2 1 0 Name TXnEN TXnLEN BRGHn — — — TRMTn TXnR8 R/W R/W R/W R/W — — — R R/W POR 0 0 0 0 0 0 1 0 Bit 7 Bit 6 Bit 5 Bit 4~2 Bit 1 Bit 0 TXnEN:发送器使能位 0:禁止 1:使能 TXnLEN:发送器数据格式选择位 0:8 位数据格式 1:9 位数据格式 BRGHn:波特率模式选择位 0:低速模式 1:高速模式 保留未用 TRMTn:发送移位寄存器(TXnR)空标志位 0:TXnR 不空 1:TXnR 空 TXnR8:第 9 位发送数据设置 0:第 9 位数据为 0 1:第 9 位数据为 1 V1.8 版权所有©上海东软载波微电子有限公司 157/248 http://www.essemi.com ES7P169C 数据手册 6. 6 I2C总线从动器(I2CS) 6. 6. 1 概述 本系列芯片支持一路 I2C 从动器,从动模块支持 7 位从机地址匹配,由 I2C 主机控制发送 或接收数据。  只支持从动模式 支持 7 位从机地址 支持标准 I2C 总线协议,最大传输速率 400Kbit/s 支持 I2CS 端口 SCL/SDA 开漏或者推挽输出 支持 2 级发送/接收缓冲 支持自动时钟下拉等待功能 支持自动发送“未应答”功能 约定数据从最高位开始接收/发送 I2CS 支持以下功能组件  5 位 I2C 采样滤波寄存器(I2CX16) I2C 控制寄存器(I2CC) 从机地址寄存器(I2CSA) 发送数据缓冲器(I2CTB) 接收数据缓冲器(I2CRB) 中断使能寄存器(I2CIEC) 中断标志寄存器(I2CIFC) 中断和暂停 - 支持接收“起始位+从机地址匹配+发送应答位”中断标志(I2CSRIF) 支持接收结束位中断标志(I2CSPIF) 支持发送缓冲器空中断标志(I2CTBIF,只可读) 支持接收缓冲器未空中断标志(I2CRBIF,只可读) 支持发送错误标志(I2CTEIF) 支持接收溢出中断标志(I2CROIF) 支持接收未应答标志(I2CNAIF) 在 IDLE 模式下,暂停接收和发送注:本节中 SDA/SCL 端口代表的是芯片管脚图中的 I2C_SDA/I2C_SCL 端口。 V1.8 版权所有©上海东软载波微电子有限公司 158/248 http://www.essemi.com ES7P169C 数据手册 6. 6. 2 内部结构 Data Bus Addr Match SCL I2CTB Sample filter I2CRB I2CSA I2CSRIF NACK/ACK SDA SHIFTER MSB LSB Sample filter Status detect I2CSPIF I2CNAIF 图 6-42 I2C 内部结构 6. 6. 3 I2CS端口配置 I2C 总线从动器包括一条串行数据线 SDA 和一条串行时钟线 SCL。I2C 端口与普通 I/O 端 口复用,可通过 I2CC 寄存器中的 I2CTE 位选择复用端口的功能。当 I2CTE=0 时,复用 端口作为普通 I/O;当 I2CTE=1 时,复用端口作为 I2C 通信端口使用,支持 2 组端口可选, 通过 I2C_SEL(PCCTR)寄存器选择,当 I2C_SEL=0 时,选择 PB1/PB0 为 I2C 通讯端 口;当 I2C_SEL=1 时,选择 PC1/PA5 为 I2C 通讯端口。 I2CTE I2CS 时钟端口配置 I2CS 数据端口配置 1 SCL SDA 0 PB1/PC1 PB0/PA5 表 6-6 I2CS 端口配置表 I2C 通讯端口 SCL 和 SDA,均支持推挽输出和开漏输出两种模式,配置 I2CC 寄存器的 I2COD,可分别进行选择。 推挽输出是 I/O 端口的标准输出,输出数据 0 和 1 时,I/O 端口电平也分别为 0 和 1。 对推挽输出模式,存在端口电平冲突的风险。例如:当主控器输出 0,而从动器输出 1 时, 会发生端口信号电平冲突,导致端口状态不确定。 开漏输出是 I2C 总线协议中的标准模式,可以避免端口电平冲突问题。开漏输出端口的示 意图如下所示: V1.8 版权所有©上海东软载波微电子有限公司 159/248 http://www.essemi.com ES7P169C 数据手册 VDD SDA数据线 SCL时钟线 SCL1_OUT SDA1_OUT SCL_IN SCL2_OUT SDA_IN SCL_IN 主控器 SDA2_OUT SDA_IN 从动器 图 6-43 开漏输出端口示意图 开漏输出端口的高电平由 I2C 总线的上拉电阻提供, 而低电平由主控器与从动器共同决定。 任何一方都可以将总线电平下拉到 0,但只有当双方都释放总线后,总线电平才能被上拉 到 1。 6. 6. 4 I2C通讯协议 I2C 通讯中,必须遵循以下协议:  通讯由主控器发起,发送启动信号 S(开始)控制总线,发送停止信号 P(结束) 释放总线;  总线上可以同时有多个主控器(前提是每个主控器都支持多主机仲裁机制) ,但至 少需要一个从动器,且每一个从动器都必须有一个独立且唯一的寻呼地址;  主控器在发送启动信号后,紧接着寻呼从动器地址以及发送读写方式位;  读写控制位 R/#W(称为方向位)用于通知从动器数据传送的方向,“0”表示这次 通讯是由主控器向从动器“写”数据, “1”表示这次通讯是由主控器向从动器“读” 数据;  I2C 通讯协议支持应答机制,即发送方每传送一个字节的数据(包括寻呼地址),接 收方必须回答一个应答信号(ACK 或者 NACK),发送方再根据应答信号进行下一步 的操作;  如果主控器和从动器的时钟线(SCL)都使用开漏设计,且主控器支持时钟线等待 请求操作,那么从动器可以在时钟线为低电平时下拉时钟线,使主控器等待从动器, 直到从动器释放时钟线;  每个数据字节在传送时都是高位在前。 V1.8 版权所有©上海东软载波微电子有限公司 160/248 http://www.essemi.com ES7P169C 数据手册 主控器 从动器 主控器 启动信号 从动器 启动信号 寻呼从机地址+写操作 寻呼从机地址+读操作 应答信号 应答信号 数据字节1 数据字节1 应答信号 应答信号 数据字节2 数据字节2 应答信号 应答信号 停止信号 停止信号 图 6-44 I2C 总线通讯协议示意图 6. 6. 5 I2C操作 I2C 总线上可以同时有多个主控器(前提是每个主控器都支持多主机仲裁机制),但至少需 要一个从动器。总线上的每个设备都没有选择线,但分别与唯一的地址一一对应,用于 I2C 通信。 从动模块包括主机向从机发送数据以及主机读取从机数据两种操作方式。 当主机向从机发送数据时,从机通常判断接收缓冲器未空中断标志位 I2CRBIF,如果接收 缓冲器不空,即接收到主机数据,则读接收缓冲器的数据。 当主机读取从机数据时,从机通常判断发送缓冲器空中断标志位 I2CTBIF,如果发送缓冲 器空,则依次写入需要发送的数据。 为了避免误发数据,建议每次完整的通讯结束(例如收到 STOP 标志),就采用软件复位 I2C 模块位 I2CRST 置位复位一次 I2C 模块来清空接收和发送数据缓冲器,同时再重新初 始化 I2CC 和 I2CIEC 寄存器,为下次 I2C 通讯做好准备。 (I2C 主机给 I2C 从机发送读命 令,发送从机地址后,需要等待大约 30us 左右再读取数据) 在 IDLE 模式下,I2CS 模块通讯暂停。 SCL SDA 图 6-45 I2C 从动波形图 6. 6. 6 起始位START和停止位STOP 根据 I2C 协议:在数据传输期间,当 SCL 为高电平时,SDA 必须保持固定电平,波形如 图所示;在没有数据传输期间,SCL 和 SDA 应该保持高电平。当 SCL 线是高电平时, SDA 线从高电平向低电平切换表示起始条件(S) 。当 SCL 是高电平时,SDA 线由低电 V1.8 版权所有©上海东软载波微电子有限公司 161/248 http://www.essemi.com ES7P169C 数据手册 平向高电平切换表示停止条件(P) 。起始和停止条件一般由主机产生,如图所示。 Start Condition Stop Condition SCL SDA 图 6-46 I2C 起始位和停止位 6. 6. 7 数据传输和应答 进入起始条件(S)之后,数据按照一个字节串行传输(8 位)。接收方每次接收完毕 8 位 数据之后,需要发送应答信号给发送方。当数据传输到第 8 个 SCL 下降沿时,接收方立 即发送应答信号,此时发送方释放 SDA 控制权,而接收方将 SDA 变为低电平。当发送一 个字节的数据紧邻于先前一个字节的接收(或者当接收方切换到发送方,并开始数据传输) 时,接收方在第 9 个 SCL 下降沿释放 SDA 控制权。 当主机为发送方时,如果自动未应答 I2CANAE 位不使能,寻呼地址匹配后,从机会发送 ACK 应答信号,和 I2CTAS 选择位无关;如果自动未应答 I2CANAE 位使能,寻呼地址匹 配后,如果 2 级接收缓冲器全满,则发送 NACK 信号,未满则发送 ACK 信号,与 I2CTAS 选择位无关。 从机接收到数据时, 如果自动未应答 I2CANAE 位使能, 时钟下拉等待 I2CCSE 位不使能,且 2 级接收缓冲器全满,则一个字节的数据接收完成后,会发送 NACK 信号; 否则发送 ACK 或 NACK 信号,受 I2CTAS 选择位控制。 当主机为接收方时,如果自动未应答 I2CANAE 位不使能,寻呼地址匹配后,从机会发送 ACK 应答信号,和 I2CTAS 选择位无关;如果自动未应答 I2CANAE 位使能,寻呼地址匹 配后,如果 2 级发送缓冲器全空,则发送 NACK 信号,非空则发送 ACK 信号,与 I2CTAS 选择位无关。主机每接收到一个字节的数据时,主机发出 ACK 应答信号,当接收到从机 的最后一个字节后不产生应答信号,以告知发送设备数据传输完成。在第 9 个 SCL 下降 沿,从机(发送方)继续释放 SDA 控制权以便主机可以产生停止条件(P) 。 SCL From the master 1 2 8 9 SDA From the transmission side SDA From the receiving side Start Condition Acknowledge Signal 图 6-47 数据传输和应答 V1.8 版权所有©上海东软载波微电子有限公司 162/248 http://www.essemi.com ES7P169C 数据手册 6. 6. 8 数据传输格式参考 I2C 从动器的数据传输参考格式如下: S SLAVE ADDRESS ACK ... ... ACK 写入数据0 设置片内访问地址 寻呼7位从动器地址 DATA1 DATA0 ACK Memory Address ACK #W ACK (NACK) DATAn 主控器接收操作 P 主控器发送操作 写入数据n 写入数据1 图 6-48 主控器写入从动器数据示意图 S SLAVE ADDRESS #W ACK SLAVE ADDRESS R ACK 寻呼7位从动器地址 DATA1 ACK ACK 设置片内访问地址 寻呼7位从动器地址 R-S Memory Address DATA0 ACK 读取数据0 ... ... 主控器接收操作 DATAn NACK P 主控器发送操作 读取数据n 读取数据1 图 6-49 主控器读取从动器数据示意图 6. 6. 9 I2C通讯发送器 支持 2 级发送缓冲器 TB0,TB1 和 1 级发送移位寄存器,可进行数据的连续发送,直到发 送缓冲器和移位寄存器全空,最多可连续写入和发送 3 帧数据。发送缓冲器 TB0~TB1 不 可访问,只能通过发送数据寄存器 I2CTB 写入。 写 I2CTB 寄存器地址单元时,实际上是将发送数据写入到发送缓冲器 TB0~TB1 中,再传 输到发送移位寄存器,通过数据端口 SDA 进行数据发送。 发送数据从写入到发送到端口的数据流示意图如下所示: I2CTB TB0 TB1 发送移位寄存器 SDA端口 图 6-50 I2C 发送数据流示意图 支持发送缓冲器空中断,当发送缓冲器 TB0 和 TB1 均为空时,会置起发送缓冲器空中断 标志 I2CTBIF; 支持发送错误中断,当发送缓冲器 TB0 和 TB1 全空时,收到主机提供的通讯时钟,会置 起发送错误中断标志 I2CTEIF。 V1.8 版权所有©上海东软载波微电子有限公司 163/248 http://www.essemi.com ES7P169C 数据手册 6. 6. 10 I2C通讯接收器 支持 2 级接收缓冲器 RB0,RB1 和 1 级接收移位寄存器,可进行数据的连续接收,直到 接收缓冲器和移位寄存器全满,最多可连续接收 3 帧数据,再执行数据读取操作。读取接 收数据寄存器 I2CRB,可得到接收的数据。 读取 I2CRB 时,实际是读取接收缓冲器 RB0 的数据。 接收数据从数据端口到各级缓冲器的数据流示意图如下所示: I2CRB RB0 RB1 接收移位寄存器 SDA端口 图 6-51 I2C 接收数据流示意图 支持接收溢出中断,当 2 级接收缓冲器和 1 级接收移位寄存器均满时,会置起接收数据溢 出中断标志 I2CROIF,只有 2 级接收缓冲器中的数据可被读取,接收移位寄存器中的数据 会丢失。 支持接收缓冲器缓冲器未空中断,当接收缓冲器 RB0 和 RB1 接收到数据时,会置起接收 缓冲器未空中断标志 I2CRBIF。 6. 6. 11 I2C时钟线自动下拉等待请求功能 I2C 从动器支持时钟线自动下拉等待请求功能,配置 I2CC 寄存器的 I2CCSE,可使能该 功能。 为实现 I2C 时钟线的下拉等待请求功能,还需配置 I2CC 寄存器的 I2COD,将通讯端口 SCL 选择为开漏输出模式,通过上拉电阻提供高电平,使从动器可对时钟线下拉控制, 使主控器等待。 在通常情况下,从动器处于释放时钟线的状态,时钟线 SCL 完全由主控器控制。但当从 动器出现异常情况,短时间内无法继续进行数据传输时,从动器可以在时钟线 SCL 为低 电平时输出 0(不可以在高电平时输出 0,否则会破坏数据传输过程) ,强行使 SCL 保持 低电平,使主控器进入通讯等待状态,直到从动器释放时钟线。时钟线下拉等待请求波 形示意图如下: 主控器 主控器 释放时钟线 从动器 下拉时钟线 从动器 释放时钟线 从动器 SCL 图 6-52 I2C 时钟线下拉等待波形示意图 I2C 从动器时钟自动下拉等待请求功能使能后,当接收到本芯片寻呼地址、读操作位时, 如果 I2C 的发送缓冲器和发送移位寄存器全空,且自动发送未应答使能位 I2CANAE=0, 则在发送完毕应答信号后,会自动将时钟线下拉,等待发送缓冲器写入数据;当接收到 V1.8 版权所有©上海东软载波微电子有限公司 164/248 http://www.essemi.com ES7P169C 数据手册 本芯片寻呼地址、写操作位时,如果 I2C 的接收缓冲器和接收移位寄存器全满,且自动 发送未应答使能位 I2CANAE=0,则在发送完毕应答信号前,会自动将时钟线下拉,等待 接收缓冲器被读取。 6. 6. 12 特殊功能寄存器 6. 6. 12. 1 I2C采样滤波寄存器(I2CX16) I2CX16:I2C 采样滤波寄存器 Bit 7 6 5 4 3 Name — — — R/W — — — R/W R/W POR 0 0 0 0 0 2 1 0 R/W R/W R/W 0 0 0 I2CX16 Bit 7~5 Bit 4~0 未使用 I2CX16:采样滤波控制位 00H:禁止采样滤波 01H~1FH:通信时钟和数据采样滤波时间为 Tosc x(I2CX16+1)x3 6. 6. 12. 2 I2C控制寄存器(I2CC) I2CC:I2C 控制寄存器 Bit 7 6 5 4 3 2 1 0 Name I2CTE I2CPU I2COD I2CTAS I2CANAE I2CCSE I2CRST I2CEN R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 I2CTE:I2C 通信端口使能位 0:禁止 1:使能 I2CPU:I2C 内部弱上拉使能 0:禁止 1:使能 当 I2CTE=1 时,I2CPU 控制 SCL/SDA 端口的弱上拉功能。 I2COD:I2C 开漏输出使能位 0:推挽输出 1:开漏输出 I2CTAS:I2C 发送应答设置位 0:发送 ACK 1:发送 NACK I2CANAE:I2C 自动未应答使能位 0:禁止 1:使能 I2CCSE:I2C 时钟下拉等待使能位 0:禁止 1:使能 I2CRST:软件复位 I2C 模块位 V1.8 版权所有©上海东软载波微电子有限公司 165/248 http://www.essemi.com ES7P169C 数据手册 0:禁止 1:使能(复位后,硬件自动清零) I2CEN:I2C 模块使能位 0:禁止 1:使能 Bit 0 注 1:使能时钟自动下拉功能后(且禁止自动未应答(I2CANAE=0)) ,当从机收到匹配的寻呼地址时: 1.1)如果为主机读操作,若在数据发送之前,当发送缓冲器全空时,发送 ACK 前,下拉时钟,写完发送的数据后, 释放时钟线,直接发送数据位;若在数据发送之后,2 级发送缓冲器全空,则在从动器接收应答位之后下拉时 钟线; 1.2)如果为主机写操作,当接收缓冲器全满时,发送 ACK 前下拉时钟,读取已接收的数据后,释放时钟线,接收 新的数据位。 注 2:I2C 自动未应答使能后(I2CANAE=1) , 当片外主控器寻呼本机地址+R 时,若 2 级发送数据缓冲器全空,则本机地址后的应答位为“NACK” ; 当片外主控器寻呼本机地址+#W 时,若在数据接收之前,2 级接收数据缓冲器全满时,本机地址后的应答位 为“NACK” ;若在接收数据后,且 I2CCSE=0,2 级接收数据缓冲器全满时,则接收数据后的应答位为“NACK” 。 注 3:当 I2CTE=1 时,I2CPU 控制 SCL/SDA 端口的弱上拉功能;否则,由 PBPU控制 PB1/0 端口的弱上拉 功能;由 PAPU5/PCPU1 控制 PA5/PC1 端口的弱上拉功能。 6. 6. 12. 3 I2C从机地址寄存器(I2CSA) I2CSA:I2C 从机地址寄存器 Bit 7 6 5 Name 4 3 2 1 I2CSADR 0 I2CRW R/W R/W R/W R/W R/W R/W R/W R/W R POR 0 0 0 0 0 0 0 0 3 2 1 0 Bit 7~1 Bit 0 I2CSADR:从机地址 接收到“启动/重启动”后用于匹配比较 I2CRW:从机地址匹配后,自动更新读/写位 0:写 1:读 6. 6. 12. 4 I2C发送数据缓冲器(I2CTB) I2CTB:I2C 发送数据缓冲器 Bit 7 6 5 Name 4 I2CTB R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 I2CTB:发送数据缓冲器 注:第一个需要发送的数据,在发送使能前写入发送数据缓冲器。 V1.8 版权所有©上海东软载波微电子有限公司 166/248 http://www.essemi.com ES7P169C 数据手册 6. 6. 12. 5 I2C接收数据缓冲器(I2CRB) I2CRB:I2C 接收数据缓冲器 Bit 7 6 5 4 Name 3 2 1 0 I2CRB R/W R R R R R R R R POR 0 0 0 0 0 0 0 0 Bit 7~0 I2CRB:接收数据缓冲器 6. 6. 12. 6 I2C中断使能寄存器(I2CIEC) I2CIEC:I2C 中断使能寄存器 Bit 7 6 5 4 3 2 1 0 Name — I2CNAIE I2CROIE I2CTEIE I2CRBIE I2CTBIE I2CSPIE I2CSRIE R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 保留未用,需软件固定设置为 0 I2CNAIE:I2C 接收未应答中断使能位 0:禁止 1:使能 I2CROIE:I2C 接收溢出中断使能位 0:禁止 1:使能 I2CTEIE:I2C 发送错误中断使能位 0:禁止 1:使能 I2CRBIE:I2C 接收缓冲器未空中断使能位 0:禁止 1:使能 I2CTBIE:I2C 发送缓冲器空中断使能位 0:禁止 1:使能 I2CSPIE:I2C 接收结束位中断使能位 0:禁止 1:使能 I2CSRIE:I2C 接收“起始位+从机地址匹配+发送应答位”中断使能位 0:禁止 1:使能 V1.8 版权所有©上海东软载波微电子有限公司 167/248 http://www.essemi.com ES7P169C 数据手册 6. 6. 12. 7 I2C中断标志寄存器(I2CIFC) I2CIFC:I2C 中断标志寄存器 Bit 7 6 5 4 3 2 1 0 Name — I2CNAIF I2CROIF I2CTEIF I2CRBIF I2CTBIF I2CSPIF I2CSRIF R/W — R/W R/W R/W R R R/W R/W POR 1 0 0 0 0 1 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 保留未用 I2CNAIF:I2C 接收未应答中断标志位 0:未接收或者未发送 NACK 1:接收或发送 NACK ,产生中断标志(软件清零) I2CROIF:I2C 接收溢出中断标志位 0:2 级接收数据缓冲器和 I2C 移位寄存器未溢出 1:2 级接收数据缓冲器和 I2C 移位寄存器溢出,产生中断标志(软件清零) I2CTEIF:I2C 发送错误中断标志位 0:未发生发送错误 1:发生发送错误:2 级发送数据缓冲器全空时,收到主机提供的通讯时钟,产生中 断标志(软件清零) I2CRBIF:I2C 接收缓冲器未空中断标志位 0:2 级接收数据缓冲器全空 1:2 级接收数据缓冲器不全空时,产生中断标志(读 I2CRB 寄存器可清除中断标 志位) I2CTBIF:I2C 发送缓冲器空中断标志位 0:2 级发送数据缓冲器未空 1:2 级发送数据缓冲器全空时,产生中断标志(写 I2CTB 寄存器可清除中断标志 位) I2CSPIF:I2C 接收结束位中断标志位 0:未接收到结束位 1:接收到结束位,产生中断标志(软件清零) I2CSRIF:I2C 接收“起始位+从机地址匹配+发送应答位”中断标志位 0:未接收到“起始位+地址位且地址匹配+发送应答位” 1:接收到“起始位+地址位且地址匹配+发送应答位”后,产生中断标志(软件清 零) 注 1:清总中断标志位 I2CIF 前,先清除 I2CIFC 寄存器的相关中断标志位。 注 2:连续接收数据超过 3 个时,发生接收溢出,并且只有前 2 个数据可被读取,第 3 个数据会丢失。 注 3:I2C 模块在每帧数据发送完成后,接收到结束位时,硬件自动清零发送缓冲寄存器。 V1.8 版权所有©上海东软载波微电子有限公司 168/248 http://www.essemi.com ES7P169C 数据手册 6. 7 SPI同步串口通讯模块(SPI ) 6. 7. 1 概述  支持主控模式、从动模式  支持 4 种数据传输格式  支持主控模式通讯时钟速率可配置  支持 4 级发送缓冲器和 4 级接收缓冲器  支持发送和接收缓冲器空/满中断  支持接收数据溢出中断、发送数据写错误中断、从动模式的发送数据错误中断  支持从动模式的片选变化中断、主控模式的空闲状态中断  支持主控模式延迟接收 注:本节中 SCK/NSS/MISO/MOSI 端口代表的是芯片管脚图中的 SPI_SCK/SPI_NSS/SPI_MISO/SPI_MOSI 端口。 6. 7. 2 结构框图 SCK 传输时钟产生电路 MUX SPI MISO MOSI NSS 数据传输电路 图 6-53 SPI 电路结构框图 6. 7. 3 SPI通讯模式 SPI 支持主控和从动两种通讯模式,配置 SPICON1 寄存器的 MS 位,可选择通讯模式。 通讯时钟端口为 SCK,从动模式下的片选信号端口为 NSS,数据输出端口 MISO,数据输 入端口 MOSI,主控模式下可使用普通 I/O 端口作为片外从设备的片选信号端口,数据输 出端口 MOSI,数据输入端口 MISO。具体见下表所示: 6. 7. 4 SPI 通讯端口 SPI 主控模式 SPI 从动模式 SCK 支持 支持 MOSI 支持 支持 MISO 支持 支持 NSS — 支持 SPI数据格式 配置 SPICON1 寄存器的 DFS,可选择 SPI 通讯数据格式,数据发送和接收时,均 是高位在前,低位在后。如果是发送数据在先,接收数据在后,输出端口 MOSI(或 MISO) 会在第一个 SCK 时钟边沿,输出数据的 MSB 位;反之输出端口 MOSI(或 MISO)在第 一个 SCK 时钟边沿之前,输出数据的 MSB 位。 V1.8 版权所有©上海东软载波微电子有限公司 169/248 http://www.essemi.com ES7P169C 数据手册 以下以 SPI 从动通讯模式为例,对数据通讯时序进行说明。 1)上升沿发送(先) ,下降沿接收(后) : NSS ... ... ... ... SCK MOSI MISO MSB MSB MSB-1 ... ... ... ... MSB-1 LSB+1 LSB LSB+1 LSB MOSI数据接收点 图 6-54 SPI 时钟上升沿发送,下降沿接收波形示意图 2)下降沿发送(先) ,上升沿接收(后) : NSS ... ... ... ... SCK MOSI MISO MSB MSB MSB-1 ... ... ... ... MSB-1 LSB+1 LSB LSB+1 LSB MOSI数据接收点 图 6-55 SPI 时钟下降沿发送,上升沿接收波形示意图 3)上升沿接收(先) ,下降沿发送(后) : NSS ... ... ... ... SCK MOSI MISO MSB MSB MSB-1 ... ... MSB-1 ... ... LSB+1 LSB LSB+1 LSB MOSI数据接收点 图 6-56 SPI 时钟上升沿接收,下降沿发送波形示意图 4)下降沿接收(先) ,上升沿发送(后) : V1.8 版权所有©上海东软载波微电子有限公司 170/248 http://www.essemi.com ES7P169C 数据手册 NSS ... ... ... ... SCK MOSI MSB MISO ... ... MSB-1 MSB ... ... MSB-1 LSB+1 LSB LSB+1 LSB MOSI数据接收点 图 6-57 SPI 时钟下降沿接收,上升沿发送波形示意图 6. 7. 5 SPI同步发送器 支持 4 级发送缓冲器 TB0,TB1,TB2,TB3 和 1 级发送移位寄存器,可进行数据的连续 发送,直到发送缓冲器和移位寄存器全空,最多可连续写入和发送 5 帧数据。发送缓冲器 TB0~TB3 和发送移位寄存器为虚拟寄存器,不可访问,只能通过发送数据寄存器 SPITBW 写入。 发送数据寄存器 SPITBW,写该寄存器地址单元时,实际上是将发送数据写入到发送缓冲 器 TB0 中,再逐级传输到发送移位寄存器,通过发送数据端口 MOSI(或 MISO)进行数 据发送。 发送数据从写入到发送到端口的数据流示意图如下所示(以主控模式为例) : SPITBW TB0 TB1 TB2 TB3 发送移位寄存器 MOSI端口 图 6-58 SPI 发送数据流示意图 支持发送缓冲器空中断,配置 SPICON0 寄存器的 TBIM,可选择中断模式。 TBIM=00,为 TB0 空产生中断,即发送缓冲器 TB0 为空时,SPIIF 寄存器会置起中 断标志 TBIF; TBIM=01,为 TB0 与 TB1 空产生中断,即发送缓冲器 TB0 和 TB1 均为空时,SPIIF 寄存器会置起中断标志 TBIF; TBIM=10,为 TB0~TB3 全空产生中断,即发送缓冲器 TB0~TB3 均为空时,SPIIF 寄存器会置起中断标志 TBIF。 支持发送数据寄存器 SPITBW 误写中断,当对 SPITBW 的写入时,发送缓冲器 TB0~TB3 处于全满状态,SPIIF 寄存器会置起误写中断标志 TBWEIF。 6. 7. 6 SPI同步接收器 支持 4 级接收缓冲器 RB0,RB1,RB2,RB3 和 1 级接收移位寄存器,可进行数据的连续 接收,直到接收缓冲器和移位寄存器全满,最多可连续接收 5 帧数据,再执行数据读取操 作。RB0,RB1,RB2,RB3 和接收移位寄存器为虚拟寄存器,不可访问,只能通过读取 接收数据寄存器 SPIRBR 得到接收的数据。 V1.8 版权所有©上海东软载波微电子有限公司 171/248 http://www.essemi.com ES7P169C 数据手册 接收数据寄存器 SPIRBR,读该寄存器地址单元时,实际上是读取接收缓冲器 RB0 中的数 据。 接收数据从接收端口到各级缓冲器的数据流示意图如下所示(以主控模式为例): SPIRBR RB0 RB1 RB2 RB3 接收移位寄存器 MISO端口 图 6-59 SPI 接收数据流示意图 同步接收器的接收顺序如下: 当同步接收器全空时,接收移位寄存器的数据自动移入 RB0; 仅 RB1~ RB3 空时,接收移位寄存器的数据自动移入 RB1; 仅 RB2~ RB3 空时,接收移位寄存器的数据自动移入 RB2; 仅 RB3 空时,接收移位寄存器的数据自动移入 RB3。 当 4 级接收缓冲器和 1 级接收移位寄存器均满时,如果再次接收到数据位,SPIIF 寄存器 中会置起接收数据溢出中断标志 ROIF,同时不会接收新数据,缓冲器数据仍保持。 支持接收缓冲器满中断,配置 SPICON0 寄存器的 RBIM,可选择中断模式。 RBIM=00,为 RB0 满产生中断,即接收缓冲器 RB0 为满时,SPIIF 寄存器中会置起 中断标志 RBIF; RBIM=01,为 RB0 与 RB1 满产生中断,即接收缓冲器 RB0 和 RB1 均为满时,SPIIF 寄存器中会置起中断标志 RBIF; RBIM=10,为 RB0~ RB3 全满产生中断,即接收缓冲器 RB0~RB3 均为满时,SPIIF 寄存器中会置起中断标志 RBIF。 6. 7. 7 SPI通讯控制 配置 SPI 通讯模式,数据格式;对主控制模式,还需配置 SPICON0 的 CKS 寄存器,设 定传输时钟速率,对从动模式,传输时钟由主机方提供;SPICON1 寄存器中配置 SPIEN 和 REN,使能数据发送和接收;将要发送的数据写入发送数据寄存器 SPITBW,就可以 开始数据的发送,读取接收数据寄存器 SPIRBR,可以获得接收到的数据。 SPI 主控模式下,发送缓冲器和发送移位寄存器中的数据发送完毕后,进入空闲状态, SPIIF 寄存器中产生空闲中断标志 IDIF。 SPI 从动模式下,如果发送缓冲器 TB0~TB3 和发送移位寄存器均为空时,又收到主机提 供的通讯时钟,则 SPIIF 寄存器中会置起发送错误中断标志 TEIF。 SPI 从动模式,支持片选信号变化中断,配置 SPIIE 寄存器的 NSSIE,可使能该中断。 配置 SPICON1 寄存器的 SPIRST 位,可将 SPI 通讯模块软件复位,复位后:禁止数据通 讯 SPIEN=0;SPIIE 寄存器中禁止相关中断 TBIE=0,TBWEIE=0,RBIE=0,TEIE=0, ROIE=0,IDIE=0, NSSIE=0;SPIIF 寄存器中复位相关中断标志为默认值 TBIF=1, TBWEIF=0,RBIF=0,TEIF=0,ROIF=0,IDIF=0,NSSIF=0。 在接收/发送使能前,建议使用 RXCLK/TXCLR 寄存器清空接收/发送缓冲器。 V1.8 版权所有©上海东软载波微电子有限公司 172/248 http://www.essemi.com ES7P169C 数据手册 6. 7. 8 SPI延迟接收功能 SPI 通讯时,是利用时钟的上升/下降沿分别对数据的发送和接收进行同步。正常通讯时, 对主机接收数据来说,从机送出的数据应在半个时钟周期内,到达主机接收端口,否则会 造成主机接收数据的丢失。 SPI 主控模式支持延迟接收功能,配置 SPICON1 寄存器的 DRE,可使能该功能,主机会 再延迟半个时钟周期,在下一个发送时钟边沿处,进行数据的接收采集。所以延迟接收功 能使能后,从机发送端口和主机接收端口之间的线路延时,最大可接近 1 个通讯时钟周期。 举例说明 SPI 延迟接收功能:SPICON1 寄存器中 DFS=00,上升沿发送(先),下 降沿接收(后) 。 NSS ... ... ... ... SCK MISO MSB (理想波形) ... ... MSB-1 LSB+1 LSB 线路延时 MISO ... ... MSB (实际波形) MOSI MSB LSB+2 ... ... MSB-1 LSB+1 LSB+1 LSB LSB MISO数据接收点 图 6-60 SPI 延迟接收功能波形示意图 注:当通讯速率选择 Fosc/2,建议使能 SPI 延时接收功能,避免线路延时导致通讯不正常。 6. 7. 9 SPI应用说明 为保证 SPI 的正常通信,SPI 的配置需遵循如下要求: 1)由于不同的通讯数据格式对端口的初始电平要求是不同的(参见上面各通讯波形示意 图),因此若无法确定使能 SPI 之前的 SPI 端口的初始值,必须先配置通讯数据格式控制 位 DFS,对 SPI 端口初始电平进行自动设置;然后再通过对 SPICON1 寄存器的 SPIEN 和 REN 置 1 来使能 SPI 发送和接收,即对 SPICON1 寄存器分两步写入。 2)主设备和从设备需配置成相同的通讯数据格式。 6. 7. 10 特殊功能寄存器 6. 7. 10. 1 SPI控制寄存器 0(SPICON0) SPICON0:SPI 控制寄存器 0 Bit 7 6 Name RXCLR TXCLR R/W W W R/W R/W R/W R/W R/W R/W POR 0 0 1 1 0 0 0 0 Bit 7 5 4 CKS 3 2 RBIM 1 0 TBIM RXCLR:SPI 接收缓冲器清空控制位 0:无效 V1.8 版权所有©上海东软载波微电子有限公司 173/248 http://www.essemi.com ES7P169C 数据手册 Bit 6 Bit 5~4 Bit 3~2 Bit 1~0 6. 7. 10. 2 1:清空接收缓冲器 TXCLR:SPI 发送缓冲器清空控制位 0:无效 1:清空发送缓冲器 CKS:SPI 通讯波特率选择位(仅主控模式支持) 00:Fosc/2 01:Fosc/4 10:Fosc/8 11:Fosc/16 RBIM:SPI 接收缓冲器满中断模式选择位 00:RB0 满产生中断 01:RB0 与 RB1 满产生中断 10:RB0~ RB3 全满产生中断 11:保留 TBIM:SPI 发送缓冲器空中断模式选择位 00:TB0 空产生中断 01:TB0 与 TB1 空产生中断 10:TB0~TB3 全空产生中断 11:保留 SPI控制寄存器 1(SPICON1) SPICON1:SPI 控制寄存器 1 Bit Name 7 6 DFS 5 4 3 2 1 0 DRE — REN MS SPIRST SPIEN R/W R/W R/W R/W — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 DFS:SPI 通讯数据格式 00:上升沿发送(先) ,下降沿接收(后) 01:下降沿发送(先) ,上升沿接收(后) 10:上升沿接收(先) ,下降沿发送(后) 11:下降沿接收(先) ,上升沿发送(后) DRE:SPI 延迟接收使能位(仅主控模式支持) 0:禁止 1:使能 保留未用 REN:SPI 接收使能位 0:禁止 1:使能(需 SPIEN 同时使能) MS:SPI 通讯模式选择位 0:主控模式 1:从动模式 SPIRST:SPI 软件复位 0:读取时始终为 0 V1.8 版权所有©上海东软载波微电子有限公司 174/248 http://www.essemi.com ES7P169C 数据手册 Bit 0 1:软件复位 SPI 模块,自动清零 SPIEN:SPI 通讯使能位 0:禁止 1:使能(SPI 通讯使能,但仅使能数据发送) 注 1:由于不同的通讯数据格式对端口的初始电平要求是不同的(参见上面各通讯波形示意图) ,因此若无法确定使 能 SPI 之前的 SPI 端口的初始值,必须先配置通讯数据格式控制位 DFS,对 SPI 端口初始电平进行自动 设置;然后再通过对 SPICON1 寄存器的 SPIEN 和 REN 置 1 来使能 SPI 发送和接收。即 SPICON1 寄存器需 要分两次写入,否则易产生通信错误。 注 2:主设备和从设备需配置成相同的通讯数据格式。 6. 7. 10. 3 SPI发送数据写入寄存器(SPITBW) SPITBW:SPI 发送数据写入寄存器 Bit 7 6 5 4 Name 3 2 1 0 TBW R/W W W W W W W W W POR 0 0 0 0 0 0 0 0 3 2 1 0 Bit 7~0 TBW:写入的发送数据 6. 7. 10. 4 SPI接收数据读取寄存器(SPIRBR) SPIRBR:SPI 接收数据读取寄存器 Bit 7 6 5 4 Name RBR R/W R R R R R R R R POR 0 0 0 0 0 0 0 0 Bit 7~0 RBR:读取的接收数据 6. 7. 10. 5 SPI中断使能寄存器(SPIIE) SPIIE:SPI 中断使能寄存器 Bit 7 6 5 4 3 2 1 0 Name — TBWEIE NSSIE IDIE ROIE TEIE RBIE TBIE R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 未使用 TBWEIE:SPI 发送数据写错误中断使能位 0:禁止 1:使能 NSSIE:SPI 片选变化中断使能位(仅从动模式支持) 0:禁止 1:使能 IDIE:SPI 空闲状态中断使能位(仅主控模式支持) V1.8 版权所有©上海东软载波微电子有限公司 175/248 http://www.essemi.com ES7P169C 数据手册 Bit 3 Bit 2 Bit 1 Bit 0 6. 7. 10. 6 0:禁止 1:使能 ROIE:SPI 接收数据溢出中断使能位 0:禁止 1:使能 TEIE:SPI 发送数据错误中断使能位(仅从动模式支持) 0:禁止 1:使能 RBIE:SPI 接收缓冲器满中断使能位 0:禁止 1:使能 TBIE:SPI 发送缓冲器空中断使能位 0:禁止 1:使能 SPI中断标志寄存器(SPIIF) SPIIF:SPI 中断标志寄存器 Bit 7 6 5 4 3 2 1 0 Name — TBWEIF NSSIF IDIF ROIF TEIF RBIF TBIF R/W — R/W R/W R/W R/W R/W R R POR 0 0 0 0 0 0 0 1 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 未使用 TBWEIF:SPI 发送数据写错误中断标志位 0:未发生写错误 1:发生写错误:对 SPITBW 写入时,TB0~TB3 处于全满状态 软件写 1 清除标志位,写 0 无效 NSSIF:SPI 片选变化中断标志位(仅从动模式支持) 0:片选信号未发生变化 1:片选信号发生变化 软件写 1 清除标志位,写 0 无效 IDIF:SPI 空闲中断标志位(仅主控模式支持) 0:未进入空闲状态 1:进入空闲状态 软件写 1 清除标志位,写 0 无效;或软件写寄存器 SPITBW 清除标志位 ROIF:SPI 接收数据溢出中断标志位 0:未溢出 1:溢出 软件写 1 清除标志位,写 0 无效 TEIF:SPI 发送错误中断标志位(仅从动模式支持) 0:未发生发送错误 1:发生发送错误:发送缓冲器和发送移位寄存器全空时,又收到主控方提供的通 讯时钟 软件写 1 清除标志位,写 0 无效 V1.8 版权所有©上海东软载波微电子有限公司 176/248 http://www.essemi.com ES7P169C 数据手册 Bit 1 RBIF:SPI 接收缓冲器满中断标志位 0:接收缓冲器未满 1:接收缓冲器满 读 SPIRBR 寄存器可清除中断标志位 TBIF:SPI 发送缓冲器空中断标志位 0:发送缓冲器未空 1:发送缓冲器空 写 SPITBW 寄存器可清除中断标志位 Bit 0 注 1:SPI 中断禁止时,如果满足条件仍会置起对应的中断标志位,只是不会产生中断请求。 注 2:对 SPIIF 寄存器中的各中断标志位,写 0 无效,写 1 才能清除标志位;读操作时,读取的值为 1 表示有中断 发生。 V1.8 版权所有©上海东软载波微电子有限公司 177/248 http://www.essemi.com ES7P169C 数据手册 6. 8 模/数转换器(ADC) 6. 8. 1 概述 模拟数字转换器用于将模拟信号转化成一组二进制代码组成的数字信号。模拟信号经由多 路复用输入脚输入,通过一个采样-保持电路连接至转换器的输入端。 芯片支持 12-bit,12+2 个通道的 A/D 转换器,经过 A/D 转换器转换的 12-bit 二进制数据 存入 ADC 数据寄存器 ADCRH、ADCRL 中。  模/数转换器特性  最高 12 位 A/D 采样精度 12+2 个模拟输入通道可选 12 位转换结果,支持高位对齐放置或低位对齐放置 可配置 A/D 采样时间 多种转换时钟频率可选 可选择内部参考电压 2.048V 具有上限和下限门槛的电压自动监测,电压自动监测事件发生可产生中断 支持电源电压检测,电源分压比为 1/4VDD 主要功能组件  ADC 转换值寄存器(ADCRL,ADCRH) ADC 控制寄存器(ADCCL,ADCCM,ADCCH,ADCCSH) ADC 电压自动监测寄存器(ADCLTR,ADCHTR) 端口数模控制寄存器(ANSL、ANSH) ADC 转换支持以下启动方式 - 设置寄存器 ADCCL 的 ADTRG=1(SMPS=1)启动转换 设置寄存器 ADCCL 的 SMPON=1(SMPS=0)启动转换 外部中断 PINT5(ADC_ETR0/PA7)启动转换,需设置 ADC_ETR0EN=1 外部中断 PINT8(ADC_ETR1/PB1)启动转换,需设置 ADC_ETR1EN=1 T21 模块的比较匹配触发转换,需设置寄存器 T21CL 的 T21M=1011 T31 模块的更新事件或比较匹配触发转换,可通过寄存器 T31C1L 的 ADTRGS 位 设置  中断和暂停 - 6. 8. 2 支持 AD 转换中断(ADIE/ADIF) 在 IDLE 模式下,如果选择系统时钟及分频时钟作为 A/D 转换时钟源,A/D 转换暂 停 在 IDLE 模式下,如果选择 INTLRC(32KHz WDT RC 时钟)时钟作为 A/D 转换时 钟源,A/D 转换可唤醒 CPU 内部结构图 V1.8 版权所有©上海东软载波微电子有限公司 178/248 http://www.essemi.com ES7P169C 数据手册 ADVREFNS,ADVREFPS ADCLTR/ADCHTR 数字比较器 M 00 U 01 X 10 11 VDD,VSS VREF,VSS ADCHS AIN0 AIN1 ADFM AIN2 AIN3 ADCRH/ADCRL M U X ADC ADTRG ADEN ADCKS M U X MUX Fosc AIN4 AIN5 AIN6 AIN7 1/4VDD AIN9 AIN10 AIN11 AIN12 VSS Fosc/64 INTLRC 图 6-61 ADC 内部结构图 6. 8. 3 ADC配置 ADC 电路使用前,根据需要对以下几个方面进行正确的配置,才可得到正确转换结果。 需软件设置 ADCCM 寄存器的 VREFSEL 位固定为 0,ADVREFNS 位固定为 1, ADOFSTS位固定为 10,ADBITSEL位固定为 11;设置 ADCCSH 寄存器的 ADC_LP_EN 位固定为 1。 6. 8. 3. 1 时钟选择 ADC 电路的转换时钟有 8 组可选,Fosc~Fosc/64 或 INTLRC,可通过 ADCCH 寄存器 ADCKS位选择所需要的时钟。 6. 8. 3. 2 参考源选择 ADC 电路的参考源有正参考源和负参考源两种选择配置,正参考源可通过 ADCCM 寄存 器的 ADVREFPS位选择,其中包括内部参考电压和电源电压 VDD 两种可选;负参 考源必须通过软件设置 ADCCM 寄存器的 ADVREFNS 位为 1,配置为地 VSS。 6. 8. 3. 3 内部参考电压 ADC 电路支持一路内部参考电压 2.048V,通过软件设置 ADCCM 寄存器的 VREFSEL 位 固定为 0。为了提内部参考电压的稳定性,需先设置 ADCCH 寄存器中的 VREFEN 位使能 内部参考,并等待 300us 以后,再设置 ADCCH 寄存器中的 VREF_CHOPEN 位使能内部 参考电压斩波器。 6. 8. 3. 4 采样时间选择 ADC 电路的采样时间可通过 ADCCH 寄存器中的 ADST位选择,采样时间有 2 个 Tadclk、4 个 Tadclk、8 个 Tadclk 以及 16 个 Tadclk 四种选项。如果转换信号跳变比较大, 建议采样时间设置较长的档位,如 8 个 Tadclk 或者 16 个 Tadclk。 V1.8 版权所有©上海东软载波微电子有限公司 179/248 http://www.essemi.com ES7P169C 数据手册 6. 8. 3. 5 采样模式选择及控制 本芯片 ADC 可选择软件采样和硬件采样两种模式,通过 ADCCL 寄存器中的 SMPS 位选 择。选用软件采样时,可通过 ADCCL 寄存器中的 SMPON 位控制采样的启动和停止。 6. 8. 3. 6 复用端口类型选择 芯片中 ADC 电路的所有模拟输入通道 AINx 均和 PA/PB 端口复用,在使用 ADC 电路转换 前,须先将所使用的管脚设置为输入端口,并通过 ANSL/ANSH 寄存器设置为模拟类型。 6. 8. 3. 7 模拟信号输入通道选择 ADC 电路使能前,需先选择 A/D 模拟通道。本芯片 ADC 电路支持 12 个外部通道 AIN0~AIN7,AIN9~12,2 个内部通道 1/4VDD 和 VSS。A/D 模拟通道可通过 ADCCL 寄 存器中的 ADCHS 位选择。 6. 8. 3. 8 转换结果和对齐方式选择 ADC 电路转换位数通过 ADCCM 寄存器的 ADBITSEL位进行设置, 需软件固定为 11, 设置为 12 位。转换的结果支持两种对齐方式,低位对齐和高位对齐,可通过 ADCCH 寄 存器中的 ADFM 位进行选择。 ADC 转换结果的初始失调误差较大,需进行软件校准。在芯片出厂前,分别对 ADC 使用 内部 VREF 2.048V 和 VDD(4V)做参考时的初始失调误差进行了测量(基于 offset 调整 档位 1, ADCCM 寄存器的 ADOFSTS 位为 10) , 测量值分别保存在 FLASH 信息区的 802FH 和 8030H 地址,可通过 IAP 读取获得,具体操作方式可参考本芯片应用笔记。芯片应用时 也可以不使用该出厂测量值,而是在应用系统中进行初始失调误差的测量,测量时选择内 部通道 VSS 作为 ADC 模拟通道,得到的 ADC 转换结果作为初始失调误差, 可以提升 ADC 在实际应用过程中的软件校准精度。 在应用中 ADC 转换完成后得到的转换值,需要软件减去上述初始失调误差后,再作为最 终的 ADC 转换结果。 6. 8. 4 ADC转换步骤 下面概述实现 ADC 转换过程的各个步骤, 实际应用中还需要考虑 ADC 自身工作的建立 (参 见寄存器 ADCCL 后面的备注描述内容) 。 Step 1:设置内部参考电压 VREF 为 2.048V,AD 负参考源为 VSS,offset 调整档位 1, AD 转换位数为 12 位,使能 ADC 低功耗模式,即需软件设置 ADCCM 寄存器的 VREFSEL 位固定为 0, ADVREFNS 位固定为 1,ADOFSTS位固定为 10,ADBITSEL 位固定为 11,ADCCSH 寄存器的 ADC_LP_EN 位固定为 1。 Step 2:选择 ADC 转换时钟,通过 ADCCH 寄存器中的 ADCKS选择 ADC 转换时钟。 ADC 转换时钟频率建议设置在 32KHz~2MHz 之间。 Step 3:使能 ADC 电路,将 ADCCL 寄存器中的 ADC 使能位 ADEN 设置为“1”。 Step 4:选择 ADC 正参考电压源,通过 ADCCM 寄存器中的 ADVREFPS 位进行选 择,如果选择内部参考,需先设置 ADCCH 寄存器中的 VREFEN 位使能内部参考,并等 待 300us 以后, 再设置 ADCCH 寄存器中的 VREF_CHOPEN 位使能内部参考电压斩波器, 否则内部参考电压可能工作不稳定,然后等待 1ms 后再启动 ADC 转换;如果选择 VDD V1.8 版权所有©上海东软载波微电子有限公司 180/248 http://www.essemi.com ES7P169C 数据手册 作为 ADC 参考电压,则无需使能 VREFEN 和 VREF_CHOPEN,在 ADC 启动之前,无 需添加该等待时间。 Step 5:选择 ADC 采样时间,通过 ADCCH 寄存器中的 A/D 采样时间选择位 ADST 设定,一般建议设置为至少 8 个 Tadclk。 Step 6:选择 ADC 采样模式,通过 ADCCL 寄存器中的 A/D 采样模式选择位 SMPS 选择 软件采样或硬件采样。 Step 7:设置复用端口为模拟类型,即选择哪些管脚作为 ADC 转换输入管脚,由端口数 模控制寄存器 ANSL 和 ANSH 控制选择,并且需通过寄存器 PAT 和 PBT 将被选择的模拟 管脚设置为输入。 Step 8:选择模拟信号输入通道 AINx,通过 ADCCL 寄存器中的 ADCHS 选择 ADC 模拟通道。 Step 9:设置转换结果对齐方式,通过 ADCCH 寄存器中的 ADFM 位,选择高位对齐放置 还是低位对齐放置。 Step 10:如果要使用中断,则中断控制寄存器需要正确地设置,以确保 A/D 中断功能被 正确激活。在默认中断模式下,需将全局中断使能位/高优先级中断使能位 GIE 置“1”,将 ADC 中断使能位置“1”;在向量中断模式下,需将全局中断使能位/高优先级中断使能位 GIE 置“1”,根据 A/D 中断所在组的优先级决定是否要开启低优先级中断使能位 GIEL,将 ADC 中断使能位置“1”。 Step 11:当 ADCCL 寄存器中的 SMPS=0 时,选择软件采样模式,设置 ADCCL 寄存器 中的 SMPON=1 启动采样,ADCCL 寄存器中的 ADTRG 位硬件自动置 1;当 SMPS=1 时, 选择硬件采样模式,将 ADC 转换启动位 ADTRG 位设置为“1”,开始 ADC 转换。 Step 12:轮询 ADCCL 寄存器中的转换状态位 ADTRG 位,确定此次 A/D 转换是否完成。 Step 13:读取 ADCRH 和 ADCRL 寄存器中的转换结果。 Step 14:对 ADC 转换结果进行软件校准,减去初始失调误差。 6. 8. 5 电压自动监测 当模拟电压通过 ADC 转换后的值低于下门限或者高于上门限值,如果电压自动监测使能 位 ADCVTEN 使能,如果下门槛中断使能位 ADLTRIE(INTE0)使能,则会产生低于 下门槛中断,ADLTRIF(INTF0)置一,需要软件清零。同样,如果上门槛中断使能 位 ADHTRIE(INTE0)使能,则会产生高于上门槛中断,ADHTRIF(INTF0)置 一,需要软件清零。 上下限门槛值可通过 ADCLTR 和 ADCHTR 寄存器,在 ADC 转换前进行预设。 特别注意:A/D 自动监测门槛使能位需在每次 ADTRG 使能前关闭,A/D 转换完成后再打 开。 V1.8 版权所有©上海东软载波微电子有限公司 181/248 http://www.essemi.com ES7P169C 数据手册 6. 8. 6 AD时序特征示意图 ADCLK SMPS Tog* ADEN SMPON 14Tadclk 硬件自动置1 ADTRG 转换时间 采样时间 软件清零 ADIF ADCR 新数据 原数据 图 6-62 ADC 时序特征示意图(SMPS=0) ADCLK SMPS ADEN Tog* ADTRG 14Tadclk 转换时间 采样时间 软件清零 ADIF ADCR 原数据 新数据 图 6-63 ADC 时序特征示意图(SMPS=1) 注 1:Tog > 80us; 注 2:AD 转换时钟周期 Tadclk,可通过 ADCKS寄存器配置不同的频率。 6. 8. 7 参考例程 应用例程 1:对模拟输入通道 0 (AIN0)进行模数转换,使用内部 VREF 作为 AD 参考电压 …… BSS MOVI MOVA MOVI MOVA MOVI MOVA ADCCSH, ADC_LP_EN ; ADC 低功耗模式 0x6B ; 正参考为内部 VREF2.048V,负参考源为 VSS, ADCCM ; offset 调节档位 1,AD 转换结果为 12 位 0x49 ; 转换结果高位对齐,AD 时钟频率为 Fosc/16, ADCCH ; AD 采样时间为 8Tadclk,VREFEN 使能 0x05 ; 硬件控制 ADC 采样模式 ADCCL ; 使能 ADC 转换器,选中通道 0,ADEN 使能 V1.8 版权所有©上海东软载波微电子有限公司 182/248 http://www.essemi.com ES7P169C 数据手册 …… BSS …… BSS AD_WAIT JBC GOTO MOV …… MOV …… …… …… 6. 8. 8 ; 延时等待 300us ADCCH, VREF_CHOPEN ; 使能内部参考电压斩波器 ; 延时等待 1ms ADCCL, ADTRG ; 触发 ADC 转换 ADCCL, ADTRG AD_WAIT ADCRH, 0 ; 等待 ADC 转换完成 ; 读取高 8 位转换结果 ADCRL, 0 ; 读取低 4 位转换结果 ; ADC 转换结果进行软件校准(减去初始失调误差) 特殊功能寄存器 ADC 功能是由四个控制寄存器和两个数据寄存器控制实现的。其中 ADCRL 和 ADCRH 寄 存器用于存储 ADC 转换的数据结果,结果对齐方式由 ADCCH 寄存器中的 ADFM 位控制 选择;ADCCL 寄存器用于 ADC 模块的使能控制、ADC 采样模式选择、ADC 转换启动控 制以及 ADC 模拟通道选择等;ADCCH 寄存器用于 ADC 采样时间选择、正负参考电压选 择、ADC 时钟选择以及结果对齐方式选择等;ADCCM 寄存器用于正负参考电压选择、转 换结果位数选择、ADC 转换 offset 调整选择等;ANSL、ANSH 寄存器用于控制复用端口 的数模类型。 6. 8. 8. 1 ADFM 1 ADC转换值寄存器(ADCR) ADCRH:ADC 转换值寄存器高 8 位 Bit7 Bit6 Bit5 Bit4 — — — — 0 Bit3 Bit2 ADCRL:ADC 转换值寄存器低 8 位 Bit1 Bit0 Bit7 Bit6 Bit5 ADCR Bit4 Bit3 Bit2 Bit1 Bit0 — — — — ADCR ADCR ADCR R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ADCR:A/D 转换结果 6. 8. 8. 2 ADC自动监测下门槛值寄存器(ADCLTR) ADCLTRH:ADC 下门槛值寄存器高 8 位 Bit3 Bit2 Bit1 ADCLTRL:ADC 下门槛值寄存器低 8 位 Bit7 Bit6 Bit5 Bit4 Bit0 Bit7 Bit6 Bit5 Name — — — — R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 0 0 0 0 ADCLTR Bit4 Bit3 Bit2 Bit1 Bit0 R/W R/W R/W R/W 0 0 0 0 ADCLTR ADCLTR:A/D 自动监测下门槛值 V1.8 版权所有©上海东软载波微电子有限公司 183/248 http://www.essemi.com ES7P169C 数据手册 6. 8. 8. 3 ADFM ADC自动监测上门槛值寄存器(ADCHTR) ADCHTRH:ADC 上门槛值寄存器高 8 位 Bit3 Bit2 ADCHTRL:ADC 上门槛值寄存器低 8 位 Bit7 Bit6 Bit5 Bit4 Bit1 Bit0 Bit7 Bit6 Bit5 Name — — — — R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 1 1 1 1 1 1 1 1 1 1 1 1 ADCHTR Bit4 Bit3 Bit2 Bit1 Bit0 R/W R/W R/W R/W 1 1 1 1 ADCHTR ADCHTR:A/D 自动监测上门槛值 6. 8. 8. 4 ADC控制寄存器低 8 位(ADCCL) ADCCL:ADC 控制寄存器低 8 位 Bit 7 Name 6 5 4 ADCHS 3 2 1 0 SMPON SMPS ADTRG ADEN R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 1 1 1 1 0 1 0 0 Bit 7~4 Bit 3 Bit 2 Bit 1 Bit 0 ADCHS:A/D 模拟通道选择位 0000:通道 0(AIN0) 0001:通道 1(AIN1) 0010:通道 2(AIN2) 0011:通道 3(AIN3) 0100:通道 4(AIN4) 0101:通道 5(AIN5) 0110:通道 6(AIN6) 0111:通道 7(AIN7) 1000:1/4VDD(四分之一电源电压) 1001:通道 9(AIN9) 1010:通道 10(AIN10) 1011:通道 11(AIN11) 1100:通道 12(AIN12) 1101:屏蔽通道选择 1110:VSS 1111:屏蔽通道选择 SMPON:A/D 采样软件控制位 0:结束采样 1:启动采样 SMPS:A/D 采样模式选择位 0:使能软件采样,硬件采样禁止 1:禁止软件采样,硬件采样使能 ADTRG:A/D 采样转换状态位 0:A/D 未进行转换,或 A/D 采样转换已完成 1:A/D 采样转换正在进行 当 SMPS=1 时,该位软件置 1 启动 A/D 采样转换;当 SMPS=0 时,SMPON=1 启 动采样,该位硬件自动置 1。 ADEN:A/D 转换使能位 V1.8 版权所有©上海东软载波微电子有限公司 184/248 http://www.essemi.com ES7P169C 数据手册 0:关闭 A/D 转换器 1:运行 A/D 转换器 注 1:如果 ADC 选择内部参考,需先设置 ADCCH 寄存器中的 VREFEN 位使能内部参考,设置 ADCCL 寄存器的 ADEN 位使能 ADC,并等待 300us 以后,再设置 ADCCH 寄存器中的 VREF_CHOPEN 位使能参考电压斩波 器,否则内部参考电压可能工作不稳定,然后延时 1ms 以上,ADC 工作建立完成(否则有可能导致 ADC 转 换异常) ,再启动 ADC 转换(ADTRG=1) ,可得到正确的转换结果。 注 2:因 ADC 使用内部参考时,每次 ADEN 和 VREFEN 重新使能后,均需要执行上述内部参考电压和 ADC 工作 建立过程,所以应用中,在芯片正常运行时不建议关闭 ADC 和内部参考电压,保持 ADEN=1,VREFEN=1, VREF_CHOPEN=1,只在进入 IDLE 休眠模式前,可以关闭 ADC,内部参考电压及其斩波器,降低睡眠功耗。 6. 8. 8. 5 ADC控制寄存器次高 8 位(ADCCM) ADCCM:ADC 控制寄存器次高 8 位 Bit 7 6 Name VREFSEL ADVREFNS R/W R/W POR 1 Bit7 Bit6 Bit 5~4 Bit 3~2 Bit 1-0 5 4 3 2 1 0 ADVREFPS ADOFSTS ADBITSEL R/W R/W R/W R/W R/W R/W R/W 1 0 0 0 0 1 1 VREFSEL:参考电压选择位,需软件固定为 0 0:2.048V 1:保留未用 ADVREFNS:A/D 负参考源选择位,需软件固定为 1 0:保留未用 1:VSS ADVREFPS:A/D 正参考源选择位 00:VDD 01:保留未用 10:内部 VREF 11:内部 VREF ADOFSTS:A/D 调整 offset 选择位,需软件固定设置为 10 00:保留未用 01:保留未用 10:offset 调整档位 1 11:保留未用 ADBITSEL:A/D 转换位数选择位,需软件固定设置为 11 00:保留未用 01:保留未用 10:保留未用 11:12 位(转换结果为 ADCR) V1.8 版权所有©上海东软载波微电子有限公司 185/248 http://www.essemi.com ES7P169C 数据手册 6. 8. 8. 6 ADC控制寄存器高 8 位(ADCCH) ADCCH:ADC 控制寄存器高 8 位 Bit 7 Name ADFM R/W R/W R/W R/W R/W R/W POR 0 1 0 0 1 Bit 7 Bit 6~4 Bit 3~2 Bit 1 Bit 0 6 5 4 3 ADCKS 2 1 0 VREF_CHOPEN VREFEN R/W R/W R/W 0 0 0 ADST ADFM:A/D 转换数据放置格式选择位 0:高位对齐(ADCRH, ADCRL) 1:低位对齐(ADCRH, ADCRL) ADCKS:A/D 转换时钟频率(Tadclk)选择位 000:Fosc 001:Fosc/2 010:Fosc/4 011:Fosc/8 100:Fosc/16 101:Fosc/32 110:Fosc/64 111:INTLRC(32KHz INTLRC 时钟) ADST:A/D 硬件采样时间选择位 00:大约 2 个 Tadclk 01:大约 4 个 Tadclk 10:大约 8 个 Tadclk 11:大约 16 个 Tadclk VREF_CHOPEN:内部参考电压斩波器使能位 0:禁止 1:使能(ADC 使用内部 VREF 时,需软件设置为 1) VREFEN:参考电压模块使能位 0:禁止 1:使能 注 1:如果在 A/D 转换过程中,进行转换时钟切换,切换后第一次 A/D 转换结果有可能存在误差; 注 2:使用内部 VREF 参考电压时,在 VREFEN 使能后,需等待 300us,再设置 VREF_CHOPEN 使能内部参考电 压斩波器,否则内部参考电压可能工作不稳定。 6. 8. 8. 7 ADC控制寄存器超高 8 位(ADCCSH) ADCCSH:ADC 控制寄存器超高 8 位 Bit 7 Bit 7 6 5 4 3 Name ADCVTTEN T21ADS ADC_LP_EN T21ADEN R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 2 1 0 R/W R/W R/W 0 0 0 — ADCVTTEN:A/D 自动监测门槛使能位 0:禁止 1:使能 V1.8 版权所有©上海东软载波微电子有限公司 186/248 http://www.essemi.com ES7P169C 数据手册 Bit 6 Bit 5 Bit 4 Bit 3 ~0 T21ADS:T21 PWM 沿启动 ADC 选择位 0:上升沿 1:下降沿 ADC_LP_EN:ADC 低功耗使能位(需软件固定设置为 1) 0:保留未用 1:低功耗模式 T21ADEN:T21 PWM 沿启动 ADC 使能位 0:禁止 1:使能 保留未用 注 1:A/D 自动监测门槛使能位需在每次 ADTRG 使能前关闭,A/D 转换完成后再打开; 注 2:ADC 低功耗使能位 ADC_LP_EN,需软件固定设置为 1,否则会增大芯片功耗。 6. 8. 8. 8 端口数模控制寄存器低 8 位(ANSL) ANSL:端口数模控制寄存器 Bit 7 6 5 4 3 2 1 0 Name ANSL7 ANSL6 ANSL5 ANSL4 ANSL3 ANSL2 ANSL1 ANSL0 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ANSL7:PA7/AIN7 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSL6:PB7/AIN6 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSL5:PB3/AIN5 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSL4:PB2/AIN4 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSL3:PB0/AIN3 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSL2:PA2/AIN2 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSL1:PA1/AIN1 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSL0:PA0/AIN0 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 V1.8 版权所有©上海东软载波微电子有限公司 187/248 http://www.essemi.com ES7P169C 数据手册 6. 8. 8. 9 端口数模控制寄存器高 8 位(ANSH) ANSH:端口数模控制寄存器 Bit 7 6 5 4 3 2 1 0 Name — — — ANSH4 ANSH3 ANSH2 ANSH1 — R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 ~5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 保留未用 ANSH4:PB5/AIN12 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSH3:PB1/AIN11 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSH2:PA6/AIN10 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 ANSH1:PB4/AIN9 端口数模选择位 0:模拟输入端口 1:数字输入/输出端口 保留未用 V1.8 版权所有©上海东软载波微电子有限公司 188/248 http://www.essemi.com ES7P169C 数据手册 6. 9 低电压检测模块(LVD) 6. 9. 1 概述 芯片内置一组低电压检测模块,支持低电压检测功能,即 LVD,该功能使能用于监测电源电 压 VDD。在供电电源不稳定的情况下,像外部电源噪声串扰或 EMS 测试条件下,会使电 源剧烈振荡。在目标电压未稳定时,可能就会低于工作电压。若所需检测的电压低于一定值 可提供一个警告信号。低电压检测也可产生中断信号。 6. 9. 2 LVD操作 LVD 功能的禁止使能由 LVDC 寄存器中的 LVDEN 控制位设置。当 LVDEN 位清零,LVD 功 能禁止。当 LVDEN 位置高,LVD 功能使能。LVD 模块将电源电压 VDD 与预置电压进行比 较,比较结果通过 LVDC 寄存器的 LVDLS 位进行查询。预置电压的阈值由 LVDC 寄存器中 的 LVDV配置。当目标电压低于预置电压值时,LVDLS 位被置为高,表明检测到低电 压产生,产生 LVD 中断标志。当 LVD 中断使能开启时产生 LVD 中断请求。 VDD 电压检测 预设电压 0V LVDEN LVDLS 图 6-64 6. 9. 3 LVD 工作时序图 特殊功能寄存器 LVDC:LVD 检测寄存器 Bit 7 6 5 4 3 Name LVDLS — — LVDEN — R/W R — — R/W — R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit6~5 Bit 4 2 1 0 LVDV LVDLS:LVD 电压检测状态位 0:电源电压高于预设电压 1:电源电压低于预设电压 保留未用 LVDEN:LVD 使能位 0:禁止 1:使能 V1.8 版权所有©上海东软载波微电子有限公司 189/248 http://www.essemi.com ES7P169C 数据手册 Bit 3 Bit 2~0 保留未用 LVDV:LVD 电压检测选择位 000:2.2V 001:2.4V 010:2.6V 011:2.8V 100:3.0V 101:3.6V 110:4.0V 111:4.6V 注:LVD 档位必须高于 BOR 复位电压档位,否则 LVD 功能失效。 V1.8 版权所有©上海东软载波微电子有限公司 190/248 http://www.essemi.com ES7P169C 数据手册 第7章 中断处理 7. 1 概述 中断是芯片的一个重要功能,它能将芯片从睡眠模式中唤醒,也可以使系统在正常运行过程 中响应突发事件,中止并保存当前运行程序的信息,跳转到请求中断服务程序的入口地址, 执行相对应的中断服务程序,处理突发事件。本芯片支持的中断模式有两种:默认中断模式 和向量中断模式,最多可支持 30 个中断源:1 个软件中断和 29 个硬件中断。 V1.8 版权所有©上海东软载波微电子有限公司 191/248 http://www.essemi.com ES7P169C 数据手册 7. 2 中断控制结构框图 SOFTIF KIF KIE PIF0 PIE0 默认中断模式 PIF1 PIE1 PIF2 PIE2 PIF3 PIE3 PIF4 PIE4 PIF5 PIE5 PIF6 PIE6 PIF7 PIE7 PIF8 PIE8 T8NIF T8NIE T31IF T31IE T21VIF T21VIE T21PIF T21PIE T21MIF0 T21MIE0 T21MIF1 T21MIE1 T21MIF2 T21MIE2 T11VIF T11VIE T11PIF T11PIE ADIF ADIE TX0IF TX0IE RX0IF RX0IE I2CIF I2CIE SPI_GIEIF SPI_GIEIE GIE 中断请求 TX1IF TX1IE RX1IF RX1IE LVDIF LVDIE ADLTHIF ADLTHIE ADHTHIF ADHTHIE 图 7-1 默认中断模式中断控制逻辑 V1.8 版权所有©上海东软载波微电子有限公司 192/248 http://www.essemi.com ES7P169C 数据手册 T8NIF T8NIE KIF KIE T31IF T31IE PIF0 PIE0 PIF1 PIE1 PIF2 PIE2 PIF3 PIE3 PIF4 PIE4 PIF5 PIE5 PIF6 PIE6 PIF7 PIE7 PIF8 PIE8 TX0IF TX0IE RX0IF RX0IE RX1IF RX1IE TX1IF TX1IF LVDIF LVDIE ADHTHIF ADHTHIE ADLTHIF ADLTHIE GROUP0_INT 向量中断模式 GROUP1_INT GROUP0_INT INTP GROUP1_INT INTP GROUP2_INT INTP GROUP3_INT INTP GROUP2_INT GROUP4_INT INTP SOFTIF GROUP6_INT INTP GROUP7_INT INTP GROUP3_INT 高优先级 中断请求 中断请求 GROUP0_INT ~INTP GIE GROUP1_INT ~INTP GROUP2_INT ~INTP GROUP3_INT ~INTP GROUP4_INT 低优先级 中断请求 GROUP4_INT GIEL ~INTP ADIF ADIE SPI_GIEIF SPI_GIEIE GROUP5_INT GROUP6_INT ~INTP I2CIF I2CIE GROUP6_INT GROUP7_INT ~INTP T21VIF T21VIE T21PIF T21PIE T21MIF0 T21MIE0 T21MIF1 T21MIE1 T21MIF2 T21MIE2 T11VIF T11VIE T11PIF T11PIE GROUP7_INT 图 7-2 向量中断模式中断控制逻辑 7. 3 中断模式选择 芯片支持两种中断模式,默认中断模式和向量中断模式,可通过 INTG 寄存器中的 INTVEN0 位和芯片配置字中的 INTVEN1 位选择。需要注意的是,INTVEN0 和 INTVEN1 只有同时置“1”时,向量中断模式才有效。 INTVEN0 (INTG) INTVEN1 (CFG_WD0) 0 0 0 1 1 0 1 1 中断模式 默认中断模式 向量中断模式 表 7-1 中断模式选择表 V1.8 版权所有©上海东软载波微电子有限公司 193/248 http://www.essemi.com ES7P169C 数据手册 默认中断模式只支持 1 个中断入口,即 0004H 入口地址,不支持中断优先级和中断嵌套。 向量中断模式支持多个中断入口,且支持中断优先级和中断嵌套。 7. 3. 1 默认中断模式 当配置为默认中断模式时,所有中断向量的入口地址均位于 0004H。用户需通过中断服务 程序对各中断标志及中断使能位进行判断,确认引起中断操作的中断源,从而执行相应的 中断服务子程序。该模式不支持中断优先级配置。 序号 中断名 中断标志 中断使能 全局使能 备注 软中断 SOFTIF — GIE 软件置 1 2 PINT0 PIF0 PIE0 GIE — 3 PINT1 PIF1 PIE1 GIE — 4 PINT2 PIF2 PIE2 GIE — 5 PINT3 PIF3 PIE3 GIE — PINT4 PIF4 PIE4 GIE — 7 PINT5 PIF5 PIE5 GIE — 8 PINT6 PIF6 PIE6 GIE — 9 PINT7 PIF7 PIE7 GIE — 10 PINT8 PIF8 PIE8 GIE — 1 6 中断源 软中断 外部中断 11 T8N 定时器/计数器溢 出中断 T8NINT T8NIF T8NIE GIE — 12 T31 总中断 T31INT T31IF T31IE GIE — 13 T21 定时器溢出中断 T21VINT T21VIF T21VIE GIE — 14 T21 周期匹配中断 T21PINT T21PIF T21PIE GIE — 15 T21 捕捉/比较中断 0 T21MINT0 T21MIF0 T21MIE0 GIE — 16 T21 捕捉/比较中断 1 T21MINT1 T21MIF1 T21MIE1 GIE — 17 T21 捕捉/比较中断 2 T21MINT2 T21MIF2 T21MIE2 GIE — 18 T11 定时器溢出中断 T11VINT T11VIF T11VIE GIE — 19 T11 周期匹配中断 T11PINT T11PIF T11PIE GIE — 20 ADC 中断 ADINT ADIF ADIE GIE — 21 ADC 低阈值电压检测 中断 ADLTHINT ADLTHIF ADLTHIE GIE — 22 ADC 高阈值电压检测 中断 ADHTHINT ADHTHI F ADHTHI E GIE — 23 UART0 TX 中断 TX0INT TX0IF TX0IE GIE — 24 UART0 RX 中断 RX0INT RX0IF RX0IE GIE — 25 UART1 TX 中断 TX1INT TX1IF TX1IE GIE — 26 UART1 RX 中断 RX1INT RX1IF RX1IE GIE — 27 I2CS 通讯总中断 I2CINT I2CIF I2CIE GIE — 28 SPI 通讯总中断 SPIINT SPI_GIE IF SPI_GIEI E GIE — 29 外部按键中断 KINT KIF KIE GIE — 30 LVD 中断 LVDINT LVDIF LVDIE GIE — 表 7-2 默认中断模式使能配置表 V1.8 版权所有©上海东软载波微电子有限公司 194/248 http://www.essemi.com ES7P169C 数据手册 7. 3. 2 向量中断模式 7. 3. 2. 1 向量表配置 当配置为向量中断模式时,各中断源按组划分,每组中断对应一个中断向量入口地址。 软中断入口地址为 0004H,优先级最高;其它硬件中断分 8 组(IG0~IG7),通过中断全局 寄存器 INTG 中的 INTV配置支持不同的向量表优先级排序,并对应 8 个中断入口 地址。每组硬件中断可以分别设置高低优先级,响应中断嵌套。通过中断优先级寄存器 INTP 中的 IGPx 配置,将所有硬件中断源分为高低两个优先级仲裁区。根据 INTV 的设置,对处于该仲裁区内的硬件中断组,进行优先级排序,并响应优先级最高的。高 低两个优先级仲裁区分别由高优先级中断使能位 GIE 和低优先级中断使能位 GIEL 来使 能。在执行低优先级中断服务程序时,可嵌套响应高优先级中断组。 优先级 0(高) 1 2 3 4 5 6 7 8(低) 入口地址 0004H 0008H 000CH 0010H 0014H 0018H 001CH 0020H 0024H IG0 IG1 IG2 IG3 IG4 IG5 IG6 IG7 IG0 IG1 IG6 IG7 IG4 IG5 IG2 IG3 IG4 IG5 IG2 IG3 IG0 IG1 IG6 IG7 IG7 IG6 IG5 IG4 IG3 IG2 IG1 IG0 00 01 INTV 10 11 软中断 表 7-3 向量表配置表 7. 3. 2. 2 中断分组配置 序号 中断组号 高低优先级选择 中断名 备注 1 IG0 IGP0 T8NINT — KINT — 2 IG1 IGP1 T31INT — 3 PINT0 — 4 PINT1 — 5 PINT2 — 6 PINT3 — PINT4 — 8 PINT5 — 9 PINT6 — 10 PINT7 — 11 PINT8 — 12 TX0INT — RX0INT — TX1INT — 15 RX1INT — 16 ADINT — ADHTHINT — ADLTHINT — LVDINT — SPIINT — 7 13 14 17 18 IG2 IG3 IG4 IGP2 IGP3 IGP4 20 21 IG5 V1.8 版权所有©上海东软载波微电子有限公司 IGP5 195/248 http://www.essemi.com ES7P169C 数据手册 序号 中断组号 高低优先级选择 中断名 备注 22 IG6 IGP6 I2CINT — 23 T21VINT — 24 T21PINT — 25 T21MINT0 — T21MINT1 — 27 T21MINT2 — 28 T11VINT — 29 T11PINT — IG7 26 IGP7 表 7-4 向量中断模式中断分组配置表 7. 3. 2. 3 中断使能配置 — 低优先级中 断使能位 — 全局中断 使能位 GIE 软件置 1 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE 1 — GIE 0 GIEL GIE 中断名 中断标志 中断使能 IGPx 软中断 SOFTIF — 2 PINT0 PIF0 PIE0 3 PINT1 PIF1 PIE1 4 PINT2 PIF2 PIE2 5 PINT3 PIF3 PIE3 PINT4 PIF4 PIE4 7 PINT5 PIF5 PIE5 8 PINT6 PIF6 PIE6 9 PINT7 PIF7 PIE7 10 PINT8 PIF8 PIE8 序号 1 6 中断源 软中断 外部中断 11 T8N 定时器/计 数器溢出中断 T8NINT T8NIF T8NIE 12 T31 总中断 T31INT T31IF T31IE 13 T21 定时器溢 出中断 T21VINT T21VIF T21VIE 14 T21 周期匹配 中断 T21PINT T21PIF T21PIE 15 T21 捕捉/比较 T21MINT0 T21MIF0 T21MIE0 V1.8 版权所有©上海东软载波微电子有限公司 备注 — 196/248 http://www.essemi.com ES7P169C 数据手册 序号 中断源 中断名 中断标志 中断使能 中断 0 16 T21 捕捉/比较 中断 1 T21MINT1 T21MIF1 T21MIE1 17 T21 捕捉/比较 中断 2 T21MINT2 T21MIF2 T21MIE1 18 T11 定时器溢 出中断 T11VINT T11VIF T11VIE 19 T11 周期匹配 中断 T11PINT T11PIF T11PIE 20 ADC 中断 ADINT ADIF ADIE 21 UART0 TX 中 断 TX0INT TX0IF TX0IE 22 UART0 RX 中 断 RX0INT RX0IF RX0IE 23 UART1 TX 中 断 TX1INT TX1IF TX1IE 24 UART1 RX 中 断 RX1INT RX1IF RX1IE 25 I2CS 通讯总中 断 I2CINT I2CIF I2CIE 26 SPI 通讯总中 断 SPIINT SPI_GIEI F SPI_GIEI E 27 外部按键中断 KINT KIF KIE 28 ADC 低阈值电 压检测中断 ADLTHINT ADLTHIF ADLTHIE 29 ADC 高阈值电 压检测中断 ADHTHIN T ADHTHIF ADHTHIE 30 LVD 中断 LVDINT LVDIF LVDIE 1 低优先级中 断使能位 — 全局中断 使能位 GIE 0 GIEL GIE — 1 — GIE — 0 GIEL GIE 1 — GIE 0 GIEL GIE — 1 — GIE — 0 GIEL GIE 1 — GIE 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — 0 GIEL GIE — 1 — GIE — IGPx 备注 — 表 7-5 向量中断模式使能配置表 7. 4 中断现场保护 中断现场保护是中断服务程序中一个很重要的组成部分。 指令系统中有 PUSH(压栈)和 POP(出栈)指令,可以方便的实现当前工作状态的保存和 恢复。A、PSW、PCRH 和 BKSR 寄存器,分别有各自的两级镜像寄存器 AS1、PSWS1、 PCRHS1、BKSRS1 和 AS0、PSWS0、PCRHS0、BKSRS0,用于对相应寄存器的保存和 恢复。镜像寄存器无物理地址,他们只能通过 PUSH 和 POP 指令自动完成相应的保存与恢 V1.8 版权所有©上海东软载波微电子有限公司 197/248 http://www.essemi.com ES7P169C 数据手册 复动作,两级镜像寄存器采用堆栈的操作方式。 7. 5 中断操作 7. 5. 1 中断使能位GIE和GIEL的操作 若中断事件条件产生,相关中断标志将被置为“1”。中断标志产生后程序要跳转至相应的服务 程序地址执行,需满足以下条件: 1) 当对应中断使能位为“1”时,继续判断第二个条件是否满足;当对应中断使能位为“0”时, 即使中断标志为“1”,中断也不会发生,程序也不会跳转至中断服务程序地址执行。 2) 在默认中断模式下,当全局中断使能位 GIE 为“0”时,将屏蔽所有中断请求。当全局中断 使能位 GIE 为“1”时,程序将跳至中断服务程序地址执行。在向量中断模式下,当全局中 断使能位 GIE 为“0”时,将屏蔽所有中断请求。当全局中断使能位 GIE 为“1”时,若对应中 断所在组为高优先级,程序将跳至中断服务程序地址执行;若对应中断所在组为低优先级, 当低优先级中断使能位 GIEL 为“1”时,在无高优先级中断请求时,程序将跳至中断服务地 址执行,当低优先级中断使能位 GIEL 为“0”时,将屏蔽所有低优先级中断请求。 为确保对寄存器 GIE 和 GIEL 的软件写操作成功,需按如下步骤进行: 1) 在默认中断模式或向量中断模式下,对 GIE 位的软件清 0 操作,需先关闭所有外设中断使 能,再将 GIE 位清 0;或在 GIE 位清 0 操作后,查询 GIE 位是否为 0,不为 0 则继续执 行清 0 操作,直到成功为止; 对 GIE 位的软件置 1 操作,无特殊要求,推荐先打开所需的外设中断使能,再将 GIE 位 置 1。 2) 在向量中断模式下,对 GIEL 位的软件清 0 操作,需先关闭所有外设中断使能,再将 GIEL 位清 0;或在 GIEL 位清 0 操作后,查询 GIEL 位是否为 0,不为 0 则继续执行清 0 操作, 直到成功为止; 对 GIEL 位的软件置 1 操作,需与 GIE 位同时置 1,或先将 GIEL 位置 1,再将 GIE 位置 1。 7. 5. 2 外部中断 当 PINTx 复用端口被配置为数字输入端口,且输入信号变化满足触发条件时,将产生 PINTx 外部端口中断,相应的中断标志 PIFx 被置“1”。当全局中断控制位 GIE 和外部端口 中断控制位 PIEx 都被置为“1”时,则向 CPU 发出 PINTx 外部端口中断请求。当中断条件 允许时,系统将进入相应中断的服务程序入口地址,进行中断程序处理。 需要注意的是,相应中断标志位 PIFx 和中断使能位 PIEx 都需通过软件清除,INTC0 寄存 器用于配置触发条件,可分别配置为上升沿触发、下降沿触发或双沿触发。 7. 5. 3 外部按键中断 当 KINx 复用端口被配置为数字输入端口,未被屏蔽的按键中任何一个端口输入信号发生 电平变化时,将中断标志位 KIF 置为“1”,当外部按键中断控制位 KIE 为“1”,且全局中断 控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出外部 按键中断请求。CPU 根据中断的优先级响应当前中断的请求,当外部按键中断条件允许时, 系统将进入相应中断的服务程序入口地址,进行中断程序处理。 V1.8 版权所有©上海东软载波微电子有限公司 198/248 http://www.essemi.com ES7P169C 数据手册 使用外部按键中断时,须配置相应的控制寄存器,并且使能外部按键中断端口的内部弱上 拉电阻。 在按键中断使能(KMSKx=1,KIE=1)前,先对端口寄存器进行读或者写的操作,清除中 断标志位,以免误产生中断。 清除该中断标志位 KIF 的操作步骤如下: 1) 对端口寄存器进行读或者写操作,清除端口电平与锁存器值的不匹配条件; 2) 软件清除中断标志位 KIF。 中断使能位 KIE 也需要通过软件进行清除。 7. 5. 4 ADC中断 ADC 中断由 ADC 转换动作控制,当 ADC 转换完成时,将产生 ADC 中断,ADC 中断标 志位 ADIF 被置“1”。当 ADC 中断控制位 ADIE 置为“1”,且全局中断控制位 GIE 和低优先 级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 ADC 中断请求。CPU 根据 中断的优先级响应当前中断的请求,当 ADC 中断条件允许时,系统将进入相应中断的服 务程序入口地址,进行中断程序处理。需要注意的是,ADC 中断标志位 ADIF 和中断使能 位 ADIE 都需通过软件清除。 7. 5. 5 ADC电压检测中断 ADC 电压检测中断由 ADC 转换动作控制,当 ADC 转换完成时,转换值如果低于或者高 于预设值, 将产生 ADC 电压检测中断, ADC 电压检测中断标志位 ADLTHIF 或者 ADHTHIF 被置“1”。当 ADC 中断控制位 ADLTHIE 或者 ADHTHIE 置为“1”,且全局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 ADC 电压检测中 断请求。CPU 根据中断的优先级响应当前中断的请求,当 ADC 中断条件允许时,系统将 进入相应中断的服务程序入口地址,进行中断程序处理。需要注意的是,ADC 电压检测中 断标志位 ADLTHIF 或者 ADHTHIF 和中断使能位 ADLTHIE 或者 ADHTHIE 都需通过软件 清除。 7. 5. 6 LVD中断 当 VDD 电压小于 LVDC 寄存器设置的阈值电压时,低电压产生,中断标志 LVDIF 位被置 “1”。如果中断使能位 LVDIE 置为“1”,且全局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 LVD 中断请求。CPU 根据中断的优先级响应当 前中断的请求,当 LVD 中断条件允许时,系统将进入相应中断的服务程序入口地址,进行 中断程序处理。需要注意的是,LVD 中断标志位 LVDIF 和中断使能位 LVDIE 都需通过软 件清除。 7. 5. 7 T8N溢出中断 8 位定时器/计数器 T8N 处于定时器模式或计数器模式,当 T8N 计数器递增计数由 FFH 变 为 00H 时, T8N 计数器发生溢出, 将中断标志 T8NIF 位置“1”。 当 T8N 溢出中断使能位 T8NIE 置为“1”,且全局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时, 则向 CPU 发出 T8N 溢出中断请求。CPU 根据中断的优先级响应当前中断的请求,当 T8N 溢出中断条件允许时,系统将进入相应中断的服务程序入口地址,进行中断程序处理。需 要注意的是,T8N 溢出中断标志位 T8NIF 和中断使能位 T8NIE 都需通过软件清除。 V1.8 版权所有©上海东软载波微电子有限公司 199/248 http://www.essemi.com ES7P169C 数据手册 7. 5. 8 T11 溢出中断 12 位定时器,对计数时钟进行递增计数,当 T11 后分频器的计数值与后分频器分频比相 同时,产生溢出中断。 T11 溢出中断产生时, 将中断标志 T11VIF 位置“1”。 当 T11 溢出中断使能位 T11VIE 置为“1”, 且全局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 T11 溢出中断请求。CPU 根据中断的优先级响应当前中断的请求,当 T11 溢出中断 条件允许时,系统将进入相应中断的服务程序入口地址,进行中断程序处理。需要注意的 是,T11 溢出中断标志位 T11VIF 和中断使能位 T11VIE 都需通过软件清除。 7. 5. 9 T11 周期中断 12 位定时器,T11 从零开始递增计数,当 T11 与 T11P 寄存器的值相等时,将产生 T11 周期中断,中断标志 T11PIF 被置“1”。如果中断使能位 T11PIE 置为“1”,且全局中断控制 位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 T11 周期 中断请求。CPU 根据中断的优先级响应当前中断的请求,当 T11 周期中断条件允许时, 系统将进入相应中断的服务程序入口地址,进行中断程序处理。需要注意的是,T11 周期 中断标志位 T11PIF 和中断使能位 T11PIE 都需通过软件清除。 7. 5. 10 T21 溢出中断 12 位定时器 T21 的各种工作模式都可产生溢出中断: 定时器模式/多精度 PWM 模式 12 位定时器 T21 处于定时器模式/多精度 PWM 模式时,对计数时钟进行递增计数,当 T21 后分频器的计数值与后分频器分频比相同时,产生溢出中断。 捕捉器模式/比较器模式 12 位定时器 T21 处于捕捉器模式/比较器模式时,对计数时钟进行递增计数,当 T21 计数 值溢出时(即从 FFFH 变为 000H) ,产生溢出中断。 T21 溢出中断产生时,将中断标志 T21VIF 位置“1”。当 T21 溢出中断使能位 T21VIE 置为 “1”,且全局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 T21 溢出中断请求。CPU 根据中断的优先级响应当前中断的请求,当 T21 溢出 中断条件允许时,系统将进入相应中断的服务程序入口地址,进行中断程序处理。需要注 意的是,T21 溢出中断标志位 T21VIF 和中断使能位 T21VIE 都需通过软件清除。 7. 5. 11 T21 周期中断 12 位定时器 T21 处于多精度 PWM 模式时,T21 从零开始递增计数,当 T21 与 T21P 寄 存器的值相等时, 将产生 T21 周期中断,中断标志 T21PIF 被置“1”。如果中断使能位 T21PIE 置为“1”,且全局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时, 则向 CPU 发出 T21 周期中断请求。CPU 根据中断的优先级响应当前中断的请求,当 T21 周期中断条件允许时,系统将进入相应中断的服务程序入口地址,进行中断程序处理。需 要注意的是,T21 周期中断标志位 T21PIF 和中断使能位 T21PIE 都需通过软件清除。 7. 5. 12 T21 多功能中断 12 位定时器 T21 处于捕捉器模式/比较器模式时可产生多功能中断。 V1.8 版权所有©上海东软载波微电子有限公司 200/248 http://www.essemi.com ES7P169C 数据手册 捕捉器模式 12 位定时器 T21 处于捕捉器模式时,T21 进行递增计数,当 T21CI0/T21CI1/T21CI2 输 入信号的变化状态满足捕捉条件时,计数器 T21 的值将被载入到相应的 12 位捕捉寄存器 T21R0/T21R1/T21R2 中,并产生相应的多功能中断 T21MIF0/T21MIF1/T21MIF2。 比较器模式 12 位定时器 T21 处于比较器模式时,T21 进行递增计数。当计数器 T21 的计数值与比较 寄存器 T21R0/T21R1/T21R2 中的比较值相等时,执行相应的比较匹配事件,并产生相应 的多功能中断 T21MIF0/T21MIF1/T21MIF2。 T21 多功能中断产生时,将相应的中断标志 T21MIF0/T21MIF1/T21MIF2 位置“1”。当相应 的 T21 多功能中断使能位 T21MIE0/T21MIE1/T21MIE2 置为“1”,且全局中断使能位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 T21 多功能中断 0/1/2 请求。CPU 根据中断的优先级响应当前中断的请求,当 T21 多功能中断 0/1/2 条件 允许时,系统将进入相应中断的服务程序入口地址,进行中断程序处理。需要注意的是, T21 多 功 能 中 断 标 志 位 T21MIF0/T21MIF1/T21MIF2 和 多 功 能 中 断 使 能 位 T21MIE0/T21MIE1/T21MIE2 都需通过软件清除。 7. 5. 13 T31 中断 当 BKIF、TRGIF、CHUIF、MIF4、MIF3、MIF2、MIF1、UPIF、OVIF4、OVIF3、OVIF2、 OVIF1 中任何一个中断标志位置 1,且其对应的中断使能位也为 1 时,T31 总中断标志位 T31IF 就会置 1。如果 T31 总中断使能位 T31IE 置 1,且全局中断控制位 GIE 和低优先级 中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 T31 中断请求。CPU 根据中 断的优先级响应当前中断的请求,当 T31 中断条件允许时,系统将进入相应中断的服务程 序入口地址,进行中断程序处理。需要注意的是,需要软件清零 T31IF,但在清零 T31IF 总中断标志位之前,需先清零 BKIF、TRGIF、CHUIF、MIF4、MIF3、MIF2、MIF1、UPIF、 OVIF4、OVIF3、OVIF2、OVIF1 等相关中断标志位。 7. 5. 14 UART0/UART1 中断 UARTn 中断包括两种:发送中断和接收中断。 当 UARTn 异步发送器的发送数据寄存器 TXnB 为空,或异步接收器完成一个数据接收时, 产生 UARTn 发送/接收中断,发送/接收中断标志位 RXnIF/TXnIF 被置为“1”。如果发送/ 接收中断使能位 RXnIE/TXnIE 置为“1”,且全局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发出 UARTn 发送/接收中断请求。CPU 根据 中断的优先级响应当前中断的请求,当 UARTn 发送/接收中断条件允许时,系统将进入相 应中断的服务程序入口地址,进行中断程序处理。需要注意的是,接收/发送中断标志位 RXnIF/TXnIF 为只读,不可软件清零,读接收数据寄存器 RXnB,可清除 RXnIF,写发送 数据寄存器 TXnB,可清除 TXnIF;接收/发送中断使能位 RXnIE/TXnIE 需通过软件清除。 7. 5. 15 I2CS中断 当 I2CSRIF、I2CSPIF、I2CTBIF、I2CRBIF、I2CTEIF、I2CROIF 和 I2CNAIF 中任何一 个中断标志位置 1 时,I2C 总中断标志位 I2CIF 就会置 1。如果 I2C 中断使能位 I2CIE 置 为“1”,且全局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则 向 CPU 发出 I2C 中断请求。CPU 根据中断的优先级响应当前中断的请求,当 I2C 中断条 件允许时,系统将进入相应中断的服务程序入口地址,进行中断程序处理。需要注意的是, V1.8 版权所有©上海东软载波微电子有限公司 201/248 http://www.essemi.com ES7P169C 数据手册 需要软件清零 I2CIF,但在清零 I2CIF 总中断标志位之前,需先清零 I2CSRIF、I2CSPIF、 I2CTEIF、I2CROIF 和 I2CNAIF 等相关中断标志位。 7. 5. 16 SPI中断 当 TBWEIF、NSSIF、IDIF、ROIF、TEIF、RBIF 和 TBIF 中任何一个中断标志位置 1 时, I2C 总中断标志位 SPI_GIEIF 就会置 1。如果 SPI 中断使能位 SPI_GIEIE 置为“1”,且全 局中断控制位 GIE 和低优先级中断使能位 GIEL 根据中断模式正确使能时,则向 CPU 发 出 SPI 中断请求。CPU 根据中断的优先级响应当前中断的请求,当 SPI 中断条件允许时, 系统将进入相应中断的服务程序入口地址,进行中断程序处理。需要注意的是,需要软件 清零 SPI_GIEIF,但在清零 SPI_GIEIF 总中断标志位之前,需先清零 TBWEIF、NSSIF、 IDIF、ROIF、TEIF、RBIF 和 TBIF 等相关中断标志位。 7. 5. 17 中断操作注意事项 用户在使能中断前需先清除相应的中断标志,避免中断的误触发。 除只读的中断标志(由硬件清除)外,其余的中断标志必须通过软件清除。 为避免中断的发生与中断标志清除操作冲突时,清除中断标志不成功,建议用户在进行中 断标志清除操作后,对中断标志清除成功与否进行软件判断。如果操作不成功则再次进行 中断标志清除操作,直到中断标志清除成功为止。用户也可以连续执行两次中断标志清除 操作达到相同目的。 7. 6 特殊功能寄存器 中断功能由一系列的控制寄存器和芯片配置字共同控制。 7. 6. 1 中断全局寄存器(INTG) INTG:中断全局寄存器 Bit 7 6 5 4 3 2 Name GIE GIEL — — SOFTIF INTVEN0 R/W R/W R/W — — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5~4 Bit 3 Bit 2 1 0 INTV GIE:全局中断使能位,或高优先级中断使能位 0:禁止所有的中断,或禁止高优先级中断 1:使能所有未屏蔽的中断,或使能高优先级中断 GIEL:低优先级中断使能位(向量中断模式) 0:禁止低优先级中断 1:使能低优先级中断 未使用 SOFTIF:软中断标志位 0:无软中断 1:有软中断 INTVEN0:中断模式选择位 0:默认中断模式 1:向量中断模式(芯片配置字 INTVEN1(CFG_WD0)必须为 1) V1.8 版权所有©上海东软载波微电子有限公司 202/248 http://www.essemi.com ES7P169C 数据手册 Bit 1~0 INTV:中断向量表选择位,参考向量表配置 注:软件清零 GIE 或 GIEL 位时,需判断 GIE 或 GIEL 是否清零成功,如未被清零,则需再次执行软件清零操作, 直到清零成功。软件置位 GIE 和 GIEL 时,需先置位 GIEL,再置位 GIE,或同时置位 GIE 和 GIEL。 7. 6. 2 中断优先级寄存器(INTP) INTP:中断优先级寄存器 Bit 7 6 5 4 Name 3 2 1 0 IGP R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~0 7. 6. 3 IGP:IG7-IG0 中断优先级设置 0:低优先级 1:高优先级 中断控制寄存器 0(INTC0) INTC0:中断控制寄存器 0 Bit Name 7 6 5 PEG3 4 PEG2 3 2 PEG1 1 0 PEG0 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7~6 Bit 5~4 Bit 3~2 Bit 1~0 PEG3:PINT8~PINT6 触发边沿选择位 00:PINT8~PINT6 下降沿触发 01:PINT8~PINT6 上升沿触发 1x:PINT8~PINT6 双沿触发 PEG2:PINT5~PINT4 触发边沿选择位 00:PINT5~PINT4 下降沿触发 01:PINT5~PINT4 上升沿触发 1x:PINT5~PINT4 双沿触发 PEG1:PINT3~PINT2 触发边沿选择位 00:PINT3~PINT2 下降沿触发 01:PINT3~PINT2 上升沿触发 1x:PINT3~PINT2 双沿触发 PEG0:PINT1~PINT0 触发边沿选择位 00:PINT1~PINT0 下降沿触发 01:PINT1~PINT0 上升沿触发 1x:PINT1~PINT0 双沿触发 V1.8 版权所有©上海东软载波微电子有限公司 203/248 http://www.essemi.com ES7P169C 数据手册 7. 6. 4 中断标志寄存器 0(INTF0) INTF0:中断标志寄存器 0 Bit 7 6 5 4 3 2 1 0 Name SPI_GIEIF ADHTRIF ADLTRIF KIF PIF8 T31IF T8NIF ADIF R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 bit5 bit4 Bit 3 Bit 2 Bit 1 Bit 0 7. 6. 5 SPI_GIEIF:SPI 模块总中断标志位 0:未发生 SPI 中断 1:发生 SPI 中断(必须用软件清零) ADHTRIF:高于上门槛中断标志位 0:ADC 转换值未高于上门槛 1:ADC 转换值高于上门槛(必须用软件清零) ADLTRIF:低于下门槛中断标志位 0:ADC 转换值未低于下门槛 1:ADC 转换值低于下门槛(必须用软件清零) KIF:外部按键中断标志位 0:未产生外部按键中断 1:产生外部按键中断(必须用软件清零) PIF8:外部端口中断 8 标志位 0:外部端口 PINT8 上无中断信号 1:外部端口 PINT8 上有中断信号(必须用软件清零) T31IF:T31 总中断标志位 0:T31 未发生中断 1:T31 发生中断(必须软件清零) T8NIF:T8N 溢出中断标志位 0:T8N 计数未溢出 1:T8N 计数溢出(必须用软件清零) ADIF:ADC 中断标志位 0:正在进行 AD 转换 1:AD 转换已经完成(必须用软件清零) 中断使能寄存器 0(INTE0) INTE0:中断使能寄存器 0 Bit 7 6 5 4 3 2 1 0 Name SPI_GIEIE ADHTRIE ADLTRIE KIE PIE8 T31IE T8NIE ADIE R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 SPI_GIEIE:SPI 模块总中断使能位 0:禁止 1:使能 ADHTRIE:高于上门槛中断使能位 0:禁止 V1.8 版权所有©上海东软载波微电子有限公司 204/248 http://www.essemi.com ES7P169C 数据手册 bit5 bit4 Bit 3 Bit 2 Bit 1 Bit 0 7. 6. 6 1:使能 ADLTRIE:低于下门槛中断使能位 0:禁止 1:使能 KIE:外部按键中断使能位 0:禁止 1:使能 PIE8:外部端口中断 8 使能位 0:禁止 1:使能 T31IE:T31 总中断使能位 0:禁止 1:使能 T8NIE:T8N 溢出中断使能位 0:禁止 1:使能 ADIE:ADC 中断使能位 0:禁止 1:使能 中断标志寄存器 1(INTF1) INTF1:中断标志寄存器 1 Bit 7 6 5 4 3 2 1 0 Name PIF7 PIF6 PIF5 PIF4 PIF3 PIF2 PIF1 PIF0 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 PIF7:外部端口中断 7 标志位 0:外部端口 PINT7 上无中断信号 1:外部端口 PINT7 上有中断信号(必须用软件清零) PIF6:外部端口中断 6 标志位 0:外部端口 PINT6 上无中断信号 1:外部端口 PINT6 上有中断信号(必须用软件清零) PIF5:外部端口中断 5 标志位 0:外部端口 PINT5 上无中断信号 1:外部端口 PINT5 上有中断信号(必须用软件清零) PIF4:外部端口中断 4 标志位 0:外部端口 PINT4 上无中断信号 1:外部端口 PINT4 上有中断信号(必须用软件清零) PIF3:外部端口中断 3 标志位 0:外部端口 PINT3 上无中断信号 1:外部端口 PINT3 上有中断信号(必须用软件清零) PIF2:外部端口中断 2 标志位 0:外部端口 PINT2 上无中断信号 V1.8 版权所有©上海东软载波微电子有限公司 205/248 http://www.essemi.com ES7P169C 数据手册 Bit 1 Bit 0 7. 6. 7 1:外部端口 PINT2 上有中断信号(必须用软件清零) PIF1:外部端口中断 1 标志位 0:外部端口 PINT1 上无中断信号 1:外部端口 PINT1 上有中断信号(必须用软件清零) PIF0:外部端口中断 0 标志位 0:外部端口 PINT0 上无中断信号 1:外部端口 PINT0 上有中断信号(必须用软件清零) 中断使能寄存器 1(INTE1) INTE1:中断使能寄存器 1 Bit 7 6 5 4 3 2 1 0 Name PIE7 PIE6 PIE5 PIE4 PIE3 PIE2 PIE1 PIE0 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 PIE7:外部端口中断 7 使能位 0:禁止 1:使能 PIE6:外部端口中断 6 使能位 0:禁止 1:使能 PIE5:外部端口中断 5 使能位 0:禁止 1:使能 PIE4:外部端口中断 4 使能位 0:禁止 1:使能 PIE3:外部端口中断 3 使能位 0:禁止 1:使能 PIE2:外部端口中断 2 使能位 0:禁止 1:使能 PIE1:外部端口中断 1 使能位 0:禁止 1:使能 PIE0:外部端口中断 0 使能位 0:禁止 1:使能 V1.8 版权所有©上海东软载波微电子有限公司 206/248 http://www.essemi.com ES7P169C 数据手册 7. 6. 8 中断标志寄存器 2(INTF2) INTF2:中断标志寄存器 2 Bit 7 6 5 4 3 2 1 0 Name T21MIF2 I2CIF T21MIF1 T21MIF0 T21PIF T21VIF RX0IF TX0IF R/W R/W R/W R/W R/W R/W R/W R R POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit3 Bit 2 Bit 1 Bit 0 7. 6. 9 T21MIF2:T21 捕捉/比较中断 2 标志位 0:无中断请求 1:T21 多功能中断 2 请求 I2CIF:I2CS 通讯总中断标志位 0:未发生通讯中断 1:发生通讯中断 T21MIF1:T21 捕捉/比较中断 1 标志位 0:无中断请求 1:T21 多功能中断 1 请求 T21MIF0:T21 捕捉/比较中断 0 标志位 0:无中断请求 1:T21 多功能中断 0 请求 T21PIF:T21 周期中断标志位 0:无中断请求 1:T21 周期中断请求 T21VIF:T21 溢出中断标志位 0:无中断请求 1:T21 溢出中断请求 RX0IF:UART0 接收中断标志位 0:接收缓冲区空(接收未完成) 1:接收缓冲区满(接收完成),读 RX0B 清零 TX0IF:UART0 发送中断标志位 0:发送缓冲区满(发送未完成) 1:发送缓冲区空(发送完成),写 TX0B 清零 中断使能寄存器 2(INTE2) INTE2:中断使能寄存器 2 Bit 7 6 5 4 3 2 1 0 Name T21MIE2 I2CIE T21MIE1 T21MIE0 T21PIE T21VIE RX0IE TX0IE R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 T21MIE2:T21 捕捉/比较中断 2 使能位 0:禁止 1:使能 I2CIE:I2CS 通讯总中断使能位 0:禁止 V1.8 版权所有©上海东软载波微电子有限公司 207/248 http://www.essemi.com ES7P169C 数据手册 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 1:使能 T21MIE1:T21 捕捉/比较中断 1 使能位 0:禁止 1:使能 T21MIE0:T21 捕捉/比较中断 0 使能位 0:禁止 1:使能 T21PIE:T21 周期中断使能位 0:禁止 1:使能 T21VIE:T21 溢出中断使能位 0:禁止 1:使能 RX0IE:UART0 接收中断使能位 0:禁止 1:使能 TX0IE:UART0 发送中断使能位 0:禁止 1:使能 7. 6. 10 中断标志寄存器 3(INTF3) INTF3:中断标志寄存器 3 Bit 7 6 5 4 3 2 1 0 Name LVDIF — — — T11PIF T11VIF RX1IF TX1IF R/W R/W — — — R/W R/W R R POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6~4 Bit3 Bit 2 Bit 1 Bit 0 LVDIF:LVD 中断标志位 0:电源电压高于 LVD 检测电压 1:电源电压低于 LVD 检测电压 保留未用 T11PIF:T11 周期中断标志位 0:无中断请求 1:T11 周期中断请求 T11VIF:T11 溢出中断标志位 0:无中断请求 1:T11 溢出中断请求 RX1IF:UART1 接收中断标志位 0:接收缓冲区空(接收未完成) 1:接收缓冲区满(接收完成),读 RX1B 清零 TX1IF:UART1 发送中断标志位 0:发送缓冲区满(发送未完成) 1:发送缓冲区空(发送完成),写 TX1B 清零 V1.8 版权所有©上海东软载波微电子有限公司 208/248 http://www.essemi.com ES7P169C 数据手册 7. 6. 11 中断使能寄存器 3(INTE3) INTE3:中断使能寄存器 3 Bit 7 6 5 4 3 2 1 0 Name LVDIE — — — T11PIE T11VIE RX1IE TX1IE R/W R/W — — — R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6~4 Bit 3 Bit 2 Bit 1 Bit 0 LVDIE:LVD 中断使能位 0:禁止 1:使能 保留未用 T11PIE:T11 周期中断使能位 0:禁止 1:使能 T11VIE:T11 溢出中断使能位 0:禁止 1:使能 RX1IE:UART1 接收中断使能位 0:禁止 1:使能 TX1IE:UART1 发送中断使能位 0:禁止 1:使能 7. 6. 12 外部按键中断屏蔽寄存器(KMSK) KMSK:外部按键中断控制寄存器 Bit 7 6 5 4 3 2 1 0 Name KMSK7 KMSK6 KMSK5 KMSK4 KMSK3 KMSK2 KMSK1 KMSK0 R/W R/W R/W R/W R/W R/W R/W R/W R/W POR 0 0 0 0 0 0 0 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 KMSK7:KIN7 按键输入屏蔽位 0:屏蔽 1:不屏蔽 KMSK6:KIN6 按键输入屏蔽位 0:屏蔽 1:不屏蔽 KMSK5:KIN5 按键输入屏蔽位 0:屏蔽 1:不屏蔽 KMSK4:KIN4 按键输入屏蔽位 0:屏蔽 1:不屏蔽 KMSK3:KIN3 按键输入屏蔽位 V1.8 版权所有©上海东软载波微电子有限公司 209/248 http://www.essemi.com ES7P169C 数据手册 Bit 2 Bit 1 Bit 0 0:屏蔽 1:不屏蔽 KMSK2:KIN2 按键输入屏蔽位 0:屏蔽 1:不屏蔽 KMSK1:KIN1 按键输入屏蔽位 0:屏蔽 1:不屏蔽 KMSK0:KIN0 按键输入屏蔽位 0:屏蔽 1:不屏蔽 V1.8 版权所有©上海东软载波微电子有限公司 210/248 http://www.essemi.com ES7P169C 数据手册 第8章 芯片配置字 8. 1 芯片配置字 0(CFG_WD0) 寄存器名称 芯片配置字(CFG_WD0) 地址 8001H OSCS bit2-0 振荡器选择位 000:保留未用 001:保留未用 010:保留未用 011:INTLRC 32KHz 模式,PB3 为 I/O 管脚 100:INTHRC/4 模式,PB3 为 I/O 管脚(仅 OSC_FREQ_SEL=00 时支持,分频得到 1MHz 时钟) 101:保留未用 注 110:INTHRCO 模式,PB3 管脚功能为 CLKO 2, 主系统时钟为 INTHRC 111:INTHRC 模式,PB3 为 I/O 管脚,主系统时钟为 INTHRC (默认值) WDTEN PWRTEB bit3 bit4 硬件看门狗使能位 0:禁止 1:使能 上电/低电压定时器使能位 当 PA3 管脚用于外部复位 MRSTN 时 0:使能(上电延时约 130ms) (默认值) 1:禁止 当 PA3 管脚用于数字输入输出时,硬件固定为使能 MRSTEN BORVS bit5 bit7-6 MRSTN 管脚功能选择位 0:PA3 管脚用于数字输入输出 1:PA3 管脚用于外部复位(默认值) 低电压选择位 11:3.1V 10:2.5V 01:2.1V(默认值) 00:保留未用 bit9-8 固定为 01 bit10 ICD 调试模式使能位 0:使能 1:禁止(默认值,调试完毕后需禁止,否则芯片无法正常运行) INTVEN1 bit11 中断模式选择位 0:默认中断模式 1:向量中断模式(控制寄存器位 INTVEN0(INTG)也必须 为 1) (默认值) — bit12 固定为 1 — ICDEN V1.8 版权所有©上海东软载波微电子有限公司 211/248 http://www.essemi.com ES7P169C 数据手册 寄存器名称 芯片配置字(CFG_WD0) FREN OSC_FREQ_SE L bit13 bit15~14 FLASH 程序存储区查表指令读使能位 0:禁止 1:使能(默认值) 内部高速时钟频率 finthrc 选择位 00:4MHz(支持 OSC_FREQ_SEL=00,进行 4 分频) 01:16MHz(默认值) 10:32MHz 11:64MHz(见注 3) 8. 2 芯片配置字 1(CFG_WD1) 芯片配置字 1(CFG_WD1) 寄存器名称 地址 8004H ICDSEL bit1~0 ICD 调试端口选择位 00:选择 PC1/PA5 01:保留未用 10,11:选择 PA4/PA2(默认值) — bit7-2 固定为 1001_11 CFG_WD1N bit15-8 配置字 CFG_WD1取反 注 1:芯片配置字通过编程界面配置; 注 2:CLKO 为系统时钟输出,同时此端口需要设置为输出状态; 注 3:当内部高速时钟选择为 64MHz 时,系统时钟最大为 32MHz,由硬件自动二分频处理后再作为系统时钟。 V1.8 版权所有©上海东软载波微电子有限公司 212/248 http://www.essemi.com ES7P169C 数据手册 第9章 芯片封装图 9. 1 20-pin 封装图 9. 1. 1 TSSOP20 E E1 θ c L b A A2 D 标号 A1 e 公制(mm) MIN NOM MAX A — — 1.20 A1 0.05 — 0.15 A2 0.80 — 1.05 b 0.19 — 0.30 c 0.09 — 0.20 D 6.40 6.50 6.60 E 4.30 4.40 4.50 E1 6.20 6.40 6.60 e 0.65BSC L 0.45 0.60 0.75 θ 0° — 8° Note: Dimension "D" does not include mold flash, protrusions or gate burrs.Mold flash, protrusions or gate burrs shall not exceed 0.15mm per side. V1.8 版权所有©上海东软载波微电子有限公司 213/248 http://www.essemi.com ES7P169C 数据手册 9. 1. 2 SOP20 封装图 E1 E c L b A A2 D 标号 A1 e 公制(mm) MIN NOM MAX A — — 2.65 A1 0.10 — 0.30 A2 2.05 2.35 2.55 b 0.33 — 0.51 c 0.20 — 0.33 D 12.60 12.80 13.00 E 10.00 10.30 10.60 E1 7.30 7.50 7.70 e 1.27BSC L 0.40 — 1.27 θ 0° — 8° Note: Dimension "D" does not include mold flash, protrusions or gate burrs.Mold flash, protrusions or gate burrs shall not exceed 0.15mm per side. V1.8 版权所有©上海东软载波微电子有限公司 214/248 http://www.essemi.com ES7P169C 数据手册 9. 2 16-pin 封装图 9. 2. 1 SOP16 e D b A2 E1 A1 E A c L 标号 公制(mm) MIN NOM MAX A — — 1.75 A1 0.10 — 0.25 A2 1.25 1.40 1.65 b 0.33 — 0.51 c 0.17 — 0.25 D 9.80 9.90 10.20 E 5.80 6.00 6.20 E1 3.80 3.90 4.00 e 1.27BSC L 0.40 — 1.27 θ 0° — 8° Note: Dimension "D" does not include mold flash, protrusions or gate burrs.Mold flash, protrusions or gate burrs shall not exceed 0.15mm per side. V1.8 版权所有©上海东软载波微电子有限公司 215/248 http://www.essemi.com ES7P169C 数据手册 附录1 附录1. 1 指令集 概述 本芯片提供了 79 条精简指令。 汇编指令为了方便程序设计者使用,指令名称大多是由指令功能的英文缩写所组成的。这些 指令所组成的程序经过编译器的编译与连接后,会被转换为相对应的指令码。转换后的指令 码可以分为操作码(OP Code)与操作数(Operand)两个部分。操作码部分对应到指令本 身。 芯片运行在 4MHz 振荡时钟时,一个机器周期的时间为 500ns。 按照指令执行的机器周期数可将指令分为双周期指令和单周期指令,其中 JUMP、AJMP、 GOTO、CALL、LCALL、RCALL、RET、RETIA、RETIE、TBR、TBR#1、TBR_1、TBR1#、 TBW、TBW#1、TBW_1、TBW1#为双周期指令;满足跳转条件时,JBC、JBS、JCAIE、JCAIG、 JCAIL、JCRAE、JCRAG、JCRAL、JCCRE、JCCRG、JCCRL、JDEC、JINC 指令为双周 期指令,否则为单周期指令;其它指令为单周期指令。 附录1. 2 寄存器操作指令 序号 指令 影响 状态位 机器周期 操作 1 SECTION I — 1 I->BKSR 2 PAGE I — 1 I->PCRH 3 ISTEP I — 1 IAA+i->IAA(-128≤i≤127) 4 MOVI I — 1 I->(A) 5 MOV R,F Z,N 1 (R)->(目标) 6 MOVA R — 1 (A)->(R) 7 MOVAR R — 1 (A)->(R)(R 为 GPR) 8 MOVRA R — 1 (R)->(A)(R 为 GPR) 附录1. 3 序号 程序控制指令 指令 影响状态位 机器周期 操作 9 JUMP I — 2 PC+1+i->PC (-128≤i≤127) 10 AJMP I — 2 I->PC I->PCRH 11 GOTO I — 2 I->PC, PCRH->PC 12 CALL I — 2 PC+1->TOS,I->PC, PCRH->PC 13 LCALL I — 2 PC+1->TOS,I->PC V1.8 版权所有©上海东软载波微电子有限公司 216/248 http://www.essemi.com ES7P169C 数据手册 序号 指令 影响状态位 机器周期 操作 I->PCRH 14 RCALL 15 PC+1→TOS, (R)→PC, PCRH→PC, R — 2 JBC R,B — 2或1 当 R = 0 时跳过下一条指令 16 JBS R,B — 2或1 当 R = 1 时跳过下一条指令 17 JCAIE I — 2或1 当(A) = I 时跳过下一条指令 18 JCAIG I — 2或1 当(A) > I 时跳过下一条指令 19 JCAIL I — 2或1 当(A) < I 时跳过下一条指令 20 JCRAE R — 2或1 当(R) = (A)时跳过下一条指令 21 JCRAG R — 2或1 当(R) > (A)时跳过下一条指令 22 JCRAL R — 2或1 当(R) < (A)时跳过下一条指令 23 JCCRE R,B — 2或1 当 C = R(B)时跳过下一条指令 24 JCCRG R,B — 2或1 当 C > R(B)时跳过下一条指令 25 JCCRL R,B — 2或1 当 C < R(B)时跳过下一条指令 26 JDEC R,F — 2或1 (R-1)->(目标寄存器), 当目标寄存器 的值为 0 时则跳过下一条指令 27 JINC R,F — 2或1 (R+1)->(目标寄存器), 当目标寄存器 的值为 0 时则跳过下一条指令 28 NOP — — 1 空操作 29 POP — — 1 AS->A,PSWS->PSW, BKSR->BKSRS,PCRHS->PCRH 30 PUSH — — 1 A->AS,PSW->PSWS, BKSR->BKSRS,PCRH->PCRHS 31 RET — — 2 TOS->PC 32 RETIA I — 2 I->(A),TOS->PC 33 RETIE — — 2 TOS->PC,1->GIE 34 RST — 全部状态位 均被影响 1 软件复位指令 35 CWDT — N_TO,N_PD 1 00H->WDT,0->WDTPrescaler, 1-> N_TO, 1-> N_PD 36 IDLE — N_TO,N_PD 1 00H->WDT,0->WDTPrescaler, 1-> N_TO, 0-> N_PD 附录1. 4 算术/逻辑运算指令 序号 指令 影响 状态位 机器 周期 操作 37 ADD R,F C,DC, Z,OV,N 1 (R)+(A)->(目标) 38 ADDC R,F C,DC,Z,OV,N 1 (R)+(A)+C->(目标) 39 ADDCI I C,DC,Z,OV,N 1 I+(A)+C->(A) 40 ADDI I C,DC,Z,OV,N 1 I+(A)->(A) 41 AND R,F Z,N 1 (A).AND.(R)->(目标) V1.8 版权所有©上海东软载波微电子有限公司 217/248 http://www.essemi.com ES7P169C 数据手册 序号 指令 影响 状态位 机器 周期 操作 42 ANDI I Z,N 1 I.AND.(A)->(A) 43 BCC R,B — 1 0->R 44 BSS R,B — 1 1->R 45 BTT R,B — 1 (~R)->R 46 CLR R Z 1 (R)=0 47 SETR R — 1 FFH->(R) 48 NEG R C,DC,Z,OV,N 1 ~(R)+1-> (R) 49 COM R,F Z,N 1 (~R)->(目标) 50 DAR R,F C 1 对(R)十进制调整->(目标) 51 DAA — C 1 对(A)十进制调整->(A) 52 DEC R,F C,DC,Z,OV,N 1 (R-1)->(目标) 53 INC R,F C,DC,Z,OV,N 1 (R+1)->(目标) 54 IOR R,F Z,N 1 (A).OR.(R)->(目标) 55 IORI I Z,N 1 I.OR.(A)->(A) R C 56 RLB R,F,B C,Z,N 1 C R (R 带 C 向右 循环移位) R R,F,B Z,N 1 R >> R(R 不带 C 向右循环移位) SUB R,F C,DC,Z,OV,N 1 (R)-(A)->(目标) 61 SUBC R,F C,DC,Z,OV,N 1 (R)-(A)- (~C)->(目标) 62 SUBCI I C, DC, Z,OV,N 1 I-(A)- (~C)->(A) 63 SUBI I C, DC, Z,OV,N 1 I-(A)->(A) 64 SSUB R,F C, DC, Z,OV,N 1 (A)-(R)->(目标) 65 SSUBC R,F C, DC, Z,OV,N 1 (A)-(R)- (~C)->(目标) 66 SSUBCI I C, DC, Z,OV,N 1 (A)-I- (~C)->(A) 67 SSUBI I C, DC, Z,OV,N 1 (A)-I->(A) 68 SWAP R,F — 1 R->(目标), R->(目标) 69 TBR — — 2 Pmem(FRA)->ROMD 59 RRBNC 60 V1.8 版权所有©上海东软载波微电子有限公司 218/248 http://www.essemi.com ES7P169C 数据手册 序号 指令 影响 状态位 机器 周期 操作 70 TBR#1 — — 2 Pmem(FRA)-> ROMD, FRA+1->FRA 71 TBR_1 — — 2 Pmem(FRA)-> ROMD, FRA-1->FRA 72 TBR1# — — 2 FRA+1->FRA, Pmem(FRA)-> ROMD 73 TBW — — 2 ROMD->prog buffer 74 TBW#1 — — 2 ROMD>prog buffer, FRA+1->FRA 75 TBW_1 — — 2 ROMD->prog buffer, FRA-1->FRA 76 TBW1# — — 2 FRA+1->FRA, ROMD->prog buffer 77 XOR R, F Z,N 1 (A).XOR.(R)->(目标) 78 XORI I Z,N 1 I.XOR.(A)->(A) 注:指令集说明 1: i-立即数, F-标志位,A-寄存器 A,R-寄存器 R,B-寄存器 R 的第 B 位或移动 B 位。 2: C-进位/借位,DC-半进位/半借位,Z-零标志位,OV-溢出标志位,N-负标志位。 3: TOS-顶级堆栈。 4: 如果标志位 F = 0,则目标寄存器为寄存器 A;如果标志位 F = 1,则目标寄存器为寄存器 R。 5: 79 条指令中另有一条 NOP 指令未在上表中描述。 6: SECTION 指令中,N 的位数,视实际芯片而定。对本芯片,通用数据存储器 GPR 分为 8 个存储体组,所以 N 的位数是 3 位。 7: PAGE 指令中,N 的位数,视实际芯片而定。对本芯片,没有 PCRU 寄存器,N 的位数是 2 位。 8:PC 的位数以及 PCRU 寄存器,视实际芯片而定。对本芯片,PC 的位数是 14 位,没有 PCRU 寄存器。 V1.8 版权所有©上海东软载波微电子有限公司 219/248 http://www.essemi.com ES7P169C 数据手册 附录2 地址 bit7 名称 bit6 bit5 特殊功能寄存器总表(特殊存储体 0) bit4 bit3 bit2 bit1 上电 bit0 复位值 FF80H IAD IAD 0000 0000 FF81H IAAL IAAL 0000 0000 FF82H IAAH IAAH 0000 0000 FF83H BKSR — — — SBKSR — FF84H PSW — UF OF N OV FF85H AREG AREG xxxx xxxx FF86H PCRL PCRL 0000 0000 FF87H PCRH FF88H MULA/MULL MULA / MULL xxxx xxxx FF89H MULB/MULH MULB / MULH xxxx xxxx FF8AH TMRADC TMRADC 0000 0000 FF8BH BEEPC FF8CH LVDC LVDLS — — LVDEN — FF8DH ANSH — — — ANSH4 ANSH3 FF8EH FRALN FRALN 0000 0000 FF8FH FRAHN FRAHN 0000 0000 FF90H FRAL FRAL xxxx xxxx FF91H FRAH FRAH xxxx xxxx FF92H ROMDL ROMDL xxxx xxxx FF93H ROMDH ROMDH xxxx xxxx FF94H ROMCL FF95H ROMCH FF96H INTG — V1.8 版权所有©上海东软载波微电子有限公司 Z 0000 0000 DC C BEEPPRE — — 0000 0000 BEEP_OUTSEL FPEE — BEEPEN — LVDV ANSH2 WREN ANSH1 WR GIEL — — SOFTIF 0000 0000 0000 0000 0000 0000 — DATARDTRG ROMCH GIE x00x xxxx PCRH — BEEPIOS DATARDEN DBKSR 0000 0000 0000 0000 INTVEN0 INTV 0000 0000 220/248 http://www.essemi.com ES7P169C 数据手册 地址 bit7 名称 bit6 bit5 bit4 bit3 bit2 bit1 上电 bit0 复位值 FF97H INTP IGP FF98H INTC0 FF99H INTE0 SPI_GIEIE ADHTRIE ADLTRIE KIE PIE8 T31IE T8NIE ADIE 0000 0000 FF9AH INTF0 SPI_GIEIF ADHTRIF ADLTRIF KIF PIF8 T31IF T8NIF ADIF 0000 0000 FF9BH INTE1 PIE7 PIE6 PIE5 PIE4 PIE3 PIE2 PIE1 PIE0 0000 0000 FF9CH INTF1 PIF7 PIF6 PIF5 PIF4 PIF3 PIF2 PIF1 PIF0 0000 0000 FF9DH INTE2 T21MIE2 I2CIE T21MIE1 T21MIE0 T21PIE T21VIE RX0IE TX0IE 0000 0000 FF9EH INTF2 T21MIF2 I2CIF T21MIF1 T21MIF0 T21PIF T21VIF RX0IF TX0IF 0000 0000 FF9FH INTE3 LVDIE — — — T11PIE T11VIE RX1IE TX1IE 0000 0000 FFA0H INTF3 LVDIF — — — T11PIF T11VIF RX1IF TX1IF 0000 0000 FFA1H ROMD1L ROMD1L xxxx xxxx FFA2 H ROMD1H ROMD1H xxxx xxxx FFA3 H KMSK KMSK7 KMSK6 KMSK5 KMSK4 KMSK3 FFA4 H WDTC — — — WDTPRE — FFA5 H WDTP WDTP 1111 1111 FFA6 H WKDC WKDC 1111 1111 FFA7 H PWEN FFA8 H PA FFA9 H PB PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 xxxx xxxx FFAA H PC — — — — — — PC1 PC0 xxxx xxxx FFAB H PAFLT PAFLT 1111 1111 FFAC H PBFLT PBFLT 1111 1111 FFAD H PAT PAT7 PAT6 PAT5 PAT4 PAT3 PAT2 PAT1 PAT0 1111 1111 FFAE H PBT PBT7 PBT6 PBT5 PBT4 PBT3 PBT2 PBT1 PBT0 1111 1111 FFAF H PCT — — — — — — PCT1 PCT0 0000 0011 PEG3 — 0000 0000 PEG2 — MRSTF PEG1 PORLOST PEG0 KMSK2 KMSK1 KMSK0 WDTPRS BORFLT RCEN 0000 0000 0000 1111 HALT_PWM PA V1.8 版权所有©上海东软载波微电子有限公司 0000 0000 0000 0011 xxxx xxxx 221/248 http://www.essemi.com ES7P169C 数据手册 地址 名称 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 上电 复位值 FFB0 H PAPD PAPD7 PAPD6 PAPD5 PAPD4 PAPD3 PAPD2 PAPD1 PAPD0 0000 1000 FFB1 H PBPD PBPD7 PBPD6 PBPD5 PBPD4 PBPD3 PBPD2 PBPD1 PBPD0 0000 0000 FFB2 H PAPU PAPU7 PAPU6 PAPU5 PAPU4 PAPU3 PAPU2 PAPU1 PAPU0 0000 1000 FFB3 H PBPU PBPU7 PBPU6 PBPU5 PBPU4 PBPU3 PBPU2 PBPU1 PBPU0 0000 0000 FFB4 H PCPU — — — — — — PCPU1 PCPU0 0000 0000 FFB5 H PCFLT — — — — — — FFB6 H PWRC N_TO N_PD N_POR N_BOR 1100 1100 FFB7 H PACTR PASMTS PA5OD PA5DS PA4DS PA3DS PA2DS PA1DS PA0DS 1000 0000 FFB8 H PBCTR PBSMTS PB0OD PB1OD — PB3DS PB2DS PB1DS PB0DS 1000 0000 FFB9 H PCCTR PCSMTS PC1OD I2C_SEL — — — PC1DS PC0DS 1000 0000 FFBA H ADCCSH ADCVTTEN T21ADS ADC_LP_EN T21ADEN — — — — 0000 0000 FFBB H PORTCTR UART1SEL T31CH2NSEL T31CH1NSEL AD_ETR1EN ADC_ETR0EN T21CH0NEN 0000 0000 FFBC H ANSL ANSL7 ANSL5 ANSL4 ANSL3 ANSL2 ANSL0 0000 0000 FFBD H T8N FFBE H T8NC T8NEN T8NCLK T8NM T8NEG T8NPRE FFBF H T31CHBK CHOE AROE BKPS BKE ROFFS FFC0 H T31DLYT FFC1 H T31C0L RLBE FFC2 H T31C0H T31PWMCKS FFC3 H T31C1L — FFC4H T31C1H — FFC5H T31C2L — FFC6H T31C2H ETEG LPM VRST T31CH3N SEL ANSL6 PCFLT T21CH2N EN ANSL1 T8N 0000 0000 T8NPRS NOFFS 0000 0000 PROTS DLYT V1.8 版权所有©上海东软载波微电子有限公司 CMC HTOEOF F UES — — — — CHCUS — CHCBE 0000 0000 ONS2N ONS2 ONS1N ONS1 0000 0000 ONS3 TRGS ECM2E 0000 0000 SPME — ONS3N 0000 0000 DIRS ADTRGS ONS4 0000 0011 ETPRS COCE UED T31EN DFCKS T31SM ETFS 0000 0000 0000 0000 0000 0000 0000 0000 222/248 http://www.essemi.com ES7P169C 数据手册 地址 名称 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 上电 复位值 FFC7H T31IEL BKIE TRGIE CHUIE MIE4 MIE3 MIE2 MIE1 UPIE 0000 0000 FFC8H T31IEH — — — OVIE4 OVIE3 OVIE2 OVIE1 — 0000 0000 FFC9H T31IDL BKID TRGID CHUID MID4 MID3 MID2 MID1 UPID 0000 0000 FFCAH T31IDH — — — OVID4 OVID3 OVID2 OVID1 — 0000 0000 FFCBH T31IVSL BKIS TRGIS CHUIS MIS4 MIS3 MIS2 MIS1 UPIS 0000 0000 FFCCH T31IVSH — — — OVIS4 OVIS3 OVIS2 OVIS1 — 0000 0000 FFCDH T31IFL BKIF TRGIF CHUIF MIF4 MIF3 MIF2 MIF1 UPIF 0000 0000 FFCEH T31IFH — — — OVIF4 OVIF3 OVIF2 OVIF1 — 0000 0000 FFCFH T31IFML BKIM TRGIM CHUIM MIM4 MIM3 MIM2 MIM1 UPIM 0000 0000 FFD0H T31IFMH — — — OVIM4 OVIM3 OVIM2 OVIM1 — 0000 0000 FFD1H T31ICRL BKIC TRGIC CHUIC MIC4 MIC3 MIC2 MIC1 UPIC 0000 0000 FFD2H T31ICRH — — — OVIC4 OVIC3 OVIC2 OVIC1 — 0000 0000 FFD3H T31EVG BKT TRGT CHUT CH4T CH3T CH2T CH1T UPT 0000 0000 FFD4H T31CH1C CH1COCE CH1OBE CH1OFE FFD4H T31CH1C FFD5H T31CH2C FFD5H T31CH2C FFD6H T31CH3C FFD6H T31CH3C FFD7H T31CH4C FFD7H T31CH4C FFD8H T31PINCL CH2NP CH2NE CH2P CH2E CH1NP CH1NE CH1P CH1E 0000 0000 FFD9H T31PINCH CH4NP — CH4P CH4E CH3NP CH3NE CH3P CH3E 0000 0000 FFDAH T31CNTL CNT 0000 0000 FFDBH T31CNTH CNT 0000 0000 CH1OM CH1IFS CH2COCE CH1IM CH2OM CH2OBE CH2IFS CH3COCE CH2IM CH3OM CH3OBE CH3IFS CH4COCE CH3OFE CH3IM CH4OM CH4OBE CH4IFS V1.8 版权所有©上海东软载波微电子有限公司 CH2OFE CH4OFE CH4IM CH1IOS 0000 0000 CH1IOS 0000 0000 CH2IOS 0000 0000 CH2IOS 0000 0000 CH3IOS 0000 0000 CH3IOS 0000 0000 CH4IOS 0000 0000 CH4IOS 0000 0000 223/248 http://www.essemi.com ES7P169C 数据手册 地址 bit7 名称 bit6 bit5 bit4 bit3 bit2 bit1 bit0 上电 复位值 FFDCH T31PRSL PRS 0000 0000 FFDDH T31PRSH PRS 0000 0000 FFDEH T31CNTLDL CNTLD 1111 1111 FFDFH T31CNTLDH CNTLD 1111 1111 FFE0H T31POS POS 0000 0000 FFE1H T31CH1RL CH1R 0000 0000 FFE2H T31CH1RH CH1R 0000 0000 FFE3H T31CH2RL CH2R 0000 0000 FFE4H T31CH2RH CH2R 0000 0000 FFE5H T31CH3RL CH3R 0000 0000 FFE6H T31CH3RH CH3R 0000 0000 FFE7H T31CH4RL CH4R 0000 0000 FFE8H T31CH4RH CH4R 0000 0000 FFE9H T21OC FFEAH T21L T21 0000 0000 FFEBH T21H T21 0000 0000 FFECH T21PL T21P 1111 1111 FFEDH T21PH T21P 1111 1111 FFEEH T21R0L T21R0 0000 0000 FFEFH T21R0H T21R0 0000 0000 FFF0H T21CL FFF1H T21CM FFF2H T21CH FFF3H T21R1L T21R1 0000 0000 FFF4H T21R1H T21R1 0000 0000 T21TR PLLCKS PT2EN T21OM22 T21M CAP2S T21EN V1.8 版权所有©上海东软载波微电子有限公司 T21OM20 PT1EN CAP1S T21OM21 CAP0S T21PRS T21POS PT0EN 0000 0000 0000 0000 0000 0000 0000 0000 224/248 http://www.essemi.com ES7P169C 数据手册 地址 bit7 名称 bit6 bit5 bit4 bit3 bit2 bit1 上电 bit0 复位值 FFF5H T21R2L T21R2 0000 0000 FFF6H T21R2H T21R2 0000 0000 FFF7H ADCCM FFF8H ADCRL ADCRL 0000 0000 FFF9H ADCRH ADCRH 0000 0000 FFFAH ADCCL FFFBH ADCCH FFFCH ADCLTRL ADCLTRL 0000 0000 FFFDH ADCLTRH ADCLTRH 0000 0000 FFFEH ADCHTRL ADCHTRL 1111 1111 FFFFH ADCHTRH ADCHTRH 1111 1111 VREFSEL ADVREF NS ADVREFPS ADCHS ADFM V1.8 版权所有©上海东软载波微电子有限公司 ADOFSTS SMPON ADCKS SMPS ADST ADBITSEL ADTRG VREF_CH OPEN 1100 0011 ADEN 1111 0100 VREFEN 0100 1000 225/248 http://www.essemi.com ES7P169C 数据手册 附录3 地址 名称 bit7 bit6 bit5 特殊功能寄存器总表(特殊存储体 1) bit4 bit3 bit2 bit1 上电 bit0 复位值 FF80H IAD IAD 0000 0000 FF81H IAAL IAAL 0000 0000 FF82H IAAH IAAH 0000 0000 FF83H BKSR — — — SBKSR — FF84H PSW — UF OF N OV FF85H AREG AREG xxxx xxxx FF86H PCRL PCRL 0000 0000 FF87H PCRH FF88H MULA/MULL MULA / MULL xxxx xxxx FF89H MULB/MULH MULB / MULH xxxx xxxx FF8AH TMRADC TMRADC 0000 0000 FF8BH BEEPC FF8CH LVDC LVDLS — — LVDEN — FF8DH ANSH — — — ANSH4 ANSH3 FF8EH FRALN FRALN 0000 0000 FF8FH FRAHN FRAHN 0000 0000 FF90H FRAL FRAL xxxx xxxx FF91H FRAH FRAH xxxx xxxx FF92H ROMDL ROMDL xxxx xxxx FF93H ROMDH ROMDH xxxx xxxx FF94H ROMCL FF95H ROMCH FF96H INTG — DATARDEN BEEPPRE — Z 0000 0000 DC C — — BEEP_OUTSEL FPEE 0000 0000 BEEPEN — LVDV ANSH2 WREN ANSH1 WR V1.8 版权所有©上海东软载波微电子有限公司 GIEL — — SOFTIF 0000 0000 0000 0000 0000 0000 — DATARDTRG ROMCH GIE x00x xxxx PCRH — BEEPIOS DBKSR 0000 0000 0000 0000 INTVEN0 INTV 0000 0000 226/248 http://www.essemi.com ES7P169C 数据手册 地址 名称 bit7 bit6 bit5 bit4 bit3 bit2 bit1 上电 bit0 复位值 FF97H INTP IGP FF98H INTC0 FF99H INTE0 SPI_GIEIE ADHTRIE ADLTRIE KIE PIE8 T31IE T8NIE ADIE 0000 0000 FF9AH INTF0 SPI_GIEIF ADHTRIF ADLTRIF KIF PIF8 T31IF T8NIF ADIF 0000 0000 FF9BH INTE1 PIE7 PIE6 PIE5 PIE4 PIE3 PIE2 PIE1 PIE0 0000 0000 FF9CH INTF1 PIF7 PIF6 PIF5 PIF4 PIF3 PIF2 PIF1 PIF0 0000 0000 FF9DH INTE2 T21MIE2 I2CIE T21MIE1 T21MIE0 T21PIE T21VIE RX0IE TX0IE 0000 0000 FF9EH INTF2 T21MIF2 I2CIF T21MIF1 T21MIF0 T21PIF T21VIF RX0IF TX0IF 0000 0000 FF9FH INTE3 LVDIE — — — T11PIE T11VIE RX1IE TX1IE 0000 0000 FFA0H INTF3 LVDIF — — — T11PIF T11VIF RX1IF TX1IF 0000 0000 FFA1H ROMD1L ROMD1L xxxx xxxx FFA2 H ROMD1H ROMD1H xxxx xxxx FFA3 H KMSK KMSK7 KMSK6 KMSK5 KMSK4 KMSK3 FFA4 H WDTC — — — WDTPRE — FFA5 H WDTP WDTP 1111 1111 FFA6 H WKDC WKDC 1111 1111 FFA7 H PWEN FFA8 H PA FFA9 H PB PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 xxxx xxxx FFAA H PC — — — — — — PC1 PC0 xxxx xxxx FFAB H PAFLT PAFLT 1111 1111 FFAC H PBFLT PBFLT 1111 1111 FFAD H PAT PAT7 PAT6 PAT5 PAT4 PAT3 PAT2 PAT1 PAT0 1111 1111 FFAE H PBT PBT7 PBT6 PBT5 PBT4 PBT3 PBT2 PBT1 PBT0 1111 1111 FFAF H PCT — — — — — — PCT1 PCT0 0000 0011 PEG3 — 0000 0000 PEG2 — MRSTF PEG1 PORLOST PEG0 KMSK2 KMSK1 0000 0000 KMSK0 WDTPRS BORFLT RCEN 0000 1111 HALT_PWM PA V1.8 版权所有©上海东软载波微电子有限公司 0000 0000 0000 0011 xxxx xxxx 227/248 http://www.essemi.com ES7P169C 数据手册 地址 名称 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 上电 复位值 FFB0 H PAPD PAPD7 PAPD6 PAPD5 PAPD4 PAPD3 PAPD2 PAPD1 PAPD0 0000 1000 FFB1 H PBPD PBPD7 PBPD6 PBPD5 PBPD4 PBPD3 PBPD2 PBPD1 PBPD0 0000 0000 FFB2 H PAPU PAPU7 PAPU6 PAPU5 PAPU4 PAPU3 PAPU2 PAPU1 PAPU0 0000 1000 FFB3 H PBPU PBPU7 PBPU6 PBPU5 PBPU4 PBPU3 PBPU2 PBPU1 PBPU0 0000 0000 FFB4 H PCPU — — — — — — PCPU1 PCPU0 0000 0000 FFB5 H PCFLT — — — — — — FFB6 H PWRC N_TO N_PD N_POR N_BOR 1100 1100 FFB7 H PACTR PASMTS PA5OD PA5DS PA4DS PA3DS PA2DS PA1DS PA0DS 1000 0000 FFB8 H PBCTR PBSMTS PB0OD PB1OD — PB3DS PB2DS PB1DS PB0DS 1000 0000 FFB9 H PCCTR PCSMTS PC1OD I2C_SEL — — — PC1DS PC0DS 1000 0000 FFBA H ADCCSH ADCVTTEN T21ADS ADC_LP_EN T21ADEN — — — — 0000 0000 FFBB H PORTCTR UART1SEL T31CH3NSEL T31CH2NSEL T31CH1NSEL AD_ETR1EN ADC_ETR0EN T21CH2NEN T21CH0NEN 0000 0000 FFBC H ANSL ANSL7 ANSL6 ANSL5 ANSL4 ANSL3 ANSL2 ANSL1 ANSL0 0000 0000 FFBD H T8N FFBE H T8NC T8NEN T8NCLK T8NM T8NEG T8NPRE FFBF H T31CHBK CHOE AROE BKPS BKE ROFFS FFC0 H SPICON0 RXCLR TXCLR FFC1 H SPICON1 FFC2 H SPIIE — FFC3 H SPIIF — FFC4H SPIRBR RBR 0000 0000 FFC5H SPITBW TBW 0000 0000 FFC6H T11L T11 0000 0000 FFC7H T11H FFC8H T11PL LPM VRST PCFLT 0000 0011 T8N DFS — V1.8 版权所有©上海东软载波微电子有限公司 0000 0000 CKS T8NPRS NOFFS 0000 0000 PROTS 0000 0000 TBIM 0011 0000 RBIM DRE — REN MS SPIRST SPIEN 0000 0000 TBWEIE NSSIE IDIE ROIE TEIE RBIE TBIE 0000 0000 TBWEIF NSSIF IDIF ROIF TEIF RBIF TBIF 0000 0001 — — T11 — T11P 0000 0000 1111 1111 228/248 http://www.essemi.com ES7P169C 数据手册 地址 名称 bit7 bit6 bit5 bit4 — — — — bit3 bit2 bit1 上电 bit0 复位值 FFC9H T11PH T11P FFCAH T11CL FFCBH T11CM — FFCCH T11CH T11EN FFCDH BR0FRA — — — — BR0FRA 0000 0000 FFCEH BR1FRA — — — — BR1FRA 0000 0000 FFCFH RX0B FFD0H RX0C FFD1H TX0B FFD2H TX0C FFD3H BR0R BR0R 0000 0000 FFD4H RX1B RX1B xxxx xxxx FFD5H RX1C FFD6H TX1B FFD7H TX1C FFD8H BR1R FFD9H I2CX16 — — — FFDAH I2CC I2CTE I2CPU I2COD FFDBH I2CSA FFDCH I2CTB I2CTB 0000 0000 FFDDH I2CRB I2CRB 0000 0000 FFDEH I2CIEC — I2CNAIE I2CROIE I2CTEIE I2CRBIE I2CTBIE I2CSPIE I2CSRIE 0000 0000 FFDFH I2CIFC — I2CNAIF I2CROIF I2CTEIF I2CRBIF I2CTBIF I2CSPIF I2CSRIF 1000 0100 T11M — — — — 1111 1111 — 0000 0000 — T11PRS — 0000 0000 T11POS 0000 0000 RX0B RX0EN RX0LEN BJT0EN RX0TXEN xxxx xxxx RX0IOS OERR0 FERR0 RX0R8 TX0B TX0EN RX1EN TX0LEN RX1LEN BRGH0 BJT1EN — 0000 0000 — RX1TXEN RX1IOS — OERR1 TRMT0 FERR1 TX0R8 RX1R8 TX1B TX1EN TX1LEN BRGH1 — — TRMT1 TX1R8 BR1R 0000 0000 I2CX16 I2CANAE 0000 0010 0000 0000 I2CCSE 0000 0000 I2CRST I2CSADR V1.8 版权所有©上海东软载波微电子有限公司 0000 0010 0000 0000 — I2CTAS 0000 0000 I2CEN 0000 0000 I2CRW 0000 0000 229/248 http://www.essemi.com ES7P169C 数据手册 附录4 附录4. 1 电气特性 参数特性表 附录4. 1. 1 芯片工作条件  最大标称值 参数 符号 条件 标称值 单位 电源电压 VDD — -0.3 ~ 7.5 V 输入电压 VIN — -0.3 ~ VDD + 0.3 V 输出电压 VOUT — -0.3 ~ VDD + 0.3 V VDD 管脚最大输入电流 IMAXVDD VDD=5.0V,25℃ 80 mA VSS 管脚最大输出电流 IMAXVSS VDD=5.0V,25℃ 180 mA 存储温度 TSTG -55 ~ 125 ℃ — 注 1:上述最大标称值参数为芯片工作条件的极限参数范围,超出该范围,可能会导致芯片永久性物理损坏; 注 2:芯片需在正常工作条件下,才能保证持续稳定运行,对芯片的正常工作条件,参见下面的表格所述。  芯片工作条件表 参数 符号 工作条件 最小值 最大值 单位 芯片工作温度 TOPR - -40 85 ℃ 芯片工作电压 VDD - 2.2 5.5 V  芯片功能模块工作电压范围表 参数 符号 工作温度 ADC 工作电压 VADC -40 ~ 85℃  VDD 电压 备注 2.5~5.5V 正向参考电压为内部 VREF2.048V 3.0~5.5V 正向参考电压为 VDD 芯片上电和下电工作条件表(-40 ~ 85℃) 参数 符号 最小值 最大值 单位 VDD 上电初始电压 Vstart 0 0.2 V 10 - us/V 20 - us/V VDD 上升速率 VDD 下降速率 V1.8 版权所有©上海东软载波微电子有限公司 TVDD 230/248 http://www.essemi.com ES7P169C 数据手册 附录4. 1. 2 芯片特性参数测量方法  芯片功耗参数测量方法 VDD A + V CHIP VSS DC电源 芯片功耗测量连接示意图  芯片 IO 端口参数测量方法 I + A I IO端口(输出低电平) + DC电源 V - - A + DC电源 CHIP 测量VOL/IOL IO端口(输出高电平) + - V CHIP 测量VOH/IOH 芯片 IO 端口输出特性参数测量连接示意图 附录4. 1. 3 芯片功耗特性  芯片功耗特性参数表 参数 芯片供电电压 芯片静态电流 IDLE 休眠模式 下芯片电流 正常运行模式 芯片电流 符号 VDD 最小值 典型值 最大值 单位 2.2 — 5.5 V IDD IPD1 — — 1 2.5 — — 工作条件 -40℃ ~ 85℃ mA 25℃,VDD = 5V,所有 的 I/O 端口输入低电平, 外部复位 MRSTN = 0, 内部 INTHRC 作为系统 时钟 μA 25℃,VDD = 5V,WDT 使能,所有 I/O 端口输出 固定电平,无负载 IOP1 — 4.2 — mA 25℃,VDD = 5V,外设 模块均工作,ADC 为低功 耗模式,所有 I/O 端口输 出固定电平,无负载,系 统时钟为内部 32MHz INTHRC IOP2 — 2.6 — mA 系统时钟为内部 16MHz V1.8 版权所有©上海东软载波微电子有限公司 231/248 http://www.essemi.com ES7P169C 数据手册 参数 符号 最小值 典型值 最大值 单位 工作条件 INTHRC,其它条件同 Iop1 IOP3 — 1.5 — mA 系统时钟为内部 4MHz INTHRC,其它条件同 Iop1 IOP4 — 1.0 — mA 系统时钟为内部 32KHz INTLRC,其它条件同 Iop1 µA 25℃,VDD = 5V,系统 时钟为内部 1MHz INTHRC,外设仅内部定 时器工作,其它外设不使 能,所有 I/O 端口输出固 定电平,无负载 IOP5 270 — — 附录4. 1. 4 芯片IO端口特性  芯片输入端口特性表 芯片工作温度范围:-40℃ ~ 85℃ 参数 符号 最小值 I/O 端口输入高电平 (TTL 输入) VIH1 0.5VDD I/O 端口输入低电平 (TTL 输入) VIL1 IO 端口施密特迟滞窗 口(TTL 输入) VHYST1 I/O 端口输入高电平 (CMOS 输入) VIH2 I/O 端口输入低电平 (CMOS 输入) VIL2 外部复位输入高电平 (CMOS 输入) 典型值 — 最大值 VDD 单位 测试条件 V 2.2V≤VDD≤5.5V VSS — 0.1VDD V - 0.3 - V 0.8VDD — VDD V 25℃,VDD=5.0V 2.2V≤VDD≤5.5V VSS — 0.2VDD V VIH_MRST 0.8VDD — VDD V 2.2V≤VDD≤5.5V 外部复位输入低电平 (CMOS 输入) VIL_MRST VSS — 0.2VDD V 2.2V≤VDD≤5.5V IO 端口施密特迟滞窗 口(CMOS 输入) VHYST2 - 0.7 - V 25℃,VDD=5.0V — — +1 μA 2.2V≤VDD≤5.5V Vpin=VSS 或 VDD — — 5 μA Vpin=VSS 或 VDD I/O 端口输入漏电流 IIL 主复位端口漏电流 I/O 端口弱上拉电阻 RWPU — 50 — kΩ 25℃,VDD=5.0V Vpin = VSS I/O 端口弱下拉电阻 RWPD — 50 — kΩ 25℃,VDD=5.0V Vpin = VDD V1.8 版权所有©上海东软载波微电子有限公司 232/248 http://www.essemi.com ES7P169C 数据手册 I/O 输入端口 VDD/2 输 出精度 VVDD/2 — ±3% 25℃,VDD=5V,弱 上拉和弱下拉同时 使能 — 注:I/O 端口弱上拉和弱下拉电阻,在全温度范围内(-40~ 85℃) ,相对于常温的变化量在±10%以内。  芯片输出端口特性表 芯片工作温度范围:-40℃ ~ 85℃ 参数 符号 最小值 I/O 端口输出高电平 VOH 0.8VDD — VDD V 2.2V≤VDD≤5.5V, 端口无负载 I/O 端口输出低电平 VOL VSS — 0.2VDD V 2.2V≤VDD≤5.5V, 端口无负载 参数 符号 I/O 端口灌电流 (PC1,PA3~5) I/O 端口灌电流 (PC0,PB0~3, PA0~2) I/O 端口灌电流 (PB4~7,PA6~7) 典型值 最大值 最小值 典型值 最大值 IOL1 — 12 — IOL20 — 36 — IOL3 — 60 — IOL1 — 12 — IOL21 — 24 — IOL1 — 12 — IOH1 — 8 — 单位 mA 16 测试条件 25℃,VDD = 5V VOL = 0.6V,DS=1,增强驱动 25℃,VDD = 5V VOL = 1.4V,DS=1,增强驱动 mA 25℃,VDD = 5V VOL = 0.6V,DS=0,普通驱动 25℃,VDD = 5V VOL = 0.6V,DS=1,强驱动 mA mA — 测试条件 25℃,VDD = 5V VOL= 0.6V,DS=0,普通驱动 I/O 端口拉电流 IOH2 单位 — 25℃,VDD = 5V VOL= 0.6V 25℃,VDD = 5V VOH = 4.4V,DS=0,普通驱动 25℃,VDD = 5V VOH = 4.4V,DS=1,强驱动 注:I/O 端口拉电流 IOH 和灌电流 IOL 的驱动能力随温度降低而增大。 附录4. 1. 5 芯片系统时钟特性  系统时钟要求表 参数 符号 最小值 典型值 最大值 单位 测试条件 系统时钟频率 FOSC — — 32 MHz 2.2V≤VDD≤5.5V 系统时钟周期 TOSC 31.25 — — ns 2.2V≤VDD≤5.5V 机器周期 Tinst 62.5 — — ns — WDT 溢出时间 TWDT 4.74 8 25.6 ms V1.8 版权所有©上海东软载波微电子有限公司 2.2V≤VDD≤5.5V 233/248 http://www.essemi.com ES7P169C 数据手册 (54KHz) (32KHz) (10KHz) -40℃ ~ 85℃ 不分频,周期寄存器 设置为 FFH。 附录4. 1. 6 芯片ESD特性  静电放电特性参数表 参数 符号 等级 最大值 单位 ESD 电压(人体模型) ESD 电压(机器模型) VESDHBM 3A 4000 V 25℃,遵循标准 MIL-STD-883J VESDMM 3 400 V 25℃,遵循标准 JESD22-A115 C3 1000 V 25℃,遵循标准 JEDEC JS-002 ESD 电压(充电器件模型) VESDCDM 测试条件 注:上述静电放电特性参数值是基于理论设计值和被测样品的测试值,不是批量产品测试值,仅供芯片应用时参考。  静态闩锁特性参数表 参数 符号 Latchup 电流 ILU 等级 IA 测试条件 25℃,遵循标准 JESD78 注:上述静态闩锁特性参数值是基于理论设计值和被测样品的测试值,不是批量产品测试值,仅供芯片应用时参考。 附录4. 1. 7 芯片功能模块特性  12 位 ADC 特性表 参数 符号 最小值 典型值 最大值 单位 测试条件 电源电压 VDD 2.5 — 5.5 V — 工作电流 IADC — 500 — uA 25℃,VDD=5.0V,ADC 转换 时钟频率为 1MHz,低功耗模 式(ADC_LP_EN=1),内部 VREF 做参考 分辨率 RR — — 12 bit — LSB 25℃,VDD=5.0V,ADC 转换 时钟频率为 1MHz、采样时间 为 8TADCLK 时,VDD 作参考 差分线性度 DNL — ±2 — INL — ±3 — LSB 25℃,VDD=5.0V,ADC 转换 时钟频率为 1MHz、采样时间 为 8TADCLK 时,VDD 作参考 失调误差 VEOFF — ±4 — mV 25℃, 内部 VREF 或 VDD(4V) 做参考,软件校准失调误差后 模拟输入电压 VADIN 0 — VREF - 0.02 V — 输入电容 CADIN — — 40 Pf — 输入电阻 RADIN — — 10 KΩ — 转换时钟频率 FADC 32K — 2M Hz — 转换时间(不 TADC — 14 — TADCLK — 积分线性度 V1.8 版权所有©上海东软载波微电子有限公司 234/248 http://www.essemi.com ES7P169C 数据手册 参数 符号 最小值 典型值 最大值 单位 测试条件 TADS 250 — — ns 推荐使用 8TADCLK 包括采样时 间) 采样时间 注:因 ADC 转换结果需进行软件校准,减去初始失调误差,所以无法得到满量程转换值 0xFFF,推荐模拟输入信 号的最大值为参考电压值减去 20mv,否则可能无法得到精确的 ADC 转换结果。  ADC 转换时钟源选择表 系统时钟工作频率(Hz) (ADVREFPS=2’b00,使用 VDD 作为正向参考电压) A/D 时钟源 选择 32M 16M 8M 4M Fosc 不推荐使用 不推荐使用 不推荐使用 不推荐使用 Fosc/2 不推荐使用 不推荐使用 不推荐使用 TADCLK = 0.5us Fosc/4 不推荐使用 不推荐使用 TADCLK = 0.5us TADCLK = 1us Fosc/8 不推荐使用 TADCLK = 0.5us TADCLK = 1us TADCLK = 2us Fosc/16 TADCLK = 0.5us TADCLK = 1us TADCLK = 2us TADCLK = 4us Fosc/32 TADCLK = 1us TADCLK = 2us TADCLK = 4us TADCLK = 8us Fosc/64 TADCLK = 2us TADCLK = 4us TADCLK = 8us TADCLK = 16us FINTLRC TADCLK = 31us TADCLK = 31us TADCLK = 31us TADCLK = 31us 系统时钟工作频率(Hz) (ADVREFPS=2’b10 或 2’b11,使用内部 VREF 作为正向参考电压) A/D 时钟源 选择 32M 16M 8M 4M Fosc 不推荐使用 不推荐使用 不推荐使用 不推荐使用 Fosc/2 不推荐使用 不推荐使用 不推荐使用 TADCLK = 0.5us Fosc/4 不推荐使用 不推荐使用 TADCLK = 0.5us TADCLK = 1us Fosc/8 不推荐使用 TADCLK = 0.5us TADCLK = 1us TADCLK = 2us Fosc/16 TADCLK = 0.5us TADCLK = 1us TADCLK = 2us TADCLK = 4us Fosc/32 TADCLK = 1us TADCLK = 2us TADCLK = 4us 不推荐使用 Fosc/64 TADCLK = 2us TADCLK = 4us 不推荐使用 不推荐使用 FINTLRC 不推荐使用 不推荐使用 不推荐使用 不推荐使用 注:上述表中不推荐使用的 AD 转换频率,由于频率设置过高或过低,都可能会导致 ADC 转换精度降低。  ADC 内部参考和 1/4VDD 电源分压电压特性表 参数 符号 最小值 典型值 最大值 单位 测试条件 ADC 内部参 考电压 VREF1 2.025 2.048 2.070 V 25℃,VDD=2.5~5.5V, VREF_CHOPEN=1 1/4VDD 电源 分压 V1/4VDD 1.23 1.25 1.27 V 25℃,VDD=5.0V 1.225 1.25 1.275 V -40℃~85℃,VDD=5.0V V1.8 版权所有©上海东软载波微电子有限公司 235/248 http://www.essemi.com ES7P169C 数据手册 注 1:ADC 内部参考电压在全温度范围内(-40℃~85℃)相对于常温条件下的偏差范围约±1.5%。 注 2:1/4VDD 电源分压,在常温条件下的精度约±1.5%,全温度范围内的精度约±2%。  内部时钟源特性表 参数 内部 INTHRC 64MHz 时钟频率 内部 INTHRC 32MHz 时钟频率 内部 INTHRC 16MHz 时钟频率 内部 INTHRC 4MHz 时钟频率 内部 INTHRC 1MHz 时钟频率 内部 INTLRC 32KHz 时钟频率 工作电流 最小值 典型 值 最大值 单位 63.36 64 64.64 MHz 25℃, VDD = 5.0V 62.72 64 65.28 MHz -20℃~85℃, VDD=2.2V~5.5V 62.20 64 65.28 MHz -40℃~85℃, VDD=2.2V~5.5V 31.68 32 32.32 MHz 25℃, VDD = 5.0V 31.36 32 32.64 MHz -20℃~85℃, VDD=2.2V~5.5V 31.20 32 32.64 MHz -40℃~85℃, VDD=2.2V~5.5V 15.84 16 16.16 MHz 25℃, VDD = 5.0V 15.68 16 16.32 MHz -40℃~85℃, VDD=2.2V~5.5V 3.96 4 4.04 MHz 25℃, VDD = 5.0V 3.92 4 4.08 MHz -40℃~85℃, VDD=2.2V~5.5V 0.99 1 1.02 MHz 25℃, VDD = 5.0V 0.98 1 1.03 MHz 40℃~85℃, VDD=2.2V~5.5V 30.4 32 33.6 KHz 25℃, VDD = 5.0V 10 32 54 KHz -40℃~85℃, VDD=2.2V~5.5V IINTHRC_64M — 400 — uA IINTHRC_32M — 230 — uA IINTHRC_16M — 160 — uA IINTHRC_4M — 70 — uA 符号 FINTHRC_64M FINTHRC_32M FINTHRC_16M FINTHRC_4M FINTHRC_1M FINTLRC V1.8 版权所有©上海东软载波微电子有限公司 测试条件 25℃, VDD = 5.0V 236/248 http://www.essemi.com ES7P169C 数据手册  BOR 模块特性表 BORVS  最小值 典型值 最大值 单位 11 2.9 3.1 3.3 V 10 2.3 2.5 2.7 V 01 1.9 2.1 2.3 V 00 — — — — 测试条件 -40℃~85℃ LVD 模块特性表 LVDV VDD 下降, LVDO 低电压 状态标志置 1 最小值 典型值 最大值 单位 000 2.05 2.2 2.35 V 001 2.25 2.4 2.55 V 010 2.45 2.6 2.75 V 011 2.65 2.8 2.95 V 100 2.85 3.0 3.15 V 101 3.45 3.6 3.75 V 110 3.85 4.0 4.20 V 111 4.45 4.6 4.80 V - 50 130 mV LVD 电压检测迟滞窗口 测试条件 25℃ 注:LVD 电压在全温度范围内(-40℃~85℃)相对于常温条件下的偏差范围约±3%。 V1.8 版权所有©上海东软载波微电子有限公司 237/248 http://www.essemi.com ES7P169C 数据手册 附录4. 2 参数特性图 本节中所列图示均为抽样测试,仅作为设计参考之用。其中部分图示中所列的数据已超出指 定的操作范围,此类信息也仅供参考,芯片只保证在指定的范围内正常工作。 附录4. 2. 1 芯片功耗特性  芯片 IDLE 模式电流随电压-温度变化特性图  工作频率为内部 INTHRC 32MHz 时,芯片动态电流随芯片电压-温度变化特性图(ADC 为低功耗模式,转换时钟速率为 2MHz)  工作频率为内部 INTHRC 16MHz 时,芯片动态电流随芯片电压-温度变化特性图(ADC 为低功耗模式,转换时钟速率为 2MHz) V1.8 版权所有©上海东软载波微电子有限公司 238/248 http://www.essemi.com ES7P169C 数据手册  工作频率为内部 INTHRC 4MHz 时,芯片动态电流随芯片电压-温度变化特性图(ADC 为 低功耗模式,转换时钟速率为 2MHz)  工作频率为内部 INTHRC 1MHz 时,芯片动态电流随芯片电压-温度变化特性图(外设只 有定时器使能,其它外设都不使能)  工作频率为内部 INTLRC 32KHz 时,芯片动态电流随芯片电压-温度变化特性图(ADC 为 低功耗模式) V1.8 版权所有©上海东软载波微电子有限公司 239/248 http://www.essemi.com ES7P169C 数据手册 附录4. 2. 2 芯片IO端口输入特性  I/O 端口 CMOS 输入特性图(室温 25℃)  I/O 端口 TTL 输入特性图(室温 25℃) IO端口TTL输入施密特窗口特性 输入高电平 施密特窗口 VI(V) VIHth VILth 输入低电平 VDD(V) 注 1:VIHth 为施密特窗口的上阈值电平,大于该阈值的输入电平为高; 注 2:VILth 为施密特窗口的下阈值电平,小于该阈值的输入电平为低; 注 3:VIHth 和 VILth 之间为施密特窗口,在窗口内的输入电平不确定,可能为高或低。 V1.8 版权所有©上海东软载波微电子有限公司 240/248 http://www.essemi.com ES7P169C 数据手册 附录4. 2. 3 芯片IO端口普通驱动输出特性  I/O 端口信号输出特性图 A: VOH vs IOH@VDD=2.3V B: VOL vs IOL@VDD=2.3V V1.8 版权所有©上海东软载波微电子有限公司 241/248 http://www.essemi.com ES7P169C 数据手册 C: VOH vs IOH@VDD=3.5V D: VOL vs IOL@VDD=3.5V E: VOH vs IOH@VDD=5.0V V1.8 版权所有©上海东软载波微电子有限公司 242/248 http://www.essemi.com ES7P169C 数据手册 F: VOL vs IOL@VDD=5.0V G: VOH vs IOH@VDD=5.5V H: VOL vs IOL@VDD=5.5V V1.8 版权所有©上海东软载波微电子有限公司 243/248 http://www.essemi.com ES7P169C 数据手册 附录4. 2. 4 芯片IO端口增强驱动输出特性(PC0,PB0~PB3,PA0~PA2 端口)  I/O 端口信号输出特性图 A: VOH vs IOH@VDD=2.3V B: VOL vs IOL@VDD=2.3V V1.8 版权所有©上海东软载波微电子有限公司 244/248 http://www.essemi.com ES7P169C 数据手册 C: VOH vs IOH@VDD=3.5V D: VOL vs IOL@VDD=3.5V E: VOH vs IOH@VDD=5.0V V1.8 版权所有©上海东软载波微电子有限公司 245/248 http://www.essemi.com ES7P169C 数据手册 F: VOL vs IOL@VDD=5.0V G: VOH vs IOH@VDD=5.5V H: VOL vs IOL@VDD=5.5V V1.8 版权所有©上海东软载波微电子有限公司 246/248 http://www.essemi.com ES7P169C 数据手册 附录4. 2. 5 芯片IO端口增强驱动输出特性(PC1,PA3~PA5 端口)  I/O 端口信号输出特性图 A: VOL vs IOL@VDD=2.3V B: VOL vs IOL@VDD=3.5V V1.8 版权所有©上海东软载波微电子有限公司 247/248 http://www.essemi.com ES7P169C 数据手册 C: VOL vs IOL@VDD=5.0V D: VOL vs IOL@VDD=5.5V V1.8 版权所有©上海东软载波微电子有限公司 248/248 http://www.essemi.com
ES7P169CFGSD/TB 价格&库存

很抱歉,暂时无法提供与“ES7P169CFGSD/TB”相匹配的价格&库存,您可以联系我们找货

免费人工找货