CM5001 BELLING | Alldatasheet

Document overview

  • Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
  • PDF pages: 10

Technical content

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 1 - 8/24/2006 Total 10 Pages Wrote by dipeng 88 88 位位 位位 OTP OTP OTP OTP 单片机芯片单片机芯片单片机芯片单片机芯片 CM5001 CM5001 CM5001 CM5001 11 11.. ..概述概述概述概述 CM5001 是一个8 位 OTP 单片机。该芯片采用RISC 结构,可以替代PIC16C54/56 及 CF745 。该芯 片具备管脚唤醒、可动态配置管脚拉电阻、低电压复位等硬件电路,较PIC16C54/56 功能有所增强,大 大提高了芯片使用的灵活性。另外,该芯片强化了可靠性设计,ESD 性能可以达到3000V 以上。 22 22.. ..主要特点主要特点主要特点主要特点

  • 采用精简指令集(RISC) ,35 条指令
  • 指令字长12 位,全部指令都是单字节指令
  • 除涉及PC 值改变的指令外(如跳转指令等) ,其余指令都是单周期指令
  • 哈佛结构,数据总线和指令总线各自独立分开,数据总线宽度为8 位,指令总线宽度为12 位
  • 一次可编程(OTP)ROM 1K,内部普通寄存器组(RAM)为 25 个
  • 6 个特殊功能寄存器
  • 2 级子程序堆栈
  • 内部自振式看门狗计数器(WDT)
  • 增强型的内部上电复位电路(POR)及掉电复位电路(LVR,转换电压2.1V±0.2V,增强功能)
  • 内带一个8 位定时器/计数器(RTCC)
  • RC/LP/XT/HS 四种振荡模式
  • 12 根可独立编程I/O 口
  • 工作电压2.4V~5.5V(实测最低工作电压可以达到1.8V) ,编程电压12V
  • 工作频率DC~20MHz
  • 具有节电sleep 模式,并可选择由看门狗或port B 口的变化唤醒(增强功能)
  • 可通过指令配置管脚内部上下拉电阻(增强功能)
  • 在 ESD、EMC、抗栓锁等方面高可靠性设计
  • 低功耗设计,静态功耗低至1uA 以下
  • PDIP18/SOP20 封装(SOP20 封装形式第1 和 20 脚为NC) 33 33.. ..管脚排列管脚排列管脚排列管脚排列 定货信息定货信息定货信息定货信息 CM5001A :不带LVR 功能, 最低工作电压可达 1.8V (板 上有大电容时可能不复位) CM5001B :带LVR 功能,最 低工作电压由LVR 转换电压 决定(2.1V±0.2V)

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 2 - 8/24/2006 Total 10 Pages Wrote by dipeng 44 44.. ..管脚功能说明管脚功能说明管脚功能说明管脚功能说明 编号 引脚名 方向 功能描述

1 PA2 I/O PORT A 位 2,双向 I/O

2 PA3 I/O PORT A 位 3,双向 I/O

3 T0CKI I 计数器时钟输入

4 VPP/MCLR I 编程时 12V 高压/平时的复位脚,低电平有效

5 VSS - 地

6 PB0 I/O PORT B 位 0,双向 I/O,可动态配置上下拉电阻

7 PB1 I/O PORT B 位 1,双向 I/O,可动态配置上下拉电阻

8 PB2 I/O PORT B 位 2,双向 I/O,可动态配置上下拉电阻

9 PB3 I/O PORT B 位 3,双向 I/O,可动态配置上下拉电阻

10 PB4 I/O PORT B 位 4,双向 I/O,可动态配置上下拉电阻

11 PB5 I/O PORT B 位 5,双向 I/O,可动态配置上下拉电阻

12 PB6 I/O PORT B 位 6,双向 I/O,可动态配置上下拉电阻

13 PB7 I/O PORT B 位 7,双向 I/O,可动态配置上下拉电阻

14 VDD - 5V 电源

15 OSC2 O 振荡输出 端

16 OSC1 I 振荡输入端

17 PA0 I/O PORT A 位 0,双向 I/O

18 PA1 I/O PORT A 位 1,双向 I/O

