MC9S2XS28单片机基本知识点

Posted JeckXu666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MC9S2XS28单片机基本知识点相关的知识,希望对你有一定的参考价值。

MC9S12XS128单片机简介

一、MC9S12系列命名规则

MC9S12系列单片机是飞思卡尔半导体推出的基于 CPU12内核16位车用MCU,其命名规则如下:

MC9S12DG128BMFU
12345678
  1. 表示质量认定状态

    MC=完全合格产品

    XC=初始产品

    PC=预质量产品

  2. 表示存储器类型为Flash。

  3. 表示内核类型。

  4. 表示系列

  5. 表示Flash大小

  6. 表示Flash版本标志,反映不同的擦写电压

  7. 表示工作温度范围。

    C=-40 ℃ ~ 85℃; V=-40 ℃ ~ 105℃; M=-40 ℃ ~ 125℃

  8. 表示封装形式

    FU = 80QFP

    PV = 112LQFP

二、MC9S12XS128特性

MC9S12XS MCU的组成框架如下

其主要的硬件特性有:

  • 16位 CPU 主频40~50MHz
  • 内部存储器
    128KB Flash
    8KB RAM
    8KB Data Flash
  • 外围设备
    2个增强型串行通讯接口(SCI)
    2个串行外设接口(SPI)
    1个 msCAN 模块
    2个8通道12位 A/D
    8通道16位 定时器(TIM)
    8通道8位PWM
    4通道24位周期中断定时器(PIT)

具体芯片的结构框图如下:

三、引脚说明

MC9S12 有 144/112/80 三种引脚,我们先宏观看一下 MC9S12XS128 112引脚芯片的引脚图,具体如下:

我们主要关注他比较重要的几个引脚:

3.1 振荡器引脚

振荡器引脚 XTAL 和 EXTAL (47、46) 通过外接振荡器,输入周期性的脉冲,为整个 MCU 系统提供时间基准 ,外接时钟可以按如下进行分类:

外接时钟单元有两种接法, 第一种是外接晶振,第二种是外接时钟单元

外接晶振有无源晶振和有源晶振两种,单片机通过 EXTAL 输出晶振驱动信号到晶振,晶振产生周期信号输入到 XTAL 作为时钟基准,常用晶振接法如下:

这种接法的优点是接法简单,缺点是不那么容易起振,需要借助 C1,C2 起振电容

3.2 复位引脚

复位引脚对应的是单片机的 42 脚, 该引脚控制电平信号是低电平有效的双向控制信号 。该引脚做输入时,将其拉低,可将MCU复位成默认状态; 如果时钟监视器或者COP看门狗检测到内部故障,该引脚作为开漏输出引脚对外指示这种状态,通常会接入一个复位电路,按键按下后电平拉低,手动复位系统

3.3 背景调试引脚

背景调试引脚 BKGD 位于23脚, 该引脚采用特殊的自定时协议接收串行的背景调试命令 ,并发送命令执行结果。该引脚设定为输入时,内部设有有源上拉,但是无上拉开、关控制。

3.4 模式选择输入引脚

模式选择引脚分别为 MODA 、MODB 、MODC 对应 38、37、23 引脚, 这 三个引脚在复位期间的状态决定了MCU的运行模式 ,复位期间,MODA、MODB 处于下拉状态,模式引脚在复位信号上升沿采样并锁存到模式寄存器,对应的模式控制如下表

MODCMODBMODA模式ADDRDATABDM
000特殊单芯片模式00激活
001特殊窄扩展模式168允许
010特殊测试模式1616允许
011特殊宽扩展模式1616允许
100普通单芯片模式00允许
101普通窄扩展模式168允许
110外设模式
111普通宽扩展模式1616允许

3.4.1 普通运行模式
普通模式共分三种,都是应用系统开发结束后的最终运行模式。它们都支持背景调试模式(BDM),但对于某些操作必须首先将BDM使能,然后再激活后才能通过BDM命令进行调试。

  • 普通单芯片模式: 该模式无外部总线,端口A、端口B和端口E被设置成通用I/O接口。端口E的两个引脚PE1和PE0仅能工作在内部上拉的输入方式,其它22个引脚均可设置为输入或输出,不过复位后它们均被默认设置为高阻输入方式,另外复位后,端口E的上拉有效,端口A和端口B的上拉被禁止。

  • 普通宽扩展模式:端口A和端口B为外部地址和数据总线,其中A15A8和D15D8分时使用端口A的8个引脚,A7A0和D7D0分时使用端口B的8个引脚。R/W等总线控制信号复位后默认有效。

  • 普通窄扩展模式:端口A和端口B为16位外部地址总线,其中端口A输出高8位(A15A8),其中端口B输出低8位(A7A0),8位外部数据总线D7~D0与高8位地址线分时复用端口A的8个引脚。

