dsPIC30F SMPS Flash Programming Specification

Size: px
Start display at page:

Download "dsPIC30F SMPS Flash Programming Specification"

Transcription

1 dspic30f SMPS 闪存编程规范 1.0 概述与适用范围 本文档定义了 dspic30f 开关电源 (Switched Mode Power Supply,SMPS) 和数字电源转换系列数字信号控制器 (Digital Signal Controller, DSC) 器件的编程规范 本编程规范仅供使用第三方工具对 dspic30f SMPS 器件进行编程的开发人员使用 使用 dspic30f SMPS 器件的客户应该采用支持器件编程的开发工具 本文档包括下列器件的编程规范 : dspic30f1010 dspic30f2020 dspic30f2023 dspic30f SMPS 系列通过将 32 位串行密钥序列在时钟控制下移入 PGD 引脚来进入编程模式, 这一点与 dspic33f 系列类似 而且, 它们的编程操作方式也与其他 dspic30f 器件类似 dspic30f SMPS 系列不包含数据 EEPROM 2.0 dspic30f SMPS 的编程概述 dspic30f SMPS 系列 DSC 包含一块用于简化器件编程的片上存储区域 这部分存储区用于存储编程执行程序, 编程执行程序使得能够以比传统方法更快的速度对 dspic30f SMPS 器件编程 一旦外部编程器 ( 如 Microchip 的 MPLAB ICD 2 或 PRO MATE II) 将编程执行程序存储到该存储区, 编程执行程序就能与外部编程器配合工作来对器件高效编程 编程器和编程执行程序存在一种主从关系, 其中编程器是主编程设备, 而编程执行程序则处于从动地位, 如图 2-1 所示 可使用两种不同的方法对用户系统中的芯片编程 一种方法是使用增强型在线串行编程 (In-Circuit Serial Programming TM, ICSP TM ) 协议, 并使用编程执行程序 另一种方法是仅使用在线串行编程 (ICSP) 协议, 不使用编程执行程序 增强型 ICSP 协议采用速度更快的高电压编程法, 这个编程方法利用了编程执行程序 编程执行程序通过一个小的命令集提供擦除 编程和校验芯片所必需的所有功能 该命令集使得编程器对 dspic30f 器件的编程无须处理芯片的低级编程协议 图 2-1: dspic30f SMPS 系列的编程概览 编程器 2 编程执行程序片上存储器 dspic30f ICSP 编程方法不使用编程执行程序 它提供固有的低级编程功能来擦除 编程和校验芯片 由于此方法使用控制代码对 dspic30f SMPS 器件串行执行指令, 因此速度非常慢 本规范对增强型 ICSP 和 ICSP 编程方法都进行了说明 第 3.0 节 编程执行程序的应用 说明了编程执行程序的应用, 第 5.0 节 器件编程 说明了编程器主机的应用程序编程器接口 第 11.0 节 ICSP 模式 说明了 ICSP 编程方法 2008 Microchip Technology Inc. DS70284B_CN 第 1 页

2 2.1 硬件要求 在增强型 ICSP 模式下, 需要在 dspic30f SMPS 器件的 VDD 上提供一个编程电源 请参见第 13.0 节 交流 / 直流特性和时序要求 了解更多硬件参数 2.2 编程时使用的引脚 表 2-2 中列出了编程时需要用到的引脚 请参见相应器件的数据手册, 以了解完整的引脚说明 2.3 程序存储器映射 程序存储空间从 0x00 延伸到 0xFFFFFE 代码存储在该存储器映射的最低地址部分, 支持最多 12 KB (4K 指令字 ) 表 2-1 给出了每个器件型号程序存储空间的位置和容量 表 2-1: dspic30f SMPS 器件 dspic30f1010 dspic30f2020 dspic30f2023 代码存储区的映射和容量 代码存储区映射 ( 容量用指令字表示 ) 0x00-0x000FFE (2K) 0x00-0x001FFE (4K) 0x00-0x001FFE (4K) 地址从 0x80 至 0x8005BE 的存储单元保留用作执行程序代码存储区 该区域用于存储编程执行程序或调试执行程序 编程执行程序用于器件编程, 而调试执行程序用于在线调试 该存储器区域不能用于存储用户代码 地址从 0xF8 至 0xF8000E 的存储单元保留用作配置寄存器区 可以设置这些寄存器中的位, 以选择各种器件配置, 这将在第 5.7 节 配置位编程 中进行说明 即使应用了代码保护也可正常读出配置位 地址为 0xFF 和 0xFF0002 的两个存储单元保留用作器件 ID 寄存器区 编程器使用这些位来标识要编程的器件类型, 这会在第 10.0 节 器件 ID 中进行说明 即使应用了代码保护也可正常读出器件 ID 图 2-2 给出了 dspic30f SMPS 系列的存储器映射 2.4 数据 EEPROM 存储器 dspic30f SMPS 系列不包含数据 EEPROM 表 2-2: 引脚说明 ( 编程时用到的引脚 ) 引脚名称 编程操作期间 引脚名称引脚类型引脚说明 MCLR MCLR P 编程使能 VDD 和 AVDD (1) VDD P 电源 VSS 和 AVSS (1) VSS P 地 PGC PGC I 主编程引脚对 : 串行时钟 PGD PGD I/O 主编程引脚对 : 串行数据 PGC1 PGC1 I 次编程引脚对 : 串行时钟 PGD1 PGD1 I/O 次编程引脚对 : 串行数据 PGC2 PGC2 I 第三编程引脚对 : 串行时钟 PGD2 PGD2 I/O 第三编程引脚对 : 串行数据 图注 : I = 输入, O = 输出, P = 电源 注 1: 必须连接所有的电源和地引脚, 包括模拟电源 (AVDD) 和模拟地 (AVSS) 引脚 DS70284B_CN 第 2 页 2008 Microchip Technology Inc.

3 图 2-2: 程序存储器映射 00 用户闪存代码存储区 (48K x 24 位 ) 017FFE 配置存储空间 用户存储空间 保留 执行程序代码存储区 ( 保留 ) 器件 ID (32 x 24 位 ) 7FFFFE BE 8005C0 8005FE 保留 F7FFFE 配置寄存器 F8 (8 x 16 位 ) F8000E F80010 保留 器件 ID (2 x 16 位 ) 保留 FEFFFE FF FF0002 FF0004 FFFFFE 注 : 用户闪存代码存储区的地址边界因器件而异 2008 Microchip Technology Inc. DS70284B_CN 第 3 页

4 3.0 编程执行程序的应用 3.1 编程执行程序概述 编程执行程序存放在执行程序存储区中, 当进入增强型 ICSP 编程模式时将被执行 编程执行程序使用一个简单的命令集和通信协议为编程器 ( 主设备 ) 提供了对 dspic30f SMPS 器件进行编程和校验的机制 编程执行程序可提供以下功能 : 读存储器 - 代码存储区 - 配置寄存器 - 器件 ID 擦除存储器 - 批量擦除 ( 以段为单位 ) - 代码存储区 ( 以行为单位 ) 对存储器编程 - 代码存储区 - 配置寄存器 查询 - 空白器件 - 编程执行程序软件版本编程执行程序执行擦除和编程操作所需要的低级任务, 这允许编程器通过发出相应的命令和数据来对器件编程 第 5.0 节 器件编程 概述了编程的过程 4.0 确认执行程序存储区中的内容 在开始编程之前, 编程器必须确认执行程序存储区中存放了编程执行程序 图 4-1 给出了该任务的流程图 首先, 进入在线串行编程模式 (ICSP) 然后读取存储在执行程序存储区中的惟一应用程序 ID 字 如果编程执行程序已位于执行程序存储区中 ( 应用程序 ID 字为 0xBB), 表示可以正常进行编程 但是, 如果应用程序 ID 字不为 0xBB, 则必须使用第 12.0 节 将编程执行程序烧写到存储区中 中的方法将编程执行程序烧写到执行程序代码存储区中 第 11.0 节 ICSP 模式 说明了 ICSP 编程方法的执行过程 第 节 读应用程序 ID 字 说明了在 ICSP 模式下读取应用程序 ID 字的过程 图 4-1: 开始 进入 ICSP 模式 从地址 0x805BE 中读取应用程序 ID 确认编程执行程序的存在 3.2 编程执行程序代码存储区 编程执行程序存放在执行程序代码存储区中, 并从该保留的存储区执行 它无需占用用户代码存储区的任何资源 3.3 编程执行程序数据 RAM 编程执行程序使用器件的数据 RAM 来存放变量和执行程序 一旦运行了编程执行程序, 数据 RAM 中的内容就无法确定了 应用程序 ID 为 0xBB 吗? 是编程执行程序位于存储区中完成 否 必须将编程执行程序烧写到存储区中 DS70284B_CN 第 4 页 2008 Microchip Technology Inc.

5 5.0 器件编程 5.1 编程过程的概述 一旦验证了编程执行程序存在于存储区中 ( 或者如果不存在也已装入 ), 则可使用表 5-1 中给出的命令集对 dspic30f SMPS 器件编程 关于每条命令的详细说明请参见第 8.0 节 编程执行程序命令 图 5-1: 编程流程图 开始 进入增强型 ICSP 模式 表 5-1: 命令 SCHECK READD READP PROGP PROGC ERASEB ERASEP QBLANK QVER 命令集汇总说明工作状态检查读配置寄存器和器件 ID 读代码存储区对代码存储区中的一行进行编程并校验对配置位进行编程并校验批量擦除或段擦除擦除代码存储区查询代码存储区是否为空白查询软件版本 执行芯片擦除操作 将配置寄存器编程为默认值 编程并校验代码 编程并校验数据 图 5-1 高度概括了编程的过程 编程过程从进入增强型 ICSP 模式开始 然后对芯片执行批量擦除操作, 将所有存储区置为 1, 以允许对器件进行编程 在开始编程前对芯片擦除进行校验, 接下来对代码存储区 数据闪存和配置位进行编程 在对这些存储区进行编程后要逐一校验以确保编程成功 如果未检测到任何错误, 将完成编程并退出增强型 ICSP 模式 如果任一校验失败, 将从芯片擦除开始重复进行这个过程 编程并校验配置位 退出增强型 ICSP 模式 完成 2008 Microchip Technology Inc. DS70284B_CN 第 5 页

6 5.2 进入增强型 ICSP 模式 图 5-2 给出了进入增强型 ICSP 编程 / 校验模式所需的三个步骤 : 1. 将 MCLR 引脚短暂地拉为高电平, 然后再拉为低电平 2. 将 32 位密钥序列在时钟控制下移入 PGD 3. 然后在指定的时间内将 MCLR 拉为高电平并保持状态不变 施加到 MCLR 引脚上的编程电压为 VIH, 对于 dspic30f SMPS 器件, 实际上就是 VDD 对于 VIH 没有最小保持时间要求 在移除 VIH 后, 必须经过至少 P16 的时间间隔才能将密钥序列移入 PGD 引脚 该密钥序列为一个特定的 32 位模式, ( 以其十六进制格式 0x4D 记忆更为简便 ) 请参见附录 A: Hex 文件格式 以了解更多信息 只有当密钥序列有效时, 器件才能进入编程 / 校验模式 必须首先移入高半字节的最高有效位 (Most Significant bit, MSb) 在时钟引脚 PGC 的上升沿移入密钥数据 密钥序列完全移入后, 只要需要保持在编程 / 校验模式, 就必须将 VIH 电压施加到 MCLR 上, 并保持该电压 必须至少经过 P17 和 P7 的时间间隔后才能将数据输出到 PGD 在 P7 结束之前出现在 PGD 上的信号被视作无效 成功进入编程 / 校验模式后, 就能以串行的方式访问程序存储区并对其进行编程了 在编程 / 校验模式下, 所有未使用的 I/O 都处于高阻态 图 5-2: 进入增强型 ICSP 模式 MCLR P6 P12 VIH VIH P17 P7 VDD PGD PGC P16 编程 / 校验进入代码 = 0x4D b31 b30 b29 b28 b27 b3 b2 b1 b0 P2B P2A 5.3 退出增强型 ICSP 模式 通过从 MCLR 上移除 VIH 可退出编程 / 校验模式, 如图 5-3 所示 退出的惟一要求是, PGC 和 PGD 的上一个时钟和编程信号后与移除 VIH 前之间应该有 P9b 的时间间隔 图 5-3: MCLR VDD 退出增强型 ICSP 模式 P9b P15 VIH 5.4 芯片擦除 必须先将芯片擦除才能对其进行编程 批量擦除命令 (ERASEB) 用于执行此任务 在将 MS 命令字段设置为 0x3 的情况下执行此命令会擦除所有代码存储区和代码保护配置位 该芯片擦除过程会将这三个存储区域中的所有位置为 1 因为代码保护配置位是不可擦除的, 所以必须使用多条 PROGC 命令手动将它们置为 1 必须针对每个配置寄存器都发送一条 PROGC 命令 ( 见第 5.7 节 配置位编程 ) 注 : 不能擦除器件 ID 寄存器 执行芯片擦除之后, 这些寄存器的内容保持不变 PGD VIH PGC PGD = 输入 DS70284B_CN 第 6 页 2008 Microchip Technology Inc.

7 5.5 空白检查 术语 空白检查 的含义是校验器件是否已被成功擦除且没有已编程的存储单元 空白或已擦除的存储单元读为 1 必须对下列存储区进行空白检查: 所有实现的代码存储区 所有配置位 ( 验证是否为默认值 ) 器件 ID 寄存器 (0xFF:0xFF0002) 可被空白检查忽略, 因为此区域存储了不可擦除的器件信息 另外, 所有未实现的存储空间都应该被空白检查忽略 QBLANK 命令用于空白检查 该命令通过检测代码存储区来确定这些存储区是否已被擦除 将返回 BLANK ( 空白 ) 或 NOT BLANK ( 非空白 ) 响应 READD 命令用于读取配置寄存器 如果确定器件非空白, 则必须在尝试对芯片进行编程前先将其擦除 ( 见第 5.4 节 芯片擦除 ) 5.6 代码存储区编程 概述 闪存代码存储阵列的板结构由 128 行组成, 每行包含 32 条 24 位指令 每个板可存储最多 4K 指令字 每种型号的 dspic30f SMPS 器件都有一个存储板 ( 见表 5-2) 表 5-2: 器件代码存储区容量 dspic30f SMPS 代码容量 行数 板数 器件 (24 位字 ) dspic30f1010 2K 64 1 dspic30f2020 4K dspic30f2023 4K 与 0 作比较 由于有更多 PROGP 命令需要发送, BaseAddress 将递增 0x40 以指向存储区的下一行 执行第二条 PROGP 命令时, 将对每个存储板的第二行进行编程 将反复执行此过程直到整个器件都被编程为止 当越过存储板边界时不必进行特殊处理 编程校验 一旦代码存储区编程完毕, 就可以对存储区的内容进行校验以确保编程成功 校验需要对代码存储区执行读回操作, 并将读回的数据与保存在编程器的缓冲区中的副本作比较 READP 命令可对整个已编程的代码存储区执行读回操作 或者, 也可以在对整个器件编程完毕后, 让编程器通过计算校验和来执行校验, 如第 6.6 节 校验和计算 中所述 图 5-4: 对 dspic30f SMPS 代码存储区进行编程的流程图 开始 BaseAddress = 0x0 RemainingCmds =128 发送 PROGP 命令对 BaseAddress 处的一行代码存储区编程 编程方法 使用 PROGP 命令对代码存储区进行编程 PROGP 命令对在命令中指定存储地址处的代码存储区的一行进行编程 对器件编程所需的 PROGP 命令数取决于器件中应该被编程的行数 对代码存储区编程的流程图如图 5-4 所示 在此示例中, 对 dspic30f2020 器件中的所有 4K 指令字进行编程 首先, 将要发送的命令数 ( 在流程图中称为 RemainingCmds ) 设置为 128, 将目标地址 ( 称为 BaseAddress ) 设置为 0 接着, 使用 PROGP 命令对器件中的一行编程 每条 PROGP 命令包含将写入代码存储区中一行的数据 在成功处理第一条命令后, RemainingCmds 将递减 1 并 BaseAddress = BaseAddress + 0x40 否 PROGP 响应是 PASS 吗? 是 RemainingCmds = RemainingCmds - 1 RemainingCmds 是否为 0? 是 否 完成 故障报告错误 2008 Microchip Technology Inc. DS70284B_CN 第 7 页

8 5.7 配置位编程 概述 dspic30f SMPS 将配置位存储在 7 个 16 位寄存器中 可以将这些位置 1 或清零以选择各种器件配置 有两类配置位 : 系统操作位和代码保护位 系统操作位决定系统级组件 ( 如振荡器和看门狗定时器 ) 的上电设置 代码保护位防止程序存储器被读写 表 5-3 显示了 SMPS 器件的配置寄存器, 而表 5-4 则了配置寄存器的各个位 注 : 如果用户软件需要对配置熔丝执行擦除操作, 那么随后必须使用期望值对该熔丝执行写操作, 即使该期望值与被擦除熔丝的状态相同时也是如此 表 5-3: dspic30f SMPS 系列器件配置寄存器映射 地址 名称 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0xF8 FBS BSS<2:0> BWRP 0xF80002 RESERVED 0xF80004 FGS GSS<1:0> GWRP 0xF80006 FOSCSEL FNOSC<1:0> 0xF80008 FOSC FCKSM<1:0> FRANGE OSCIOFNC POSCMD<1:0> 0xF8000A FWDT FWDTEN WINDIS WDTPRE WDTPOST<3:0> 0xF8000C FPOR FPWRT<2:0> 0xF8000E FICD BKBUG ICS<1:0> 表 5-4: dspic30f SMPS 器件配置位 位域寄存器 BSS<2:0> FBS 引导段程序存储区代码保护 111 = 无引导段 110 = 标准安全性, 小容量引导程序闪存 [ 引导段结束于 0x0003FF] 101 = 标准安全性, 中等容量引导程序闪存 [ 引导段结束于 0x000FFF 注 : 仅适用于 dspic30f2020 和 dspic30f2023 ] 100 = 无引导段 011 = 无引导段 010 = 高安全性, 小容量引导程序闪存 [ 引导段结束于 0x0003FF] 001 = 高安全性, 中等容量引导程序闪存 [ 引导段结束于 0x000FFF 注 : 仅适用于 dspic30f2020 和 dspic30f2023 ] 000 = 无引导段 BWRP FBS 引导段程序存储区写保护 1 = 引导段程序存储区无写保护 0 = 引导段程序存储区有写保护 GSS<1:0> FGS 通用段写保护位 11 = 禁止代码保护 10 = 标准安全性代码保护使能 0x = 保留 GWRP FGS 通用段写保护位 1 = 通用段程序存储区无写保护 0 = 通用段程序存储区有写保护 FNOSC<1:0> FOSCSEL 初始振荡器源选择位 11 = 带有 PLL 的主 (HS 和 EC) 振荡器 10 = 主 (HS 和 EC) 振荡器 01 = 带有 PLL 的内部快速 RC (FRC) 振荡器 00 = 内部快速 RC (FRC) 振荡器 DS70284B_CN 第 8 页 2008 Microchip Technology Inc.

