1Chapter1DeviceOverviewMC9S12P-Family1.1介绍TheMC9S12P系列单片机是经过优化后有着低成本、高性能、低引脚数的汽车专业级单片机产品,该产品倾向于弥补高端16位单片及产品如MC9S12XS和低端8位单片机产品之间的空缺。MC9S12P主要针对于要求使用CAN或者LIN/J2602通讯接口的汽车应用产品,典型的应用案例包括车身控制器、乘坐人员检测、车门控制、座椅控制、遥控车门开关信号接收器、智能执行器、车灯模块、智能接线器。TheMC9S12P系列单片机使用了很多MC9S12XS系列单片机相同的功能,包括片内闪存错误纠正代码(ECC)、一个专为数据诊断或者数据存储的单独的数据闪存模块、高速AD转换器和高频调制锁相环(IPLL)有效改善电磁兼容性能。MC9S12P系列单片机提供的所有16为单片机优点和微处理器效率,同时保持飞思卡尔用户熟悉的8位及16位单片机,低成本,功耗,EMC和高效的代码80针QFP、64针LQFP、40针QFN封装产品,最大限度的与MC9S12尺寸的优点,如同MC9S12XS一样可以无需等待外围设备和内存的状态既可以运行16为带款的寻址,MC9S12P系列单片机主要有XS引脚兼容.I/O口在各种模式下都可以使用,同时具有中断功能的I/O口还可以在停止或等待模式下唤醒。1.2芯片特性表一:提供了MC9S12P家庭成员特征摘要,1.P或D寄存器擦除或者编程需要最低总线频率为1MHZ1.2.2芯片功能•S12CPU内核•高达128KB具有ECC功能的片上闪存•4Kbyte带ECC功能的数据闪存•高达6Kb片上静态存储器(SRAM)•具有内部滤波器的锁相环倍频器(IPLL)•4–16MHz皮尔斯振荡器•1MHz内部RC振荡器•定时器(TIM)具有16位输入捕捉、输出比较、计数器脉冲累加器功能•具有8位6通道的脉冲调制模块(PWM)•10通道12位分辨率的逐次逼近AD转换器•1个串行通信外部接口(SPI)•1个支持局域网通讯串行通信(SCI)模块•一个多可扩展控制器区域网络(MSCAN)模块(支持CAN协议2.0A/B)•片上电压调节器(VREG)可对内部供电及内部电压整流•自主周期中断(API)1.3模块特征1.3.1CPUS12CPU是一个高速的16位处理单元:•全16-bit数据通道提供有效的数学运算和高速的数学执行•包含很多单字节指令,可以有效的利用ROM空间•宽域变址寻址功能:—采用堆栈指针作为所有变址操作的变址寄存器—除了在自增或自减模式下都可以利用程序计数器作为变址寄存器—使用A\B\D累加器做累加器偏移—自动变址,前递增(++a)、前递减(--a)、后递减(a--)、后递增(a++)(by–8to+8)1.3.2带ECC功能的片内闪存•高达128Kb程序闪存空间—32位数据加7位ECC(纠错码)允许单字节纠错和双字节纠错—512字节擦出扇区空间—自动编程和擦除算法—用户设置读写页面边界—具有可以防止偶然编程或者擦除的保护结构•4Kb数据闪存空间—16位数据加6位纠错码允许单字节和双字节纠错功能—256字节的擦出扇区空间—自动编程和擦除算法—用户设置读写页面边界1.3.3片内静态存储器3高达6kb通用RAM1.3.4外部晶振(XOSC)•闭环控制皮尔斯晶振频率为4MHZ---16MHZ—振幅增益控制输出电流—低谐波失真信号Signalwithlowharmonicdistortion—低功耗—良好的噪声免疫—无需外部限流电阻—跨导尺寸优化提供良好的振荡器启动保证1.3.5内部RC晶振(IRC)•可调的内部参考时钟—频率:1MHz—在–40°Cto+125°C环境温度范围内调节精度达:1.5%1.3.6内部锁相环倍频器(IPLL)—无需外部元件—参考分频器和倍频器提供大变化量的时钟频率—自动带宽控制低频率抖动操作—自动锁定频率—可配置的选项,扩频减少电磁干扰EMC(频率调制frequencymodulation)—参考时钟源:–外部4–16MHz共振器/晶振(XOSC)–内部RC晶振1MHz(IRC)1.3.7系统支撑•上电复位(POR)•系统复位发生器•非法寻址复位•低电压检测中断或复位•实时中断(RTI)•计算机正常工作复位(COP)开门狗—可通过相应窗口设置COP用以采用错误侦测复位通过位操作对闪存进行初始化复位•时钟监控器监控晶振功能正常工作1.3.8定时器(TIM)•8通道16位定时器可进行输入捕捉和输出比较•16-bit带有7位精度预分频器的自由运行计数器•一通道16-bit脉冲累加器1.3.9脉冲带宽调制器(PWM)•6通道8位or3通道16-bit脉宽调制器—每个通道都可以对周期和占空比进行编程—中心对齐或者左对齐输出—宽频率范围内可编程逻辑时钟1.3.10局域网控制器(MSCAN)•速率达1Mbit/s,满足CAN2.0A,B协议—标准和扩展数据帧—0–8字节长度—可编程比特率达1Mbps•5个FIFO(先进先出)的接收缓冲器•三个内部优先发送缓冲器•灵活的标识符可编程选通滤波器s:—2x32-bit—4x16-bit—8x8-bit•集成了低通滤波器的唤醒操作•闭环反馈自检测•CAN总线监听•总线关闭可通过软件干预或者自动恢复•16-bit接收发送信息时钟戳1.3.11串行通信接口(SCI)•可选择全双工或单工模式•标准的不归零格式•通过可编程脉宽调制选用IrDA1.4反转归零格式•13位波特率可选•可编程字符长度•可编程改变其接收和发送极性fortransmitterandreceiver•边沿触发接收唤醒•支持LIN总线的间隔检测和传输冲突检测1.3.12SerialPeripheralInterfaceModule(SPI)•可配置8-or16-bit数据大小•全双工或单线双向•全双工接收和发送•Masterorslave模式•最高位优先or最低位优先可换•并口时钟频率相位和极性选择1.3.13AD转换(ATD)•10通道12位AD转换器—3微妙转换时间—8-/10-/12-位解决方案5—数据结果左对齐或右对齐—停止模式下使用内部晶振作为转换器晶振—低功耗模式下模拟信号比较唤醒—连续转换模式e—多通道扫描•引脚可作为IO口1.3.14片内电压调节器(VREG)•具有带隙标准的线性电压稳压器•具有低电压中断功能的低压检测器•上电复位(POR)电路•低电压复位功能(LVR)•高温传感器1.3.15背景调试(BDM)•非插入内存访问指令•支持在线对片内非易始性存储单元编程1.3.16调试器(DBG)•64个入口跟踪缓冲器•三个比较器(A,BandC)—比较器A比较全16位地址总线额16位数据总线—精确寻址和寻址范围比较•两种匹配比较类型—标记位—程序强行置位该类型是在一数学公式出现后一个指令边界可用•四个跟踪模式•四个阶段状态序列发生器stagestatesequencer1.4内部结构框图71.5引脚图1.6存储器映像表Table1-2.DeviceRegisterMemoryMap地址模块字节0x0000–0x0009PIM端口集成模块100x000A–0x000BMMC内存映像控制20x000C–0x000DPIM端口集成模块20x000E–0x000FReserved保留20x0010–0x0017MMC内存映像控制80x0018–0x0019Reserved保留20x001A–0x001BDeviceIDregister设备ID暂存器20x001C–0x001FPIM端口集成模块40x0020–0x002FDBG调试模块160x0030–0x0033Reserved保留40x0034–0x003FCPMU时钟和电源管理120x0040–0x006FTIM定时器模块480x0070–0x009FATD1通道12位AD模块480x00A0–0x00C7PWM6通道脉宽调制模块400x00C8–0x00CFSCI串行通讯接口80x00D0–0x00D7Reserved保留80x00D8–0x00DFSPI串行外设接口80x00E0–0x00FFReserved保留320x0100–0x0113FTMRC控制寄存器200x0114–0x011FReserved保留120x0120INT中断模块10x0121–0x013FReserved保留310x0140–0x017FCAN640x0180–0x023FReserved保留1920x0240–0x027FPIM端口集成模块640x0280–0x02BFReserved保留640x02C0–0x02EFReserved480x02F0–0x02FFCPMU时钟和电源管理160x0300–0x03FFReserved保留256注意在表1-2中保留的寄存器空间不分配给任何模块,该寄存器的保留空间是留给以后使用的,对这些保留空间写操作没有任何效果,读该空间返回值都为零。表1-2显示S12P的CPU和BDM本地地址转换到全局内存映射。还表明内部资源在内存映射中的位置。表1-3表示闪光映射D–Flash(数据寄存器)和P–Flash(程序寄存器)闪存的映射。全部256K全局内存空间可以使用PPAGE页面寄存器在本地64k空间中的0x8000-0xBFFF的p-flash窗口看到。Table1-3.MC9S12P-FamilymappingforD-FlashandunpagedP-FlashLocal64KmemorymapGlobal256KmemorymapD-Flash数据闪存0x0400-0x13FF0x0_4400-0x0_53FFP-Flash页面闪存0x1400-0x27FF(1)0x3_1400-0x3_27FF(2)0x4000-0x7FFF0x3_4000-0x3_7FFF0xC000-0xFFFF0x3_C000-0x3_FFFF(1)、(2)地址针对MC9S12P64是因为4K的RAM空间S12中的PPAGE页面寄存器属于MMC模块,用于选择分页地址的页Table1-4.Derivatives(派生)FeatureMC9S12P32MC9S12P64MC9S12P96MC9S12P128P-Flashsize32KB64KB96KB128KBPF_LOW0x3_80000x3_00000x2_80000x2_0000PPAGES0x0E-0x0F0x0C-0x0F0x0A-0x0F0x08-0x0FRAMSIZE2KB4KB6KBRAM_LOW0x0_38000x0_30000x0_28009封装功能供电类型内部上拉电阻描述806448123控制寄存器复位状态111PP3KWP3PWM3VDDXPERP/PPSP禁用P口,中断,PWM222PP2KWP2PWM2VDDXPERP/PPSP禁用P口,中断,PWM333PP1KWP1PWM1VDDXPERP/PPSP禁用P口,中断,PWM44-PP0KWP0PWM0VDDXPERP/PPSP禁用P口,中断,PWM554PT0IOC0PWM0VDDXPERT/PPST禁用T口,TIM665PT1IOC1—VDDXPERT/PPST禁用T口,TIM776PT2IOC2—VDDXPERT/PPST禁用T口,TIM887PT3IOC3—VDDXPERT/PPST禁用T口,TIM99-PJ0KWJ0—VDDXPERJ/PPSJUpJ口,中断1010-PJ1KWJ1—VDDXPERJ/PPSJUpJ口,中断11118PT4IOC4PWM4VDDXPERT/PPST禁用T口,PWM/TIM12129PT5IOC5PWM5orAPI_EXTCLKVDDXPERT/PPST禁用T口,PWM/TIM,API输出131310PT6IOC6VDDXPERT/PPST禁用T口,TIM141411PT7IOC7VDDXPERT/PPST禁用T口,TIM151512BKGDMODC—VDDXAlwaysonUpBDM调试口1616-PB0——V