3.4.2 特殊运行模式
特殊模式主要用于系统开发和器件检验。

  • 特殊单芯片模式:该模式可用于强制MCU激活BDM,以允许通过BKGD引脚进行系统调试。在该模式下,MCU不像在其它模式下那样,取中断向量,然后执行应用程序代码等,而是以激活的BDM固件接受来自BKGD引脚的串行命令,并控制CPU的运行。该模式下没有外部总线。MCU作为一个独立器件运行,所有程序和数据存储空间均位于片内,外部接口均可作为通用I/O。

3.4.3 单片运行模式

  • 单片运行模式是MC9S12单片及最常用的一种运行模式。系统复位时,CPU检测到MODA(PE5)和MODB(PE6)引脚为低电平时进入单片运行模式。单片运行模式又分为普通单片模式和特殊单片模式。普通单片模式是正常运行应用程序时应使用的模式,特殊单片模式是指BDM调试模式。进入特殊模式时,要求单片及复位时引脚MODC(BKGD)为低电平。通常,当单片及输入引脚浮空时,CPU默认高电平,BKGD引脚上的低电平是由BDM调试工具的相应引脚提供的。故可以理解为,当插上BDM头时,可进入特殊单片模式;当不插BDM头时,自动进入普通单片模式。
  • 注意,进入单片模式还是扩展模式,或者什么其它模式,是在复位时,复位信号上升沿锁存MODA、MODB等引脚上的输入电平状态到运行模式寄存器(MODE Register)中相应位来实现的,模式寄存器的默认地址为$000B。在运行过程中,应用程序时可以动态的在单片模式和扩展模式之间相互切换的,方法是向运行模式寄存器写入不同的运行模式控制字。

3.4.4 扩展运行模式

扩展运行模式又有普通运行模式和特殊运行模式之分,其区别是有些寄存器只能在特殊模式下读写。

80引脚的单片机A、B、K口都没有引出,故不能使用扩展运行模式。

S12单片机有8种运行模式,还有扩展仿真模式,可以看到,总线上的控制信号,可接逻辑分析仪用于调试;还有测试模式、外设模块测试模式等用于芯片生产中的测试,这些模式一般用不到。

3.4.5 低功耗模式

除了上面的运行模式,MC9S12XS128 还有三种低功耗模式,该模式通过另外的寄存器来控制,三种低功耗模式如下:

模式功能
STOP Mode所有时钟和振荡器停止运行, 27℃典型电流值30uA。
Pseudo STOP Mode振荡器仍然运行,外设关闭, 27℃典型电流值350uA。
WAIT Mode内部地址、数据总线停止运行,外设可配置关闭,当所有模块有效,最大消耗40mA电流;如果只有实时中断有效,最大消耗5mA电流。

3.5 中断请求引脚

3.5.1 可屏蔽中断请求引脚
可屏蔽外部中断输入引脚 IRQ(55脚),可以用于从STOP或WAIT模式唤醒MCU

3.5.2 不可屏蔽中断请求引脚
不可屏蔽外部中断输入引脚 XIRQ(56脚),可以用于从STOP或WAIT模式唤醒MCU

3.7 供电电源引脚

引脚名称引脚号额定电压描 述
VDD1,213,652.5V内部电压调节器输出电源和地
VSS1,214,660V同上
VDDR415.0V外部电源和地,供给引脚驱动器( PortA、B、E、H )和内部电压调节器
VSSR400V同上
VDDX1075.0V外部电源和地,供给引脚驱动器
VSSX1060V同上
VDDA835.0VA/D工作电源和地
VSSA860V同上
VRL850VA/D参考电源和地
VRH845.0V同上
VDDPLL432.5V为PLL工作提供电源和地。
VSSPLL450V同上
VREGEN975V内部电压调节器有效(H)/无效(L)

四、存储器结构

4.1 地址空间组成