9 表 5-4: dspic30f SMPS 器件配置位 ( 续 ) 位域寄存器 FCKSM<1:0> FOSC 时钟切换模式位 1x = 禁止时钟切换, 禁止故障保护时钟监视器 01 = 使能时钟切换, 禁止故障保护时钟监视器 00 = 使能时钟切换, 使能故障保护时钟监视器 FRANGE FOSC FRC 振荡器的频率范围选择 1 = 高频范围 : 标称 FRC 频率为 14.1 MHz 0 = 低频范围 : 标称 FRC 频率为 9.7 MHz OSCIOFNC FOSC OSC2 引脚功能位 (HS 模式除外 ) 1 = OSC2 为时钟输出引脚 0 = OSC2 为通用数字 I/O 引脚 POSCMD<1:0> FOSC 主振荡器模式选择位 11 = 禁止主振荡器 10 = HS 晶振模式 01 = 保留 00 = EC ( 外部时钟 ) 模式 FWDTEN FWDT 看门狗使能位 1 = 看门狗始终使能 ( 不能禁止 LPRC 振荡器 清零 RCON 寄存器中的 SWDTEN 位将不起作用 ) 0 = 由用户软件使能 / 禁止看门狗 ( 可以通过清零 RCON 寄存器中的 SWDTEN 位禁止 LPRC 振荡器 ) WINDIS FWDT 看门狗定时器窗口使能位 1 = 看门狗定时器处于非窗口模式 0 = 看门狗定时器处于窗口模式 WDTPRE FWDT 看门狗定时器预分频比位 1 = 1:128 0 = 1:32 WDTPOST<3:0> FWDT 看门狗定时器后分频比位 1111 = 1:32, = 1:16, = 1:2 = 1:1 FPWRT<2:0> FPOR 上电复位定时器的定时时间选择位 111 = PWRT = 128 ms 110 = PWRT = 64 ms 101 = PWRT = 32 ms 100 = PWRT = 16 ms 011 = PWRT = 8 ms 010 = PWRT = 4 ms 001 = PWRT = 2 ms 000 = 禁止 PWRT BKBUG FICD 后台调试使能位 1 = 器件将复位到用户模式 0 = 器件将复位到调试模式 ICS<1:0> FICD ICD 通信通道选择位 11 = 通过 PGC/EMUC 和 PGD/EMUD 进行通信 10 = 通过 PGC1/EMUC1 和 PGD1/EMUD1 进行通信 01 = 通过 PGC2/EMUC2 和 PGD2/EMUD2 进行通信 00 = 保留, 不要使用 所有 未实现 ( 读为 0, 写为 0) 2008 Microchip Technology Inc. DS70284B_CN 第 9 页

10 5.7.2 编程方法 系统操作配置位与所有其他存储单元有本质区别 与代码存储区和代码保护配置位不同, 系统操作位不可擦除 如果使用 ERASEB 命令擦除芯片, 系统操作位将保持它们先前的值 因此, 您不应对系统操作位的值做任何假设, 应该始终将它们编程为期望设置 使用 PROGC 命令对配置位进行编程, 一次可编程一个字 PROGC 命令指定配置数据和配置寄存器地址 当对配置位进行编程时, 任何未实现位必须编程为 0, 任何保留位必须编程为 1 需要四条 PROGC 命令来对所有配置位进行编程 配置位编程的流程图如图 5-5 所示 注 : 如果通用代码段代码保护 (GCP) 位被编程为 0, 则代码存储区被代码保护, 不能被读取 在使能读保护之前, 必须对代码存储区进行校验 如需了解更多有关代码保护配置位的信息, 请参见第 节 CodeGuard 安全配置位 编程校验 一旦配置位编程完毕, 就应对存储区的内容进行校验以确保编程成功 校验需要对配置位执行读回操作, 并将读回的数据与保存在编程器缓冲区中的副本作比较 READD 命令读回已编程的配置位以验证编程是否成功 任何未实现的配置位为只读且读为 CodeGuard 安全配置位 FBS 和 FGS 配置寄存器是特殊的配置寄存器, 它们分别控制引导段和通用段的大小和代码保护级别 对于每个段, 提供两种主要的代码保护形式 一种形式阻止写入代码存储区 ( 写保护 ), 而另一种形式阻止读取代码存储区 ( 读保护 ) dspic30f SMPS 系列器件不包含安全段 BWRP 和 GWRP 位控制写保护, BSS<2:0> 和 GSS<1:0> 位控制读保护 芯片擦除命令 ERASEB 将所有代码保护位置为 1, 从而允许对器件编程 当使能写保护时, 对代码存储区的任何编程操作都将失败 当使能读保护时, 对代码存储区的任何读操作都将导致读到的值为 0x0, 而无论代码存储区的实际内容如何 由于编程执行程序始终对其编程的内容进行校验, 因此尝试对使能了读保护的代码存储区进行编程也将失败 当正在对器件进行编程和校验时, 所有代码保护位都必须为 1 只有对器件进行编程和校验之后才能将上述任何位编程为 0 注 : FBS 和 FGS 配置寄存器中的所有位只能被编程为 0 使用 ERASEB 命令是将代码保护位从使能 (0) 再编程为禁止 (1) 的惟一方法 在执行任何段擦除操作之前, 编程器必须先确定 dspic30f 器件是否已定义了引导段, 并确保该段不会被对任何其他段执行的操作改写 而且, 在定义了引导段的情况下不应该执行批量擦除操作 读 FBS 配置寄存器中的 BSS 位域以确定是否已定义了引导段 如果已定义了引导段 ( 并可能已对其编程 ), 那么必须向用户发出关于这一情况的警告消息 推荐采用批量擦除操作, 以允许用户改写引导段 ( 如果用户希望这样做的话 ) 通常情况下, 应采用以下顺序对这两个段和 CodeGuard 安全相关的配置寄存器编程 : FBS 和引导段 FGS 和通用段 用户部件 ID dspic30f SMPS 器件包含 32 个指令字的部件 ID, 位于地址从 0x8005C0 至 0x8005FF 的存储单元中 部件 ID 可用于存储诸如序列号 系统生产日期 生产批号之类的产品信息, 以及其他特定于应用的信息 使用与烧写编程执行程序类似的方法来烧写部件 ID( 详细信息请参见第 12.0 节 将编程执行程序烧写到存储区中 ) DS70284B_CN 第 10 页 2008 Microchip Technology Inc.

11 图 5-5: 配置位编程流程图 开始 ConfigAddress = 0xF8 发送 PROGC 命令 PROGC 响应是 PASS 吗? 否 是 ConfigAddress = ConfigAddress+2 否 ConfigAddress 是 0xF8000C 吗? 是 完成 故障报告错误 注 : 如果 FBS 或 FGS 中的任何代码保护位被清零, 那么在对器件再编程之前必须擦除整个器件 2008 Microchip Technology Inc. DS70284B_CN 第 11 页

12 6.0 其他编程功能 6.1 擦除存储器 可使用 ERASEB 或 ERASEP 命令擦除存储器, 详细信息请参见第 8.5 节 命令 使用 ERASEP 命令可按行擦除代码存储区 当擦除存储器时, 受影响的存储单元将被置为 1 ERASEB 命令提供了几个批量擦除选项 使用 ERASEB 命令执行芯片擦除将清除所有代码存储区和代码保护寄存器 另外, 也可使用 ERASEB 命令有选择地擦除各程序存储段 表 6-1 中汇总了擦除选项 表 6-1: 命令 ERASEB ERASEP (2) 注 6.2 修改存储器 擦除选项 受影响的区域 (1) 整个芯片或所有代码存储区代码存储区的指定行 1: 系统操作配置寄存器和器件 ID 寄存器是不可擦除的 2: ERASEP 不能用于擦除代码保护配置位 必须使用 ERASEB 擦除这些位 在开始编程之前, 可能您只想修改已编程器件的一部分, 而并不想执行批量擦除 在这种情形下, 芯片擦除是不现实的 您可以使用 ERASEP 命令有选择地擦除代码存储区中的行 然后您可以使用 PROGP 命令对再编程要修改的行 在这些情形下, 当对代码存储区进行编程时, 必须在 PROGP 命令中指定单存储板编程 如果要修改代码保护位, 必须先使用 ERASEB 命令擦除整个芯片 然后可以使用 PROGC 命令对代码保护位再编程 注 : 6.3 读取存储器 可使用 READD 命令读器件的配置位和器件 ID 该命令只返回 16 位数据且只对 16 位寄存器进行操作 READP 命令读取器件的代码存储区 该命令只返回以第 8.3 节 数据打包格式 中所述的方式打包的 24 位数据 READP 命令可用于读取最多 32K 指令字的代码存储区 ( 在 dspic30f SMPS 器件上只有 4K 指令字 ) 注 : 如果使能了任何代码存储区的读或写代码保护, 则无法对该代码存储区进行任何修改, 直到禁止代码保护为止 只有使用 ERASEB 命令执行芯片擦除操作才能够禁止代码保护 读取未实现存储单元将导致编程执行程序复位 所有 READD 和 READP 命令都必须仅指定有效的存储单元 6.4 编程执行程序软件版本 有时候可能需要确定存储在执行程序存储区中的编程执行程序的版本 QVER 命令可以执行此功能 有关 QVER 命令的详细信息请参见第 节 QVER 命令 DS70284B_CN 第 12 页 2008 Microchip Technology Inc.

13 6.5 Hex 文件中的配置信息 为了实现代码的可移植性, 编程器必须从 hex 文件读取配置寄存器单元 ( 见附录 A: Hex 文件格式 ) 如果 hex 文件中不存在配置信息, 编程器将会发出一条简单的警告消息 类似地, 当保存 hex 文件时, 必须包含所有的配置信息 可提供一个选项来不包含配置信息 Microchip Technology Inc. 相信这是对于最终客户有益的重要功能 6.6 校验和计算 dspic30f SMPS 的校验和为 16 位 通过对下列内容求和可以计算校验和 : 代码存储单元的内容 配置寄存器的内容 一次对所有存储单元以字节方式求和, 只使用其固有数据长度 更具体地说, 对于配置寄存器和器件 ID 寄存器, 计算其存储单元两个低字节的和 ( 忽略最高字节 ), 而对于代码存储区则计算代码存储单元所有三个字节的和 表 6-2 给出了每个 dspic30f SMPS 器件型号进行此 16 位计算的方法 给出了使能或禁止读代码保护时的计算 校验和的值假设也擦除了配置寄存器 但是, 当使能代码保护时, FGS 寄存器的值假设为 0x5 注 : 校验和计算因代码保护设置而异 表 6-2 说明了如何为未受保护的器件和有读保护的器件计算校验和 无论代码保护设置如何, 始终能读取配置寄存器 表 6-2: SMPS 器件 校验和计算 读代码保护 校验和计算 擦除值 当地址 0x0 和最后一个代码地址的值为 0xAAAAAA 时的值 dspic30f1010 禁止 CFGB + SUM(0:000FFF) 0xEA69 0xE86B 使能 CFGB 0x0267 0x0267 dspic30f2020 禁止 CFGB + SUM(0:001FFF) 0xD269 0xD06B 使能 CFGB 0x0267 0x0267 dspic30f2023 禁止 CFGB + SUM(0:001FFF) 0xD269 0xD06B 使能 CFGB 0x0267 0x0267 对各项的说明 : SUM(a:b) = 对 a 到 b 的所有存储单元 ( 包括 a 和 b) 中的内容按字节求和 ( 包括代码存储区的所有 3 个字节 ) CFGB = 配置块 ( 已屏蔽 ) = ((FBS & 0x000F) + (FGS & 0x0007) + (FOSCSEL & 0x0003) + (FOSC & 0x00E7) + (FWDT & 0x00DF) + (FPOR & 0x0007) + (FICD & 0x0083)) 的字节和 2008 Microchip Technology Inc. DS70284B_CN 第 13 页

14 7.0 编程器 编程执行程序之间的通信 7.1 通信概述 编程器和编程执行程序存在主从关系, 其中编程器是主编程设备, 而编程执行程序处于从动地位 所有通信都是由编程器以命令形式发起的 每次只能将一条命令发送给编程执行程序 而当编程执行程序接收到命令并对其进行处理后, 将只发送一个响应给编程器 第 8.0 节 编程执行程序命令 中说明了编程执行程序命令集 第 9.0 节 编程执行程序响应 中说明了响应集 7.2 通信接口和协议 增强型 ICSP 接口是使用 PGC 和 PGD 引脚实现的双线 SPI 接口 PGC 引脚用作时钟输入引脚, 而时钟源必须由编程器提供 PGD 引脚用于向编程执行程序发送命令数据, 以及从其接收响应数据 所有串行数据在 PGC 的上升沿发送, 在 PGC 的下降沿锁存 所有数据发送都使用 16 位模式, 首先发送最高有效位 (MSb) ( 见图 7-1) 图 7-1: PGC PGD 编程执行程序串行时序 P1b P1a P1 P2 P3 MSb LSb 因为使用双线 SPI 接口, 且数据发送是双向的, 因而可使用一个简单的协议来控制 PGD 的方向 当编程器完成命令发送后, 它会释放 PGD 线, 并允许编程执行程序将此线驱动为高电平 编程执行程序将 PGD 线保持为高电平以表示它正在处理命令 编程执行程序处理完命令之后, 会将 PGD 拉为低电平并保持 15 µs 以通知编程器可以在时钟控制下接收响应 编程器将在 PGD 拉低 20 µs 后开始接收响应, 并且必须提供必需的时钟脉冲数以从编程执行程序接收整个响应 一旦接收到整个响应, 编程器应该终止 PGC 上的时钟直到向编程执行程序发送另一条命令为止 该协议如图 7-2 所示 7.3 SPI 速率 在增强型 ICSP 模式下, dspic30f SMPS 器件使用内部快速 RC 振荡器 FRC 作为时钟源工作, 其标称频率为 10 或 15 MHz 该振荡器频率产生的有效系统时钟频率为 2.5 或 3.75 MHz 由于 SPI 模块在从模式下工作, 所以编程器必须将 SPI 时钟速率限制为不大于 1MHz 的频率 注 : 7.4 超时 如果编程器为 SPI 提供频率高于 1MHz 的时钟, 那么编程执行程序的行为将不可预测 在向编程器发送响应的过程中, 编程执行程序不使用看门狗定时器或超时 如果编程器不遵守第 7.2 节 通信接口和协议 中所述的使用 PGC 的流控制机制, 在尝试向编程器发送响应时, 编程执行程序可能会表现异常 由于编程执行程序没有超时, 所以编程器必须正确地遵守所述的通信协议 作为安全措施, 编程器应该使用表 8-1 中标识的命令超时 如果命令超时结束, 编程器应该将编程执行程序复位并再次开始对器件编程 DS70284B_CN 第 14 页 2008 Microchip Technology Inc.

15 图 7-2: 编程执行程序 编程器通信协议 主编程器发送最后一个指令字 编程执行程序处理命令 主编程器接收响应 PGC PGD MSB X X X LSB MSB X X X LSB MSB X X X LSB 1 0 P8 P9a P9b P10 P11 PGC = 输入 PGC = 输入 ( 空闲 ) PGD = 输入 PGD = 输出 PGC = 输入 PGD = 输出 2008 Microchip Technology Inc. DS70284B_CN 第 15 页

16 8.0 编程执行程序命令 8.1 命令集 表 8-1 中显示了编程执行程序的命令集 该表包含每条命令的操作码 助记符 长度 超时和 在命令 ( 见第 8.5 节 命令 ) 中详细了每条命令的功能 8.2 命令格式 所有编程执行程序命令都具有由 16 位头和该命令所需的所有数据组成的通用格式 ( 见图 8-1) 16 位头由用于标识命令的 4 位操作码字段和随后的 12 位命令长度字段组成 图 8-1: 命令格式 操作码长度命令数据的第一个字 ( 如果需要 ) 命令数据的最后一个字 ( 如果需要 ) 命令操作码必须与命令集中的一条命令匹配 接收到任何与表 8-1 中列出的命令不匹配的命令将返回 NACK 响应 ( 见第 节 操作码字段 ) 由于 SPI 在 16 位模式下工作, 所以命令长度以 16 位字表示 编程执行程序使用命令长度字段来确定要从 SPI 端口读取的字数 如果该字段的值不正确, 编程执行程序将无法正确地接收命令 8.3 数据打包格式 当通过 16 位 SPI 接口传输 24 位指令字时, 会使用图 8-2 中所示的格式将这些指令打包以节省空间 该格式最大限度地降低了通过 SPI 的通信量, 并为编程执行程序提供了正确对齐以供执行表写操作的数据 图 8-2: 注 : 指令字的打包格式 lsw1 MSB2 MSB1 lsw2 lswx: 指令字的低 16 位 MSBx: 指令字的最高有效字节 传输的指令字数为奇数时,MSB2 为零, 且 lsw2 不能发送 8.4 编程执行程序错误处理 编程执行程序将不应答 ( NACK ) 所有不支持的命令 另外, 编程执行程序由于存储空间的限制, 所以将不对包含在编程器命令中的数据执行校验 由编程器负责向编程执行程序发送带有有效命令参数的命令, 如果命令参数无效则可能导致编程操作失败 第 节 QE_Code 字段 中提供了有关错误处理的更多信息 DS70284B_CN 第 16 页 2008 Microchip Technology Inc.

