DATASHEET SEARCH SITE | WWW.ALLDATASHEET.COM
Document overview
- Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
- PDF pages: 85
Technical content
EG89M52用户手册 2011 © 屹晶微电子有限公司 版权所有 REV 1.2 2011 .10.08 电机控制专用芯片
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 目录
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 1. 特性 兼容 MCS-51 指令集 快速指令周期比标准的51 效率高2~12 倍 ISP 、IAP 功能,在线编程、在线调试功能 上电自动复位 创新的芯片加密技术,无法破解 工作电压3.5V~6.5V 工作温度-40~85°C 最高工作频率:16 MHz 片内集成可配置高精度时钟,频率0-16MHz,误差+-%1 8K 字节片内FLASH ROM, 256 字节片内RAM 38 个通用I/O 口 2 个 16 位定时/计数器,兼容MCS-51,并扩展2 个 16 定时/计数器 17 个中断源,3 级中断优先级 带有不可屏蔽中断,程序出现异常时可帮助恢复正常 串行通信,兼容MCS-51 I 2C 通信 可配置看门狗 片内集成模数转换器(ADC),带有可调运算放大器,8 位分辨率,8 通道,转换速度5us, 片内集成12 位高精度数模转换器(DAC) 片内集成4 个高速模拟信号比较器 创新的片内模拟通道可配置功能,可以灵活地调整模拟单元的输入输出通路 3 路比较/捕获通道+1 路比较通道,可生成6 路16 位精度的独立/相联双边沿PWM,可配置安全间隙 独创的电机换相逻辑真值表,硬件自动产生电机换相信号 硬件自动同步续流 霍尔信号片内硬件滤波,霍尔序列检测 支持无霍尔电机控制,无需增加外围电路。 硬件过流保护功能 2. 描述 EG89M52 是一款低功耗、低成本、高性能的8 位CMOS 工艺的MCU。自带8K FLASH ROM,兼容 MCS-51 指令集及端口标准。快速指令周期,相同工作频率下,比标准的51 效率高2~12 倍。 3.5~6.5V 的电压范围及-40~85° C的工业级温度,使EG89M52 能够工作在更加严酷的环境下,并且 只有 2mA~10mA 的工作电流。 EG89M52 在标准51 的基础上扩展了电机控制电路。片内集成了一个8 位分辨率、8 通道的ADC,12 位分辨率DAC 及4 个模拟比较器。6 路互补PWM 输出,可配置安全间隙,以及换相信号可配置的直流无 刷电机控制电路。只需配置 SFR,硬件电路就能自动产生电机换相信号,控制电机转动。能够大大降低开 发电机控制程序的难度,缩短开发周期,有效降低开发成本。EG89M52 为电动自行车、变频空调、变频冰 箱等的控制系统提供高性能、低功耗、低成本的解决方案。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 3. 引脚 3.1. 引脚定义 LQFP44 P2.1/AIN1 P2.0/AIN0 P0.5/AC2N P0.6/AC3N P0.7/AIN8 P0.4/AC1N P0.1/DAVREF P0.2/DAO P0.3/AC0N P2.3/AIN3 P2.2/AIN2 P2.6/AIN6/CHA2 P2.5/AIN5/CHA1 P2.4/AIN4/CHA0 P2.7/AIN7 P4.0/INT2/H0 P4.1/INT3/H1 P4.2/INT4/H2 VDD XTAL2 XTAL1 P4.4 P4.5 RST/TCK TDA P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.6/SCL P3.7/SDA P3.5/T1 P3.4/T0 P1.5/MC5 P1.6 P1.7 GND P1.0/MC0 P1.1/MC1 P1.2/MC2 P1.3/MC3 P1.4/MC4 P0.0 P4.3/INT5 LQFP32 P2.0/AIN0 P0.5/AC2N P0.6/AC3N P0.4/AC1N P2.6/AIN6/CHA2 P2.5/AIN5/CHA1 P2.4/AIN4/CHA0 P4.0/INT2/H0 P4.1/INT3/H1 P4.2/INT4/H2 VDD XTAL2 XTAL1 RST/TCK TDAP1.5/MC5 GND P1.0/MC0 P1.1/MC1 P1.2/MC2 P1.3/MC3 P1.4/MC4 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.6/SCL P3.7/SDA P3.4/T0 P2.1/AIN1 P2.7/AIN7P0.3/AC0N 图 3-1. EG89M52 引脚定义
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 3.2. 引脚描述 名称 I/O 描述 VCC I 电源引脚 VSS I 地引脚 RST/TCK I/O 复位引脚/调试时钟端口 TDA I/O 调试数据端口 P0.0 I/O 通用数字双向口 P0.1/DAVREF I/O 通用数字双向口/DAC 参考电压输入口 P0.2/DAO I/O 通用数字双向口/DAC 输出口 P0.3/AC0N I/O 通用数字双向口/模拟比较器0 负端输入 P0.4/AC1N I/O 通用数字双向口/模拟比较器1 负端输入 P0.5/AC2N I/O 通用数字双向口/模拟比较器2 负端输入 P0.6/AC3N I/O 通用数字双向口/模拟比较器3 负端输入 P0.7/AIN8 I/O 通用数字双向口/模拟信号输入口8 P1.0/MC0 I/O 通用数字双向口/电机控制信号输出口0 P1.1/MC1 I/O 通用数字双向口/电机控制信号输出口1 P1.2/MC2 I/O 通用数字双向口/电机控制信号输出口2 P1.3/MC3 I/O 通用数字双向口/电机控制信号输出口3 P1.4/MC4 I/O 通用数字双向口/电机控制信号输出口4 P1.5/MC5 I/O 通用数字双向口/电机控制信号输出口5 P1.6 I/O 通用数字双向口 P1.7 I/O 通用数字双向口/调试数据双向口 P2.0/AIN0 I/O 通用数字双向口/模拟信号输入口0 P2.1/AIN1 I/O 通用数字双向口/模拟信号输入口1 P2.2/AIN2 I/O 通用数字双向口/模拟信号输入口2 P2.3/AIN3 I/O 通用数字双向口/模拟信号输入口3 P2.4/AIN4/CHA0 I/O 通用数字双向口/模拟信号输入口4/捕获通道0 输入 P2.5/AIN5/CHA1 I/O 通用数字双向口/模拟信号输入口5/捕获通道1 输入 P2.6/AIN6/CHA2 I/O 通用数字双向口/模拟信号输入口6/捕获通道2 输入 P2.7/AIN7 I/O 通用数字双向口/模拟信号输入口7 P3.0/RXD I/O 通用数字双向口/串行输入口 P3.1/TXD I/O 通用数字双向口/串行输出口 P3.2/INT0 I/O 通用数字双向口/外部中断0 P3.3/INT1 I/O 通用数字双向口/外部中断1 P3.4/T0 I/O 通用数字双向口/外部定时器0 P3.5/T1 I/O 通用数字双向口/外部定时器1 P3.6/SCL I/O 通用数字双向口/I2C 时钟端口 P3.7/SDA I/O 通用数字双向口/I2C 数据端口 P4.0/INT2/H0 I/O 通用数字双向口/外部中断2/霍尔输入0 P4.1/INT3/H1 I/O 通用数字双向口/外部中断3/霍尔输入1 P4.2/INT4/H2 I/O 通用数字双向口/外部中断4/霍尔输入2 P4.3/INT5 I/O 通用数字双向口/外部中断5
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com P4.4 I/O 通用数字双向口 P4.5 I/O 通用数字双向口 XTAL1 I/O 晶体振荡器引脚1 XTAL2 I/O 晶体振荡器引脚2
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 4. 时钟电路 EG89M52可以选择2种时钟源: 外部晶体振荡器或外部有源时钟。 4.1. 外部时钟接法 引脚XTAL1,XTAL2分别是片内振荡器的输入端和输出端,如图4-1所示,外接晶体或陶瓷谐振器后构 成片内振荡器。外接晶体以及电容C1,C2构成并联谐振电路,接在放大器的反馈回路中。C1,C2的值受 晶体和陶瓷谐振器的影响。XTAL1引脚同时输出时钟信号,但需要增加驱动能力。 外部有源时钟输入模式时,外部有源时钟信号源直接接入XTAL1或XTAL2,如图4-2所示。 XTAL2 XTAL1 GND XTAL2 XTAL1 GND 外部振荡器 信号 NC 4.2. 内部可调时钟 EG89M52内部集成了一个频率可调节的时钟OSCIN, 频率范围为0~16MHz,误差+-%1。 芯片出厂时, OSCIN的默认频率为16MHz,也可以通过烧写器设置OSCIN的频率。 4.3. 时钟管理 时钟管理单元把时钟源分频成芯片各个模块需要的不同频率的时钟,其结构如图 4-3 所示。外部时钟 和内部可调时钟通过“系统时钟分频电路”产生系统时钟fsys。fsys 作为FLASH/RAM 和CPU 核的工作时钟, 并且可以通过软件配置特殊功能寄存器PRE 来产生芯片各模块的工作时钟。值得注意的是“系统时钟分频 电路”必须用烧写器设置,无法通过用户程序设置。 图4-1. 外接晶体模式 图4-2. 外部有源时钟输入模式
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 内部可调时钟 外部时钟源 系统时钟 分频电路 模块时钟 分频电路 电机控制单元 I2C单元 ADC FLASH/RAM CPU核 fsys fcc 比较/捕获单元 定时器2、3 fi2c fadc PRE 看门狗 图4-3. 时钟管理
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 5. 复位电路 EG89M52片内集成复位模块,上电自动复位,芯片正常工作时无需外接复位电路。芯片同时支持片外 复位电路,低电平复位,参考图5-1。 EG89M52 +5V C R TCK/RST 图 5-1. 片外上电复位电路
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 6. 结构框图 P2.1/AIN1 P2.0/AIN0 P0.5/AC2N P0.6/AC3N P0.7/AIN8 P0.4/AC1N P0.1/DAVREF P0.2/DAO P0.3/AC0N P2.3/AIN3 P2.2/AIN2 P2.6/AIN6/CHA2 P2.5/AIN5/CHA1 P2.4/AIN4/CHA0 P2.7/AIN7 P4.0/INT2/H0 P4.1/INT3/H1 P4.2/INT4/H2 VDD XTAL2 XTAL1 P4.4 P4.5 RST/TCK TDA P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.6/SCL P3.7/SDA P3.5/T1 P3.4/T0 P1.5/MC5 P1.6 P1.7 GND P1.0/MC0 P1.1/MC1 P1.2/MC2 P1.3/MC3 P1.4/MC4 P0.0 P4.3/INT5 在线 调试 ADC DAC AC0 AC1 AC2 AC3 串口 CPU 时钟 管理 I2C 电机控制 单元 PWM生成单元 比较/捕 获通道0 比较/捕 获通道1 比较/捕 获通道2 比较 通道3 霍尔滤波 检测电路 定时器2 定时器3 FLASH RAM 内部时 钟 定时 定时 器0 中断管理 模拟信号选通电路 - + - + - +- + 数据和控制总线 数据和控制总线 电压基准 1.25V 可编程运放 图6-1. EG89M52 结构框图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 7. 特殊功能寄存器(SFR) 表 7-1. 特殊功能寄存器表 可位寻址 不可位寻址 F8h ADCON PGA ABUF DACON DBUF FFh F0h B 0000,0000 DTCON DTM PD HMOD HSR THF F7h E8h MCON MMOD MBUF MVM PWMM C3M MCC EFh E0h ACC 0000,0000 TL3 TH3 TPL3 TPH3 CCL3 CCH3 CCIS E7h D8h TCONX TL2 TH2 TPL2 TPH2 CCSL2 CCSH2 DFh D0h PSW 0000,0000 CCMOD CCL0 CCH0 CCL1 CCH1 CCL2 CCH2 D7h C8h ICON ISTA ISADR IBUF CCSL0 CCSH0 CCSL1 CCSH1 CFh C0h 1111,1111 P4M1 0000,0000 P4M0 0000,0000 IAPCON C7h B8h IP XX00,0000 IPH IPX IPXH EITM EICON BFh B0h 1111,1111 P3M1 0000,0000 P3M0 0000,0000 PRE B7h A8h IE 0000,0000 IEX ACCON0 ACCON1 ACI AC3E AFh A0h 1111,1111 P2M1 0000,0000 P2M0 0000,0000 WDCON WDL WDH A7h 98h SCON 0000,0000 SBUF XXXX,XXXX 9Fh 90h 1111,1111 P1M1 1111,1111 P1M0 0000,0000 P0M1 0000,0000 P0M0 0000,0000 97h 88h TCON 0000,0000 TMOD 0000,0000 TL0 0000,0000 TL1 0000,0000 TH0 0 0000,0000 TH1 0000,0000 8Fh 80h 1111,1111 SP 0000,0111 DPL 0000,0000 DPH 0000,0000 PCON 0XXX,0000 87h 注:蓝色标识部分是扩展的SFR
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com P0 端口模式设定寄存器P0M1, P0M0(95H, 96H) P0M1[7:0] P0M0[7:0] I/O口模式 0 0 准双向口,端口输出0时灌电流可达25mA,端口输出1时拉电流为150uA 0 1 推挽输出(强上拉输出),端口输出0时灌电流可达25mA,输出1时拉电流可达5mA 1 0 仅为输入(高阻) 1 1 开漏,片内上拉电阻断开,要外加上拉电阻,端口输出0时灌电流可达25mA P1 端口模式设定寄存器P1M1, P1M0(92H 93H) P1M1[7:0] P1M0[7:0] I/O口模式 0 0 准双向口,端口输出0时灌电流可达25mA,端口输出1时拉电流为150uA 0 1 推挽输出(强上拉输出),端口输出0时灌电流可达25mA,输出1时拉电流可达5mA 1 0 仅为输入(高阻) 1 1 开漏,片内上拉电阻断开,要外加上拉电阻,端口输出0时灌电流可达25mA P2 端口模式设定寄存器P2M1, P2M0(A2H A3H) P2M1[7:0] P2M0[7:0] I/O口模式 0 0 准双向口,端口输出0时灌电流可达25mA,端口输出1时拉电流为150uA 0 1 推挽输出(强上拉输出),端口输出0时灌电流可达25mA,输出1时拉电流可达5mA 1 0 仅为输入(高阻) 1 1 开漏,片内上拉电阻断开,要外加上拉电阻,端口输出0时灌电流可达25mA P3 端口模式设定寄存器P3M1, P3M0( B2H B3H) P3M1[7:0] P3M0[7:0] I/O口模式 0 0 准双向口,端口输出0时灌电流可达25mA,端口输出1时拉电流为150uA 0 1 推挽输出(强上拉输出),端口输出0时灌电流可达25mA,输出1时拉电流可达5mA 1 0 仅为输入(高阻) 1 1 开漏,片内上拉电阻断开,要外加上拉电阻,端口输出0时灌电流可达25mA P4 端口模式设定寄存器P4M1, P4M0(C2H C3H) P4M1[7:0] P4M0[7:0] I/O口模式 0 0 准双向口,端口输出0时灌电流可达25mA,端口输出1时拉电流为150uA 0 1 推挽输出(强上拉输出),端口输出0时灌电流可达25mA,输出1时拉电流可达5mA 1 0 仅为输入(高阻) 1 1 开漏,片内上拉电阻断开,要外加上拉电阻,端口输出0时灌电流可达25mA
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 看门狗控制寄存器 WDCON(A5H) 7 6 5 4 3 2 1 0 WDPR WDDIV WDE5 WDE4 WDE3 WDE2 WDE1 WDE0 WDE5-0 启动/清零看门狗控制位 110101 => 001010(0x35 => 0x0A):启动/清零看门狗 101110 => 010001(0x2E => 0x11):关闭看门狗 WDPR 看门狗溢出预警标志位 0:看门狗未溢出 1:看门狗溢出 WDDIV 看门狗计数分频控制位 0:分频 1:128 倍分频 看门狗定时时间寄存器低位 WDL(A6H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 看门狗定时时间寄存器高位 WDH(A7H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 中断允许寄存器 IE(A8H) 7 6 5 4 3 2 1 0 EA ET3 ET2 ES ET1 EX1 ET0 EX0 EA CPU 中断使能位 0:禁止中断 1:使能中断 ET3 定时器3 中断使能位 0:禁止中断 1:使能中断 ET2 定时器2 中断使能位 0:禁止中断 1:使能中断 ES 串行通讯中断使能位 0:禁止中断 1:使能中断 ET1 定时器1 中断使能位 0:禁止中断 1:使能中断 EX1 外部中断1 中断使能位 0:禁止中断 1:使能中断 ET0 定时器0 中断使能位 0:禁止中断 1:使能中断 EX0 外部中断0 中断使能位 0:禁止中断 1:使能中断
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 扩展中断允许寄存器 IEX(A9H) 7 6 5 4 3 2 1 0 EI2C EAC ECC3 ECC2 ECC1 ECC0 EXE EADC EI2C I2C 中断使能位 0:禁止中断 1:使能中断 EAC 模拟比较器 2、1、0 中断使 能位 0:禁止中断 1:使能中断 ECC3 比较通道3 中断使能位 0:禁止中断 1:使能中断 ECC2 比较捕获通道2 中断使能位 0:禁止中断 1:使能中断 ECC1 比较捕获通道1 中断使能位 0:禁止中断 1:使能中断 ECC0 比较捕获通道0 中断使能位 0:禁止中断 1:使能中断 EXE 扩展外部中断使能位 0:禁止所有扩展外部中断,EICON 寄存器无效 1:扩展外部中断使能由EICON 寄存器控制 EADC ADC 中断使能位 0:禁止中断 1:使能中断 模拟比较器控制寄存器ACCON0(ACH) 7 6 5 4 3 2 1 0 AC1E AC1PS2 AC1PS1 AC1PS0 AC0E AC0PS2 AC0PS1 AC0PS0 AC1E 模拟比较器1 使能位 0:禁止模拟比较器1 1:使能模拟比较器1 AC1PS2-0 模拟比较器 1 正端信号源选 择位 000:悬空 001:P2.0 010:P2.1 011:P2.2 100:P2.3 101:P0.7 110:DAC 模拟输出 111:内部1.25V 基准 AC0E 模拟比较器0 使能位 0:禁止模拟比较器0 1:使能模拟比较器0 AC0PS2-0 模拟比较器 0 正端信号源选 择位 000:悬空 001:P2.0 010:P2.1 011:P2.2
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 100:P2.3 101:P0.7 110:DAC 模拟输出 111:内部1.25V 基准 模拟比较器控制寄存器ACCON1(ADH) 7 6 5 4 3 2 1 0 X AC3PS2 AC3PS1 AC3PS0 AC2E AC2PS2 AC2PS1 AC2PS0 AC3PS2-0 模拟比较器 3 正端信号源选 择位 000:悬空 001:P2.0 010:P2.1 011:P2.2 100:P2.3 101:P0.7 110:DAC 模拟输出 111:内部1.25V 基准 AC2E 模拟比较器2 使能位 0:禁止模拟比较器2 1:使能模拟比较器2 AC2PS2-0 模拟比较器 2 正端信号源选 择位 000:悬空 001:P2.0 010:P2.1 011:P2.2 100:P2.3 101:P0.7 110:DAC 模拟输出 111:内部1.25V 基准 模拟比较器中断标志/比较结果寄存器 ACI(AEH) 7 6 5 4 3 2 1 0 ACIF3 ACIF2 ACIF1 ACIF0 ACO3 ACO2 ACO1 ACO0 ACIF3 模拟比较器3 中断标志位 当模拟比较器 3 使能,并且模拟比较器 3 输 出翻转时,该位被硬件自动置1 ACIF2 模拟比较器2 中断标志位 当模拟比较器 2 使能,并且模拟比较器 2 输 出翻转时,该位被硬件自动置1 ACIF1 模拟比较器1 中断标志位 当模拟比较器 1 使能,并且模拟比较器 1 输 出翻转时,该位被硬件自动置1 ACIF0 模拟比较器0 中断标志位 当模拟比较器 0 使能,并且模拟比较器 0 输 出翻转时,该位被硬件自动置1 ACO3 模拟比较器3 比较结果寄存器 0:正端电平 < 负端电平
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 1:正端电平 > 负端电平 ACO2 模拟比较器2 比较结果寄存器 0:正端电平 < 负端电平 1:正端电平 > 负端电平 ACO1 模拟比较器1 比较结果寄存器 0:正端电平 < 负端电平 1:正端电平 > 负端电平 ACO0 模拟比较器0 比较结果寄存器 0:正端电平 < 负端电平 1:正端电平 > 负端电平 模拟比较器 3 使能控制寄存器 AC3E(AFH) 7 6 5 4 3 2 1 0 AC3E 模拟比较器3 使能控制字 00110101=>11001010 (35=>CA),使能模拟比较器3 01101110=>10010001 (6E=>91), 禁止模拟比较器3 时钟分频控制寄存器 PRE( B5H) 7 6 5 4 3 2 1 0 PDI2C3 PDI2C2 PDI2C1 PDI2C0 PDCCU2 PDCCU1 PDCCU0 PDADC PDI2C3-0 I2C 单元,SCL 频率控制位 0000:SCL 频率= fsys 0001:SCL 频率= fsys /2 0010:SCL 频率= fsys /4 0011:SCL 频率= fsys /8 0100:SCL 频率= fsys /16 . . 1111:SCL 频率= fsys /65536 注意,SCL 频率不能大于100KHz PDCCU2-0 定时器2、3 及比较/捕获单元 时钟分频控制位 000:= fsys 001:= fsys /2 010:= fsys /4 011:= fsys /8 100:= fsys /16 101:= fsys /32 110:= fsys /64 111:= fsys /128 PDADC: ADC 单元时钟分频控制位 0:ADC 时钟= fsys 1:ADC 时钟= fsys /2
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 中断优先级控制寄存器 IP(B8H) 7 6 5 4 3 2 1 0 PHE PT3 PT2 PS PT1 PX1 PT0 PX0 PHE 霍尔中断优先级控制位1 PT3 T3 定时器中断优先级控制位1 PT2 定时器2 中断优先级控制位1 PS 串行口中断优先级控制位1 PT1 定时器1 中断优先级控制位1 PX1 外部中断1 中断优先级控制位1 PT0 定时器0 中断优先级控制位1 PX0 外部中断0 中断优先级控制位1 中断优先级控制寄存器 IPH(B9H) 7 6 5 4 3 2 1 0 PHEH PTH3 PTH2 PSH PT1H PX1H PT0H PX0H PHEH 霍尔中断优先级控制位2 PTH3 定时器3 中断优先级控制位2 PTH2 定时器2 中断优先级控制位2 PSH 串行口中断优先级控制位2 PT1H 定时器1 中断优先级控制位2 PX1H 外部中断1 中断优先级控制位2 PT0H 定时器0 中断优先级控制位2 PX0H 外部中断0 中断优先级控制位2 扩展中断优先级控制寄存器 IPX( BAH) 7 6 5 4 3 2 1 0 PI2C PAC PCC3 PCC2 PCC1 PCC0 PXE PADC PI2C I2C 中断优先级控制位1 PAC 模拟比较器中断优先级控制位1 PC3 比较通道3 中断优先级控制位1 PCC2 比较/捕获通道2 中断优先级控制位1 PCC1 比较/捕获通道1 中断优先级控制位1 PCC0 比较/捕获通道0 中断优先级控制位1 PXE 扩展外部中断优先级控制位1 PADC ADC 中断优先级控制位1
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 扩展中断优先级控制寄存器 IPXH(BBH) 7 6 5 4 3 2 1 0 PI2CH PACH PCCH3 PCCH2 PCCH1 PCCH0 PXEH PADCH PI2CH I2C 中断优先级控制位2 PACH 模拟比较器中断优先级控制位2 PC3H 比较通道3 中断优先级控制位2 PCC2H 比较/捕获通道2 中断优先级控制位2 PCC1H 比较/捕获通道1 中断优先级控制位2 PCC0H 比较/捕获通道0 中断优先级控制位2 PXEH 扩展外部中断优先级控制位2 PADCH ADC 中断优先级控制位2 扩展外部中断触发方式寄存器EITM(BDH) 7 6 5 4 3 2 1 0 E5M1 E5M0 E4M1 E4M0 E3M1 E3M0 E2M1 E2M0 E5M1-0 外部中断5 中断触发方式控制位 00:低电平触发 01:下降沿触发 10:上升沿触发 11:双边沿触发 E4M1-0 外部中断4 中断触发方式控制位 00:低电平触发 01:下降沿触发 10:上升沿触发 11:双边沿触发 E3M1-0 外部中断3 中断触发方式控制位 00:低电平触发 01:下降沿触发 10:上升沿触发 11:双边沿触发 E2M1-0 外部中断2 中断触发方式控制位 00:低电平触发 01:下降沿触发 10:上升沿触发 11:双边沿触发 扩展外部中断控制寄存器EICON(BEH) 7 6 5 4 3 2 1 0 IT5 IT4 IT3 IT2 IE5 IE4 IE3 IE2 IT5 外部中断5 使能控制位 0:禁止中断 1:使能中断
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com IT4 外部中断4 使能控制位 0:禁止中断 1:使能中断 IT3 外部中断3 使能控制位 0:禁止中断 1:使能中断 IT2 外部中断2 使能控制位 0:禁止中断 1:使能中断 IE5 外部中断5 中断请求标志位 “低电平触发”方式时,每个时钟周期采样INT5, “边沿触发”方式时,每个时钟周期采样INT5,当 检测到INT5 上正确的边沿时,则置“1”IE5, 否则 清“0”IE5。 IE4 外部中断4 中断请求标志位 “低电平触发”方式时,每个时钟周期采样INT4, “边沿触发”方式时,每个时钟周期采样INT4,当 检测到INT4 上正确的边沿时,则置“1”IE4, 否则 清“0”IE4。 IE3 外部中断3 中断请求标志位 “低电平触发”方式时,每个时钟周期采样INT3, “边沿触发”方式时,每个时钟周期采样INT3,当 检测到INT3 上正确的边沿时,则置“1”IE3, 否则 清“0”IE3。 IE2 外部中断2 中断请求标志位 “低电平触发”方式时,每个时钟周期采样INT2, “边沿触发”方式时,每个时钟周期采样INT2,当 检测到INT2 上正确的边沿时,则置“1”IE2, 否则 清“0”IE2。 IAP 控制寄存器 IAPCON(C5H) 7 6 5 4 3 2 1 0 WR CLR PRT5 PRT4 PRT3 PRT2 PRT1 PRT0 WR IAP 写使能位 置“1”WR 后,硬件自动把缓存中的数据写入 IAP 区。 此时CPU 暂停工作,直到数据写入完成,CPU 继续执行 下一条指令。 CLR 缓存数据清除使能 置“1”CLR 后,之前写入缓存中的数据将被全部清空。 PRT5-0 IAP 功能保护位 110101 => 001010(35 => 0A),允许IAP 操作; 设置PRT5-0 为其他值时,禁止IAP 操作。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com I2C 控制寄存器ICON(C8H) 7 6 5 4 3 2 1 0 I2CI SB STR STO ACK MRW MOD I2CEN I2CI I2C 中断请求标志位 I2C 单元接收或发送完 1 字节数据后,由硬件自动置 “1”该位,需要软件清零。 SB 从机模式时,CPU 状态 控制位 0:CPU 空闲 1:CPU 忙 STO I2C 主机模式时,总线停 止控制位 主机模式时,置“1”STO 后,I2C 总线上将产生停止 信号。 STR I2C 主机模式时,总线启 动控制位 主机模式时,置“1”STR 后,I2C 总线上将产生启动 信号。 ACK 主机响应信号电平控制 位 0:主机响应信号为“低电平” 1:主机响应信号为“高电平” MRW 主机读写操作控制位 0:主机当前为“写”操作 1:主机当前为“读”操作 MOD I2C 通讯主从 模式选择 位 0:从机模式 1:主机模式 I2CEN I2C 通讯功能 使能控制 位 0:禁止I2C 1:使能I2C I2C 状态寄存器ISTA(C9H)只读寄存器 7 6 5 4 3 2 1 0 X X X AM ACKR SRW BB AL AM 从机模式时,地址匹配 标志位 当微控制器作为从机时,总线上的主机发送过来的地 址和从机地址寄存器I2CADR 一致时,置“1”AM, 否则清“0”AM。 0:地址未匹配 1:地址匹配 ACKR 接收响应标志位 当微控制器作为发送机时,发送完一个字节的数据 后,总线上的接收机返回响应信号。 0:无接收响应 1:有接收响应 SRW 从机读写操作标志位 微控制器作为从机时,I2C 总线上的主机发送过来的 读写操作信号。 0:写操作 1:读操作 BB 总线状态标志 表示当前I2C 总线是否被其他设备占用。 0:总线当前空闲 1:总线当前忙,
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com AL 总线仲裁标志 当 I2C 总线上有多个主机同时发送重复起始或者停止 信号时,只有一个主机能获得总线控制权。当主机发 送正确的数据和检查到总线上的数据不一样时,主机 将丢失总线控制权,此时,硬件自动置位AL。 0:未丢失总线控制权 1:丢失总线控制权 I2C 从机地址寄存器ISADR(CAH) 7 6 5 4 3 2 1 0 SADR6 SADR5 SADR4 SADR3 SADR2 SADR1 SADR0 X SADR6-0 7 位I2C 从地址 EG89M52 作为 I2C 从机时的地址,注意,地址是从 第1 位开始到第7 位,第0 位为保留位。 I2C 数据缓存寄存器IBUF( CBH) 7 6 5 4 3 2 1 0 8 位 I2C 数据缓存寄存器,总线读/写操作时,分别作为读/写缓存。 比较/捕获通道0 映射寄存器低字节 CCSL0(CCH) 只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获通道0 映射寄存器高字节 CCSH0(CDH) 只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获 通道1 映射寄存器低字节 CCSL1(CEH) 只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获 通道1 映射寄存器高字节 CCSH1(CFH) 只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 比较/捕获通道模式寄存器 CCMOD(D1H) 7 6 5 4 3 2 1 0 x x CC2M1 CC2M0 CC1M1 CC1M0 CC0M1 CC0M0 CC2M1-0 通道2 模式控制位 00:比较模式 01:捕获模式,捕获通道2(CHA2)的上升沿 10:捕获模式,捕获通道2(CHA2)的下降沿 11:捕获模式,捕获通道2(CHA2)的上升沿和下降沿 CC1M1-0 通道1 模式控制位 00:比较模式 01:捕获模式,捕获通道1(CHA1)的上升沿 10:捕获模式,捕获通道1(CHA1)的下降沿 11:捕获模式,捕获通道1(CHA1)的上升沿和下降沿 CC0M1-0 通道0 模式控制位 00:比较模式 01:捕获模式,捕获通道0(CHA0)的上升沿 10:捕获模式,捕获通道0(CHA0)的下降沿 11:捕获模式,捕获通道0(CHA0)的上升沿和下降沿 比较/捕获通道0 寄存器低字节 CCL0(D2H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获通道0 寄存器高字节 CCH0(D3H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获通道1 寄存器低字节 CCL1(D4H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获通道1 寄存器高字节 CCH1(D5H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获通道2 寄存器低字节 CCL2(D6H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 比较/捕获通道2 寄存器高字节 CCH2(D7H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 定时器 2/3 控制寄存器 TCONX(D8H) 7 6 5 4 3 2 1 0 TF3 T3CLR T3MOD T3EN TF2 T2CLR T2MOD T2EN TF3 定时器 3 周期匹配标志位 (中断请求标志位) 当定时器3 的计数值等于周期寄存器(TPH3,TPL3) 的值时,TF3 由硬件自动置“1”,申请中断,否则清 “0”。 T3MOD 定时器3 计数模式控制位 0:定时器3 计数到周期值后立即归零,再重新开始递 增计数。 1:定时器3 计数到周期值后继续递减计数到零,再重 新开始递增计数。 T3CLR 定时器3 清零控制位 0:无操作 1:立即清零定时器3 的计数值 T3EN 定时器3 启动/停止控制位 0:关闭定时器3 1:启动定时器3 T2F 定时器 2 周期匹配标志位 (中断请求标志位) 当定时器2 的计数值等于周期寄存器(TPH2,TPL2) 的值时,TF2 由硬件自动置“1”,申请中断,否则清 “0”。 T2MOD 定时器2 计数模式控制位 0:定时器2 计数到周期值后立即归零,再重新开始递 增计数。 1:定时器2 计数到周期值后继续递减计数到零,再重 新开始递增计数。 T2CLR 定时器2 清零控制位 0:无操作 1:立即清零定时器2 的计数值 T2EN 定时器2 启动/停止控制位 0:关闭定时器2 1:启动定时器2 定时器 2 当前计数值低8 位 TL2(D9H)只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 定时器 2 当前计数值高8 位 TH2(DAH)只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 定时器 2 周期值低8 位寄存器 TPL2(DBH) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 定时器 2 周期值高8 位寄存器 TPH2(DCH) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获通道2 捕获映射寄存器低8 位 CCSL2(DDH 只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获通道2 捕获映射寄存器高8 位 CCSH2(DEH)只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 定时器 3 当前计数值低8 位TL3(E1H)只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 定时器 3 当前计数值高8 位TH3(E2H)只读寄存器 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 定时器 3 周期值低8 位寄存器 TPL3(E3H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 定时器 3 周期值高8 位寄存器 TPH3(E4H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较通道 3 比较值低8 位寄存器 CCL3(E5H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 比较通道 3 比较值高 8 位寄存器 CCH3(E6H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 比较/捕获通道中断源标志/选择寄存器 CCIS(E7H) 7 6 5 4 3 2 1 0 CTM3 CTM2 CTM1 TM0 IC3 IC2 IC1 IC0 CTM3 比较通道3,中断触发 方式选择位 0:定时器3 计数值递增到比较值(CCH3,CCL3)时, 触发中断 1:定时器3 计数值递减到比较值(CCH3,CCL3)时, 触发中断 CTM2 比较通道2,中断触发 方式选择位 0:定时器2 计数值递增到比较值(CCH2,CCL2)时, 触发中断 1:定时器2 计数值递减到比较值(CCH2,CCL2)时, 触发中断 CTM1 比较通道1,中断触发 方式选择位 0:定时器2 计数值递增到比较值(CCH1,CCL1)时, 触发中断 1:定时器2 计数值递减到比较值(CCH1,CCL1)时, 触发中断 CTM0 比较通道0,中断触发 方式选择位 0:定时器2 计数值递增到比较值(CCH0,CCL0)时, 触发中断 1:定时器2 计数值递减到比较值(CCH0,CCL0)时, 触发中断 IC3 比较通道 3 中断请求 标志位 0:无比较通道3 中断请求 1:定时器3 的计数值等于比较值(CCH3,CCL3)时, 硬件自动置“1”,表示有中断请求,该位需要软件清 “0”。 IC2 比较/捕获通道 2 中断 请求标志位 0:无中断请求 1:有中断请求 比较模式时:当定时器2 的计数值等于比较值(CCH2, 捕获模式时:当捕获到通道 2 的边沿时,硬件自动置 “1”,申请中断; 该位需要软件清“0”。 IC1 比较/捕获通道 1 中断 请求标志位 0:无中断请求 1:有中断请求 比较模式时:当定时器2 的计数值等于比较值(CCH1, 捕获模式时:当捕获到通道 1 的边沿时,硬件自动置 “1”,申请中断; 该位需要软件清“0”。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com IC0 比较/捕获通道 0 中断 请求标志位 0:无中断请求 1:有中断请求 比较模式时:当定时器2 的计数值等于比较值(CCH0, 捕获模式时:当捕获到通道 0 的边沿时,硬件自动置 “1”,申请中断; 该位需要软件清“0”。 电机控制寄存器MCON(E8H) 7 6 5 4 3 2 1 0 AUTOEN HCPEN HCPCON SRSEN HCKEN HCHG HERR MVCHG AUTOEN 电机自动控制模式使能位 0:关闭电机自动控制 1:启动电机自动控制 电机自动控制模式下,比较/捕获通道0自动设置为捕 获模式,通道1和2自动设置为比较模式。 HCPEN 霍尔相位补偿使能位 0:霍尔相位不补偿 1:霍尔相位补偿(注意,只有 AUTOEN 有效时, HCPEN 才有效) HCPCON 霍尔相位补偿控制位 0:霍尔相位提前补偿 1:霍尔相位延时补偿 SRSEN 自动同步续流使能位 0:关闭自动同步续流 1:启动自动同步续流 HCKEN 霍尔序列检测使能位 0:关闭霍尔序列检测 1:启动霍尔序列检测 启动霍尔序列检测后,硬件会根据霍尔序列检测表, 自动过滤不符合序列要求的霍尔信号。 HCHG 霍尔改变标志位 0:无霍尔改变 1:有霍尔改变 经过霍尔滤波和霍尔序列检测后的霍尔信号,每次发 HERR 霍尔序列检测错误标志位 0:无霍尔序列错误 1:有霍尔序列错误 当启动霍尔序列检测后,如果检测到错误的霍尔信号 时,硬件自动置“1”HERR。 MVCHG 电机换相改变标志位 0:电机换相信号没有改变 1:电机换相信号改变 当经过同步后的电机换相信号改变时,由硬件自动置 换相信号调制控制寄存器MVM 影响。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 电机模式寄存器MMOD(E9H) 7 6 5 4 3 2 1 0 MTWR MTADR2 MTADR1 MTADR0 SYNSEL SYNSEL REQSEL REQSEL MTWR 换相表写使能控制 0:无操作 1:换相表写使能 MTADR2-0 换相表地址 对换相表进行写操作时,需要预先给出对应的地址以及 换相表数据MVBUF SYNSEL1-0 电机换向信号同步 使能信号选择 00:永远不允许同步 01:当TH2=0 且TL2= 0 时,允许同步 10:当TH3=0 且TL3= 0 时,允许同步 11:永远允许同步 REQSEL1-0 电机换向信号同步 请求信号选择 00:永远同步,只要同步使能信号有效,立即进行同步 01:当TH2=TPH2 且TL2=TPL2 时,进行同步 10:当TH3=TPH3 且TL3=TPL3 时,进行同步 11:有效霍尔信号改变时,进行同步 电机换相表数据寄存器MBUF(EAH) 7 6 5 4 3 2 1 0 X X MBUF5 MBUF4 MBUF3 MBUF2 MBUF1 MBUF0 MBUF 5-0 电机换相表数据寄存器 当 MTWR 有效时,硬件自动把 MBUF5-0 的数据 写到换相表对应的地址空间内, 作为电机某一相的 驱动输出。 电机换相信号调制控制寄存器MVM( EBH) 7 6 5 4 3 2 1 0 X X MVM5 MVM 4 MVM 3 MVM 2 MVM 1 MVM 0 MVM 5-0 换相信号调制使能控制位 0:禁止换相信号调制 1:使能换相信号调制 PMW 信号信号调制使能寄存器PWMM(ECH) 7 6 5 4 3 2 1 0 X X PMW5 PMW4 PMW3 PMW2 PMW1 PMW0 PMW 5-0 PMW 信号信号调制使能 控制位 0:禁止PMW 信号信号调制 1:使能PMW 信号信号调制
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 比较通道 3 调制使能寄存器C3M(EDH) 7 6 5 4 3 2 1 0 X X C3M5 C3M4 C3M3 C3M2 C3M1 C3M0 C3M 5-0 比较通道 3,比较结果输 出信号调制使能控制位 0:禁止比较结果输出信号调制 1:使能比较结果输出信号调制 多通道调制控制寄存器MCC(EEH) 7 6 5 4 3 2 1 0 ME X MINV5 MINV 4 MINV 3 MINV 2 MINV 1 MINV 0 ME 多通道调制使能控制位 0:允许多通道调制 1:禁止多通道调制 MINV5-0 多通道调制输出方向控制位 0:无操作 1:调试信号输出反向 死区控制寄存器DTCON(F1H) 7 6 5 4 3 2 1 0 X X DTE2 DTE1 DTE0 DTF2 DTF1 DTF0 DTE2-0 PWM 死区使能控制位 0:禁止死区 1:允许死区 DTF2-0 PWM 死区标志位 0:当前为非死区期间 1:当前为死区期间 死区时间寄存器 DTM(F2H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 8 位死区时间寄存器控制死区的时间长度,死区时间=DTM /fcc 相位延时寄存器 PD(F3H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 该功能必须在电机自动控制模式及相位延时使能时才有效。 霍尔控制寄存器 HMOD(F4H) 7 6 5 4 3 2 1 0 X X IEHE HIN2 HIN1 HIN0 HSEL1 HSEL0
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com IEHE 错误霍尔中断使能位 0:禁止错误霍尔中断 1:允许错误霍尔中断 HIN2-HIN0 内部霍尔信号位 0:当前内部霍尔信号为低电平 1:当前内部霍尔信号为高电平 HSEL1-0 霍尔信号选通控制位 00:选择外部霍尔信号P4.0-P4.2 01:选择模拟比较器2-0 输出结果ACO2-0 10:选择内部霍尔信号 HIN2-HIN0 11:选择内部霍尔信号 HIN2-HIN0 霍尔序列配置寄存器 HSR(F5H) 7 6 5 4 3 2 1 0 WR HC2 HC1 HC0 HE2 HE1 HE0 WR 霍尔序列检测表写使能 0:无操作 1:写使能 HC2-0 当前有效的霍尔信号 HE2-0 期望输入的霍尔信号 霍尔滤波时间控制寄存器THF(F6H) 7 6 5 4 3 2 1 0 THF7 THF6 THF5 THF4 THF3 THF2 THF1 THF0 THF7-0 霍尔滤波时间控制寄存器 THF 表示过滤多少时间宽度以内的毛刺,霍尔滤波 时间= THF /f cc ,凡是宽度小于霍尔滤波时间的毛 刺都会被过滤。 ADC 控制寄存器 ADCON( F8H) 7 6 5 4 3 2 1 0 AS2 AS1 AS0 VS1 VS0 EOC CONV CS AS2-0 ADC 模拟信号输入选通 000:P2.0/AIN0 输入 001:P2.1/AIN1 输入 010:P2.2/AIN2 输入 011:P2.3/AIN3 输入 100:P2.4/AIN4 输入 101:P2.5/AIN5 输入 110:P2.6/AIN6 输入 111:P2.7/AIN7 输入 VS1-0 ADC 参考电压选择控制 位 00:VDD 01:AIN6 10:AIN7
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 11:DAC 输出 EOC ADC 转换结束标志(ADC 中断标志) 当ADC 完成一次转换后, 硬件自动置1, 申请中断。 0:转换未完成 1:转换完成,请求中断 CONV ADC 转换使能控制位 当CS 有效时,置“1”CONV,硬件自动采用并保 持模拟信号,4 个ADC 时钟周期后开始转换, 转换 需要80 个 ADC 时钟周期。 0:不转换 1:转换使能 CS ADC 启动控制位 0:关闭ADC 1:启动ADC 放大器放大倍数配置寄存器PGA(F9H) 7 6 5 4 3 2 1 0 x x x x x PGA2 PGA1 PGA0 PGA2-0 模拟信号放大倍数 000:x1 001:x4 010:x8 011:x16 100:x32 ADC 数据寄存器 ABUF( FAH) 7 6 5 4 3 2 1 0 ABUF7 ABUF6 ABUF5 ABUF4 ABUF3 ABUF2 ABUF1 ABUF0 ABUF7-0 8 位ADC 转结果寄存器 ADC 每次完成转换后,自动把结果保持到该寄存器 DAC 控制寄存器DACON( FBH) 7 6 5 4 3 2 1 0 DACVS DACOE DACEN DBUF3 DBUF2 DBUF1 DBUF0 DACVS DAC 参考电压选通控制位 0:选择P0.1/DAVREF 1:选择带隙 DACOE DAC 输出使能位 0:禁止DAC 输出 1:允许DAC 输出 DACEN DAC 启动控制位 0:关闭DAC 1:启动DAC DBUF3-0 DAC 输入数据低4 位
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com DAC 输入数据高8 位寄存器 DBUF(FCH) 7 6 5 4 3 2 1 0 DBUF11 DBUF10 DBUF9 DBUF8 DBUF7 DBUF6 DBUF5 DBUF4 DBUF11-4 DAC 输入数据高8 位
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 8. P0 – P4 端口结构 EG89M52 的 P0-P4 端口为可配置I/O 口,每个端口都有4 种模式。通过修改端口配置寄存器PxM0、 PxM1(x=0,1,2,3,4)的值来配置P0-P4 端口的模式。 表 8-1. P0-P3 端口配置 PxM1[7:0] PxM0[7:0] 端口模式 灌电流 拉电流 上拉电阻 0 0 准双向口 25mA 150uA 30kΩ 0 1 推挽输出 25mA 5mA - 1 0 高阻,仅输入 - - - 1 1 开漏 25mA - - 以下为P0-P3 端口4 种模式的等效结构图: 30k欧姆 弱 150uA 灌电流最 大可以到 25mA 端口 引脚 Vcc 输入数据 输出数据 图8-1. P0-P3端口结构(准双向口)
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 灌电流最 大可以到 25mA 端口 引脚 Vcc 输入数据 输出数据 强 5mA 端口 引脚输入数据 端口 引脚 输入数据 输出数据 灌电流最 大可以到 25mA 图8-2. P0-P3端口结构(推挽输出) 图8-3. P0-P3端口结构(仅为输入) 图8-4. P0-P3端口结构(开漏)
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 9. 存储器组织结构 EG89M52采用标准MCS-51的地址空间组织结构,即程序地址空间和数据地址空间分离。 9.1. ROM 8K 字节 flash ROM ,地址空间为0000H~1FFFH。ROM 同时可以作为用户数据存储器使用,详细方 法见 9.3 在应用编程(IAP)。 9.2. RAM 256 字节 RAM,地址空间为 0x00~0xFF,其中 0x00~0x7F 的 RAM 访问方式和标准 MCS-51 兼容, 0x80~0xFF 与 SFR 地址空间重叠,访问SFR 用直接寻址方式,0x80~0xFF 的RAM 地址空间必须用间接 寻址才能访问。 9.3. 在应用编程(IAP) 在应用编程(IAP)功能可以让用户对flash ROM 进行读写访问,这部分的flash ROM 作为用户数据 存储器(以下称为IAP 区)使用。因此,IAP 区实际上是flash ROM 的一部分空间。IAP 区的大小可以根 据实际需求配置,配置方法集成在EG89M52 程序烧写器内。 EG89M52 取消了MOVX 访问外部RAM 的功能,并把MOVX 指令的功能改为读写访问IAP 区。因此 一共有4 条指令可以访问IAP 区。 读 IAP 区使用指令: MOVX A,@Ri MOVX A,@DPTR 写 IAP 区使用指令: MOVX @Ri,A MOVX @DPTR,A 其中Ri 和DPTR 的值表示IAP 区的地址。CPU 执行完MOVX A,@Ri 和MOVX A,@DPTR 指令后 IAP 区的数据会立即存放到辅助寄存器ACC 内, 但是CPU 执行完MOVX @Ri,A 和 MOVX @DPTR,A 指 令后,ACC 内的数据实际上并没有立即写入到IAP 区, 而是写入到缓存中。 必须用软件置位IAPCON.7(WR), 才能把缓存中的数据写入到IAP 区, 此时CPU 暂停工作, 直到数据写入完成,CPU 继续执行下一条指令。 再进行下一次IAP 区写操作前(执行MOVX 指令前),必须用软件置位IAPCON.6(CLR),清除上一次写 IAP 区时写入缓存中的数据。否则软件置位IAPCON.7(WR)时会把缓存中未清除的数据一起写入到IAP 区内。 EG89M52 的flash ROM 一共分成128 页,每页为64 字节数据。写IAP 区既可以单字节写,也可以多 字节写。多字节写时,最大为64 字节,地址不必连续,但是多个字节的地址必须在同一页内。如果一次写 操作的地址不是在同一页内,会出现不可以预知的错误。为了方便操作,表8-2 给出了EG89M52 flash ROM 的页地址划分。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 表 9-1. IAP 控制寄存器 IAPCON(C5H) 7 6 5 4 3 2 1 0 WR CLR PRT5 PRT4 PRT3 PRT2 PRT1 PRT0 WR IAP 写使能位 置“1”WR 后,硬件自动把缓存中的数据写入 IAP 区。 此时CPU 暂停工作,直到数据写入完成,CPU 继续执行 下一条指令。 CLR 缓存数据清除使能 置“1”CLR 后,之前写入缓存中的数据将被全部清空。 PRT5-0 IAP 功能保护位 110101 => 001010(0x35 => 0x0A),允许IAP 操作; 设置PRT5-0 为其他值时,禁止IAP 操作。 IAP 操作程序举例如下: IAP: MOV IAPCON,#35H MOV IAPCON,#0AH // 允许 IAP 操作 MOV IAPCON,#40H // 清除缓存中的数据 MOV DPTR,#0800H // 给出 IAP 区首地址为0x0800 MOV R0,#20H // 设置IAP 访问字节数位32 字节 MOV A,#10H IAP_LOOP: MOVX @DPTR,A // 把ACC 中的数据写入缓存中 INC A INC DPTR // 下一个 IAP 区地址 DJNZ R0,IAP_LOOP // 判断是否完成32 字节的写操作 MOV IAPCON,#80H // 置位 IAPCON.7(WR),缓存中的数据写入IAP 区 // CPU 暂停工作,直到数据写入完成 NOP // 建议此处添加NOP 指令,保证程序正确 MOV DPTR,#0800H // 给出 IAP 区首地址为0x0800 MOV R0,#10H // 设置IAP 访问字节数位32 字节 LOOP_MX: MOVX A,@DPTR // 读IAP 区0x0800 地址的数据到ACC MOV 70H,A // 数据放入RAM 内 INC DPTR // 下一个 IAP 区地址 DJNZ R0,LOOP_MX // 判断是否完成16 字节的读操作 RET 表 9-2. EG89M52 flash ROM 页地址划分 第 1 页 第 2 页 第 3 页 第4 页 第5 页 第 6 页 第 7 页 第8 页 0x0000- 0x003F 0x0040- 0x007F 0x0080- 0x00BF 0x00C0- 0x00FF 0x0100- 0x013F 0x0140- 0x017F 0x0180- 0x01BF 0x01C0- 0x01FF 第 9 页 第 10 页 第11 页 第12 页 第13 页 第 14 页 第 15 页 第16 页 0x0200- 0x023F 0x0240- 0x027F 0x0280- 0x02BF 0x02C0- 0x02FF 0x0300- 0x033F 0x0340- 0x037F 0x0380- 0x03BF 0x03C0- 0x03FF
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 第17 页 第 18 页 第 19 页 第20 页 第21 页 第 22 页 第 23 页 第24 页 0x0400- 0x043F 0x0440- 0x047F 0x0480- 0x04BF 0x04C0- 0x04FF 0x0500- 0x053F 0x0540- 0x057F 0x0580- 0x05BF 0x05C0- 0x05FF 第25 页 第 26 页 第 27 页 第28 页 第29 页 第 30 页 第 31 页 第32 页 0x0600- 0x063F 0x0640- 0x067F 0x0680- 0x06BF 0x06C0- 0x06FF 0x0700- 0x073F 0x0740- 0x077F 0x0780- 0x07BF 0x07C0- 0x07FF 第33 页 第 34 页 第 35 页 第336 页 第37 页 第 38 页 第 39 页 第40 页 0x0800- 0x083F 0x0840- 0x087F 0x0880- 0x08BF 0x08C0- 0x08FF 0x0900- 0x093F 0x0940- 0x097F 0x0980- 0x09BF 0x09C0- 0x09FF 第41 页 第 42 页 第 43 页 第44 页 第45 页 第 46 页 第 47 页 第48 页 0x0A00- 0x0A3F 0x0A40- 0x0A7F 0x0A80- 0x0ABF 0x0AC0- 0x0AFF 0x0B00- 0x0B3F 0x0B40- 0x0B7F 0x0B80- 0x0BBF 0x0BC0- 0x0BFF 第49 页 第 50 页 第 51 页 第52 页 第53 页 第 54 页 第 55 页 第56 页 0x0C00- 0x0C3F 0x0C40- 0x0C7F 0x0C80- 0x0CBF 0x0CC0- 0x0CFF 0x0D00- 0x0D3F 0x0D40- 0x0D7F 0x0D80- 0x0DBF 0x0DC0- 0x0DFF 第57 页 第 58 页 第 59 页 第60 页 第61 页 第 62 页 第 63 页 第64 页 0x0E00- 0x0E3F 0x0E40- 0x0E7F 0x0E80- 0x0EBF 0x0EC0- 0x0EFF 0x0F00- 0x0F3F 0x0F40- 0x0F7F 0x0F80- 0x0FBF 0x0FC0- 0x0FFF 第65 页 第 66 页 第 67 页 第68 页 第69 页 第 70 页 第 71 页 第72 页 0X1000- 0x103F 0X1040- 0x107F 0X1080- 0x10BF 0X10C0- 0x10FF 0x1100- 0x113F 0x1140- 0x117F 0x1180- 0x11BF 0x11C0- 0x11FF 第73 页 第 74 页 第 75 页 第76 页 第77 页 第 78 页 第 79 页 第80 页 0x1200- 0x123F 0x1240- 0x127F 0x1280- 0x12BF 0x12C0- 0x12FF 0x1300- 0x133F 0x1340- 0x137F 0x1380- 0x13BF 0x13C0- 0x13FF 第81 页 第 82 页 第 83 页 第84 页 第85 页 第 86 页 第 87 页 第88 页 0x1400- 0x143F 0x1440- 0x147F 0x1480- 0x14BF 0x14C0- 0x14FF 0x1500- 0x153F 0x1540- 0x157F 0x1580- 0x15BF 0x15C0- 0x15FF 第89 页 第 90 页 第 91 页 第92 页 第93 页 第 94 页 第 95 页 第96 页 0x1600- 0x163F 0x1640- 0x167F 0x1680- 0x16BF 0x16C0- 0x16FF 0x1700- 0x173F 0x1740- 0x177F 0x1780- 0x17BF 0x17C0- 0x17FF 第97 页 第 98 页 第 99 页 第100 页 第 101 页 第 102 页 第 103 页 第104 页 0x1800- 0x183F 0x1840- 0x187F 0x1880- 0x18BF 0x18C0- 0x18FF 0x1900- 0x193F 0x1940- 0x197F 0x1980- 0x19BF 0x19C0- 0x19FF 第 105 页 第 106 页 第 107 页 第108 页 第 109 页 第110 页 第 111页 第 112 页 0x1A00- 0x1A3F 0x1A40- 0x1A7F 0x1A80- 0x1ABF 0x1AC0- 0x1AFF 0x1B00- 0x1B3F 0x1B40- 0x1B7F 0x1B80- 0x1BBF 0x1BC0- 0x1BFF 第 113 页 第 114 页 第 115 页 第116 页 第 117 页 第118 页 第 119 页 第120 页 0x1C00- 0x1C3F 0x1C40- 0x1C7F 0x1C80- 0x1CBF 0x1CC0- 0x1CFF 0x1D00- 0x1D3F 0x1D40- 0x1D7F 0x1D80- 0x1DBF 0x1DC0- 0x1DFF 第 121 页 第 122 页 第 123 页 第124 页 第 125 页 第 126 页 第 127 页 第128 页 0x1E00- 0x1E3F 0x1E40- 0x1E7F 0x1E80- 0x1EBF 0x1EC0- 0x1EFF 0x1F00- 0x1F3F 0x1F40- 0x1F7F 0x1F80- 0x1FBF 0x1FC0- 0x1FFF
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 10. 模数转换器(ADC) EG89M52 片内集成了一个 8 位分辨率、8 通道、最大转换速度 5us 的 ADC,并具有采样保持及信号 放大功能。 表 10-1. ADC 性能参数 参数名称 参数 单位 最小值 最大值 ADC 时钟频率(fadc) 0 16 MHz 信号采样时间 (4 个ADC 时钟) ∞ 0.25 us 转换时间(80 个ADC 时钟) ∞ 5 us 转换精度 8 bit 积分非线性 1.0 LSB 微分非线性 0.5 LSB 参考电压 用户配置 用户配置 v 8 通道模拟信号对应的输入端口为P2.0-P2.7, 当作为模拟信号输入口时, 必须设置端口模式为高阻 (参 见第8 章),模拟输入信号经采样保持电路和放大电路后送给转换电路。 ADC 由两个特殊功能寄存器ADCON、PGA 控制: 表 10-2. ADC 控制寄存器ADCON(F8H) 7 6 5 4 3 2 1 0 AS2 AS1 AS0 VS1 VS0 EOC CONV CS AS2-0 ADC 模拟信号输入选通 000:P2.0/AIN0 输入 001:P2.1/AIN1 输入 010:P2.2/AIN2 输入 011:P2.3/AIN3 输入 100:P2.4/AIN4 输入 101:P2.5/AIN5 输入 110:P2.6/AIN6 输入 111:P2.7/AIN7 输入 VS1-0 ADC 参考电压选择控制 位 00:VDD 01:AIN6 10:AIN7 11:DAC 输出 EOC ADC 转换结束标志(ADC 中断标志) 当ADC 完成一次转换后, 硬件自动置1, 申请中断。 0:转换未完成 1:转换完成,请求中断 CONV ADC 转换使能控制位 当CS 有效时,置“1”CONV,硬件自动采用并保 持模拟信号,4 个ADC 时钟周期后开始转换, 转换 需要80 个 ADC 时钟周期。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 0:不转换 1:转换使能 CS ADC 启动控制位 0:关闭ADC 1:启动ADC 表 10-3. 放大器放大倍数配置寄存器PGA (F9H) 7 6 5 4 3 2 1 0 x x x x x PGA2 PGA1 PGA0 PGA2-0 模拟信号放大倍数 000:x1 001:x4 010:x8 011:x16 100:x32 表 10-4. ADCBUF 数值与参考电压关系 模拟信号电压(P2.0-P2.3) ADCBUF 数值
0 V 00000000
参考电压 11111111 ADC 可以进行单次转换或连续转换。如图10-1 所示,单次转换时,在完成转换前必须清零CONV, 转换完成后 ADC 停止,转换结果保存在ABUF 内。如果一直保持 CONV=1, ADC 进行连续转换,完成 一次转换后,ADC 马上采样模拟输入信号,进行下一次转换,转换完成前,ABUF 一直保存前一次转换 的结果不变,如图10-2 所示。 ADC时钟 CONV EOC ABUF XX 转换结果数据 转换时间 80个时钟 转换完成 开始转换 信号采样时间 4个时钟 图 10-1. ADC 单次转换时序图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com ADC时钟 CONV EOC ABUF XX 转换结果数据0 转换时间 80个时钟 转换完成 开始转换 信号采样时间 4个时钟 信号采样时间 4个时钟 转换时间 80个时钟 转换结果数据1 转换完成 图 10-2. ADC 连续转换时序图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 11. 数模转换器(DAC) EG89M52 片内集成1 路 12 位精度的DAC,可以配置参考电压输入。通过DAC 控制寄存器DACON 设置和操作DAC。 表 11-1.DAC 控制寄存器DACON(FBH) 7 6 5 4 3 2 1 0 X DACVS DACOE DACEN DBUF3 DBUF2 DBUF1 DBUF0 DACVS DAC 参考电压选通控制位 0:选择P0.1/DAVREF 1:选择带隙 DACOE DAC 输出使能位 0:禁止DAC 输出 1:允许DAC 输出 DACEN DAC 启动控制位 0:关闭DAC 1:启动DAC DBUF3-0 DAC 输入数据低4 位 表 11-2.DAC 数据寄存器DABUF(FCH) 7 6 5 4 3 2 1 0 DBUF11 DBUF10 DBUF9 DBUF8 DBUF7 DBUF6 DBUF5 DBUF4 DBUF11-4 DAC 输入数据高8 位 当对特殊功能寄存器DABUF 赋值操作时,12 位数据DABUF 同时送给DAC。因此,每次修改DAC 输入数据时,必须先设置低4 位数据(DABUF3-0) ,再设置高8 位数据(DABUF11-4)。DAC 最大转换时 间为 50ns,转换结果从P0.2/DAO 端口输出,或者作为其他模拟单元的输入信号。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 12. 模拟比较器(AC) EG89M52 集成了4 路模拟比较器AC0、AC1、AC2、AC3。每路模拟比较器的比较结果都寄存在寄存 器内,且比较器结果发生改变时,将产生中断请求信号。比较器的负端输入都固定连接一个芯片引脚(P0.3 ~P0.7),而正端输入信号通过正端信号源选择位选择。 表 12-1.模拟比较器控制寄存器 ACCON0(ACH) 7 6 5 4 3 2 1 0 AC1EN AC1PS2 AC1PS1 AC1PS0 AC0EN AC0PS2 AC0PS1 AC0PS0 AC1EN 模拟比较器1 使能位 0:禁止模拟比较器1 1:使能模拟比较器1 AC1PS2-0 模拟比较器 1 正端信号源选 择位 000:悬空 001:P2.0 010:P2.1 011:P2.2 100:P2.3 101:P0.7 110:DAC 模拟信号输出 111:内部1.25V 电压基准 AC0EN 模拟比较器0 使能位 0:禁止模拟比较器0 1:使能模拟比较器0 AC0PS2-0 模拟比较器 0 正端信号源选 择位 000:悬空 001:P2.0 010:P2.1 011:P2.2 100:P2.3 101:P0.7 110:DAC 模拟信号输出 111:内部1.25V 电压基准 表 12-2.模拟比较器控制寄存器 ACCON1(ADH) 7 6 5 4 3 2 1 0 X AC3PS2 AC3PS1 AC3PS0 AC2EN AC2PS2 AC2PS1 AC2PS0 AC3PS2-0 模拟比较器 3 正端信号源选 择位 000:悬空 001:P2.0 010:P2.1 011:P2.2 100:P2.3 101:P0.7 110:DAC 模拟信号输出 111:内部1.25V 电压基准
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com AC2EN 模拟比较器2 使能位 0:禁止模拟比较器2 1:使能模拟比较器2 AC2PS2-0 模拟比较器 2 正端信号源选 择位 000:悬空 001:P2.0 010:P2.1 011:P2.2 100:P2.3 101:P0.7 110:DAC 模拟信号输出 111:内部1.25V 电压基准 表 12-3.模拟比较器中断标志/比较结果寄存器 ACI(AEH) 7 6 5 4 3 2 1 0 ACIF3 ACIF2 ACIF1 ACIF0 ACO3 ACO2 ACO1 ACO0 ACIF3 模拟比较器3 中断标志位 当模拟比较器 3 使能,并且模拟比较器 3 输 出翻转时,该位被硬件自动置1 ACIF2 模拟比较器2 中断标志位 当模拟比较器 2 使能,并且模拟比较器 2 输 出翻转时,该位被硬件自动置1 ACIF1 模拟比较器1 中断标志位 当模拟比较器 1 使能,并且模拟比较器 1 输 出翻转时,该位被硬件自动置1 ACIF0 模拟比较器0 中断标志位 当模拟比较器 0 使能,并且模拟比较器 0 输 出翻转时,该位被硬件自动置1 ACO3 模拟比较器3 比较结果寄存器 0:正端电平 < 负端电平 1:正端电平 > 负端电平 ACO2 模拟比较器2 比较结果寄存器 0:正端电平 < 负端电平 1:正端电平 > 负端电平 ACO1 模拟比较器1 比较结果寄存器 0:正端电平 < 负端电平 1:正端电平 > 负端电平 ACO0 模拟比较器0 比较结果寄存器 0:正端电平 < 负端电平 1:正端电平 > 负端电平 表 12-4.模拟比较器3 使能控制寄存器 AC3E(AFH) 7 6 5 4 3 2 1 0 AC3E 模拟比较器3 使能控制字 00110101=>11001010 (35=>CA),使能模拟比较器3 01101110=>10010001 (6E=>91), 禁止模拟比较器3 开启模拟比较器3 需要对AC3E 作两次赋值操作: AC3E = 0x35 AC3E = 0x0A
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 关闭模拟比较器3 也需要对AC3E 作两次赋值操作: AC3E = 0x6E AC3E = 0x91 值得注意的是,模拟比较器 AC0,AC1,AC2,AC3 在芯片上电复位后,都处于关闭状态,并且其正 端输入都是悬空的,比较器的输出为不确定值。因此,使用时要先选择好正端输入信号,再使能比较器。 模拟比较器AC3 和其他3 路比较器不同。AC0,AC1,AC2 的中断为普通中断,并共享一个中断向量 (0x006B),其优先级由扩展中断优先级寄存器(IPX,IPXH)控制。而AC3 将触发不可屏蔽中断(NMI), 中断优先级不受 IPX,IPXH 控制,并且中断允许也不受限制。当 AC3 输出变化,产生中断请求时,CPU 会立即响应,PC 跳转到中断入口地址,执行中断服务程序。 即使程序运行异常, 只要不可屏蔽中断被触发,CPU 仍然能够正确地执行AC3 的中断服务程序。 因此, AC3 可以用于一些需要自动保护的电路系统,如电机控制电路中的过流保护。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 13. 模拟信号选通电路 EG89M52 集成的所有模拟单元都可以在芯片内部相互传输模拟信号, 这使得EG89M52 的模拟单元使 用起来更加灵活,图13-1 给出了模拟信号选通电路的结构。 ADCAC0 P2.1/AIN1 P2.0/AIN0 P0.7/AIN8 P0.1/DAVREF P2.3/AIN3 P2.2/AIN2 P2.6/AIN6 P2.5/AIN5 P2.4/AIN4 P2.7/AIN7 VDD 运放 P0.5/AC2N P0.6/AC3N P0.4/AC1N P0.3/AC0N 悬空 悬空 悬空 悬空 数据总线 AC1 AC3AC2 DAC ADC参考电压 DAC参考电压 - + - + - + - + P0.2/DAO 可编程运放 电压 基准 模拟信号的选通由特殊功能寄存器控制。DACON 控制DAC 参考电压输入的选通;ACCON0 控制模拟 比较器AC0、AC1 的正端输入信号的选通;ACCON1 控制模拟比较器AC2、AC3 的正端输入信号的选通; ADCON 控制ADC 模拟输入信号及参考电压的选通。详细的选通方式见表13-1。 图13-1 模拟信号选通电路结构图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 表 13-1. 模拟信号选通配置表 配置寄存器 DACON [6] ACCON0 [2:0] ACCON0 [6:4] ACCON1 [2:0] ACCON1 [6:4] ADCON [7:5] ADCON [4:3] 端口0 端口1 DAC参考电 压输入口 模拟比较器0 正端输入口 模拟比较器1 正端输入口 模拟比较器2 正端输入口 模拟比较器3 正端输入口 ADC模拟信 号输入口 ADC参考电 压输入口 P0.1/ P2.0/AIN0 ╳ 001 001 001 001 000 ╳ P2.1/AIN1 ╳ 010 010 010 010 001 ╳ P2.2/AIN2 ╳ 011 011 011 011 010 ╳ P2.3/AIN3 ╳ 100 100 100 100 011 ╳ P0.7/AIN8 ╳ 101 101 101 101 ╳ DAC 输出 ╳ 110 110 110 110 ╳ 11 电压基准 1.25V 0 111 111 111 111 ╳ ╳ 上表中首行是对应的配置寄存器名称及配置位,数字为选通时对应配置寄存器的值, “╳”表示不可选
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 14. 定时器 2、定时器 3 14.1. 定时器的结构 定时器2(T2)和定时器3(T3)为16 位定时器,T2 由特殊功能寄存器TH2,TL2 构成,T3 由特殊 功能寄存器TH3,TL3 构成。 振荡器 TH2 TL2 TF2 中断 T2PRH T2PRL T2EN 分频器 T2MOD 0x0000 T2CLR 特殊功能寄存器TCONX 用于控制和确定T2,T3 的启动、停止计数及工作模式。TCONX 的内容由软 件设置,系统复位时,所有位都被清0。 表 14-1.定时器2/3 控制寄存器 TCONX(D8H) 7 6 5 4 3 2 1 0 TF3 T3CLR T3MOD T3EN TF2 T2CLR T2MOD T2EN TF3 定时器 3 周期匹配标志位 (中断请求标志位) 当定时器3 的计数值等于周期寄存器(TPH3,TPL3) 的值时,TF3 由硬件自动置“1”,申请中断,否则清 “0”。 T3MOD 定时器3 计数模式控制位 0:定时器3 计数到周期值后立即归零,再重新开始递 增计数。 1:定时器3 计数到周期值后继续递减计数到零,再重 新开始递增计数。 T3CLR 定时器3 清零控制位 0:无操作 1:立即清零定时器3 的计数值 T3EN 定时器3 启动/停止控制位 0:关闭定时器3 1:启动定时器3 T2F 定时器 2 周期匹配标志位 (中断请求标志位) 当定时器2 的计数值等于周期寄存器(TPH2,TPL2) 的值时,TF2 由硬件自动置“1”,申请中断,否则清 图 14-1 定时器2、3 的结构图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com “0”。 T2MOD 定时器2 计数模式控制位 0:定时器2 计数到周期值后立即归零,再重新开始递 增计数。 1:定时器2 计数到周期值后继续递减计数到零,再重 新开始递增计数。 T2CLR 定时器2 清零控制位 0:无操作 1:立即清零定时器2 的计数值 T2EN 定时器2 启动/停止控制位 0:关闭定时器2 1:启动定时器2 设置TH2、TL2 及TH3、TL3 可以预设定时器2、定时器3 的初始值,特殊功能寄存器TPH2,TPL2 设置定时器2 的计数周期值,特殊功能寄存器TPH3,TPL3 设置定时器3 的计数周期。T2MOD 和T3MOD 分别控制定时器2、定时器3 的工作方式。 14.2. 定时器的工作方式 定时器2、定时器3 有两种工作方式,当T2MOD = 0 时,定时器2 被选为工作方式0,当定时器2 的 计数值到达周期值(TPH2、TPL2 的值)后,下一时钟周期TH2、TL2 自动清0。当 T2MOD = 1 时,定时 器 2 被选为工作方式 1,此时定时器 2 的计数到达周期值(TPH2、TPL2 的值)后,开始递减计数,直到 TH2、TL2=0x0000。定时器3 和定时器2 的工作方式完全一样, 下面以定时器2 为例介绍这两种工作方式。 工作方式0 如图 14-2 所示,设置T2 的计数周期值TPH2、TPL2= 0x12F6,T2 的计数模式为模式T2MOD=0。 TH2、TL2 递增到0x12F6 后,硬件置1 中断请求TF2,并且下一时钟周期TH2、TL2 立即清0,定时器2 重新开始递增计数。 0000H 12F6H 12F6H12F5H12F4H12F3H12F2H12F1H 0000H 0001H 0002H 0003H 0004H 0001H 时钟 TH2 TL2 TPH2 TPL2 T2MOD 12F6H12F5H 0000H TF2 图14-2 定时器2 工作方式0 时序图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 工作方式1 如图 14-3 所示,设置T2 的计数周期值TPH2、TPL2= 0x12F6,T2 的计数模式为模式T2MOD=1。 TH2、TL2 递增到0x12F6 后,硬件置1 中断请求TF2,并且下一时钟周期TH2、TL2 开始递减计数,直到 TH2、TL2=0x0000,定时器2 重新开始递增计数。 0000H 12F6H 12F6H12F5H12F4H12F3H12F2H12F1H 12F5H 12F4H 12F3H 12F2H 12F1H 0000H 0001H 0002H 0003H 时钟 TH2 TL2 TPH2 TPL2 T2MOD TF2 图 14-3 定时器2 工作方式1 时序图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 15. 比较/捕获单元 EG89M52 的比较/捕获单元结构如图15-1 所示,由 3 个比较/捕获通道CC0、CC1、CC2 及一个独立 的比较通道C3 组成。 TH2 TL2 比较/捕获通道CC0 比较/捕获通道CC1 比较/捕获通道CC2 比较通道C3TH3 TL3 CCMOD CCIS CMP0 CMP1 CMP2 CMP3 CHA0 CHA1 CHA2 定时器2 的计数值寄存器TH2、TL2 送给比较/捕获通道CC0、CC1、CC2,而定时器3 的计数值寄存 器 TH3、TL3 送给比较通道C3。比较结果输出信号CMP0、CMP1、CMP2、CMP3 用于 PWM 生成及电 机控制,将在第 16 章电机控制单元详细介绍。控制比较/捕获通道的特殊功能寄存器共有两个:CCMOD 和 CCIS。 表 15-1.比较/捕获通道模式寄存器 CCMOD(D1H) 7 6 5 4 3 2 1 0 x x CC2M1 CC2M0 CC1M1 CC1M0 CC0M1 CC0M0 CC2M1-0 通道2 模式控制位 00:比较模式 01:捕获模式,捕获通道2(CHA2)的上升沿 10:捕获模式,捕获通道2(CHA2)的下降沿 11:捕获模式,捕获通道2(CHA2)的上升沿和下降沿 CC1M1-0 通道1 模式控制位 00:比较模式 01:捕获模式,捕获通道1(CHA1)的上升沿 10:捕获模式,捕获通道1(CHA1)的下降沿 图15-1 比较/捕获单元结构框图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 11:捕获模式,捕获通道1(CHA1)的上升沿和下降沿 CC0M1-0 通道0 模式控制位 00:比较模式 01:捕获模式,捕获通道0(CHA0)的上升沿 10:捕获模式,捕获通道0(CHA0)的下降沿 11:捕获模式,捕获通道0(CHA0)的上升沿和下降沿 表 15-2.比较/捕获通道中断标志/选择寄存器 CCIS(E7H) 7 6 5 4 3 2 1 0 CTM3 CTM2 CTM1 CTM0 IC3 IC2 IC1 IC0 CTM3 比较通道3,中断触发 方式选择位 0:定时器3 计数值递增到比较值(CCH3,CCL3)时, 触发中断 1:定时器3 计数值递减到比较值(CCH3,CCL3)时, 触发中断 CTM2 比较通道2,中断触发 方式选择位 0:定时器2 计数值递增到比较值(CCH2,CCL2)时, 触发中断 1:定时器2 计数值递减到比较值(CCH2,CCL2)时, 触发中断 CTM1 比较通道1,中断触发 方式选择位 0:定时器2 计数值递增到比较值(CCH1,CCL1)时, 触发中断 1:定时器2 计数值递减到比较值(CCH1,CCL1)时, 触发中断 CTM0 比较通道0,中断触发 方式选择位 0:定时器2 计数值递增到比较值(CCH0,CCL0)时, 触发中断 1:定时器2 计数值递减到比较值(CCH0,CCL0)时, 触发中断 IC3 比较通道 3 中断请求 标志位 0:无比较通道3 中断请求 1:定时器3 的计数值等于比较值(CCH3,CCL3)时, 硬件自动置“1”,表示有中断请求,该位需要软件清 “0”。 IC2 比较/捕获通道 2 中断 请求标志位 0:无中断请求 1:有中断请求 比较模式时:当定时器2 的计数值等于比较值(CCH2, 捕获模式时:当捕获到通道 2 的边沿时,硬件自动置 IC1 比较/捕获通道 1 中断 请求标志位 0:无中断请求 1:有中断请求 比较模式时:当定时器2 的计数值等于比较值(CCH1, 捕获模式时:当捕获到通道 1 的边沿时,硬件自动置 IC0 比较/捕获通道 0 中断 0:无中断请求
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 请求标志位 1:有中断请求 比较模式时:当定时器2 的计数值等于比较值(CCH0, 捕获模式时:当捕获到通道 0 的边沿时,硬件自动置 15.1. 比较/捕获通道 CC0、CC1、CC2 图 15-2 是比较/捕获通道CC0 的内部结构,CC1 和 CC2 的结构和CC0 完全一样。 TH2 TL2 CCH0 CCL0 CCSH0 CCSL0 IC0 CC0M1 CC0M0 CHA0 边沿捕获 中断 控制 CPIS0 CMP0 比较通道 捕获通道 G2 G3 G4 OR1 比较/捕获通道CC0 分别由比较通道和捕获通道组成。CC0M1,CC0M0 控制两个通道的启动和关闭, 同时控制捕获通道的边沿捕获模式。比较/捕获通道0 中断触发方式控制寄存器CTM0 控制比较通道的中断 触发方式。比较通道和捕获通道都会产生中断请求信号,通过逻辑“或”后寄存到IC0,比较通道同时输出 比较结果CMP0。 比较模式 如图 15-2 所示,CC0M1、CC0M0 为 00 时,OR1 输出为 0,此时 G1 闭合,而 G2 打开,捕获通道 关闭,CC0 工作在比较模式。根据比较结果CMP0 和CTM0 的值,中断请求IC0。 图 15-2 比较/捕获通道CC0 结构图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 0000 12F612F512F412F312F212F1 12F5 12F4 12F3 12F2 12F1 0000 0001 0002 0003 时钟 TH2 TL2 CMP0 CC0M1 CC0M0 比较-匹配 比较-匹配 0004 IC0 触发中断请求 12F2CCH0 CCL0 CTM0 当 TH2、TL2 的值递增到比较值CCH0、CCL0 时,比较匹配,CMP0 由0 变1。此时CTM0=0,允许 上升沿触发中断,一个时钟后置1 中断请求标志位IC0,申请中断。 0000 12F612F512F412F312F212F1 12F5 12F4 12F3 12F2 12F1 0000 0001 0002 0003 时钟 TH2 TL2 CMP0 CC0M1 CC0M0 比较-匹配 比较-匹配 IC0 触发中断请求 12F2CCH0 CCL0 CTM0 12F0 当 TH2、TL2 的值递增到比较值CCH0、CCL0 时,比较匹配,CMP0 由0 变 1。由于CTM=1,允许 下降沿触发中断,所以此时不产生比较中断;当TH2、TL2 的值递减到比较值CCH0、CCL0 时比较匹配, 图15-3 比较模式,上升沿触发中断 图15-4 比较模式, 下降沿触发中断
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com CMP0 由 1 变 0,一个时钟后置1 中断请求标志位IC0,申请中断。 捕获模式 如图 15-2 所示,CC0M1、CC0M0 为01、10、11 时,OR1 输出为1。G1 打开,而G2 闭合,比较通 道关闭,CC0 工作在捕获模式。 根据 CC0M1、CC0M0 的值,边沿捕获电路分别捕获 CHA0 的上升沿、下降沿及双边沿。当检查到 CHA0 对应的边沿时,置1 中断请求标志位IC0,申请中断。此时G3,G4 闭合,CCH0、CCL0 寄存TH2、 TL2 的值,映射寄存器CCSH0、CCSL0 寄存CCH0、CCL0 的值。 时钟 0000CCH0 CCL0 CHA0 0000 014301420141 0001TH2 TL2 12F612F5 0000 0143 0737 捕获CHA0上升沿 捕获CHA0上升沿 IC0 中断请求 07350734 0736 0737 014601450144 0147 CCSH0 CCSL0 XXXX 0000 0143 00CC0M1 CC0M0 上升沿捕获模式01 中断请求 图15-5 上升沿捕获模式
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 时钟 0000CCH0 CCL0 CHA0 0000 008000790078 0001TH2 TL2 12F612F5 0000 0080 03C7 捕获CHA0下降沿 捕获CHA0下降沿 IC0 中断请求 03C503C4 03C6 03C7 008300820081 0084 CCSH0 CCSL0 XXXX 0000 0080 00CC0M1 CC0M0 下降沿捕获模式10 中断请求 0000 0000 0A430A420A41 000112F612F5 0000 0A43 0F07 捕获CHA0上升沿 捕获CHA0下降沿 中断请求 中断请求 0A450A44 0F02 0F050F040F03 0F06 0F07 XXXX 0000 0A43 00 双边沿捕获模式11 时钟 CCH0 CCL0 CHA0 TH2 TL2 IC0 CCSH0 CCSL0 CC0M1 CC0M0 图 15-6 下降沿捕获模式 图 15-7 双边沿捕获模式
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 15.2. 比较通道 C3 C3 是一个独立的比较通道。C3 比较 TH3、TL3 和 CCH3、CCL3 的值,产生中断请求和比较结果输 出 CMP3,CTM3 控制比较通道3 的中断触发方式。 TH3 TL3 IC3 CCH3 CCL3 CTM3 中断触 发方式 CMP3 15.3. PWM生成单元 PWM 生成单元结构如图 15-9 所示,比较/捕获通道 CC0、CC1、CC2 工作在比较模式时产生3 路比 较输出CMP0、CMP1、CMP2 以及比较通道C3 产生的比较输出CMP3,经过PWM 生成单元,输出6 路 带死区保护的PWM 信号。 PWM产生电路0 CMP0 PWM0 PWM3 DPF0 PWM产生电路1 PWM1 PWM4 DPF1 PWM产生电路2 PWM2 PWM5 DPF2 CMP3 AUTOEN=0 CMP1 CMP3 CMP2 CMP3 AUTOEN=1 AUTOEN=0 AUTOEN=1 AUTOEN=0 AUTOEN=1 DTEN0 DTEN1 DTEN2 DTM 图15-8 比较通道CP3 结构图 图15-9 PWM 生成单元结构图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com CMP0、CMP1、CMP2、CMP3 由电机自动控制模式使能位(AUTOEN)选通后送给PWM 产生电路。 结合死区控制信号DTE0、DTE1、DTE2 及死区时间寄存器DTM,产生3 组相位相反的PWM 信号及死区 状态标准信号 DPF0、DPF1、DPF2。死区时间由寄存器 DTM 的值决定,DTM 值越大,死区时间越长。 死区时间 = DTM / fcc,其中fcc 为定时器2、3 的时钟频率,fcc 可以通过特殊功能寄存器PRE 设置。 CMP0/ CMP3 PWM0 PWM3 DPF0 DTEN0 死区时间 无死区时间有死区时间 死区时间 图15-10 PWM 产生电路波形图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 16. 电机控制单元 16.1. 电机控制单元结构 如图 16-1 所示,电机控制单元由霍尔信号选择、霍尔滤波电路、霍尔检测电路、霍尔序列表、电机自 动换向单元、电机换向信号同步电路及多通道调制电路组成。 A B C MC0 MC3 MC1 MC4 MC2 MC5 驱 动 AC0N AC1N AC2N ACP0 - +ACP1 - +ACP2 - + 模拟信号 选通电路 霍尔滤波 霍尔检测 电机自动 换相单元 霍尔序列 表 电机换相 信号同步 电路 多通道调制 电路 PWM 产 生 电 路 比较/捕获通道0 比较/捕获通道1 比较/捕获通道2 比较通道3 16位定时器2 16位定时器3 死 区 定 时 器 高压电源 霍尔信号 选择 CMP3 PWM0 PWM1 PWM2 PWM3 PWM4 PWM5 MV 16.2. 霍尔信号滤波及检测单元 霍尔噪声滤波器可抑制霍尔输入的毛刺。滤波时间由特殊功能寄存器THF 的值及fcc 决定,即霍尔滤波 时间 = THF / fcc,凡是宽度小于霍尔滤波时间的毛刺都会被滤除。 图 16-1 霍尔信号滤波
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 噪音/毛刺 噪音/毛刺 霍尔信号0 霍尔信号0 霍尔信号0 滤波后的 霍尔信号0 滤波后的 霍尔信号1 滤波后的 霍尔信号2 滤波时间 霍尔序列检测器比较输入的霍尔信号和霍尔序列检测表中期望的霍尔信号是否一致,如果一致,则把 输入的霍尔信号作为有效霍尔信;如果不一致,则不改变有效霍尔信号。 霍尔序列检测通过设置霍尔序列表实现, 而霍尔序列表需要软件配置霍尔序列配置寄存器HSR。HC2、 HC1、HC0 表示当前送给电机换向产生模块的有效霍尔信号,HE2、HE1、HE0 表示期望输入的霍尔信号。 霍尔序列检测表一共可以输入8 组值,如表16-2 所示。 表 16-1.霍尔序列配置寄存器HSR(F5H) 7 6 5 4 3 2 1 0 WR HC2 HC1 HC0 X HE2 HE1 HE0 WR 霍尔序列检测表写使能 0:无操作 1:写使能 HC2-0 当前有效的霍尔信号 HE2-0 期望输入的霍尔信号 表 16-2.霍尔序列表举例 有效霍尔信号HC2-0 期望霍尔信号HE2-0 0 0 1 5 2 3 3 1 4 6 5 4 6 2 7 0 图16-2 霍尔信号滤波
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 16.3. 电机自动换相单元 电机自动换向单元根据有效的霍尔信号,自动产生 6 路电机换相信号。电机自动换相单元实际上是一 个 6 位 x 8 的存储器,3 位地址输入,6 位数据输出,以下称为“电机换相表”。 有效霍尔信号作为“电机换相表”的3 位地址,6 位数据输出就是电机换相信号。“电机换相表”同样 需要软件来设置。通过特殊功能寄存器MMOD 和MVBUF 配置“电机换相表”,实现任意的霍尔信号与换 相信号的关系。因此,用户可以根据实际使用的电机,灵活配置“电机换相表”。 表 16-3.电机模式寄存器MMOD(E9H) 7 6 5 4 3 2 1 0 MTWR MTADR2 MTADR1 MTADR0 SYNSEL SYNSEL REQSEL REQSEL MTWR 换相表写使能控制位 0:无操作 1:换相表写使能 MTADR2-0 换相表地址 对换相表进行写操作时,需要预先给出对应的地址 以及换相表数据MVBUF SYNSEL1-0 电机换相信号调制同步 信号 00:不同步 01:T2= 0 匹配同步 10:T3= 0 匹配同步 11:永远同步 REQSEL1-0 电机换相信号调制请求 信号 00:霍尔信号改变 01:T2 周期匹配请求 10:T3 周期匹配请求 11:霍尔信号寄存使能 表 16-4.换相表数据寄存器MVBUF(EAH) 7 6 5 4 3 2 1 0 X X MVBUF5 MVBUF4 MVBUF3 MVBUF2 MVBUF1 MVBUF0 当 MTWR 有效时,硬件自动把MVBUF5-0 的数据写到电机换相表对应的地址空间内。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 16.4. 电机换向信号同步电路 电机换向信号同步电路的作用是在多通道调制时,使得不同步的 PWM 信号、CMP3 信号与电机换相 信号 MV 能够同步化,防止调制后的信号中存在多余脉冲或窄脉冲。 同步使能 SYNSEL 定时器2=周期值 定时器3=周期值 REQSEL 11有效霍尔信号 定时器2=0x0000 定时器3=0x0000 寄存 器 清零 置位 电机换相表输出 MV 寄 存 器 电机换向信号同步电路由特殊功能寄存器MMOD 控制。SYNSEL 选择开始允许同步的条件, 条件满足 后,等待同步请求信号。而REQSEL 选择同步请求信号源,即同步时刻。当同步允许条件满足,并且有同 步请求信号时,同步电路采样电机换向表输出信号,并寄存采样(同步)后的信号MV。每次同步后,同步 允许会自动设置为无效,即使有同步请求信号,也不采样电机换向表输出信号,必须等下一个同步使能信 号到来时,才允许同步。 表 16-5.电机模式寄存器MMOD(E9H) 7 6 5 4 3 2 1 0 MTWR MTADR2 MTADR1 MTADR0 SYNSEL SYNSEL REQSEL REQSEL MTWR 电机换相表写使能 控制位 0:无操作 1:换相表写使能 MTADR2-0 换相表地址 对换相表进行写操作时,需要预先给出对应的地址以及 换相表数据MVBUF SYNSEL1-0 电机换向信号同步 使能信号选择 00:永远不允许同步 01:当TH2=0 且TL2= 0 时,开始允许同步 10:当TH3=0 且TL3= 0 时,开始允许同步 图16-3 电机换向信号同步电路
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 11:永远允许同步 REQSEL1-0 电机换向信号同步 请求信号选择 00:永远同步,只要同步使能信号有效,立即进行同步 01:当TH2=TPH2 且TL2=TPL2 时,进行同步 10:当TH3=TPH3 且TL3=TPL3 时,进行同步 11:有效霍尔信号改变时,进行同步 如图 16-4 所示,设置SYNSEL=10,REQSEL=10 时,同步后的多通道调制输出信号波形图。此时, MV0 和CMP3 同步,补偿图16-4 中CMP3 和MV0 调制时产生的不完整脉冲。 PWM0 电机换相 表输出 CMP3 MC0 MV0 16.5. 多通道调制 如图 16-5 所示,多通道调制将不同的调制源逻辑组合(PWM,MV,CMP3),每种调制源可各自独立 被使能(由 PMWM,MVM,C3M 控制)输出。另外,多通道调制使能控制位ME 作为总的调制使能,当 ME=1 时,禁止所有调制源信号的输出。多通道调制输出方向控制位MINV 控制调制后的信号是否被反向输 出。多通道调制一共有6 路,图16-3 为第0 路调制电路,其它5 路的结构完全一样。 表 16-6.多通道调制控制寄存器MCC(EEH) 7 6 5 4 3 2 1 0 ME X MINV5 MINV 4 MINV 3 MINV 2 MINV 1 MINV 0 ME 多通道调制使能控制位 0:允许多通道调制 1:禁止多通道调制 MINV5-0 多通道调制输出方向控制位 0:无操作 1:调试信号输出反向 图 16-4 同步后的多通道调制输出信号
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com P1.0/MC0 PWMM.0 MVM.0 MINV0 ME OR1 OR2MV0 OR0 C3M.0 OR3CMP3 PWM0 P1.0 PWMM.0=1 时,或门OR1 的输出由PWM0 决定,PWM0 信号调制有效;PWMM.0=0 时,或门OR1 的输出为1,PWM0 信号不影响MOUT0 的值,即PWM0 调制无效。 MVM.0=1 时,或门OR2 的输出由MV0 决定,MV0 信号调制有效;MVM.0=0 时,或门OR2 的输出 为 1,MV0 信号不影响MOUT0 的值,即MV0 调制无效。 C3M.0=1 时,或门OR3 的输出由CMP3 决定,CMP3 信号调制有效;C3M.0=0 时,或门OR3 的输 出为 1,CMP3 信号不影响MOUT0 的值,即CMP3 调制无效。 值得注意的是,当某一路多通道调制电路的PWMM、C3M、MVM 全为0 时,芯片端口输出的信号则 变为特殊功能寄存器P1 的值。例如,当PWMM.0=0,C3M.0=0、MVM.0=0 时,P1.0/MC0 输出的信号为 特殊功能寄存器P1.0 的值。 PWM0 MV0 CMP3 MC0 图 16-5 多通道调制电路结构图 图 16-6 多通道调制输出波形图
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 16.6. 电机自动控制模式 当设置电机控制寄存器MCON的最高位AUTOEN=1时,电机控制单元进入自动控制模式。该模式下: 比较/捕获通道0自动强制设置为捕获通道,并且捕获通道0输入CHA0强制无效。当检测到有效的霍尔 信号改变时,定时器2的计数值被捕获到通道0中,并将定时器2的计数值清零。此时,CCH0、CCL0 的值表示每次霍尔信号改变的间隔时间,即60°电角度。 比较/捕获通道1自动强制设置为比较通道,此时通道1控制电机换相延时时间,软件设置比较/捕获通道 1寄存器CCH1、CCL1作为电机换相信号输出延时量。当TH2=CCH1、TL1=CCL1时,使能电机换相信 号输出。 当使用无霍尔控制模式时,必须软件设置霍尔相位补偿使能位HCPEN=1。无霍尔控制模式下利用电机 的反电动势作为电机位置信号,而反电动势的相位正好提前霍尔信号的相位30°电角度,因此需要延迟 电机换向信号输出30°电角度。此时,硬件自动设置比较/捕获通道1寄存器CCH1、CCL1的值等于比较 /捕获通道0寄存器CCH0、CCL0的高15位(30°电角度时间)加/减(加/减由霍尔补偿控制位HCPCON 控制)霍尔补偿寄存器PHASDLY的值, 作为电机换相信号输出延时量。 当TH2=CCH1、TL1=CCL1时, 使能电机换相信号输出。 比较/捕获通道2自动强制设置为比较通道,软件设置比较/捕获通道2寄存器CCH1、CCL1作为电机换 相超时时间。当TH2=CCH2、TL1=CCL2时,表示电机长时间没有换相或电机的目标转速远远低于期 望转速。 有效霍尔信号0 MV0 MV1 1 1 1 1 1 1 1 11 0 0 0 0 0 0 0 0 CCH0,CCL0=实际转速 CCH1,CCL1 CCH2,CCL2 霍尔信号 改变超时 换相信号 输出延时 霍尔信号改变, 定时器2清零 有效霍尔信号1 有效霍尔信号2 0x0000 TH2,TL2 图 16-7 电机自动控制模式
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 16.7. 自动同步续流 同步续流是在驱动电机大电流输出时,针对 PWM 调制的上管,打开其对应的下管,起到减小下管发 热量,保护功率管的作用。如果在大电流的情况下不进行同步续流操作,那么在上管 PWM 调制为低电平 的时候,线圈绕组中的续流电流都通过下管的续流二极管进行泄放,而二极管导通时电压为0.7V,发热量 比较大,容易损坏功率管。而同步续流操作打开相应的下管,我们知道功率管导通时只有十几个毫欧,续 流电流通过功率管泄放比起从二极管泄放能有效的起到减小发热量的作用。 电机正常工作时,功率管G0 和 G4 由电机控制信号 MC0 和 MC4 控制,并且 MC0 带有 PWM 调制。 当 PWM 信号为高电平时,工作电流如图 16-8 中粗虚线所示。当 PWM 信号为低电平时,G4 继续导通, 而 G0 关断。外部驱动电流消失,电机绕组产生续流电流。续流电流从 A、B 相绕组经过功率管 G4 及 G3 的续流二极管,再回到A 相绕组,形成一个回路,如图16-8 中细虚线所示。大电流的情况下,流过G3 续 流二极管的电流较大,而二极管导通时电压为0.7V ,因此发热量就比较大,容易损坏功率管。 A B C MC0 MC3 MC1 MC4 MC2 MC5 驱动电流 续流回路 G0 G1 G2 G3 G4 G5G3 EG89M52 内部集成了自动同步续流的功能,当设置电机控制寄存器MCON 的 SRSEN=1 时,电机自 动同步续流功能启动。此时,电机驱动端口的波形如图16-9 所示。上管在作PWM 调制时,下管产生互补 的 PWM 调制信号。MC0 输出的 PWM 信号为高电平时,MC3 输出为低电平,电机为驱动工作状态。当 MC0 输出的PWM 信号为低电平时,功率管G0 关断,驱动电流消失,电机为为续流工作状态。此时,MC3 输出高电平,功率管G3 导通,续流电流从G3 上流过,而不是通过G3 上的续流二极管,功率管G3 发热 量大大减少,续流回路如图16-10 所示。 图 16-8 未开启同步续流时电机的续流回路
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com MC0 MC3 MC1 MC4 MC2 MC5 同步续流 同步续流 同步续流 如图 16-10 所示,启动同步续流后,上管导通期间,其对应的下管产生互补的PWM 调制信号。此时, 线圈绕组中的续流电流都通过下管进行泄放 A B C MC0 MC3 MC1 MC4 MC2 MC5 驱动电流 续流回路 G0 G1 G2 G3 G4 G5 图 16-10 开启同步续流时电机的续流回路 图 16-9 同步续流时电机控制信号的波形
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 17. I2C 通讯口 I2C 总线是由数据线 SDA 和时钟 SCL 构成的串行总线,可发送和接收数据。在微控制器与被控IC 之 间进行双向传送。 各种被控制电路均并联在这条总线上, 但就像电话机一样只有拨通各自的号码才能工作, 所以每个电路和模块都有唯一的地址, 在信息的传输过程中,I2C 总线上并接的每一模块电路既是主控器 (或 被控器) ,又是发送器(或接收器) ,这取决于它所要完成的功能。这样,各控制电路虽然挂在同一条总线 上,却彼此独立,互不相关。 I2C 总线在传送数据过程中共有三种类型信号,它们分别是:开始信号、结束信号和应答信号。 开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。 结束信号:SCL 为低电平时,SDA 由 低电平向高电平跳变,结束传送数据。 应答信号:接收数据的IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲,表示已收 到数据。微控制器向受控单元发出一个信号后,等待受控单元发出一个应答信号,微控制器接收到应答信 号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。 I2C 规程运用主/从双向通讯。器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收 器。主器件和从器件都可以工作于接收和发送状态。总线必须由主器件(微控制器)控制,主器件产生串 行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。SDA 线上的数据状态仅在SCL 为低电平期 间才能改变,SCL 为高电平期间,SDA 状态的改变被用来表示起始和停止条件。 开始 信号 停止 信号 数据 改变 SCL SDA 应答 信号 应答 信号 1 2 3 7 8 9 1 2 93 - 8 17.1. I2C 端口结构 EG89M51 取消了 P3.6,P3.7 第二功能,即外部 RAM 读写使能。改为 I2C 总线接口,P3.6=SCL, P3.7=SDA。I2C 总线为双向总线, 使用I2C 通讯时,P3.6,P3.7 的端口模式必须设置为准双向口(P3M0.6=0, P3M1.6=0)或推挽输出(P3M0.6=0,P3M1.6=0) ,否则SCL,SDA 端口无法进行正常通讯。端口准双向 口模式时,由于芯片内部带有30kΩ的上拉电阻,端口速度较慢,用户可以在外部并联电阻,以提高端口速 度。推挽输出时,端口速度很快,但是没有芯片内部上拉电阻,建议用户外部串联电阻,以保护端口。 图17-1 I2C 双向二线制串行总线
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com SCL IN SCL OUT SDA IN SDA OUT EG89M52 SCL总线 SDA总线 P3.6 P3.7 30kΩ 30kΩ 17.2. I2C 控制寄存器 控制 I2C 通讯的寄存器共有四个:特殊功能寄存器ICON、ISTA、ISADR、IBUF。 表 17-1.I2C 控制寄存器 ICON(C8H) 7 6 5 4 3 2 1 0 I2CI SB STR STO ACK MRW MOD I2CEN I2CI I2C 中断请求标志位 I2C 单元接收或发送完 1 字节数据后,由硬件自动置 “1”,需要软件清零。 SB 从机模式时,CPU 状态控 制位 微控制器作为从机时,如果 CPU 要完成一些其他功 能,例如一个内部中断服务程序后才能接收或发送下 SCL 保持低电平,迫使总线上的主机进入等待状态; 当 CPU 空闲,微控制器准备好接收下一个数据字节 时,可以清零SB 来释放时钟线SCL,使得 I2C 总线 能够继续传输数据。 0:CPU 空闲 1:CPU 忙 STO I2C 主机模式时, 总线停止 控制位 微控制器作为主机时,置“1”STO 后,I2C 总线上 将产生停止信号。 STR I2C 主机模式时, 总线启动 控制位 微控制器作为主机时,置“1”STR 后,I2C 总线上将 产生启动信号。 图17-2 I2C 端口结构
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com ACK 主机响应信号电平控制位 表示微控制器当前作为接收器时,在接收到总线上最 后一个字节的数据后,返回的响应信号的电平。 0:接收完数据后响应信号为“低电平” 1:接收完数据后响应信号为“高电平” MRW 主机读写操作控制位 微控制器作为主机时,表示主机对总线上的从机进行 读或写操作。 0:“写”操作 1:“读”操作 MOD I2C 通讯主从模式选择位 0:选择微控制器当前为从机 1:选择微控制器当前为主机 I2CEN I2C 通讯功能使能控制位 0:禁止I2C 通讯 1:使能I2C 通讯 表 17-2.I2C 状态寄存器 ISTA(C9H)只读寄存器 7 6 5 4 3 2 1 0 X X X AM ACKR SRW BB AL AM 从机模式时,地址匹配 标志位 当微控制器作为从机时,总线上的主机发送过来的地 址和从机地址寄存器I2CADR 一致时,置“1”AM, 否则清“0”AM。 0:地址未匹配 1:地址匹配 ACKR 接收响应标志位 当微控制器作为发送机时,发送完一个字节的数据 后,总线上的接收机返回响应信号。 0:无接收响应 1:有接收响应 SRW 从机读写操作标志位 微控制器作为从机时,I2C 总线上的主机发送过来的 读写操作信号。 0:写操作 1:读操作 BB 总线状态标志 表示当前I2C 总线是否被其他设备占用。 0:总线当前空闲 1:总线当前忙, AL 总线仲裁标志 当 I2C 总线上有多个主机同时发送重复起始或者停止 信号时,只有一个主机能获得总线控制权。当主机发 送正确的数据和检查到总线上的数据不一样时,主机 将丢失总线控制权,此时,硬件自动置位AL。 0:未丢失总线控制权 1:丢失总线控制权
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 表 17-3.I2C 从机地址寄存器 ISADR(CAH) 7 6 5 4 3 2 1 0 SADR6 SADR5 SADR4 SADR3 SADR2 SADR1 SADR0 X SADR6-0 7 位I2C 从地址 微控制器作为从机时的地址。注意,地址是从第1 位 开始到第7 位,第0 位为保留位。 表 17-4.I2C 数据缓存寄存器 IBUF( CBH) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 8 位 I2C 数据缓存寄存器,读缓存和写缓存共用地址CBH。当CPU 写I2CBUF 时,表示数据发送到I2C 总 线;当CPU 读 I2CBUF 时,读出的数据为总线上接收到的数据。 微控制器作为主机是,时钟总线SCL 频率由时钟分频控制寄存器PRE 的高 4 位 PDI2C3-0 控制。值 得注意的是SCL 的频率不能大于100KHz。 表 17-5.时钟分频控制寄存器PRE( B5H) 7 6 5 4 3 2 1 0 PDI2C3 PDI2C2 PDI2C1 PDI2C0 PDI2C3-0 I2C 单元,SCL 频率控制位 0000:SCL 频率= fsys 0001:SCL 频率= fsys /2 0010:SCL 频率= fsys /4 0011:SCL 频率= fsys /8 0100:SCL 频率= fsys /16 1111:SCL 频率= fsys /65536 注意,SCL 频率不能大于100KHz
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 18. 串行通讯口 EG89M52 的串口通信与标准 MCS-51 完全兼容,是一个可编程的全双工串行通讯接口。它可用作异 步通讯方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通讯协议进行全双工的多 机系统也可以通过同步方式。 18.1. 控制寄存器 EG89M52 引脚 RXD(P3.0,串行数据接收端)和引脚 TXD(P3.1,串行数据发送端)与外界通讯。 控制串口的寄存器共有两个:特殊功能寄存器SCON 和 PCON: 表 18-1.串行口控制寄存器SCON(98H) 7 6 5 4 3 2 1 0 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0-1 串行口工作方式选择位 00:方式0,8 位移位寄存器输入输出方式 01:方式1,10 位UART 10:方式2,11 位UART 11:方式3,11 位UART SM2 多机通讯控制位 在方式0 时,SM2 一定要等于0。 在方式1 中, 当 (SM2) =1 则只有接收到有效停止位时,RI 才置 1。在方式2 或 方式3 当(SM2)=1 且接收到的第九位数据RB8=0 时, RI 才置1。 REN 接收允许控制位 由软件置位以允许接收,又由软件清0 来禁止接收。 TB8 是要发送数据的第9 位 在方式 2 或方式 3 中,要发送的第 9 位数据,根据需要 由软件置1 或清0。例如,可约定作为奇偶校验位,或在 多机通讯中作为区别地址帧或数据帧的标志位。 RB8 接收到的数据的第9 位 在方式 0 中不使用 RB8。在方式1 中,若(SM2)=0, RB8 为接收到的停止位。在方式2 或方式 3 中,RB8 为 接收到的第9 位数据。 TI 发送中断标志 在方式0 中,第8 位发送结束时,由硬件置位。在其它方 式的发送停止位前,由硬件置位。TI 置位既表示一帧信 息发送结束,同时也是申请中断,可根据需要,用软件查 询的方法获得数据已发送完毕的信息, 或用中断的方式来 发送下一个数据。TI 必须用软件清0。 RI 接收中断标志位 在方式0,当接收完第8 位数据后,由硬件置位。在其它 方式中,在接收到停止位的中间时刻由硬件置位(例外情 况见于SM2 的说明)。RI 置位表示一帧数据接收完毕, 可用查询的方法获知或者用中断的方法获知。RI 也必须 用软件清0。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 表 18-2.波特率控制寄存器PCON(87H) 7 6 5 4 3 2 1 0 SMOD SMOD 波特率系数选择位 串口工作在方式1、2、3 时,影响波特率 18.2. 串行口的工作方式 EG89M52 的全双工串行口可编程为4 种工作方式,现分述如下: 方式 0 方式0 为移位寄存器输入/输出方式。 可外接移位寄存器以扩展I/O 口, 也可以外接同步输入/输出设备。 8 位串行数据者是从RXD 输入或输出,TXD 用来输出同步脉冲。 串口输出:串行数据从RXD 引脚输出,TXD 引脚输出移位脉冲。CPU 将数据写入发送寄存器时,立 即启动发送,将8 位数据以fos/12 的固定波特率从RXD 输出,低位在前,高位在后。发送完一帧数据后, 发送中断标志TI 由硬件置位。 串口输入:当串行口以方式0 接收时,先置位允许接收控制位REN。此时,RXD 为串行数据输入端, TXD 仍为同步脉冲移位输出端。当(RI)=0 和(REN)=1 同时满足时,开始接收。当接收到第8 位数据 时,将数据移入接收寄存器,并由硬件置位RI。 方式0 波特率 = fsys / 12 方式 1 方式 1 为波特率可变的10 位异步通讯接口方式。发送或接收一帧信息,包括1 个起始位0,8 个数据 位和1 个停止位1。 串口输出:当 CPU 执行一条指令将数据写入发送缓冲 SBUF 时,就启动发送。串行数据从TXD 引脚 输出,发送完一帧数据后,就由硬件置位TI。 串口输入:在(REN)=1 时,串行口采样 RXD 引脚,当采样到 1 至 0 的跳变时,确认是开始位0, 就开始接收一帧数据。只有当(RI)=0 且停止位为1 或者(SM2)=0 时,停止位才进入RB8,8 位数据才 能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。所以在方式1 接收时,应先用软件清零RI 和 SM2 标志。 方式1 波特率 = 定时器1 的溢出率 方式 2 方式二为固定波特率的11 位UART 方式。它比方式1 增加了一位可程控位1 或 0 的第9 位数据。 串口输出:发送的串行数据由TXD 端输出一帧信息为11 位,附加的第9 位来自SCON 寄存器的TB8 位,用软件置位或复位。它可作为多机通讯中地址/数据信息的标志位,也可以作为数据的奇偶校验位。当 CPU 执行一条数据写入SUBF 的指令时,就启动发送器发送。发送一帧信息后,置位中断标志TI。 串口输入:在(REN)=1 时,串行口采样 RXD 引脚,当采样到 1 至 0 的跳变时,确认是开始位0, 就开始接收一帧数据。在接收到附加的第9 位数据后,当(RI)=0 或者(SM2)=0 时,第 9 位数据才进 入 RB8,8 位数据才能进入接收寄存器,并由硬件置位中断标志RI;否则信息丢失。且不置位RI。再过一
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 位时间后,不管上述条件是否满足,接收电路即行复位,并重新检测RXD 上从1 到 0 的跳变。 方式1 波特率 = fsys 方式 3 方式3 为波特率可变的11 位UART 方式。除波特率外,其余与方式2 相同。 方式1 波特率 = 定时器1 的溢出率 18.3. 波特率的制定 如前所述,在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在 EG89M52 串行口 的四种工作方式中,方式0 和2 的波特率是固定的,而方式1 和3 的波特率是可变的,由定时器T1 的溢出 率控制。 定时器T1 作为波特率发生器,其公式如下: 波特率 = 定时器1 的溢出率 定时器1 的溢出率= T1 计数率/溢出所需的周期数 式中 T1 计数率取决于它工作在定时器状态还是计数器状态。当工作于定时器状态时, T1 计数率为 fsys/12;当工作于计数器状态时,T1 计数率为外部输入频率,此频率应小于 fsys/24。产生溢出所需周期与 定时器T1 的工作方式及T1 的预置值有关。 定时器T1 工作在方式0:溢出所需周期数=8192 - T1 预置值 定时器T1 工作在方式1:溢出所需周期数=65536 - T1 预置值 定时器T1 工作在方式2:溢出所需周期数=256 - T1 预置值 因为定时器 T1 的工作方式 2 为自动重装入初值的 8 位定时器/计数器模式,所以用它来做波特率发生 器最恰当。而定时器T1 为工作方式3 时处于不计数状态,在波特率制定中这种方式是无用的。 表 18-3.定时器T1 工作在方式 2 时的常用波特率及初值 常用波特率 Fosc(MHZ) SMOD TH1 初值 19200 11.0592 1 FDH 9600 11.0592 0 FDH 4800 11.0592 0 FAH 2400 11.0592 0 F4h 1200 11.0592 0 E8h
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 19. 看门狗 EG89M52 集成16 位看门狗定时器。该看门狗定时器由软件设启动、清零、关闭,并可以设定看门狗 定时时间。同时看门狗带有预警功能,当看门狗定时器计数到设定时间后,硬件自动产生看门狗溢出中断 请求(看门狗预警),并且该中断请求为不可屏蔽中断。即一但产生该中断请求,CPU 会立即响应,PC 跳 转到中断入口地址,执行中断服务程序。 看门狗有三个特殊功能寄存器控制:WDCON、WDH、WDL。 表 19-1.看门狗控制寄存器 WDCON(A5H) 7 6 5 4 3 2 1 0 WDPR WDDIV WDE5 WDE4 WDE3 WDE2 WDE1 WDE0 WDE5-0 启动/清零看门狗控制位 110101 => 001010(0x35 => 0x0A):启动/清零看门狗 101110 => 010001(0x2E => 0x11):关闭看门狗 WDPR 看门狗中断请求标志位 0:无中断请求 1:有中断请求 WDDIV 看门狗计数分频控制位 0:看门定时器计数频率=fsys 1:看门定时器计数频率=fsys/128 启动或清零看门狗定时器,必须要对WDE 操作两次: WDE=0x35 WDE=0x0A 关闭看门狗定时器,也必须对WDE 操作两次: WDE=0x2E WDE=0x11 当看门狗定时器计数到定时时间时,硬件自动置位WDPR,请求看门狗中断。由于该中断为不可屏蔽 中断,中断允许不受限制,CPU 会 立即响应中断,PC 跳转到中断入口地址,执行中断服务程序。看门狗 定时器计数到定时时间后,就无法被清零或关闭,并且256 个CPU 时钟周期(时间=256 / f sys)后复位芯 片,芯片复位时间也为 256 个 CPU 时钟周期。因此,看门狗中断服务程序执行时间不能超过256 个 CPU 时钟周期。 看门狗的定时时间由特殊功能寄存器WDH、WDL 控制,同时WDDIV 也影响定时时间。 看门狗的定时时间= (看门狗定时时间寄存器) 当需要看门狗定时时间很长时,可以置位看门狗计数分频控制位WDDIV。WDDIV=1 时,看门狗计数 定时器的定时时间增加128 倍。 表 19-2.看门狗定时时间寄存器低位 WDL(A6H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 表 19-3.看门狗定时时间寄存器高位 WDH(A7H) 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 20. 中断系统 EG89M52 共有 17 个中断源,3 级中断优先级。其中5 个中断源(外部中断 0,外部中断 1,定时器中 断 0,定时器中断1,串口中断)兼容标准MCS-51,EG89M52 增加了扩展外部中断、定时器2 中断、定 时器3 中断、4 个比较/捕获通道中断、ADC 中断、I2C 中断、霍尔检测错误中断,以及两个不可屏蔽中断: 看门狗中断,模拟比较器3 中断。 EG89M52 的中断优先级由特殊功能寄存器IP、IPH、IPX、IPXH 控制。 表 20-1.中断优先级控制寄存器 IP(B8H) 7 6 5 4 3 2 1 0 PHE PT3 PT2 PS PT1 PX1 PT0 PX0 PHE 霍尔中断优先级控制位1 PT3 T3 定时器中断优先级控制位1 PT2 定时器2 中断优先级控制位1 PS 串行口中断优先级控制位1 PT1 定时器1 中断优先级控制位1 PX1 外部中断1 中断优先级控制位1 PT0 定时器0 中断优先级控制位1 PX0 外部中断0 中断优先级控制位1 表 20-2.中断优先级控制寄存器 IPH(B9H) 7 6 5 4 3 2 1 0 PHEH PTH3 PTH2 PSH PT1H PX1H PT0H PX0H PHEH 霍尔中断优先级控制位2 PTH3 定时器3 中断优先级控制位2 PTH2 定时器2 中断优先级控制位2 PSH 串行口中断优先级控制位2 PT1H 定时器1 中断优先级控制位2 PX1H 外部中断1 中断优先级控制位2 PT0H 定时器0 中断优先级控制位2 PX0H 外部中断0 中断优先级控制位2 表 20-3.扩展中断优先级控制寄存器 IPX(BAH) 7 6 5 4 3 2 1 0 PI2C PAC PCC3 PCC2 PCC1 PCC0 PXE PADC PI2C I2C 中断优先级控制位1 PAC 模拟比较器中断优先级控制位1 PC3 比较通道3 中断优先级控制位1 PCC2 比较/捕获通道2 中断优先级控制位1
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com PCC1 比较/捕获通道1 中断优先级控制位1 PCC0 比较/捕获通道0 中断优先级控制位1 PXE 扩展外部中断优先级控制位1 PADC ADC 中断优先级控制位1 表 20-4.扩展中断优先级控制寄存器 IPXH(BBH) 7 6 5 4 3 2 1 0 PI2CH PACH PCCH3 PCCH2 PCCH1 PCCH0 PXEH PADCH PI2CH I2C 中断优先级控制位2 PACH 模拟比较器中断优先级控制位2 PC3H 比较通道3 中断优先级控制位2 PCC2H 比较/捕获通道2 中断优先级控制位2 PCC1H 比较/捕获通道1 中断优先级控制位2 PCC0H 比较/捕获通道0 中断优先级控制位2 PXEH 扩展外部中断优先级控制位2 PADCH ADC 中断优先级控制位2 中断优先级共有3 级,优先级从低到高分别是0 级、1 级、2 级。芯片复位后,所有中断源的优先级都 为 0 级。不可屏蔽中断的优先级不受上述寄存器控制,他们的优先级永远高于其他中断的优先级,并且中 断允许也不受限制,一但有中断请求,CPU 立即响应中断。 表 20-5.中断优先级控制 中断优先级 中断优先级控制位2 中断优先级控制位1 优先级 2 级 0 0 高 低 1 级 0 1 禁止使用 1 0 0 级 1 1 表 20-6.相同中断优先下,各个中断源的默认优先级 中断源 中断入口地址 中断级别 看门狗中断(不可屏蔽) 0x0083 永远最高 模拟比较器3中断(不可屏蔽) 0x008B 外部中断0(INT0) 0x0003 高 T0溢出中断 0x000B 外部中断1(INT1) 0x0013 T1溢出中断 0x001B 串行口中断 0x0023 T2溢出中断 0x002B T3溢出中断 0x0033 ADC中断 0x003B
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 外部扩展中断 0x0043 ↓ 低 比较/捕获通道0中断 0x004B 比较/捕获通道1中断 0x0053 比较/捕获通道2中断 0x005B 比较通道3中断 0x0063 模拟比较器0/1/2中断 0x006B I2C中断 0x0073 霍尔检测错误中断 0x007B 注:看门狗中断和模拟比较器3 中断作为不可屏蔽中断,其优先级永远高于其他中断源。 而看门狗中断的优先级又高于模拟比较器3 中断。 21. 在线调试 EG89M52 支持在线调试功能,引脚 TCK,TDA 作为调试端口。采用独立的调试端口的目的是在用户 调试程序时不占用其他功能端口,用户开发程序时不受任何限制。调试环境使用KEIL 集成开发环境,可以 实现断点设置、单步运行、停机、复位、SFR 数据读写、RAM 数据读写、用户数据存储区数据观察等各种 调试机制。具体的调试方法参考“EG89M52 在线调试器使用手册” 。
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 22. 指令集 EG89M52 为单时钟周期/机器周期的架构,指令周期与MCS-51 完全不同,指令执行效率比标准的51 架构提升2~12 倍。表22-1 ~ 表22-5 为EG89M52 指令周期与MCS-51 指令周期的对照表。 表 22-1. 数据传送类指令 助记符 功能说明 字节 数 指令周期 提升 效率 MCS-51 EG89M52 MOV A ,Rn 寄存器内容送入累加器 1 12 2 6 倍 MOV A ,direct 直接地址单元中的数据送入累加器 2 12 4 3 倍 MOV A ,@Ri 间接RAM 中的数据送入累加器 1 12 2 6 倍 MOV A ,#data 立即送入累加器 2 12 4 3 倍 MOV Rn ,A 累加器内容送入寄存器 1 12 2 6 倍 MOV Rn ,direct 直接地址单元中的数据送入寄存器 2 24 4 6 倍 MOV Rn ,#data 立即数送入寄存器 2 12 4 3 倍 MOV direct ,A 累加器内容送入直接地址单元 2 12 4 3 倍 MOV direct ,Rn 寄存器内容送入直接地址单元 2 24 4 6 倍 MOV direct ,direct 直接地址单元中的数据送入另一个直 接地址单元 3 24 6 4 倍 MOV direct ,@Ri 间接 RAM 中的数据送入直接地址单 元 2 24 4 6 倍 MOV direct ,#data 立即数送入直接地址单元 3 24 6 4 倍 MOV @Ri ,A 累加器内容送间接RAM 单元 1 12 2 6 倍 MOV @Ri ,direct 直接地址单元数据送入间接 RAM 单 元 2 24 4 6 倍 MOV @Ri ,#data 立即数送入间接RAM 单元 2 12 4 3 倍 MOV DPTR ,#data16 16 位立即数送入地址寄存器 3 24 6 4 倍 MOVC A, @A+DPTR 以DPTR为基地址变址寻址单元中的 数据送入累加器 1 24 6 4 倍 MOVC A, @A+PC 以PC为基地址变址寻址单元中的数据 送入累加器 1 24 6 4 倍 MOVX A, @Ri 外部RAM(8位地址)送入累加器 1 24 6 4 倍 MOVX A, @DPTR 外部RAM(16位地址)送入累加器 1 24 6 4 倍 MOVX @Ri, A 累加器送外部RAM(8位地址) 1 24 6 4 倍 MOVX @DPTR, A 累加器送外部RAM(16位地址) 1 24 6 4 倍 PUSH direct 直接地址单元中的数据压入堆栈 2 24 4 6 倍 POP direct 出栈送直接地址单元 2 24 4 6 倍 XCH A, Rn 寄存器与累加器交换 1 12 4 3 倍 XCH A, direct 直接地址单元与累加器交换 2 12 6 2 倍 XCH A, @Ri 间接RAM与累加器交换 1 12 4 3 倍 XCHD A, @Ri 间接RAM的低半字节与累加器交换 1 12 4 3 倍
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 表 22-2. 算术操作类指令 助记符 功能说明 字节 数 指令周期 提升 效率 MCS-51 EG89M52 ADD A, Rn 寄存器内容加到累加器 1 12 2 6倍 ADD A, direct 直接地址单元中的数据加到累加器 2 12 4 3倍 ADD A, @Ri 间接 RAM中的数据加到累加器 1 12 2 6倍 ADD A, #data 立即加到累加器 2 12 4 3倍 ADDC A , Rn 寄存器内容带进位加到累加器 1 12 2 6倍 ADDC A , direct 直接地址单元内容带进位加到累加器 2 12 4 3倍 ADDC A , @Ri 间接 RAM内容带进位加到累加器 1 12 2 6倍 ADDC A , #data 立即数带进位加到累加器 2 12 4 3倍 SUBB A , Rn 累加器带借位减寄存器内容 1 12 2 6倍 SUBB A , direct 累加器带借位减直接地址单元的内容 2 12 4 3倍 SUBB A , @Ri 累加器带借位减间接 RAM中的内容 1 12 2 6倍 SUBB A , #data 累加器带借位减立即数 2 12 4 3倍 INC A 累加器加 1 1 12 2 6倍 INC Rn 寄存器加 1 1 12 2 6倍 INC direct 直接地址单元加 1 2 12 4 3倍 INC @Ri 间接 RAM单元加 1 1 12 2 6倍 INC DPTR 地址寄存器 DPTR加 1 1 24 4 6倍 DEC A 累加器减 1 1 12 2 6倍 DEC Rn 寄存器减 1 1 12 2 6倍 DEC direct 直接地址单元减 1 2 12 4 3倍 DEC @Ri 间接 RAM单元减 1 1 12 2 6倍 MUL AB A乘以 B 1 48 4 12倍 DIV AB A除以 B 1 48 4 12倍 DA A 累加器十进制调整 1 12 2 6倍 表 22-3. 逻辑操作类指令 助记符 功能说明 字节 数 指令周期 提升 效率 MCS-51 EG89M52 ANL A , Rn 累加器与寄存器相 “与” 1 12 2 6倍 ANL A , direct 累加器与直接地址单元相“与” 2 12 4 3倍 ANL A , @Ri 累加器与间接 RAM单元相 “与” 1 12 2 6倍 ANL A , #data 累加器与立即数相 “与” 2 12 4 3倍 ANL direct , A 直接地址单元与累加器相“与” 2 12 4 3倍 ANL direct , #data 直接地址单元与立即数相“与” 3 24 6 4倍 ORL A , Rn 累加器与寄存器相 “或” 1 12 2 6倍 ORL A , direct 累加器与直接地址单元相“或” 2 12 4 3倍 ORL A , @Ri 累加器与间接 RAM单元相 “或” 1 12 2 6倍 ORL A , #data 累加器与立即数相 “或” 2 12 4 3倍
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com ORL direct , A 直接地址单元与累加器相“或” 2 12 4 3倍 ORL direct , #data 直接地址单元与立即数相“或” 3 24 6 4倍 XRL A , Rn 累加器与寄存器相 “异或” 1 12 2 6倍 XRL A , direct 累加器与直接地址单元相“异或” 2 12 4 3倍 XRL A , @Ri 累加器与间接 RAM单元相 “异或” 1 12 2 6倍 XRL A , #data 累加器与立即数相 “异或” 2 12 4 3倍 XRL direct , A 直接地址单元与累加器相“异或” 2 12 4 3倍 XRL direct , #data 直接地址单元与立即数相“异或” 3 24 6 4倍 CLR A 累加器清 “ 0” 1 12 2 6倍 CPL A 累加器求反 1 12 2 6倍 RL A 累加器循环左移 1 12 2 6倍 RLC A 累加器带进位位循环左移 1 12 2 6倍 RR A 累加器循环右移 1 12 2 6倍 RRC A 累加器带进位位循环右移 1 12 2 6倍 SWAP A 累加器半字节交换 1 12 2 6倍 表 22-4. 控制转移类指令 助记符 功能说明 字节 数 指令周期 提升 效率 MCS-51 EG89M52 ACALL addr11 绝对(短)调用子程序 2 24 4 6倍 LCALL addr16 长调用子程序 3 24 6 4倍 RET 子程序返回 1 24 6 4倍 RETI 中断返回 1 24 6 4倍 AJMP addr11 绝对(短)转移 2 24 4 6倍 LJMP addr16 长转移 3 24 6 4倍 SJMP rel 相对转移 2 24 6 4倍 JMP @A+DPTR 相对于 DPTR的间接转移 1 24 4 6倍 JZ rel 累加器为零转移 2 24 6 4倍 JNZ rel 累加器非零转移 2 24 6 4倍 CJNE A, direct,rel 累加器与直接地址单元比较,不相等 则转移 3 24 8 3倍 CJNE A, #data,rel 累加器与立即数比较,不相等则转移 3 24 8 3倍 CJNE Rn,#data,rel 寄存器与立即数比较,不相等则转移 3 24 8 3倍 CJNE @Ri,#data,rel 间接 RAM单元与立即数比较, 不相等 则转移 3 24 8 3倍 DJNZ Rn, rel 寄存器减 1,非零转移 3 24 6 4倍 DJNZ direct,rel 直接地址单元减 1,非零转移 3 24 8 3倍 NOP 空操作 1 12 2 6倍
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 表 22-5. 布尔变量操作类指令 助记符 功能说明 字节 数 指令周期 提升 效率 MCS-51 EG89M52 CLR C 清0进位位 1 12 2 6倍 CLR bit 清0直接地址位 2 12 4 3倍 SETB C 置1进位位 1 12 2 6倍 SETB bit 置1直接地址位 2 12 4 3倍 CPL C 进位位求反 1 12 2 6倍 CPL bit 直接地址位求反 2 12 4 3倍 ANL C, bit 进位位和直接地址位相 “与 ” 2 24 4 6倍 ANL C, /bit 进位位和直接地址位的反码相 “与 ” 2 24 4 6倍 ORL C , bit 进位位和直接地址位相 “或 ” 2 24 4 6倍 ORL C , /bit 进位位和直接地址位的反码相 “或 ” 2 24 4 6倍 MOV C, bit 直接地址位送入进位位 2 12 4 3倍 MOV bit, C 进位位送入直接地址位 2 24 4 6倍 JC rel 进位位为 1则转移 2 24 6 4倍 JNC rel 进位位为 0则转移 2 24 6 4倍 JB bit, rel 直接地址位为 1则转移 3 24 8 3倍 JNB bit, rel 直接地址位为 0则转移 3 24 8 3倍 JBC bit, rel 直接地址位为 1则转移,该位清 0 3 24 8 3倍
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 23. 直流特性 表23-1. 直流特性(温度 = -40° C~85° C; VCC = 4.0V~6.5V) 符号 参数 条件 最小值 最大值 单 位 VIL 输入低电平 -0.5 0.2VCC-0.1 V VIH 输入高电平(不包括XTAL1, RST) 不包括XTAL1, RST 0.2VCC+0.9 VCC+0.5 V VIH1 输入高电平(XTAL1,RST) XTAL1,RST 0.7 VCC VCC+0.5 V VOL 输出低电平(端口0,1,2,3) IOL = 1.6 mA 0.45 V VOH 输出高电平 (端口 0,2,3, ALE, PSEN) IOH = -60 µ A, VCC = 5V ± 10% 2.4 V IOH = -25 µ A 0.75 VCC V IOH = -10 µ A 0.9 VCC V IOH 逻辑 1 输出电流(端口0,1,2,3) -5 mA IOL 逻辑 0 输入电流(端口0,1,2,3) VCC = 5V ± 10% 25 mA ITL 1 逻辑 1 到逻辑 0 转换电流(端口 RRST 复位信号上拉电阻值 50 300 KΩ CIO 引脚电容值 测试频率 = 1 MHz, 测试温度 = 25° C 10 pF ICC 电源提供的电流值 工作时钟频率= 12 MHz 无端口负载 12 mA 注: 每个端口的 IOL<25mA 端口 0,1,2,3 每 8 位端口的总 IOL<35mA 芯片总的 IOL<80mA
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 24. 封装尺寸 LQFP44 封装尺寸: 111 2333 D b E1 E A c θF L 细节 F 0.25 b c1 c e 金属 镀层 引脚截面 eB 符号 A A1 A2 A3 b b1 c c1 D D1 E E1 e eB L L1 θ BSC 11.25 0.45 1.00 BSC 单位 mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm O
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com LQFP32 封装尺寸: 1 8 1724 32 9 D E1 E e b A2 A C θ 0.25 L F 细节F 引脚截面 eB b c1 c 金属 镀层 符号 A A1 A2 A3 b b1 c c1 D D1 E E1 e eB L L1 θ BSC 8.10 0.40 1.00 BSC 单位 mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm mm O
EG89M52 用户手册 电机控制专用芯片 2011©屹晶微电子有限公司 版权所有 www.EGmicro.com 日期 作者 描述 2011-2-18 V1.0 2011-9-15 修改系统框图 2011-10-08 添加MCON 的MVCHG 的标志位描述, 修改文档部分排版和格式