55 55.. ..功能详述功能详述功能详述功能详述

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 3 - 8/24/2006 Total 10 Pages Wrote by dipeng CM5001 CM5001 CM5001 CM5001 系统框图系统框图系统框图系统框图 CM5001在功能上与PIC16C56兼容,但两者在以下方面有所不同:一,CM5001的sleep模式可由port B 的变化唤醒;二,CM5001的port B端口设计有可由程序控制的内部上、下拉电阻;三,CM5001具有低电 压复位功能,电压低于一定电压即发生复位;四,二者指令系统不同,但PIC16C56的程序可以通过专用 编程器内部的转换器转换成CM5001的程序(程序移植唯一需要注意的地方:由于CM5001规定OPTION的 bit6写0时watch dog关闭,所以需要使用看门狗时务必对程序转化时要对OPTION的bit6置1,否则看门 狗不会工作);五,CM5001有独有的程序烧写方式和CONFIG BIT定义。 由于寄存器及管脚兼容,CM2004 的程序开发可参照 PIC16C56 执行,下面仅对一些特殊地方做介 5.1 5.1 5.1 5.1 Port B 上下拉电阻上下拉电阻上下拉电阻上下拉电阻 CM5001较PIC16C56增加了两个不占用地址空间的控制寄存器PULLUPR、PULLDOWNR。在执行“PULLUP” 或“PULLDOWN”指令时,MCU会把W的值写入相应的寄存器,从而使port B相应的位内置上拉或下拉电阻 有效。 PULLUPR(pullup PULLUPR(pullup PULLUPR(pullup PULLUPR(pullup control control control control register) register) register) register) W W W W W W W W BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 BIT7~0:port B口上拉电阻控制位 1:port B口相应位内部60K上拉电阻有效 0:port B口相应位内部60K上拉电阻无效 上电复位后的初始值:“0 0 0 0 0 0 0 0” 注意:W代表只写,R代表只读,R/W代表可读可写。 PULL PULL PULL PULLDOWN DOWN DOWN DOWNR(pull R(pull R(pull R(pulldown down down down control control control control register) register) register) register) W W W W W W W W BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 BIT7~0:port B口下拉电阻控制位 1:port B口相应位内部50K下拉电阻有效 0:port B口相应位内部50K下拉电阻无效 上电复位后的初始值:“0 0 0 0 0 0 0 0” 使用上述寄存器需要用到两条新增特殊指令:pullup(对应指令代码001)和pulldown(对应指令 代码007)。使用方法是将数据放入W寄存器,然后使用pullup或pulldown指令,数据就会被载入相应寄 存器。注意PIC系列没有此两条指令,故如使用PIC系列的开发环境进行开发,需要手工编辑代码输入, 经过转化后即可使用。 5.2 5.2 5.2 5.2 睡眠睡眠睡眠睡眠(( ((SLEEP SLEEP SLEEP SLEEP)) ))模式及唤醒模式及唤醒模式及唤醒模式及唤醒 执行一条“SLEEP”指令即可进入睡眠模式。此时:WDT被清零,然后重新开始计数;状态寄存器F3 的PD位被清为‘0’,TO位置成‘1’;振荡停止;所有I/O口保持原来的状态。这种工作模式功耗最低。 SLEEP可被WDT溢出唤醒, 或由在VPP/MCLR端加低电平唤醒, 还可由port B的变化唤醒。 其中VPP/MCLR 端加低电平唤醒是绝对的,而其余两种模式只能选择一种。CM5001较PIC16C54/56在OPTION寄存器中增 加了一位WAKEUP位,可以选择MCU被唤醒的方式。选择由port B的变化唤醒时,注意必须先执行一条指 令 MOVF PORTB,1(特别注意用MOVF PORTB,0 是不行的),然后进sleep。这样能使port B口记住当 前的值,以便与sleep后的端口状态进行比较。

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 4 - 8/24/2006 Total 10 Pages Wrote by dipeng OPTION OPTION OPTION OPTION(( ((option option option option register) register) register) register) W W W W W W W W - WAKEUP T0CS TOSE PSA PS2 PS1 PS0 WAKEUP:sleep唤醒选择位 1:WDT溢出唤醒 0:port B管脚变化唤醒(注意此时watch dog溢出不会引起复位) 本寄存器中其他位定义与PIC16C54/56相同。 上电复位后的初始值:“- 1 1 1 1 1 1 1” 5.3 5.3 5.3 5.3 振荡器振荡器振荡器振荡器 CM5001 可以通过OTP 设置使用4种类型振荡方式:标准晶体/陶瓷振荡XT、高速晶体振荡HS(4MHZ 以上) 、低频晶体振荡LP(32KHz 以下)以及阻容振荡RC,请参见“程序烧写和config bit 定义”部分。 (1)使用晶体/陶瓷振荡 这种振荡包括XT、HS和LP。其电路是在OSC1和OSC2两端加一晶体/陶瓷振荡。Rs是在发现振荡波形 出现削顶畸变是用来减小激励的,取值范围是0<Rs<10KΩ。 晶体晶体晶体晶体// //陶瓷振荡电路陶瓷振荡电路陶瓷振荡电路陶瓷振荡电路 以下列出了使用陶瓷振荡器时所需的电容值和使用晶体振荡器时所需的电容值。电容值取大有利于 振荡的稳定,但却延长了起振时间。 使用陶瓷振荡器时所需的电容值使用陶瓷振荡器时所需的电容值使用陶瓷振荡器时所需的电容值使用陶瓷振荡器时所需的电容值 使用晶体振荡时所需的电容值表使用晶体振荡时所需的电容值表使用晶体振荡时所需的电容值表使用晶体振荡时所需的电容值表

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 5 - 8/24/2006 Total 10 Pages Wrote by dipeng (2)使用RC 振荡 这种振荡类型成本最低,但频率的精确性较差,适用于时间精确度要求不高的应用场合。RC振荡 是在OSC1端连接一个串联的电阻电容。这个电阻如果过低,振荡不稳定,甚至不能振荡。但是电阻过高 时,则振荡又易受干扰,故取值应在数K到数十K之间。尽管电容C值为0时,电路也能振荡,但易受干扰 且不稳定,所以电容值应取10P以上。 RC振荡时OSC2端输出OSC1的4分频脉冲(f=1/4 OSC1)。 RC 振荡的频率是VDD、RC 值以及环境温度的函数,请参考后面参数性能的表格,但使用时应以实际 试验结果为准。 RC RC RC RC 振荡电路振荡电路振荡电路振荡电路 (3)使用外部振荡 CM5001可以接受外部振荡源(仅适合于HS、XT和LP类型振荡)。连接时将外部振荡接入OSC1,OSC2 则开路,如图所示。 外部振荡电路外部振荡电路外部振荡电路外部振荡电路 5. 5. 5. 5.4 4 4 4 复位电路复位电路复位电路复位电路 CM5001内藏上电和低电压复位电路,另外芯片上还设计有一个外部复位端VPP/MCLR。芯片复位可由 以下原因引发:1 芯片上电;2 看门狗超时溢出;3 VPP/MCLR被拉低;4 芯片电压低于2.1V±0.2V。当 芯片复位期间,所有I/O口都被置成高阻态,PC值被置为全‘1’,OPTION被置为全‘1’,WDT和预分频 器被清零,F3寄存器的PA0~PA2位被清‘0’。出于稳定信号的考虑,芯片内部专门设置了一个复位延时 电路。当芯片上电或VPP/MCLR变低结束后,复位状态将持续18ms左右才进入运行。 5.5 5.5 5.5 5.5 指令系统指令系统指令系统指令系统 指令集指令集指令集指令集 二进制码 名称 助记符 , 操作数 操作 影响状态位 注 面向字节操作类指令 空操作 NOP 无 W 送到 f MOVWF f W /barb2rightf 无 1,4 清 W CLRW 0 /barb2rightW Z

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 6 - 8/24/2006 Total 10 Pages Wrote by dipeng f 清零 CLRF f 0 /barb2rightf Z 4 f 减去 W SUBWF f,d f-W /barb2rightd C,DC,Z 1,2,4,7 f 递减 DECF f,d f-1 /barb2rightd Z 2,4,7 W 和 f 或运 算 IORWF f,d Wˇf /barb2rightd Z 2,4,7 W 和 f 与运 算 ANDWF f,d W∧f /barb2rightd Z 2,4,7 W 和 f 异或 运算 XORWF f,d W⊕f /barb2rightd Z 2,4,7 W 加 f ADDWF f,d W+f /barb2rightd C,DC,Z 1,2,4,7 传送 f 到 d MOVF f,d f /barb2rightd Z 2,4,7 f 取补 COMF f,d complement f /barb2rightd Z 2,4,7 f 递增 INCF f,d f+1 /barb2rightd Z 2,4,7 f 递减 , 为 0 则跳 DECFSZ f,d f-1 /barb2rightd,skip if zero 无 2,4,7 f 循环右移 RRF f,d f(n) /barb2rightd(n-1) ,f (0)/barb2rightC,C/barb2rightd(7) C 2,4,7 f 循环左移 RLF f,d f(n) /barb2rightd(n+1) ,f (7)/barb2rightC,C/barb2rightd(0) C 2,4,7 f 半字节交 换 SWAPF f,d F(0-3) /barb2rightf(4-7) /barb2rightd 无 2,4,7 f 递增 , 为 0 则跳 INCFSZ f,d f+1 /barb2rightd,skip if zero 无 2,4,7 面向位操作类指令 清除 f 的位 b BCF f,b 0 /barb2rightf(b) 无 2,4, 设置 f 的位 b BSF f,b 1 /barb2rightf(b) 无 2,4, 测试 f 的位 b, 为 0 则跳 BTFSC f,b Test bit(b) in file(f):skip if clear 无 测试 f 的位 b, 为 1 则跳 BTFSS f,b Test bit(b) in file(f):skip if set 无 常数操作和控制操作类指令 写 OPTION 寄存器 OPTION W /barb2rightOPTION register 无 写 pullup 寄存器 PULLUP W /barb2rightpullup control register 无 6 写pulldown 寄存器 PULLDOWN W /barb2rightpulldown control register 无 6 进入睡眠状 态 SLEEP 0 /barb2rightWDT , stop oscillator TO,PD 清除 WDT 计 CLRWDT 0 /barb2rightWDT(and TO,PD

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 7 - 8/24/2006 Total 10 Pages Wrote by dipeng 时器 prescaler,if assigned) 设置 I/O 状 态 TRIS f W /barb2rightI/O control register f 无 3 子程序带参 数返回 RETLW k k /barb2rightW,Stack /barb2rightPC 无 调用子程序 CALL k PC+1 /barb2rightStack,K/barb2rightPC 无 1, 跳转 (K 为 9 GOTO k k /barb2rightPC(9 bits) 无 常数置入 W MOVLW k k /barb2rightW 无 常数和 W 做 或运算 IORLW k kˇW /barb2rightW Z 常数和 W 做 与运算 ANDLW k k∧W /barb2rightW Z 常数和 W 做 异或运算 XORLW k k⊕W /barb2rightW Z 注释注释注释注释:: :: 1 除 GOTO 指令外,任何有关写PC(F2)的指令都会把PC 寄存器的第9 位清零。 2 若对一I/O 口寄存器进行操作,如 SUBWF 6,1 ,则使用的F6 的值是当前B 口上的状态值, 而非 B 口输出锁存器里的值。 3 指令“TRIS f” (f=5 或 6)将 W 寄存器中的内容写入f 的 I/O 口控制寄存器中。 ‘1’关断对 应端口的输出BUF,使其为高阻状态。 4 当预分频器分配给RTCC 后,任何对RTCC 寄存器(F1)写操作的指令都将使预分频器清零。 6 比 PIC16C54/56 多出的指令。 7 d 取 1 表示寄存器,取 0 表示W。

8 CM5001 的指令集(35 条)与 PIC16C56 的指令级(33 条)不完全相同,更重要的是指令代码

不一致。本公司初于保密的原因不公开CM5001 指令集代码,不过这不影响客户使用。因为 本公司提供的编程器可以自动的把PIC16C56 的指令代码翻译成CM5001 的代码,100%兼容。 5.6 5.6 5.6 5.6 程序烧写和程序烧写和程序烧写和程序烧写和 config bit config bit config bit config bit 定义定义定义定义 程序烧录采用本公司提供的专用编程器,具体编程时序略。Config bit 定义如下: CP: Code Protection Bit 1 = Code Protection off 0 = Code Protection on WDTE: Watchdog timer enable bit 1 = WDT enabled 0 = WDT disabled FOSC1、FOSC0: Oscillator Selection Bit 11 = LP oscillator(低速晶体振荡模式 ) 10 = XT oscillator(中速晶体振荡模式 ) 01 = HS oscillator(高速晶体振荡模式 ) 00 = RC oscillator(阻容振荡模式 ) 66 66.. ..电路特性参数电路特性参数电路特性参数电路特性参数

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 8 - 8/24/2006 Total 10 Pages Wrote by dipeng 6.1 6.1 6.1 6.1 极限参数极限参数极限参数极限参数 6.2 6.2 6.2 6.2 直流参数直流参数直流参数直流参数 符号 参数 条件 最小 典型 最大 单位 FXT1 XTAL (3V ) 稳定工作最高频率 11 MHz FXT2 XTAL (5V ) 稳定工作最高频率 20 MHz ISB1 静态电流(5V ) 所有输入接 VDD ,输出悬浮, WDT 关 1 uA ISB2 静态电流(5V ) 所有输入接 VDD ,输出悬浮, WDT 开 10.5 uA ISB3 静态电流(3V ) 所有输入接 VDD ,输出悬浮, WDT 开 2.9 uA IOC1 工作电流(5v ) XT 模式4M 4.7 5.5 mA IOC2 工作电流(5v ) LP 模式 32K 4.4 5 mA IOC3 工作电流(3v ) XT 模式4M 1.2 1.4 mA IOC4 工作电流(3v ) LP 模式 32K 0.85 1 mA IOC5 工作电流(5v ) RC 模式4M(10P,2.2K) 6.5 mA IOC6 工作电流(3v ) RC 模式4M(10P,2.2K) 2.15 mA HS 模式 4M 20M Hz XT 模式 455K 11.092M Hz 振荡范围 LP 模式 32K 455K Hz RC 振荡(5V ) 10P 1.5K 4.3M 10P 2.2K 4M 10P 2.4K 3.6M 10P 3.6K 3M 10P 5.6K 2M 100P 5.6K 384K VIH1 输入高电压(5v ) I/O 2 V VIH2 输入高电压(3v ) I/O 2 V VIL1 输入低电压(5v ) I/O 1 V VIL2 输入低电压(3v ) I/O 0.6 V VIL3 输入低电压(5v ) MRB 2 V VIL4 输入低电压(3v ) MRB 1 V IOH1 输出高电流(电压5v ) 输出接0.7VDD 13.5 mA IOH2 输出高电流(电压3v ) 输出接0.7VDD 7.0 mA IOL1 输出低电流(电压5v ) 输出接0.3VDD 55 mA IOL2 输出低电流(电压3v ) 输出接0.3VDD 23 mA 上拉电阻 61K Ω 下拉电阻 60K Ω

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 9 - 8/24/2006 Total 10 Pages Wrote by dipeng 看门狗复位时间(5v ) 19 mS 看门狗复位时间(3v ) 24 mS 6.3 6.3 6.3 6.3 交流参数交流参数交流参数交流参数 CM5001 在 LP 模式下(32.768K 晶振,使用5.1p 电容)晶振起振时间: (1)3V 时典型值为480mS,最低为480mS,最高为560mS。 (2)5V 时典型值为170mS,最低为160mS,最高为250mS。 77 77.. ..典型应用典型应用典型应用典型应用 88 88.. ..封装尺寸封装尺寸封装尺寸封装尺寸

8位OTP单片机芯片CM5001 http://www.belling.com.cn - 10 - 8/24/2006 Total 10 Pages Wrote by dipeng