17 表 8-1: 编程执行程序命令集 操作码 助记符 长度 (16 位字 ) 超时 0x0 SCHECK 1 1 ms 工作状态检查 0x1 READD 4 1 ms/ 行 从指定地址开始读取配置寄存器或器件 ID 的 N 个 16 位字 0x2 READP 4 1 ms/ 行 从指定地址开始读取代码存储区的 N 个 24 位指令字 0x3 RESERVED N/A N/A 该命令是保留的 它将返回 NACK 0x4 PROGD 19 5 ms 未实现 0x5 PROGP (1) 51 5 ms 对位于指定地址的代码存储区的一行进行编程, 然后校验 0x6 PROGC 4 5 ms 将字节或 16 位字写入指定的配置寄存器 0x7 ERASEB 2 5 ms 批量擦除 ( 整个程序存储器 ) 或段擦除 0x8 ERASED 3 5 ms/ 行 未实现 0x9 ERASEP (1) 3 5 ms/ 行 从指定的地址擦除代码存储区的行 0xA QBLANK ms 查询代码存储区是否为空白 0xB QVER 1 1 ms 查询编程执行程序的软件版本 注 1: 代码存储区的一行由 32 个 24 位字组成 请参阅表 5-2 以获取特定于器件的信息 2008 Microchip Technology Inc. DS70284B_CN 第 17 页

18 8.5 命令 第 节 SCHECK 命令 至第 节 QVER 命令 了编程执行程序支持的所有命令 SCHECK 命令 操作码长度 READD 命令 操作码 长度 保留 0 N 保留 1 Addr_MSB Addr_LS 操作码长度 字段 0x0 0x1 SCHECK 命令指示编程执行程序仅产生响应而不执行其他操作 该命令用作 工作状态检查 以验证编程执行程序是否正常工作 预期的响应 ( 双字 ): 0x1000 0x0002 字段操作码长度保留 0 N 保留 1 Addr_MSB Addr_LS 0x1 0x4 0x0 要读取的 16 位字数 ( 最大为 2048) 0x0 24 位源地址的 MSB 24 位源地址的低 16 位 注 : 该指令不是编程必需的, 但提供了这条命令仅供开发使用 READD 命令指示编程执行程序从由 Addr_MSB 和 Addr_LS 指定的 24 位地址开始读取存储器的 N 个 16 位字 该命令只能用于读取 16 位数据 它能用于读取配置寄存器和器件 ID 预期的响应 (2 + N 字 ): 0x1100 N + 2 数据字 1... 数据字 N 注 : 读取未实现存储区将导致编程执行程序复位 DS70284B_CN 第 18 页 2008 Microchip Technology Inc.

19 8.5.3 READP 命令 操作码长度 N 保留 Addr_MSB Addr_LS 字段 操作码长度 N 保留 Addr_MSB Addr_LS 0x2 0x4 要读取的 24 位指令字数 ( 最大为 32768) 0x0 24 位源地址的 MSB 24 位源地址的低 16 位 READP 命令指示编程执行程序从由 Addr_MSB 和 Addr_LS 指定的 24 位地址开始读取代码存储区的 N 个 24 位字 该命令只能用于读取 24 位数据 作为对该命令的响应, 返回的所有数据使用在第 8.3 节 数据打包格式 中说明的数据打包格式 预期的响应 (2+3*N/2 个字, 其中 N 为偶数 ): 0x * N/2 最低有效程序存储器字 1... 最低有效数据字 N 预期的响应 (4 + 3 * (N-1)/2 个字, 其中 N 为奇数 ): 0x * (N-1)/2 最低有效程序存储器字 1... 程序存储字 N 的 MSB ( 补零 ) PROGP 命令 操作码长度保留 Addr_MSB Addr_LS D_1 D_2... D_N 字段 操作码 0x5 长度 0x33 保留 0x0 Addr_MSB 24 位目标地址的 MSB Addr_LS 24 位目标地址的低 16 位 D_1 16 位数据字 1 D_2 16 位数据字 位数据字 3 至 47 D_48 16 位数据字 48 PROGP 命令指示编程执行程序对位于指定存储地址的代码存储区的一行 (32 个指令字 ) 进行编程 编程从命令中指定的行地址开始 目标地址应该是 0x40 的倍数 要编程到程序存储区中的数据位于命令字 D_1 至 D_48 中, 且必须使用图 8-2 给出的指令字打包格式对它们进行编排 当所有数据被编程到代码存储区之后, 编程执行程序将对照命令中的数据对已编程的数据进行校验 预期的响应 ( 双字 ): 0x1500 0x0002 注 : 读取未实现存储区将导致编程执行程序复位 注 : 请参见表 5-2 以获取有关代码存储区容量的信息 2008 Microchip Technology Inc. DS70284B_CN 第 19 页

20 8.5.5 PROGC 命令 ERASEB 命令 操作码 长度 操作码 长度 保留 Addr_MSB 保留 MS Addr_LS 数据 字段 字段 操作码长度保留 Addr_MSB Addr_LS 数据 0x6 0x4 0x0 24 位目标地址的 MSB 24 位目标地址的低 16 位要编程的数据 PROGC 命令将数据编程到指定的配置寄存器并对编程进行校验 配置寄存器为 16 位宽, 该命令允许对一个配置寄存器进行编程 预期的响应 ( 双字 ): 0x1600 0x0002 操作码 0x7 长度 0x2 保留 0x0 MS 选择要擦除的存储区 : 0x0 = 通用段中的所有代码 0x1 = 保留 0x2 = 通用段中的所有代码 中断向量和 FGS 配置寄存器 0x3 = 擦除整个芯片 0x4 = 引导段和通用段中的所有代码以及 FBS 和 FGS 配置寄存器 0x5 = 通用段中的所有代码和 FGS 配置寄存器 0x6 = 保留 0x7 = 保留 注 : 该命令只能用于对配置寄存器进行编程 ERASEB 命令执行批量擦除 MS 字段选择将要进行批量擦除的存储区, 该字段提供了擦除各存储段的选项 当选择擦除整个芯片时, 将擦除下列存储区域 : 所有代码存储区 ( 即使有代码保护 ) 所有代码保护配置寄存器 ( 包括部件 ID) 擦除整个芯片之后, 只有执行程序代码存储区 器件 ID 和非代码保护配置寄存器的内容保持不变 预期的响应 ( 双字 ): 0x1700 0x0002 DS70284B_CN 第 20 页 2008 Microchip Technology Inc.

21 8.5.7 ERASEP 命令 QBLANK 命令 操作码 长度 操作码 长度 Num_Rows Addr_MSB PSize Addr_LS 保留 DSize 字段 字段 操作码长度 Num_Rows Addr_MSB Addr_LS 0x9 0x3 要擦除的行数 24 位基地址的 MSB 24 位基地址的低 16 位 ERASEP 命令从指定的基地址开始擦除代码存储区中指定数目的行 该指定的基地址必须是 0x40 的倍数 一旦执行擦除之后, 代码存储区的所有目标字将包含 0xFFFFFF 预期的响应 ( 双字 ): 0x1900 0x0002 注 : ERASEP 命令不能用于擦除配置寄存器或器件 ID CodeGuard 安全代码保护配置寄存器只能用 ERASEB 擦除, 而器件 ID 是只读的 操作码长度 PSize 保留 DSize 0xA 0x3 要检查的程序存储区的长度 ( 用 24 位字数表示 ), 最大为 x0 要检查的数据存储区的长度 ( 用 16 位字数表示 ), 最大为 2048 QBLANK 命令查询编程执行程序, 以确定代码存储区是否空白 ( 包含全 1) 必须在命令中指定要检查的代码存储区的容量 代码存储区的空白检查始于 0x0, 并朝着地址更大的方向检查指定数目的指令字 如果指定的代码存储区空白, 则 QBLANK 命令返回 QE_Code:0xF0 否则, QBLANK 将返回 QE_Code: 0x0F 预期的响应 ( 空白器件的双字 ): 0x1AF0 0x0002 预期的响应 ( 非空白器件的双字 ): 0x1A0F 0x0002 注 : QBLANK 命令不检查系统配置寄存器 必须使用 READD 命令确定配置寄存器的状态 2008 Microchip Technology Inc. DS70284B_CN 第 21 页

22 8.5.9 QVER 命令 操作码长度 9.2 响应格式 所有编程执行程序响应都具有由双字响应头和该命令所需的所有数据组成的通用格式 字段 操作码长度 0xB 0x1 操作码 Last_Cmd QE_Code QVER 命令查询存储在测试存储空间中的编程执行程序软件的版本 在响应的 QE_Code 中返回 版本. 修订版 信息, QE_Code 使用一个以下格式的字节 : 主版本由高半字节表示, 修订版本由低半字节表示 ( 例如, 0x23 表示编程执行程序软件的版本为 2.3) 预期的响应 ( 双字 ): 0x1BMN ( 其中 MN 代表版本 M.N) 0x0002 长度 D_1 ( 如果适用 )... D_N ( 如果适用 ) 9.0 编程执行程序响应 字段 9.1 概述 每接收到一条命令, 编程执行程序就会向编程器发送一个响应 响应表示命令是否已被正确处理, 其中包含任何必需的响应, 包括错误和数据 编程执行程序响应集显示在表 9-1 中 该表包含每个响应的操作码 助记符以及 响应格式在第 9.2 节 响应格式 中说明 表 9-1: 编程执行程序响应集 操作码 助记符 0x1 PASS 命令已成功处理 0x2 FAIL 命令未成功处理 0x3 NACK 命令未知 操作码 响应操作码 Last_Cmd 产生该响应的编程器命令 QE_Code 查询代码或错误代码 长度 以 16 位字数表示的响应长度 ( 包含 两个字的响应头 ) D_1 第一个 16 位数据字 ( 如果适用 ) D_N 最后一个 16 位数据字 ( 如果适用 ) 操作码字段 操作码是响应的第一个字中的 4 位字段 操作码表示命令的处理情况 ( 见表 9-1) 如果命令已成功处理, 响应操作码是 PASS 如果在处理命令过程中发生错误, 那么响应操作码是 FAIL, 而且 QE_Code 将表明故障的原因 如果发送给编程执行程序的命令未被识别, 那么编程执行程序将返回 NACK 响应 Last_Cmd 字段 Last_Cmd 是响应的第一个字中的 4 位字段, 该字段表明编程执行程序处理的命令 由于编程执行程序每次只能处理一条命令, 所以从技术角度而言不需要此字段 然而, 它可以用来验证编程执行程序是否已正确地接收了编程器发送的命令 DS70284B_CN 第 22 页 2008 Microchip Technology Inc.

23 9.2.3 QE_Code 字段 QE_Code 是响应的第一个字中的一个字节 该字节用于为查询命令返回数据, 为所有其他命令返回错误代码 当编程执行程序处理两种查询命令 (QBLANK 或 QVER) 之一时, 返回的操作码总是 PASS, 并且 QE_Code 将保留查询响应数据 表 9-2 显示了两种查询的 QE_Code 的格式 表 9-2: 针对查询命令的 QE_Code 查询 QE_Code QBLANK 0x0F = 代码存储区非空白 0xF0 = 代码存储区空白 QVER 0xMN, 其中编程执行程序软件的版本 = M.N ( 例如, 0x32 表示软件版本为 3.2) 当编程执行程序处理除查询外的任何命令时, QE_Code 代表一个错误代码 支持的错误代码显示在表 9-3 中 如果命令被成功处理, 返回的 QE_Code 将设置为 0x0, 这表明在处理命令过程中没有发生错误 如果对 PROGD PROGP 或 PROGC 命令的编程进行校验时失败, 那么 QE_Code 将被设置为 0x1 对于所有其他编程执行程序错误, QE_Code 为 0x2 表 9-3: QE_Code 0x0 0x1 0x 响应长度 针对非查询命令的 QE_Code 无错误 校验失败 其他错误 响应长度表示编程执行程序的响应的长度, 以 16 位字数表示 该字段包含双字响应头 除了对 READD 和 READP 命令的响应外, 对其他命令的响应的长度都只有两个字 对 READD 命令的响应为 N+2 个字, 其中 N 是在 READD 命令中指定的字数 对 READP 命令的响应使用第 8.3 节 数据打包格式 中说明的指令字打包格式 当读取奇数个程序存储字 (N 为奇数 ) 时, 对 READP 命令的响应是 (3 (N + 1)/2 + 2) 个字 当读取偶数个程序存储字 (N 为偶数 ) 时, 对 READP 命令的响应是 (3 N/2+2) 个字 2008 Microchip Technology Inc. DS70284B_CN 第 23 页

24 10.0 器件 ID 存储器的器件 ID 区域可用于确定芯片的版本 类型及生产信息 器件 ID 区域为 2x16 位, 可以使用 READD 命令读取 该存储区域只读, 并且能在使能代码保护时被读取 表 10-1 显示了每种器件的器件 ID, 表 10-2 显示了器件 ID 寄存器, 而表 10-3 说明了每个寄存器的位域 表 10-1: 器件 ID SMPS 器件 版本 类型 DEVID dspic30f1010 0x010 0x4 0x0404 dspic30f2020 0x010 0x0 0x0400 dspic30f2023 0x010 0x3 0x0403 表 10-2: 地址 dspic30f SMPS 器件 ID 寄存器 Bit 名称 xFF DEVID MASK<7:0> VARIANT<2:0> 0xFF0002 DEVREV PROC<3:0> REV<2:0> DOT<2:0> 表 10-3: 器件 ID 位 位域 寄存器 MASK<7:0> DEVID 对器件的 MASKSET ID 进行编码 VARIANT<2:0> DEVID 对由器件的 MASKSET 得到的 VARIANT 进行编码 PROC<3:0> DEVREV 对器件的生产工艺进行编码 REV<2:0> DEVREV 对器件的主版本号进行编码 DOT<2:0> DEVREV 对器件的次版本号进行编码 DS70284B_CN 第 24 页 2008 Microchip Technology Inc.

25 11.0 ICSP 模式 11.1 ICSP 模式 ICSP 是允许您对 dspic30f SMPS 器件的存储器进行读和写的一种特殊编程协议 ICSP 模式是对器件编程时采用的第二种方法 ( 速度较慢 ) 该模式还具有读执行程序存储区的内容以确定编程执行程序是否存在的功能 通过使用 PGC 和 PGD 引脚向器件串行发送控制代码和指令可实现该功能 在 ICSP 模式下, 系统时钟来自 PGC 引脚, 而无论器件的振荡器配置位的设置如何 首先, 所有指令会串行移入内部缓冲区, 然后载入指令寄存器并执行 不会从内部存储器执行程序取操作 一次送入 24 位指令 PGD 用来移入数据, PGC 既用作串行移位时钟又用作 CPU 执行时钟 在 PGC 的上升沿发送数据, 而在下降沿锁存数据 对于所有的数据发送, 都是最先发送最低位 (LSb) 注 1: 在 ICSP 操作中,PGC 的工作频率不能超过 5MHz 2: 复位后, 在将第一个串行字 ( 在 ICSP 模式下 ) 移入器件之前, 必须在 PGC 引脚上为器件额外提供 5 个时钟 11.2 ICSP 工作原理 进入 ICSP 模式时, CPU 为空闲 CPU 执行由内部状态机控制 使用 PGC 和 PGD 引脚在时钟控制下移入 4 位用来命令 CPU 的控制代码 ( 见表 11-1) SIX 控制代码用于发送指令给 CPU 执行, 而 REGOUT 控制代码用于通过 VISI 寄存器从器件中读数据 第 节 SIX 串行指令执行 和第 节 REGOUT 串行指令执行 详细介绍了 ICSP 模式的工作原理 SIX 串行指令执行 SIX 控制代码允许执行 dspic30f SMPS 的汇编指令 当接收到 SIX 代码时,CPU 暂停 24 个时钟周期, 在这段时间指令被移入内部缓冲区 一旦移入指令, 状态机就允许其在接下来的 4 个时钟周期内执行 当执行接收到的指令时, 状态机会同时移入下一条 4 位命令 ( 见图 11-1) 注 REGOUT 串行指令执行 REGOUT 控制代码允许在 ICSP 模式下从器件中读取数据 它用于通过 PGD 引脚在时钟控制下移出器件中 VISI 寄存器的内容 接收到 REGOUT 控制代码后, 需要 8 个时钟周期来处理该命令 在这段时间,CPU 保持空闲 经过这 8 个周期后, 还需要额外的 16 个周期将数据移出 ( 见图 11-2) REGOUT 指令的独特之处在于当将控制代码发送到器件时,PGD 引脚为输入引脚 但是, 一旦控制代码处理完毕, PGD 引脚就会变成输出引脚移出 VISI 寄存器中的数据 VISI 的内容移出后,PGD 重新变成输入引脚, 状态机保持 CPU 空闲直到移入下一个 4 位控制代码 注 : 1: 复位后, 第一个 4 位控制代码总是被强制为 SIX, 并强制 CPU 执行一条 指令 一旦移入强制的 SIX 命令, ICSP 操作就会恢复正常 ( 在接下来的 24 个时钟周期内将第一条指令装入 CPU) 2: TBLRDH TBLRDL TBLWTH 和 TBLWTL 指令后面必须跟 指令 VISI 的内容移出后, dspic DSC 器件将保持 PGD 为输出引脚, 直到接收到下一时钟的第一个上升沿为止 表 11-1: ICSP 模式的 CPU 控制代码 4 位控制代码 助记符 b SIX 移入 24 位指令并执行 0001b REGOUT 移出 VISI 寄存器 0010b-1111b N/A 保留 2008 Microchip Technology Inc. DS70284B_CN 第 25 页

26 图 11-1: PGC PGD P2 SIX 串行指令执行 P P3 P4 P1b P4a P1a LSB X X X X X X X X X X X X X X MSB 执行 PC-1, 取 24 位指令 执行 24 位指令, 取 SIX 控制代码 取下一个控制代码 PGD = 输入 图 11-2: REGOUT 串行指令执行 PGC P4 P P4a PGD LSb MSb 执行上一条指令, CPU 保持在空闲状态 移出 VISI 寄存器 <15:0> 取 REGOUT 控制代码 不执行代码, 取下一个控制代码 PGD = 输入 PGD = 输出 PGD = 输入 11.3 进入 ICSP 模式 图 11-3 给出了进入 ICSP 编程 / 校验模式的三个步骤 : 1. 将 MCLR 引脚短暂地拉为高电平, 然后再拉为低电平 2. 将 32 位密钥序列在时钟控制下移入 PGD 3. 然后在指定的时间内将 MCLR 拉为高电平并保持状态不变 施加到 MCLR 上的编程电压为 VIH, 对于 dspic30f SMPS 器件, 实际上就是 VDD 对于 VIH 没有最小保持时间要求 在移除 VIH 后, 必须经过至少 P16 的时间间隔才能将密钥序列移入 PGD 引脚 该密钥序列为一个特定的 32 位模式, ( 以其十六进制格式 0x4D 记忆更为简便 ) 只有当该密钥序列有效时, 器件才能进入编程 / 校验模式 必须首先移入高半字节的最高有效位 密钥序列完全移入后, 必须将 VIH 电压施加到 MCLR 上, 只要需要保持在编程 / 校验模式 必须至少经过 P17 和 P7 的时间间隔后才能将数据输出到 PGD 在 P7 之前出现在 PGD 上的信号被视作无效 成功进入编程 / 校验模式后, 就能以串行的方式访问程序存储区并对其进行编程了 在 ICSP 模式下, 所有未使用的 I/O 都处于高阻态 DS70284B_CN 第 26 页 2008 Microchip Technology Inc.

