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

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
ADUC7060BCPZ32

ADUC7060BCPZ32

  • 厂商:

    AD(亚德诺)

  • 封装:

    VFQFN48

  • 描述:

    IC MCU 16/32B 32KB FLASH 48LFCSP

  • 数据手册
  • 价格&库存
ADUC7060BCPZ32 数据手册
低功耗、精密模拟、微控制器、 双Σ-Δ ADC、Flash/EE、ARM7TDMI ADuC7060/ADuC7061 特性 模拟输入/输出 双(24位)ADC 单端和差分输入 可编程ADC输出速率(4 Hz至8 kHz) 可编程数字滤波器 内置系统校准 低功耗工作模式 主(24位)ADC通道 两个差分对或四个单端通道 PGA(1至512)输入级 可选输入范围:±2.34 mV至±1.2 V 30 nV均方根噪声 辅助(24位)ADC:四个差分对或七个单端通道 片内精密基准电压源(±10 ppm/°C) 可编程传感器激励电流源 200 μA至2 mA电流源范围 单14位电压输出DAC 微控制器 16位/32位RISC架构ARM7TDMI内核 JTAG端口支持代码下载和调试 多个时钟选项 内存 32 kB (16 kB × 16) Flash/EE存储器,包括2 kB内核 4 kB (1 kB × 32) SRAM 工具 在线下载, 基于JTAG调试 低成本QuickStart开发系统™ 通信接口 SPI接口(5 Mbps) 4字节接收和发送FIFO UART串行I/O和I2C(主/从) 片内外设 包括4个通用(捕捉)定时器 唤醒定时器 看门狗定时器 用于FIQ和IRQ的矢量中断控制器 每类中断支持8种优先级 边沿或电平中断外部引脚输入 16位,6通道PWM 通用输入/输出 最多14个完全兼容3.3V的GPIO引脚 电源 AVDD/DVDD额定电压2.5 V (±5%) Rev. E 主动模式:2.74 mA (@ 640 kHz, ADC0主动) 10 mA(@ 10.24 MHz,两个ADC主动) 封装和温度范围 工作温度范围:−40°C至+125°C完全性能指标保证 32引脚LFCSP封装(5 mm × 5 mm) 48引脚LFCSP和LQFP 衍生产品 32引脚LFCSP(ADuC7061) 48引脚LQFP和48引脚LFCSP(ADuC7060) 应用 工业自动化和过程控制 智能、精密传感系统、4 mA至20 mA 环路智能传感器 概述 ADuC7060/ADuC7061系列是完全集成的8 kSPS、24位数据 采集系统,在单芯片内集成高性能多通道Σ-Δ型模数转换 器(ADC)、16位/32位ARM7TDMI® MCU和Flash/EE存储器。 它由内置两个差分对或四个单端通道的主ADC和内置七个 通道的辅助ADC组成,可以工作在单端模式或差分输入模式 下。片内集成一个单通道缓冲电压输出DAC。通过编程可 以将DAC输出范围设置为四种电压范围之一。 这些器件通过一个片内振荡器和锁相环(PLL)产生最多10.24 MHz的内部高频时钟信号。微控制器内核为ARM7TD-MI、 16位/32位RISC机器,峰值性能高达10 MIPS;片内集成4 kB SRAM和32 kB非易失性Flash/EE存储器。ARM7TD-MI内核 将所有存储器和寄存器视为一个线性阵列。 ADuC7060/ADuC7061包括四个定时器。定时器1为唤醒定 时器,具有使器件离开省电模式的功能。定时器2可配置 为看门狗定时器。同时提供了一个带6个输出通道的16位 PWM。ADuC7060/ADuC7061内置一个高级中断控制器。 该矢量中断控制器(VIC)可以为每个中断分配一个优先 级。它还支持嵌套中断,每个IRQ和FIQ最多允许8级嵌 套。如果将IRQ和FIQ中断源合并,则可以支持总计16级嵌 套中断。片内出厂固件支持通过UART串行接口端口进行 在线下载,同时也支持通过JTAG接口进行非介入仿真。这 些器件采用2.375 V至2.625 V电源供电,工作温度范围为−40°C 至+125°C工业温度范围。 Document Feedback Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. Speci ations subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of their respective owners. One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 ©2009–2014 Analog Devices, Inc. All rights reserved. Technical Support www.analog.com ADI中文版数据手册是英文版数据手册的译文,敬请谅解翻译中可能存在的语言组织或翻译错误,ADI不对翻译中存在的差异或由此产生的错误负责。如需确认任何词语的准确性,请参考ADI提供 的最新英文版数据手册。 ADuC7060/ADuC7061 目录 特性....................................................................................................1 寄存器接口 .............................................................................. 57 应用....................................................................................................1 使用DAC .................................................................................. 58 概述 ...................................................................................................1 非易失Flash/EE存储器 ............................................................... 59 修订历史 ...........................................................................................3 Flash/EE存储器可靠性.......................................................... 59 功能框图 ...........................................................................................5 编程 ........................................................................................... 59 技术规格 ...........................................................................................6 处理器相关外设........................................................................... 60 电气规格 .....................................................................................6 中断系统 .................................................................................. 60 时序规格 .................................................................................. 11 IRQ ............................................................................................ 60 绝对最大额定值 ......................................................................... 15 快速中断请求(FIQ) ............................................................... 61 ESD警告 ................................................................................... 15 可编程中断 .............................................................................. 62 引脚配置和功能描述 .................................................................. 16 矢量中断控制器(VIC)........................................................... 62 术语................................................................................................. 21 VIC 寄存器 .............................................................................. 62 ARM7TDMI内核概览 ................................................................ 22 定时器 ............................................................................................ 67 模式(T)......................................................................... 22 时:分:秒:1/28格式 ................................................................... 67 乘法器(M)................................................................................ 22 定时器0..................................................................................... 68 嵌入式ICE (I) .......................................................................... 22 定时器1或唤醒定时器 .......................................................... 70 ARM寄存器 ............................................................................. 22 定时器2或看门狗定时器 ..................................................... 72 中断延迟 .................................................................................. 23 定时器3..................................................................................... 74 存储器结构 .............................................................................. 23 脉宽调制器.................................................................................... 76 Flash/EE控制接口................................................................... 24 脉宽调制器概述 ..................................................................... 76 存储器映射寄存器................................................................. 28 UART串行接口 ............................................................................ 81 完整的寄存器列表................................................................. 29 波特率生成 .............................................................................. 81 复位 ........................................................................................... 34 UART寄存器定义 .................................................................. 81 振荡器、锁相环和电源控制..................................................... 35 I2C.................................................................................................... 87 时钟系统 .................................................................................. 35 I2C功能的外部引脚配置....................................................... 87 电源控制系统.......................................................................... 35 串行时钟生成.......................................................................... 88 ADC电路信息............................................................................... 39 I2C总线地址............................................................................. 88 基准电压源 .............................................................................. 40 I2C寄存器 ................................................................................. 88 诊断电流源 ............................................................................. 40 串行外设接口 ............................................................................... 97 Sinc3滤波器 ............................................................................. 41 MISO(主机输入、从机输出)引脚...................................... 97 ADC斩波 .................................................................................. 41 MOSI(主机输出、从机输入)引脚...................................... 97 可编程增益放大器................................................................. 41 SCLK(串行时钟输入/输出)引脚 ......................................... 97 激励源....................................................................................... 41 从机选择(P0.0/ )输入引脚.................................................... 97 ADC低功耗模式..................................................................... 41 SPI功能的外部引脚配置 ...................................................... 97 ADC比较器和累加器 ............................................................ 42 SPI寄存器................................................................................. 98 温度传感器 .............................................................................. 42 通用I/O......................................................................................... 102 ADC 寄存器接口.................................................................... 42 GPxCON寄存器.................................................................... 102 应用电路示例.......................................................................... 55 GPxDAT寄存器 .................................................................... 103 DAC外设........................................................................................ 57 GPxSET寄存器...................................................................... 103 DAC........................................................................................... 57 GPxCLR寄存器 ..................................................................... 103 Rev. E | Page 2 of 108 ADuC7060/ADuC7061 GPxPAR寄存器 .................................................................... 103 硬件设计考虑 ............................................................................ 105 电源 ........................................................................................ 105 更改“主通道ADC数据寄存器”部分和表49 .......................... 50 更改“IRQEN”部分和“IRQCLR”部分 ...................................... 59 外形尺寸 ..................................................................................... 106 订购指南................................................................................ 107 修订历史 2014年10月—修订版D至修订版E 更改表1 .............................................................................................6 FEESIGN更改为FEESIG(通篇) ................................................ 25 FEEHIDE更改为FEEHID(通篇) .............................................. 26 更改表36 ........................................................................................ 40 更改“Sinc3滤波器”部分.............................................................. 41 更改表43 ........................................................................................ 46 更改“ADC滤波器寄存器”部分 ................................................ 48 更改表94 ........................................................................................ 85 更改I2C部分 .................................................................................. 87 更改表97 ........................................................................................ 89 表98中寄存器I2CMSTA的位7从I2CMNA 更改为I2CMND .......................................................................... 90 更改表104 ...................................................................................... 93 更改表105 ...................................................................................... 94 更新“外形尺寸”部分的图31.................................................... 106 2012年4月—修订版C至修订版D 更改表1 .............................................................................................6 更改表7 .......................................................................................... 14 更改表16 ........................................................................................ 25 更改“批量擦除命令执行序列”部分 ........................................ 26 更改表19 ........................................................................................ 29 更改“电源和时钟控制寄存器”部分 ........................................ 35 更改图20 ........................................................................................ 55 更改表63中的位5 ........................................................................ 57 更改“定时器”部分;增加“时:分:秒:1/128格式”部分 和表79;重新排序 ...................................................................... 67 更改“定时器1或唤醒定时器”部分 ........................................ 70 更改“定时器2载入寄存器”部分和“定时器2数值寄存器” 部分 ................................................................................................ 71 增加表108 ...................................................................................... 98 更新“外形尺寸”.......................................................................... 105 2011年5月—修订版B至修订版C 更改图1 ............................................................................................ 4 更改表1 ............................................................................................ 6 增加“临时保护”部分和“加密永久性保护”部分.................... 25 增加“永久性保护”和“写入软件保护密钥和设置永久性保护 的序列”部分.................................................................................. 26 更改“电源控制系统”部分 .......................................................... 35 更改表43中的位9:6...................................................................... 45 更改“定时器1或唤醒定时器”部分........................................... 69 更改表108 .................................................................................... 101 2010年2月—修订版A至修订版B 更改特性部分 ..................................................................................1 更改表1 .............................................................................................4 更改数字I/O电压至DGND参数 ............................................... 14 更改引脚19、引脚20和引脚45的描述(表8) ......................... 16 更改引脚13、引脚14和引脚29的描述(表9) ......................... 18 更改表14的位8 ............................................................................. 23 更改表20 ........................................................................................ 28 更改电源控制系统部分.............................................................. 34 增加表32 ........................................................................................ 35 更改表34中尾注2和尾注3.......................................................... 36 更改表42 ........................................................................................ 42 更改表43中位12和位[3:0] .......................................................... 44 更改表44的位12 .......................................................................... 45 更改表45的尾注2......................................................................... 47 更改表63的位5 ............................................................................. 55 更改串行下载(在线编程)部分.................................................. 57 更改优先级寄存器部分.............................................................. 61 更改GPxPAR寄存器部分......................................................... 101 2009年6月—修订版0至修订版A 增加ADuC7061.........................................................................通用 增加新封装CP-32-4.................................................................通用 更改特性部分 ..................................................................................1 更改概述部分 ..................................................................................1 更改图1 .............................................................................................4 更改表1 .............................................................................................7 更改表2的尾注 ............................................................................. 10 更改表3和表4的尾注 .................................................................. 11 更改表5的尾注 ............................................................................. 12 更改表6的尾注 ............................................................................. 13 更改图7和表8 ............................................................................... 15 增加图8和表9,重新排序 ......................................................... 18 更改Flash/EE控制接口部分....................................................... 23 更改表15的编码0x04描述.......................................................... 24 更改表16的位31描述 .................................................................. 25 更改表17 ........................................................................................ 27 更改表19 T0CLRI和表20............................................................ 28 更改表21的尾注 ........................................................................... 29 更改表25的SPITX默认值 ........................................................... 30 Rev. E | Page 3 of ADuC7060/ADuC7061 更改外部时钟选择部分.............................................................. 33 更改ADC电路信息部分.............................................................. 36 更改表35的列标题....................................................................... 37 更改表39的位6描述 .................................................................... 40 更改表43的位12描述 .................................................................. 44 更改“主通道ADC数据寄存器”部分和“辅助通道ADC数据 寄存器”部分.................................................................................. 48 更改表59和图17 ........................................................................... 51 更改使用DAC部分 ...................................................................... 55 更改“非易失Flash/EE存储器”部分和“编程”部分 ................. 56 更改矢量中断控制器(VIC)部分............................................... 59 更改优先级寄存器部分.............................................................. 60 更改表73 ........................................................................................ 61 更改图23 ........................................................................................ 65 更改图24和表79 ........................................................................... 68 更改定时器2接口部分和图25................................................... 69 更改定时器3捕捉寄存器部分................................................... 71 更改表81的位[16:12]描述 .......................................................... 72 更改表82和图26的“脉宽调制器概述”部分............................ 73 更改表84的列标题....................................................................... 75 更改表92 ........................................................................................ 82 更改表102的位1 ........................................................................... 90 更改表105的位11描述 ................................................................ 95 更改表106的SPIMDE位描述..................................................... 97 更新外形尺寸 ............................................................................. 103 更改订购指南 ............................................................................. 104 2009年4月—版本0:初始版 更改表78 ........................................................................................ 66 Rev. E | Page 4 of 108 ADuC7060/ADuC7061 功能框图 PRECISION ANALOG PERIPHERALS ADC0 ADC1 MUX PGA POR 24-BIT Σ-∆ ADC ARM7TDMI MCU ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 ADC8 ADC9 MUX BUF 10MHz ON-CHIP OSC (3%) PLL 4× TIMERS WDT W/U TIMER PWM GPIO PORT UART PORT SPI PORT I2C PORT 24-BIT Σ-∆ ADC PRECISION REFERENCE IEXC0 IEXC1 DAC0 VREF+ BUF 14-BIT DAC MEMORY 32kB FLASH 4kB RAM TEMP SENSOR RESET XTALI XTALO VIC (VECTORED INTERRUPT CONTROLLER) ADuC7060/ ADuC7061 图1. Rev. E | Page 5 of 108 07079-001 VREF– GND_SW ADuC7060/ADuC7061 技术规格 电气规格 除非另有说明,VDD = 2.5 V ± 5%,VREF+ = 1.2 V,VREF− = GND,fCORE = 10.24 MHz,采用外部32.768 kHz时钟晶体或 片内振荡器驱动,所有规格均相对于TA = −40°C至+125°C。输出噪声规格可参考表36(主ADC)和表38(ADC辅助通道)。 表1. ADuC7060/ADuC7061规格 参数 ADC技术规格 转换速率1 主通道 无失码1 积分非线性(INL)1, 2 失调误差3, 4 失调误差1, 3, 4, 失调误差漂移与温度的关系5 满量程误差1, 6, 7, 8 满量程误差6, 8 增益漂移与温度的关系9 PGA增益不匹配误差 电源抑制1 辅助通道 无失码1 积分非线性(INL)1 失调误差4 失调误差1, 4 失调误差漂移与温度的关系5 满量程误差1, 6, 7, 8 满量程误差1, 6, 8 增益漂移与温度的关系9 电源抑制1 测试条件/注释 对于所有ADC规格,除非另有说明 否则假定处于正常工作模式 斩波关闭,ADC正常工作模式 斩波开启,ADC正常工作模式 斩波开启,ADC低功耗模式 最小值 典型值 50 4 1 斩波关闭(fADC≤ 1 kHz) 斩波开启(fADC≤ 666 kHz) 增益 = 4 斩波关闭,校准之后,失调误差 与选定的编程增益和更新速率所 对应的噪声相当. 24 24 斩波开启 斩波关闭(增益 ≤ 64) 斩波开启(增益 ≤ 64) 正常模式 低功耗模式 −2.7 −27 −1 −2 斩波开启,ADC = 1 V(增益= 1) 斩波开启,ADC = 7.8 mV(增益= 128) 84.7 斩波关闭,ADC = 1 V(增益= 1) 56 斩波关闭(fADC≤ 1 kHz) 斩波开启(fADC≤ 666 kHz) 24 24 斩波关闭 斩波开启 斩波关闭 斩波开启 正常模式 低功耗模式 −120 −1.5 斩波开启,ADC = 1 V 斩波关闭,ADC = 1 V 55 53 −1 −2 Rev. E | Page 6 of 108 ±15 ±8 ±0.5 650/PGA_GAIN 10 ±0.5 ±1.0 5 ±0.1 65 113 65 ±15 ±30 ±0.5 200 10 ±0.5 ±1.0 3 65 65 最大值 单位 8000 2600 650 Hz Hz Hz 位 位 FSR的ppm +27 +2.7 +1 +2 nV/°C nV/°C mV mV ppm/°C % dB dB dB 位 位 FSR的ppm +100 +3.2 +1 +2 nV/°C nV/°C mV mV ppm/°C dB dB ADuC7060/ADuC7061 参数 ADC技术规格:模拟输入 主通道 绝对输入电压范围 输入电压范围 (AIN+和AIN–之间的差分电压) 共模电压VCM10 输入漏电流1 共模抑制DC1 ADC输入 共模抑制50 Hz/60 Hz1 串模干扰抑制50 Hz/60 Hz1 ADC输入 辅助通道 绝对输入电压范围1 输入电压范围 共模抑制DC1 ADC输入 共模抑制50 Hz/60 Hz1 串模干扰抑制50 Hz/60 Hz1 ADC输入 基准电压源 ADC精密基准电压源 内部VREF 初始精度 基准电压源温度系数 (Tempco)1, 11 电源抑制1 外部基准电压输入范围12 VREF二分频初始误差1 测试条件/注释 内部VREF = 1.2 V 最小值 同时适用于VIN+和VIN− 增益 = 11 增益 = 21 典型值 最大值 单位 0.1 0 0 VDD − 0.7 1.2 600 V V mV 增益 = 41 增益 = 81 增益 = 161 增益 = 321 增益 = 641 增益 = 1281 VCM = (AIN(+) + AIN(−))/2, 增益 = 4至128 ADC0和ADC1 ADC2、ADC3、ADC4和ADC5 ADC6、ADC7、ADC8和ADC9、 VREF+、VREF− 在ADC不工作时测量 0 0 0 0 0 0 0.5 300 150 75 37.5 18.75 9.375 mV mV mV mV mV mV V 181 301 251 nA nA nA ADC = 7.8 mV ADC = 1 V1 50 Hz/60 Hz ± 1 Hz, 16.6 Hz和50 Hz 更新速率,斩波开启 ADC = 7.8 mV,范围± 20 mV ADC = 1 V,范围± 1.2 V 113 10 15 15 dB dB 95 95 90 dB dB 50 Hz/60 Hz ± 1 Hz,16.6 Hz fADC, 75 斩波开启 50 Hz/60 Hz ± 1 Hz,16.6 Hz fADC, 67 斩波关闭 dB dB 0.1 AGND 0 缓冲使能 缓冲禁用 范围-基准电压源 ADC = 1 V1 50 Hz/60 Hz ± 1 Hz, 16.6 Hz和50 Hz 更新速率,斩波开启 ADC = 1 V,范围± 1.2 V AVDD − 0.1 AVDD 1.2 87 V V V dB 90 dB 50 Hz/60 Hz ± 1 Hz,16.6 Hz fADC, 斩波开启 50 Hz/60 Hz ± 1 Hz,16.6 Hz fADC, 斩波关闭 75 dB 67 dB 在TA = 25°C时测定 −0.1 −20 1.2 ±10 +0.1 +20 70 0.1 AVDD 0.1 Rev. E | Page 7 of 108 V % ppm/°C dB V % ADuC7060/ADuC7061 参数 DAC通道规格 电压范围 DAC 12位模式 直流特性13 分辨率 相对精度 微分非线性(DNL) 失调误差 增益误差 测试条件/注释 RL = 5 kΩ, CL = 100 pF 最小值 典型值 0 0 ±2 ±0.2 ±2 保证单调性 1.2 V内部基准电压 VREF范围(基准电压 = 1.2 V) AVDD范围 温度传感器1, 15 精度 0°C时电压输出 电压温度系数 热阻 接地开关1 RON 输入漏电流 上电复位(POR) POR触发电平1 RESET POR复位超时 VREF AVDD − 0.2 V V ±1 ±15 ±1 ±1 0.1 位 LSB LSB mV % % DAC满量程 的百分比 仅14位单调性 14 14位分辨率 保证单调性(14位) 1.2 V内部基准电压 VREF范围(基准电压 = 1.2 V) AVDD范围 增益误差失配 DAC交流特性 输出电压建立时间 数模转换毛刺能量 单位 12 增益误差失配 DAC 16位模式1 直流特性14 分辨率 相对精度 微分非线性(DNL) 失调误差 增益误差 最大值 主进位1 LSB变化(DAC0DAT 寄存器中同时变化的最大位数) 用户校准后 MCU处于省电或待机模式 典型值 典型值 48引脚LFCSP封装 48引脚LQFP 32引脚LFCSP封装 参见DVDD引脚的电压 上电电平 关断电平 1.8V和2.25V之间的最大电源斜坡; POR触发后。DVDD必须在此时间 限制内达到2.25 V。 Rev. E | Page 8 of 108 ±3 ±0.5 ±2 ±1 ±1 0.1 ±1 ±15 位 LSB LSB mV % % DAC满量程 的百分比 10 ±20 µs nV-sec ±4 96 0.28 27 55 30 °C mV mV/°C °C/W °C/W °C/W 10 15 Ω nA 2.0 2.25 V V ms 128 ADuC7060/ADuC7061 参数 激励电流源 输出电流 初始容差(25°C) 漂移1 25°C时初始电流匹配 漂移匹配1 电压调整率(AVDD)1 输出电源电压1 看门狗定时器(WDT) 超时周期1 超时步幅 FLASH/EE存储器1 耐久性16 数据保持17 数字输入 输入漏电流 输入上拉电流 输入电容 输入漏电流 输入下拉电流 逻辑输入1 输入低电压(VINL) 输入高电压(VINH) 逻辑输出1 输出低电压(VOL) 输出高电压(VOH) 晶体振荡器1 逻辑输入,仅限XTALI 输入低电压(VINL) 输入高电压(VINH) XTALI电容 XTALO电容 片内振荡器 振荡器 精度 MCU时钟速率 使用外部时钟至P2.0/EXTCLK引脚 MCU启动时间 上电时 复位事件后 从MCU关断起 PLL开启 中断唤醒 PLL关闭 中断唤醒 内部PLL锁定时间 测试条件/注释 最小值 典型值 各电流源可用 200 1000 最大值 单位 在两个电流源之间匹配 ±5 0.06 ±0.5 % %/°C % AVDD = 2.5 V ± 5% 20 0.2 ppm/°C %/V V AGND − 30 mV 32.768 kHz时钟,256预分频 AVDD − 0.7 V 0.008 512 7.8 10,000 20 除NTRST外的所有数字输入 输入(高)= DVDD 输入(低)= 0 V 仅NTRST:输入(低)= 0 V 仅NTRST:输入(高)= DVDD 所有逻辑输入 10 30 周期 年 ±1 20 10 ±1 55 ±10 80 ±10 100 V V 0.6 V V 0.8 V V pF pF 2.0 1.7 12 12 32,768 在此范围内八个可编程内核时钟 选择:二进制除法1, 2, 4, 8 . . 64, 128 −3 0.08 1.28 0.08 包括内核上电执行时间 包括内核上电执行时间 134 5 CD = 0 4.8 CD = 0 66 1 Rev. E | Page 9 of 108 µA µA pF µA µA 0.4 2.0 除XTALO外的所有逻辑输出 ISOURCE = 1.6 mA ISOURCE = 1.6 mA sec ms +3 10.24 kHz % MHz 10.24 MHz ms ms ms ADuC7060/ADuC7061 参数 电源要求 电源电压 DVDD (±5%) AVDD (±5%) 功耗 IDD(MCU正常模式) 18 IDD(MCU关断) 1 IDD(主ADC) IDD(辅助ADC) IDD (DAC) PWM 测试条件/注释 最小值 典型值 最大值 单位 2.375 2.375 2.5 2.5 2.625 2.625 V V 6 10 mA 3.1 2.74 350 120 mA mA µA µA mA MCU时钟速率 = 10.24 MHz, ADC0开启 MCU时钟速率= 640 kHz, ADC0开启,G = 4,ADC1/DAC 关闭,SPI开启;POWCON1 = 0x4 全温度范围 缩小的温度范围−40°C至+85°C1 全温度范围 缩小的温度范围:−40°C至+85°C PGA使能、正常模式/低功耗模式、 电流取决于增益设置。 ADC0开启,G = 1,正常模式 ADC0开启,G = 4,正常模式 ADC0开启,G = >128,正常模式 正常模式/低功耗模式 DAC0CON = 0x10 1 55 55 0.6/0.3 0.03 0.44 0.63 0.35/0.1 0.33 0.34 这些参数未经过产品测试,但在产品发布时由设计和/或特性数据保证。 对于主ADC增益设置PGA = 4至64有效。 3 初始失调校准后在增益范围= 4时测试。 4 利用内部短路测定。系统零电平校准消除此误差。ADC工厂校准在斩波关闭情况下执行。 5 利用内部短路测定。 6 这些参数不包括内部基准电压温度漂移。 7 增益 = 1时工厂校准。 8 在具体增益范围内的系统校准可以消除在此范围内的误差。ADC工厂校准在斩波关闭情况下执行。 9 采用外部基准电压测量。 10 设置共模电压时,应确保VIN*增益设置,即PGA输出电压,在范围0.1 V至VDD – 0.7 V内。在所有增益中,900 mV是共模电压最优值。 11 利用盒子方法测定。 12 通过设置ADC0CON位12,可使用高达AVDD的基准电压。 13 参考DAC的线性度是使用一个递减的数据范围171到4095计算出来的。 14 参考DAC的线性度是使用一个递减的数据范围2731到65,535计算出来的。 15 芯片温度。 16 耐久性是分别在−40°C、+25°C及+125°C时依据JEDEC 22标准方法A117认定为10,000个周期。在25°C时的典型耐久性为170,000个周期。 17 根据JEDEC22标准方法A117使用寿命相当于+ 85°C结温时的寿命。保持期限会随着结温递减。 18 在Flash/EE存储器编程和擦除周期期间的典型额外电源电流消耗分别为7 mA和5 mA。 2 Rev. E | Page 10 of 108 mA mA mA mA mA mA ADuC7060/ADuC7061 时序规格 I2C时序 表2. 标准模式下I2C®时序(100 kHz) 参数 tL tH tSHD tDSU tDHD tRSU tPSU tBUF tR tF 从机 最小值 最大值 4.7 4.0 4.0 250 0 3.45 4.7 4.0 4.7 1 300 描述 SCLOCK低电平脉冲宽度 SCLOCK高电平脉冲宽度 起始条件保持时间 数据建立时间 数据保持时间 重复起始建立时间 结束条件建立时间 一个结束条件和起始条件之间的总线空闲时间 CLOCK和SDATA上升时间 CLOCK和SDATA下降时间 单位 µs ns µs ns µs µs µs µs µs ns tBUF tR MSB tDSU LSB tSHD P S tF tDHD 2–7 tR tRSU tH 1 SCLK (I) MSB tDSU tDHD tPSU ACK 8 tL STOP START CONDITION CONDITION 9 1 S(R) REPEATED START 图 2. I 2C兼容接口时序 Rev. E | Page 11 of 108 tF 07079-029 SDATA (I/O) ADuC7060/ADuC7061 SPI时序 表3. SPI主机定时(相位模式 = 1) 参数 tSL tSH tDAV tDSU tDHD tDF tDR tSR tSF 1 描述 SCLOCK低电平脉冲宽度 SCLOCK高电平脉冲宽度 SCLOCK边沿之后数据输出有效 SCLOCK边沿之前数据输入建立时间1 SCLOCK边沿之后数据输入保持时间1 数据输出下降时间 数据输出上升时间 SCLOCK上升时间 SCLOCK下降时间 最小值 典型值 (SPIDIV + 1) × tHCLK (SPIDIV + 1) × tHCLK 最大值 单位 ns ns ns ns ns ns ns ns ns 25 1 × tUCLK 2 × tUCLK 30 30 30 30 40 40 40 40 tUCLK = 97.6 ns。它对应于由PLL产生的10.24 MHz内部时钟。 SCLOCK (POLARITY = 0) tSH tSL tSR SCLOCK (POLARITY = 1) tDAV tDF MOSI tDR MSB MISO MSB IN tSF BITS 6 TO 1 L SB BITS 6 TO 1 LSB IN 07079-030 tDSU tDHD 图3. SPI主机定时(相位模式 = 1) 表4. SPI主机定时(相位模式 = 0) 参数 tSL tSH tDAV tDOSU tDSU tDHD tDF tDR tSR tSF 1 描述 SCLOCK低电平脉冲宽度 SCLOCK高电平脉冲宽度 SCLOCK边沿之后数据输出有效 SCLOCK边沿之前数据输出建立 SCLOCK边沿之前数据输入建立时间1 SCLOCK边沿之后数据输入保持时间1 数据输出下降时间 数据输出上升时间 SCLOCK上升时间 SCLOCK下降时间 最小值 典型值 (SPIDIV + 1) × tHCLK (SPIDIV + 1) × tHCLK 最大值 25 90 1 × tUCLK 2 × tUCLK 30 30 30 30 tUCLK = 97.6 ns。它对应于由PLL产生的10.24 MHz内部时钟。 Rev. E | Page 12 of 108 40 40 40 40 单位 ns ns ns ns ns ns ns ns ns ns ADuC7060/ADuC7061 SCLOCK (POLARITY = 0) tSH tSL tSR tSF SCLOCK (POLARITY = 1) tDAV tDOSU MOSI tDF tDR MSB MISO BITS 6 TO 1 MSB IN LSB BITS 6 TO 1 LSB IN 07079-031 tDSU tDHD 图4. SPI主机定时(相位模式 = 0) 表5. SPI从机定时(相位模式 = 1) 参数 tCS 描述 CS 到SCLOCK边沿1 tSL tSH tDAV tDSU tDHD tDF tDR tSR tSF tSFS SCLOCK低电平脉冲宽度 SCLOCK高电平脉冲宽度 SCLOCK边沿之后数据输出有效 SCLOCK边沿之前数据输入建立时间1 SCLOCK边沿之后数据输入保持时间1 数据输出下降时间 数据输出上升时间 SCLOCK上升时间 SCLOCK下降时间 CS 在SCLOCK边沿后变高 E 典型值 最大值 单位 ns (SPIDIV + 1) × tHCLK (SPIDIV + 1) × tHCLK 40 1 × tUCLK 2 × tUCLK 30 30 40 40 1 1 0 E tUCLK = 97.6 ns。它对应于由PLL产生的10.24 MHz内部时钟。 CS tSFS tCS SCLOCK (POLARITY = 0) tSH tSL tSR tSF SCLOCK (POLARITY = 1) tDAV MISO tDF MSB MOSI MSB IN tDR BITS 6 TO 1 BITS 6 TO 1 tDSU tDHD 图5. SPI从机定时(相位模式 = 1) Rev. E | Page 13 of 108 LSB LSB IN 07079-032 1 最小值 (2 × tHCLK) + (2 × tUCLK) E ns ns ns ns ns ns ns ns ns ns ADuC7060/ADuC7061 表6. SPI从机定时(相位模式 = 0) 参数 tCS 描述 CS到SCLOCK边沿1 tSL tSH tDAV tDSU tDHD tDF tDR tSR tSF tDOCS tSFS SCLOCK低电平脉冲宽度 SCLOCK高电平脉冲宽度 SCLOCK边沿之后数据输出有效 SCLOCK边沿之前数据输入建立时间1 SCLOCK边沿之后数据输入保持时间1 数据输出下降时间 数据输出上升时间 SCLOCK上升时间 SCLOCK下降时间 CS 边沿之后数据输出有效 CS 在SCLOCK边沿后变高 E 典型值 最大值 单位 ns (SPIDIV + 1) × tHCLK (SPIDIV + 1) × tHCLK ns ns ns ns ns ns ns ns ns ns ns 40 1 × tUCLK 2 × tUCLK 30 30 40 40 1 1 10 E 0 E tUC LK = 97.6 ns。它对应于由PLL产生的10.24 MHz内部时钟。 CS tCS tSFS SCLOCK (POLARITY = 0) tSH tSL tSF tSR SCLOCK (POLARITY = 1) tDAV tDOCS tDF MISO MOSI MSB MSB IN tDSU tDR BITS 6 TO 1 BITS 6 TO 1 LSB LSB IN 07079-033 1 最小值 (2 × tHCLK) + (2 × tUCLK) E tDHD 图6. SPI从机定时(相位模式 = 0) Rev. E | Page 14 of 108 ADuC7060/ADuC7061 绝对最大额定值 TA = −40°C至+125°C(除非另有说明)。 注意,超出上述绝对最大额定值可能会导致器件永久性损 表7. 参数 AGND至DGND至AVDD至DVDD 数字I/O电压至DGND VREF±至AGND ADC输入至AGND ESD(人体模型)额定值 所有引脚 存储温度 结温 瞬时 连续 引脚温度 回流焊(15秒) 额定值 −0.3 V至+0.3 V −0.3 V至+3.6 V −0.3 V至AVDD + 0.3 V −0.3 V至AVDD + 0.3 V 坏。这只是额定应力值,不涉及器件在这些或任何其它条 件下超出本技术规格指标的功能性操作。长期在绝对最大 额定值条件下工作会影响器件的可靠性。 ESD警告 ESD(静电放电)敏感器件。 ±2 kV 125°C 带电器件和电路板可能会在没有察觉的情况下放电。尽 管本产品具有专利或专有保护电路,但在遇到高能量 ESD时,器件可能会损坏。因此,应当采取适当的ESD 防范措施,以避免器件性能下降或功能丧失。 150°C 130°C 260°C Rev. E | Page 15 of 108 ADuC7060/ADuC7061 48 47 46 45 44 43 42 41 40 39 38 37 TCK TDI TDO NTRST/BM DVDD DGND P2.1/IRQ3/PWM5 P1.6/PWM4 P1.5/PWM3 P1.4/PWM2 P2.0/IRQ2/PWM0/EXTCLK P0.4/IRQ0/PWM1 引脚配置和功能描述 PIN 1 INDICATOR ADuC7060 TOP VIEW (Not to Scale) 36 35 34 33 32 31 30 29 28 27 26 25 XTALI XTALO P0.3/MOSI/SDA P0.2/MISO P0.1/SCLK/SCL P0.0/SS DVDD DGND ADC9 ADC8 ADC7 ADC6 NOTES 1. THE LFCSP_VQ ONLY HAS AN EXPOSED PADDLE THAT MUST BE LEFT UNCONNECTED. THIS DOES NOT APPLY TO THE LQFP. 07079-002 ADC4/EXT_REF2IN+ ADC3 ADC2 IEXC1 IEXC0 GND_SW ADC1 ADC0 VREF+ VREF− AGND AVDD 13 14 15 16 17 18 19 20 21 22 23 24 RESET 1 TMS 2 P1.0/IRQ1/SIN/T0 3 P1.1/SOUT 4 P1.2/SYNC 5 P1.3/TRIP 6 P0.5/CTS 7 P0.6/RTS 8 DVDD 9 DGND 10 DAC0 11 ADC5/EXT_REF2IN− 12 图7. 48引脚LQFP和48引脚LFCSP_VQ封装的引脚配置 表8. ADuC7060引脚功能描述 引脚 编号 0 1 2 名称 EP RESET TMS 类型1 3 P1.0/IRQ1/SIN/T0 I/O 4 5 6 7 8 9 10 11 P1.1/SOUT P1.2/SYNC P1.3/TRIP P0.5/CTS P0.6/RTS DVDD DGND DAC0 I/O I/O I/O I/O I/O S S O I I 描述 底部焊盘。可以接地或悬空。LQFP封装没有底部焊盘。 复位。输入引脚(低电平有效)。建议将该引脚与一个1 kΩ的外部上拉电阻相连。 JTAG测试模式选择。输入引脚,用于调试或者下载。应在该引脚处增加一个约100 kΩ 的外部上拉电阻。 通用输入输出P1.0/外部中断请求1/串行输入/定时器0输入。这是一个多功能输入输出 引脚,可提供四种功能。 通用输入输出P1.1/串行输出。这是一个双功能输入/输出引脚。 通用输入输出P1.2/PWM外部同步输入。这是一个双功能输入/输出引脚。 通用输入输出P1.3/PWM外部触发输入。这是一个双功能输入/输出引脚。 通用输入输出P0.5/UART模式下清除发送信号。 通用输入输出P0.6/UART模式下清除发送信号。 数字电源引脚。 数字地。 DAC输出。模拟输出引脚。 Rev. E | Page 16 of 108 ADuC7060/ADuC7061 引脚 编号 12 名称 ADC5/EXT_REF2IN− 类型1 I 13 ADC4/EXT_REF2IN+ I 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ADC3 ADC2 IEXC1 IEXC0 GND_SW ADC1 ADC0 VREF+ VREF− AGND AVDD ADC6 ADC7 ADC8 ADC9 DGND DVDD P0.0/SS P0.1/SCLK/SCL P0.2/MISO P0.3/MOSI/SDA XTALO XTALI P0.4/IRQ0/PWM1 P2.0/IRQ2/PWM0/EXTCLK P1.4/PWM2 P1.5/PWM3 P1.6/PWM4 P2.1/IRQ3/PWM5 I I O O I I I I I S S I I I I S S I/O I/O I/O I/O O I I/O I/O I/O I/O I/O I/O 描述 单端或差分模拟输入5/外部基准负输入端.这是一个双功能模拟输入引脚。ADC5为辅 助ADC提供模拟输入。EXT_REF2IN−可为辅助通道提供ADC外部基准负输入。 多功能模拟输入引脚。该引脚可作为单端或差分模拟输入4,为辅助ADC提供模拟输 入;另外,它还可以为辅助通道提供外部基准正输入电压。 单端或差分模拟输入3。为主ADC和辅助ADC提供模拟输入。 单端或差分模拟输入2。为主ADC和辅助ADC提供模拟输入。 可编程电流源模拟输出引脚。 可编程电流源模拟输出引脚。 切换至内部模拟地基准。不用时,直接接到AGND系统地。 单端或差分模拟输入1。为主ADC提供模拟输入。为主ADC提供负差分输入。 单端或差分模拟输入0。为主ADC提供模拟输入。为主ADC提供正差分输入。 为主通道提供外部基准正输入。模拟输入引脚。 为主通道提供外部基准负输入。模拟输入引脚。 模拟地。 模拟电源引脚。 模拟输入6,为辅助ADC提供模拟输入。单端或差分模拟输入6。 模拟输入7,为辅助ADC提供模拟输入。单端或差分模拟输入7。 模拟输入8,为辅助ADC提供模拟输入。单端或差分模拟输入8。 模拟输入9,为辅助ADC提供模拟输入。单端或差分模拟输入9。 数字地。 数字电源引脚。 通用输入输出P0.0/SPI从机选择引脚(低电平有效)。这是一个双功能输入/输出引脚。 通用输入输出P0.1/SPI时钟引脚/I2C时钟引脚。这是一个三功能输入/输出引脚。 通用输入输出P0.2/SPI主机输入从机输出。这是一个双功能输入/输出引脚。 通用输入输出P0.3/SPI主机输出从机输入/I2C数据引脚。这是一个三功能输入/输出引脚。 外部晶体振荡器输出引脚。 外部晶体振荡器输入引脚。 通用输入输出P0.4/外部中断请求0/PWM1输出。这是一个三功能输入/输出引脚。 通用输入输出P2.0/外部中断请求2/PWM0输出/外部时钟输入。这是一个多功能输入/输出引脚。 通用输入输出P1.4/PWM2输出。这是一个双功能输入/输出引脚。 通用输入输出P1.5/PWM3输出。这是一个双功能输入/输出引脚。 通用输入输出P1.6/PWM4输出。这是一个双功能输入/输出引脚。 通用输入输出P2.1/外部中断请求3/PWM5输出。这是一个三功能输入/输出引脚。 Rev. E | Page 17 of 108 ADuC7060/ADuC7061 引脚 编号 43 44 45 名称 DGND DVDD NTRST/BM 类型1 S S I 46 47 TDO TDI O I 48 TCK I 1 描述 数字地。 数字电源引脚。 JTAG复位/启动模式。输入引脚,用于调试、下载和启动模式(BM)。当复位时,如果BM 为低电平,ADuC7060将进入串行下载模式;在复位时,如果通过13 kΩ的电阻将BM拉高 ADuC7060将执行代码。 JTAG数据输出。输出引脚,用于调试或者下载。 JTAG数据输入。输入引脚,用于调试或者下载。应在该引脚处增加一个约100 kΩ的外部 上拉电阻。 JTAG时钟输入。输入引脚,用于调试或者下载。应在该引脚处增加一个约100 kΩ的外部 上拉电阻。 I = 输入,O = 输出,I/O = 输入/输出,S = 电源。 Rev. E | Page 18 of 108 32 31 30 29 28 27 26 25 TCK TDI TDO NTRST/BM DVDD DGND P2.0/IRQ2/PWM0 P0.4/IRQ0/PWM1 ADuC7060/ADuC7061 1 2 3 4 5 6 7 8 PIN 1 INDICATOR ADuC7061 TOP VIEW (Not to Scale) 24 23 22 21 20 19 18 17 XTALI XTALO P0.3/MOSI/SDA/ADC9 P0.2/MISO/ADC8 P0.1/SCLK/SCL/ADC7 P0.0/SS/ADC6 VREF– VREF+ NOTES 1. THE 32-LEAD LFCSP_VQ HAS AN EXPOSED PADDLE. THIS EXPOSED PADDLE MUST BE LEFT UNCONNECTED. 07079-003 ADC2 IEXC1 IEXC0 GND_SW ADC1 ADC0 AGND AVDD 9 10 11 12 13 14 15 16 RESET TMS P1.0/IRQ1/SIN/T0 P1.1/SOUT DAC0 ADC5/EXT_REF2IN− ADC4/EXT_REF2IN+ ADC3 图8. 32引脚LFCSP的引脚配置 表9. ADuC7061引脚功能描述 引脚编号 0 1 2 类型1 名称 EP RESET TMS I I 3 P1.0/IRQ1/SIN/T0 I/O 4 5 6 P1.1/SOUT DAC0 ADC5/EXT_REF2IN− I/O O I 7 ADC4/EXT_REF2IN+ I 8 9 10 11 12 13 14 15 16 17 18 19 ADC3 ADC2 IEXC1 IEXC0 GND_SW ADC1 ADC0 AGND AVDD VREF+ VREF− P0.0/SS/ADC6 I I O O I I I S S I I I/O 20 P0.1/SCLK/SCL/ADC7 I/O 描述 底部焊盘。可以接地或悬空。 复位引脚。输入引脚(低电平有效)。建议将该引脚与一个1 kΩ的外部上拉电阻相连。 JTAG测试模式选择。输入引脚,用于调试或者下载。应在该引脚处增加一个约100 kΩ的 外部上拉电阻。 通用输入输出P1.0/外部中断请求1/串行输入/定时器0输入。这是一个多功能输入输出引脚, 可提供四种功能。 通用输入输出P1.1/串行输出。这是一个双功能输入/输出引脚。 DAC输出。模拟输出引脚。 单端或差分模拟输入5/外部基准负输入端.这是一个双功能模拟输入引脚。ADC5为辅助ADC 提供模拟输入。EXT_REF2IN−可为辅助通道提供ADC外部基准负输入。 多功能模拟输入引脚。该引脚可作为单端或差分模拟输入端,为辅助ADC提供模拟输入4; 另外,它还可以为辅助通道提供外部基准正输入电压。 单端或差分模拟输入3。为主ADC和辅助ADC提供模拟输入。 单端或差分模拟输入2。为主ADC和辅助ADC提供模拟输入。 可编程电流源模拟输出引脚。 可编程电流源模拟输出引脚。 切换至内部模拟地基准。不用时,直接接到AGND系统地。 单端或差分模拟输入1。为主ADC提供模拟输入。为主ADC提供负差分输入。 单端或差分模拟输入0。为主ADC提供模拟输入。为主ADC提供正差分输入。 模拟地。 模拟电源引脚。 为主通道提供外部基准正输入。模拟输入引脚。 为主通道提供外部基准负输入。模拟输入引脚。 通用输入输出P0.0/SPI从机选择(低电平有效)/辅助ADC6输入引脚。这是一个多功能输入/ 输出引脚。单端或差分模拟输入6。为辅助ADC提供模拟输入。 通用输入输出P0.1/SPI时钟/I2C时钟/辅助ADC7输入引脚。这是一个多功能输入/输出引脚。 单端或差分模拟输入7。为辅助ADC提供模拟输入。 Rev. E | Page 19 of 108 ADuC7060/ADuC7061 引脚编号 名称 21 P0.2/MISO/ADC8 类型1 I/O 22 P0.3/MOSI/SDA/ADC9 I/O 23 24 25 26 27 28 29 XTALO XTALI P0.4/IRQ0/PWM1 P2.0/IRQ2/PWM0 DGND DVDD NTRST/BM O I I/O I/O S S I 30 31 TDO TDI O I 32 TCK I 1 描述 通用输入输出P0.2/SPI主机输入从机输出/辅助ADC8输入。这是一个三功能输入/输出引脚。 单端或差分模拟输入8。为辅助ADC提供模拟输入。 通用输入输出P0.3/SPI主机输出从机输入/I2C数据引脚/辅助ADC9输入。这是一个多功能 输入/输出引脚。单端或差分模拟输入9。为辅助ADC提供模拟输入。 外部晶体振荡器输出引脚。 外部晶体振荡器输入引脚。 通用输入输出P0.4/外部中断请求0/PWM1输出。这是一个三功能输入/输出引脚。 通用输入输出P2.0/外部中断请求2/PWM0输出。这是一个三功能输入/输出引脚。 数字地。 数字电源引脚。 JTAG复位/启动模式。输入引脚,用于调试、下载和启动模式(BM)。当复位时,如果BM 为低电平,ADuC7061将进入串行下载模式;在复位时,如果通过13 kΩ的电阻将BM拉高, ADuC7061将执行代码。 JTAG数据输出。输出引脚,用于调试或者下载。 JTAG数据输入。输入引脚,用于调试或者下载。应在该引脚处增加一个约100 kΩ的外部 上拉电阻。 JTAG时钟。输入引脚,用于调试或者下载。应在该引脚处增加一个约100 kΩ的外部上拉 电阻。 I = 输入,O = 输出,I/O = 输入/输出,S = 电源。 Rev. E | Page 20 of 108 ADuC7060/ADuC7061 术语 转换速率 输出噪声 转换速率指在ADC稳定后,从ADC获得输出结果的速度。 输出噪声指在ADC直流信号输入后,所产生的输出代码 此器件采用了Σ-Δ转换技术,这意味着当以相对较高的采 分布的标准差(或1 Σ)。它用微均方根来表示。输出噪声, 样率对ADC前端信号进行过采样时,后接数字滤波器将抽 取输出数据,以1 Hz至8 kHz的输出速率输出一个24位有效 数据转换结果。 即均方根噪声,可用来计算ADC的有效分辨率;计算公 式为: 有效分辨率 = log2( 满量程/均方根噪声 )位 峰峰值噪声指ADC直流信号输入时在输出代码分布6.6 × Σ 注意,当软件在同一ADC上切换不同输入时,必须先清空 数字滤波器,然后对新结果求平均值。这个操作可能需要 花费多个转换周期,具体的周期数取决于ADC的配置和滤 范围内的代码偏差。因此,峰峰值噪声计算公式如下: 6.6 × 均方根噪声 峰峰值噪声可用来计算在6.6 × Σ限值内无码闪烁的ADC(无 波器的类型。 噪声代码)分辨率;计算公式如下: 积分非线性(INL) 转换结果编码偏离通过其传递函数端点的直线的最大偏 无噪声代码分辨率 = log2 位 差。传递函数端点是指,在零点位置比第一个编码的跃变 数据手册中用到的首字母缩写词 点低½LSB的点,以及在满刻度位置比最后一个编码的跃变 ADC 模数转换器 ARM 高级精简指令集机器 JTAG 联合测试行动小组 LSB 最低有效字节/位 LVF 低电压标志 (2N位,其中N为无失码),指在整个ADC输入范围内保证 MCU 微控制器 发生的代码数目(ADC输出结果)。 寄存器 存储器映射寄存器 MSB 最高有效字节/位 PID 保护标识符 点高½ LSB的点。(111 ... 110至111... 111)该误差表示为满量 程的百分比。 无失码 无失码是衡量ADC微分非线性的指标。误差用位来表示 失调误差 ADC第一个码转换输入电压和理想码跃迁的偏差即是失调 POR 上电复位 误差。 PSM 电源监控器 失调误差漂移 rms 均方根 失调误差漂移是指绝对失调误差的温度变化值。该误差表 示为最低有效位/摄氏度,即LSB/˚C。 增益误差 增益误差是衡量ADC量程误差的指标。它考察的是传递函 Rev. E | Page 21 of 108 ADuC7060/ADuC7061 ARM7DMI内核概览 ARM7®内核是一款由ARM®公司开发的32位精简指令集计 ARM7异常 算机(RISC)。ARM7TDMI采用冯诺依曼架构,指令和数据 ARM7支持5种类型的异常,每种类型分别对应一种优先处 使用单32位总线。它支持8位、16位和32位数据长度,指 理模式。这5种异常类型为: 令字长度可为16位或32位,具体的位数取决于内核的工作 第一种类型:正常中断或IRQ。这种异常用于内、外部事 模式。 件的通用中断处理。注意,ADuC7060/ADuC7061为所有 ARM7TDMI采用ARM7内核,具有四种附加特性,如表10 IRQ源提供8个可配置的优先级。 所列。 第二种类型:快速中断或FIQ。这种异常用于数据传输或 表10. ARM7TDMI特性 低延迟通信通道处理。FIQ的优先级高于IRQ。注意, 特性 T D M I 描述 支持Thumb®指令集(16位) 支持调试 增强乘法器 包含EmbeddedICE™模块,以支持嵌入式系统调试 ADuC7060/ADuC7061为所有FIQ源提供8个可配置的优 先级。 第三种类型:存储器中止(预取和数据)。 第四种类型:企图执行未定义指令。 THUMB模式(T) 第五种类型:软件中断(SWI)指令,用于调用操作系统。 一条ARM指令的长度为32位。ARM7TDMII处理器支持第 一般情况下,程序员将中断定义为IRQ,但要获得优先级 二个指令集,该指令集被压缩成16位,称为thumb指令 更高的中断,可将中断定义为FIQ类型。 集。采用Thumb指令集,可以拥有更快的代码执行速度(16 位存储器)和更高的代码密度,因此,ARM7TDMI内核特 别适用于嵌入式应用。 然而,Thumb模式有三个缺点: • 与ARM相比,在执行同一个任务时,Thumb代码通常需 要更多的指令。因此,ARM代码特别适合于在大多数 应用中最大程度提升时间关键代码的性能。 • Thumb指令集不含一些异常处理指令,所以可能需要 ARM代码来进行异常处理。 异常优先级及其矢量地址见表11。 表11.异常优先级和矢量地址 优先级 1 2 3 4 5 6 6 1 • 发生中断时,内核矢量指向存储器内的中断地址并执 行该地址单元内的代码。第一条命令须包含在ARM代 异常 硬件复位 存储器中止(数据) FIQ IRQ 存储器中止(预取) 软件中断1 未定义指令1 异常 0x00 0x10 0x1C 0x18 0x0C 0x08 0x04 软件中断和未定义指令异常的优先级相同且互斥。 在表11中所列异常的地址范围为0x00 to 0x1C,其中,0x14 为保留地址。 码内。 ARM寄存器 乘法器(M) ARM7TDMI指令集包括一个增强乘法器,具有四条额外指 令用来进行32位与32位相乘或32位与32位乘加(MAC),得 到64位结果。 ARM7TDMI共有16个标准寄存器。R0至R12用于数据操 作;R13是堆栈指针;R14是链接寄存器;而R15是程序计 数器,用来指示当前正在执行的指令。链接寄存器用来保 存用户转移地址(在使用转移和链接命令的情况下)或发生 EmbeddedICE (I) 异常时的命令。 EmbeddedICE模块为ARM7TDMI提供集成片内调试功能。 堆栈指针用于保存堆栈的当前位置。通常,在ARM7TDMI 它包括断点和观察点寄存器,可用来实现非介入用户代码 内,堆栈的起始地址为可用RAM空间顶部,并根据需要递 调试。这些寄存器可以通过JTAG测试端口来控制。当遇到 减。每个异常分别对应一个堆栈。用户可根据目标应用的 一个断点或观察点时,处理器会暂停运行,进入调试状 需要来配置每个堆栈的大小。利用C语言等高级语言进行 态。当处理器处于调试状态,就可以查询处理器寄存器, 编程时,必须确保不产生堆栈溢出。这取决于所用编译器 也可以查询Flash/EE、SRAM和存储器映射寄存器。 的性能。 Rev. E | Page 22 of 108 ADuC7060/ADuC7061 当异常发生后,异常模式专用的寄存器将取代某些标准寄 注意,发生异常时,ARM7TDMI最初(第一个指令)在ARM 存器。所有的异常模式均有各自的替换寄存器组,用于堆 (32位)模式下运行。如有必要,在执行中断服务例行程序 栈指针(R13)和链接寄存器(R14),如图9所示。快速中断模 时,用户可立即从ARM模式切换到Thumb模式。 式(FIQ)有更多寄存器(R8到R12),用于快速中断处理。由 于非关键寄存器的数目不断增加,在进行中断处理时,无 需保存或恢复这些寄存器,从而缩短了中断处理过程的响 应时间。 存储器结构 ARM7是一个采用了冯•诺依曼架构的MCU内核,它将存 储器看作一个232个字节的线性阵列。如图10中所示, ADuC7060/ADuC7061将此线性阵列映射成四个不同用户 有关程序员模型和ARM7TDMI内核架构的详情,请参见 区域:可重映射的存储区域、SRAM区域、Flash/EE区域及 直接由ARM公司提供的ARM7DMI技术手册和ARM架构 存储器映射寄存器(寄存器)区域。 手册。 该存储空间的前30 kB用作可重新映射片内Flash/EE或SRAM R0 R1 R2 USABLE IN USER MODE 的区域。访问(读写)存储器映射中未定义区域,将导致数 SYSTEM MODES ONLY 据中止异常。 R3 R4 存储格式 R5 ADuC7060/ADuC7061存储配置为从小到大顺序格式:最 R6 R9 R10 R11 R12 R13 R14 低有效字节位于最低字节地址,最高有效字节位于最高字 R8_FIQ R9_FIQ 节地址(见图11)。 R10_FIQ R11_FIQ R12_FIQ R13_SVC R13_FIQ R14_SVC R14_FIQ R13_ABT R14_ABT R13_IRQ R14_IRQ R13_UND 0xFFFFFFFF R14_UND RESERVED R15 (PC) USER MODE 0x00087FFF SPSR_FIQ FIQ MODE SPSR_SVC SVC MODE SPSR_ABT ABORT MODE SPSR_IRQ IRQ MODE SPSR_UND UNDEFINED MODE FLASH/EE 0x00080000 RESERVED 07079-004 CPSR MMRs 0xFFFF0000 0x00040FFF 图 9.寄存器结构图 SRAM 0x00040000 RESERVED 中断延迟 0x00007FFF 快速中断请求(FIQ)的最大延迟时间包括请求通过同步器、 0x00000000 最长指令(LDM)完成载入所有寄存器(包括PC)以及完成数 REMAPPABLE MEMORY SPACE (FLASH/EE OR SRAM) 07079-005 R8 图10. 存储器映射图 据中止和FIQ跳转的最长可能时间总和。延迟结束时, BIT 31 ARM7TDMI执行在0X1C(FIQ中断矢量地址)内的指令。如 BIT 0 BYTE 3 . . . BYTE 2 . . . BYTE 1 . . . BYTE 0 . . . 时间为50个处理器周期,即略长于4.88 μs。IRQ最大延迟 B A 9 8 时间的计算方法也类似,但前提是FIQ拥有更高的优先 7 6 5 4 0x00000004 3 2 1 0 0x00000000 果系统采用一个连续的10.24 MHz处理器时钟,则合计总 0xFFFFFFFF 32 BITS 级,这可任意延长进入IRQ处理例行程序的时间。如果不 07079-006 R7 图 11. 从小到大顺序格式 使用LDM命令,这个时间可以缩短到42个周期;一些编译 器可以选择不使用此命令进行编译。另一个选择是在 SRAM thumb模式下执行程序,在这个模式下时间可以减至22个 ADuC7060/ADuC7061的SRAM容量为4 kB(1024 × 32位,即 1024个字),存储起始地址为0x40000。RAM空间既可用作 周期。 FIQ或IRQ中断的最短延迟时间为5个周期,包括请求通过 同步器的最短时间加上进入异常模式的时间。 数据存储空间,也可用作易失性程序空间。 由于SRAM阵列被配置成32位宽的存储器阵列,ARM代码 可以直接从SRAM以完全时钟速度执行。SRAM支持8、16 及32位段读写。 Rev. E | Page 23 of 108 ADuC7060/ADuC7061 重映射 Flash/EE控制接口 ARM异常矢量位于存储器阵列底部,其存储地址范围为 Flash/EE控制接口用于串行下载和JTAG编程,包括本节所 0x00000000至0x00000020。 列的8个寄存器。注意,每个Flash页的容量为512个字节。 在默认情况下,在复位后,Flash/EE存储器会被逻辑映射 FEESTA寄存器 到地址0x00000000。通过将位于0xFFFF0220地址的重映射 FEESTA是一个只读寄存器,它反映Flash/EE控制接口的状 寄 存 器 的 第 0位 置 位 , 可 以 将 SRAM逻 辑 重 映 射 到 地 址 0x00000000。将重映射寄存器的第0位清零,可让Flash/EE 返回到0x00000000。 态。如表13所示。 名称: FEESTA 地址: 将 RAM重 映 射 到 0x00000000, 有 利 于 优 化 ADuC7060/ 0xFFFF0E00 默认值: ADuC7061的中断延迟时间;因为在这种情况下,代码可 0x0020 访问类型: 读 以在完全32位ARM模式下以最高内核速度执行。注意,发 生异常时,内核默认为ARM模式。 重映射操作 ADuC7060/ADuC7061发生复位时,会自动执行工厂内置 的程序代码。这就是所谓的隐藏内核,用户代码不能访 表13.FEESTA 寄存器位功能描述 位 15:6 5 4 3 问。如果ADuC7060/ADuC7061处于正常模式,它首先执 行内核的上电配置例行程序,然后跳转到复位矢量地址 0x00000000,执行用户的复位异常例行程序。由于复位时 Flash/EE镜像到存储器阵列底部,复位例行程序必须始终 写入Flash/EE内。 重映射命令必须从绝对Flash/EE地址处开始执行,而不能 被镜像、存储器重映射段处开始执行,因为该段可能被 SRAM所取代。如果在从镜像位置开始执行代码时执行重 2 1 0 描述 保留。 保留。 保留。 Flash中断状态位。当中断发生后,即当一条命令 执行完毕且FEEMOD寄存器中的Flash/EE中断使能 位被置1,Flash中断状态位自动置1。读FEESTA寄 存器后,该位清0。 Flash/EE控制器忙。当控制器忙时,该位自动置 1;当控制器空闲时,该位自动清0。 命令失败。当命令的执行失败时,该位自动置 1;读FEESTA寄存器后,该位清0。 指令通过。当命令成功执行时,MicroConverter® 将该位由置1;读FEESTA寄存器后,该位清0。 FEEMOD寄存器 映射操作,可能会发生预取/数据中止或用户可能观察到异 FEEMOD用来设置Flash/EE控制接口的工作模式。表14 显 常程序操作。任何一种复位都会将Flash/EE存储器逻辑重 示FEEMOD 寄存器的位分配。 映射到存储器阵列底部。 名称: FEEMOD 地址: 0xFFFF0E00 默认值: 0x0020 访问类型: 读 REMAP寄存器 名称: 重映射 地址: 0xFFFF0220 默认值: 0x0000 访问类型: 读、写 功能: 该 8位 寄 存 器 允 许 用 户 代 码 将 RAM或 Flash/EE存储空间重映射到ARM存储器空 间底部(起始地址为0x00000000)。 表12.REMAP 寄存器位功能描述 位 7:1 描述 保留。这些位保留,应由用户代码写入0。 0 重映射位。 用户置1,可将SRAM映射到0x00000000地址处。 重映射Flash/EE到地址0x00000000后,该位自动清0。 Rev. E | Page 24 of 108 ADuC7060/ADuC7061 表14.FEEMOD 寄存器位功能描述 FEECON寄存器 位 15:9 8 7:5 4 FEECON是一个8位命令寄存器。各命令如表15所示。 3 2:0 描述 保留。 保留。始终将该位置为1。 保留。这些位的值应为0(写密钥的情况除外)。 Flash/EE中断使能位。 用户置1,使能Flash/EE中断。当处理器执行完一条 命令后,将产生中断。 用户清0,禁用Flash/EE中断。 擦/写命令保护。 用户置1,使能擦/写命令; 该位清0,防止对Flash/EE执行擦/写命令。 保留。始终将这些位置为0。 名称: FEECON 地址: 0xFFFF0E08 默认值: 0x07 访问类型: 读 表15.FEECON内的命令代码 代码 0x001 0x011 0x021 0x031 0x041 0x051 0x061 命令 空 单次读取 单次写入 擦/写 单次验证 单次擦除 批量擦除 0x07 0x08 0x09 0x0A 0x0B 保留 保留 保留 保留 签名 0x0C 0x0D 0x0E 0x0F 保护 保留 保留 Ping 1 描述 空闲状态。 向FEEDAT内载入16位数据。由FEEADR索引。 在FEEADR指向的地址内写入FEEDAT。操作耗时50 μs。 擦除由FEEADR索引的存储页,并且向由FEEADR所指向的地址内写入FEEDAT。此项操作大约需要24 ms。 将FEEADR所指地址中的数据与FEEDAT中的数据进行比较。比较的结果存入FEESTA的位0、位1。 擦除由FEEADR索引的页面。 擦除30 KB用户空间。而2 KB的内核空间是被保护的。为防止意外操作,执行该指令需要一个命令序列。 请参阅关于“用于执行批量擦除操作的命令序列”部分。 保留。 保留。 保留。 保留。 处理器运行该命令后,会产生一个基于LFSR(线性反馈移位寄存器)的24位签名,该签名将被写入FEESIGN 寄存器。此项操作需要16,389个时钟周期。 该命令只能执行一次。FEEPRO的值会被保留;只有通过执行批量擦除命令(0x06)或者密钥才能清除该值。 保留。 保留。 无操作;中断产生。 当任一上述命令执行完毕,FEECON寄存器立即读取0x07。 Rev. E | Page 25 of 108 ADuC7060/ADuC7061 FEEDAT寄存器 FEEHID寄存器 FEEDAT是一个16位数据寄存器。该寄存器用来保存Flash FEEHID寄存器提供即时保护。它不需要任何软件密钥。 读写命令执行的结果(数据值)。 注意,复位后,FEEHIDE中的保护设置将清0(见表16)。 名称: FEEDAT 名称: FEEHID 地址: 0xFFFF0E0C 地址: 0xFFFF0E20 默认值: 0xXXXX 默认值: 0xFFFFFFFF 访问类型: 读、写 访问类型: 读、写 表16. FEEPRO和FEEHID 寄存器位功能描述 FEEADR寄存器 FEEADR是一个16位地址寄存器,可用来存取32 kB Flash模 位 31 块 的 各 个 页 。 用 户 可 以 操 作 的 有 效 范 围 为 : 0x0000至 0x77FF。这表示一个30 kB Flash用户存储器空间。对上述 描述 读保护位。 用户清零,以保护所有代码。如将该位清零,可防止 代码从JTAG接口被读出。用户置1,可以通过JTAG接 口读取所有代码。 保护第59页(0x00087600至0x000877FF)。用户置1, 将允许对第59页进行写操作。清0,将保护第59页。 保护第58页(0x00087400至0x000875FF)。用户置1, 将允许对第58页进行写操作。清0,将保护第58页。 提供对第0~57页的写保护。每一位对应两个存储页。每 地址范围外的地址单元进行读/写操作,将会导致数据中止 30 异常。 名称: FEEADR 29 地址: 0xFFFF0E10 默认值: 0x0000 个存储页的容量为512个字节。位0用于保护第0页和1页 访问类型: 读、写 (0x00080000至0x000803FF)。用户置1,将允许对第0页和 28:0 1页进行写操作。清0,将保护第0页和第1页。 FEESIG寄存器 位1用于保护第2、3页(0x00080400至0x000807FF)。用户 FEESIG寄存器是一个24位的寄存器。当处理器执行完一条 置1,将允许对第2、3页进行写操作。清0,将保护第2、3 签名命令后,该寄存器的值将被更新为一个24位签名。这 页。 … … 个值是由签名命令控制的线性反馈移位寄存器操作的结 果。 名称: FEESIG 位27用于保护第54、55页(0x86C00至0x86FFF)。用户置 地址: 0xFFFF0E18 1,将允许对第54、55页进行写操作。清0,将保护第 默认值: 0xFFFFFF 54、55页。 访问类型: 读 位28用于保护第56、57页(0x87000至0x873FF)。用户置1, 将允许对第56、57页进行写操作。清0,将保护第56、57 页。 FEEPRO寄存器 FEEPRO 寄存器在寄存器复位后提供保护。它需要一个软 件密钥(见表16)。 名称: FEEPRO 地址: 0xFFFF0E1C 默认值: 0x00000000 访问类型: 读、写 临时保护 临时保护可通过直接写入FEEHID MMR来设置和取消。此 寄存器为易失性,因此保护只在器件上电时才能维持。此 保护设置在周期供电后便不再重新载入。 加密永久性保护 加密永久性保护可通过FEEPRO设置以锁定保护配置。所 需FEEPRO写入序列开头使用的软件密钥仅保存一次,必 须在以后的任何FEEHID或FEEPRO MMR访问中使用。批 量擦除可将软件保护密钥设回到0xFFFF,但同时也擦除了 整个用户代码空间。 Rev. E | Page 26 of 108 ADuC7060/ADuC7061 永久性保护 批量擦除命令执行序列 永久性保护可通过FEEPRO设置,设置方式类似于加密永 FEEDAT FEEADR FEEMOD FEECON 久性保护,唯一不同在于所用软件密钥为0xDEADDEAD。 FEEPRO写入序列保存后,只有批量擦除可将软件保护密 钥设回到0xFFFFFFFF。这也会擦除整个用户代码空间。 写入软件保护密钥和设置永久性保护的序列 1. 写入和欲保护页相对应的FEEPRO。 2. 将 新 的 (用 户 定 义 )32位 软 件 保 护 密 钥 写 入 FEEADR [31:16]和FEEDAT的位[15:0]。 3. 将10写入FEEMOD的位[6:5],并将FEEMOD的位3置1。 4. 执行FEECON内的保护命令(代码0x0C)。 要取消或修改保护,可使用相同的序列,同时修改 FEEPRO值。 上述写入密钥并设置永久性保护的序列示例如下,此示例 为Flash/EE的页4和页5提供写保护。 Int a = FEESTA; is cleared FEEPRO = 0xFFFFFFFB; and Page 5 FEEADR = 0x66BB; value (Bits[31:16]) FEEDAT = 0xAA55; value (Bits[15:0]) FEEMOD = 0x0048 sequence FEECON = 0x0C; command while (FEESTA & 0x04){} command to finish // Ensure FEESTA // Protect Page 4 // 32-bit key // 32-bit key // Lock security // Write key // Wait for Rev. E | Page 27 of 108 = = = = 0x3CFF; 0xFFC3; FEEMOD|0x8; 0x06; //Erase key enable //Mass erase command ADuC7060/ADuC7061 0xFFFFFFFF 存储器映射寄存器(寄存器)空间被映射到存储器阵列的最 0xFFFF0FC0 上方两页。我们可以通过对ARM7寄存器组的间接寻址来 0xFFFF0F80 存取存储器映射寄存器内的信息。 0xFFFF0E24 0xFFFF0E00 寄存器空间为CPU和所有片内外设提供接口。除了内核寄 0xFFFF0D50 存器,所有的寄存器都位于寄存器区域内。图12内的阴影 0xFFFF0D00 区域为未占用区域或保留区域,不允许用户程序访问该区 域。表12为所有寄存器存储器映射。 0xFFFF0A14 0xFFFF0A00 0xFFFF0948 读取或写入一个寄存器所需的存取时间取决于高级微控制 器总线结构(AMBA)总线,该总线可用来访问外围设备。 0xFFFF0900 0xFFFF0730 0xFFFF0700 处理器有两个AMBA总线:高性能总线(AHB)用于系统模 0xFFFF0620 块,高级外围总线(APB)用于低性能外围设备。访问AHB 0xFFFF0600 需要一个周期,访问APB则需要两个周期。除了Flash/EE 存储器、通用输入输出端口和PWM以外,ADuC7060/ ADuC7061中的所有外围设备均位于APB上。 0xFFFF0570 0xFFFF0500 0xFFFF0490 0xFFFF048C 0xFFFF0470 0xFFFF0450 0xFFFF0420 0xFFFF0404 0xFFFF0394 0xFFFF0380 0xFFFF0370 0xFFFF0360 0xFFFF0350 0xFFFF0340 0xFFFF0334 0xFFFF0320 0xFFFF0238 0xFFFF0220 0xFFFF0140 0xFFFF0000 PWM FLASH CONTROL INTERFACE GPIO SPI I2C UART DAC ADC BAND GAP REFERENCE SPI/I2C SELECTION PLL AND OSCILLATOR CONTROL GENERAL-PURPOSE TIMER WATCHDOG TIMER WAKE-UP TIMER GENERAL-PURPOSE TIMER REMAP AND SYSTEM CONTROL INTERRUPT CONTROLLER 图12存储器映射寄存器 Rev. E | Page 28 of 108 07079-007 存储器映射寄存器 ADuC7060/ADuC7061 完整的寄存器列表 在下列寄存器列表中,采用16进制码来表示地址。访问类型:R表示读,W表示写,R/W表示读写。 表17. IRQ基地址 = 0xFFFF0000 地址 0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 名称 IRQSTA IRQSIG IRQEN IRQCLR SWICFG IRQBASE 0x001C 0x0020 0x0024 0x0028 0x0030 0x0034 0x0038 0x003C 0x0100 0x0104 0x0108 0x010C 0x011C 0x013C IRQVEC IRQP0 IRQP1 IRQP2 IRQCONN IRQCONE IRQCLRE IRQSTAN FIQSTA FIQSIG FIQEN FIQCLR FIQVEC FIQSTAN 字节数 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 访问类型 R R R/W W W R/W R R/W R/W R/W R/W R/W R/W R/W R R R/W W R R/W 默认值 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 描述 活动IRQ源状态。 所有IRQ源的当前状态(使能和禁用)。 使能的IRQ源。 寄存器禁用IRQ源。 软件中断配置寄存器。 所有矢量的基地址。指向64字节存储块的起始地址的指针;最多可以 包含32个指向不同例行处理子程序的指针。 该寄存器内包含与当前活动IRQ源对应的例行处理子程序的地址。 用于设置中断源1至中断源7的中断优先级。中断优先级可被设置为0至7。 设置中断源8至中断源15的中断优先级。 设置中断源16至中断源19的中断优先级。 使能IRQ和FIQ中断嵌套。 将外部中断源设置为上升沿/下降沿/电平触发。 清除边沿/电平触发中断源。 最新导致中断异常的中断的优先级。 活动FIQ源状态。 所有FIQ源的当前状态(使能和禁用)。 使能的FIQ源。 寄存器禁用FIQ源。 该寄存器内包含与当前活动FIQ源对应的例行处理子程序的地址。 最新导致FIQ异常的FIQ的优先级。 表18. 系统控制基地址 = 0xFFFF0200 地址 0x0220 0x0230 0x0234 1 名称 REMAP1 RSTSTA RSTCLR 字节数 访问类型 默认值 1 R/W 0x00 1 R/W 0x01 1 W 0x00 描述 重映射控制寄存器。参见“重映射操作”部分。 RSTSTA状态寄存器。参见“复位”部分。 该寄存器用于清除RSTSTA寄存器。 由内核更新。 Rev. E | Page 29 of 108 ADuC7060/ADuC7061 表19. 定时器基地址 = 0xFFFF0300 地址 0x0320 0x0324 0x0328 0x032C 0x0330 0x0340 0x0344 0x0348 0x034C 0x0360 0x0364 0x0368 0x036C 0x0380 0x0384 0x0388 0x038C 0x0390 名称 T0LD T0VAL T0CON T0CLRI T0CAP T1LD T1VAL T1CON T1CLRI T2LD T2VAL T2CON T2CLRI T3LD T3VAL T3CON T3CLRI T3CAP 字节数 4 4 4 1 4 4 4 2 1 2 2 2 1 2 2 4 1 2 访问类型 R/W R R/W W R R/W R R/W W R/W R R/W W R/W R R/W W R 默认值 0x00000000 0xFFFFFFFF 0x01000000 N/A 0x00000000 0x00000000 0xFFFFFFFF 0x0000 N/A 0x3BF8 0x3BF8 0x0000 N/A 0x0000 0xFFFF 0x00000000 N/A 0x0000 描述 定时器0载入寄存器。 定时器0值寄存器。 定时器0控制寄存器。 定时器0中断清除寄存器。 定时器0捕捉寄存器。 定时器1载入寄存器。 定时器1值寄存器。 定时器1控制寄存器。 定时器1中断清除寄存器。 定时器2载入寄存器。 定时器2值寄存器。 定时器2控制寄存器。 定时器2中断清除寄存器。 定时器3载入寄存器。 定时器3值寄存器。 定时器3控制寄存器。 定时器3中断清除寄存器。 定时器3捕捉寄存器。 描述 POWCON0预写密钥。 电源控制和内核速度控制寄存器。 POWCON0写后密钥。 PLLCON预写密钥。 PLL时钟源选择寄存器。 PLLCON写后密钥。 POWCON1预写密钥。 电源控制寄存器。 POWCON1写后密钥。 GP0CON1预写密钥。 将P0.0、P0.1、P0.2和P0.3设置为模拟输入端或数字输入/输出端。 此外,可使能SPI或I2C模式。 GP0CON1写后密钥。 表20.PLL基地址 = 0xFFFF0400 地址 0x0404 0x0408 0x040C 0x0410 0x0414 0x0418 0x0434 0x0438 0x043C 0x0464 0x0468 名称 字节数 访问类型 POWKEY1 2 W POWCON0 1 R/W POWKEY2 2 W PLLKEY1 2 W PLLCON 1 R/W PLLKEY2 2 W POWKEY3 2 W POWCON1 2 R/W POWKEY4 2 W GP0KEY1 2 W GP0CON1 1 R/W 默认值 0xXXXX 0x7B 0xXXXX 0xXXXX 0x00 0xXXXX 0xXXXX 0x124 0xXXXX 0xXXXX 0x00 0x046C GP0KEY2 0xXXXX 2 W Rev. E | Page 30 of 108 ADuC7060/ADuC7061 表21. ADC基地址 = 0xFFFF0500 地址 0x0500 0x0504 0x0508 0x050C 0x0510 0x0514 0x0518 0x051C 0x0520 0x0524 名称 ADCSTA ADCMSKI ADCMDE ADC0CON ADC1CON ADCFLT ADCCFG ADC0DAT ADC1DAT ADC0OF1 字节数 2 2 1 2 2 2 1 4 4 2 访问类型 R R/W R/W R/W R/W R/W R/W R R R/W 0x0528 ADC1OF1 2 R/W 0x052C 0x0530 ADC0GN1 ADC1GN1 2 2 R/W R/W 默认值 0x0000 0x0000 0x03 0x8000 0x0000 0x0007 0x00 0x00000000 0x00000000 0x0000, 特定器件, 工厂编程 0x0000;特定器件, 工厂编程 0x5555 0x5555 0x0534 0x0538 0x053C 0x0540 0x0544 0x0548 0x054C 0x0570 ADC0RCR ADC0RCV ADC0TH ADC0THC ADC0THV ADC0ACC ADC0ATH IEXCON 2 2 2 2 2 4 4 1 R/W R R/W R/W R R R/W R/W 0x0001 0x0000 0x0000 0x0001 0x0000 0x00000000 0x00000000 0x00 主ADC失调寄存器。 辅助ADC失调寄存器。见表42中对ADC操作模式配置位VA (ADCLPMCFG[1:0])的说明。 主ADC结果计数器/重载入寄存器。 主ADC结果计数器寄存器。 主ADC 16位比较器阈值寄存器。 主ADC 16位比较器阈值计数器限值。 ADC0 8位阈值超过计数器寄存器 主ADC累加器。 主ADC 32位比较器阈值寄存器。 激励电流源控制寄存器。 默认值 0x0200 0x00000000 描述 DAC控制寄存器。 DAC输出数据寄存器。 默认值 N/A 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x60 0x00 0x0000 描述 UART发送寄存器。 UART接收寄存器。 UART标准波特率发生器除数0。 UART中断使能寄存器 0。 UART标准波特率发生器除数1。 UART中断标识0。 UART控制寄存器0。 UART控制寄存器1。 UART状态寄存器0。 UART状态寄存器1。 UART小数分频器寄存器。 1 描述 ADC状态寄存器。 ADC中断源使能寄存器。 ADC模式寄存器。 主ADC控制寄存器。 辅助ADC控制寄存器。 ADC滤波器控制寄存器。 ADC配置寄存器。 主ADC结果寄存器。 辅助ADC结果寄存器。 主ADC失调校准设置。 辅助ADC失调寄存器。 被内核更新为特定器件校准值。 表22. DAC控制基地址 = 0xFFFF0600 地址 0x0600 0x0604 名称 DAC0CON DAC0DAT 字节数 访问类型 2 R/W 4 R/W 表23. UART基地址 = 0xFFFF0700 地址 0x0700 0x0700 0x0700 0x0704 0x0704 0x0708 0x070C 0x0710 0x0714 0x0718 0X072C 名称 字节数 访问类型 COMTX 1 W COMRX 1 R COMDIV0 1 R/W COMIEN0 1 R/W COMDIV1 1 R/W COMIID0 1 R COMCON0 1 R/W COMCON1 1 R/W COMSTA0 1 R COMSTA1 1 R COMDIV2 2 R/W Rev. E | Page 31 of 108 ADuC7060/ADuC7061 表24. I2C基地址 = 0xFFFF0900 地址 名称 字节数 0x0900 I2CMCON 2 0x0904 I2CMSTA 2 0x0908 I2CMRX 1 0x090C I2CMTX 1 0x0910 I2CMCNT0 2 访问类型 R/W R R W R/W 默认值 0x0000 0x0000 0x00 0x00 0x0000 0x0914 I2CMCNT1 1 R 0x00 0x0918 I2CADR0 1 R/W 0x00 0x091C I2CADR1 1 R/W 0x00 0x0924 0x0928 0x092C 0x0930 0x0934 0x0938 0x093C 0x0940 0x0944 0x0948 0x094C I2CDIV I2CSCON I2CSSTA I2CSRX I2CSTX I2CALT I2CID0 I2CID1 I2CID2 I2CID3 I2CFSTA 2 2 2 1 1 1 1 1 1 1 2 R/W R/W R/W R W R/W R/W R/W R/W R/W R/W 0x1F1F 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0000 描述 I2C主机控制寄存器。 I2C主机状态寄存器。 I2C主机接收寄存器。 I2C主机发送寄存器。 I2C主机读计数寄存器。在从从机设备中读取数据之前,须向该 寄存器写入需要读取的字节数。 I2C主机当前读取计数寄存器。该寄存器用于记录已从从机设备中 接收的字节的个数。 地址字节寄存器。在与从机进行通信前,向该寄存器内写入目标 从机地址。 地址字节寄存器。在与从机进行通信前,向该寄存器内写入目标 从机地址。只可用于10位模式。 I2C时钟控制寄存器。用于设置SCLK频率。 I2C从机控制寄存器。 I2C从机状态寄存器。 I2C从机接收寄存器。 I2C从机发送寄存器。 I2C硬件广播识别寄存器。 I2C从机识别号0寄存器。从机总线识别号寄存器。 I2C从机识别号1寄存器。从机总线识别号寄存器。 I2C从机识别号2寄存器。从机总线识别号寄存器。 I2C从机识别号3寄存器。从机总线识别号寄存器。 I2C FIFO状态寄存器。可应用于主机模式和从机模式。 默认值 0x00000000 0x00 0x00 0x1B 0x0000 描述 SPI状态寄存器。 SPI接收寄存器。 SPI发送寄存器。 SPI波特率选择寄存器。 SPI控制寄存器。 默认值 0x00000000 0x00000000 0x00000000 0x000000XX 0x000000XX 0x000000XX 0x00000000 0x000000XX 0x000000XX 0x000000XX 0x00000000 0x000000XX 0x000000XX 0x000000XX 0x00000000 描述 通用输入输出端口0控制寄存器。 通用输入输出端口1控制寄存器。 通用输入输出端口2控制寄存器。 通用输入输出端口0数据控制寄存器。 通用输入输出端口0数据设置寄存器。 通用输入输出端口0数据清除寄存器。 通用输入输出端口0上拉禁用寄存器。 通用输入输出端口1数据控制寄存器。 通用输入输出端口1数据设置寄存器。 通用输入输出端口1数据清除寄存器。 通用输入输出端口1上拉禁用寄存器。 通用输入输出端口2数据控制寄存器。 通用输入输出端口2数据设置寄存器。 通用输入输出端口2数据清除寄存器。 通用输入输出端口2上拉禁用寄存器。 表25. SPI基地址 = 0xFFFF0A00 地址 0x0A00 0x0A04 0x0A08 0x0A0C 0x0A10 名称 SPISTA SPIRX SPITX SPIDIV SPICON 字节数 4 1 1 1 2 访问类型 R R W W R/W 表26. GPIO基地址 = 0xFFFF0D00 地址 0x0D00 0x0D04 0x0D08 0x0D20 0x0D24 0x0D28 0x0D2C 0x0D30 0x0D34 0x0D38 0x0D3C 0x0D40 0x0D44 0x0D48 0x0D4C 名称 GP0CON0 GP1CON GP2CON GP0DAT GP0SET GP0CLR GP0PAR GP1DAT GP1SET GP1CLR GP1PAR GP2DAT GP2SET GP2CLR GP2PAR 字节数 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 访问类型 R/W R/W R/W R/W W W R/W R/W W W R/W R/W W W R/W Rev. E | Page 32 of 108 ADuC7060/ADuC7061 表27. Flash/EE基地址 = 0xFFFF0E00 地址 0x0E00 0x0E04 0x0E08 0x0E0C 0x0E10 0x0E18 0x0E1C 0x0E20 名称 FEESTA FEEMOD FEECON FEEDAT FEEADR FEESIG FEEPRO FEEHID 字节数 2 2 1 2 2 3 4 4 访问类型 R R/W R/W R/W R/W R R/W R/W 默认值 0x20 0x0000 0x07 0xXXXX 0x0000 0xFFFFFF 0x00000000 0xFFFFFFFF 描述 Flash/EE状态寄存器。 Flash/EE控制寄存器。 Flash/EE控制寄存器。 Flash/EE数据寄存器。 Flash/EE地址寄存器。 Flash/EE LFSR 寄存器。 Flash/EE保护寄存器。 Flash/EE保护寄存器。 访问类型 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 W 默认值 0x0012 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 描述 PWM控制寄存器。详细的说明请参见“脉宽调制器”部分。 用于比较PWM输出0和PWM输出1的比较寄存器0。 用于比较PWM输出0和PWM输出1的比较寄存器1。 用于比较PWM输出0和PWM输出1的比较寄存器2。 用于PWM输出0和PWM输出1的频率控制 用于比较PWM输出2和PWM输出3的比较寄存器0。 用于比较PWM输出2和PWM输出3的比较寄存器1。 用于比较PWM输出2和PWM输出3的比较寄存器2。 用于PWM输出2和PWM输出3的频率控制 用于比较PWM输出4和PWM输出5的比较寄存器0。 用于比较PWM输出4和PWM输出5的比较寄存器1。 用于比较PWM输出4和PWM输出5的比较寄存器2。 用于PWM输出4和PWM输出5的频率控制。 PWM中断清除寄存器。向其中写入任意值就可以清除PWM中断源。 表28. PWM基地址 = 0xFFFF0F80 地址 0x0F80 0x0F84 0x0F88 0x0F8C 0x0F90 0x0F94 0x0F98 0x0F9C 0x0FA0 0x0FA4 0x0FA8 0x0FAC 0x0FB0 0x0FB8 名称 PWMCON PWM0COM0 PWM0COM1 PWM0COM2 PWM0LEN PWM1COM0 PWM1COM1 PWM1COM2 PWM1LEN PWM2COM0 PWM2COM1 PWM2COM2 PWM2LEN PWMCLRI 字节数 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Rev. E | Page 33 of 108 ADuC7060/ADuC7061 复位 RSTCLR寄存器 有四种复位形式:外部复位、上电复位、看门狗复位及软 名称: RSTCLR 件复位。RSTSTA寄存器指示产生上一次复位的复位源; 地址: 0xFFFF0234 可通过用户代码对该寄存器进行写操作,以启动软件复位 访问类型: 只写 事件。 功能: 此8位只写寄存器可将RSTSTA的对应位清零。 此 寄 存 器 的 清 零 , 可 通 过 对 位 于 0xFFFF0234地 址 处 的 RSTCLR 寄存器进行写操作来完成。RSTCLR的位分配镜像 RSTSTA的位分配。这两种寄存器用于在复位异常服务例 表29. RSTSTA/RSTCLR 寄存器位功能描述 行程序运行期间识别复位源。四种复位事件的含义如表30 所示。 位 7:4 RSTSTA寄存器 3 名称: RSTSTA 地址: 0xFFFF0230 默认值: 因复位类型而异 访问类型: 读、写 功能: 此8位寄存器指示上一次复位事件的复位 2 1 源;可由用户代码对该寄存器进行写操 作,以启动软件复位。 0 1 描述 未使用。全部不用,始终读取0。 外部复位。 发生外部复位时,该位自动置1。 通过设置RSTCLR寄存器内的相应位,可将该位清0。 软件复位。 可通过用户代码将该位置1,以产生软件复位。 通过设置RSTCLR寄存器内的相应位,可将该位清0。1 看门狗超时。 发生看门狗超时时,该位自动置1。 通过设置RSTCLR寄存器内的相应位,可将该位清0。 上电复位。 发生上电复位时,该位自动置位。 通过设置RSTCLR寄存器内的相应位,可将该位清0。 如果RSTSTA的软件复位位已设,任何不将此位清0的RSTCLR写入操作都会 产生软件复位。 表30. 器件复位含义 复位 POR 看门狗 软件 外部引脚 将外部引脚复位到 默认状态 是 是 是 是 内核执行 是 是 是 是 复位所有外部寄存器 (不包括RSTSTA) 是 是 是 是 复位外设 是 是 是 是 Rev. E | Page 34 of 108 复位看门狗 定时器 是 否 否 否 RAM有效 是/否 是 是 是 RSTSTA状态 (复位事件后) RSTSTA[0] = 1 RSTSTA[1] = 1 RSTSTA[2] = 1 RSTSTA[3] = 1 ADuC7060/ADuC7061 振荡器、锁相环和电源控制 时钟系统 为了避免晶振失振,应该使用看门狗定时器。在初始化期 ADuC7060/ADuC7061系列产品内部集成了一个32.768 kHz 间,通常应对RSTSTA进行测试,以判断是否有来自看门 振荡器(误差在±3%范围内)、一个时钟分频器和一个锁相 狗定时器的复位信号。 环(PLL)。PLL将内部振荡器或一个外部32.768 KHz晶振的倍 外部时钟选择 数频率锁定,为系统提供一个稳定的10.24 MHz时钟 如果需要使用外部时钟,必须将P2.0配置为模式0。外部时 (UCLK)。为了省电,内核可以工作在这个频率下,或这个 钟频率最高可达20.48 MHz,容差为1%。外部时钟在器件 频 率 的 1 / 2 n 。 内 核 的 实 际 工 作 频 率 U C L K / 2 CD, 称 为 内部被2分频。 HCLK。默认的内核时钟分频为8分频(CD=3),或 源代码示例 1.28 MHz。 CRYSTAL OSCILLATOR INT. 32kHz OSCILLATOR* WATCHDOG TIMER T1LD XCLKO T1CON = 0xC0; XCLKI IRQEN |= 0x10; PLLKEY1 = 0xAA; OCLK WAKE-UP TIMER 10.24MHz P2.0/EXTCLK PLLKEY2 = 0x55; POWKEY1 = 0x1; I2C // Enable Timer1 interrupt // Switch to external clock PLLCON = 0x4; 32.768kHz PLL = 0x80; UCLK ANALOG PERIPHERALS // Enter NAP mode POWCON0 = 0x73; POWKEY2 = 0xF4; CD /2CD CORE 时钟源的选择是由PLLCON寄存器控制的。默认情况下, 07079-008 HCLK *32.768kHz ±3% 图13.时钟系统 选用内部振荡器作为PLL的输入。 电源控制系统 外部晶振选择 通过写POWCON0寄存器,可以改变内核时钟频率。这是 在用外部晶振时,用户必须遵循如下程序: 一个重要的保护寄存器;因此,在设置POWCON0寄存器 1. 使能Timer1中断,并将其超时周期设置为大于120 μs。 2. 根据PLLCON寄存器的写时序要求,将OSEL位设置为 [10]且清除EXTCLK位。 3. 按照POWCON寄存器的正确写时序,强制器件进入浅 休眠模式。 4. 当器件从浅休眠模式被定时器1中断源唤醒后,时钟源 已经切换到外部晶振了。 之前和之后都必须立即对寄存器POWKEY1和POWKEY2进 行写操作。下面将举例说明如何将内核时钟频率设置为 10.24 MHz: POWKEY1 = 0x1; POWCON0 = 0x78; //Set core to max CPU //speed of 10.24 MHz POWKEY2 = 0xF4; ADuC7060/ADuC7061提供了多种工作模式。表33描述了 源代码示例 各个模式下上电的器件及上电时间。 T1LD = 0x80; // 32,768 clock ticks 表34给出了在不同时钟分频位决定的各模式的总的电流(模 T1CON = 0xC0; // Periodic mode, enable 拟电源电流+数字电源电流)消耗值。ADC处于关闭状态。 // timer, 32,768 Hz clock/1 注意:这些测量值包括调节器和测试板上其他器件消耗的 IRQEN |= 0x10; // Enable Timer1 interrupt 电流。 // source PLLKEY1 = 0xAA; // Switch to external crystal PLLCON = 0x2; PLLKEY2 = 0x55; POWKEY1 = 0x1; // Enter nap mode POWCON0 = 0x73; POWKEY2 = 0xF4; Rev. E | Page 35 of 108 ADuC7060/ADuC7061 I C/SPI模块,从而降低器件在活动状态下的功耗。如需访 电源和时钟控制寄存器 POWCON1寄存器 问POWCON1,必须在访问前首先通过指令将POWKEY3 名称: POWKEY1 设 为 0x76, 在 访 问 POWCON1后 , 应 立 即 通 过 指 令 将 地址: 0xFFFF0404 POWKEY4设为0xB1。 默认值: 0xXXXX 例如,运行下列代码,可使能SPI/I2C模块,但也会关断 访问类型: 写 PWM和UART模块。 功能: 如需向POWCON0写入数据,必须首先向 通过对POWCON1进行写操作,可以关断UART、PWM或 2 POWKEY3 =0x76; POWCON1 =0x4; Uart; 0x4 SPI/I2C 该寄存器内写入0x01。 //0x100 PWM; 0x20 POWKEY4 =0xB1; POWCON0寄存器 名称: POWCON0 地址: 0xFFFF0408 默认值: 0x7B 访问类型: 读、写 功能: 该寄存器可控制用于控制CPU时钟(HCLK) 的时钟分频位。 表31. POWCON0 寄存器位功能描述 位 7 6 名称 保留 XPD 5 PLLPD 4 PPD 3 COREPD 2:0 CD[2:0] 描述 该位的值必须始终为0 XTAL关断。 用户清0,关断外部晶体电路。 用户置1,使能外部晶体电路。 PLL关断。如果定时器外设由PLL输出时钟驱动,则关断。如果由有效时钟源驱动,则保持正常功耗模式。 该位清0,关断PLL。当启用内核或外设后,不允许关断PLL;位3、位4、位5必须同时被清零。 默认置1,且在产生唤醒事件时由硬件置1。 外设关断。该位可以关断的外设有: SRAM、Flash/EE存储器、GPIO接口、SPI/I2C和UART串行端口。 清0,关断外设。启用内核后,不允许关断外设;位3、位4必须同时被清零。 默认置1和/或当产生唤醒事件时,由硬件置1。唤醒定时器(Timer1)可继续保持活动状态。 内核关断。通过用户代码将MCU关断时,在将关断命令写入POWCON0后插入一个假MCU周期。 清0,关断ARM内核。 默认置1,且当产生唤醒事件时,由硬件置1。 内核时钟取决于CD的设置。 [000] = 10.24 MHz [001] = 5.12 MHz [010] = 2.56 MHz [011] = 1.28 MHz [默认值] [100] = 640 kHz [101] = 320 kHz [110] = 160 kHz [111] = 80 kHz Rev. E | Page 36 of 108 ADuC7060/ADuC7061 POWKEY2寄存器 POWCON1寄存器 名称: POWKEY2 名称: POWKEY1 地址: 0xFFFF040C 地址: 0xFFFF0438 默认值: 0xXXXX 默认值: 0x124 访问类型: 写 访问类型: 读/写 功能: 如需向POWCON0寄存器写 功能: 此 寄 存 器 控 制 PWM、 入数据,必须首先通过指 UART和I2C/SPI模块的时钟 令向该寄存器内写入0xF4。 信号。 禁用这些模块的时钟可降 低功耗。 POWKEY4寄存器 POWKEY3寄存器 名称: POWKEY3 名称: POWKEY4 地址: 0xFFFF0434 地址: 0xFFFF043C 默认值: 0xXXXX 默认值: 0xXXXX 访问类型: 写 访问类型: 写 功能: 如需向POWCON1寄存器写 功能: 如需向POWCON1寄存器写 入数据,必须首先通过指 入数据,必须首先通过指令 令向该寄存器内写入0x76。 向该寄存器内写入0xB1。 表32. POWCON1 寄存器位功能描述 位 15:9 8 名称 保留 PWMOFF 7:6 5 保留 UARTOFF 4:3 2 保留 I2CSPIOFF 1:0 保留 描述 该位的值必须始终为0。 PWM关断位。 用户置1,可启用PWM模块。该位默认置1。 用户清0,可关断PWM模块。 保留位。始终将这些位清0。 UART关断位。 用户置1,可启用UART模块。该位默认置1。 用户清0,可关断UART模块。 保留位。始终将这些位清0。 I2C/SPI关断位。 用户置1,可启用I2C/SPI模块。该位默认置1。 用户清0,可关断I2C/SPI模块。 保留位。始终将这些位清0。 表33. ADuC7060/ADuC7061省电模式 POWCON0[6:3] 1111 1110 1100 1000 0000 模式 活动(Active) 暂停 (Pause) 浅休眠(NAP) 睡眠(Sleep) 停止(Stop) 内核 是 外设 是 是 PLL 是 是 是 XTAL/T1/T2 是 是 是 是 Rev. E | Page 37 of 108 IRQ0至IRQ3 是 是 是 是 是 启动/上电时间 130 ms(CD = 0) 4.8 μs(CD = 0);660 μs(CD = 7) 4.8 μs(CD = 0);660 μs(CD = 7) 66 μs(CD = 0);900 μs(CD = 7) 66 μs(CD = 0);900 μs(CD = 7) ADuC7060/ADuC7061 表34. 25℃时的典型功耗值1(单位:mA) POWCON0[6:3] 1111 1110 1100 1000 0000 1 2 3 模式 活动(Active)2 暂停(Pause)3 浅休眠(NAP)3 睡眠(Sleep)3 停止(Stop)3 CD = 0 5.22 2.6 1.33 0.085 0.055 CD = 1 4.04 1.95 1.29 0.085 0.055 CD = 2 2.69 1.6 1.29 0.085 0.055 CD = 3 2.01 1.49 1.29 0.085 0.055 CD = 4 1.67 1.4 1.29 0.085 0.055 CD = 5 1.51 1.33 1.29 0.085 0.055 CD = 6 1.42 1.31 1.29 0.085 0.055 CD = 7 1.38 1.3 1.29 0.085 0.055 表34中列出的数值均为当两个ADC处于关闭状态下时的数值。 在活动模式下,GP0PAR位7=1。 表中列出的对应于暂停、浅休眠、睡眠和停止模式下的各个值均是在NTRST引脚为低电平时测量所得。为将在各种模式下由nTRST引起的IDD最小化,需将GP0PAR寄存器 位7置1。这样,可以禁用nTRST引脚的内部下拉电阻,而且意味着nTRST引脚与外部上拉电阻之间没有接地通路。GP0PAR寄存器位7的默认值为0;因此,利用用户代码 将该位置为1不会影响BM操作。 名称: 表35. PLLCON 寄存器位功能描述 PLLKEY1 位 7:3 2 地址: 0xFFFF0410 默认值: 0xXXXX 访问类型: 写 功能: 如需向PLLCON写入数据,必须首先向该 1:0 寄存器内写入0xAA。 名称 描述 保留 这些位总是清0。 EXTCLK 通过将该位置为1,可从P2.0选择外部时钟输入。 通过将该位清0,可禁用外部时钟。 OSEL 振荡器选择位。 [00] = 内部32,768 Hz振荡器 [01] = 内部32,768 Hz振荡器 [10] = 外部晶振 [11] = 内部32,768 Hz振荡器 名称: PLLCON 地址: 0xFFFF0414 默认值: 0x00 名称: PLLKEY2 访问类型: 读、写 地址: 0xFFFF0418 功能: 该寄存器为PLL选择时钟输入。 默认值: 0xXXXX 访问类型: 写 功能: 在PLLCON写入数据后,必须立即 向该寄存器内写入0x55。 Rev. E | Page 38 of 108 ADuC7060/ADuC7061 ADC电路信息 AVDD INTERNAL REFERENCE VREF+ VREF– DAC0 BUF DAC IEXC0 CONVERSION COUNTER AVDD IEXC1 50µA O/C DETECT ADC0 AUX_REFP OVERRANGE AUX_REFM ADC1 0.5Hz TO 8kHz Σ-∆ MODULATOR PROGRAMMABLE FILTER PGA CHOP MUX 0.2mA TO 1mA BUF 0.2Hz TO 8kHz Σ-∆ MODULATOR INTERFACE AND CONTROL TO ARM PROGRAMMABLE FILTER ADC2 ADC3 ADC4 ADC5 ADC6 ADC7 INTEGRATOR ACCUMULATOR COMPARATORS ADC8 ADC9 CHOP MUX 50Ω AGND TEMPERATURE SENSOR 07079-009 GND_SW 图14. 模拟模块框图 ADuC7060/ADuC7061集成有两个独立的多通道Σ-Δ ADC。 例如那些在压力传感器、温度传感器、电子秤或者应变计 主ADC是一个24位4通道ADC。辅助ADC是一个24位Σ-Δ 应用中产生的信号。 ADC,最高可支持7个单端输入通道。 ADuC7060/ADuC7061系列产品的辅助ADC可配置成四个 主ADC输入级有一个多路复用器和一个可编程增益放大 全差分输入通道或者七个单端输入通道。 器。位于主通道上的多路复用器可配置成两个全差分输入 由于具有内部缓冲器,内部通道可以直接转换从传感器传 通道或者四个单端输入通道。 来的信号,而无需外接信号调理模块。 辅助ADC输入级内置了一个缓冲器。这两个ADC都具备数 字滤波功能,可以在相当宽的动态范围内测量低频信号, Rev. E | Page 39 of 108 ADuC7060/ADuC7061 表36. 主ADC-在正常模式下的典型输出均方根噪声(单位:μV)1 ADC 寄存器 状态 斩波开启 斩波关闭 斩波关闭 斩波关闭 1 数据 更新 速率 4 Hz 50 Hz 1 kHz 8 kHz ±1.2 V (PGA = 1) 0.62 V 1.97 V 8.54 V 54.97 ±600 mV (PGA = 2) 0.648 V 1.89 V 8.4 V ±300 mV (PGA = 4) 0.175 V 0.570 V 2.55 V 可选输入范围 (PGA设置) ±150 mV ±75 mV ±37.5 mV (PGA = 8) (PGA = 16) (PGA = 32) 0.109 V 0.077 V 0.041 V 0.38 V 0.27 V 0.147 V 1.17 V 0.658 V ±18.75 mV (PGA = 64) 0.032 V 0.123 V 0.53 V ±9.375 mV (PGA = 128) 0.0338 V 0.12 V 0.55 V ±4.68 mV (PGA = 256) 0.032 V 0.098 V 0.56 V 0.915 V ±2.34 mV (PGA = 512) 0.033 V 0.098 V 0.52 V 输入电压范围以共模电压为中心,应符合“电气规格”部分规定的输入电压范围。 表37. 主ADC-在正常状态下典型输出均方根有效位数(括号内为峰峰位) ADC 寄存器 状态 斩波开启 数据 更新 速率 4 Hz 斩波关闭 50 Hz 斩波关闭 1 kHz 斩波关闭 8 kHz ±1.2 V (PGA = 1) 21.9 (19.1 p-p) 20.2 (17.5 p-p) 18.1 (15.3 p-p) 15.4 (12.7 p-p) ±600 mV (PGA = 2) 20.8 (18.1 p-p) 19.3 (16.6 p-p) 17.1 (14.4 p-p) 14.4 (11.7 p-p) ±300 mV (PGA = 4) 21.7 (19.0 p-p) 20.0 (17.3 p-p) 17.8 (15.1 p-p) 15.4 (12.6 p-p) ±150 mV (PGA = 8) 21.4 (18.7 p-p) 19.6 (16.9 p-p) 17.5 (14.8 p-p) 15.2 (12.5 p-p) 输入电压噪声(单位:mV) ±75 mV ±37.5 mV ±18.75 mV (PGA = 16) (PGA = 32) (PGA = 64) 20.9 20.8 20.2 (18.2 p-p) (18.1 p-p) (17.4 p-p) 19.1 19.0 18.2 (16.4 p-p) (16.2 p-p) (15.5 p-p) 17.0 16.8 16.1 (14.2 p-p) (14.1 p-p) (13.4 p-p) 15.0 14.9 14.4 (12.3 p-p) (12.2 p-p) (11.7 p-p) 表38. 辅助ADC-典型输出均方根噪声 ADC寄存器 斩波开启 斩波开启 斩波关闭 斩波关闭 数据更新速率 4 Hz 10 Hz 1 kHz 8 kHz ±9.375 mV (PGA = 128) 19.1 (16.4 p-p) 17.3 (14.6 p-p) 15.1 (12.3 p-p) 13.4 (10.7 p-p) ±4.68 mV (PGA = 256) 18.2 (15.4 p-p) 16.6 (13.8 p-p) 14.0 (11.3 p-p) 13.3 (10.6 p-p) ±2.34 mV (PGA = 512) 17.1 (14.4 p-p) 15.5 (12.8 p-p) 13.1 (10.4 p-p) 12.3 (9.6 p-p) 同样,通过将ADC1CON寄存器的HIGHEXTREF1置位,也 可以为ADC1提供一个大于1.35 V的外部基准电压源。 均方根值 0.633 V 0.810 V 7.4 V 54.18 V 诊断电流源 为能够检测到与外部传感器的连接是否成功,ADuC7060/ ADuC7061在主ADC和辅助ADC选中的模拟输入通道内集成 了一个50 μA的恒流源。 基准电压源 主ADC和辅助ADC均可选择使用内部基准电压或者两个外 ADC0CON寄存器的ADC0DIAG[1:0]位用于控制主ADC模 部差分基准电压源之一。第一个外部基准电压源施加于 拟输入端的诊断电流源。 VREF+/VREF−引 脚 。 第 二 个 外 部 基 准 电 压 源 施 加 于 同样,ADC1CON寄存器的ADC1DIAG[1:0]位用于控制辅 ADC4/EXT_REF2IN+和ADC5/EXT_REF2IN−引脚。在默认 助ADC模拟输入的诊断电流源。 状态下,ADC使用内部1.2 V基准电压源。 如需了解为主ADC设置外部基准电压源的详细说明,请参 阅对ADC0CON(ADC0控制寄存器的ADC0REF[1:0]位)的 A 说明。 B 如需了解为辅助ADC设置外部基准电压源的详细说明,请 A B ADC1 (–) VIN = ADC0, ADC1 R2 07079-010 参阅对ADC1CON(ADC1控制寄存器的ADC1REF[2:0]位)的 ADC0 (+) R1 AVDD 说明。 通过将ADC0CON寄存器的HIGHEXTREF0置位,可以为 ADC0提供一个大于1.35 V的外部基准电压源。 Rev. E | Page 40 of 108 图15. 采用诊断电流源的电路示例 ADuC7060/ADuC7061 表39. 采用诊断电流源的示例情形 诊断测试 寄存器设置 ADC0DIAG[1:0] = 0 ADC0DIAG[1:0] = 1 ADC0DIAG[1:0] = 3 描述 ADC0/ADC1转换为正常模式, 且禁用诊断电流。 通过将ADC0DIAG[1:0]置为1, 可以启动ADC0上的50 μA 诊断电流源。 转换ADC0和ADC1。 在单端模式下转换ADC0 (诊断电流已被禁用)。 通过将ADC0DIAG[1:0]置为3, 可以启动ADC0和ADC1上的50 μA 诊断电流源。转换ADC0和ADC1。 正常结果 ADC0/ADC1的预期 差分结果。 主ADC电压变化为 ΔV = +50 μA × R1。 例如,对于R1 = 2 kΩ, 约为100 mV ADC0上的期望电压值 主ADC的电压变化量为 ΔV = 50 μA × (R1 − R2), 即,约10 mV(容差:10%)。 S INC3滤波器 错误结果 短路。 检测到的测量故障 无论PGA如何设置, 主ADC读 ≈ 0 V。 在ADC0和ADC1 无论PGA如何设置, 之间形成短路在 主ADC读 ≈ 0 V。 R1_a 和R1_b 之间形成短路。 无论PGA如何设置, ADC0开路或 主ADC读 ≈ 0 V。 R1开路。 R1与R2不匹配。 主ADC读 > 10 mV。 这些电流源可以用来激励外部阻性电桥或RTD传感器。 通过向ADCFLT寄存器的[6:0]位写入数值,可以设置sinc3 IEXCON 寄存器可控制激励电流源。 IEXCON寄存器的位6 滤波器的抽取系数。表46和表47中对抽取系数值进行了详 必须置1,才可启用激励电流源0。同样,将IEXCON寄存 细的说明。 器的位7置必须1,才可启用激励电流源1。该寄存器的 sinc3滤波器(SF)字的工作范围取决于斩波功能是否已启 用。如果斩波功能被禁用,当ADC的频率在50 Hz到8 kHz 范围内时,SF字的最小值为0,最大值为127。 有关如何基于ADCFLT寄存器SF[6:0]位的值计算ADC采样 频率,见表46。更改转换速度时,重新启动之前应将ADC IOUT[3:0]位用于控制每个电流源的输出电流。 此 外 , 还 可 以 通 过 设 置 IEXCON的 IEXC0_DIR和 IEXC1_DIR位,控制激励电流源向单个输出引脚(IEXC0或 IEXC1)输出电流。这样,从单个激励引脚输出的电流的最 大值可达2 mA。 ADC低功耗模式 置于空闲模式。 ADuC7060/ADuC7061系列产品中的主ADC和辅助ADC均 ADC斩波 ADuC7060/ADuC7061内的ADC重复翻转其输入时,ADC 可执行斩波操作。因此,从sinc3滤波器输出的抽取数字输 出值会有与之相对应的正向、反向偏移量。ADC输出的这 个结果包括一个最终的加法级,它可以将滤波器的当前输 可在低功耗模式下工作。进入该模式,可减少ADC的吞吐 时间,与正常模式相比,主ADC的功耗降低四分之一,辅 助 ADC的 功 耗 降 低 约 三 分 之 一 。 在 该 模 式 下 , 最 大 的 ADC转换速率为2 kHz。ADCMDE 出值与前一个输出值进行求和及求平均值操作。之后,这 寄存器用于控制ADC的工作模式。通过对该寄存器进行设 个值将发送到ADC数据寄存器中。斩波可产生极好的直流 置,可以让器件在正常模式(默认)、低功耗模式或者超低 偏移和偏移漂移性能,且非常适合于需要减少漂移和抑制 功耗模式下工作。超低功耗模式与低功耗模式的区别在 噪声的应用场合。 于,在超低功耗模式状态下,PGA被禁用。按以下步骤操 作,可让ADC进入低功耗模式: 可编程增益放大器 主ADC集成了一个片内可编程增益放大器(PGA)。PGA可 设置为1至512范围内的10个不同数值。通过ADC0CON 寄 存器的ADC0PGA[3:0]位,可控制增益。 • ADCMDE[4:3]--置1,ADC进入正常模式、低功耗模式 或者超低功耗模式。 • ADCMDE[5]—置1,让器件进入低功耗模式。 • ADCMDE[7]-该位清0,可降低ADC时钟频率,从而降 激励源 低器件的功耗。 ADuC7060/ADuC7061系列产品有两个配套的软件可编程 电流源。这些激励电流来自AVDD。可对它们进行单独的 配置,以产生不同大小的电流(200 μA~1 mA)。电流变化 的步长为200 μA。 Rev. E | Page 41 of 108 ADuC7060/ADuC7061 ADC比较器和累加器 ADC 寄存器接口 由主ADC产生的每个转换结果都可以和ADCCFG[4:3]的预 ADC由一系列寄存器来控制和配置。各寄存器的详细描述 设阈值(ADC0TH)进行比较。如转换结果的绝对值(符号无 见下文中的说明。 关)大于预设比较器阈值,就会产生MCU中断。作为比较 器的扩展功能,可以利用用户代码配置一个阈值计数器 (ADC0THV),以监控主ADC转换结果高于或低于预设阈 为了响应ADC中断,用户代码将会查询ADCSTA以确定中 断源。通过设置ADCMSKI 寄存器,可单独屏蔽各个ADC 中断源。关于ADCMSKI 寄存器的说明,见表41。 值的次数。另外,当阈值计数器的值达到预设值 主ADC的所有结果就绪位在ADC0DAT 寄存器读取后即被 (ADC0RCR)后,将产生ADC中断。 清0。如果主通道ADC处于禁用状态,那么所有ADC结果 最后,还可通过控制ADCCFG[6:5]位来设置集成的32位累 加器(ADC0ACC),从而允许主ADC将多个采样结果相加 或相减。用户代码可直接读取累加值(ADC0ACC),而不需 要任何进一步的软件处理。 就绪位将在读取ADC1DAT 寄存器后被清0。为了确保主 ADC和辅助ADC的输出数据是同步的,用户代码应先读取 ADC1DAT 寄存器,再读取ADC0DAT 寄存器。只有先将 对应的ADC结果就绪位清0,才能将新的ADC转换结果写 温度传感器 入到ADCxDAT 寄存器中。这条规则的唯一例外情况是, ADuC7060/ADuC7061系列产品提供从片内带隙基准电压 数据转换结果正好在ARM内核断电时更新。在此模式下, 输出并与绝对温度成比例的电压。该电压还可以通过辅助 即使没有将就绪位清0,ADCxDAT寄存器仍保存最近一次 ADC前端多路复用器有效地连接到ADC,构成一个附加的 的ADC转换结果。 ADC输入通道,这样就可以很方便地形成一个内部温度传 ADC状态寄存器 感器通道,用于测量芯片温度。 名称: ADCSTA 内部温度传感器的设计初衷不是作为绝对环境温度计算 地址: 0xFFFF0500 器。它用来作为ADuC7060/ADuC7061裸片温度的近似指 默认值: 0x0000 示器。 访问类型: 只读 典型温度系数为0.28 mV/°C。 功能: 该只读寄存器用于保存与ADuC7060 ADuC7061 ADC工作模式或电流状 态相关的一般状态信息。 140 120 80 60 40 20 0 –60 –40 –20 0 20 40 60 80 TEMPERATURE (°C) 100 120 140 07079-034 ADC OUTPUT (mV) 100 图16. ADC输出与温度的关系 Rev. E | Page 42 of 108 ADuC7060/ADuC7061 表40 ADCSTA 寄存器位功能描述 位 15 名称 ADCCALSTA 14 描述 ADC校准状态。 硬件自动将该位置1,表示一个ADC校准周期已完成。 对ADCMDE进行写操作后,该位被清零。 未使用。 该位保留供未来使用。 13 ADC1CERR 辅助ADC转换错误。 硬件自动将该位置1,表示辅助ADC转换超量程或欠量程。此时将转换结果箝位至负满量程(欠量程错误)或正满 量程(超量程错误)。向ADC1DAT寄存器写入一个有效的(量程范围内的)电压转换结果后,该位被清0。 12 ADC0CERR 11:7 6 ADC0ATHEX 主ADC转换错误。 硬件自动将该位置1,表示主ADC转换超量程或欠量程。此时将转换结果箝位至负满量程(欠量程错误)或正满量 程(超量程错误)。 向ADC0DAT寄存器写入一个有效的(量程范围内的)转换结果后,该位被清0。 未使用。这些位保留供未来其他功能使用,不必由用户代码监控。 ADC0累加器比较器阈值超出。 当保存在ADC0ACC中的ADC0累加器的值超出ADC0比较器阈值寄存器ADC0ATH中的阈值(通过编程设定此值) 时,该位置1。 当ADC0ACC寄存器的值未超过ADC0ATH中的值时,该位清0。 5 4 ADC0THEX 3 ADC0OVR 2 1 ADC1RDY 0 ADC0RDY 未使用。该位保留供未来其他功能使用,不必由用户代码监控。 主通道ADC比较器阈值。该位仅在当主通道ADC比较器由ADCCFG 寄存器使能的条件下有效。 在主ADC转换结果绝对值大于ADC0TH 寄存器写入值时,硬件将该位置1。如果使用ADC阈值计数器(ADC0RCR), 该位仅在指定的主ADC转换次数等于ADC0THV 寄存器值时置1。 否则,该位清0。 主通道ADC超量程位。利用ADCCFG 寄存器使能超量程检测功能后,如果主ADC输入明显超过量程(约大于 30%),硬件自动将该位置1。该位每隔125 us更新一次。该位置1后,仅当ADCCFG[2]清0以禁用此功能或通过 ADC0CON 寄存器修改ADC增益时,该位由软件清0。 未使用。该位保留供未来其他功能使用,不必由用户代码监控。 辅助ADC结果就绪位。 当辅助通道ADC使能后,一旦有效转换结果写入ADC1DAT 寄存器,该位即可通过软件置1。每次校准时序结束 时,该位也会被置1。 在分别对ADC1DAT和ADC0DAT进行读操作后,该位清0。无论主ADC是否可用,都必须通过执行读ADC0DAT操 作来清除该位。 主ADC结果就绪位。 当主通道ADC使能后,一旦有效转换结果写入ADC0DAT 寄存器,该位即可通过软件置1。每次校准时序结束时, 该位也会被置1。 执行读ADC0DAT操作,可清除该位。 Rev. E | Page 43 of 108 ADuC7060/ADuC7061 ADC中断屏蔽寄存器 名称: ADCMSKI 地址: 0xFFFF0504 默认值: 0x0000 访问类型: 读、写 功能: 该寄存器可单独使能ADC中断源。此寄存器的位位 置与ADCSTA 寄存器的低八位相同。若一位由用户 代码置1,相应中断使能。默认情况下,所有位为 0,表示禁用所有ADC中断源。 表41. ADCMSKI 寄存器位功能描述 位 7 6 名称 ADC0ATHEX_INTEN 5 4 ADC0THEX_INTEN 3 ADC0OVR_INTEN 2 1 ADC1RDY_INTEN 0 ADC0RDY_INTEN 描述 未使用。该位保留供未来其他功能使用,不必由用户代码监控。 ADC0累加器比较器阈值超出中断使能位。 当该位的值为1时,若果ADCSTA寄存器的ADC0ATHEX位置1,则使能产生中断。如果该位被 清零,则禁用该中断源。 未使用。该位保留供未来其他功能使用,不必由用户代码监控。 主通道ADC比较器阈值超出中断使能位。 当该位的值为1时,如果ADCSTA寄存器的ADC0THEX位置1,则使能产生中断。 如果该位被清零,则禁用该中断源。 当该位的值为1时,如果ADCSTA寄存器的ADC0OVR位置1,则使能产生中断。如果该位被清 零,则禁用该中断源。 未使用。该位保留供未来其他功能使用,不必由用户代码监控。 辅助ADC结果就绪位。 当该位的值为1时,如果ADCSTA寄存器的ADC1RDY位置1,则使能产生中断。如果该位被清 零,则禁用该中断源。 主ADC结果就绪位。 当该位的值为1时,如果ADCSTA寄存器的ADC0RDY位置1,则使能产生中断。如果该位被清 零,则禁用该中断源。 ADC模式寄存器 名称: ADCMDE 地址: 0xFFFF0508 默认值: 0x03 访问类型: 读、写 功能: ADC模式寄存器是一个8位寄存器,用于配置ADC子系统的工作模式。 表42. ADCMDE 寄存器位功能描述 位 7 名称 ADCCLKSEL 6 5 ADCLPMEN 描述 将该位置1,可将ADC时钟频率设置为512 kHz。当ADC处于正常工作模式下,应将该位置1。将该位清0, 可将ADC时钟频率设置为131 kHz。当ADC处于低功耗工作模式下,应将该位清0。 未使用。该位保留供未来其他功能使用,不必由用户代码监控。 启用低功耗模式。当ADCMDE[4:3] = 00(ADC处于正常工作模式)时,该位不起作用。 ADC工作在低功耗模式下时,必须将该位置1。 ADC工作在低功耗模式下时,如将该位清0,将导致ADC输出结果不稳定。 Rev. E | Page 44 of 108 ADuC7060/ADuC7061 位 4:3 名称 ADCLPMCFG[1:0] 2:0 ADCMD[2:0] 描述 ADC功耗模式配置。 [00] = ADC正常模式。使能后,ADC以正常功耗工作,获得最佳电气性能。 [01] = ADC低功耗模式。 [10] = ADC正常模式,同[00]。 [11] = ADC超低功耗模式(低功耗模式,且关断PGA)。 ADC工作模式配置。 [000] = ADC省电模式。所有ADC电路和输入放大器关断。 [001] = ADC连续转换模式。在该模式下,任一被启用的ADC将连续以fADC这一频率进行转换。在向 ADC0DAT/ADC1DAT写入新数据前,须将ADCxRDY清0。 [010] = ADC单转换模式。在此模式下,任一被启用的ADC将执行一次转换。ADC在完成单次转换操作 后进入空闲模式。一个单次转换需要花费两到三个ADC时钟周期,具体的周期数取决于是否启用了 斩波模式。 [011] = ADC空闲模式。在此模式下,ADC完全上电,但仍保持复位状态。校准操作完成后,器件进入 该模式。 [100] = ADC自失调校准。在该模式下,器件借助一个内部产生的0 V电压对任何使能的ADC进行失调 校准操作。校准以用户编程的ADC设置作为依据;因此,正常的单一ADC转换在校准结果产生前需要 花费两到三个ADC转换周期。校准结果自动写入相应ADC的ADCxOF 寄存器内。失调校准周期结束后, ADC返回空闲模式,且校准和转换就绪状态位置1。 注意:应利用ADC0提供主ADC上的单端自校准周期。应利用ADC0/ADC1对主ADC的差分输入进行自 校准。 [101] = ADC自增益校准。在此模式下,参照内部基准电压校准所有使能后ADC的增益。增益校准分为 两个阶段,耗时是失调校准的两倍。校准结果自动写入对应ADC的ADCxGN 寄存器。增益校准周期结 束后,ADC返回空闲模式,校准和转换就绪状态位置1。只有主通道ADC才能进行ADC自增益校准。 注意:仅在增益为1时,自增益校准功能才可用;增益大于1时,该功能不可用。 [110] = ADC系统零电平校准。在该模式下,参照ADC输入引脚处驱动的外部零电平电压,对使能ADC 通道进行零电平校准。这样,可从外部实现通道短路。 [111] = ADC系统满量程校准。在此模式下,参照ADC输入引脚处驱动的外部满量程电压对使能ADC通 道进行满量程校准。在满量程校准时序执行完毕后,ADCxGN寄存器被更新。 主ADC控制寄存器 名称: ADC0CON 地址: 0xFFFF050C 默认值: 0x8000 访问类型: 读、写 功能: 主 通 道 ADC控 制 寄 存 器 是 一 个 16位 寄 存 器。通过ADC0CON对主ADC进行重配置 后,辅助ADC也将复位。 Rev. E | Page 45 of 108 ADuC7060/ADuC7061 表43. ADC0CON 寄存器位功能描述及位名称 位 15 名称 ADC0EN 描述 主通道ADC使能。 由用户代码将该位置1,使能主ADC。 将该位清0,可关断主ADC,可导致ADCSTA 寄存器中的对应ADC就绪位复位至0。 诊断电流源使能位。 [00] = 关闭电流源。 [01] = 在所选正极输入端(例如:ADC0),使能一个大小为50 μA的电流源。 [10] = 在所选负极输入端(例如:ADC1),使能一个大小为50 μA的电流源。 [11] = 在所选的两个输入端(例如:ADC0和ADC1),使能一个50 μA的电流源。 14:13 ADC0DIAG[1:0] 12 HIGHEXTREF0 当ADC0的外部基准电压高于1.35 V时,必须将该位置1。这样,可以将基准电压源二分频。 当使用内部基准电压或外部基准电压低于1.35 V时,须将该位清0。 11 AMP_CM 用户将该位置1,可将PGA输出共模电压设置为AVDD/2。 通过用户代码将该位清0,可将PGA输出共模电压设置为PGA输入共模电压电平。 10 ADC0CODE 主通道ADC输出编码。 通过用户代码将该位置1,可将主ADC输出编码配置为单极性。 通过用户代码将该位清0,可将主ADC输出编码配置为二进制补码。 9:6 ADC0CH[3:0] 5:4 ADC0REF[1:0] 3:0 ADC0PGA[3:0]. 主通道ADC输入选择。注意:为ADC5选择单端通道。 ADC5偏置至0.1 V(最低电压值)。 [0000]= ADC0/ADC1 (差分模式) [0001] = ADC0/ADC5 (单端模式)。 [0010] = ADC1/ADC5 (单端模式)。 [0011] = VREF+、VREF−。注意:这是通过ADC0REF位选择的基准电压。 [0100] = 未使用。该位保留供未来其他功能使用,不应写入。 [0101] = ADC2/ADC3 (差分模式)。 [0110] = ADC2/ADC5 (单端模式)。 [0111] = ADC3/ADC5 (单端模式)。 [1000] = 内部短路至ADC1。 [1001] = 内部短路至ADC1。 选择主通道ADC基准电压。 [00] = 选择内部基准电压。当ADC处于低功耗模式下时,由ADCMDE[5]控制基准电压的选择。 [01] = 选择外部基准电压输入(VREF+/VREF−)。当基准电压高于1.3 V时,HIGHEXTREF0位置1。 [10] = 选择辅助外部基准电压输入(ADC4/EXT_REF2IN+、ADC5/EXT_REF2IN−)当基准电压高于 1.3 V时,HIGHEXTREF0位置1。 [11] = 选择AVDD、AGND二分频。 选择主通道ADC增益。注意,标称主ADC满量程输入电压 =(VREF/增益)。 [0000] = ADC0增益为1。负输入端缓冲器旁路。 [0001] = ADC0增益为2。 [0010] = ADC0增益为4(默认值)。使能仪表放大器。 [0011] = ADC0增益为8。 [0100] = ADC0增益为16。 [0101] = ADC0增益为32。 [0110] = ADC0增益为64(最大的PGA增益设置)。 [0111] = ADC0增益为128(额外的数字增益)。 [1000] = ADC0增益为256。 [1001] = ADC0增益为512。 [1XXX] = 未定义ADC0增益。 Rev. E | Page 46 of 108 ADuC7060/ADuC7061 辅助ADC控制寄存器 名称: ADC1CON 地址: 0xFFFF0510 默认值: 0x0000 访问类型: 读、写 功能: 辅助ADC控制寄存器是一个16位寄存器。 表44. ADC1CON 寄存器位功能描述 位 15 名称 ADC1EN 描述 使能辅助通道ADC。 由用户代码将该位置1,将使能辅助ADC。 将该位清0,可关断辅助ADC。 14:13 ADC1DIAG[1:0] 诊断电流源使能位。与ADC0DIAG[1:0]所用的为同一电流源。多个ADC无法同时使能诊断电流源。 [00] = 关闭电流源。 [01] = 在所选正极输入端(例如:ADC2)使能一个大小为50 μA的电流源。 [10] = 在所选负极输入端(例如:ADC3)使能一个大小为50 μA的电流源。 [11] = 在所选的两个输入端(例如:ADC2和ADC3)使能一个50 μA的电流源。 12 HIGHEXTREF1 当ADC1的外部基准电压高于1.35 V时,必须将该位置1。这样,可以将基准电压源二分频。 当使用内部基准电压或外部基准电压低于1.35 V时,须将该位清0。 11 ADC1CODE 辅助通道ADC输出编码。 通过用户代码将该位置1,可将辅助ADC输出编码配置为单极性。 通过用户代码将该位清0,可将辅助ADC输出编码配置为二进制补码。 10:7 ADC1CH[3:0] 辅助通道ADC输入选择。注意:为ADC5选择单端通道。 ADC5偏置至0.1 V(最低电压值)。 [0000] = ADC2/ADC3 (差分模式)。 [0001] = ADC4/ADC5 (差分模式)。 [0010] = ADC6/ADC7 (差分模式)。 [0011] = ADC8/ADC9 (差分模式)。 [0100] = ADC2/ADC5 (单端模式)。 [0101] = ADC3/ADC5 (单端模式)。 [0110] = ADC4/ADC5 (单端模式)。 [0111] = ADC6/ADC5 (单端模式)。 [1000] = ADC7/ADC5 (单端模式)。 [1001] = ADC8/ADC5 (单端模式)。 [1010] = ADC9/ADC5 (单端模式)。 [1011] = 内部温度传感器+/内部温度传感器 [1100] = VREF+、VREF-注意:这是通过ADC1REF位选择的基准电压。 [1101] = DAC_OUT/AGND [1110] = 未定义。 [1111] = 内部短路至ADC3。 Rev. E | Page 47 of 108 ADuC7060/ADuC7061 位 6:4 名称 ADC1REF[2:0] 3:2 BUF_BYPASS[1:0] 1:0 描述 选择辅助通道ADC基准电压。 [000] = 选择内部基准电压。当ADC处于低功耗模式下时,由ADCMODE[5]控制基准电压的选择。 [001] = 选择外部基准电压输入 (VREF+/VREF−)。当基准电压高于1.3 V时,HIGHEXTREF1位置1。 [010] = 选择辅助外部基准电压输入(ADC4/EXT_REF2IN+、ADC5/EXT_REF2IN−)当基准电压高 于1.35 V时,HIGHEXTREF1位置1。 [011] = 选择AVDD、AGND二分频。如果选择此配置,HIGHEXTREF1位自动置位1。 [100] = (AVDD, ADC3)ADC3可以作为基准电压源的负输入端。 [101] 至 [111] = 保留。 缓冲器旁路。 [00] = 开启整个缓冲器。正负极缓冲器输入端均处于活动状态。 [01] = 负极缓冲器旁路,正极缓冲器开启。 [10] = 负极缓冲器开启,正极缓冲器旁路。 [11] = 整个缓冲器旁路。正负极缓冲器输入端均处于关闭状态。 数字增益。为辅助ADC输入端选择数字增益。 [00] = ADC1增益为1。 [01] = ADC1增益为2。 [10] = ADC1增益为4。 [11] = ADC1增益为8。 ADC滤波器寄存器 名称: ADCFLT 地址: 0xFFFF0408 默认值: 0x0007 访问类型: 读、写 功能: ADC滤波器寄存器是一个16位寄存器,用于控制两个片内ADC的速 度和分辨率。注意,修改ADCFLT将导致主ADC和辅助ADC复位。 更改转换速度时,重新启动之前应将ADC置于空闲模式。 表45. ADCFLT 寄存器位功能描述 位 15 名称 CHOPEN 14 RAVG2 13:8 AF[5:0] 描述 斩波使能。用户置1,可使能所有活动ADC的系统斩波。该位置1后,ADC失调误差和漂移都很低,但在AF = 0时, ADC输出速率将降至原来的三分之一(见此表中的Sinc3抽取系数位[6:0])。AF > 0时,输出更新速率在斩波开启或关闭 时均相同。斩波使能时,建立时间为两个输出周期。 除二移动平均功能使能位。 使能除二移动平均功能,可降低ADC噪声。当激活斩波功能后,该功能将自动使能。斩波不激活时可选,且使能后 (斩波不激活时)不会降低ADC输出速率,而将建立时间增加一个转换周期。 用户可将该位清0,以禁用移动平均功能。 平均系数(AF)。写入这些位的数值用来实现可编程一阶Sinc3后滤波器。平均系数可进一步降低ADC噪声,但同时, ADC的输出速率(见本表中对Sinc3抽取系数位[6:0]的说明)也会降低。 Rev. E | Page 48 of 108 ADuC7060/ADuC7061 位 7 名称 NOTCH2 描述 Sinc3修正。用户将该位置1,可修正标准Sinc3频率响应,以便将滤波器阻带抑制增加约5 dB。这可以通过插入 另一个陷波(NOTCH2)来实现。该陷波的频率公式如下: fNOTCH2 = 1.333 × fNOTCH 其中,fNOTCH表示响应中第一个陷波所在位置。 6:0 SF[6:0] Sinc3抽取系数(SF)1。写入这些位的值(SF)可控制Sinc3滤波器的过采样(抽取系数)。以下公式用于计算Sinc3滤波 器的输出速度: fADC = (512,000/([SF + 1] × 64)) Hz2 当斩波位(位15,斩波使能)的值为0且平均系数(AF)的值也为0时, 上述公式可用。这一公式适用于所有小于等于125的SF值。 SF = 126时,强制fADc为60 Hz。 SF = 127时,强制fADc为50 Hz。 有关SF(不包括126和127)和AF值的fADC 计算信息,见表46。 1 2 由于受数字滤波器内部数据路径的限制,用来产生所需ADC输出速率的Sinc3抽取系数(SF)和平均系数(AF)的组合也有限制。此约束在正常功耗模式下将最低ADC 更新速率限制为4 Hz,在更低功耗模式下将其限制为1 Hz。 在低功耗模式下,ADC由低功耗振荡器(131 kHz)直接驱动,而不是由512 kHz时钟驱动。计算fADC时,应(约)除以4。 表46. ADC转换速率和建立时间 斩波使能 平均系数 无 无 移动平均 无 fADC 正常模式 fADC 低功耗模式 512,000 [SF + 1] × 64 131,072 [SF + 1] × 64 3 f ADC 无 无 有 512,000 [SF + 1] × 64 131,072 [SF + 1] × 64 4 f ADC 无 有 无 512,000 [SF + 1] × 64 × [3 + AF ] 131,072 [SF + 1] × 64 × [3 + AF ] 1 f ADC 无 有 有 512,000 [SF + 1] × 64 × [3 + AF ] 131,072 [SF + 1]× 64 ×[3 + AF ] 2 f ADC 有 不可用 不可用 512,000 [SF + 1]× 64 ×[3 + AF ] + 3 131,072 [SF + 1] × 64 × [3 + AF ] + 3 2 f ADC 1 在进行第一次模数转换前,每个ADC需要约60 μs的额外时间。 表47.SF和AF的允许组合 AF范围 SF 0至31 32至63 64至127 0 有 有 有 1至7 有 有 无 8至63 有 无 无 Rev. E | Page 49 of 108 tSETTLING1 ADuC7060/ADuC7061 ADC配置寄存器 名称: ADCCFG 地址: 0xFFFF0518 默认值: 0x00 访问类型: 读、写 功能: 该8位ADC配置寄存器用于控制与片内ADC相关的扩展功能。 表48. ADCCFG 寄存器位功能描述 位 7 名称 GNDSW_EN 6:5 ADC0ACCEN[1:0] 4:3 ADC0CMPEN[1:0] 2 ADC0OREN 1 GNDSW_RES_EN 0 ADCRCEN 描述 模拟接地开关使能。 用户软件将该位置1,可将外部GND_SW引脚连接到内部模拟地基准点。在程序控制下,该位可 用于将外部电路和部件接地或断开,从而在不使用外部电路或部件时,将直流功耗降到最低。 该位与ADCCFG[1]配合,可选择20 kΩ电阻接地。 若将该位清零,可断开模拟地开关与外部引脚的连接。 主通道(32位)累加器使能。 [00] = 禁用累加器,再将其复位至0。一次完整的模数转换(ADCSTA[0]设置两次)完成后,必须禁 用累加器,然后再使能累加器,以确保将其复位。 [01] = 激活累加器。正电流值相加到累加器总数之中;如果转换次数超过65,535次,累加器将产 生溢出。负电流值从累加器总数中减去;累加器箝位到最小值0。 [10] = 激活累加器。除不产生箝位操作外,其他功能与[01]的相同。正电流值相加到累加器总数 之中;如果转换次数超过65,535次,累加器将产生溢出。负电流的绝对值从累加器总数中减去; 在此模式下,累加器继续进行负向累加,其值小于0。 [11] = 激活累加器和比较器。如果ADCMSKI[6]置1,该操作将引起ADC0中断。 主ADC比较器使能位。 [00] = 禁用比较器。 [01] = 激活比较器。当ADC0转换结果的绝对值|I|≥ADC0TH时,产生中断断言。 [10] = 激活比较器计数模式。当ADC0转换结果的绝对值|I| ≥ ADC0TH(ADC0THC转换的数值)时, 产生中断断言。若转换结果|I| < ADC0TH,则阈值计数器的值(ADC0THV)复位为0。 [11] = 激活比较器计数模式。当ADC0转换结果的绝对值|I|≥ADC0TH(ADC0THC转换的数值)时, 产生中断断言。若转换结果|I| < ADC0TH,则产生计数器阈值(ADC0THV)向0递减。 ADC0超量程使能位。 用户将该位置1,可以在主通道ADC上使能粗调比较器。如果读数明显超出有效增益设置(约 >30%),则ADCSTA 寄存器的超量程位将置1。ADC读数必须超出该范围且在125 μs或更长的时间 内维持该状态,以便标志位置1。 当ADC处于低功耗模式时,不要使用该特性。 将该位置1,可使能一个与接地开关串联的20 kΩ电阻。 将该位清0,可禁用上述电阻。 ADC结果计数器使能位。 用户将该位置1,可使能结果计数模式。当ADC0RCR = ADC0RCV时,产生ADC中断。 将该位清0,可禁用结果计数器。当每一次转换完成后,都会产生ADC中断。 Rev. E | Page 50 of 108 ADuC7060/ADuC7061 主通道ADC数据寄存器 主通道ADC失调校准寄存器 名称: ADC0DAT 名称: ADC0OF 地址: 0xFFFF051C 地址: 0xFFFF0524 默认值: 0x00000000 默认值: 特定器件,工厂编程 访问类型: 只读 访问类型: 读、写 功能: 该ADC数据MMR用于保存主ADC输出的24 功能: 该ADC失调寄存器用于保存主ADC的16位 位转换结果。如果ADC0转换结果就绪位 失调校准系数。上电时该寄存器配置为出 (ADCSTA[0])置 1, 则 ADC不 更 新 此 厂默认值。然而,如果用户通过ADCMDE MMR。MCU读取该寄存器后,将清除所 寄存器的相应位对主ADC进行失调校准, 有声明的就绪标志(ADCSTA[1:0])。 则该寄存器自动覆写。只有在ADC处于空 闲模式时,才允许用户代码对该校准寄存 表49. ADC0DAT 寄存器位功能描述 器进行写操作。在对任何失调寄存器或增 位 23:0 益寄存器进行写操作前,必须将ADC使能 描述 ADC0 24位转换结果。 且使其处于空闲模式。空闲模式必须持续 至少23 μs。 辅助通道ADC数据寄存器 名称: ADC1DAT 表51. ADC0OF 寄存器位功能描述 地址: 0xFFFF0520 默认值: 0x00000000 位 15:0 访问类型: 只读 功能: 该ADC数据寄存器用于保存辅助ADC输出 的24位转换结果。如ADC0转换结果就绪 位(ADCSTA[1])置1,则ADC无法更新此寄 存器。 表50. ADC1DAT 寄存器位功能描述 位 23:0 描述 ADC0 16位失调校准值。 辅助通道ADC失调校准寄存器 名称: ADC1OF 地址: 0xFFFF0528 默认值: 特定器件,工厂编程 访问类型: 读、写 功能: 该失调寄存器用于保存辅助通道的16位失 调校准系数。上电时该寄存器配置为出厂 描述 ADC1 24位转换结果。 默认值。但是,如果用户利用ADCMDE 寄存器的相应位对辅助通道进行失调校 准,寄存器自动覆写。只有在ADC处于空 闲模式时,才允许用户代码对该校准寄存 器进行写操作。在对任何失调寄存器或增 益寄存器进行写操作前,必须将ADC使能 且使其处于空闲模式。空闲模式必须持续 至少23 μs。 表52. ADC1OF 寄存器位功能描述 位 15:0 Rev. E | Page 51 of 108 描述 ADC1 16位失调校准值。 ADuC7060/ADuC7061 主通道ADC增益校准寄存器 主通道ADC结果计数器限值寄存器 名称: ADC0GN 名称: ADC0RCR 地址: 0xFFFF052C 地址: 0xFFFF0534 默认值: 特定器件,工厂编程 默认值: 0x0001 访问类型: 读、写 访问类型: 读、写 功能: 该增益寄存器可保存用于按比例调整主 功能: 该16位寄存器用于设置产生ADC中断前所必 ADC转换结果的16位增益校准系数。上电 需的转换次数。默认情况下,该寄存器的值 时该寄存器配置为出厂默认值。然而,如果 为0x01。将DCCFG 寄存器中的ADC结果计 用户利用ADCMDE 寄存器的对应位对主ADC 数器使能位置位,可使能ADC计数器功能。 进行增益校准,寄存器自动覆写。只有在 ADC处于空闲模式时,才允许用户代码对 该校准寄存器进行写操作。在对任何失调寄 表55. ADC0RCR 寄存器位功能描述 位 15:0 描述 ADC0结果计数器限值/重载寄存器。 存器或增益寄存器进行写操作前,必须将 ADC使能且使其处于空闲模式。空闲模式 主通道ADC结果计数器寄存器 必须持续至少23 μs。 名称: ADC0RCV 地址: 0xFFFF0538 表53. ADC0GN 寄存器位功能描述 默认值: 0x0000 位 15:0 访问类型: 只读 功能: 该16位只读寄存器用于保存主ADC的当前转 描述 ADC0 16位校准增益值。 换结果。它和ADC0RCR配合使用,可屏蔽 辅助通道增益校准寄存器 主通道ADC中断,从而产生较低的中断速 名称: ADC1GN 地址: 0xFFFF0530 默认值: 特定器件,工厂编程 访问类型: 读、写 功能: 该增益寄存器可保存用于按比例调整辅助 率。当ADC0RCV = ADC0RCL时,ADC0RCV 值复位至0,且重新开始计数。它还可与累 加器(ADC0ACC)配合使用,进行平均值的 计算。通过设置ADCCFG[0],可以使能结 果 计 数 器 。 当 重 新 配 置 主 ADC(即 当 对 通道转换结果的16位增益校准系数。上电 ADC0CON或ADCMDE进行写操作)后,该 时该寄存器配置为出厂默认值。 寄存器复位至0。 但是,如果用户利用ADCMDE 寄存器的 相应位对辅助通道进行增益校准,寄存器 表56. ADC0RCV 寄存器位功能描述 自动覆写。只有在ADC处于空闲模式时, 位 15:0 才允许用户代码对该校准寄存器进行写操 作。在对任何失调寄存器或增益寄存器进 行写操作前,必须将ADC使能且使其处于 空闲模式。空闲模式必须持续至少23 μs。 表54. ADC1GN 寄存器位功能描述 位 15:0 描述 ADC1 16位增益校准值。 Rev. E | Page 52 of 108 描述 ADC0结果计数器寄存器。 ADuC7060/ADuC7061 主通道ADC阈值寄存器 主通道ADC阈值计数器寄存器 名称: ADC0TH 名称: ADC0THV 地址: 0xFFFF053C 地址: 0xFFFF0544 默认值: 0x0000 默认值: 0x0000 访问类型: 读、写 访问类型: 只读 功能: 该16位寄存器可设置用来与主ADC转换结果 功能: 每当主ADC转换结果绝对值|Result| ≥ ADC0TH, 的绝对值进行比较的阈值。在单极性模式 该8位寄存器的值递增一次。每当主ADC转 下,与ADC0TH[15:0]进行比较;而在二进制 换结果|Result| < ADC0TH时,该寄存器的值 补码模式下,与ADC0TH[14:0]进行比较。 递减一次或复位至0。通过设置ADCCFG 寄 存器的主通道ADC比较器位,可对该功能进 表57. ADC0TH 寄存器位功能描述 位 15:0 行配置。 描述 ADC0 16位比较器阈值寄存器。 表59. ADC0THV 寄存器位功能描述 位 7:0 主通道ADC阈值计数器限值寄存器 描述 ADC0 8位阈值超过计数器寄存器。 名称: ADC0THC 地址: 0xFFFF0540 默认值: 0x0001 名称: 访问类型: 读、写 ADC0ACC 地址: 功能: 该8位寄存器用于决定在设置ADCSTA 寄存 0xFFFF0548 默认值: 器的主ADC比较器阈值位,产生中断前ADC 0x00000000 访问类型: 只读 转换结果读数超过ADC0TH必须达到的累积 功能: 该32位寄存器用于保存主ADC累加器的值。 主通道ADC累加器寄存器 次数(即低于递减阈值或将计数复位至0的 ADCSTA 寄存器的主ADC就绪位的值决定了 值)。只要ADC0THV = ADC0RCR时,主 何时可以安全地读取该寄存器。在ADCCFG ADC比较器阈值位立即置位。 寄存器内禁用累加器或重新配置主通道 ADC,可将寄存器的值复位至0。 表58. ADC0THC 寄存器位功能描述 位 15:8 7:0 描述 保留。 ADC0 8位阈值计数器限值寄存器。 表60. ADC0ACC 寄存器位功能描述 位 31:0 Rev. E | Page 53 of 108 描述 ADC0 32位累加器寄存器。 ADuC7060/ADuC7061 表61. ADC0ATH 寄存器位功能描述 主通道ADC阈值寄存器 位 31:0 名称: ADC0ATH 地址: 0xFFFF054C 默认值: 0x00000000 访问类型: 读、写 功能: 功能:该32位寄存器用于保存主通道累 描述 ADC0 32位累加器比较器阈值寄存器。 加器比较器的阈值。当ADC0ACC中的 累加器的值大于ADC0ATH中的值时, ADCSTA中的ADC0ATHEX位被置位。 在此情况下,如果ADCMSKI的相应位 也使能,则将产生中断。 FAST OVERRANGE ADC0 ADC1 PRIMARY ADC fADC INTERRUPT (ADC0OVR) 16 fADC (READABLE) ADC0ACC ACCUMULATOR 32 ≥ INTERRUPT (ADC0ATHEX) (READABLE) ADC0ATH fADC ADC0RCR (DEFAULT = 1) ≥ INTERRUPT (ADC0RDY) ≥ fADC ADC0TH ADC0THV UP/DOWN OPTION: UP/RESET ADC0THC 图17. 主ADC累加器/比较器/计数器模块框图 Rev. E | Page 54 of 108 ≥ INTERRUPT (ADC0THEX) 07079-011 CLEAR |ABSVAL| ADC0RCV COUNTER ADuC7060/ADuC7061 激励电流源控制寄存器 名称: IEXCON 地址: 0xFFFF0570 默认值: 0x00 访问类型: 读、写 功能: 该8位寄存器用于控制两个激励电流源IEXC0和IEXC1。 表62. IEXCON寄存器位功能描述 位 7 名称 IEXC1_EN 描述 IEXC1电流源使能位。 将该位置1,可以使能激励电流源1。 将该位清0,可以禁用激励电流源1。 6 IEXC0_EN IEXC0电流源使能位。 将该位置1,可以使能激励电流源0。 将该位清0,可以禁用激励电流源0。 5 IEXC1_DIR 将该位置1,可以将激励电流源1产生的激励电流送到IEXC0引脚。 将该位清0,可以将激励电流源1产生的激励电流送到IEXC1引脚。 4 IEXC0_DIR 将该位置1,可以将激励电流源0产生的激励电流送到IEXC1引脚。 将该位置0,可以将激励电流源0产生的激励电流送到IEXC0引脚。 3:1 IOUT[3:1] 这些位用于控制每个激励电流源的激励电流电平。 IOUT[3:1] = 000,激励电流 = 0 μA + (IOUT[0] × 10 μA)。 IOUT[3:1] = 001,激励电流 = 200 μA + (IOUT[0] × 10 μA)。 IOUT[3:1] = 010,激励电流 = 400 μA + (IOUT[0] × 10 μA)。 IOUT[3:1] = 011,激励电流 = 600 μA + (IOUT[0] × 10 μA)。 IOUT[3:1] = 100,激励电流 = 800 μA + (IOUT[0] × 10 μA)。 IOUT[3:1] = 101,激励电流 = 1 mA + (IOUT[0] × 10 μA)。 其它所有值均未定义。 0 IOUT[0] 将该位置1,可以使能10 μA诊断电流源。 将该位清0,可以禁用10 μA诊断电流源。 应用电路示例 在图19中,AD592是一个外部温度传感器,用于测量热电 图18显示了ADuC7060/ADuC7061上的一个简单的桥式传 偶的冷端,其输出端与辅助通道相连。ADR280是一个外部 感器接口,包括模拟输入通道上的RC滤波器。注意,桥式 1.2 V基准器件;也可用内部基准电压源来代替它。热电偶 传感器上的传感线(与基准输入端相连)分别与不同的激励 与主ADC相连,为ADC0/ADC1提供差分输入。注意:位于 线(接至DVDD/AVDD和地)相连。因此,共有六根线与桥 VREF+和ADC1之间的电阻可将ADC输入信号偏置100 mV 式传感器相连。六线连接是大多数现有桥式传感器(如称重 以上。 传感器)的特性之一,借助该特性,可将由线阻抗引起的误 差降至最低。 图20显示了一个简单的四线RTD接口电路。图18中显示了 一个桥式传感器,在此基础上,如再连接一个电源且通过 串口与一外部器件相连,则构成一个完整的系统(如图20)。 Rev. E | Page 55 of 108 ADuC7060/ADuC7061 ADuC7060/ ADuC7061 ADuC7060/ ADuC7061 +2.5V +2.5V IEXC1 AVDD/DVDD VREF+ AVDD/DVDD ADC0 SPI I2C UART GPIO ADC0 ADC1 RTD ADC1 SPI I2C UART GPIO VREF– 07079-012 AGND/DGND VREF– 图18. 桥式接口电路 图20. RTD接口电路示例 ADuC7060/ ADuC7061 +2.5V ADC0 AVDD/DVDD ADC1 ADC4 ADR280 VREF+ VREF– AGND/DGND 07079-013 AD592 SPI I2C UART GPIO 图19. 热电偶接口电路示例 Rev. E | Page 56 of 108 07079-014 VREF+ AGND/DGND ADuC7060/ADuC7061 DAC外设 DAC 运算放大器模式 ADuC7060/ADuC7061集成了一个片内电压输出DAC。在 作为一个选项,可禁用DAC,它的输出缓冲器可以起到运 正常模式下,DAC的分辨率为12位。在插值模式下,DAC 算放大器的作用。 的分辨率为16位(14个有效位)。DAC有一个轨到轨电压输 出缓冲器(驱动能力为5 kΩ/100 pF)。 寄存器接口 DAC可通过一个控制寄存器和一个数据寄存器进行配置。 DAC的4个可选电压范围包括: DAC0CON寄存器 • 0 V至VREF (内部带隙1.2 V基准电压) • VREF−至VREF+ • ADC5/EXT_REF2IN−至ADC4/EXT_REF2IN+ • 0 V至AVDD 名称: DAC0CON 地址: 0xFFFF0600 默认值: 0x0200 访问类型: 读、写 最大信号范围为0 V至AVDD。 表63. DAC0CON 寄存器位功能描述 位 15:10 9 名称 8 DACBUFLP 7 OPAMP 6 DACBUFBYPASS 将该位置1,可以将输出缓冲器旁路,并直接向输出引脚输出DAC转换结果。 如将该位清0,DAC转换结果将输出到缓冲器中。 5 DACCLK 4 DACCLR 将该位清0,以在HCLK负边沿更新DAC。 将该位置1,以在定时器0负边沿更新DAC。对波形生成来说,这是一个非常理想的模式。在这种模式下, 波形的下一个值可在正常的定时器0时间间隔后被写入DAC0DAT。 将该位置1,以便进行正常的DAC操作。 将该位清0,可清除DAC输出结果并向DAC0DAT内写入0。 向该位写入数值,会立即对DAC输出结果产生影响。 3 DACMODE 将该位置1,可以让DAC在16位插值模式下工作。 将该位清0,可以让DAC在12位正常模式下工作。 2 Rate 用于DAC的插值模式。 将该位置1,可将插值时钟设置为UCLK/16。 1:0 DAC range bits [11] = 0 V至AVDD。 [10] = ADC5/EXT_REF2IN−至ADC4/EXT_REF2IN+ [01] = VREF−至VREF+ [00] = 0 V至VREF (1.2 V)内部基准电压源。 DACPD 描述 保留。 将该位置1,可以关断DAC输出(DAC输出为三态)。 将该位清0,可以使能DAC。 将该位置1,可以让DAC输出缓冲器在低功耗模式下工作。关于电气规格的详细说明,请参阅“正常DAC 模式与运算放大器模式”部分。 将该位清0,可以使能DAC缓冲器。 将该位置1,可以让DAC输出缓冲器在运算放大器模式下工作。 将该位清0,可以使能DAC输出缓冲器用于正常DAC操作。 Rev. E | Page 57 of 108 ADuC7060/ADuC7061 地附近和AVDD处的线性降级是由输出放大器的饱和引起 DAC0DAT寄存器 名称: DAC0DAT 的,图21反映了这种效应的一般表现(失调误差和增益误差 地址: 0xFFFF0604 忽略不计)。图21中的虚线为理想的传递函数,实线代表转 默认值: 0x00000000 换可能具有端点非线性(由输出放大器饱和引起)的传递函 访问类型: 读、写 数。注意,图21仅代表输入范围为0至AVDD模式时的传递 功能: 该32位寄存器包含DAC输出值。 函数。在0至VREF模式、VREF±或ADCx/EXT_REF2IN±模式 下,低端具有相似的非线性;这时,通常VREF < AVDD或 表64.DAC0DAT 寄存器位功能描述 位 31:28 27:16 15:12 11:0 ADCx/EXT_REF2IN± < AVDD。然而,传递函数的上半部 描述 保留。 DAC0的12位数据。 额外的4位,可用于插值模式。 保留。 分一直到端点都表现为理想的线性(这里采用VREF,而非 AVDD)。这说明DAC输出没有端点线性误差。 AVDD DAC的用法 AVDD – 100mV 片内DAC架构由一电阻串DAC和一个输出缓冲放大器 构成。 用户可通过软件来选择DAC基准电压源。AVDD、VREF± 或者ADCx/EXT_REF2IN±均可作为DAC基准电压源。 100mV 上的范围为0 V至AVDD; 0x00000000 • 在VREF±和ADCx/EXT_REF2IN±模式下,DAC输出传 0x0FFF0000 07079-015 • 在0至AVDD模式下,DAC输出传递函数在AVDD引脚 图21. 放大器饱和引起的端点非线性 递函数为负输入引脚电压至正输入引脚电压。注意,上 当有输出负载时,图21所示的端点非线性会变得更差。在 述电压不得低于0 V或高于AVDD。 • 在0至VREF模式时,DAC输出传递函数为0至1.2 V内部基 准电压源VREF。 DAC可被配置为以下三种不同的用户模式:正常模式、 DAC插值模式和运算放大器模式。 大多数ADuC7060/ADuC7061数据手册中,正常模式下的 DAC输出特性指标都是在DAC输出与一个接地的5 kΩ电阻 负载相连的条件下得到的。由于DAC输出被强制提供更多 的源电流或吸电流,图21中的顶部或底部非线性区域将变 得更大。而当需要更大电流时,这会明显地限制输出电压 正常DAC模式 摆幅。 在该模式下,DAC配置为12位电压输出DAC。在默认的情 DAC插值模式 况下,可以使用DAC缓冲器,但输出缓冲器可以被禁用。 当DAC输出缓冲器禁用时,DAC仅可驱动20 pF的容性负 载。通过对DAC0CON寄存器的DACBUFBYPASS位进行设 置,可以禁用DAC缓冲器。 与正常模式相比,在插值模式下,DAC的输出分辨率更高 (16位)且更新速率更慢。更新速率通过选择DAC0CON寄 存器内的插值时钟速率来控制。在该模式下,为形成稳定 的电压,需要连接一个外部RC滤波器。 每一个DAC输出缓冲放大器都有一个真轨到轨输出级。也 就是说,当输出空载时,DAC输出摆幅能够达到AVDD或 接地电平的5 mV范围以内。此外,当驱动一个5 kΩ电阻负 运算放大器模式 在运算放大器模式下,DAC输出缓冲器用作运算放大器, 载到地时,除了代码0至100(在0至AVDD模式下时代码 DAC本身禁用。 3995至4095),整个传递函数都能保证符合DAC线性度规格 ADC6是运算放大器的正输入端,ADC7是负输入端,而 要求。 ADC8是输出端。在该模式下,应通过DAC0CON的位9将 DAC关断。 Rev. E | Page 58 of 108 ADuC7060/ADuC7061 非易失FLASH/EE存储器 ADuC7060/ADuC7061片内集成了Flash/EE存储器,可为用 保持期衡量Flash/EE存储器长时间保持编程数据的能力。 户提供非易失、在线可编程存储器空间。 同样,在具体结温(TJ = 85°C)下根据标准JEDEC保持期限规 像EEPROM一样,Flash存储器也支持系统内字节编程(尽 管必须在向存储器内写入新的数据之前将原有数据擦除)。 擦除操作是以页块为单位进行的。因而,通常Flash存储器 也被更准确地称作Flash/EE存储器。 格A117对器件进行测试。作为此测试程序的一部分,如前 所述,Flash/EE存储器循环工作的次数到达指定的耐久性 限值,然后确定数据保持特性。这就是说,每次对 Flash/EE存储器进行重新编程时,Flash/EE存储器在完全指 定的保持期限内可以保持数据。注意:基于一个0.6 eV激 总之,由于具有非易失性、在线编程、高密度及低成本等 特点,Flash/EE是更理想的存储设备。利用ADuC7060/ 活能的保持时间随TJ递减,如图22所示。 ADuC7061集成的Flash/EE存储器,用户可以在线更新程序 600 代码空间,而不必在远程操作节点处替换一次性可编程 ADuC7060/ADuC7061内置一个32 KB的Flash/EE存储器阵 列,其中低30 KB可供用户使用,高2 KB包含永久性嵌入式 固件,支持在线串行下载。另外,这2 KB嵌入式固件还包 括上电配置程序,用于将出厂标定系数下载到各种已校准 RETENTION (Years) (OTP)设备。 450 300 150 的外设,如ADC、温度传感器、带隙基准电压源等。用户 0 FLASH/EE存储器可靠性 30 40 55 70 85 100 125 JUNCTION TEMPERATURE (°C) 135 150 07079-016 代码不允许访问这2 KB嵌入式固件。 图22. Flash/EE存储器数据保持期 器件上的Flash/EE存储器阵列有两个关键的特性:Flash/EE 存储器周期耐久性和Flash/EE存储器数据保持力。 编程 耐久性用于衡量Flash/EE存储器重复多个编程、读取及擦 在串行下载模式或JTAG模式下,可对Flash/EE存储器中的 除周期的能力。一个单耐久性周期包括4个独立的、连续 30KB区域进行在线编程。 的事件,定义如下: 串行下载(在线编程) • 初始页面擦除时序 ADuC7060/ADuC7061可利用标准UART串行端口下载代 • 读/校验时序(单个Flash/EE) 码。当器件复位或上电时,如果NTRST/ 引脚的电平被1 k • 存储器的字节编程时序 Ω外接电阻下拉至低电平,则器件将进入串行下载模式。 • 二次读/校验时序(耐久性周期) 在串行下载模式下,用户可以向Flash/EE的整个30 Kb 在 进 行 可 靠 性 验 证 时 , Flash/EE存 储 器 中 的 三 页 (顶 、 Flash/EE存储器空间内下载代码(尽管该器件在其目标应用 中、底)的每半个字(16位宽)可循环存取10000次(从0x0000 硬件中为在线状态)。由开发系统提供的借助通用异步串口 至0xFFFF)。Flash/EE存储器耐久力是根据JEDEC保持期 进行串行下载的功能也支持PC串行下载。 限规格A117在−40°C至+125°C工业温度范围内测量出来 当ADuC7060/ADuC7061进入下载模式后,超时周期为2分 的。这个结果满足给定温度下最小耐久性超过10,000个周 钟的内部看门狗将被使能。如果Flash擦/写时序无法在该 期的规格。 周期内完成,器件将复位。 JTAG访问 JTAG协议允许借助片内JTAG接口进行代码下载和调试。 Rev. E | Page 59 of 108 ADuC7060/ADuC7061 处理器相关外设 中断系统 IRQ ADuC7060/ADuC7061有15个中断源,各个中断源由中断 中断请求(IRQ)是通知处理器进入IRQ模式的一个异常信 控制器来控制。除用户可编程的软件中断(SWI)外,其余 号。它用于内、外部事件的通用中断处理。 中断均由片内外设产生。ARM7TDMI CPU内核只能识别 以 下 两 类 中 断 : 正 常 中 断 请 求 (IRQ)和 快 速 中 断 请 求 (FIQ)。所有中断都可以被单独屏蔽。 所 有 的 32个 位 经 过 逻 辑 “或 ”运 算 后 , 形 成 要 发 送 给 ARM7TDMI内核的IRQ信号。器件有4个专门用于IRQ的32 位寄存器。对各个寄存器的说明如下: 器件内部有许多用于控制和配置中断系统的寄存器。每一 个IRQ寄存器和FIQ寄存器中的控制位都代表相同的中断 IRQSIG 源,如表65所示。 IRQSIG反映不同IRQ源的状态。如果一个外设产生了一个 ADuC7060/ADuC7061提供一个矢量中断控制器(VIC),用 0。当特定外设的中断请求取消时,IRQSIG的位就会被清 于支持中断嵌套(最高可达8级嵌套)。此外,VIC还可以让 0。通过设置IRQEN 寄存器,可屏蔽所有IRQ中断源。 编程人员为所有中断源指定优先级。通过设置IRQCONN IRQSIG为只读寄存器。 IRQ信号,IRQSIG中相应的位就会被置1;否则就会被清 寄存器的ENIRQN位,可以启用中断嵌套功能。当整个矢 量中断控制器被使能后,需额外用到大量寄存器。 IRQSIG寄存器 名称: IRQSIG 地址: 0xFFFF0004 默认值: 未定义 表65. IRQ/FIQ 寄存器位功能描述 访问类型: 只读 位 0 IRQEN 当 内 核 开 始 执 行 中 断 服 务 程 序 (ISR)后 , 应 立 即 保 存 IRQSTA/FIQSTA,以确保能够响应所有有效中断。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 描述 所有中断的逻辑或 (限FIQ) 软件中断 未定义 定时器0 定时器1或唤醒定时器 定时器2或看门狗 定时器 定时器3或STI定时器 未定义 未定义 未定义 ADC UART SPI XIRQ0 (GPIO IRQ0) XIRQ1 (GPIO IRQ1) I2C主机IRQ I2C从机IRQ PWM XIRQ2 (GPIO IRQ2) XIRQ3 (GPIO IRQ3) 备注 任意FIQ激活时,该位置1。 用户可编程中断源。 该位未使用。 通用定时器0。 通用定时器1或唤醒定时器。 通用定时器2或看门狗定时器。 通用定时器3。 该位未使用。 该位未使用。 该位未使用。 ADC中断源位。 UART中断源位。 SPI中断源位。 外部中断0。 外部中断1。 I2C 主机中断源位。 I2C从机中断源位。 PWM触发中断源位。 外部中断2。 外部中断3。 IRQEN 提供的是当前是能的任务值,当相应位设为1时, 相应的中断源被使能以产生一个IRQ源。IRQEN寄存器 不能关断中断,写零没有作用。 IRQEN寄存器 名称: IRQEN 地址: 0xFFFF0008 默认值: 0x00000000 访问类型: 读、写 IRQCLR IRQCLR是一个只写寄存器,可清除IRQEN寄存器的相应 位,从而屏蔽相应的中断源。将该寄存器的某一位置1, 会清除IRQEN寄存器的相应位(但不影响其他位)。寄存 器IRQEN和IRQCLR配对使用,可以实现独立的使能屏蔽 功能,而无需执行原子性读-改-写操作。清零操作对此无 影响。 Rev. E | Page 60 of 108 ADuC7060/ADuC7061 IRQCLR寄存器 FIQSIG寄存器 名称: IRQCLR 名称: FIQSIG 地址: 0xFFFF000C 地址: 0xFFFF0104 默认值: 0x00000000 默认值: 未定义 访问类型: 只写 访问类型: 只读 IRQSTA IRQSTA是一个只读寄存器,提供当前使能的IRQ源的状态 (IRQSIG和IRQEN对应位进行逻辑“与”操作)。当置1时,这 FIQEN FIQEN提供了当前使能屏蔽值。当某一位被置1时,相应 的中断源就会被使能,并产生一个FIQ异常。当某一位被 个源将向ARM7TDMI内核发出一个有效的IRQ中断请求。 清0时,相应的中断源就会被禁止或屏蔽,此时将无法产 没有优先级编码器和中断矢量产生。该功能可以在软件中 生FIQ异常。FIQEN寄存器无法用来禁用中断。 通过一个普通的中断处理程序实现。 FIQEN寄存器 IRQSTA寄存器 名称: IRQSTA FIQEN 名称: 地址: 0xFFFF0000 0xFFFF0108 地址: 默认值: 默认值: 0x00000000 0x00000000 访问类型: 读、写 访问类型: 只读 FIQCLR 快速中断请求(FIQ) FIQCLR是一个只写寄存器,可清除FIQEN寄存器的相应 快速中断请求(FIQ)是进入处理器FIQ模式的一个异常信 位,从而屏蔽相应的中断源。如将该寄存器的某一位置 号。它提供一个短延时的服务于数据传输或通信通道的任 1,清除FIQEN寄存器的相应位(但不影响其他位)。寄存器 务。FIQ接口与IRQ接口相同,此外,它还会提供二级中断 FIQEN与FIQCLR配合使用,可以实现独立的使能屏蔽功 (拥 有 最 高 优 先 级)。器件内有4个32位寄存器专门用于 能,而无需执行原子性读-改-写操作。 FIQ,包括:FIQSIG、FIQEN、FIQCLR和FIQSTA。 FIQSTA的第31至1位通过“或”逻辑运算后,产生FIQ信 FIQCLR寄存器 名称: FIQCLR 地址: 0xFFFF010C 默认值: 0x00000000 逻辑上FIQEN和FIQCLR不允许一个中断源同时被IRQ屏蔽 访问类型: 只写 和FIQ屏蔽启用。FIQEN中的某一位被置1会导致IRQEN中 FIQSTA 号。该信号将分别传递给内核以及FIQ和IRQ寄存器的位0 (FIQ源)。 的同一位被清0。同样,IRQEN中的某一位被置1也会导致 FIQEN中的同一位被清0。一个中断源可以被IRQEN屏蔽 和FIQEN屏蔽禁用。 FIQSTA是一个只读寄存器,提供当前使能的FIQ源的状态 (FIQSIG和FIQEN对应位进行逻辑“与”操作)。当置1时,这 个源将向ARM7TDMI内核发出一个有效的FIQ中断请求。 FIQSIG 没有优先级编码器和中断矢量产生。该功能可以在软件中 FIQSIG反映不同FIQ源的状态。如果一个外设产生了一个 通过一个普通的中断处理程序实现。 FIQ信号,FIQSIG中相应的位就会被置1;否则就会被清 0。当特定外设的中断请求取消时,FIQSIG的位就会被清 0。通过设置FIQEN 寄存器,可屏蔽所有FIQ中断源。 FIQSIG为只读寄存器。 Rev. E | Page 61 of 108 ADuC7060/ADuC7061 FIQSTA寄存器 • 矢量中断—允许用户为每个中断源单独定义中断服务 名称: FIQSTA 程序地址。这可以通过IRQBASE和IRQVEC寄存器来 地址: 0xFFFF0100 完成。 默认值: 0x00000000 访问类型: 只读 • IRQ/FIQ中断——可根据优先级进行嵌套,最多允许8级 嵌套。FIQ中断的优先级高于IRQ中断。因此,当使能 FIQ和IRQ的矢量中断控制器且优先级为最高时,将有 可编程中断 可能形成16个不同的中断级。 由于可编程中断是无法屏蔽的,因此,它们由另外一个寄 存器(SWICFG)来控制,通过这个寄存器可以同时写入 IRQSTA和IRQSIG寄存器和/或FIQSTA和FIQSIG寄存器。 SWICFG 32位SWICFG寄存器用于设置软件中断,见表66。该寄存 器允许控制可编程源中断。 SWICFG 地址: 0xFFFF0010 默认值: 0x00000000 访问类型: 只写 IRQBASE IRQBASE(矢量基址寄存器)用于指向存储32位指针地址的 IRQBASE寄存器 表66. SWICFG 寄存器位功能描述 0 VIC 寄存器 地址。 名称: 1 器,可以为中断源分配不同的中断优先级(0至7)。 存储器的起始地址。这些指针地址是各个终端服务程序的 SWICFG寄存器 位 31:3 2 • 可编程中断优先级——通过设置IRQP0至IRQP2寄存 描述 保留。 可编程中断FIQ。将该位置1或清0,可将FIQSTA和 FIQSIG寄存器的位1置1或清0。 可编程中断IRQ。将该位置1或清0,可将IRQSTA和 IRQSIG寄存器的位1置1或清0。 保留。 名称: IRQBASE 地址: 0xFFFF0014 默认值: 0x00000000 访问类型: 读、写 表67. IRQBASE 寄存器位功能描述 位 31:16 15:0 访问类型 只读 读/写 初始值 保留 0 描述 读出的数值始终为0。 矢量基地址。 IRQVEC 注意,任何中断信号的有效时间不得少于中断延迟时间, IRQVEC(IRQ中断矢量寄存器)指向包含指向一个存储地 这样才能保证中断信号能够被中断控制器检测到或者被用 址,该地址包含当前活动IRQ的中断服务程序的指针。当 户在IRQSTA或FIQSTA寄存器中检测到。 产生IRQ中断,且已通过设置IRQCONN的位0启用IRQ中 断嵌套功能后,该寄存器为只读的。 矢量中断控制器(VIC) ADuC7060/ADuC7061集成一个增强的中断控制系统或矢 IRQVEC寄存器 量中断控制器。通过设置IRQCONN寄存器的位0,可以启 名称: IRQVEC 用针对IRQ中断源的矢量中断控制器。同样,通过设置 地址: 0xFFFF001C IRQCONN寄存器的位1,可以启用针对FIQ中断源的矢量 默认值: 0x00000000 中断控制器。矢量中断控制器在以下几个方面增强了标准 访问类型: 只读 IRQ/FIQ中断: Rev. E | Page 62 of 108 ADuC7060/ADuC7061 表68. IRQVEC 寄存器位功能描述 IRQP1寄存器 位 31:23 22:7 6:2 名称: IRQP1 地址: 0xFFFF0024 默认值: 0x00000000 访问类型: 读、写 1:0 访问类型 初始值 0 只读 0 只读 0 只读 保留 0 描述 读出的数值始终为0。 IRQBASE寄存器值。 最高优先级IRQ中断源。这些位 存储的数据对应0至19其中的一 个数字,代表可能的中断源。例 如,如果当前活动的优先级最高 的IRQ是定时器1,那么这些位的 值为[01000]。 保留位。 优先级寄存器 中断优先级寄存器IRQP0、IRQP1和IRQP2为每一个中断源 设置各自的中断优先级。中断优先级共分为8级(第0至7 级),其中第0级为最高优先级。 表70. IRQP1 寄存器位功能描述 位 31 30:28 27 26:24 23 22:20 19 18:16 名称 保留 I2CMPI 保留 IRQ1PI 保留 IRQ0PI 保留 SPIMPI 描述 保留位。 为I2C主机设置中断优先级(0至7)。 保留位。 为IRQ1设置中断优先级(0至7)。 保留位。 为IRQ0设置中断优先级(0至7)。 保留位。 为SPI主机设置中断优先级(0至7)。 保留 UARTPI 保留 ADCPI 保留位。 为UART设置中断优先级(0至7)。 保留位。 为ADC中断源设置中断优先级(0至7)。 保留 保留位。 名称: IRQP0 地址: 0xFFFF0020 15 14:12 11 10:8 默认值: 0x00000000 7:0 访问类型: 读、写 IRQP0寄存器 IRQP2寄存器 表69. IRQP0 寄存器位功能描述 名称: IRQP2 位 31:27 26:24 23 22:20 名称 保留 T3PI 保留 T2PI 描述 保留位。 为定时器3设置中断优先级(0至7)。 保留位。 为定时器2设置中断优先级(0至7)。 地址: 0xFFFF0028 默认值: 0x00000000 访问类型: 读、写 19 18:16 保留 T1PI 保留位。 为定时器1设置中断优先级(0至7)。 15 14:12 保留 T0PI 保留位。 为定时器0设置中断优先级(0至7)。 11:7 6:4 3:0 保留 SWINTP 保留 保留位。 为软件中断源设置中断优先级(0至7)。 中断0不能设置优先级。 表71. IRQP2 寄存器位功能描述 位 31:15 14:12 11 10:8 7 6:4 3 2:0 Rev. E | Page 63 of 108 名称 保留 IRQ3PI 保留 IRQ2PI 保留 SPISPI 保留 I2CSPI 描述 保留位。 为IRQ3设置中断优先级(0至7)。 保留位。 为IRQ2设置中断优先级(0至7)。 保留位。 为SPI从机设置中断优先级(0至7)。 保留位。 为I2C从机设置中断优先级(0至7)。 ADuC7060/ADuC7061 IRQCONN IRQSTAN寄存器 IRQCONN寄存器为IRQ和FIQ控制寄存器,它包含两个有 名称: IRQSTAN 效位:第一位用于使能IRQ中断的嵌套和优先级设置,第 地址: 0xFFFF003C 二位用于使能FIQ中断的嵌套和优先级设置。 默认值: 0x00000000 将这两位清0,则FIQ和IRQ始终可用,但无法嵌套IRQ或 访问类型: 读、写 FIQ。此外,也无法设置中断源的中断优先级。在此默认 表73. IRQSTAN 寄存器位功能描述 状态下,FIQ的优先级高于IRQ的优先级。 位 31:8 IRQCONN寄存器 名称 保留 7:0 描述 这些位为保留位,不允许向其中写入数据。 将该位置1,可以使能FIQ中断嵌套。将该 位清0,则不能设置FIQ中断嵌套及优先级。 名称: IRQCONN 地址: 0xFFFF0030 默认值: 0x00000000 FIQVEC 访问类型: 读、写 FIQVEC(FIQ中断矢量寄存器)指向包含指向一个存储地 址,该地址包含当前活动FIQ的中断服务程序的指针。当 表72. IRQCONN 寄存器位功能描述 产生FIQ中断,且已通过设置IRQCONN的位1启用FIQ中断 位 31:2 1 名称 保留 ENFIQN 嵌套功能后,该寄存器为只读的。 0 ENIRQN 描述 这些位为保留位,不允许向其中写入数据。 将该位置1,可以使能FIQ中断嵌套。将该位 清0,则不能设置FIQ中断嵌套及优先级。 将该位置1,可以使能IRQ中断嵌套。将该位 清0,则不能设置IRQ中断嵌套及优先级。 FIQVEC寄存器 名称: FIQVEC 地址: 0xFFFF011C 默认值: 0x00000000 IRQSTAN 访问类型: 只读 如果IRQCONN[0]被断言且IRQVEC被读取,则这些位中 表74. FIQVEC 寄存器位功能描述 的一位将被断言。IRQ的优先级决定了第几位将被断言。 如果IRQ中断的优先级为0,则位0被断言;如果IRQ中断 的优先级为1,则位1被断言;以此类推。将该寄存器中的 某一位置1,可屏蔽所有与该位所对应的中断具有相同或 更低优先级的中断。 位 31:23 22:7 6:2 名称 只读 只读 初始值 0 0 0 1:0 保留 0 如需清0该寄存器中的某一位,必须先将其它与更高优先 级对应的位清0。一次只能清0一位。例如,如果该寄存器 的 值 为 0x09, 第 一 次 写 0xFF可 以 将 该 寄 存 器 的 值 改 为 0x08,再一次写0xFF可以将该寄存器的值改为0x00。 Rev. E | Page 64 of 108 描述 读出的数值始终为0。 IRQBASE寄存器值。 最高优先级FIQ中断源。这些位 存储的数据对应0至19其中的一 个数字,代表可能的中断源。例 如,如果当前活动的优先级最高 的FIQ是定时器1,那么这些位的 值为[01000]。 保留位。 ADuC7060/ADuC7061 FIQSTAN 外部中断(IRQ0至IRQ3) 如果IRQCONN[1]被断言且FIQVEC被读取,则这些位中的 ADuC7060/ADuC7061可支持4个外部中断源。这些外部中 一位将被断言。FIQ的优先级决定了第几位将被断言。如 断源可单独配置为电平触发、上升沿/下降沿触发。 果FIQ的优先级为0,则位0被断言;如果FIQ中断的优先级 为1,则位1被断言;以此类推。 为使能外部中断源,首先必须将FIQEN或IRQEN寄存器的 适当位置1。必须正确配置IRQCONE寄存器,才可以选择 将该寄存器中的某一位置1,可屏蔽所有与该位所对应的 中断具有相同或更低优先级的中断。 所需的边沿或电平触发。 设置IRQCLRE中的适当位,可以清除边沿触发的外部IRQ 如需清0该寄存器中的某一位,必须先将其它与更高优先 中断。 级对应的位清0。一次只能清0一位。例如,如果该寄存器 IRQCONE寄存器 的 值 为 0x09, 第 一 次 写 0xFF可 以 将 该 寄 存 器 的 值 改 为 0x08,再一次写0xFF可以将该寄存器的值改为0x00。 FIQSTAN寄存器 名称: FIQSTAN 地址: 0xFFFF013C 默认值: 0x00000000 访问类型: 读、写 名称: IRQCONE 地址: 0xFFFF0034 默认值: 0x00000000 访问类型: 读、写 表75. FIQSTAN 寄存器位功能描述 位 31:8 7:0 名称 保留 描述 这些位为保留位,不允许向其中写入数据。 将该位置1,可以使能FIQ中断嵌套。将该位 清0,则不能设置FIQ中断嵌套及优先级。 表76. IRQCONE 寄存器位功能描述 位 31:8 7:6 名称 保留 IRQ3SRC[1:0] 5:4 IRQ2SRC[1:0] 3:2 IRQ1SRC[1:0] 1:0 IRQ0SRC[1:0] 描述 这些位为保留位,不允许向其中写入数据。 [11] = 外部IRQ3在下降沿触发。 [10] = 外部IRQ3在上升沿触发。 [01] = 外部IRQ3在低电平时触发。 [00] = 外部IRQ3在高电平时触发。 [11] = 外部IRQ2在下降沿触发。 [10] = 外部IRQ2在上升沿触发。 [01] = 外部IRQ2在低电平时触发。 [00] = 外部IRQ2在高电平时触发。 [11] = 外部IRQ1在下降沿触发。 [10] = 外部IRQ1在上升沿触发。 [01] = 外部IRQ1在低电平时触发。 [00] = 外部IRQ1在高电平时触发。 [11] = 外部IRQ0在下降沿触发。 [10] = 外部IRQ0在上升沿触发。 [01] = 外部IRQ0在低电平时触发。 [00] = 外部IRQ0在高电平时触发。 Rev. E | Page 65 of 108 ADuC7060/ADuC7061 IRQCLRE寄存器 名称: IRQCLRE 地址: 0xFFFF0038 默认值: 0x00000000 访问类型: 读、写 表77. IRQCLRE 寄存器位功能描述 位 31:20 19 名称 保留 IRQ3CLRI 18 IRQ2CLRI 17:15 14 保留 IRQ1CLRI 13 IRQ0CLRI 12:0 保留 Rev. E | Page 66 of 108 描述 这些位为保留位,不允许向其中写入数据。 必须在IRQ3中断服务程序中在该位写入1, 以清除边沿触发的IRQ3中断。 必须在IRQ2中断服务程序中在该位置1, 以清除边沿触发的IRQ2中断。 这些位为保留位,不允许向其中写入数据。 必须在IRQ1中断服务程序中在该位置1, 以清除边沿触发的IRQ1中断。 必须在IRQ0中断服务程序中在该位置1, 以清除边沿触发的IRQ0中断。 这些位为保留位,不允许向其中写入数据。 ADuC7060/ADuC7061 定时器 ADuC7060/ADuC7061具有4个通用定时器/计数器。 表78. 定时器事件捕捉 • 定时器0 位 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 • 定时器1或唤醒定时器 • 定时器2或看门狗定时器 • 定时器3 这4个定时器可以在自由模式或周期模式下工作。 当工作在自由模式下时,计数器从最大值或最小值开始递 减/递增至0或满量程,然后在从最大值/最小值重新开始递 减/递增。 当工作在周期模式下时,计数器以载入寄存器(TxLD 寄存 器)中的值为起始值,开始递减/递增计数至0或满量程,然 后再以该寄存器中的值为起始值,重新开始计数。注意, 在配置TxCON 寄存器前,必须配置TxLD 寄存器。 定时器间隔可通过下式计算: 如果将定时器设置为递减计数,那么 描述 保留 定时器0 定时器1或唤醒定时器 定时器2或看门狗定时器 定时器3 保留 保留 保留 ADC UART SPI XIRQ0 XIRQ1 I2C主机 I2C从机 PWM XIRQ2 (GPIO IRQ2) XIRQ3 (GPIO IRQ3) 间隔 = (TxLD x 预分频器) / 源时钟 时:分:秒:1/128格式 如果将定时器设置为递增计数,那么 如需使用定时器的时:分:秒:百位数格式,则应选择32768 kHz 间隔 = ((满量程 - TxLD) x 预分频器) / 源时钟 时钟和256预分频器。百位数字段不代表毫秒,而是一秒的 通过访问计数器的值寄存器(TxVAL),可以随时读出计数 器的值。通过对某一定时器的控制寄存器(TxCON)进行写 操作,可以启动相应的定时器。 在正常模式下,每当计数器的值达到0(递减计数)或满量 程(递增计数)时,都会产生一个IRQ中断。向某一定时器 (TxCLRI)的清除寄存器内写入任一数据,可以清除IRQ 中断。 1/128 (256/32768)。代表时、分、秒的位在寄存器中不是连 续的。使用TxCON[5:4]设置的“时:分:秒:百位数”格式时,这 一配置适用于TxLd和TxVAL。详情参见表79。 表79. 时:分:秒:百位数格式 位 31:24 23:22 21:16 15:14 13:8 7 6:0 Rev. E | Page 67 of 108 数值 0至23或0至255 0 0至59 0 0至59 0 0至127 说明 小时 保留 分钟 保留 秒 保留 1/128秒 ADuC7060/ADuC7061 定时器0 定时器0载入寄存器 定时器0是一个带有可编程预分频器的32位通用定时器,可 名称: T0LD 递增计数或递减计数。预分频器源可以是低功耗32.768 kHz 地址: 0xFFFF0320 振荡器、内核时钟或两个外部通用输入输出端口中的任意 默认值: 0x00000000 一个。预分频系数为1、16、256或32768。这样,在忽略外 访问类型: 读、写 部通用输入输出端口、预分频系数为1的条件下,定时器的 功能: T0LD是一个32位寄存器,它保存载入 最小分辩率能够达到97.66 ns。 计数器的32位数值。 计数器可以采用标准的32位数格式或者时间格式(小时:分 定时器0清除寄存器 钟:秒:百分之一秒)。 名称: T0CLRI0xFFFF0320 n. 定时器0有一个捕捉寄存器(T0CAP),它可以被选定的IRQ 地址: 0xFFFF032C 中断源初始断言所触发。中断触发时,定时器的当前值被 默认值: 只写 复制到T0CAP内,与此同时,定时器继续运行。该功能可 访问类型: 通过用户代码向该8位只写寄存器写入 用来更精确地判断事件断言。注意:只有IRQ中断源已被 功能: 任意值,可以清除中断。 使能的外围设备才能使用定时器捕捉功能。 定时器0值寄存器 定时器0接口有5个寄存器:T0LD、T0VAL、T0CAP、 T0CLRI和T0CON。 • T0LD、T0VAL和T0CAP均为32位寄存器,用于保存32 位无符号整数;其中T0VAL和T0CAP为只读寄存器。 • T0CLRI是一个8位寄存器。向该寄存器内写入任意值, 名称: T0VAL 地址: 0xFFFF0324 默认值: 0xFFFFFFFF 访问类型: 只读 功能: T0VAL是一个32位寄存器,可用于保 可清除定时器0中断。 存定时器0的当前值。 • T0CON是一个配置寄存器,如表80所示。 定时器0带有一个后分频器,允许用户对定时器0超时次数 进行计数,计数范围为1至256。如需要激活后分频器,用 户 需 将 T0CON寄 存 器 的 位 18置 1, 并 向 该 寄 存 器 的 位 [24:31]内写入所需的数值。当达到设定的超时次数后,如 果T0CON[18]置1,则定时器0就会产生一个中断。 注意,当器件处于低功耗模式且定时器0从GPIO或低功耗 振荡器源处接收时钟信号时,定时器0仍继续工作。 当产生定时器0溢出后,定时器0从T0LD寄存器中重新载入 数值。 32-BIT LOAD 32.768kHz OSCILLATOR CORE CLOCK FREQUENCY/CD CORE CLOCK FREQUENCY PRESCALER 1, 16, 256, OR 32,768 32-BIT UP/DOWN COUNTER 8-BIT POSTSCALER TIMER0 IRQ GPIO IRQ[31:0] CAPTURE 图23. 定时器0框图 Rev. E | Page 68 of 108 07079-017 TIMER0 VALUE ADuC7060/ADuC7061 定时器0捕捉寄存器 名称: T0CAP0xFFFF0518 地址: 0xFFFF0330 默认值: 0x00000000 访问类型: 只读 功能: 该32位寄存器用于保存被使能IRQ事件所捕捉的32位数值。 定时器0控制寄存器 名称: T0CON 地址: 0xFFFF0328 默认值: 0x01000000 访问类型: 读、写 功能: 该32位寄存器用于设置定时器0的工作模式。 表80. T0CON 寄存器位功能描述 位 31:24 名称 T0PVAL 描述 23 T0PEN 定时器0使能后分频器。 将该位置1,可以使能定时器0后分频器。使能后,在T0LD所定义的T0CON[31:24]个时钟周期后 产生中断。 将该位清0,将禁用定时器0后分频器。 22:20 19 T0PCF 18 T0SRCI 定时器0中断源。 将该位置1,可选择从后分频器计数器产生中断。 将该位清0,可选择直接从定时器0产生中断。 17 T0CAPEN 事件使能位。 用户置1,可使能对事件的实时捕捉。 用户清0,可禁用对事件的实时捕捉。 16:12 11 10:9 T0CAPSEL 事件选择位[17:0]。事件见表78。 保留位。 时钟选择。 [00] = 32.768 kHz. [01] = 10.24 MHz/CD. [10] = 10.24 MHz. [11] = P1.0. 8 T0DIR 递增计数。 用户置1,定时器0递增计数。 用户清0,定时器0递减计数(默认)。 7 T0EN 定时器0使能位。 用户置1,使能定时器0。 用户清0,禁用定时器0(默认)。 6 T0MOD 定时器0模式。 用户置1,选择周期模式。 用户清0,选择自由模式(默认)。 T0CLKSEL 8位后分频器。 向该8位写入,可将值写入后分频器。写入0,则视为1。 对这8位进行读操作,得到计数器的当前值。 保留。这些位保留,应由用户代码写入0。 后分频器比较标志位,只读。如果定时器0溢出次数等于向后分频器内写入的值,则该位置1。 Rev. E | Page 69 of 108 ADuC7060/ADuC7061 位 5:4 名称 T0FORMAT 描述 数据格式。 [00] = 二进制(默认)。 [01] = 保留。 [10] = 小时:分钟:秒:百分之一秒(23至0小时)。 [11] = 小时:分钟:秒:百分之一秒(255至0小时)。 3:0 T0SCALE 预分频器。 [0000] = 时钟源/1(默认)。 [0100] = 时钟源/16。 [1000] = 时钟源/256。 [1111] = 时钟源/32768。注意:其它所有值均未定义。 定时器1或唤醒定时器 定时器1载入寄存器 定时器1是一个带有可编程预分频器的32位唤醒定时器, 可递增计数或递减计数。预分频器直接从四种时钟源接收 时钟信号,即内核时钟(默认选择)、外部32.768 kHz时钟晶 振或32.768 kHz振荡器。所选的时钟源可经1、16、256或 32768分频。当内核时钟被禁用后,唤醒定时器仍继续工 作。这样,当内核在10.24 MHz频率下工作时,如预分频 系数为1且忽略外部通用输入输出端口,定时器的最小分 辨率能够达到97.66 ns。 名称: T1LD 地址: 0xFFFF0340 默认值: 0x00000000 访问类型: 读、写 功能: T1LD是一个32位寄存器,用于保存载入 计数器的32位数值。 计数器可以采用标准的32位数格式或者时间格式(小时:分 钟:秒:百分之一秒)。 定时器1清除寄存器 名称: 当产生定时器1溢出时或当执行T1LD写操作后,定时器1将 从T1LD载入数值。 T1CLRI 地址: 0xFFFF034C 定时器1接口有4个寄存器: 访问类型: 只写 • T1LD和T1VAL均为32位寄存器,用于保存32位无符号 整数。T1VAL为只读寄存器。 • T1CLRI是一个8位寄存器。向其中写入任意值,可以清 除定时器1中断。 • T1CON是一个配置寄存器,如表81所示。 功能: 通过用户代码向该8位只写寄存器写入 任意值,可以清除中断。 定时器1值寄存器 名称: T1VAL 地址: 0xFFFF0344 默认值: 0xFFFFFFFF 访问类型: 只读 功能: T1VAL是一个32位寄存器,可用于保存 定时器1的当前值。 Rev. E | Page 70 of 108 ADuC7060/ADuC7061 32-BIT LOAD 32.768kHz OSCILLATOR CORE CLOCK PRESCALER 1, 16, 256, OR 32,768 EXTERNAL 32.768kHz WATCH CRYSTAL 32-BIT UP/DOWN COUNTER TIMER1 IRQ TIMER1 VALUE 07079-018 CORE CLOCK FREQUENCY/CD 图24. 定时器1框图 定时器1控制寄存器 名称: T1CON 地址: 0xFFFF0348 默认值: 0x0000 访问类型: 读、写 功能: 该16位寄存器用于设置定时器1的工作模式。 表81. T1CON 寄存器位功能描述 位 15:11 10: 9 名称 8 T1DIR 7 T1EN 6 T1MOD 5:4 T1FORMAT 3:0 T1SCALE T1CLKSEL 描述 保留。 时钟源选择。 [00] = 32.768 kHz振荡器。 [01] = 10.24 MHz/CD。 [10] = XTALI。 [11] = 10.24 MHz。 递增计数。 用户置1,定时器1递增计数。 用户清0,定时器1递减计数(默认)。 定时器1使能位。 用户置1,使能定时器1。 用户清0,禁用定时器1(默认)。 定时器1模式。 用户置1,选择周期模式。 用户清0,选择自由模式(默认)。 数据格式。 [00] = 二进制(默认)。 [01] = 保留。 [10] = 小时:分钟:秒:百分之一秒(23至0小时)。只在采用32 kHz时钟时有效。 [11] = 小时:分钟:秒:百分之一秒(255至0小时)。只在采用32 kHz时钟时有效。 预分频器。 [0000] = 时钟源/1(默认)。 [0100] = 时钟源/16。 [1000] = 时钟源/256。此设置应采用小时:分钟:秒:百分之一秒格式,与定时器1配合使用。见表81中所列 位[5:4]的格式10和格式11。 [1111] = 时钟源/32768。 Rev. E | Page 71 of 108 ADuC7060/ADuC7061 定时器2或看门狗定时器 定时器2接口 定时器2有两种工作模式:正常模式和看门狗模式。看门 狗定时器用于强制处理器从非法软件状态恢复到正常工作 状态。一旦看门狗定时器被使能,它需要周期性服务来阻 止自身强制处理器执行复位操作。 定时器2接口有4个寄存器: 当产生定时器2溢出时或当执行T2CLRI写操作后,定时器2 将从T2LD载入数值。 正常模式 在正常模式下的定时器2和在16位工作模式下的定时器0相 同(除时钟源不同以外)。时钟源采用低功耗32.768 kHz振荡 器,分频系数共有1、16和256三种。 看门狗模式 通过设置T2CON位[5],进入看门狗模式。定时器2以T2LD 寄存器中的超时值作为初始值,进行递减计数,直至计数 值为0。当使用1/256预分频时,最大的超时时间为512秒, 且为T2LD的满量程。 Flash/EE存储器完成一次页擦除操作和内核执行需要20 ms,为 避免与此发生任何冲突,用户软件不得将超时周期设为小 于30 ms。 当T2VAL到达0后,根据T2CON[1]的值决定系统产生复位 还是中断。为避免产生复位或者中断,必须在T2VAL达到 0之前,向T2CLRI内写入任意值。此操作可将T2LD的值重 新载入计数器内,且重新开始一个新的超时周期。 一旦进入看门狗模式,T2LD和T2CON就会被写保护。除 非通过上电复位将看门狗定时器复位,否则,无法修改这 两个寄存器内的数据。其它任何复位事件产生后,看门狗 定时器仍会继续计数。为避免无限循环地执行看门狗复位 操作,需在用户代码的开始部分对看门狗定时器进行设 置。用户软件应将最短超时周期定义为30 ms。 定时器2在JTAG调试访问期间自动暂停,且只有当JTAG放 弃对ARM7内核的控制权后才会重新开始计数。默认情况 下,定时器2可在断电期间继续计数。为禁用此功能,可 将T2CON位0置位。建议采用默认值,即在断电期间仍允 许看门狗定时器继续计数。 • T2CON是一个配置寄存器,如表82所示。 • T2LD和T2VAL均为16位寄存器(位0至15),用于保存16 位无符号整数。T2VAL为只读寄存器。 • T2CLRI是一个8位寄存器。在正常模式下向这个寄存器 写入任意值,将清除定时器2中断;在看门狗模式下向 这个寄存器写入任意值,则重新开始一个超时周期。 定时器2载入寄存器 名称: T2LD 地址: 0xFFFF0360 默认值: 0x3BF8 访问类型: 读、写 功能: 该16位寄存器用于保存定时器2的重新 载入值。 定时器2清除寄存器 名称: T2CLRI 地址: 0xFFFF036C 访问类型: 只写 功能: 在看门狗模式下,通过用户代码向该8 位只写寄存器写入任意值,可刷新(重 新载入)定时器2,以防止产生看门狗定 时器复位。 定时器2值寄存器 名称: T2VAL 地址: 0xFFFF0364 默认值: 0x3BF8 访问类型: 只读 功能: 该16位只读寄存器用于保存定时器2的当 前计数值。 16-BIT LOAD PRESCALER 1, 16, 256 16-BIT UP/DOWN COUNTER TIMER2 VALUE 图25. 定时器2框图 Rev. E | Page 72 of 108 WATCHDOG RESET TIMER2 IRQ 07079-019 32.768kHz ADuC7060/ADuC7061 定时器2控制寄存器 名称: T2CON 地址: 0xFFFF0368 默认值: 0x0000 访问类型: 读、写 功能: 该16位寄存器用于配置定时器2的工作模式,该寄存器功能的详细说明见表82。 表82. T2CON 寄存器位功能描述 位 15:9 8 名称 T2DIR 7 T2EN 6 T2MOD 5 WDOGMDEN 4 3:2 T2SCALE 1 WDOGENI 0 T2PDOFF 描述 保留。这些位保留,应由用户代码写入0。 递增/递减计数使能。 用户代码置1,可将定时器2的计数方式设定为递增计数。 用户代码清0,可将定时器2的计数方式设定为递减计数。 定时器2使能。 用户代码置1,使能定时器2。 用户代码清0,禁用定时器2。 定时器2工作模式。 用户代码置1,可将定时器2的工作模式设定为周期模式。 用户代码清0,可将定时器2的工作模式设定为自由模式。 看门狗定时器模式使能。 用户代码置1,使能看门狗模式。 用户代码清0,禁用看门狗模式。 保留。这些位保留,应由用户代码写入0。 定时器2时钟(32.768 kHz)预分频器。 00 = 32.768 kHz (默认)。 01 = 时钟源/16。 10 = 时钟源/256。 11 = 保留。 看门狗定时器IRQ使能。 用户代码置1,在看门狗计数值为0时产生IRQ中断而非复位。 用户代码清0,禁用IRQ选项。 当断电时,定时器2停止工作。 用户代码置1,在利用POWCON0 寄存器的位4使外设断电后,定时器2将停止工作。 用户代码清0,则当利用POWCON0 寄存器的位4使外设断电时,使能定时器2。 Rev. E | Page 73 of 108 ADuC7060/ADuC7061 定时器3 定时器3值寄存器 定时器3是一个带有可编程预分频器的16位通用定时器, 可递增计数或递减计数。定时器3采用内核时钟或低功耗 32.768 kHz振荡器(预分频系数为1、16、256或32768)作为其 时钟源。 名称: T3VAL 地址: 0xFFFF0384 默认值: 0xFFFF 定时器3有一个事件捕捉寄存器(T3CAP),它可以被选定的 IRQ中断源初始断言所触发。中断触发时,定时器的当前 值将被复制到T3CAP内,与此同时,定时器继续运行。此 功能可用来更精确地判断事件断言。 访问类型: 只读 功能: T3VAL是一个16位寄存器,可用于保存 定时器3的当前值。 定时器3接口有5个寄存器: 定时器3捕捉寄存器 • T3LD、T3VAL和T3CAP均为16位寄存器,用于保存16 位无符号整数。T3VAL和T3CAP均为只读寄存器。 • T3CLRI是一个8位寄存器。向其中写入任意值就可以清 除中断。 • T3CON是配置寄存器,如表83所示。 名称: T3CAP 地址: 0xFFFF0390 默认值: 0x0000 访问类型: 只读 定时器3载入寄存器 功能: 这是一个16位寄存器,用于保存使能 IRQ事件所捕捉的16位数值。 名称: T3LD 地址: 0xFFFF0380 默认值: 0x0000 访问类型: 读、写 功能: T3LD是一个16位寄存器,它保存载入计 数器的16位数值。 定时器3控制寄存器 定时器3清除寄存器 名称: T3CLRI 地址: 0xFFFF038C 访问类型: 只写 功能: 通过用户代码向该8位只写寄存器写入 任意值,可以清除中断。 名称: T3CON 地址: 0xFFFF0388 默认值: 0x00000000 访问类型: 读、写 功能: 该32位寄存器用于设置定时器3的工作 模式。 Rev. E | Page 74 of 108 ADuC7060/ADuC7061 表83. T3CON 寄存器位功能描述 位 31:18 17 名称 16:12 11 10:9 T3CAPSEL 8 T3DIR 7 T3EN 6 T3MOD 5:4 3:0 T3SCALE T3CAPEN T3CLKSEL 描述 保留。 事件使能位。 用户置1,可使能对事件的实时捕捉。 用户清0,可禁用对事件的实时捕捉。 事件选择范围(0至17)。事件如表78所示。 保留。 时钟选择。 [00] = 32.768 kHz振荡器。 [01] = 10.24 MHz/CD。 [10] = 10.24 MHz。 [11] = 保留。 递增计数。 用户置1,可将定时器3的计数方式设定为递增计数。 用户清0,可将定时器3的计数方式设定为递减计数(默认)。 定时器3使能位。 用户置1,可使能定时器3。 用户清0,可禁用定时器3(默认)。 定时器3工作模式。 用户置1,选择周期模式。 用户清0,选择自由模式(默认模式)。 保留。 预分频器。 [0000] = 时钟源/1(默认)。 [0100] = 时钟源/16。 [1000] = 时钟源/256。 [1111] = 时钟源/32768。 Rev. E | Page 75 of 108 ADuC7060/ADuC7061 脉宽调制器 脉宽调制器概述 ADuC7060/ADuC7061集成了一个6通道脉宽调制器(PWM) 接口。PWM输出即可用于驱动H桥或也可作为标准PWM PWMxCOMx 寄存器用于控制在各种模式下改变PWM输出 状态的时间点。第一对PWM输出示例(PWM0和PWM1)如 图26所示。 输出。上电后,PWM输出的默认为H桥。这可以确保在默 HIGH SIDE (PWM0) 认状态下电机是关闭的。在标准PWM模式下,从三对 PWM引脚内输出信号。用户既可以控制每一对输出引脚 LOW SIDE (PWM1) 的工作周期,又可以单独控制每一个输出端的占空比。 表84. PWM 寄存器 PWM0COM1 PWM0COM2 PWM0LEN PWM1COM0 PWM1COM1 PWM1COM2 PWM1LEN PWM2COM0 PWM2COM1 PWM2COM2 PWM2LEN PWMCLRI 描述 PWM控制。 用于比较PWM输出0和PWM输出1的比较 寄存器0。 用于比较PWM输出0和PWM输出1的比较 寄存器1。 用于比较PWM输出0和PWM输出1的比较 寄存器2。 用于PWM输出0和PWM输出1的频率控制。 用于比较PWM输出2和PWM输出3的比较 寄存器0。 用于比较PWM输出2和PWM输出3的比较 寄存器1。 用于比较PWM输出2和PWM输出3的比较 寄存器2。 用于PWM输出2和PWM输出3的频率控制。 用于比较PWM输出4和PWM输出5的比较 寄存器0。 用于比较PWM输出4和PWM输出5的比较 寄存器1。 用于比较PWM输出4和PWM输出5的比较 寄存器2。 用于PWM输出4和PWM输出5的频率控制。 PWM中断清除寄存器。 PWM0COM2 PWM0COM1 PWM0COM0 07079-020 寄存器名称 PWMCON PWM0COM0 PWM0LEN 图26. PWM时序 通过PWMCON,可将PWM时钟频率设定为以下值之一: UCLK除以2/4/8/16/32/64/128/256。PWMxLEN用于设定 PWM周期长度。 PWM波形由16位定时器的计数值和比较寄存器的内容来 决定,如图26所示的PWM0和PWM1的波形。 当定时器计数值达到PWM0LEN时,低端波形(PWM1)变为 高电平;当定时器计数值达到PWM0COM2内所保存的数 值或者当高端波形(PWM0)变为低电平时,PWM1变为低 电平。 当定时器计数值达到PWM0COM0内所保存的数值时,高 端 波 形 (PWM0)变 为 高 电 平 ; 当 定 时 器 计 数 值 达 到 PWM0COM1内所保存的数值时,PWM0变为低电平。 PWMCON控制寄存器 名称: PWMCON 地址: 默认值: 访问类型: 读、写 功能: 该16位寄存器用于设置PWM输出。 Rev. E | Page 76 of 108 ADuC7060/ADuC7061 表85. PWMCON 寄存器位功能描述 位 15 14 名称 保留 Sync 13 PWM5INV 12 PWM3INV 11 PWM1INV 10 PWMTRIP 9 ENA 8:6 PWMCP[2:0] 5 POINV 4 HOFF 3 LCOMP 2 DIR 1 HMODE 0 PWMEN 1 描述 该位为保留位。不可对该位进行写操作。 使能PWM同步功能。 用户置1,那么,当检测到P1.2/SYNC引脚上的由高到低变换后,所有PWM计数器将在下一个时钟沿复位。 用户置0,则可以忽略在P1.2/SYNC引脚上发生的高低变换。 用户置1,可以将PWM5反相。 用户清0,PWM5在正常模式下工作。 用户置1,可以将PWM3反相。 用户清0,PWM3在正常模式下工作。 用户置1,可以将PWM1反相。 用户清0,PWM1在正常模式下工作。 用户置1,可使能PWM触发中断。当PWM触发中断(P1.3/TRIP引脚)处于低电平时,PWMEN位被清0,且产生中断。 用户清0,可禁用PWMTRIP中断。 当HOFF = 0且HMODE = 1时,该位可用。注意:该位仅在H桥模式下有效。 用户置1,可使能PWM输出。 用户清0,可禁用PWM输出。 如HOFF = 1且HMODE = 1,参见表86。 PWM时钟预分频器位。设置UCLK分频数。 [000] = UCLK/2。 [001] = UCLK/4。 [010] = UCLK/8。 [011] = UCLK/16。 [100] = UCLK/32。 [101] = UCLK/64。 [110] = UCLK/128。 [111] = UCLK/256。 用户置1,可反相所有PWM输出。 用户清0,则允许正常的PWM输出。 屏蔽高端。 用户置1,可强制PWM0和PWM2输出高电平信号。这样做的结果是强制PWM1和PWM3输出低电平信号。 用户清0,则允许正常的PWM输出。 载入比较寄存器。 用户置1后,在PWM定时器进行从0x00到0x01的下一次变换时,PWMxCOMx的值将被载入内部比较寄存器。 用户清0,以允许使用保存在内部比较寄存器中的数值。 方向控制。 用户置1,则当PWM2和PWM3处于低电平状态时,使能PWM0和PWM1作为输出信号。用户置0,则当 PWM0和PWM1处于低电平状态时,使能PWM2和PWM3作为输出信号。 启用H桥模式1。 用户置1,以启用H桥模式、使能PWMCON寄存器的位1至位5。 用户清0,以便让PWM在标准模式下工作。 用户置1,可使能全部PWM输出。 用户清0,可禁用全部PWM输出。 在H桥模式下,HMODE = 1。关于PWM输出选择的说明,见表86。 Rev. E | Page 77 of 108 ADuC7060/ADuC7061 上电后,PWMCON寄存器的默认值为0x0012(HOFF = 1、 HMODE = 1)。在默认状态下,PWM相关的所有GPIO引脚 均被设定为在PWM模式下工作(见表86)。通过向PWMCLRI 寄存器写入任意值,可以清除PWM触发中断。注意:当 使用PWM触发中断时,在退出中断服务程序前,将清除 PWM中断。这样可以防止同时产生多个中断。 表86. PWM输出选择 ENA 0 X 1 1 1 1 1 2 HOFF 0 1 0 0 0 0 PWMCON 寄存器1 POINV X X 0 0 1 1 PWM输出2 DIR X X 0 1 0 1 PWM0 1 1 0 HS1 HS1 1 PWM1 1 0 0 LS1 LS1 1 PWM2 1 1 HS1 0 1 HS1 PWM3 1 0 LS1 0 1 LS1 X表示无关。 HS = 高端;LS = 低端。 表87. 比较寄存器 名称 PWM0COM0 PWM0COM1 PWM0COM2 PWM1COM0 PWM1COM1 PWM1COM2 PWM2COM0 PWM2COM1 PWM2COM2 地址 0xFFFF0F84 0xFFFF0F88 0xFFFF0F8C 0xFFFF0F94 0xFFFF0F98 0xFFFF0F9C 0xFFFF0FA4 0xFFFF0FA8 0xFFFF0FAC 默认值 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 Rev. E | Page 78 of 108 访问类型 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 ADuC7060/ADuC7061 PWM0COM0比较寄存器 PWM1COM0比较寄存器 名称: PWM0COM0 名称: PWM1COM0 地址: 0xFFFF0F84 地址: 0xFFFF0F94 默认值: 0x0000 默认值: 0x0000 访问类型: 读、写 访问类型: 读、写 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM0输出引脚变为高电平。 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM2输出引脚变为高电平。 PWM0COM1比较寄存器 PWM1COM1比较寄存器 名称: PWM0COM1 名称: PWM1COM1 地址: 0xFFFF0F88 地址: 0xFFFF0F98 默认值: 0x0000 默认值: 0x0000 访问类型: 读、写 访问类型: 读、写 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM0输出引脚变为低电平。 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM2输出引脚变为低电平。 PWM0COM2比较寄存器 PWM1COM2比较寄存器 名称: PWM0COM2 名称: PWM1COM2 地址: 0xFFFF0F8C 地址: 0xFFFF0F9C 默认值: 0x0000 默认值: 0x0000 访问类型: 读、写 访问类型: 读、写 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM1输出引脚变为低电平。 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM3输出引脚变为低电平。 PWM0LEN寄存器 PWM1LEN寄存器 名称: PWM0LEN 名称: PWM1LEN 地址: 0xFFFF0F90 地址: 0xFFFF0FA0 默认值: 0x0000 默认值: 0x0000 访问类型: 读、写 访问类型: 读、写 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM1输出引脚变为高电平。 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM3输出引脚变为高电平。 Rev. E | Page 79 of 108 ADuC7060/ADuC7061 PWM2COM0比较寄存器 PWM2LEN寄存器 名称: PWM2COM0 名称: PWM2LEN 地址: 0xFFFF0FA4 地址: 0xFFFF0FB0 默认值: 0x0000 默认值: 0x0000 访问类型: 读、写 访问类型: 读、写 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM4输出引脚变为高电平。 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM5输出引脚变为高电平。 PWM2COM1比较寄存器 PWMCLRI寄存器 名称: PWM2COM1 名称: PWMCLRI 地址: 0xFFFF0FA8 地址: 0xFFFF0FB8 默认值: 0x0000 默认值: 0x0000 访问类型: 读、写 访问类型: 只写 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM5输出引脚变为低电平。 功能: 向其中写入任意值就可以清除PWM中断 源。在退出PWM中断服务程序前,必须 对该寄存器进行写操作;否则,将同时产 生多个中断。 PWM2COM2比较寄存器 名称: PWM2COM2 地址: 0xFFFF0FAC 默认值: 0x0000 访问类型: 读、写 功能: 当PWM定时器计数达到该寄存器所保存 的计数值时,PWM5输出引脚变为低电平。 Rev. E | Page 80 of 108 ADuC7060/ADuC7061 UART串行接口 ADuC7060/ADuC7061集成一个16450兼容的UART。该 UART是一个全双工通用异步接收器/发送器。UART的作 用是对从外设接收的数据字符进行串并转换、对从 ARM7TDMI处接收的数据字符进行并串转换。该UART有 一个小数分频器,能够促进高精度波特率的生成且支持网 络可寻址模式。ADuC7060/ADuC7061的P1.0/IRQ1/SIN/T0 和P1.1/SOUT引脚支持UART功能。 串行通信支持异步协议,支持各种字长、停止位以及奇偶 校验生成等选项(在配置寄存器内进行选择)。 波特率生成 ADuC7060/ADuC7061提供两种UART波特率生成模式:正 常450 UART波特率生成模式和ADuC7060/ADuC7061小数分 频器波特率生成模式。 正常456 UART波特率是内核时钟的一个分频,采用COMDIV0 和COMDIV1寄存器中的值(16位值,分频锁存器(DL))。标 准波特率生成公式为: 10.24 MHz (1) 16 × 2 × DL 表88列举了几种常见波特率值。 表88.利用标准波特率发生器的波特率 DL 0x21 0x11 0x3 波特率 9600 19,200 115,200 实际波特率 9696 18,824 106,667 百分比误差 1.01% 1.96% 7.41% ADuC7060/ADuC7061小数分频器 将小数分频器与正常波特率发生器配合使用,可以生成精 确、高速的波特率。 /2 M+ 10.24 MHz 16 × DL × 2 × (M + (2) N ) 2048 10.24 MHz N = 2048 Baud Rate × 16 × DL × 2 表89列举了几种常见波特率值。 表89.利用小数波特率发生器的波特率 波特率 9600 19,200 DL 0x21 0x10 M 1 1 N 21 85 实际波特率 9598.55 19,203 百分比误差 0.015% 0.015% 115,200 0x2 1 796 115,218 0.015% FBEN /16DL /(M + N/2048) UART UART接口包括下列11个寄存器: COMTX:8位发送寄存器。 COMRX:8位接收寄存器。 COMDIV0:分频锁存器(低字节)。 COMDIV1:分频锁存器(高字节)。 COMCON0:线路控制寄存器。 COMCON1:线路控制寄存器。 COMSTA0:线路状态寄存器。 COMSTA1:线路状态寄存器。 COMIEN0:中断使能寄存器。 COMIID0:中断识别寄存器。 COMDIV2:16位小数波特率分频寄存器。 COMTX、COMRX和COMDIV0共用相同的地址。当寄存 器COMCON0的位7清0时,允许访问寄存器COMTX和 COMRX。 当 寄 存 器 COMCON0或 COMCON1的 位 7置 1 时,允许访问COMDIV0或COMDIV1。 07079-021 CORE CLOCK 波特率 = UART寄存器定义 正常450 UART波特率生成 波特率 = 利用小数分频器计算波特率的公式如下: 图27. 小数分频器波特率生成 Rev. E | Page 81 of 108 ADuC7060/ADuC7061 UART发送寄存器。 UART分频锁存器寄存器1 向该8位寄存器(COMTX)写入数据后,允许利用UART发送 数据。 该8位寄存器保持控制UART波特率的分频锁存器的最高有 效字节。 CMTX寄存器 COMDIV1寄存器 名称: COMTX 名称: COMDIV1 地址: 0xFFFF0700 地址: 0xFFFF0704 访问类型: 只写 默认值: 0x00 访问类型: 读、写 UART接收寄存器 对该8位寄存器进行读操作,以接收UART发送的数据。 COMRX寄存器 名称: COMRX 地址: 0xFFFF0700 默认值: 0x00 访问类型: 只读 UART控制寄存器0 该8位寄存器(COMCON0)与COMCON1配合使用,可控制 UART操作。 COMCON0寄存器 UART分频锁存器寄存器0 该8位寄存器(COMDIV0)保持控制UART波特率的分频锁存 器的最低有效字节。 名称: COMCON0 地址: 0xFFFF070C 默认值: 0x00 访问类型: 读、写 COMDIV0寄存器 名称: COMDIV0 地址: 0xFFFF0700 默认值: 0x00 访问类型: 读、写 Rev. E | Page 82 of 108 ADuC7060/ADuC7061 表90. COMCON0 寄存器位功能描述 位 7 位 DLAB 6 BRK 5 SP 4 EPS 3 PEN 2 Stop 1:0 WLS 描述 分频锁存器访问。 用户置1,可允许访问寄存器COMDIV0和COMDIV1。 用户清0,禁止访问寄存器COMDIV0和COMDIV1但允许访问COMRX、COMTX和COMIEN0。 设置断开。 用户置1,可强制发送为0。 用户清0,采用正常模式工作。 强制奇偶校验。用户置1,强制奇偶校验为定义值。 如果EPS = 1且PEN = 1,则置1。 如果EPS = 0且PEN = 1,则清0。 偶校验选择位。 置1,以选择偶校验。 清0,以选择奇校验。 奇偶校验使能位。 用户置1,以发送并检查奇偶校验位。 用户清0,则既不发送也不检查奇偶校验。 停止位。 用户置1后,如果字长为5位则传送1.5个停止位;如果字长为6、7或8位,则传送2个停止位。 不论所选停止位的个数是多少,接收器只检查第一个停止位。 用户清0,则在发送的数据中只产生一个停止位。 字长选择。 [00] = 5位。 [01] = 6位。 [10] = 7位。 [11] = 8位。 Rev. E | Page 83 of 108 ADuC7060/ADuC7061 UART控制寄存器1 该8位寄存器与COMCON0配合使用,可控制UART操作。 COMCON1寄存器 位: COMCON1 地址: 0xFFFF0710 默认值: 0x00 访问类型: 读、写 表92. COMSTA0 寄存器位功能描述 位 7 6 名称 5 THRE 4 BI 3 FE 2 PE 1 OE 0 DR TEMT 表91. COMCON1 寄存器位功能描述 位 7:5 4 名称 LOOPBACK 3:2 1 RTS 0 DTR 描述 保留位。未使用。 回送。用户置1,使能回送模式。在 回送模式下,发送引脚被强制处于高 电平的状态。 保留位。未使用。 发送请求位。 用户置1,可强制RTS输出为0。 用户清0,可强制RTS输出为1。 数据终端就绪位。 用户置1,可强制DTR输出为0。 用户清0,可强制DTR输出为1。 UART状态寄存器0 COMSTA0寄存器 位: COMSTA0 地址: 0xFFFF0714 默认值: 0x60 访问类型: 只读 功能: 该8位只读寄存器用于反映UART的 当前状态。 Rev. E | Page 84 of 108 描述 保留。 COMTX和移位寄存器空状态位。 当COMTX和移位寄存器为空时,该位 自动置1。该位指示数据已发送;即移 位寄存器不再保持数据。 如果COMTX被写入数据,该位自动清0。 COMTX空状态位。 当COMTX为空时,该位自动置1。该位 置1便可向COMTX内写入数据;但前面 数据可能还未发送,且可能仍保存在 移位寄存器内。 如果COMTX被写入数据,该位自动清0。 断开指示符。 当P1.0/IRQ1/SIN/T0引脚处于低电平的 时间超过最大字长时,该位被置1。 该位自动清0。 帧错误。 当停止位无效时,该位被置1。 该位自动清0。 奇偶校验错误。 当产生奇偶校验错误时,该位被置1。 该位自动清0。 溢出错误。 如当前数据在读取前被覆盖,该位自动 置1。 该位自动清0。 数据就绪。 当COMRX满时,该位自动置1。 COMRX读取后,该位清0。 ADuC7060/ADuC7061 UART状态寄存器1 COMSTA1寄存器 位: COMSTA1 地址: 0xFFFF0718 默认值: 0x00 访问类型: 只读 功能: COMSTA1为调制解调器状态寄存器。 表94. COMIEN0 寄存器位功能描述 表93. COMSTA1 寄存器位功能描述 位 7:5 4 3:1 0 位 CTS DCTS 描述 保留。未使用。 清除发送。 保留。未使用。 ΔCTS。 在上一次读取COMSTA1后,如果CTS改变状 态,则DCTS自动置1。 读取COMSTA1后,该位自动清0。 位 7:4 3 位 2 ELSI 1 ETBEI 0 ERBFI EDSSI 描述 保留。未使用。 调制解调器状态中断使能位。 用户置1后,当COMSTA1[4]或COMSTA1[0] 被置1时,允许产生中断。 由用户清0。 接收状态中断使能位。 用户置1后,当COMSTA0[3:1]寄存器任一位 被置1时,使能中断产生。 由用户清0。 使能发送缓冲空中断。 用户置1后,在发送期间,如果缓冲器为空 (即COMSTA0[5]置1),则使能中断。 由用户清0。 使能接收缓冲满中断。 用户置1后,在接收期间,当缓冲器满时, 使能中断。 由用户清0。 UART中断识别寄存器0 COMIID0寄存器 UART中断使能寄存器0 COMIEN0寄存器 位: COMIEN0 位: COMIID0 地址: 0xFFFF0704 地址: 0xFFFF0708 默认值: 0x00 默认值: 0x01 访问类型: 读、写 访问类型: 只读 功能: 该8位寄存器用于使能或禁用单独的UART 中断源。 功能: 该8位寄存器用于反映UART中断源。 Rev. E | Page 85 of 108 ADuC7060/ADuC7061 表95. COMIID0 寄存器位功能描述 状态位 [2:1] 00 11 位0 1 0 优先级 10 0 2 01 0 3 00 0 4 1 定义 无中断 接收线路状态 中断 接收缓冲满 中断 发送缓冲空 中断 调制解调器 状态中断 表96. COMDIV2 寄存器位功能描述 清除操作 位 15 名称 FBEN 14:13 12:11 FBM[1:0] 10:0 FBN[10:0] 读取COMSTA0 读取COMRX 将数据写入 COMTX或读取 COMIID0 读COMSTA1 寄存器 UART小数分频器寄存器 该16位寄存器COMDIV2用于控制ADuC7060/ADuC7061小 数分频器操作。 COMDIV2寄存器 名称: COMDIV2 地址: 0xFFFF072C 默认值: 0x0000 访问类型: 读、写 Rev. E | Page 86 of 108 描述 小数波特率发生器使能位。 用户置1,使能小数波特率发生器。 用户清0,以利用标准450 UART波特率 发生器来生成波特率。 保留。 M值。当FBM = 0时,M = 4。利用小数 分频器计算波特率参见公式2;常见波 特率值见表88。 N值。利用小数分频器计算波特率参见 公式2;常见波特率值见表88。 ADuC7060/ADuC7061 I2C ADuC7060/ADuC7061集成了一个I2C外设,用户可将该设 备配置成完全I2C兼容的I2C总线主机或者完全I2C总线兼容 的从机。引脚SDA和SCL用于数据传输,通过对这两个引 脚进行“线与”配置,可以在多主机系统中进行仲裁。这两 个引脚需要接外部上拉电阻。上拉电阻的典型电阻值的范 围为4.7 kΩ至10 kΩ。 用户可对I2C总线系统内的I2C总线外设进行编程。当发送 器不工作时,可随时修改这个ID。用户可以对接口进行配 置,以使其响应四个从机地址。 I2C系统的传输过程为:主机在总线处于空闲状态时通过产 生起始条件来初始化传输;在初始地址发送期间,主机发 送从机的地址和数据传输方向(read or write);如果主机没 有仲裁失效且从机进行了应答,那么开始向从机传输数 据;传输会持续到主机发送一个停止条件为止,然后总线 进入空闲状态。 在同一时刻,I2C外设无法既作为主机又作为从机。同一个 I2C通道不能同时支持主模式和从模式。 ADuC7060/ADuC7061的I2C接口具备以下特性: • 支持重复起始条件。在主机模式下,通过对ADuC7060/ ADuC7061进行编程,可以允许ADuC7060/ADuC7061重 复启动一次。在从机模式下,ADuC7060/ADuC7061可 识别重复起始条件。 • 在主机和从机模式下,器件可识别7位和10位总线地址。 • 在I2C主机模式下,ADuC7060/ADuC7061允许在一个传 输时序下,从单个从机中连续读取512字节数据。 • 总线上的其它器件可以使能时钟延展,这不会给 ADuC7060/ADuC7061带 来 任 何 问 题 。 不 过 , ADuC7060/ADuC7061无法使能时钟延展。 • 在从机模式下,通过对ADuC7060/ADuC7061进行编 程,可以允许其返回一个非应答信号(NACK)。这样, 可以保证在I2C数据传输结束时校验和字节是有效的。 • 在主机模式下,支持总线仲裁。 • 支持内、外部回送,用于I2C硬件测试。 • 在主、从机模式下,发送和接收电路均有两字节的FIFO 缓存。为用户提供状态位,以便控制上述FIFO缓存。 I2C功能的外部引脚配置 ADuC7060/ADuC7061的 P0.1/SCLK/SCL引 脚 和 P0.3/ MOSI/SDA引脚中支持I2C功能的是P0.1和P0.3。P0.1的功能 是传输I2C时钟信号(SCL),而P0.3的功能是传输I2C数据信 号(SDA)。为将P0.1和P0.3用于I2C模式,需将GP0CON0寄 存器的位4和位12分别置1。另外,GP0CON1寄存器的位1 必须为1,以使能I2C模式。 注 意 : 在 对 GP0CON1寄 存 器 进 行 写 操 作 前 , 必 须 将 GP0KEY1寄存器的值设置为0x7。在对GP0CON1寄存器进 行写操作之后,必须立刻将GP0KEY2寄存器的值设置为 0x13。详见下列代码示例: GP0CON0 = BIT4 + BIT12; // Select SPI/I2C alternative function for P0.1 and P0.3 GP0CON1 = BIT1; // Select I2C functionality for P0.1 and P0.3 GP0KEY1 = 0x7; GP0KEY2 = 0x13; // Write to GP0KEY1 // Write to GP0KEY2 Rev. E | Page 87 of 108 ADuC7060/ADuC7061 系统中的I2C主机生成发送串行时钟。主机通道经过配置, 可以在快速模式(400 kHz)或标准模式(100 kHz)下工作。 I2CID0[7:1] = 地址位[6:0]。 I2CID1[2:0] = 地址位[9:7]。 I2CID1[7:3]的值必须为11110b。 I2CDIV 寄存器中的比特率的定义如下: 主机模式 串行时钟生成 f SERIAL CLOCK 在主机模式下,I2CADR0寄存器用于存储器件的I2C地址。 fUCLK = (2 + DIVH ) + (2 + DIVL) 在7位地址模式下,I2CADR0[7:1]用于存储器件地址。 I2CADR0[0]是读/写位。 其中: fUCLK是分频之前的时钟。 DIVH是时钟高周期。 DIVL是时钟低周期。 在10位地址模式下,10位地址的组成如下: I2CADR0[7:3]的值必须为11110b。 I2CADR0[2:1] = 地址位[9:8]。 I2CADR1[7:0] = 地址位[7:0]。 I2CADR0[0]是读/写位。 因而,如果希望串行时钟为100 kHz,那么 应该配置DIVH = DIVL = 0x33 I2C寄存器 如果希望串行时钟为400 kHz, I2C外设接口由19个寄存器组成。其中,9个寄存器只与主 机相关,9个寄存器只与从机相关,剩下的一个寄存器为 主、从机共用。 应该配置DIVH = 0x0A, DIVL = 0x0F I2CDIV寄存器与DIVH:DIVL相对应。 I2C总线地址 从机模式 I2C主机寄存器 在从机模式下,I2CID0、I2CID1、I2CID2和I2CID3寄存器 包含器件ID。器件将4个I2CIDx寄存器的内容与从总线主 机处接收的地址字节相比较。为确保寻址准确,每一个ID 寄存器的7个MSB必须与最先接收到的地址字节的7个MSB 相同。在地址识别过程中,ID寄存器的LSB(发送器的方向 位)被忽略。 I2CMCON(I2C主机控制寄存器) ADuC7060/ADuC7061还支持10位寻址模式。当I2CSCON 寄存器的位1(ADR10EN)置1时,在从机模式下,系统支持 10位地址,且将该地址保存在I2CID0寄存器和I2CID1寄存 器之中。10位地址的组成如下: 名称: I2CMCON 地址: 0xFFFF0900 默认值: 0x0000 访问类型:读、写 功能: I2CID0[0]:读/写位,不属于I2C地址。 Rev. E | Page 88 of 108 该16位寄存器用于在主机模式下配置I2C外设。 ADuC7060/ADuC7061 表97. I2CMCON 寄存器位功能描述 位 15:9 8 位 I2CMCENI 7 I2CNACKENI 6 I2CALENI 5 I2CMTENI 4 I2CMRENI 3 2 I2CILEN 1 I2CBD 0 I2CMEN 描述 保留。这些位为保留位,不允许向其中写入数据。 I2C发送完成中断使能位。 将该位置1,则当从I2C总线上检测到停止条件时,产生中断。 清除该中断源。 I2C非应答信号(NACK)接收中断使能位。 置1,则当I2C主机接收到非应答信号时,产生中断。 清除该中断源。 I2C仲裁失效中断使能位。 置1,则当I2C主机没有获得对I2C总线的控制权时,产生中断。 清除该中断源。 I2C发送中断使能位。 置1,则当I2C主机完成一个字节的传输后,产生中断。 清除该中断源。 I2C接收中断使能位。 置1,则当I2C主机接收到数据时,产生中断。 用户清0,则在I2C主机接收数据的过程中,禁用中断。 保留。应向此位写入0值。 I2C内部回送使能位。 该位置1,可以使能回送测试模式。在该模式下,SCL和SDA信号在内部分别与各自的输入信号相连。 用户清0,可禁用回送模式。 I2C主机撤回禁用位。 置1,可允许器件与另一器件争夺对总线的控制权(即使另一个器件正在产生一个起始条件)。 清0,则在I2C总线释放,执行撤回。 I2C主机使能位。 用户置1,使能I2C主机模式。 用户清0,禁用I2C主机模式。 Rev. E | Page 89 of 108 ADuC7060/ADuC7061 I2CMSTA(I2C主机状态寄存器) 名称: I2CMSTA 地址: 0xFFFF0904 默认值: 0x0000 访问类型: 只读 功能: 该16位寄存器是主机模式下的I2C状态寄存器。 表98. I2CMSTA 寄存器位功能描述 位 15:11 10 位 9 I2CMRxFO 8 I2CMTC 7 I2CMND 6 I2CMBUSY 5 I2CAL 4 I2CMNA 3 I2CMRXQ 2 I2CMTXQ 1:0 I2CMTFSTA I2CBBUSY 描述 保留。这些位是保留的。 I2C总线忙碌状态位。 当从I2C总线上检测到起始条件后,该位被置1。 当从I2C总线上检测到停止条件后,该位被清0。 主机接收FIFO溢出。 接收FIFO已满后,又有一个字节的数据写入FIFO时,该位被置1。 在其它条件下,该位被清0。 I2C发送完成状态位。 当主机与从机之间完成一次传输后,该位被置1。如果I2CMCON寄存器的I2CMCENI位被置1,当该位的值为1时, 产生中断。 清除该中断源。 I2C主机非应答数据位。 在执行数据写传输过程中,当主机接收到一个非应答条件后,该位被置1。如果I2CMCON寄存器的I2CNACKENI位 被置1,当该位的值为1时,产生中断。 在其它条件下,该位被清0。 I2C主机忙碌状态位。 当主机忙于处理事务时,该位被置1。 当主机处于就绪状态或者当另一主机取得了总线控制权时,该位被清0。 I2C仲裁失效状态位。 当I2C主机未获得对I2C总线的控制权时,该位被置1。如果I2CMCON的I2CALENI位被置1,当该位的值为1时,产生 中断。 在其它条件下,该位被清0。 I2C主机非应答地址位。 当主机接收到一个与地址对应的非应答条件后,该位被置1。如果I2CMCON寄存器的I2CNACKENI位被置1,当该 位的值为1时,产生中断。 在其它条件下,该位被清0。 I2C主机接收请求位。 当数据进入接收FIFO后,该位被置1。如果I2CMCON的I2CMRENI位被置1,则产生中断。 在其它条件下,该位被清0。 I2C主机发送请求位。 如发送FIFO为空或仅包含一个字节且主机已经传输一个地址并执行了写操作,则该位置1。如果I2CMCON寄存器 的I2CMTENI位被置1,当该位被置1时,产生中断。 在其它条件下,该位被清0。 I2C主机发送FIFO状态位。 [00] = I2C主机发送FIFO为空。 [01] = 在主机发送FIFO中含有1个字节的数据。 [10] = 在主机发送FIFO中含有1个字节的数据。 [11] = I2C主机发送FIFO为空。 Rev. E | Page 90 of 108 ADuC7060/ADuC7061 I2CMRX(I2C主机接收寄存器) I2CMCNT1(I2C主机当前读取计数寄存器) 名称: I2CMRX 名称: I2CMCNT1 地址: 0xFFFF0908 地址: 0xFFFF0914 默认值: 0x00 默认值: t 0x00 访问类型: 只读 访问类型: 只读 功能: 该8位寄存器是I2C主机接收寄存器。 功能: 该8位寄存器用于保存在一次读序列中主机 从从机处接收到的字节数。 I2CMTX(I2C主机发送寄存器) 名称: I2CMTX 地址: 0xFFFF090C 默认值: 0x00 访问类型: 只写 功能: 该8位寄存器是I2C主机发送寄存器。 I2CADR0(I2C地址0寄存器) I2CMCNT0(I2C主机读取计数寄存器) 名称: I2CMCNT0 地址: 0xFFFF0910 默认值: 0x0000 访问类型: 功能: 名称 7:0 I2CRCNT I2CADR0 地址: 0xFFFF0918 默认值: 0x00 访问类型: 读、写 功能: 当主机开始与从机进行通信后,该8位寄存 器用于保存7位从机地址和读/写位。 表100. 7位地址模式下的I2CADR0 寄存器 位 7:1 名称 I2CADR 读、写 0 R/W 该16位寄存器用于保存主机需要从从机中读 取的字节数。 表101. 10位地址模式下的I2CADR0 寄存器 表99. I2CMCNT0 寄存器位功能描述 位 15:9 8 名称: I2CRECNT 描述 保留。 当需要从从机处读取的字节数多于256时, 该位置1。 当需要从从机处读取的字节数小于等于256 时,该位清0。 这8位所保存的数值为需要从从机处读取的 字节数减1的结果。如果只需要读取1个字 节,则将这些位清0。 位 7:3 名称 2:1 0 I2CMADR R/W Rev. E | Page 91 of 108 描述 这些位包含目标从机的7位地址。 位0为读/写位。 当该位置1时,表示需要读指令。 当该位清零时,表示需要写序列。 描述 在10位地址模式下,这些位的值必须为 [11110b]。 在10位寻址模式下,这些位包含ADDR[9:8]。 读/写位。 当该位置1时,表示需要读指令。 当该位清零时,表示需要写序列。 ADuC7060/ADuC7061 I2CDIV(I2C主机时钟控制寄存器) I2CADR1(I2C地址1寄存器) 名称: I2CADR1 名称: I2CDIV 地址: 0xFFFF091C 地址: 0xFFFF0924 默认值: 0x00 默认值: 0x1F1F 访问类型: 读、写 访问类型: 读、写 功能: 该8位寄存器只可用于10位寻址模式。它包 含地址的最低有效字节。 功能: 该寄存器用于控制SCL引脚上由主机产生 的I2C时钟的频率。更多详请,请参见“串行 时钟生成”部分。 表102. 10位地址模式下的I2CADR1 寄存器 表103. I2CDIV 寄存器位功能描述 位 7:0 位 15:8 7:0 名称 I2CLADR 描述 在10位寻址模式下,这些位包含ADDR[7:0]。 名称 DIVH DIVL 描述 这些位用于控制SCL高电平周期的持续时间。 这些位用于控制SCL低电平周期的持续时间。 I2C从机寄存器 I2CSCON(I2C从机控制寄存器) 名称: I2CSCON 地址: 0xFFFF0928 默认值: 0x0000 访问类型: 读、写 功能: 该16位寄存器用于在从机模式下配置I 2 C 外设。 Rev. E | Page 92 of 108 ADuC7060/ADuC7061 表104.I2CSCON 寄存器位功能描述 位 15:11 10 名称 9 I2CSRXENI 8 I2CSSENI 7 I2CNACKEN 6 5 I2CSETEN 4 I2CGCCLR 3 I2CHGCEN 2 I2CGCEN 广播使能位。将该位置1,可以让从机为I2C广播发送有效应答,写地址0x00。然后器件将识别一个数据位。 如果器件接收到的数据是0x06,即由硬件复位和对从机地址的可编程部分进行写操作,那么,根据2000年1 月的I2C总线规范,此时I2C接口复位。这个命令可用于复位整个I2C系统。如果接收到的数据为0x04,即由硬件 对从机地址可编程部分进行写操作,则当产生任一广播后,广播中断状态位被置位。在复位后,用户必须通 过重新对器件地址进行编程来进行恰当的操作。 1 ADR10EN 0 I2CSEN I2C 10位地址模式。 将该位置1,以启用10位地址模式。 将该位清0,以启用正常地址模式。 I2C从机使能位。 用户将该位置1,使能I2C从机模式。 清0,禁用I2C从机模式。 I2CSTXENI 描述 保留位。 从机发送中断使能位。 将该位置1,则当从机发送一个字节后,产生中断。 清除该中断源。 从机接收中断使能位。 将该位置1,则当从机接收到数据后,产生中断。 清除该中断源。 I2C停止条件检测中断使能位。 将该位置1,则当从I2C总线上检测到停止条件时,产生中断。 清除该中断源。 I2C非应答使能位。 将该位置1,则对传输序列中的下一字节不作出应答。 将该位清0,可允许硬件对应答/非应答序列进行控制。 保留。应向此位写入0值。 I2C发送前中断使能位。 将该位置1,则允许在读位发送的过程中,在SCL正向沿之后立刻产生发送请求中断。 将该位置1,则允许在读位发送的过程中,在SCL负向沿之后立刻产生发送请求中断。 I2C广播状态与ID清除位。 向该位写入1,可清除I2CSSTA寄存器中的呼叫状态与ID位。 在其它状况下,该位被清0。 硬件广播使能位。当该位和位2置1时,如果已接收到一个广播信号(地址为0x00)和1字节数据,器件将对接收 寄存器中的数据和I2CALT中的数据进行比较。如果数据匹配,器件接收到一个硬件广播。这个功能主要用于 当器件需要紧急呼叫一个主机而又不知道呼叫哪一个时,这是“对可能相关的主机”的呼叫。ADuC7060/ ADuC7061可监视这些地址。故器件需将自己的地址嵌入到消息中。所有的主机都会侦听这些消息,然后其中 合适的主机会同这个器件连接进行需要的操作。根据2000年1月的I2C总线规范,I2CALT寄存器的LSB应该始终 写入1。 Rev. E | Page 93 of 108 ADuC7060/ADuC7061 I2CSSTA(I2C从机状态寄存器) 名称: I2CSSTA 地址: 0xFFFF092C 默认值: 0x0000 访问类型: 读、写 该16位寄存器是从机模式下的I2C状态寄存器。 表105. I2CSSTA 寄存器位功能描述 位 15 14 名称 13 I2CREPS 12:11 I2CID[1:0] 10 I2CSS 9:8 I2CGCID[1:0] 7 I2CGC 6 I2CSBUSY 5 I2CSNA 4 I2CSRxFO 3 I2CSRXQ I2CSTA 描述 保留位。 当检测到匹配地址后面的起始条件并接收了起始字节(0x01)后,或者当产生了一个广播且接收到广播的代码 0x00后,该位被置1。 当接收到停止条件后,该位清0。 检测到重复起始条件时,将该位置1。 接收到停止条件后,该位清0。I2CSSTA寄存器度数将该位也清0。 I2C地址匹配寄存器。这些位用于表示哪个I2CIDx寄存器与接收到的地址相匹配。 [00] = 接收到的地址与I2CID0相匹配。 [01] = 接收到的地址与I2CID1相匹配。 [10] = 接收到的地址与I2CID2相匹配。 [11] = 接收到的地址与I2CID3相匹配。 起始检测位后的I2C停止条件。 检测到起始位和匹配地址后,如检测到停止位,则该位置1。如果I2CSCON的I2CSSENI位置1,则产生中断。 读该寄存器,该位清0。 I2C广播ID位。 [00] = 未收到广播。 [01] = 广播复位和程序地址。 [10] = 通用程序地址。 [11] = 广播匹配可供选择的ID。 注意:无法通过广播复位命令来清除这些位。 通过向I2CSCON的I2CGCCLR位写入1,可清除这些位。 I2C广播状态位。 从机接收到任何类型的广播命令后,该位置1。从机接收到复位命令后,寄存器返回各自的默认状态。从机 接收到硬件广播命令后,接收FIFO将保存命令的第2个字节,它可以与I2CALT寄存器的值进行比较。 通过向I2CSCON的I2CGCCLR位写入1,可将该位清0。 I2C从机忙碌状态位。 从机接收到起始条件后,该位置1。 发生下列情形之一,硬件会自动清除该位:如接收到的地址与I2CIDx寄存器的内容不匹配,从机收到停止 条件,或重复起始地址与I2CIDx寄存器的内容不匹配。 I2C从机非应答数据位。 从机发出非应答信号以响应总线地址时,该位被置1。在下列条件下,该位被断言:从机因发送FIFO内无数据 而返回一非应答信号,或者I2CSCON寄存器的I2CNACKEN位被置位。 在其它条件下,该位被清0。 从机接收FIFO溢出。 接收FIFO已满后,又有一个字节的数据写入FIFO时,该位被置1。 在其它条件下,该位被清0。 I2C从机接收请求位。 从机的接收FIFO不为空时,该位被置1。I2CSCON寄存器的I2CSRXENI位置1时,将I2CSRXQ置1,将产生中断。 通过对接收FIFO执行读操作或清除操作,该位清0。 Rev. E | Page 94 of 108 ADuC7060/ADuC7061 位 2 名称 I2CSTXQ 1 I2CSTFE 0 I2CETSTA 描述 I2C从机发送请求位。 从机接收到一个匹配的地址并执行读操作后,该位被置1。如果I2CSCON寄存器的I2CSETEN位清0,则在 读位发送的过程中,SCL负向沿之后,I2CSTXQ的值立即被置1。如果I2CSCON寄存器的I2CSETEN位置1, 则在读位发送的过程中,SCL正向沿之后,I2CSTXQ的值立即被置1。I2CSCON寄存器的I2CSTXENI位置1 时,将I2CSTXQ置1,将产生中断。 在其它条件下,该位被清0。 I2C从机FIFO下溢状态位。 主机要求从机发送数据时,如果发送FIFO为空,则该位变为高电平。在读位操作期间,在SCL上升沿对 该位进行断言。 在其它条件下,该位被清0。 I2C从机传输前FIFO状态位。 如果I2CSCON寄存器的I2CSETEN位清0,则当从机发送FIFO为空时,I2CETSTA变为高电平。如果 I2CSCON寄存器的I2CSETEN位置1,则在写位发送的过程中,该位在SCL正向沿出现后立即变为高电平。 在一次传输过程中,该位只能被断言一次。 对该位执行读操作后,该位被清0。 I2CSRX(I2C从机接收寄存器) I2CALT(I2C硬件广播识别寄存器) 名称: I2CSRX 名称: I2CALT 地址: 0xFFFF0930 地址: 0xFFFF0938 默认值: 0x00 默认值: 0x00 访问类型: 只读 访问类型: 读、写 功能: 该8位寄存器是I2C从机接收寄存器。 功能: I2CSCON寄 存 器 的 位 3置 1时 , 8位 的 I2CALT寄存器可用于识别硬件广播。主 机无法为从机生成地址,相反,从机必须 为主机生成地址时,该寄存器便可以发挥 它的作用了。 I2CSTX(I2C从机发送寄存器) 名称: I2CSTX 地址: 0xFFFF0934 默认值: 0x00 I2CIDx(I2C从机ID寄存器) 访问类型: 只写 名称: I2CIDx 功能: 该8位寄存器是I2C从机发送寄存器。 地址: 0xFFFF093C = I2CID0 0xFFFF0940 = I2CID1 0xFFFF0944 = I2CID2 0xFFFF0948 = I2CID3 默认值: 0x00 访问类型: 读、写 功能: 功能:通过编程,可在这些8位寄存器内 编程从机的I2C总线ID。详情请参见对I2C 总线地址部分的说明。 Rev. E | Page 95 of 108 ADuC7060/ADuC7061 I2C公共寄存器 I2CFSTA(I2C FIFO状态寄存器) 名称: I2CFSTA 地址: 0xFFFF094C 默认值: 0x0000 访问类型: 读、写 功能: 该16位寄存器用于存储在主、从机模 式下接收/发送FIFO的状态。 表106. I2CFSTA 寄存器位功能描述 位 15:10 9 8 7:6 名称 5:4 I2CMTXSTA 3:2 I2CSRXSTA 1:0 I2CSTXSTA Rev. E | Page 96 of 108 I2CFMTX I2CFSTX I2CMRXSTA 描述 保留位。 将该位置1,以清除主机发送FIFO。 将该位置1,以清除从机发送FIFO。 I2C主机接收FIFO状态位。 [00] = FIFO为空。 [01] = FIFO字节写入。 [10] = FIFO中有1字节数据。 [11] = FIFO已满。 I2C主机发送FIFO状态位。 [00] = FIFO为空。 [01] = FIFO字节写入。 [10] = FIFO中有1字节数据。 [11] = FIFO已满。 I2C从机接收FIFO状态位。 [00] = FIFO为空。 [01] = FIFO字节写入 [10] = FIFO中有1字节数据 [11] = FIFO已满 I2C从机发送FIFO状态位。 [00] = FIFO为空。 [01] = FIFO字节写入。 [10] = FIFO中有1字节数据。 [11] = FIFO已满。 ADuC7060/ADuC7061 串行外设接口 ADuC7060/ADuC7061片内集成了一个完整的硬件串行外 设接口(SPI)。SPI是一个工业标准同步串行接口,允许同 时双向传输8位数据(即,全双工),最大比特率可达5.12 Mbps。 在从机模式下,可对SPICON寄存器进行设置,以配置预 期输入时钟的相位和极性。从机可以从外部主机处接收数 据(速率可达5.12 Mbps)。 该SPI端口可配置为主机或从机操作,一般由4个引脚组 成:MISO、MOSI、SCLK和SS。 在主机或从机模式下,在SCLK信号的一个沿启动数据发 送,在该信号的另一个沿启动数据采样。因此,从机时钟 的极性和相位必须与主机的配置一致。 MISO(主机输入,从机输出)引脚 在主模式下,MISO引脚被配置为输入;在从模式下,配 置为输出。主机上的MISO线路(数据输入)应与从机内的 MISO线路(数据输出)相连。传输的数据均为以字节宽(8位) 为单位的串行数据,最高有效位最先被传输。 MOSI(主机输出,从机输入)引脚 从机选择(P0.0/SS)输入引脚 在SPI从机模式时,在P0.0/SS引脚上断言SS,可启动一次数 据传输。该引脚为一个低电平有效信号。然后,SPI端口开 始发送和接收8位数据,直到发送结束时为止,此时SS无 效。在从机模式下,SS总是输入。 在主模式下,MISO引脚被配置为输出,在从模式下,配 置为输入。主机上的MOSI线路(数据输出)应与从机内的 MOSI线路(数据输入)相连。传输的数据均为以字节宽(8位) 为单位的串行数据,最高有效位最先被传输。 在SPI主机模式下,SS是低电平有效输出信号。传输开始 后,它自动断言;传输完成后,它自动无效。 SCLK(串行时钟输入/输出)引脚 • P0.0/SS:从机片选引脚。在从机模式下,该引脚作为输入 引脚,必须通过主机将其驱动为低电平。在主机模式下, 该引脚为输出引脚。当传输开始后,该引脚的电平为低 电平,当传输完成后,该引脚的电平为高电平。 • P0.1/SCLK/SCL:SCLK引脚。 • P0.2/MISO:主机输入、从机输出(MISO)引脚。 • P0.3/MOSI/SDA:主机输出、从机输入(MOSI)引脚。 主机串行时钟(SCL)用于在MOSI SCLK周期内同步发送和接 收数据。所以,每隔8个SCLK周期,芯片发送/接收一个字 节。在主机模式下,SCLK引脚配置成输出,而在从机模式 下,配置成输入。 在主机模式下,时钟的极性和相位由SPICON寄存器控 制,SPIDIV寄存器的值决定了比特率。比特率的计算公式 如下: f SERIAL CLOCK = f UCLK 2 × (1 + SPIDIV ) SPI时钟的最高频率与时钟分频器位无关。 SPI功能的外部引脚配置 ADuC7060/ADuC7061器件的SPI引脚由P0[0:3]引脚实现。 为了在SPI模式下对P0.0至P0.3进行配置,必须将GP0CON0 寄存器的位0、4、8、12分别置1。GP0CON1寄存器的位1 必须置1。注意:向GP0CON1内写入数据前,必须先将 GP0KEY1寄存器的值设置为0x7。在对GP0CON1寄存器进 行写操作之后,必须立刻将GP0KEY2寄存器的值设置为 0x13。详见下列代码示例: GP0CON0 = BIT0 + BIT4 + BIT8 + BIT12; //Select SPI/I2C alternative function for P0[0...3] GP0CON1 &=~ BIT1; //Select SPI functionality for P0.0 to P0.3 GP0KEY1 = 0x7; GP0KEY2 = 0x13; //Write to GP0KEY1 //Write to GP0KEY2 Rev. E | Page 97 of 108 ADuC7060/ADuC7061 SPI寄存器 下列寄存器寄存器可用来控制SPI接口:SPISTA、SPIRX、SPITX、SPIDIV和SPICON。 SPI状态寄存器 SPISTA寄存器 名称: SPISTA 地址: 0xFFFF0A00 默认值: 0x00000000 访问类型: 只读 功能: 该32位寄存器用于存储主、从机模式下SPI接口的状态。 表107. SPISTA 寄存器位功能描述 位 15:12 11 名称 10:8 SPIRXFSTA[2:0] 7 SPIFOF 6 SPIRXIRQ 5 SPITXIRQ 4 SPITXUF 3:1 SPITXFSTA[2:0] 0 SPIISTA SPIREX 描述 保留位。 SPI接收FIFO过剩字节存在。接收FIFO中的字节的个数超过由SPICON寄存器中的SPIMDE位规定的个数后, SPIREX被置1。 FIFO中的字节的个数不超过由SPICON寄存器中的SPIMDE位规定的个数时,该字节被清0。 SPI接收FIFO状态位。 [000] = 接收FIFO为空。 [001] = FIFO内有1个有效字节。 [010] = FIFO内有2个有效字节。 [011] = FIFO内有3个有效字节。 [100] = FIFO内有4个有效字节。 SPI接收FIFO溢出状态位。 接收FIFO已满,再一次向该FIFO内写入数据时,该位被置1。除非SPICON寄存器的SPIRFLH位置1,否则该 位被置1将产生一个中断。 读取SPISTA寄存器的内容后,该位被清0。 SPI接收IRQ状态位。 产生接收中断时,该位被置1。SPICON寄存器的SPITMDE位置1时,在接收到所需字节数后,SPIRXIRQ位被 置1。 读取SPISTA寄存器的内容后,该位被清0。 SPI发送IRQ状态位。 产生发送中断时,该位被置1。SPICON寄存器的SPITMDE位置1时,在发送所需字节数后,SPITXIRQ位被 置1。 读取SPISTA寄存器的内容后,该位被清0。 SPI发送FIFO下溢。 启动了一次发送操作且发送FIFO内没有有效数据时,该位被置1。除非SPICON寄存器的SPITFLH位置1, 否则该位被置1将产生一个中断。 读取SPISTA寄存器的内容后,该位被清0。 SPI发送FIFO状态位。 [000] = 发送FIFO为空。 [001] = FIFO内有1个有效字节。 [010] = FIFO内有2个有效字节。 [011] = FIFO内有3个有效字节。 [100] = FIFO内有4个有效字节。 SPI中断状态位。 SPI中断发生时,该位被置1。 读取SPISTA寄存器的内容后,该位被清0。 Rev. E | Page 98 of 108 ADuC7060/ADuC7061 SPI接收寄存器 SPIRX寄存器 名称: SPIRX 地址: 0xFFFF0A04 默认值: 0x00 访问类型: 只读 功能: 该8位寄存器是SPI接收寄存器。 SPI发送寄存器 SPITX寄存器 表108. SPIDIV MMR位功能描述 位 7:6 5:0 描述 保留 SPI波特率设置: fSERIAL CLOCK = f UCLK 2 × (1 + SPIDIV) SPI控制寄存器 SPICON寄存器 名称: SPICON 地址: 0xFFFF0A10 名称: SPITX 默认值: 0x0000 地址: 0xFFFF0A08 访问类型: 读/写 默认值: v 0x00 功能: 该16位寄存器用于在主机和从机模式下配置 访问类型: 只写 功能: 该8位寄存器是SPI发送寄存器。 SPI外设。 SPI波特率选择寄存器 SPIDIV寄存器 名称: SPIDIV 地址: 0xFFFF0A0C 默认值: 0x1B 访问类型: 只写 功能: 该8位寄存器是SPI波特率选择寄存器。 Rev. E | Page 99 of 108 ADuC7060/ADuC7061 表109. SPICON 寄存器位功能描述 位 15:14 名称 SPIMDE 描述 SPI IRQ模式位。在发送过程中发生发送/接收中断时,这些位被置1。 [00] = 发送完1个字节后,产生发送中断。FIFO接收到一个或一个以上字节后,产生接收中断。 [01] = 发送完2个字节后,产生发送中断。FIFO接收到两个或两个以上字节后,产生接收中断。 [10] = 发送完3个字节后,产生发送中断。FIFO接收到三个或三个以上字节后,产生接收中断。 [11] = 发送完4个字节后,产生发送中断。接收FIFO空间已满或有4个字节数据后,产生接收中断。 13 SPITFLH 12 SPIRFLH 11 SPICONT SPI发送FIFO清除使能位。 将该位置1,以清除发送FIFO。该位无法将其本身清0;需要一个单次清除操作时,应将该位置1。如果该位 的值总保持为1,那么,发送0x00还是最后被发送的数值取决于SPIZEN位的值。该位为1时,无法对发送FIFO 进行写操作。 将该位清0,可以禁用发送FIFO清除。 SPI接收FIFO清除使能位。 将该位置1,以清除接收FIFO。该位无法将其本身清0;需要一个单次清除操作时,应将该位置1。该位被置1 后,所有向接收FIFO写数据的操作将被忽略,且系统不产生中断。如果SPIRFLH = 1、SPITMDE = 0,对接收 FIFO执行读操作可以启动一次数据传输。 将该位清0,可以禁用接收FIFO清除。 连续发送使能。 用户置1可以使能连续发送功能。在主机模式下,主机连续发送数据,直到发送寄存器内无有效数据为止。 SS被置位后,在每一次8位串行传输期间,如发送寄存器不为空,SS可始终保持有效。 将该位清0,可禁用连续发送功能。 每一次发送8位串行数据。 如果SPITX寄存器中存在有效数据,那么在一个串行时钟停转周期后会重新开始发送数据。 10 SPILP 9 SPIOEN 8 SPIROW 7 SPIZEN 6 SPITMDE 5 SPILF 4 SPIWOM 3 SPICPO 2 SPICPH 回送使能位。 将该位置1,以便将MISO连接到MOSI,用于测试软件。 将该位清0,以返回正常模式。 从机MISO输出使能位。 将该位置1,以便让MISO在正常模式下工作。 将该位清0,可禁用MISO引脚上的输出驱动。该位被清0后,MISO引脚变为开漏极。 SPIRX上溢覆盖使能。 用户置1,则新接收到的串行数据将覆盖接收寄存器中的有效数据。 用户清0,则新接收到的串行数据会被丢弃。 发送FIFO为空时,SPI发送0。 将该位置1,则在发送FIFO无有效数据时,SPI发送0x00。 将该位清0,则在发送FIFO无有效数据时,SPI发送最后一次发送的数值。 SPI传输和中断模式。 用户置1,以启动数据传输,同时向SPITX寄存器写入数据。发送FIFO为空时,产生中断。 用户清0,以启动数据传输,同时从SPI寄存器中读取数据。接收FIFO为空时,产生中断。 LSB先发送使能位。 用户置1,先发送LSB。 用户清0,先发送MSB。 SPI线或模式使能位。 将该位置1,使能开漏极数据输出。数据输出引脚需要外部上拉电阻。 将该位清0,启动正常输出模式。 串行时钟极性模式位。 用户置1,则串行时钟空闲时高电平。 用户清0,则串行时钟空闲时低电平。 串行时钟相位模式位。 用户置1,串行时钟脉冲出现在每一个串行位发送的起始位置。 用户清0,串行时钟脉冲出现在每一个串行位发送的末尾。 Rev. E | Page 100 of 108 ADuC7060/ADuC7061 位 1 名称 SPIMEN 0 SPIEN 描述 主机模式使能位。 用户置1,使能主机模式。 用户清0,使能从机模式。 SPI使能位。 用户置1,使能SPI。 用户清0,禁用SPI。 Rev. E | Page 101 of 108 ADuC7060/ADuC7061 GPIO ADuC7060/ADuC7061共有16个双向通用输入/输出(GPIO) 引脚。一般情况下,通过用户代码设置,许多GPIO引脚可 以实现多种功能。在默认的情况下,GPIO引脚在GPIO模 式下工作。所有GPIO引脚都带有一个内部上拉电阻(驱动 电流为1.6 mA)。 所有输入输出引脚的电压均为3.3 V,也就是说,GPIO支持 的输入电压为3.3 V。 ADuC7060/ADuC7061进入节电模式后,GPIO引脚维持各 自原来的状态。 GPIO引脚被分为3组端口总线。 表110列出所有GPIO引脚以及它们的备选功能。通过向 GPxCON寄存器的某一位进行写操作,可以启动相应的 GPIO引脚的备选功能。 表110.GPIO多功能引脚的描述 端口 0 1 2 引脚名称 P0.0/SS P0.1/SCLK/SCL P0.2/MISO P0.3/MOSI/SDA P0.4/IRQ0/PWM1 P0.5/CTS P0.6/RTS P1.0/IRQ1/SIN/T0 P1.1/SOUT P1.2/SYNC P1.3/TRIP P1.4/PWM2 P1.5/PWM3 P1.6/PWM4 P2.0/IRQ2/PWM0/EXTCLK P2.1/IRQ3/PWM5 通过GPxCON(包括GP0CON0)进行配置 00 01 GPIO SS(SPI从机选择)。 GPIO SCLK/SCL (串行时钟/SPI时钟)。 GPIO MISO(SPI-主机输入/从机输出)。 GPIO MISO(SPI-主机输出/从机输入)。 GPIO/IRQ0 PWM1 (PWM输出1)。 GPIO CTS(UART清除发送引脚)。 GPIO RTS(UART请求发送引脚)。 GPIO/IRQ1 SIN(串行输入)。 GPIO SOUT(串行输出)。 GPIO PWM同步(PWM同步输入引脚)。 GPIO PWM触发(PWM触发输入引脚)。 GPIO PWM2 (PWM输出2)。 GPIO PWM3 (PWM输出3)。 GPIO PWM4 (PWM输出4)。 GPIO/IRQ2/EXTCLK PWM0 (PWM输出0)。 GPIO/IRQ3 PWM5 (PWM输出5)。 GPxCON寄存器 GPxCON是端口x(x为:0、1、2)的控制寄存器,它可以决定端口x中每一个引脚的功能。引脚功能如表112所示。 表111. GPxCON寄存器 名称 GP0CON0 GP1CON GP2CON 地址 0xFFFF0D00 0xFFFF0D04 0xFFFF0D08 默认值 0x00000000 0x00000000 0x00000000 Rev. E | Page 102 of 108 访问类型 读/写 读/写 读/写 ADuC7060/ADuC7061 表112. GPxCON 寄存器位功能描述 位 31:30 29:28 27:26 25:24 23:22 21:20 19:18 17:16 15:14 13:12 11:10 9:8 7:6 5:4 3:2 1:0 描述 保留。 保留。 保留。 选择P0.6/RTS引脚和P1.6/PWM引脚的功能。 保留。 选择P0.5/CTS引脚和P1.5/PWM3引脚的功能。 保留。 选择P0.4/IRQ0/PWM1引脚和P1.4/PWM2引脚的功能。 保留。 选择P0.3/MOSI/SDA引脚和P1.3/TRIP引脚的功能。 保留。 选择P0.2/MISO引脚和P1.2/SYNC引脚的功能。 保留。 选择P0.1/SCLK/SCL、P1.1/SOUT和P2.1/IRQ3/PWM5 引脚的功能。 保留。 选择P0.0/SS、P1.0/IRQ1/SIN/T0和P2.0/IRQ2/PWM0/ EXTCLK引脚的功能。 GPxPAR寄存器 通过对GPxPAR寄存器编程,可分别控制端口0、1、2的参 数。注意:在对GPxDAT 寄存器执行写操作前,必须先对 GPxPAR 寄存器执行写操作。注意:不可禁用P0.2引脚的 内部上拉电阻。 表113. GPxDAT寄存器 名称 GP0DAT GP1DAT GP2DAT 地址 0xFFFF0D20 0xFFFF0D30 0xFFFF0D40 GPxSET寄存器 GPxSET为端口x的数据设置寄存器。 表115. GPxSET寄存器 名称 GP0SET GP1SET GP2SET 23:16 15:8 7:0 默认值 0x000000XX 0x000000XX 0x000000XX 访问类型 写 写 写 表116. GPxSET 寄存器位功能描述 位 31:24 23:16 15:0 描述 保留。 数据端口x设置位。 用 户 置 1, 则 端 口 x的 相 应 位 被 置 位 , 同 时 , GPxDAT寄存器中的相应位也被置位。 用户清0不会影响数据输出。 保留。 GPxCLR寄存器 GPxCLR为端口x的数据清除寄存器。 表117. GPxCLR寄存器 名称 GP0CLR GP1CLR GP2CLR 地址 0xFFFF0D28 0xFFFF0D38 0xFFFF0D48 默认值 0x000000XX 0x000000XX 0x000000XX 访问类型 W W W 表118. GPxCLR 寄存器位功能描述 默认值 0x000000XX 0x000000XX 0x000000XX 访问类型 R/W R/W R/W 位 31:24 23:16 表114. GPxDAT 寄存器位功能描述 位 31:24 地址 0xFFFF0D24 0xFFFF0D34 0xFFFF0D44 描述 数据传输方向。 用户置1,可以将GPIO引脚配置为输出引脚。 用户清0,可以将GPIO引脚配置为输入引脚。 端口x数据输出。 反映复位时端口x引脚的状态(只读)。 端口x数据输入(只读)。 15:0 描述 保留。 数据端口x清除位。 用户置1,则端口x中的相应位被清0,同时GPxDAT 寄存器的相应位也被清0。 用户清0不会影响数据输出。 保留。 GPxPAR寄存器 通过对GPxPAR寄存器编程,可分别控制端口0、1、2的参 数。注意:在对GPxDAT 寄存器执行写操作前,必须先对 GPxPAR 寄存器执行写操作。注意:不可禁用P0.2引脚的 内部上拉电阻。 表119. GPxPAR寄存器 名称 GP0PAR GP1PAR GP2PAR Rev. E | Page 103 of 108 地址 0xFFFF0D2C 0xFFFF0D3C 0xFFFF0D4C 默认值 0x00000000 0x00000000 0x00000000 访问类型 R/W R/W R/W ADuC7060/ADuC7061 表120. GPxPAR 寄存器位功能描述 表122. GP0CON1 寄存器位功能描述 位 31:15 23:16 GPL[7:0] 位 7:2 1 名称 保留 SPII2CS EL 15:8 GPDS[7:0] 描述 这些位总是清0。 该位决定P0.0至P0.3在I2C模式还是SPI模式 下工作。注意:为使该位能够正常工作, 必须将GP0CON1寄存器位0清0。 将该位清0,则P0.0、P0.1、P0.2和P0.3在SPI 模式下工作。 将该位置1,则P0.0、P0.1、P0.2和P0.3在 I2C模式下工作。 7:0 GPPD[7:0] 0 ADCSEL 该位的默认值为0。 该位决定P0.0至 P0.3作为GPIO引脚还是 ADC输入引脚。 将该位置1,则P0.0、P0.1、P0.2和P0.3作 为ADC输入引脚。 将该位清0,则P0.0、P0.1、P0.2和P0.3作 为数字输入输出引脚。 该位的默认值为0。 名称 描述 保留。 通用输入输出端口引脚功能锁寄存器。 GPL[7:0] = 0:端口处于正常工作状态; GPL[7:0] = 1:如果每一个引脚的相应位均 为1,那么向GPxCON或GPxDAT的相应位 写入数据的操作是无效的。 驱动能力配置。该位是可配置的。 GPDS[x] = 0:最大源电流可达2 mA。 GPDS[x] = 1:最大源电流可达4 mA。 端口x[7:0]上拉禁用位。 GPPD[x] = 0:上拉电阻有效。 GPPD[x] = 1:上拉电阻无效。 GP0CON1控制寄存器 GP0CON1写入值如下:GP0KEY1 = 0x7,GP0CON1 = 用户 设定值,GP0KEY2 = 0x13。 名称: GP0CON1 名称 GP0KEY1 地址: 0xFFFF0468 地址: 0xFFFF0464 默认值: 0x00 默认值: 0xXXXX 访问类型: 读、写 访问类型: 只写 功能: 该寄存器用于控制多功能GPIO引脚P0.0、 P0.1、P0.2和P0.3的功能。 功能: 如需向GP0CON1寄存器写入数据,必须 首先通过指令向该寄存器内写入0x07。 名称: GP0KEY2 地址: 0xFFFF046C 默认值: 0xXXXX 访问类型: 只写 功能: 如需向GP0CON1寄存器写入数据,必须 首先通过指令向该寄存器内写入0x13。 表121. GP0CON1写序列 名称 GP0KEY1 GP0CON1 GP0KEY2 值 0x7 用户设定值 0x13 Rev. E | Page 104 of 108 ADuC7060/ADuC7061 硬件设计考虑 电源 DIGITAL SUPPLY ADuC7060/ADuC7061工作电压范围为2.375 V至2.625 V。模 拟电源引脚和数字电源引脚(分别对应AVDD和DVDD)是分 离的,因此,AVDD不受系统DVDD线路上经常出现的干 扰数字信号的影响。在这种模式下,器件可以在分离电源 下工作;也就是说,各个电源的电压可以是不同的。例如, 系统的DVDD工作电压为2.6 V,而AVDD电压为2.5 V;反之 亦然。图28是一个典型的分离电源配置。 + – ANALOG SUPPLY BEAD 10µF 10µF ADuC7060/ ADuC7061 DVDD AVDD 0.1µF 0.1µF DGND ANALOG SUPPLY DIGITAL SUPPLY + – 10µF 10µF 图29. 外部单电源连接 + – 注意:在图28和图29中,在DVDD处有一个大容值(10 μF) 储能电容,在AVDD处有一个10 μF的电容。此外,在芯片 的每一个AVDD和DVDD引脚都连接了一个小容值(0.1 μF) 电容。在标准的设计中,必须确保包括所有这些电容且电 容量越小的电容越接近AVDD引脚,布线长度也应尽量越 短越好。这些电容的接地线端直接连接到地平面即可。 ADuC7060/ ADuC7061 DVDD AVDD 0.1µF 0.1µF 07079-022 AGND DGND 07079-023 AGND 注意:无论在任何时候,ADuC7060/ADuC7061的模拟和 数字接地引脚必须以同一系统接地基准点为基准。 图28. 外部双电源连接 除了使用两个分离的电源以外,用户还可以通过在AVDD 和DVDD之间串联一个小电阻和/或磁珠来降低AVDD的噪 声,然后将AVDD对地单独去偶。图29所示的就是用这种 方法进行设计的一个示例。使用这种方法,其它模拟电路 (例如:运算放大器、基准电压源)也可以通过AVDD供电。 最后还要注意一点,当DVDD的电压为1.8 V时,它必须在 128 ms内斜升至2.25 V。这是内部上电复位电路要求必备的 条件。 Rev. E | Page 105 of 108 ADuC7060/ADuC7061 外形尺寸 5.00 BSC SQ 0.60 MAX 0.60 MAX 0.50 BSC 3.65 3.50 SQ 3.35 EXPOSED PAD 17 8 16 0.50 0.40 0.30 TOP VIEW 1.00 0.85 0.80 0.80 MAX 0.65 TYP 12° MAX SEATING PLANE 0.25 MIN BOTTOM VIEW 3.50 REF 0.05 MAX 0.02 NOM COPLANARITY 0.08 0.20 REF 0.30 0.25 0.18 9 FOR PROPER CONNECTION OF THE EXPOSED PAD, REFER TO THE PIN CONFIGURATION AND FUNCTION DESCRIPTIONS SECTION OF THIS DATA SHEET. COMPLIANT TO JEDEC STANDARDS MO-220-VHHD-2 04-13-2012-A 4.75 BSC SQ PIN 1 INDICATOR PIN 1 INDICATOR 32 1 25 24 图30. 32引脚LFCSP_VQ封装 5 mm × 5 mm,超薄体 (CP-32-4) 尺寸单位:mm 0.30 0.23 0.18 0.60 MAX 0.60 MAX 37 PIN 1 INDICATOR 6.85 6.75 SQ 6.65 1 0.50 REF 4.25 4.10 SQ 3.95 EXPOSED PAD 12 25 TOP VIEW 1.00 0.85 0.80 SEATING PLANE 12° MAX 0.80 MAX 0.65 TYP PIN 1 INDICATOR 48 36 0.50 0.40 0.30 13 24 BOTTOMVIEW 5.50 REF 0.05 MAX 0.02 NOM COPLANARITY 0.08 0.20 REF COMPLIANT TO JEDEC STANDARDS MO-220-VKKD-2 图31. 48引脚LFCSP_VQ封装, 7 mm x 7 mm ,超薄体 (CP-48-3) 尺寸单位:mm Rev. E | Page 106 of 108 0.25 MIN FOR PROPER CONNECTION OF THE EXPOSED PAD, REFER TO THE PIN CONFIGURATION AND FUNCTION DESCRIPTIONS SECTION OF THIS DATA SHEET. 06-06-2012-A 7.10 7.00 SQ 6.90 ADuC7060/ADuC7061 9.20 9.00 SQ 8.80 1.60 MAX 37 48 36 1 PIN 1 1.45 1.40 1.35 0.15 0.05 SEATING PLANE VIEW A 0.20 0.09 7° 3.5° 0° 0.08 COPLANARITY 7.20 7.00 SQ 6.80 TOP VIEW (PINS DOWN) 12 13 VIEW A 0.50 BSC LEAD PITCH ROTATED 90° CCW COMPLIANT TO JEDEC STANDARDS MS-026-BBC 24 25 0.27 0.22 0.17 051706-A 0.75 0.60 0.45 图32. 48引脚LQFP封装 (ST-48) 尺寸单位:mm 订购指南 型号1 ADuC7060BCPZ32 ADuC7060BCPZ32-RL ADuC7060BSTZ32 ADuC7060BSTZ32-RL ADuC7061BCPZ32 ADuC7061BCPZ32-RL EVAL-ADuC7060QSPZ EVAL-ADuC7061MKZ 1 温度范围 −40°C至+125°C −40°C至+125°C −40°C至+125°C −40°C至+125°C −40°C至+125°C −40°C至+125°C 封装描述 48引脚 LFCSP_VQ 48引脚 LFCSP_VQ 48引脚 LQFP 48引脚 LQFP 32引脚 LFCSP_VQ 32引脚 LFCSP_VQ ADuC7060 Quick Start Plus开发系统 ADuC7061 Quick Start 评估系统 Z = 符合RoHS标准的兼容器件。 Rev. E | Page 107 of 108 封装选项 CP-48-3 CP-48-3 ST-48 ST-48 CP-32-4 CP-32-4 订购数量 2,500 2,000 5,000 ADuC7060/ADuC7061 注释 ©2009–2014 Analog Devices, Inc. All rights reserved. Trademarks and registered trademarks are the property of their respective owners. D07079sc-0-10/14(E) Rev. E | Page 108 of 108
ADUC7060BCPZ32 价格&库存

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

免费人工找货