8位MASK单片机芯片CM2004 8 位 MASK 单片机芯片 CM2004 1.概述 CM2004 是一款 8 位 MASK 类型的 RISC 单片机。 该芯片可以凭借极其低廉的价格和相当于 PIC16C54/56 的性能,广泛地应用到键盘、鼠标、游戏摇杆、电子玩具及其它一些应用场合。贝岭矽创公司开发了独 有的程序代码过滤器 RGEN,可以协助用户将针对 PIC16C54/56 的程序移植到 CM2004 中去。CM2004 目前 已经有千万级的批量应用,性能稳定。贝岭矽创公司还可根据客户要求修改芯片的端口和附加模块,以 适应不同的应用。 2.主要特点 ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● 采用精简指令集(RISC),33 条指令 指令字长 12 位,全部指令都是单字节指令 除涉及 PC 值改变的指令外(如跳转指令等),其余指令都是单周期指令 哈佛结构,数据总线和指令总线各自独立分开,数据总线宽度为 8 位,指令总线宽度为 12 位 内部程序存储器(MASK ROM)空间为 1K,内部普通寄存器组(RAM)为 25 个 6 个特殊功能寄存器 2 级子程序堆栈 内部自振式看门狗计时器(WDT) 内部上电复位电路 内带一个 8 位定时器/计数器(RTCC) XT/LP/RC 振荡模式(还可以内置一个 2.3MHz 左右的 RC 振荡器) 12 根可独立编程 I/O 口(可利用/MCLR 和 TOCKI 扩充到 14 位) 低功耗设计 工作电压 2.0V~6.5V 工作频率为 DC~20MHz 18PIN/16PIN(/MCLR 和 TOCKI 未外引)标准 PDIP 封装 3.管脚排列 http://www.belling.com.cn -1Total 7 Pages 8/24/2006 Wrote by dipeng 8位MASK单片机芯片CM2004 4.管脚功能说明 编号 引脚名 方向 功能描述 1 PA2 I/O PORT A 位 2,双向 I/O,可根据客户要求改为开漏输出或纯输入 2 PA3 I/O PORT A 位 3,双向 I/O,可根据客户要求改为开漏输出或纯输入 4 /MCLR I 外部复位端,“0”有效(内部上拉,不用时可做通用 I/O) 3 TOCKI I 计数器时钟输入(内部上拉,不用时可做通用 I/O) 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 - 电源 15 OSC2 O 振荡输出端 16 OSC1 I 振荡输入端 17 PA0 I/O PORT A 位 0,双向 I/O,可根据客户要求改为开漏输出或纯输入 18 PA1 I/O PORT A 位 1,双向 I/O,可根据客户要求改为开漏输出或纯输入 5.功能详述 http://www.belling.com.cn -2Total 7 Pages 8/24/2006 Wrote by dipeng 8位MASK单片机芯片CM2004 CM2004 系统框图 CM2004 兼容 PIC16C56,但两者在以下方面有所不同: 1) CM2004 端口设计上可 MASK 编程(上拉、 下拉、开漏);2) 指令系统译码不同;3) CM2004 采用了新工艺,成本更低,功耗等参数更优;4)CM2004 的看门狗基本溢出周期为 15 毫秒;5)CM2004 最大可以支持 14 个独立的 I/O。为了方便用户,贝岭矽 创开发了独有的程序过滤器,可以的把针对 PIC16C5X 的程序代码翻译成适于 CM2004 运行的程序代码, 方便的进行程序移植。 由于寄存器及管脚兼容,CM2004 的程序开发可参照 PIC16C56 执行。下面仅对看门狗、复位、振荡 等电路做重点介绍。 5.1 看门狗 看门狗计时器(WATCH DOG TIMER)是一个片内自振式的 RC 振荡计时器。即使芯片 OSC1/OSC2 上振 荡停止(例如进入 SLEEP) ,WDT 照样保持计数。WDT 计时溢出将产生复位。WDT 基本溢出周期为 15ms, 如果需要更长的 WDT 周期,可以把预分频器分配给 WDT。“CLRWDT”和“SLEEP”指令将清除 WDT 计时器 以及预分频(当预分频器分配给 WDT 时) 。看门狗可以通过 MASK 方式选择打开或关闭。 5.2 振荡 CM2004 的振荡电路可以通过 MASK 方式在 RC/XT/LP 等方式中选择。 5.2.1 阻容振荡 当采用低成本的阻容振荡(RC)方式时,电容已经内置,外接一个 10K 的上拉电阻可以获得 6MHz 左右的振荡频率,此时 OSC2 输出 4 分频后的振荡信号。 CM2004 RC 振荡模式电路图 5.2.2 晶体或陶瓷振荡 用石英晶体或陶瓷谐振器振荡是单片机最经典的产生工作时钟方式。CM2004 有两个引脚 OSC1 和 OSC2 专门给用户外接石英晶体或陶瓷谐振器产生一个高稳定的振荡频率。CM2004 提供了一个标准的时 钟电路,如下图所示。 http://www.belling.com.cn -3Total 7 Pages 8/24/2006 Wrote by dipeng 8位MASK单片机芯片CM2004 振荡电路原理图 其中 Rf 和 反向器是 MCU 内部集成的。 Rs 是控制激励功率电阻,Rf 是反馈电阻。在激励和反馈 都正常的情况下,其 OSC2 输出的是一个振幅达 4/5 VDD 左右的稳定正弦波。如发现振幅低于 1/2 VDD ,则认为是欠激励。如波形严重失真,则认为过激励。发生欠激励或过激励的现象,可通过 Rs 或 再 外接一个 Rf(与内部 Rf 并联)调节,过激励增大 Rs(范围是 0~10K),欠激励减小 Rf(范围是 1~10M)。 在实际应用中,Rs 往往不接,直接短路,外部也没有 Rf ,这在绝大多数场合都是可以用的。如果采 用 455K 陶瓷振荡器,建议使用 Rs 以避免过激励,取值为 10K。如果采用品质稍差的 2M 陶瓷振荡器,也 建议使用 Rs。应用中因为环境、PCB 走线、振荡频率、晶振或陶振参数的不同而导致 Rs、Rf 的取值并 不一定完全符合理论,应以实际效果为准。负载电容的最佳取值主要取决于振荡器参数,一般由振荡器 厂家提供,下面仅列出参考值。 陶瓷谐振器负载电容 C1、 C1、C2 取值 陶瓷谐振器振荡频率 C1、C2 4M - 16M 10P – 22P 2M – 4M 15P – 33P < 2M 20P – 100P 455K 59P 晶体振荡器负载电容 C1、 C1、C2 取值 晶体振荡器 C1、C2 4M - 16M 15P 2M - 4M 20P <2M 15P - 100P 32768 7.5P 5.2.3 内部 RC 振荡器 客户还可以在掩膜时选用内部的 RC 振荡器,这个振荡器在 5V 下的振荡频率为 2.3MHz,随工作温度 和工作电压的不同,这个频率会有一定漂移。 5.3 复位 CM2004 内置上电复位电路(注意不是低电压复位),另外芯片上还设计有一个外部复位端/MCLR,该 引脚内部上拉。芯片复位可由以下原因引发:1,芯片上电;2 看门狗超时溢出;3,/MCLR 被拉低。当 http://www.belling.com.cn -48/24/2006 Total 7 Pages Wrote by dipeng 8位MASK单片机芯片CM2004 芯片复位期间,所有 I/O 口都被置成高阻态,PC 值被置为全“1”,OPTION 被置为全‘1’ ,WDT 和预分频 器被清零,F3 寄存器的 PA0~PA2 位被清‘0’。出于稳定信号的考虑,芯片内部专门设置了一个复位延时 电路。当芯片上电或/MCLR 变低结束后,复位状态将持续 15ms,才进入运行。 5.4 输入输出端口 CM2004 有 PORTA(4 位)和 PORTB(8 位)两个通用输入输出端口。除此之外,TOCKI 和/MCLR 可以 在掩膜时通过修改 OPTION 变成 PORTC。这个 PORTC 端口共两位,TOCKI 对应第 0 位,/MCLR 对应第 1 位。 PORTC 的使用方法与 PIC16C57 的 PORTC 完全一样。 所有的输入输出端口都可以在掩膜时内置上拉或下拉电阻。PORTA 和 PORTB 上拉电阻可选 10K 或 60K 而下拉电阻只可选 60K,PORTC 只能选 60K 的上拉或下拉电阻。 6.电路特性参数 PIC16C56( 民用级) PIC16C56 (民用级 )与CM2004 DC 特性比较表 特性 符号 工作电压 VDD 工作电流 (注2、3) 低功耗电流 (注2) IDD IPD I/O口输入 低电平 VIL I/O口输入 高电平 VIH I/O 口输出 低电平 VOL 对象 典型值或范围 PIC16C56 3.0~6.25 CM2004 2.0~6.5 PIC16C56 1.8(最大3.3) CM2004(外部时钟) 0.8 CM2004(晶振) 0.9 CM2004(RC 振荡) 0.8 PIC16C56 15(最大32) CM2004(晶振) 10 PIC16C56 4.0(最大12) CM2004 7 PIC16C56 0.6(最大9) CM2004 0.4 PIC16C56 VSS~0.2VDD CM2004 VSS~0.3VDD PIC16C56 0.45VDD~VDD CM2004 0.4VDD~VDD (注4) PIC16C56 最大0.6 单位 V mA 频率:4MHz 电压:5.5V 看门狗:打开 uA 频率:32KHz 电压:3.0V 看门狗:关闭 uA 电压:3.0V 看门狗:打开 uA 电压:3.0V 看门狗:关闭 V V V CM2004 I/O 口输出 高电平 VOH PIC16C56 测试状态(注1) IOL=8.7mA VDD=4.5V IOL=13.3mA VDD=4.5V 最小VDD-0.7 CM2004 V IOH=-5.4mA VDD=4.5V IOH=-4.0mA VDD=4.5V 注:1.测试温度为室温25°C。 2.工作电流主要受工作电压和频率的影响,其他因素诸如总线负载、振荡类型、程序以及温度都 http://www.belling.com.cn -5Total 7 Pages 8/24/2006 Wrote by dipeng 8位MASK单片机芯片CM2004 对工作电流大小或多或少有影响,所以测试时做一定条件的限定: a) 所有正常工作模式下的工作电流测试条件为: OSC1:外部时钟输入(除非特别指出); I/O:设置成输入并接地; T0CKI:接VDD; /MCLR:接VDD; 看门狗具体指定打开或关闭。 b)对于低功耗电流,测试条件同上,但芯片在SLEEP 状态。 3.RC 振荡模式时,外部上的电流不计入表中工作电流值,Rext 上电流可用这个公式计算: I =VDD/2Rext。 4.可以通过MASK形式将I/O口改为施密特结构,此时输入高电平改为0.53VDD~VDD。 特性 工作频率 PIC16C56( PIC16C56(民用级) 民用级)与CM2004 其他特性比较表 对象 典型值或范围 单位 PIC16C56 频率:DC ~ 20MHz CM2004 频率:DC ~ 20MHz (注1) 看门狗复位周期 (未分频) PIC16C56 18 CM2004 15 抗静电能力 PIC16C56 未知 CM2004 1500 PIC16C56 0 ~ 70 CM2004 -40 ~ 85 PIC16C56 强 CM2004 较强 I/O 口上、下拉电 阻 PIC16C56 无 CM2004 可选 I/O 口输入类型 PIC16C56 CMOS CM2004 CMOS或施密特 PIC16C56 12 CM2004 14 工作温度 抗干扰能力 最大I/O数 测试状态 ms V °C 注:1.CM2004 如果使用外部时钟或晶振,则可以很稳定地工作在高达 20MHz 频率下;若使用 RC 振荡, 调节外部振荡电阻的大小,频率也能达到 20MHz,但此时外部上拉电阻值很小,振荡可能不稳,建议此 电阻不小于 3K,即相对应的可靠的 RC 振荡最高频率为 15MHz(该数据在 5V 下测得)。 7.典型应用 略。 8.封装尺寸 http://www.belling.com.cn -6Total 7 Pages 8/24/2006 Wrote by dipeng 8位MASK单片机芯片CM2004 http://www.belling.com.cn -7Total 7 Pages 8/24/2006 Wrote by dipeng