27 图 11-3: 进入 ICSP 模式 MCLR P6 P12 VIH VIH P17 P7 VDD PGD PGC P16 编程 / 校验进入代码 = 0x4D b31 b30 b29 b28 b27 b3 b2 b1 b0 P2B P2A 11.4 在 ICSP 模式下对闪存编程 从第 节 编程操作 到第 节 启动和停止编程 了在 ICSP 模式下的编程 从第 11.5 节 批量擦除程序存储器 到第 节 读应用程序 ID 字 逐步介绍了操作步骤 如第 11.2 节 ICSP 工作原理 所述, 所有编程操作都必须采用串行执行 编程操作 对闪存执行的写和擦除操作是通过 NVMCON 寄存器控制的 编程的执行过程如下 : 设置 NVMCON 选择擦除操作 ( 表 11-2) 或写操作 ( 表 11-3) 的类型, 写入密钥序列使能编程并通过将 WR 控制位 (NVMCON<15>) 置 1 启动编程 在 ICSP 模式下, 所有编程操作都是采用外部定时的 必须在将 WR 控制位置 1 和清零之间使用外部 2 ms 延时来完成编程操作 表 11-2: NVMCON 值 0x407F 0x406E 0x404E 0x4042 0x4072 0x4071 表 11-3: NVMCON 值 0x4008 0x4001 NVMCON 擦除操作 擦除操作 擦除所有代码存储区 数据存储区 执行程序存储区和代码保护位 ( 不会擦除部件 ID) 擦除引导段 通用段和中断向量表, 然后再擦除 FBS 和 FGS 配置寄存器 擦除通用段, 然后再擦除 FGS 配置寄存器 擦除通用段但不擦除中断向量表 ( 如果没有定义引导段的话 ) 擦除所有执行程序存储区 擦除代码存储区中一个存储板内的一行 (32 个指令字 ) NVMCON 写操作 写操作 写入 1 个字到配置存储区 写入一行 (32 个指令字 ) 到程序存储器中的 1 个存储板 2008 Microchip Technology Inc. DS70284B_CN 第 27 页

28 解锁 NVMCON 以进行编程 写入 WR 位 (NVMCON<15>) 的操作是被锁定的, 以防止发生意外编程 将密钥序列写入 NVMKEY 寄存器可解除对 WR 位的锁定从而允许其被写入 解锁序列执行如下 : #0x55, W8 W8, NVMKEY #0xAA, W9 W9, NVMKEY 注 : 任何工作寄存器或是工作寄存器对都可用来写入解锁序列 启动和停止编程 一旦将解锁密钥序列写入到 NVMKEY 寄存器中, 就可使用 WR 位 (NVMCON<15>) 启动和停止擦除或写入 将 WR 位置 1 启动编程, 将 WR 位清零终止编程 所有擦除和写入都必须采用外部定时方式 将 WR 位置 1 和清零之间必须使用外部延时 启动和停止编程周期操作如下 : BSET NVMCON, #WR < 等待 2 ms> BCLR NVMCON, #WR 11.5 批量擦除程序存储器 批量擦除程序存储器 ( 所有的代码存储区 数据存储区 执行程序存储区和代码保护位 ) 的步骤包括将 NVMCON 设置为 0x407F 解锁 NVMCON 寄存器以执行擦除并随后执行编程周期 表 11-4 给出了批量擦除程序存储器的 ICSP 编程过程 该过程包括 ICSP 命令代码, 对于每条指令必须首先使用 PGC 和 PGD 引脚发送该命令代码的最低位 ( 见图 11-1) 注 : 在向程序存储器写入任何数据之前必须先将其擦除 表 11-4: 命令 ( 二进制 ) 批量擦除程序存储器的串行指令执行 数据 ( 十六进制 ) 第 1 步 : 退出复位向量 00 第 2 步 : 设置 NVMCON 以擦除所有程序存储区 FA 883B0A 第 3 步 : 解锁 NVMCON 以进行编程 B38 200AA9 883B39 第 4 步 : 启动擦除周期 A8E A9E #0x407F, W10 W10, NVMCON #0x55, W8 W8, NVMKEY #0xAA, W9 W9, NVMKEY BSET NVMCON, #WR Externally time 200 msec BCLR NVMCON, #WR DS70284B_CN 第 28 页 2008 Microchip Technology Inc.

29 11.6 行擦除程序存储器 每个存储区必须单独按行擦除而不能使用批量擦除操作 也就是说, 每次必须擦除代码存储区 执行程序存储区和配置寄存器中的一行 擦除程序存储区中的各行与擦除整个芯片的过程是完全不同的 表 11-5 详细介绍了该过程 如果需要段擦除操作, 必须使用表 11-2 中相应的 NVMCON 值修改第 3 步 但是, 由于这种方式较耗时并且不能清除代码保护位, 因而多数情况下, 建议不要使用此方式 注 1: 在向程序存储器写入任何数据之前必须先将其擦除 2: 要擦除程序存储器的头两行 ( 复位向量和中断向量表 ), 必须在擦除这两行中的每一行后退出 ICSP 模式然后再重新进入该模式 只有遵守该步骤才能擦除程序存储器中的其他行 表 11-5: 命令 ( 二进制 ) 擦除程序存储器中行的串行指令执行 数据 ( 十六进制 ) 第 1 步 : 退出复位向量 00 第 2 步 : 为擦除代码存储区初始化 NVMADR 和 NVMADRU, 并为行地址更新初始化 W7 EB0300 CLR W6 883B16 W6, NVMADR 883B26 W6, NVMADRU #0x40, W7 第 3 步 : 为擦除代码存储区的一行设置 NVMCON 24071A #0x4071, W10 883B0A W10, NVMCON 第 4 步 : 解锁 NVMCON 以擦除代码存储区的一行 B38 200AA9 883B39 第 5 步 : 启动擦除周期 A8E A9E #0x55, W8 W8, NVMKEY #0xAA, W9 W9, NVMKEY BSET NVMCON, #WR Externally time 2 msec BCLR NVMCON, #WR 2008 Microchip Technology Inc. DS70284B_CN 第 29 页

30 表 11-5: 擦除程序存储器中行的串行指令执行 ( 续 ) 命令 ( 二进制 ) 第 6 步 : 更新存储在 NVMADRU:NVMADR 中的行地址 当 W6 计满返回 0x0 时, NVMADRU 必须递增 AF0042 EC B16 第 7 步 : 复位器件内部 PC 00 ADD W6, W7, W6 BTSC SR, #C INC NVMADRU W6, NVMADR 第 8 步 : 重复第 3 步至第 7 步直到代码存储区的所有行被擦除完为止 第 9 步 : 为擦除执行程序存储区初始化 NVMADR 和 NVMADRU, 并为行地址更新初始化 W7 EB0300 CLR W6 883B16 W6, NVMADR #0x80, W7 883B27 W7, NVMADRU #0x40, W7 第 10 步 : 为擦除执行程序存储区的一行设置 NVMCON 24071A #0x4071, W10 883B0A W10, NVMCON 第 11 步 : 解锁 NVMCON 以擦除执行程序存储区的一行 B38 200AA9 883B39 第 12 步 : 启动擦除周期 A8E A9E 第 13 步 : 更新存储在 NVMADR 中的行地址 B16 第 14 步 : 复位器件内部 PC 数据 ( 十六进制 ) 00 #0x55, W8 W8, NVMKEY #0xAA, W9 W9, NVMKEY BSET NVMCON, #WR Externally time 2 msec BCLR NVMCON, #WR ADD W6, W7, W6 W6, NVMADR 第 15 步 : 重复第 10 步至第 14 步, 直到擦除完执行程序存储区中全部的 24 行为止 DS70284B_CN 第 30 页 2008 Microchip Technology Inc.

31 11.7 写配置存储区 FOSC FWDT FPOR 和 FICD 寄存器是不可擦除的 建议在擦除程序存储器后, 将所有的配置寄存器设置为默认值 通过将 0xFFFF 烧写到 FWDT FPOR 和 FICD 寄存器, 可将它们设置为默认的全 1 值 因为这些寄存器包含未实现位, 这些位读为 0, 因此读出的值将是表 11-6 中的默认值而不是 0xFFFF 建议 FOSC 的默认值为 0xC100, 该值选择 FRC 时钟振荡器设置 FBS 和 FGS 配置寄存器是用于使能器件代码保护的特殊寄存器 出于安全考虑, 一旦这些寄存器中的位被编程为 0 ( 使能代码保护 ), 就只能通过执行第 11.5 节 批量擦除程序存储器 中介绍的批量擦除或使用段擦除操作操作才能将它们置回 1 无法将 FBS 或 FGS 配置寄存器位从 0 编程为 1, 但是可以将它们从 1 编程为 0 以使能代码保护 表 11-7 给出了清除配置寄存器的 ICSP 编程详细步骤 第 1 步, 退出复位向量 第 2 步, 将 0x 装入写指针 (W7), 该值为原始目标地址 ( 位于 TBLPAG 为 0xF8 的程序存储区中 ) 第 3 步, 设置 NVMCON 以对 一个配置寄存器编程 第 4 步, 将 TBLPAG 寄存器初始化为 0xF8 以写配置寄存器 第 5 步, 将要写入每个配置寄存器的值 (0xFFFF) 装入到 W6 第 6 步, 使用 TBLWTL 指令将配置寄存器数据写入写锁存器 第 7 步和第 8 步, 解锁 NVMCON 以进行编程并启动编程周期, 如第 11.4 节 在 ICSP 模式下对闪存编程 所示 第 9 步, 将内部 PC 设置为 0x100 作为防止 PC 递增到未实现存储区的安全措施 最后, 将 3 至 9 步重复执行 6 次, 直到编程完所有 7 个配置寄存器为止 表 11-6: 配置寄存器的默认值 地址 寄存器 默认值 0xF8 FBS 0x000F 0xF80002 RESERVED 0x 0xF80004 FGS 0x0007 0xF80006 FOSCSEL 0x0003 0xF80008 FOSC 0x00E7 0xF8000A FWDT 0x00DF 0xF8000C FPOR 0x0007 0xF8000E FICD 0x0083 表 11-7: 命令 ( 二进制 ) 写配置寄存器的串行指令执行 数据 ( 十六进制 ) 第 1 步 : 退出复位向量 00 第 2 步 : 为执行 TBLWT 指令初始化写指针 (W7) 27 #0x, W7 第 3 步 : 设置 NVMCON 以对一个配置寄存器编程 24008A 883B0A 第 4 步 : 初始化 TBLPAG 寄存器 200F 第 5 步 : 将配置寄存器数据装入 W6 #0x4008, W10 W10, NVMCON #0xF8, W0 W0, TBLPAG 2xxxx0 #<CONFIG_VALUE>, W Microchip Technology Inc. DS70284B_CN 第 31 页

32 表 11-7: 写配置寄存器的串行指令执行 ( 续 ) 命令 ( 二进制 ) 第 6 步 : 将配置寄存器数据写入写锁存器并将写指针递增 1 BB1B TBLWTL 第 7 步 : 解锁 NVMCON 以进行编程 B38 200AA9 883B39 第 8 步 : 启动写周期 A8E A9E 第 9 步 : 复位器件内部 PC 数据 ( 十六进制 ) 00 W6, [W7++] #0x55, W8 W8, NVMKEY #0xAA, W9 W9, NVMKEY BSET NVMCON, #WR Externally time 2 msec BCLR NVMCON, #WR 第 10 步 : 重复第 3 步至第 9 步, 直到编程完所有 7 个配置寄存器为止 DS70284B_CN 第 32 页 2008 Microchip Technology Inc.

33 11.8 写代码存储区 写代码存储区的过程与清除配置寄存器类似, 只不过它一次编程 32 个指令字 为了便于操作, 使用工作寄存器 W0:W5 用作存放待编程数据的临时保存寄存器 表 11-8 详细介绍了 ICSP 编程, 包括 ICSP 命令代码的串行模式, 必须使用 PGC 和 PGD 引脚先发送命令代码的最低位 ( 见图 11-1) 第 1 步, 退出复位向量 第 2 步, 初始化 NVMCON 寄存器, 以对代码存储区的一个存储板进行编程 第 3 步, 将 24 位的编程起始目标地址装入 TBLPAG 寄存器和 W7 寄存器 起始目标地址的高字节存储到 TBLPAG, 而该目标地址的低 16 位存储到 W7 为了使编程时间最短, 将使用与编程执行程序相同的指令打包格式 ( 见图 8-2) 第 4 步, 使用 指令将 4 个打包的指令字存储到工作寄存器 W0:W5, 并初始化读指针 W6 保存打包指令字的 W0:W5 寄存器的内容如图 11-4 所示 第 5 步, 使用 8 条 TBLWT 指令将 W0:W5 中的数据复制到代码存储区的写锁存器 因为一次只能将 32 个指令字写入代码存储区, 所以必须将 4 至 5 步重复 8 次, 以装载所有的写锁存器 ( 第 6 步 ) 装载完写锁存器后, 在第 7 步和第 8 步中分别写入 NVMKEY 和 NVMCON 寄存器启动编程 在第 9 步使内部 PC 复位为 0x100 当对大存储容量器件编程时, 这是防止 PC 递增到未实现存储区的一种预防措施 最后, 在第 10 步中, 重复 3 至 9 步, 直到编程完所有代码存储区为止 图 11-4: W0:W5 中的打包指令字 W0 lsw0 W1 MSB1 MSB0 W2 lsw1 W3 lsw2 W4 MSB3 MSB2 W5 lsw3 表 11-8: 命令 ( 二进制 ) 写代码存储区的串行指令执行 数据 ( 十六进制 ) 第 1 步 : 退出复位向量 00 第 2 步 : 设置 NVMCON 以编程 32 个指令字 24001A 883B0A #0x4001, W10 W10, NVMCON 第 3 步 : 为执行 TBLWT 指令初始化写指针 (W7) 200xx xxxx7 #<DestinationAddress23:16>, W0 W0, TBLPAG #<DestinationAddress15:0>, W7 第 4 步 : 初始化读指针 (W6) 并将下 4 个待编程的指令字装入 W0:W5 2xxxx0 2xxxx1 2xxxx2 2xxxx3 2xxxx4 2xxxx5 #<LSW0>, W0 #<MSB1:MSB0>, W1 #<LSW1>, W2 #<LSW2>, W3 #<MSB3:MSB2>, W4 #<LSW3>, W Microchip Technology Inc. DS70284B_CN 第 33 页

34 表 11-8: 写代码存储区的串行指令执行 ( 续 ) 命令 ( 二进制 ) 第 5 步 : 设置读指针 (W6) 并装载 ( 下一组 ) 写锁存器 EB0300 CLR W6 00 BB0BB6 TBLWTL [W6++], [W7] BBDBB6 TBLWTH.B [W6++], [W7++] BBEBB6 TBLWTH.B [W6++], [++W7] BB1BB6 TBLWTL [W6++], [W7++] BB0BB6 TBLWTL [W6++], [W7] BBDBB6 TBLWTH.B [W6++], [W7++] BBEBB6 TBLWTH.B [W6++], [++W7] BB1BB6 TBLWTL [W6++], [W7++] 第 6 步 : 将第 3 步至第 5 步重复执行 8 次将 32 个指令字装入写锁存器 第 7 步 : 解锁 NVMCON 以进行写操作 B38 200AA9 883B39 第 8 步 : 启动写周期 A8E A9E 第 9 步 : 复位器件内部 PC 数据 ( 十六进制 ) 00 #0x55, W8 W8, NVMKEY #0xAA, W9 W9, NVMKEY BSET NVMCON, #WR Externally time 2 msec BCLR NVMCON, #WR 第 10 步 : 重复第 3 步至第 9 步, 直到编程完所有代码存储区为止 DS70284B_CN 第 34 页 2008 Microchip Technology Inc.

35 11.9 读代码存储区 读代码存储区是通过执行一系列 TBLRD 指令和使用 REGOUT 命令在时钟控制下移出数据完成的 为了确保高效执行和便于编程器进行校验, 一次从器件读取 4 个指令字 表 11-9 给出了读代码存储区的 ICSP 编程的详细步骤 第 1 步, 退出复位向量 第 2 步, 将要读的存储区的 24 位起始源地址装入 TBLPAG 和 W6 寄存器 起始源地址的高字节存储到 TBLPAG 中, 而该源地址的低 16 位存储到 W6 中 为了使读取时间最小, 写操作时使用的指令字打包格式也同样用于读操作 ( 见图 11-4) 第 3 步, 初始化写指针 W7, 从代码存储区读取 4 个指令字并将它们存储到工作寄存器 W0:W5 中 第 4 步, 使用 REGOUT 命令将 4 个指令字在时钟控制下从 VISI 寄存器移出 第 5 步, 内部 PC 复位到 0x100 以作为读取大存储容量器件时防止 PC 递增到未实现存储区的预防措施 最后, 在第 6 步中, 重复 3 至 5 步, 直到读完所需大小的代码存储区为止 表 11-9: 命令 ( 二进制 ) 读取代码存储区的串行指令执行 数据 ( 十六进制 ) 第 1 步 : 退出复位向量 00 第 2 步 : 为执行 TBLRD 指令初始化 TBLPAG 和读指针 (W6) 200xx0 #<SourceAddress23:16>, W W0, TBLPAG 2xxxx6 #<SourceAddress15:0>, W6 第 3 步 : 初始化写指针 (W7), 并将代码存储区的下 4 个存储单元的值存储到 W0:W5 中 EB0380 BA1B BADBB BADBD BA1BB BA1B BADBB BADBD BA0BB CLR TBLRDL TBLRDH.B TBLRDH.B TBLRDL TBLRDL TBLRDH.B TBLRDH.B TBLRDL W7 [W6], [W7++] [W6++], [W7++] [++W6], [W7++] [W6++], [W7++] [W6], [W7++] [W6++], [W7++] [++W6], [W7++] [W6++], [W7] 2008 Microchip Technology Inc. DS70284B_CN 第 35 页