MC9S12XS128 单片机地址空间如下图:

  • 在 CPU12 复位时,I/O寄存器占用从 $00 开始的 1KB 地址空间( $0000~ $03FF),虽然用户可以将I/O寄存器重新定义到前32KB地址空间的任何一个2KB空间的前 1KB ,但最好不要这样做。因为I/O空间放在 $00 开始处,使得读写 $0000 到 $00FF 这256个 I/O 寄存器可以使用直接寻址方式,直接寻址方式的指令比扩展寻址方式短1个字节,速度会比读写其它地址空间快一些。别的存储器模块如EEPROM、RAM和部分Flash也都可以定义到其它地址空间。不是特别必要时,尽量使用系统的默认设置。

  • 从 $0400 到 $1000 是 EEPROM 空间。一些 CPU12 构成的单片机有 4KB 的 EEPROM,因为从 $0000 开始的 1KB 空间被 I/O 寄存器占用了,不重新定义EEPROM的地址的话,实际可以使用的 EEPROM 只有 3KB。若一定要使用片内的 4KB EEPROM,则要重新将EEPROM定义到其它空间,或者将I/O寄存器移到其它空间。

  • 从 $1000 到 $3FFF 是 RAM 空间,不同型号的 CPU12 构成的单片机有不同的片内RAM配置。从 2KB、4KB、8KB到12KB。MC9S12DP256有12KB的RAM,占据 $1000 到 $3FFF 的全部空间,而 MC9S12DG128 默认为 $0000到 $1FFF,我们在监控程序中定义到 $2000 到 $3FFF 为 8KB

  • $4000 到 $FFFF 的 48KB 为 Flash 存储器空间,分成3个 16KB 空间。

  • 最后16KB空间的最后256B,即 $FF00 到 $FFFF 是中断向量表空间。

CPU12构成的单片机还有一种特殊工作方式(特殊单片方式或特殊扩展方式)。被称之为调试方式或BDM方式。在这种方式下,CPU12用内部的256B的ROM将 $FE00 到 $FEFF 的前 256B 的 Flash 空间覆盖掉。当然覆盖掉的空间在BDM模式下还是可以通过BDM指令访问到的

4.2 内存空间扩展

CPU12 构成的单片机 片内Flash可以超过64KB寻址空间达到128KB、256KB或者512KB ,参见上图,256KB的Flash先 被分成64KB一块,共4块(Block0~Block3)每块还可以细分为16KB一页,共16页。每夜再细分为4KB、2KB、1KB或512B一段

片内Flash在64KB级以上的CPU12构成的单片机,有一个存储器页面寄存器PPAGE,该寄存器为5位,最多可管理32个16KB存储器页,故CPU12单片机最多可以有512KB片内Flash。

MC9S12DP256的256KB Flash可分为16KB存储器,每个存储器页面编号为 $30~ $3F 的某个值。CPU12在64KB内存的 $8000 到 $BFFF 这一段开了一个窗口,永远只能看到页面寄存器的某一页,这里指 $30~ $3D 这14个页面。256KB的Flash中, $3F 这一页永远定位在 $C000 到 $FFFF 这一段,$3E 页永远定位在 $4000到 $7FFF 这一段,另外14页只能通过 $8000 到 $BFFF 这一窗口访问,Flash的换页是通过向PPAGE寄存器(地址为 $30 )写入页面编号实现的。

Flash存储器页面寄存器 PPAGE 的值 $00 ~ $2F 留给扩展方式下使用外部存储器时对外部存储器分页使用。

4000 到 FFFF 是 CPU12 构成的单片机又连续 48KB 的程序空间 (存放程序代码),对于 Flash 低端的 512B 或者 1KB、2KB、4KB 空间可以通过写保护寄存器保护起来,即3E这一页,从 4000 开始的 512B 或者 1KB 、2KB、4KB 空间页面可以通过写保护寄存器保护起来,使之成为不可局部擦除的,除非整体擦除。32、36、3A页面也有同样的特性,但地址从 8000 开始。

对于 Flash 的高端地址,Flash 也可以按一定的大小保护起来, 保护的含义是禁止局部擦除 。高端的保护总是从最高地址开始的某一指定大小的存储块,被保护存储块的大小可以是 2KB、4KB、8KB 或整个 16KB ,也可以是全部 Flash,可以对Flash和EEPROM加密,这部分管理Flash和EEPROM的寄存器不在I/O寄存器空间,在BDM模式下的FF00~ FF07处。

以上是关于MC9S2XS28单片机基本知识点的主要内容,如果未能解决你的问题,请参考以下文章

芯片解密MC9S08DZ16 飞思卡尔系列芯片解密

MC9S12XS128 PWM输出配置

MC9S12:AD采集显示实验

MC9S12XS128 事件处理

MC9S12XS128 PIM配置

飞思卡尔芯片解密 MC9S08GB60 芯片特点