36 表 11-9: 读取代码存储区的串行指令执行 ( 续 ) 命令 ( 二进制 ) 第 4 步 : 使用 VISI 寄存器和 REGOUT 命令输出 W0:W5 中的内容 C20 00 <VISI> C21 00 <VISI> C22 00 <VISI> C23 00 <VISI> C24 00 <VISI> C25 00 <VISI> 00 第 5 步 : 复位器件内部 PC 数据 ( 十六进制 ) 00 W0, VISI Clock out contents of VISI register W1, VISI Clock out contents of VISI register W2, VISI Clock out contents of VISI register W3, VISI Clock out contents of VISI register W4, VISI Clock out contents of VISI register W5, VISI Clock out contents of VISI register 第 6 步 : 重复第 3 步至第 5 步, 直到读完所有需要的代码存储区为止 DS70284B_CN 第 36 页 2008 Microchip Technology Inc.

37 11.10 读配置存储区 读配置存储区的过程与读代码存储区类似, 区别在于前者读取 16 位数据字, 而后者读取 24 位数据字 每次读取 7 个配置寄存器中的一个 表 给出了读取所有配置存储区的 ICSP 编程的详细步骤 注意必须将 TBLPAG 寄存器的值硬编码为 0xF8( 配置存储区的高字节地址 ), 并将读指针 W6 初始化为 0x 表 11-10: 命令 ( 二进制 ) 读所有配置存储区的串行指令执行 数据 ( 十六进制 ) 第 1 步 : 退出复位向量 00 第 2 步 : 为执行 TBLRD 指令初始化 TBLPAG 读指针 (W6) 和写指针 (W7) 200F80 #0xF8, W W0, TBLPAG EB0300 CLR W6 EB0380 CLR W7 第 3 步 : 读配置寄存器并将读到的值写入 VISI 寄存器 ( 地址为 0x784) BA0BB6 TBLRDL [W6++], [W7] C20 W0, VISI 00 第 4 步 : 使用 REGOUT 命令输出 VISI 寄存器的内容 0001 <VISI> 00 第 5 步 : 复位器件内部 PC 00 Clock out contents of VISI register 第 6 步 : 重复第 3 步至第 5 步, 直到读完所有需要的配置存储区为止 2008 Microchip Technology Inc. DS70284B_CN 第 37 页

38 11.11 读应用程序 ID 字 应用程序 ID 字存储在执行程序代码存储区内地址为 0x8005BE 的单元内 要读取该存储单元, 必须使用 SIX 控制代码将该程序存储单元中的内容移入 VISI 寄存器 然后必须使用 REGOUT 控制代码在时钟控制下将 VISI 寄存器中的内容从器件输出 要执行该操作, 必须串行发送给器件相应的控制和指令代码, 如表 所示 一旦编程器在时钟控制下读出了应用程序 ID 字, 就必须检查该 ID 字 如果应用程序 ID 的值为 0xBB, 表明编程执行程序位于相应的存储区中, 可以采用第 5.0 节 器件编程 中的机制对器件编程 但是, 如果应用程序 ID 为其他值, 表明存储区中不存在编程执行程序 必须先将该程序装入存储区才能对器件编程 第 12.0 节 将编程执行程序烧写到存储区中 介绍了将编程执行程序装入存储区的过程 退出 ICSP 模式 通过从 MCLR 上移除 VIH 可退出编程 / 校验模式, 如图 11-5 退出的惟一要求是,PGC 和 PGD 的上一个时钟和编程信号后与移除 VIH 前之间应该有 P9b 的时间间隔 图 11-5: MCLR VDD PGD 退出 ICSP 模式 P9b VIH P15 VIH PGC PGD = 输入 表 11-11: 命令 ( 二进制 ) 读应用程序 ID 字的串行指令执行 数据 ( 十六进制 ) 第 1 步 : 退出复位向量 00 第 2 步 : 为执行 TBLRD 指令初始化 TBLPAG 和读指针 (W0) #0x80, W W0, TBLPAG 205BE0 #0x5BE, W VISI, W1 BA0890 TBLRDL [W0], [W1] 第 3 步 : 使用 REGOUT 命令输出 VISI 寄存器的内容 0001 <VISI> 00 Clock out contents of the VISI register DS70284B_CN 第 38 页 2008 Microchip Technology Inc.

39 12.0 将编程执行程序烧写到存储区中 12.1 概述 如果确定编程执行程序不在执行程序存储区中 ( 如第 4.0 节 确认执行程序存储区中的内容 所述 ), 必须要使用 ICSP 和第 11.0 节 ICSP 模式 中所述的方法将其烧写到执行程序存储区中 将编程执行程序存储到执行程序存储区的过程与对代码存储区编程的常规操作类似 即, 必须首先擦除执行程序存储区, 然后才能烧写编程执行程序, 每次必须烧写 32 个指令字 表 12-1 总结了该控制流程 表 12-1: 命令 ( 二进制 ) 烧写编程执行程序 数据 ( 十六进制 ) 第 1 步 : 退出复位向量, 擦除执行程序存储区 00 第 2 步 : 初始化 NVMCON 以擦除执行程序存储区 24072A 883B0A 第 3 步 : 解锁 NVMCON 以进行编程 B38 200AA9 883B39 第 4 步 : 启动擦除周期 A8E A9E 第 5 步 : 设置 NVMCON 以编程 32 个指令字 #0x4072, W10 W10, NVMCON #0x55, W8 W8, NVMKEY #0xAA, W9 W9, NVMKEY BSET NVMCON, #15 Externally time 2 msec BCLR NVMCON, # A #0x4001, W10 883B0A W10, NVMCON 第 6 步 : 初始化 TBLPAG 和写指针 (W7) EB CLR #0x80, W0 W0, TBLPAG W Microchip Technology Inc. DS70284B_CN 第 39 页

40 表 12-1: 烧写编程执行程序 ( 续 ) 命令 ( 二进制 ) 第 7 步 : 将打包的编程执行程序代码的下 4 个字装入 W0:W5 并初始化 W6 来为编程做好准备 编程从执行程序存储区的最低地址 (0x80) 开始, 使用 W6 作为读指针, W7 作为写指针 2<LSW0>0 #<LSW0>, W0 2<MSB1:MSB0>1 #<MSB1:MSB0>, W1 2<LSW1>2 #<LSW1>, W2 2<LSW2>3 #<LSW2>, W3 2<MSB3:MSB2>4 #<MSB3:MSB2>, W4 2<LSW3>5 #<LSW3>, W5 第 8 步 : 设置读指针 (W6) 并装载 ( 下 4 个写 ) 锁存器 EB0300 CLR W6 BB0BB6 TBLWTL [W6++], [W7] BBDBB6 TBLWTH.B [W6++], [W7++] BBEBB6 TBLWTH.B [W6++], [++W7] BB1BB6 TBLWTL [W6++], [W7++] BB0BB6 TBLWTL [W6++], [W7] BBDBB6 TBLWTH.B [W6++], [W7++] BBEBB6 TBLWTH.B [W6++], [++W7] BB1BB6 TBLWTL [W6++], [W7++] 第 9 步 : 将第 7 步至第 8 步重复执行 8 次以将 32 个指令字装载到写锁存器 第 10 步 : 解锁 NVMCON 以进行编程 B38 200AA9 883B39 第 11 步 : 启动编程周期 A8E A9E 第 12 步 : 复位器件内部 PC 数据 ( 十六进制 ) 00 #0x55, W8 W8, NVMKEY #0xAA, W9 W9, NVMKEY BSET NVMCON, #15 Externally time 2 msec BCLR NVMCON, #15 第 13 步 : 重复第 7 步至第 12 步, 直到编程完执行程序存储区的全部 23 行为止 DS70284B_CN 第 40 页 2008 Microchip Technology Inc.

41 12.2 编程校验 使用 ICSP 将编程执行程序烧写到执行程序存储区后, 必须进行校验 通过读出执行程序存储区中的内容并将其与存储在编程器中的编程执行程序的镜像比较来进行校验 可以使用第 11.9 节 读代码存储区 中介绍的类似方法读取执行程序存储区的内容 表 12-2 给出了读执行程序存储区的步骤 注意, 在第 2 步中, 将 TBLPAG 寄存器的值设置为 0x80, 从而可读取执行程序存储区 表 12-2: 命令 ( 二进制 ) 读执行程序存储区 数据 ( 十六进制 ) 第 1 步 : 退出复位向量 00 第 2 步 : 为执行 TBLRD 指令初始化 TBLPAG 和读指针 (W6) #0x80, W W0, TBLPAG EB0300 CLR W6 第 3 步 : 初始化写指针 (W7), 并将执行程序存储区的下 4 个存储单元的值存储到 W0:W5 中 EB0380 BA1B BADBB BADBD BA1BB BA1B BADBB BADBD BA1BB CLR TBLRDL TBLRDH.B TBLRDH.B TBLRDL TBLRDL TBLRDH.B TBLRDH.B TBLRDL W7 [W6], [W7++] [W6++], [W7++] [++W6], [W7++] [W6++], [W7++] [W6], [W7++] [W6++], [W7++] [++W6], [W7++] [W6++], [W7] 2008 Microchip Technology Inc. DS70284B_CN 第 41 页

42 表 12-2: 读执行程序存储区 ( 续 ) 命令 ( 二进制 ) 第 4 步 : 使用 VISI 寄存器和 REGOUT 命令输出 W0:W5 中的内容 C C C C C C25 00 第 5 步 : 复位器件内部 PC 数据 ( 十六进制 ) 00 W0, VISI Clock out contents of VISI register W1, VISI Clock out contents of VISI register W2, VISI Clock out contents of VISI register W3, VISI Clock out contents of VISI register W4, VISI Clock out contents of VISI register W5, VISI Clock out contents of VISI register 第 6 步 : 重复第 3 步至第 5 步, 直到读完执行程序存储区中全部的 736 个指令字为止 DS70284B_CN 第 42 页 2008 Microchip Technology Inc.

43 13.0 交流 / 直流特性和时序要求 表 13-1 给出了交流 / 直流特性和时序要求 表 13-1: 交流 / 直流特性 交流 / 直流特性和时序要求 标准工作条件 ( 除非另外声明 ) 工作温度 : 推荐为 25 C 参数编号 符号 特性 最小值 最大值 单位 条件 D110 VIHH MCLR 上的编程电压 0.8 VDD VDD V D112 IPP MCLR 上的编程电流 5 ma D113 IDDP 编程时的供电电流 30 ma 对程序存储器执行行擦除 30 ma 批量擦除 D001 VDD 电源电压 V D002 VDDBULK 批量擦除编程的电源电压 V D031 VIL 输入低电压 VSS 0.2 VSS V D041 VIH 输入高电压 0.8 VDD VDD V D080 VOL 输出低电压 0.6 V IOL = 8.5 ma D090 VOH 输出高电压 VDD 0.7 V IOH = -3.0 ma D012 CIO I/O 引脚 (PGD) 上的容性负载 50 pf 符合交流规范 P1 TPGC 串行时钟 (PGC) 周期 100 ns P1A TPGCL 串行时钟 (PGC) 的低电平时间 40 ns P1B TPGCH 串行时钟 (PGC) 的高电平时间 40 ns P2 TSET1 输入数据到串行时钟 的建立时间 15 ns P3 THLD1 在 PGC 后输入数据的保持时间 15 ns P4 TDLY1 4 位命令和命令操作数之间的延时 40 ns P4A TDLY1A 4 位命令操作数与下一条 4 位命令之间的 40 ns 延时 P5 TDLY2 命令字节的最后一个 PGC 到数据字的第 20 ns 一个 PGC 之间的延时 P6 TSET2 VDD 到 MCLR 的建立时间 100 ns P7 THLD2 在 MCLR 后输入数据的保持时间 500 ns P8 TDLY3 命令字节的最后一个 PGC 到编程执行程 20 ms 序将 PGD 驱动为 之间的延时 P9a TDLY4 编程执行程序命令的处理时间 10 ms P9b TDLY5 编程执行程序将 PGD 驱动为 到编程执 15 ms 行程序释放 PGD 之间的延时 P10 TDLY6 编程后 PGC 的低电平时间 400 ns 2008 Microchip Technology Inc. DS70284B_CN 第 43 页

44 表 13-1: 交流 / 直流特性和时序要求 ( 续 ) 交流 / 直流特性 标准工作条件 ( 除非另外声明 ) 工作温度 : 推荐为 25 C 参数编号符号特性最小值最大值单位条件 P11 TDLY7 从允许批量擦除到发生批量擦除之间的延 时 200 ms P12 TR 进入 ICSP 模式的 MCLR 上升时间 1.0 ms P13 TVALID PGC 后的数据输出有效时间 10 ns P14 TDLY8 最后一个 PGC 到 MCLR 之间的延时 0 s P15 THLD3 MCLR 到 VDD 的时间 100 ns P16 TKEY1 从第一个 MCLR 到向 PGD 移入密钥序 40 ns 列的第一个 PGC 之间的延时 P17 TKEY2 从向 PGD 移入密钥序列的最后一个 PGC 40 ns 到第二个 MCLR 之间的延时 P18 TPROG 编程周期 1 4 ms ICSP 模式 P19 TERA 擦除周期 1 4 ms ICSP 模式 DS70284B_CN 第 44 页 2008 Microchip Technology Inc.

45 闪存编程规范 附录 A: HEX 文件格式 闪存编程器处理 Microchip 开发工具所使用的标准 HEX 格式 支持的格式为 Intel HEX 32 格式 (INHX32) 更多关于 hex 文件格式的信息, 请参见 MPASM 汇编器 MPLINK 目标链接器和 MPLIB 目标库管理器用户指南 (DS33014J_CN) 中的附录 A hex 文件的基本格式为 : :BBAAAATTHHHH...HHHHCC 每条数据记录都以一个 9 字符的前缀开始, 且通常以一个 2 字符的校验和结束 无论何种格式, 所有记录均以 : 开始 各组成部分的说明如下 BB 是一个两位数字的十六进制字节数, 用来表示行中显示的数据字节数量 该数除以 2 即获得每行的数据字数 AAAA 是一个四位数字的十六进制地址, 用来表示数据记录的起始地址, 其格式为高字节在前, 低字节在后 由于该格式仅支持 8 位, 所以地址被乘以 2 要得到实际的器件地址, 需要将该值除以 2 TT 是一个两位数字的记录类型, 对于数据记录, 它为 00 ; 对于文件结束记录, 为 01 ; 对于扩展的地址记录, 为 04 HHHH 是一个四位数字的十六进制数据字, 其格式为低字节在前, 高字节在后 TT 后跟 BB/2 个数据字 CC 是一个两位数字的十六进制校验和, 它为本行记录中前面所有字节之和的二进制补码 由于 Intel hex 文件格式是面向字节的, 而 16 位程序计数器不是面向字节的, 所以程序存储区部分需要特殊处理 通过插入一个 虚拟字节 可以将每个 24 位程序字扩展为 32 位 每个程序存储区地址乘以 2, 可得到相应的字节地址 举例来说, 程序存储区中的存储单元 0x100, 在 hex 文件中表示为 0x200 可生成包含以下内容的 hex 文件 : :0204fa : :0001FF 注意, 数据记录 ( 第 2 行 ) 中有一个 0x200 的装载地址, 而源代码中指定的地址为 0x100 也可以注意到该数据是以 小尾数法 的格式表示的, 即最低字节在前 然后是虚拟字节, 后跟校验和 2008 Microchip Technology Inc. DS70284B_CN 第 45 页

46 闪存编程规范 附录 B: 版本历史 版本 A (2007 年 2 月 ) 本文档的初始版本 版本 B (2007 年 9 月 ) 更新了第 2.2 节 编程时使用的引脚 中的段落, 包含了完整引脚图的参考位置 删除了所有引脚图 将第 节 概述 中的第一句修改如下 : dspic30f SMPS 器件的配置位存储在 7 个 16 位寄存器中 加粗的文本表示更改 在第 节 概述 的第二段添加了以下注 : 注 : 如果用户软件需要对配置熔丝执行擦除操作, 那么随后必须使用期望值对该熔丝执行写操作, 即使该期望值与被擦除熔丝的状态相同时也是如此 在第 节 用户部件 ID 的末尾添加了下列句子 : 使用与烧写编程执行程序类似的方法来烧写部件 ID ( 请参见第 12.0 节 将编程执行程序烧写到存储区中 以了解详细信息 ) 更新了以下表格中的指令 : - 表 11-4 ( 删除了第 1 步中 GOTO 指令前的两条 指令, 在第 12 步中 BSET 和 BCLR 后添加了两条 指令 ) - 表 11-5 ( 删除了第 1 步中 GOTO 指令前的两条 指令, 在第 5 步和第 12 步中 BSET 和 BCLR 后添加了两条 指令 ) - 表 11-7 ( 删除了第 1 步中 GOTO 指令前的两条 指令, 将第 6 步中的 BB1B96 更改为 BB1B86, 在第 8 步的 BSET 和 BCLR 指令后添加了两条 指令, 将第 10 步中的 9 改为 7) - 表 11-8 ( 删除了第 1 步中 GOTO 指令前的两条 指令 ) - 表 11-9 ( 删除了第 1 步中 GOTO 指令前的两条 指令 ) - 表 ( 删除了第 1 步中 GOTO 指令前的两条 指令 ) - 表 ( 删除了第 1 步中 GOTO 指令前的两条 指令 ) - 表 12-1 ( 删除了第 1 步中 GOTO 指令前的两条 指令, 在第 4 步和第 11 步中 BSET 和 BCLR 指令后添加了两条 指令 ) - 表 12-2 ( 删除了第 1 步中 GOTO 指令前的两条 指令 ) 使用数字 7 替换了第 11.7 节 写配置存储区 最后一段中最后一句的数字 9 修改了表 13-1 中参数 TPROG 和 TERA 的最大值 添加了附录 A: Hex 文件格式 DS70284B_CN 第 46 页 2008 Microchip Technology Inc.

47 请注意以下有关 Microchip 器件代码保护功能的要点 : Microchip 的产品均达到 Microchip 数据手册中所述的技术指标 Microchip 确信 : 在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一 目前, 仍存在着恶意 甚至是非法破坏代码保护功能的行为 就我们所知, 所有这些行为都不是以 Microchip 数据手册中规定的操作规范来使用 Microchip 产品的 这样做的人极可能侵犯了知识产权 Microchip 愿与那些注重代码完整性的客户合作 Microchip 或任何其他半导体厂商均无法保证其代码的安全性 代码保护并不意味着我们保证产品是 牢不可破 的 代码保护功能处于持续发展中 Microchip 承诺将不断改进产品的代码保护功能 任何试图破坏 Microchip 代码保护功能的行为均可视为违反了 数字器件千年版权法案 (Digital Millennium Copyright Act) 如果这种行为导致他人在未经授权的情况下, 能访问您的软件或其他受版权保护的成果, 您有权依据该法案提起诉讼, 从而制止这种行为 提供本文档的中文版本仅为了便于理解 请勿忽视文档中包含的英文部分, 因为其中提供了有关 Microchip 产品性能和使用情况的有用信息 Microchip Technology Inc. 及其分公司和相关公司 各级主管与员工及事务代理机构对译文中可能存在的任何差错不承担任何责任 建议参考 Microchip Technology Inc. 的英文原版文档 本出版物中所述的器件应用信息及其他类似内容仅为您提供便利, 它们可能由更新之信息所替代 确保应用符合技术规范, 是您自身应负的责任 Microchip 对这些信息不作任何明示或暗示 书面或口头 法定或其他形式的声明或担保, 包括但不限于针对其使用情况 质量 性能 适销性或特定用途的适用性的声明或担保 Microchip 对因这些信息及使用这些信息而引起的后果不承担任何责任 如果将 Microchip 器件用于生命维持和 / 或生命安全应用, 一切风险由买方自负 买方同意在由此引发任何一切伤害 索赔 诉讼或费用时, 会维护和保障 Microchip 免于承担法律责任, 并加以赔偿 在 Microchip 知识产权保护下, 不得暗中或以其他方式转让任何许可证 商标 Microchip 的名称和徽标组合 Microchip 徽标 Accuron dspic KEELOQ KEELOQ 徽标 MPLAB PIC PICmicro PICSTART rfpic SmartShun 和 UNI/O 均为 Microchip Technology Inc. 在美国和其他国家或地区的注册商标 FilterLab Linear Active Thermistor MXDEV MXLAB SEEVAL SmartSensor 和 The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的注册商标 Analog-for-the-Digital Age Application Maestro CodeGuard dspicdem dspicdem.net dspicworks dsspeak ECAN ECONOMONITOR FanSense In-Circuit Serial Programming ICSP ICEPIC Mindi MiWi MPASM MPLAB Certified 徽标 MPLIB MPLINK mtouch PICkit PICDEM PICDEM.net PICtail PIC 32 徽标 PowerCal PowerInfo PowerMate PowerTool REAL ICE rflab Select Mode Total Endurance WiperLock 和 ZENA 均为 Microchip Technology Inc. 在美国和其他国家或地区的商标 SQTP 是 Microchip Technology Inc. 在美国的服务标记 在此提及的所有其他商标均为各持有公司所有 2008, Microchip Technology Inc. 版权所有 Microchip 位于美国亚利桑那州 Chandler 和 Tempe 与位于俄勒冈州 Gresham 的全球总部 设计和晶圆生产厂及位于美国加利福尼亚州和印度的设计中心均通过了 ISO/TS-16949:2002 认证 公司在 PIC MCU 与 dspic DSC KEELOQ 跳码器件 串行 EEPROM 单片机外设 非易失性存储器和模拟产品方面的质量体系流程均符合 ISO/TS :2002 此外, Microchip 在开发系统的设计和生产方面的质量体系也已通过了 ISO 9001:2000 认证 2008 Microchip Technology Inc. DS70284B_CN 第 47 页

48 全球销售及服务网点 美洲 亚太地区 亚太地区 欧洲 公司总部 Corporate Office 2355 West Chandler Blvd. Chandler, AZ Tel: Fax: 技术支持 : 网址 : 亚特兰大 Atlanta Duluth, GA Tel: Fax: 波士顿 Boston Westborough, MA Tel: Fax: 芝加哥 Chicago Itasca, IL Tel: Fax: 达拉斯 Dallas Addison, TX Tel: Fax: 底特律 Detroit Farmington Hills, MI Tel: Fax: 科科莫 Kokomo Kokomo, IN Tel: Fax: 洛杉矶 Los Angeles Mission Viejo, CA Tel: Fax: 圣克拉拉 Santa Clara Santa Clara, CA Tel: Fax: 加拿大多伦多 Toronto Mississauga, Ontario, Canada Tel: Fax: 亚太总部 Asia Pacific Office Suites , 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: Fax: 中国 - 北京 Tel: Fax: 中国 - 成都 Tel: Fax: 中国 - 香港特别行政区 Tel: Fax: 中国 - 南京 Tel: Fax: 中国 - 青岛 Tel: Fax: 中国 - 上海 Tel: Fax: 中国 - 沈阳 Tel: Fax: 中国 - 深圳 Tel: Fax: 中国 - 武汉 Tel: Fax: 中国 - 厦门 Tel: Fax: 中国 - 西安 Tel: Fax: 中国 - 珠海 Tel: Fax: 台湾地区 - 高雄 Tel: Fax: 澳大利亚 Australia - Sydney Tel: Fax: 印度 India - Bangalore Tel: Fax: 印度 India - New Delhi Tel: Fax: 印度 India - Pune Tel: Fax: 日本 Japan - Yokohama Tel: Fax: 韩国 Korea - Daegu Tel: Fax: 韩国 Korea - Seoul Tel: Fax: 或 马来西亚 Malaysia - Kuala Lumpur Tel: Fax: 马来西亚 Malaysia - Penang Tel: Fax: 菲律宾 Philippines - Manila Tel: Fax: 新加坡 Singapore Tel: Fax: 泰国 Thailand - Bangkok Tel: Fax: 奥地利 Austria - Wels Tel: Fax: 丹麦 Denmark-Copenhagen Tel: Fax: 法国 France - Paris Tel: Fax: 德国 Germany - Munich Tel: Fax: 意大利 Italy - Milan Tel: Fax: 荷兰 Netherlands - Drunen Tel: Fax: 西班牙 Spain - Madrid Tel: Fax: 英国 UK - Wokingham Tel: Fax: 台湾地区 - 台北 Tel: Fax: 台湾地区 - 新竹 Tel: Fax: /02/08 DS70284B_CN 第 48 页 2008 Microchip Technology Inc.

untitled

untitled C 8051 MCU SPI EEPROM Alexandru Valeanu Microchip Technology Inc. Microchip Technology 25XXX EEPROM SPI 25XXX EEPROM SO 25XXX EEPROM 3MHz 20 MHz SPI HOLD 25XXX EEPROM EEPROM MCU HOLD 25XXX EEPROM SPI EEPROM

More information

00872a.book

00872a.book 从 MCP2510 升 级 至 MCP2515 作 者 : 介 绍 Pat Richards Microchip Technology Inc. 开 发 MCP2510 独 立 CAN 控 制 器 的 初 衷 是 赋 予 CAN 系 统 和 模 块 设 计 人 员 更 多 的 灵 活 性, 允 许 他 们 为 自 己 的 应 用 选 择 最 好 的 处 理 器 使 用 MCP2510 不 会 使 设

More information

untitled

untitled N1113 8051MU I 2 EEPROM lexandru Valeanu Microchip Technology Inc. Microchip Technology 24XXX EEPROM 2 SL 24XXX EEPROM 24XXX EEPROM I 2 100 khz 1MHz 24XXX EEPROM 2 I 2 EEPROM 128 512 b 100 khz 1MHz 1.7V

More information

untitled

untitled MCP3421 SOT23-6 DS51793A_CN Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Digital Millennium Copyright Act Microchip Microchip Technology

More information

untitled

untitled PICkit MCP3422 DS51781A_CN Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Digital Millennium Copyright Act Microchip Microchip Technology

More information

01262B.book

01262B.book 使用 C30 编译器实现单片机与片外串行 SRAM 的通信 作者 : 引言 Martin Bowman Microchip Technology Inc. 适用于 Microchip 的 dspic DSC 和 PIC24 系列单片机的 C30 编译器为寻址外部存储器提供了一个解决方案 该编译器支持这样的功能, 即允许用户按照访问 MCU 的片内存储器的方式来访问外部存储器 本应用笔记主要介绍如何使用

More information

PIC24 MSSP FRM Rev A.book

PIC24 MSSP FRM Rev A.book 58 MSSP 58.1... 58-2 58.2... 58-2 58.3... 58-12 58.4 SPI... 58-13 58.5 I2C... 58-22 58.6 /... 58-58 58.7... 58-58 58.8... 58-59 58.9... 58-60 58.10... 58-61 58 MSSP 2012 Microchip Technology Inc. DS30627A_CN

More information

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC LCD PIC 单片机解决方案 集成 LCD 驱动器模块的 PIC 单片机 www.microchip.com/lcd ,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC,

More information

61127c_cn.book

61127c_cn.book 1 第 1 章 简 介 简 介 目 录 本 章 包 括 下 列 主 题 : 1.1 简 介... 1-2 1.2 本 手 册 的 目 标... 1-2 1.3 器 件 结 构... 1-2 1.4 开 发 支 持... 1-4 1.5 样 式 和 符 号 约 定... 1-4 1.6 相 关 文 档... 1-6 1.7 版 本 历 史... 1-7 2010 Microchip Technology

More information

41632B.book

41632B.book 互 补 波 形 发 生 器 (CWG) 可 配 置 逻 辑 单 元 (CLC) 和 数 控 振 荡 器 (NCO) 外 设 技 巧 与 诀 窍 简 介 Microchip 致 力 于 不 断 向 客 户 提 供 体 积 更 小 速 度 更 快 使 用 更 简 便 与 运 行 更 可 靠 的 创 新 产 品 我 们 的 闪 存 PIC MCU 已 广 泛 应 用 于 日 常 生 活 中 从 烟 雾 探

More information

MCP47x6_DaughterBoard.book

MCP47x6_DaughterBoard.book MCP47X6 PICtail Plus 子 板 用 户 指 南 DS51932B_CN 请 注 意 以 下 有 关 Microchip 器 件 代 码 保 护 功 能 的 要 点 : Microchip 的 产 品 均 达 到 Microchip 数 据 手 册 中 所 述 的 技 术 指 标 Microchip 确 信 : 在 正 常 使 用 的 情 况 下, Microchip 系 列 产 品

More information

61146A.book

61146A.book PIC32 2008 Microchip Technology Inc. DS61146A_CN Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Digital Millennium Copyright Act Microchip

More information

39697b.book

39697b.book 第 9 章看门狗定时器 (WDT) 目录 本章包括下列主题 : 9.1 简介...9-2 9.2 WDT 工作原理... 9-3 9.3 寄存器映射... 9-7 9.4 设计技巧... 9-8 9.5 相关应用笔记... 9-9 9.6 版本历史... 9-10 9 看门狗定时器 (WDT) 2010 Microchip Technology Inc. DS39697B_CN 第 9-1 页 PIC24F

More information

CTMU Temperature Measurement AN.book

CTMU Temperature Measurement AN.book 利用 PIC MCU 中的 CTMU 测量温度 TB3016 作者 : 最新一代 PIC24F 和 PIC18F 器件包含的充电时间测量单元 (Charge Time Measurement Unit,CTMU) 使用恒流源来计算电容值的变化以及事件的间隔时间 运用半导体物理学的基本原理, 同样的电流源也可用来测量温度 这允许使用普通而廉价的二极管来取代相对昂贵的热敏电阻和温度传感器 本技术简介描述了使用

More information

21999a_cn.book

21999a_cn.book 1.5A 低 电 压 低 静 态 电 流 LDO 稳 压 器 MCP1727 特 性 输 出 电 流 能 力 为 1.5A 输 入 工 作 电 压 范 围 :2.3V 至 6.0V 可 调 输 出 电 压 范 围 :0.8V 至 5.0V 标 准 固 定 输 入 电 压 : - 0.8V 1.2V 1.8V 2.5V 3.0V 3.3V 和 5.0V 可 根 据 需 要 提 供 其 他 固 定 输

More information

21928a.book

21928a.book PS080, PowerTool 800 开发软件用户指南 2005 Microchip Technology Inc. DS21928A_CN 请注意以下有关 Microchip 器件代码保护功能的要点 : Microchip 的产品均达到 Microchip 数据手册中所述的技术指标 Microchip 确信 : 在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一

More information

70152C.book

70152C.book dspic33f/pic24h 闪存编程规范 1.0 器件概述 本文档定义了 dspic33f 16 位数字信号控制器 (Digital Signal Controller, DSC) 和 PIC24H 16 位单片机 (MCU) 系列的编程规范 本编程规范仅供为 dspic33f/ PIC24H 系列开发编程支持的人员使用 仅使用这些器件的客户应该采用支持器件编程的开发工具 本文档包括下列器件的编程规范

More information

00975A.book

00975A.book 使用 MSSP 模块进行 Microwire 串行 EEPROM 与 PIC16 器件的接口设计 作者 : 引言 Martin Kvasnicka Microchip Technology Inc. 目前市场上有许多种单片机用在嵌入式控制系统设计中, 这些嵌入式控制系统中的很大一部分都要用到非易失性存储器 由于串行 EEPROM 具有封装尺寸小, 存储容量灵活, 对 I/O 引脚要求低, 和低功耗低成本等特点,

More information

01018A.book

01018A.book 使用 C18 编译器进行 SPI 串行 EEPROM 与 PIC18 单片机的接口设计 作者 : 引言 Chris Parris Microchip Technology Inc. Microchip Technology 生产的 25XXX 系列串行 EEPROM 兼容 SPI 通信标准, 最大时钟频率范围从 3MHz 到 20 MHz 许多时候, 在设计利用串行 EEPROM 器件的应用时, 使用非专用

More information

00966A.book

00966A.book SPI 串行 EEPROM 与 PICmicro 单片机的接口设计 作者 : 引言 Martin Kvasnicka Microchip Technology Inc. 目前市场上有许多种单片机用在嵌入式控制系统设计中, 这些嵌入式控制系统中的很大一部分都要用到非易失性存储器 由于串行 EEPROM 具有封装尺寸小, 存储容量灵活, 对 I/O 引脚要求低, 和低功耗低成本等特点, 已成为非易失性存储器的首选

More information

untitled

untitled MCP3421 DS51683A_CN Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Microchip Digital Millennium Copyright Act Microchip Microchip Technology Inc. Microchip

More information

PIC18F65J90/85J90 Product Brief

PIC18F65J90/85J90 Product Brief 采用纳瓦技术内置 LCD 驱动器的 64/80 引脚高性能单片机 单片机的特殊性能 : 闪存程序存储器可承受 1000 次擦写 ( 典型值 ) 闪存数据保存时间为 20 年 ( 典型值 ) 软件控制下可自编程 中断具有优先级 8 x 8 单周期硬件乘法器 扩展的看门狗定时器 (Watchdog Timer, WDT): - 周期从 4 ms 到 131s, 可编程设定 通过两个引脚可进行在线串行编程

More information

01096B.book

01096B.book 使用 C30 编译器进行 SPI 串行 EEPROM 与 dspic33f 和 PIC24F 的接口设计 AN1096 作者 : 引言 Martin Kvasnicka Microchip Technology Inc. Microchip 的 25XXX 系列串行 EEPROM 均与 SPI 兼容, 其最大时钟频率在 3 MHz 到 20 MHz 的范围内 许多时候, 当设计利用串行 EEPROM

More information

21498c_cn.book

21498c_cn.book 精密温度 - 电压转换器 特性 工作电压范围 : - TC147:2.7V 至 4.4V - TC147A:2.5V 至 5.5V 宽温度测量范围 : - -4 C 至 +125 C 温度转换精度高 : - 在 25 C 时为 ±2 C ( 最大值 ) 线性温度斜率 :1 mv/ C ( 典型值 ) 提供 3 引脚 SOT-23B 封装 低工作电流 : - 35 µa 典型值 应用 移动电话 电源过热关断控制

More information

01277A_cn.book

01277A_cn.book 使用 C32 编译器进行串行 SRAM 器件与 PIC32 MCU 的接口设计 作者 : 引言 Pinakin K Makwana Microchip Technology Inc. Microchip 的串行 SRAM 产品线提供了向应用添加附加 RAM 的一种新方法 这些器件采用 8 引脚小型封装以及 SPI 接口, 使设计人员提升系统的灵活性 Microchip Technology 的 23XXXX

More information

TB3109 PIC32MX 器件中与 USB 模块相关的更改 USB 模块中断位 ( 即 USBIF USBIE USBIP 和 USBIS 位 ) 的位置变化会影响 PIC32MX 器件上的 USB 协议栈操作 表 1 给出了所列 PIC32MX 器件系列中 USBIF USBIE USBIP

TB3109 PIC32MX 器件中与 USB 模块相关的更改 USB 模块中断位 ( 即 USBIF USBIE USBIP 和 USBIS 位 ) 的位置变化会影响 PIC32MX 器件上的 USB 协议栈操作 表 1 给出了所列 PIC32MX 器件系列中 USBIF USBIE USBIP 在 v2013-06-15 MLA USB 设备和主机协议栈中更新 PIC32MX 支持 TB3109 简介 我们提供适合 PIC32MX MCU 的 Microchip 应用程序库 (Microchip Libraries for Applications,MLA), 但未计划向 MLA 添加新功能 v2013-06-15 MLA USB 协议栈本质上支持所有适用的 PIC32MX MCU 器件

More information

Section 5. Flash Programming

Section 5. Flash  Programming 第 5 章闪存编程 目录 本章包括下列主题 : 5.1 简介...5-2 5.2 表指令操作... 5-2 5.3 控制寄存器... 5-5 5.4 运行时自编程 (RTSP)... 5-8 5.5 寄存器映射... 5-16 5.6 相关应用笔记... 5-17 5.7 版本历史... 5-18 5 闪存编程 2011 Microchip Technology Inc. DS70609C_CN 第

More information

01236B.book

01236B.book 使用 C3 和定时器连接 dspic33 DSC 和 PIC24 MCU 与兼容 UNI/O 总线的串行 EEPROM 作者 : 简介 Martin Kvasnicka Microchip Technology Inc. 随着嵌入式系统小型化的趋势, 市场对于减少器件间通信所用 I/O 引脚数的需求也与日俱增 Microchip 开发的 UNI/O 总线正满足了这一需求, 这一个低成本且易于实现的解决方案,

More information

00686A.Book

00686A.Book 理解和使用监控电路 AN686 概要 本应用笔记讨论了什么是单片机监控器件, 为什么需要这些器件以及在选择这些器件时需要考虑的一些因素 监控器件属于一个很广的范畴, 它涵盖了上电复位 (Power on Reset,POR) 器件 欠压检测 (Brown-Out Detect,BOD) 器件和看门狗定时器器件 本应用笔记将仅讨论具有 POR 和 BOD 功能的监控器件 监控电路的工作 监控电路可用于几种不同的应用,

More information

01020B.book

01020B.book 使用 MSSP 进行 Microwire 串行 EEPROM 与 PIC18 器件的接口设计 作者 : 引言 Martin Kvasnicka Microchip Technology Inc. 当前市场上有许多不同的单片机用于嵌入式控制应用领域 许多这种嵌入式控制系统都需要非易失性存储器 由于外形小巧 提供字节级灵活性 I/O 引脚要求低 低功耗和低成本等特点, 串行 EEPROM 成为非易失性存储器的流行选择

More information

21666b.book

21666b.book 具 有 关 断 功 能 的 80 ma 小 型 CMOS LDO TC1016 特 性 节 省 空 间 的 5 引 脚 SC-70 和 SOT-23 封 装 极 低 的 工 作 电 流, 利 于 延 长 电 池 寿 命 : 典 型 值 53 µa 很 低 的 电 压 差 (Dropout Voltage) 额 定 输 出 电 流 :80 ma 仅 需 一 个 1µF 的 陶 瓷 输 出 电 容 高

More information

TB3098 PIC16F170X 外设引脚选择 (PPS) 技术简介 作者 : 简介 Stephen Allen Microchip Technology Inc. 外设引脚选择 (Peripheral Pin Select,PPS) 可以使数字外设灵活地映射到各种外部引脚 在过去, 外设硬接线到

TB3098 PIC16F170X 外设引脚选择 (PPS) 技术简介 作者 : 简介 Stephen Allen Microchip Technology Inc. 外设引脚选择 (Peripheral Pin Select,PPS) 可以使数字外设灵活地映射到各种外部引脚 在过去, 外设硬接线到 PIC16F170X 外设引脚选择 (PPS) 技术简介 作者 : 简介 Stephen Allen Microchip Technology Inc 外设引脚选择 (Peripheral Pin Select,PPS) 可以使数字外设灵活地映射到各种外部引脚 在过去, 外设硬接线到特定引脚 ( 例如 : 引脚 RC5 上的 PWM1 输出 ) PPS 允许开发人员从大量输出引脚中进行选择, 这提供了以下优势

More information

2 PIC PIC 1 / CPU PIC MCU PIC RC

2 PIC PIC 1 / CPU PIC MCU PIC RC 2 PIC PIC 1 /... 2-2 2... 2-3 3... 2-4 4... 2-4 5... 2-4 6 CPU... 2-5 7 PIC MCU... 2-6 8 PIC16... 2-6 9... 2-7 10... 2-7 11 RC... 2-7 12... 2-8 13... 2-8 14 NOP... 2-9 15 PMD... 2-9 16... 2-10 17 WDTWDT...

More information

33023A.book(31027A_cn.fm)

33023A.book(31027A_cn.fm) 第 27 章器件配置位 目录 本章包括以下一些主要内容 : 27.1 简介... 27-2 27.2 配置字位... 27-4 27.3 编程校验 / 代码保护... 27-8 27.4 识别码 ID 的位置... 27-9 27.5 设计技巧... 27-10 27.6 相关应用笔记... 27-11 27.7 版本历史... 27-12 27 器件配置位 2004 Microchip Technology

More information

2 12

2 12 SHENZHEN BRILLIANT CRYSTAL TECHNOLOGIC CO.,LTD. The specification for the following models Graphic LCM serial communication control board CB001 PROPOSED BY APPROVED Design Approved TEL:+86-755-29995238

More information

AN1487 DALI 控制装置 作者 : 简介 数字可寻址照明接口 (Digitally Addressable Lighting Interface,DALI) 已成为欧洲应对能源危机的一项标准, 主要针对商业和工业用途 DALI 是 IEC 规范的一部分, 具体与数控可调光荧光镇流

AN1487 DALI 控制装置 作者 : 简介 数字可寻址照明接口 (Digitally Addressable Lighting Interface,DALI) 已成为欧洲应对能源危机的一项标准, 主要针对商业和工业用途 DALI 是 IEC 规范的一部分, 具体与数控可调光荧光镇流 DALI 控制装置 作者 : 简介 数字可寻址照明接口 (Digitally Addressable Lighting Interface,DALI) 已成为欧洲应对能源危机的一项标准, 主要针对商业和工业用途 DALI 是 IEC 60929 规范的一部分, 具体与数控可调光荧光镇流器有关 本文档结合 DALI 通信应用笔记 (AN1465A) (ww1.microchip.com/downloads/cn/appnotes/

More information

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

More information

70641A.book

70641A.book AN1299 调整指南 1.1 配置双电流检测电阻模式 本文档介绍了 AN1299 PMSM 无传感器 FOC 的单电流检测电阻三相电流重构算法 (DS01299A_CN) 中所述算法调整所需的步骤和设置 1. 第一步, 用户需完成 AN1078 中的调整过程, 其中介绍了在具体电机和硬件上运行滑模控制器 (Slide Mode Controller, SMC) 所需的全部步骤 2. 应用运行后,

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

0507A_Auto Tech_Microchip

0507A_Auto Tech_Microchip 汽 车 无 线 安 全 接 入 技 术 解 决 方 案 Youbok Lee 主 任 工 程 师 Willie Fitzgerald 产 品 营 销 总 监 Microchip Technology Inc. 引 言 全 球 汽 车 半 导 体 面 临 极 大 的 市 场 机 会, 而 汽 车 设 计 工 程 师 正 在 应 对 高 性 价 比 的 性 能 增 强 功 耗 小 尺 寸 和 安 全 性

More information

01476A.book

01476A.book 结合 CLC 和 NCO 实现高分辨率 PWM AN1476 作者 : 简介 Cobus Van Eeden Microchip Technology Inc. 虽然许多应用可以使用分辨率低于 8 位的 PWM, 但是有一些应用 ( 例如灯具调光 ) 由于人眼灵敏度的原因需要较高分辨率 背景 传统的 PWM 使用定时器来生成规则的开关频率 (T PWM ), 然后使用纹波计数器来确定在脉冲结束之前,

More information

33023A.book(31001A_cn.fm)

33023A.book(31001A_cn.fm) 1 第 1 章 简 介 简 介 目 录 本 章 包 括 下 面 一 些 主 要 内 容 : 1.1 简 介...1-2 1.2 本 手 册 的 宗 旨... 1-3 1.3 器 件 结 构... 1-4 1.4 开 发 支 持... 1-6 1.5 器 件 种 类... 1-7 1.6 格 式 和 符 号 的 约 定... 1-12 1.7 相 关 文 档... 1-14 1.8 相 关 应 用 笔

More information

PIC24 intro.fm

PIC24 intro.fm 1 第 1 章简介 简介 目录 本章包括下列主题 : 1.1 简介... 1-2 1.2 手册目标... 1-2 1.3 器件结构... 1-2 1.4 开发支持... 1-4 1.5 样式和符号约定... 1-4 1.6 相关文档... 1-6 1.7 版本历史... 1-7 2008 Microchip Technology Inc. 超前信息 DS39718A_CN 第 1-1 页 PIC24F

More information

00513D_CN.FM

00513D_CN.FM 使用 PIC16C54 实现模数转换 AN513 作者 : 简介 本应用笔记介绍了一种使用 PIC16C5X 系列单片机实现模数转换 (Analog to Digital,A/D) 的方法 仅需 5 个外部元件即可实现该转换器, 且可通过软硬件配置使转换分辩率达到 6 到 10 位且转换时间不短于 250 µs 这一方法可用于电压和电流转换且使用软件校准技术来补偿由于时间和温度漂移以及元件误差造成的精度误差

More information

工作原理 脉冲血氧仪基于氧合血红蛋白 (HbO 2 ) 和脱氧血红蛋白 (Hb) 的红光 ( 波长为 nm) 和红外光 ( 波长为 nm) 吸收特性来监测人体血液的氧饱和度 (SpO 2 ) 脉冲血氧仪会交替地闪烁红光和红外光, 光线穿过手指到达光电二极管 HbO

工作原理 脉冲血氧仪基于氧合血红蛋白 (HbO 2 ) 和脱氧血红蛋白 (Hb) 的红光 ( 波长为 nm) 和红外光 ( 波长为 nm) 吸收特性来监测人体血液的氧饱和度 (SpO 2 ) 脉冲血氧仪会交替地闪烁红光和红外光, 光线穿过手指到达光电二极管 HbO 使用 Microchip 的 dspic 数字信号控制器 (DSC) 和模拟器件实现脉冲血氧仪设计 作者 : Zhang Feng Microchip Technology Inc. 简介 脉冲血氧仪是一种用于监测患者血氧饱和度和心率的非侵入式医疗设备 本应用笔记演示了如何使用 Microchip 的 dspic 数字信号控制器 (Digital Signal Controller, DSC) 和模拟器件来实现高精度脉冲血氧仪

More information

光 探 测 应 用 光 探 测 应 用 可 以 使 用 许 多 探 测 器, 例 如 光 电 二 极 管 光 电 晶 体 管 光 敏 电 阻 光 电 管 光 电 倍 增 管 电 荷 耦 合 器 件 等 本 应 用 笔 记 将 重 点 介 绍 光 电 二 极 管, 因 为 它 是 最 常 用 的 光

光 探 测 应 用 光 探 测 应 用 可 以 使 用 许 多 探 测 器, 例 如 光 电 二 极 管 光 电 晶 体 管 光 敏 电 阻 光 电 管 光 电 倍 增 管 电 荷 耦 合 器 件 等 本 应 用 笔 记 将 重 点 介 绍 光 电 二 极 管, 因 为 它 是 最 常 用 的 光 用 于 光 探 测 应 用 的 MCP649 运 放 AN494 作 者 : 简 介 Yang Zhen Microchip Technology Inc. 许 多 光 探 测 应 用 中 经 常 使 用 低 输 入 偏 置 运 算 放 大 器 ( 运 放 ), 以 降 低 电 流 误 差 和 提 高 输 出 信 号 的 精 度 以 下 为 典 型 的 光 探 测 应 用 : 烟 雾 探 测 器 火

More information

2.0 MHz, 500 mA Synchronous Buck Regulator

2.0 MHz, 500 mA Synchronous Buck Regulator 2.0 MHz 500 ma 同 步 降 压 稳 压 器 MCP1603 特 性 典 型 效 率 大 于 90% 输 出 电 流 最 高 为 500 ma 低 静 态 电 流 = 45 µa ( 典 型 值 ) 低 关 断 电 流 = 0.1 µa ( 典 型 值 ) 可 调 输 出 电 压 : - 0.8V 至 4.5V 固 定 输 出 电 压 : - 1.2V 1.5V 1.8V 2.5V 和

More information

T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma = 25 = 3V) VDD

T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma = 25 = 3V) VDD 1/16 T stg -40 to 125 C V cc 3.8V V dc RH 0 to 100 %RH T a -40 to +125 C -0.3 to 3.6V V -0.3 to VDD+0.3 V -10 to +10 ma (@T = 25 C, @Vdd = 3V) VDD 1.8 3.0 3.6 V (1) 0.08 0.3 µa Idd 300 450 500 µa 0.25

More information

文件名

文件名 MICROCHIP PIC10F200/202/204/206 6 8 FLASH PIC10F200 PIC10F202 PIC10F204 PIC10F206 RISC CPU 33 12 8 8 4MHz 1 s 4MHz 1% TM ICSP TM ICD POR DRT WDT RC MCLR I/O /CMOS < 350 A @ 2V 4 MHz 100 na @ 2V FLASH 10000

More information

* 4 6 R P r p . 1 2 3 4 7 89bk 6 5 1 2 3 4 5 6 7 8 9 0 bk r bl bm bn^ bo bl br bq bpbo bn bm [ ] [ ] [ ] bp 8 2 4 6 bq p [ ] [SET] br clckbt bs bs bt ck cl. 1 2 1 2+- 3 3 . 1 2 3 4 5 6 7 8 9 bk bl bm

More information

Using Microchip’s Micropower LDOs

Using Microchip’s Micropower LDOs 使用 Microchip 的微功率 LDO AN765 作者 : 简介 Paul Paglia, 公式 1: Microchip Technology Inc. = V REF [( ) 1] V REF = 1.20V Microchip Technology, Inc 的微功率 LDO 系列采用低电压 CMOS 工艺技术 这些 LDO 提供与双极型稳压器类似的纹波抑制和压差特性, 但效率却显著提高了

More information

MUGI Ver Copyright c 2001, 2002 Hitachi, Ltd. All rights reserved. 1

MUGI Ver Copyright c 2001, 2002 Hitachi, Ltd. All rights reserved. 1 MUGI Ver. 1.3 2002 5 8 1 1 3 2 3 2.1 Panama... 4 2.2... 5 3 5 3.1... 5 3.2... 5 3.3... 6 3.3.1... 6 3.3.2... 6 3.3.3... 7 3.3.4... 7 4 8 4.1... 8 4.2... 8 4.3... 9 4.3.1... 9 4.3.2... 9 4.4... 9 4.4.1

More information

GW2A 系列 FPGA 产品 GW2A-18 器件 Pinout Version History 日期 版本 2016/8/ /9/ /11/ /2/ /6/ /6/ /8

GW2A 系列 FPGA 产品 GW2A-18 器件 Pinout Version History 日期 版本 2016/8/ /9/ /11/ /2/ /6/ /6/ /8 Version History 日期 版本 2016/8/4 1.00 2016/9/2 1.01 2016/11/29 1.02 2017/2/16 1.03 2017/6/9 1.04 2018/6/27 1.05 2018/8/8 1.06 新增 MG196 PBGA256S 封装信息 ; 修改 SSPI 模式的配置功能 ; 增加 QN88 封装信息 2019/3/27 1.07 增加电源供电要求

More information

MCP Phase Energy Meter Reference Design Using PIC18F2520 Users Guide

MCP Phase Energy Meter Reference Design Using PIC18F2520 Users Guide 跟踪接口工具包规范 跟踪接口工具包 简介 MPLAB REAL ICE 在线仿真器跟踪接口工具包 (AC2446) 可与具有跟踪连接器的 PIC32 接插模块 (PIM)( 表 1-1) 配合使用 具有跟踪连接器的 PIC32 PIM 支持 PIC32 指令跟踪 请参见仿真器文档了解关于 PIC32 指令跟踪的更多信息 表 1-1: PIC32 PIM 列表 * PIM 编号 PIM 名称 跟踪连接器

More information

MRF24WG0MAMB Software Migration

MRF24WG0MAMB Software Migration MRF24WG0MA/MB 软件移植 作者 : 概述 本应用笔记介绍为了从旧版 MRF24WB0MA/MB 软件协议栈移植以包含 MRF24WG0MA/MB 模块, 而必须对现有 MLA 软件协议栈进行的更改 使用入门 Amy Ong Microchip Technology Inc. MRF24WG0MA/MB 驱动程序代码已深度嵌入在 MLA 版本中 宏定义用于区分 MRF24WB0MA/MB

More information

93004A.book

93004A.book 用 dspic DSC MCPWM 模块驱动交流感应电机 作者 : Jorge Zambada Microchip Technology Inc. 如图 1 所示, 电机绕组的电感对 PWM 电压源的电流进行滤波 正如下文即将介绍的, 基于该原理我们可利用 PWM 信号产生正弦波来对三相 ACIM 进行通电 引言 本文档概括介绍了采用 dspic3f 电机控制数字信号控制器系列芯片实现的电机控制 PWM

More information

RW Focus Asia Whitepaper CH1029

RW Focus Asia Whitepaper CH1029 F CUSASIA 1 Robert Walters Focus Asia Whitepaper Matthew Bennett Robert Walters 2 03 04 06 08 10 13 13 14 3 4 5 Robert Walters Focus Asia Whitepaper 6 7 Robert Walters Focus Asia Whitepaper 8 9 Robert

More information

Section1_16bit Arc.ppt

Section1_16bit Arc.ppt 16-bit Elite Program 2009 Summer Section-1 Microchip 16-bit 2005 Microchip Technology Incorporated. All Rights Reserved. Slide 1 MCU CPU (NOP),, (Data Memory), I/O CPU w. ALU/Working Reg. Data Mem. Data

More information

Microsoft Word - PICkit 2用户指南.doc

Microsoft Word - PICkit 2用户指南.doc PICkit 2 编程器 用户指南 2005 福建贝能科技有限公司 www.burnon.com 1 目 录 第一章 PICkit 2 概述 1.1 简介... 3 1.2 主要内容... 3 1.3 PICkit 2 微控制器编程器套件的组成... 3 1.4 PICkit 2 微控制器编程器介绍... 3 1.5 PICkit 2 微控制器编程器概述... 4 1.6 编程软件... 5 第二章入门指南

More information

800 mA Fixed-Output CMOS LDO with Shutdown

800 mA Fixed-Output CMOS LDO with Shutdown I 2 C 7/8-7 128 129-8 256 257 4 R AB - 5 kω - 1 kω - 5 kω - 1 kω 75Ω - 5 ppm -7 C - 15 ppm I 2 C - 1 khz - 4 khz - 3.4 MHz / TCON 1.5V 2.5 ua 12.5V SCL SDA - 2.7V 5.5V - 1.8V 5.5V -3 db 2 MHz 5. kω -4

More information

xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结!

xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结! xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结! 以下是串口的时序 : 在设计中, 耽误时间最长的问题就是数据老是出错, 为了找出问题的所在, 用示波器观察了

More information

STM32™ I²C

STM32™  I²C 应用笔记 STM32 在应用中编程通过 I²C 总线 简介 对于大多数基于 Flash 的系统而言, 在最终产品安装之后, 能够对固件进行更新, 这一点非常重要 这称为在应用中编程 (IAP) 此应用笔记的目的就是为创建 IAP 应用程序提供通用指南 STM32F10x 微控制器能够运行用户指定的固件, 从而执行微控制器内置 Flash 的 IAP 借助这一特性, 在重新编程过程中可以使用任意类型的通信协议

More information

目录 简介 概念 解决方案 / 实现 相关资源... 7 Microchip 网站... 8 变更通知客户服务... 8 客户支持... 8 Microchip 器件代码保护功能... 8 法律声明... 9 商标... 9 DNV 认证的质量管理体系

目录 简介 概念 解决方案 / 实现 相关资源... 7 Microchip 网站... 8 变更通知客户服务... 8 客户支持... 8 Microchip 器件代码保护功能... 8 法律声明... 9 商标... 9 DNV 认证的质量管理体系 什么是 ICM? 如何将 ICM 用于加密 简介 完整性检查监控器 (Integrity Check Monitor,ICM) 是一个 DMA 控制器, 可使用 Cortex M7 MCU 内存 (ICM 描述符区 ) 中的传输描述符在多个存储区上执行哈希计算 ICM 集成了用于哈希的安全哈希算法 (Secure Hash Algorithm,SHA) 引擎 基于 SHA 的哈希适合用于密码验证 质询哈希身份验证

More information

Microsoft Word - Delta Controller ASCII_RTU_SC

Microsoft Word - Delta Controller ASCII_RTU_SC Delta Controller ASCII/RTU ( 适用台达变频器 伺服驱动器 PLC 温度控制器 ) 人机默认值通讯速率 :9600, 7, None, 2 (ASCII); 9600, 8, None, 2 (RTU) 控制器站号 :1 控制区 / 状态区 :None/None 控制器接线的说明 Delta Servo a. RS-232(DOP-A/AE/AS, DOP-B 系列适用 )

More information

图 1 给出了 WWDT 的框图 为确保在最坏情况下能够通过程序主循环, 需要为定时器设置延时 定时器可通过控制寄存器进行配置 在定时器达到其设定的最大计数值并发生上溢前, 用户的应用程序应定期发出 CLRWDT 指令 如果用户的应用程序未能成功通过 CLRWDT 指令复位定时器, 则看门狗将发生上

图 1 给出了 WWDT 的框图 为确保在最坏情况下能够通过程序主循环, 需要为定时器设置延时 定时器可通过控制寄存器进行配置 在定时器达到其设定的最大计数值并发生上溢前, 用户的应用程序应定期发出 CLRWDT 指令 如果用户的应用程序未能成功通过 CLRWDT 指令复位定时器, 则看门狗将发生上 PIC 单片机的窗口看门狗定时器 TB3123 作者 : Ashutosh Tiwari Microchip Technology Inc. 简介 窗口看门狗定时器 (Windowed Watchdog Timer, WWDT) 是 PIC 单片机的增强型看门狗定时器 该定时器是 PIC 单片机现有看门狗定时器 (Watchdog Timer, WDT) 的扩展 Microchip 的 WDT 具有可配置的时间阈值上限和固定的时间阈值下限

More information

模拟外设 : 10 位模数转换器 (Analog-to-Digital Converter, ): - 最多 17 路外部通道 - 可在休眠模式下进行转换 : - 最多 2 个 - 低功耗 / 高速模式 - ( 同相 ) 反相输入上的固定电压参考 - 可从外部访问输出 5 位数模转换器 (Digit

模拟外设 : 10 位模数转换器 (Analog-to-Digital Converter, ): - 最多 17 路外部通道 - 可在休眠模式下进行转换 : - 最多 2 个 - 低功耗 / 高速模式 - ( 同相 ) 反相输入上的固定电压参考 - 可从外部访问输出 5 位数模转换器 (Digit 采用 XLP 技术的全功能低引脚数单片机产品简介 说明 : 单片机具有模拟 内核独立外设以及通信外设特性, 并结合了超低功耗 (extreme Low Power,XLP) 技术, 适用于一系列广泛的通用和低功耗应用 外设引脚选择 (Peripheral Pin Select, PPS) 功能可以在使用数字外设 ( 和通信 ) 时进行引脚映射, 以增加应用设计的灵活性 内核特性 : 优化的 C 编译器

More information

Rotork E120E IQ brochure

Rotork E120E IQ brochure Rotork IQ IQ IQ 3 7 IP68(3-8 )NEMA 9 6 11 IQ 12 1 16 18 Rotork Controls Ltd, Bath, UK 2 Rotork Controls Inc, Rochester, USA IQ IQ IQ PCIQ-Insight IQ IQ IQ IP67 IQ - EEx ia IIC T ( ) Insight IrDA TM 9 (RS232-IrDA

More information

+00DE _01EN.book

+00DE _01EN.book TCS-NET MODBUS TCS-NET Modbus TCB-IFMB640TLE 1...... 2 2 RS 485... 3 3... 3 4... 4 5... 4 6... 5 7... 6 8... 16 TCS-NET Modbus 1 http://www.modbus-ida.org/ >=3.5 8 8 N*8 ( N = 252.) 16 >= 3.5 Modbus-Master

More information

SMSC LAN8700 Datasheet

SMSC LAN8700 Datasheet Microchip LAN9252 SDK 与 Beckhoff EtherCAT SSC 集成 AN1916 作者 : Kansal Mariam Banu Shaick Ibrahim Microchip Technology Inc. 简介 Microchip LAN9252 是一款集成双以太网 PHY 的 2/3 端口 EtherCAT 从控制器 (EtherCAT Slave Controller,ESC)

More information

* r p . 4 6 12 3 5 7 8 9bk bm btbsbrbqbp bo bn bl [ ] [ ] [ ] [ ] [SET] 1 2 3 4 5 6 7. cmcl ck 8 9 0 bk bl bm bn bo 1 2 1 2+ - bp bq 8 2 4 6 br r bs p bt ck cl cm 3 3 . 1 2 3 4 5 6 7 8 9 bk bl bm

More information

「兆豐商業銀行」原交通銀行客戶重要權益手冊

「兆豐商業銀行」原交通銀行客戶重要權益手冊 行 益 行 95 年 8 錄 1 1 參 4 6 金 7 陸 金 7 7 8 錄 行 行 18 錄 行 行 19 行 行 益 行 行 行 95.8.21 行 行 Mega International Commercial Bank Co., Ltd. 行 017 北 路 123 金 樓 行 不 行 行 行 行 行 更 行 更 行 連 參 錄 不 益 益 不 利 行 行 利 不 行 www.ctnbank.com.tw

More information

MCP1630

MCP1630 可 用 单 片 机 控 制 的 高 速 脉 宽 调 制 器 特 性 高 速 PWM 操 作 ( 电 流 检 测 至 输 出 有 12 ns 延 时 ) 工 作 温 度 范 围 : - -4 C 至 125 C 精 确 峰 值 电 流 限 制 (±5%)(MCP163) 电 压 模 式 和 平 均 电 流 模 式 控 制 (MCP163V) CMOS 输 出 驱 动 器 ( 直 接 驱 动 MOSFET

More information

2.181% 0.005%0.002%0.005% 2,160 74,180, ,000, ,500,000 1,000,000 1,000,000 1,000,000 2

2.181% 0.005%0.002%0.005% 2,160 74,180, ,000, ,500,000 1,000,000 1,000,000 1,000,000 2 90,000,000 9,000,000 81,000,000 2.18 0.10 3300 1 2.181% 0.005%0.002%0.005% 2,160 74,180,000 8.24 81,000,000 2.18 13,500,000 1,000,000 1,000,000 1,000,000 2 1,000,0001,000,000 1,000,000 2,000 2.18 1% 0.005%0.002%0.005%

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

93002A.book

93002A.book 使用 QEI 模块测量速度和位置 GS002 作者 : 引言 本文档给出了电机控制系列 dspic30f 数字信号控制器中正交编码器 (Quadrature Encoder Interface, QEI) 模块的概述 还提供了一个需要测量转子速度和位置的典型电机控制应用的代码示例 QEI 模块 Jorge Zambada Microchip Technology Inc. 正交编码器 ( 又称增量式编码器或光电式编码器

More information

Rotork new IQ brochure

Rotork new IQ brochure Rotork IQ Rotork IQ 3 40 4 5 6 7 Rotork 8 10 12 14 16 18 20 Rotork Rotork Rotork Controls Ltd, Bath, UK 2 Rotork Controls Inc, Rochester, USA Rotork IQ Rotork IQ IQ Rotork IQ Rotork IQ IQ Rotork IQ IQ

More information

RW Salary Survey 2015 - China A4

RW Salary Survey 2015 - China A4 2015 中国 2014年 中国政府实施从纯制造业和基础设施行业向高科 技行业的转型 加强专业服务和消费者领域发展 以出口 刺激经济增长 由于政府的投资政策重新定位 我们看到越来越多的研发 中心在国内成立 更多国际专业服务公司进入中国市场 奢侈品及零售品牌进驻苏州 杭州 南京和成都等二线城 市 带动了当地市场的招聘需求 纵观总体经济 经济普遍增长 就业市场前景乐观 雇员 与雇主信心增强 2014年前三季度GDP增长率达7.4%

More information

MEGAWIN

MEGAWIN Megawin 8051 ISP via COM Port 用户手册 By Vincent Y. C. Yu July(avenbbs) 译 This document information is the intellectual property of Megawin Technology Co., Ltd. 1 目 录 1 什么是 ISP...3 2 用于 ISP 的芯片配置...4 2.1

More information

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD Leica MC170 HD Leica MC190 HD 5 6 7 8 11 12 13 14 16 HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD 22 23 24 26 Leica MC170 HD Leica MC190 HD ( ) 28

More information

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x 115 AVR W.V. Awdrey ATMEL AVR PIC AVR PIC AVR RISC AVR PIC AVR AVR AVR AVR AVR ATtiny15 AVR AVR AVR RAM ROM 121 116 122 ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r31 3 16 X Y Z 6-1 118 7 0

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

39733a_cn.book

39733a_cn.book 第 45 章具有扩展数据空间 (EDS) 的数据存储器 目录 本章包括下列主题 : 45.1 简介... 45-2 45.2 数据存储器构成... 45-3 45.3 扩展数据空间... 45-7 45.4 数据对齐... 45-14 45.5 软件堆栈... 45-15 45.6 程序存储空间与数据存储空间的连接... 45-15 45.7 相关应用笔记... 45-16 45.8 版本历史...

More information

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi MICROCHIP EVM Board : APP001 1-1. APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pin 16 I/O Extension Interface 1-2. APP001 Block_A Block_B

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

01019A.book

01019A.book EEPROM 耐擦写能力教程 作者 : 基本术语 David Wilkie Microchip Technology Inc. 耐擦写能力 (Endurance) ( 指 EEPROM) 的定义中包含一些需要明确定义和理解的词语和短语 从以下段落可以看出, 不同厂商使用不同的标准 耐擦写循环 (Endurance Cycling) 是所有厂商 ( 和一些客户 ) 采用的测试方法, 用以确定产品经过多少次

More information

24FJ256GB210 PB rev A.book

24FJ256GB210 PB rev A.book 带有 USB OTG 的 16 位 64/100 引脚闪存单片机产品简介 通用串行总线特性 : 兼容 USB v2.0 On-The-Go (OTG) 双重功能 可作为主机或外设 在主机模式下 USB 可低速 (1.5 Mb/s) 和全速 (12 Mb/s) 运行 在设备模式下 USB 可全速运行 用于 USB 的高精度 PLL 最多支持 32 个端点 ( 双向 16 个 ): - 端点缓冲器可在首个

More information

先进制造技术是近几年提得较多,叫得较响的一个专用词语,而且先进制造技术在机械制造业领域中的应用越来越广泛而深入,并取得了很大的成绩

先进制造技术是近几年提得较多,叫得较响的一个专用词语,而且先进制造技术在机械制造业领域中的应用越来越广泛而深入,并取得了很大的成绩 21 世 纪 全 国 高 校 应 用 人 才 培 养 旅 游 类 规 划 教 材 中 国 公 民 出 境 旅 游 目 的 地 国 家 ( 地 区 ) 概 况 方 海 川 主 编 付 景 保 副 主 编 内 容 简 介 中 国 公 民 出 境 旅 游 目 的 地 国 家 ( 地 区 ) 概 况 一 书 共 分 5 章, 第 1 章 主 要 介 绍 有 关 中 国 出 境 旅 游 市 场 的 发 展 历

More information

00992A.book

00992A.book 用 dspic30f2010 控制无传感器 BLDC 电机 AN992 作者 : 概述 Stan D Souza Microchip Technology 本应用笔记介绍了如何使用 dspic30f2010 数字信号控制器控制无传感器的 BLDC 电机 应用中采用的技术是基于另一 Microchip 应用笔记 : dspic30f 在无传感器 BLDC 控制中的应用 (AN901) 本文介绍了如何将

More information

mdt1030

mdt1030 深圳市英锐恩科技有限公司 第 1 页 单片机集成方案全方位解决服务商 优质智能电子产品 芯 方案解决商 Micon MDT1030 产品用户参考手册 全球销售及服务联系信息 : 深圳市英锐恩科技有限公司 ENROO-TECH(SHENZHEN)CO.,LTD 中国 深圳市福田区福华路嘉汇新城汇商中心 27 楼 2701 室 Enroo-Tech Technologies CO., Limited Light-Tech

More information

33023A.book(31026A_cn.fm)

33023A.book(31026A_cn.fm) 26 第 26 章看门狗定时器与休眠模式 目录 看门狗定时器与休眠模式 本章包括下面一些主要内容 : 26.1 简介... 26-2 26.2 控制寄存器... 26-3 26.3 看门狗定时器 (WDT) 的操作... 26-4 26.4 休眠省电模式... 26-7 26.5 初始化... 26-9 26.6 设计技巧... 26-10 26.7 相关应用笔记... 26-11 26.8 版本历史...

More information

第5章:汇编语言程序设计

第5章:汇编语言程序设计 第 5 章 : 汇编语言程序设计 程 汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1 汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2 汇编语言指令格式 汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3 汇编语言指令格式 1 指令 用 指令

More information

N79A8211系列单片机内部NVM

N79A8211系列单片机内部NVM 南京立超电子科技有限公司 N79A8211 之 NVM FLASH E 2 PROM 应用笔记 2009 年 03 月 15 中国南京市和燕路 251 号金港大厦 A 幢 2406 室 Room 2406,Tower A,Jingang mansion,251 Heyan Road,Nanjing 210028,P.R.China Tel: 0086-25-83306839/83310926 Fax:

More information

什么是 SSC? 如何为音频应用配置 SSC TB3175 简介 同步串行控制器 (Synchronous Serial Controller,SSC) 是一种串行同步通信模块, 可用于 Microchip 32 位 ARM Cortex -M3 Cortex -M4 和 Cortex -M7 系列

什么是 SSC? 如何为音频应用配置 SSC TB3175 简介 同步串行控制器 (Synchronous Serial Controller,SSC) 是一种串行同步通信模块, 可用于 Microchip 32 位 ARM Cortex -M3 Cortex -M4 和 Cortex -M7 系列 什么是 SSC? 如何为音频应用配置 SSC 简介 同步串行控制器 (Synchronous Serial Controller,SSC) 是一种串行同步通信模块, 可用于 Microchip 32 位 ARM Cortex -M3 Cortex -M4 和 Cortex -M7 系列单片机 (MCU) SSC 支持音频和电信应用中常用的多个同步通信协议, 如 I 2 S(Inter-IC Sound,

More information

目录 简介... 1 修订历史... 2 运行微转换器加载器... 3 物理接口... 3 定义数据传输包格式... 3 命令... 4 命令示例... 5 LFSR 代码示例... 6 修订历史 2013 年 1 月 修订版 0 至修订版 A 更改 简介 部分 年 9 月 修订

目录 简介... 1 修订历史... 2 运行微转换器加载器... 3 物理接口... 3 定义数据传输包格式... 3 命令... 4 命令示例... 5 LFSR 代码示例... 6 修订历史 2013 年 1 月 修订版 0 至修订版 A 更改 简介 部分 年 9 月 修订 应用笔记 One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 Fax: 781.461.3113 www.analog.com 基于 Cortex-M3 的 ADuCxxx 串行下载协议 简介基于 Cortex-M3 的 ADuCxxx 的一个关键特性是可以在线下载代码到片内 FLASH/EE

More information

加密 校验 (Checksum) 新设备设置 络发现.....

加密 校验 (Checksum) 新设备设置 络发现..... 天猫精灵 模拟 模拟尝试 : 协议篇 天猫精灵开发 September 8, 2017 1 加密.......................................... 3 校验 (Checksum)................................. 3 新设备设置...................................... 4 络发现.......................................

More information

Converting image (bmp/jpg) file into binary format

Converting image (bmp/jpg) file into binary format RAiO Image Tool 操作说明 Version 1.0 July 26, 2016 RAiO Technology Inc. Copyright RAiO Technology Inc. 2013 RAiO TECHNOLOGY INC. www.raio.com.tw Revise History Version Date Description 0.1 September 01, 2014

More information

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

CM ZT1

CM ZT1 Spansion 模拟和微控制器产品 本文档包含有关 Spansion 模拟和微控制器产品的信息 尽管本文档内有原来开发该产品规格的公司名称 富士通 或 Fujitsu, 该产品将由 Spansion 提供给现有客户和新客户 规格的延续本文档内容并不因产品供应商的改变而有任何修改 文档内容的其他更新, 均为改善文档而进行, 并已记录在文档更改摘要 日后如有需要更改文档, 其更改内容也将记录在文档更改摘要

More information

untitled

untitled 2007 12 1 2 SIRIUS 3 4 5 6 2 2/2 3SB3 2/4 3SB3 2/5 3SB3 2/5 2/7 2/10 2/11 2/13 3SB3 2/14 3SB3 2/15 3SB3 2/17 3SB37 SIRIUS 3SB3 3SB3 (/) (/) (/) () Ø22mm (/) (/) (/) () 23 RONIS (/) (SB30) () 23 OMR (/)

More information