单片机原理及应用-S12X单片机的结构与组成_第1页
单片机原理及应用-S12X单片机的结构与组成_第2页
单片机原理及应用-S12X单片机的结构与组成_第3页
单片机原理及应用-S12X单片机的结构与组成_第4页
单片机原理及应用-S12X单片机的结构与组成_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

S12X单片机的结构与组成2.1S12X单片机的主要功能与结构●S12X的核心

-16位S12XCPU@40Mhz总线速率,向上兼容S12指令集-增强指令集,指令队列,增强型索引寻址●中断控制管理模块(INT)

-支持7层嵌套中断,每层灵活的中断源分配;

-可编程优先级;非屏蔽外部中断(XIRQ)高优先级-支持部分外设和端口的唤醒中断-可编程的上升沿或下降沿触发●模块映射控制(MMC),运行监视调试(DBG)和单线背景调试模式(BDM)●时钟和复位发生器(CRG)-低噪声、低功耗皮尔斯振荡器,晶体频率多选-内部数字滤波、频率调制的锁相环(PLL)

-看门狗(COPwatchdog)

-实时中断

-时钟监视器-从STOP模式快速唤醒存储器选项(Memory)

-64/128/256KBFlashEEPROM,带ECC纠错 (S12XD可达512KB)

-4/8KBDataFlash(S12XD为EEPROM)

-4/8/12KBRAM(S12XD可达32KB)●16通道、12位模数转换器(ATD):

-可配置8、10或12位模数转换器(ADC)-多路复用实现16通道模拟输入●1Mbps的CAN总线模块,兼容CAN2.0A/B-5个接收缓冲器,3个发送缓冲器●定时器模块(TIM)

-8个16位可编程输入捕捉或输出比较通道

-16位自由计数器,8位预分频功能

-16位脉冲累加器●周期中断定时器(PIT)-4个周期溢出定时器●8位8通道或16位4通道脉宽调制通道(PWM)

-每个通道的周期和占空比由编程决定

-各通道独立控制

-可编程时钟选择逻辑●通信接口

-异步串行通信接口(SCI)

-同步串行设备接口(SPI)

-芯片内连总线(I2C) (S12XD有,XS128无此模块,但可模拟)●片上电压调节器-线性电压调节-带低压中断(LVI)的低电压检测-上电复位与低电压复位●低电压唤醒定时器(API)●输入/输出端口(I/O)-可有多达91个通用输入输出端口-所有输入端口可配置上下拉电阻-所有输出端口可配置驱动能力●封装选择-LQFP112引脚、QFP80引脚、LQFP64引脚 (S12XD中为LQFP144引脚)●其它

-单电源,3.135V~5.5V宽工作电压范围-对应80MHz系统频率,CPU总线频率最高可达40MHz-温度性能:-40°C~125°C的宽温度范围2.2MC9S12DG128的结构2.3MC9S12XS128的引脚功能封装

PV:LQFP-112引脚

AA:QFP-80引脚

AE:LQFP-64引脚(薄)四方扁平封装表面贴焊引脚功能功能基本相同

80引脚部分功能无

(黑体部分)引脚功能描述

LQFP-112,参见表2-1,可分为3大类:1、系统功能类引脚

EXTAL、XTAL:振荡器引脚

RESET:外部复位引脚,低电平有效(内部上拉)TEST:厂家测试预留,须连至VssXFG:锁相环(PLL)的外部滤波器电容引脚

BKGD/TAGHI/MODC:背景调试/高字节执行标记/模式选择引脚(内部上拉)

2、电源类引脚

VDDX、VSSX:

外部电源和接地,用以I/O驱动,+5VVDDR、VSSR:外部电源和接地,用以I/O驱动及内部电压调节器,+5VVDD1、VSS1、VDD2、VSS2

:MCU核心的工作电源,2.5V,内部

VDDA、VSSA:电压调节器和模/数转换器的电源

VRH、VRL:模数转换器的参考电压输入

VDDPLL、VSSPLL:PLL的电源供给端,2.5V,来自内部电压调节器

VREGEN:片内5V->2.5V电压调节器的使能端,高有效();如为低,则VDD1、VDD2、VDDPLL须外部供电3、I/O类引脚

共有92个,包括AD,A,B,E,H,J,K,M,P,S,T共11组端口,每组端口不仅可设定为普通的I/O端口,还可复用.

例如:AD端口可A/D转换的模拟输入,S端口可设置为SPI和SCI通讯接口,T端口可设置为增强型捕捉定时器的输入,输出接口等引脚功能描述

2、A口和B口

PAD口:PAD15~8,7~0模拟量输入口

PA、PB、PK:通用I/O口(PA7-0,PB7-0,PK7-0)3、E口系统启动控制口,用于开机时确定MCU的工作模式。通常使用缺省状况,尽量不用于普通输入/输出。①EXTAL/XTAL:振荡器引脚

②nRESET:上电复位端1、系统功能引脚3、H口、J口、M口、P口、S口和T口

这些端口都有第二种功能,在不使用第二种功能的时候,可以作为通用输入/输出口T口:接收输入捕捉功能S口:SCI、SPI模块关联作为通信接口M口:与ByteFlight、CAN模块关联作为通信接口P口:与PWM、SPI模块关联作为通信接口H口:与SPI模块关联作为通信接口J口:与CAN、IIC模块关联作为通信接口2.2运行模式多种运行模式满足各种需要,是一个芯片能具有强灵活性和扩展性,8种:普通单片模式最终产品正常运行应用程序普通扩展宽模式、普通扩展窄模式仿真宽模式、仿真窄模式特殊单片模式BDM可用,用以系统开发、调试特殊测试模式、特殊设备模式低功耗模式

以上运行模式均支持,3种:停止(Stop)、伪停止(Pseudo)与等待(Wait)

芯片模式的配置

参见表2-3

复位信号的上升沿时,由MODC、MODB、MODA决定并配合ROMCTL、ROMON

主要使用:普通单片模式:MODC(BKGD)=1MODB(PE6)=0MODA(PE5)=0特殊单片模式:MODC(BKGD)=0MODB(PE6)=0MODA(PE5)=0

特殊单片模式(SpecialSingleChip)

又称为背景调试模式(BackgroundDebugMode,BDM)注:引脚MODEB、MODEA在MCU复位时有下拉为低,所以,悬空时自动为单片模式;又:引脚BKGD有内部上拉,悬空时默认为高电平;所以,当插上BDM头时,由BDM调试工具的相应引脚给BKGD提供低电平,使MCU进入特殊单片模式;若不插BDM头,则进入普通单片模式。BDM接口电路

BDMBackgroundDebugMode

是Freescal自定义的,方便下载程序、在线调试、监视等

BDM调试器

须另购或自制,通过USB接口接PC,插头接目标板插头引脚形式:BKGD1NC3NC52GND4RESET6VDD信号含义:BKGD接单线背景调试引脚GND接地VDD接电源RESET接目标机复位引脚2.3振荡器和时钟电路

内部集成振荡电路,提供MCU工作的时钟基本脉冲

XTAL振荡器的输出引脚

EXTAL振荡器的输入引脚

两种接法:(XCLKS(PE7)=1时,因有内部上拉,复位默认1)

图2-3中,RB、RS为保证起振,RB取1M,高频率时RS取小或短接滤波电容C3、C4取22pF

图2-4中,一般为外接有源晶振

S12的总线时钟频率=晶振频率的1/2

如晶振频率为16MHz,则总线时钟频率为8MHzEXTALMCUXTALRBRSC3C4晶振图2-3EXTALMCUXTAL悬空CMOS兼容的外部时钟图2-42.4MC9S12XS128单片机的最小系统设计注:实际电路图绘制时,须使用工具软件PROTEL(DXP)等包括:电源电路复位电路晶振电路BDM电路PLL电路2.5系统复位、运行监视与时钟选择

1、复位功能S12MCU复位共有5种:

上电复位低电压复位外部复位时钟监视复位(可选)看门狗复位(可选)2、系统运行监视

两种监视手段,以保证系统的正确运行,提高可靠性:看门狗定时器(WDT)程序跑飞或异常时,使MCU复位时钟监视器(CM)时钟异常时,使MCU复位

3.时钟选择

用来产生固定周期的硬件定时中断。

10RH-1T=晶振周期ⅹ2ⅹ2ⅹ(RL+1)其中:RH=RTICTL6~4,RL=RTICTL3~0相关寄存器详细情况(略)2.6存储器

2.6.0.MCU存储器分类及特点寄存器。RAM

读写方便,保持经常修改的数据。掉电不能保护数据。静态RAM,动态RAM;3.EEPROM

非易失存储器。用于保持重要、修改少的数据。掉电保持。4.FLASH

固有不挥发性。不需要后备电源保持数据。易更新性。成本低、密度高、可靠性好。仅在特殊模式下才可能写入数据。2.6.1存储空间分配二.由逻辑地址向物理地址变换过程一.存储器管理问题对基本64K空间进行分配各种存储器地址安排如何避免冲突,发生冲突解决方法超过基本64K空间解决办法$00_0000,$00_07FF$00_0800,$0F_FFFF$10_0000,$13_FFFF$14_0000,$1F_FFFF$20_0000,$3F_FFFF$40_0000,$7F_FFFF2K寄存器RAMDFLASH保留扩展FLASH1M256K768K2M4M8M四.内存映射关系1.8M空间分配2.存储区映射模块原理MMC注意:GPAGE主要应用于读取大型表格,关联指令有限,不适合应用到程序中的操作(比如加减运算等)。专用全局指令关联:3.存储器8M空间的连续读取GLDARGSTAR4.基本64K空间分配页面分配空间定义:DFLASH:1KRAM:4KFLASH:16KS12XS128内存:DFLASH:8K=8×1KRAM:8K<12KFLASH:128K=8×16K12K2K16K2K5.逻辑地址映射4K16K1K逻辑空间256×1K=256K256×4K=1M256×16K=4MCPU16位地址6.单片模式空间分配2.6.2存储器地址管理2KB寄存器空间4KB分页RAM1KB数据闪存

$FF$FD$FC$FB$00$FD8KBRAM$FE$FF$FC$FB$FA$00最多255最多25416KB闪存16KB闪存16KBFLASH分页闪存$FF$FE$FD$FC$FB$FA$00最多2541KB分页数据闪存

$FE初始值:EPAGE=$FE RPAGE=$FD PPAGE=$FE2KB寄存器空间4K保留1KB数据闪存

$FF$FD$FC$FB$F8$FD8KBRAM$FE$FF16KB闪存16KB闪存16KB分页闪存$FF$FE$FD$FC$FB$FA$F81KB分页数据闪存

$FEXS128S实际地址分配关系

程序需要调用需要的页面时,使用与页面寄存器相关的指令将程序调入分页WINDOW。集成:I/O寄存器、RAM、DFLASH、PFLASH统一编址:64KB($0000~$FFFF)。每存储单元存8位信息I/O寄存器1KB,(分配2K空间)RAM8KB(没有使用页面扩展机制,实际存放在64K空间内,$2000-$3FFF共2个4K)DFLASH8KB(页面扩展机制,共8页,每页1K页面编号$FF、$FE$F8)FLASH128KB(页面扩展机制,共8页,每页16K

页面编号$FF、$FE$F8)

IO寻址采用的是统一寻址,非独立IO寻址!

MC9S12XS128存储器的组织结构2.7中断系统2.7.1中断系统概述

中断概念:指某外部事件或异常发生时,CPU暂时停止执行当前的程序(保护断点),转向中断服务程序;中断处理完后返回原来的程序继续运行(恢复断点)。中断是MCU的重要功能。

S12MCU丰富的中断源:多个普通中断、多个特殊中断。2.7.1S12的特殊中断复位

5种情况可以触发复位中断(不可屏蔽中断):上电复位(低电压)外部(RESET)复位非法寻址复位看门狗定时器溢出复位设置COPCTL寄存器(CR[2:0]非零)时钟监视失效复位设置PLLCTL寄存器(CME=1,SCME=1)

上电复位和外部RESET复位中断的向量地址:

$FFFE~$FFFF2.7.2S12XS的中断不可屏蔽中断:非法指令中断TRAP

软件中断SWI

外部中断XIRQ

系统中断SYS

伪中断可屏蔽中断(I位可屏蔽中断)IRQ、RTI、TIME、SCI、SPI、CAN等功能部件。CCR的X、I位0=允许中断;1=屏蔽中断,复位默认1。CCR的X位可设置一次,不能发生0到1的变化即不能关闭。

地址$FF10~$FFF8为S12X的中断向量表。每个向量(2个字节)指向中断服务程序的入口地址。外部中断IRQ的向量地址:$FFF2~$FFF3中断向量表:中断优先级:非I位可屏蔽>

I位可屏蔽;非I位可屏蔽中断可以中断I位可屏蔽中断,且IPL不变;例如:在中断中加入SWI指令,可以中断一个I位可屏蔽中断。伪中断:$FF10,最底部。优先级??????。系统中断:$FF12IVBR=$FF:$FF10TO$FFFEIVBR=$EF:

$EF10TO$EFFE2.7.3中断处理过程、优先级与嵌套

不可屏蔽中断高于可屏蔽中断,可以被多级嵌套。不可屏蔽中断的优先级

由硬件规定,按以下次序递减:上电复位或外部RESET引脚复位;时钟监视复位看门狗复位指令陷阱TRAP软件中断SWI外部中断XIRQ可屏蔽中断的优先级系统复位后,小于等于$FF12的中断向量激活状态。默认优先级为1级,可以重新设置;非屏蔽中断、SYS中断、伪中断不能被屏蔽;当优先级相等时,中断向量地址高的中断优先级高;

2.7.3中断处理过程、优先级与嵌套

1.中断处理的基本流程

(1)中断请求及条件中断源未被屏蔽,且中断允许触发器被置位。

(2)中断响应一般在现行指令结束时检测中断请求,如中断响应条件满足就进入中断响应周期,自动进行3件事:关中断,即将CCR的I位置1,以屏蔽其它中断干扰。保护断点地址和标志寄存器CCR的内容压入到堆栈,即现场保护。跳转到中断服务程序的入口地址,即将中断向量地址的内容载入PC。(3)中断处理程序完成中断后要处理的功能。中断服务程序通常放在不分页FLASH区。(4)中断返回中断服务的最后一条指令必须是RTI,返回时自动将堆栈中的标志寄存器内容和断点地址弹出,使程序回到中断前的地址继续运行原来的程序。2.中断现场保护

MCU硬件自动将PC,IY,IX,D,CCD寄存器内容依次压栈,同时清I位。4.中断嵌套中断向量地址:$FF00TO$FFFF,共16*8=128个.中断请求配置地址寄存器INT_CFADDR:高4为可以写入$0TO$F,共16个地址。例如:$E0对应选择了8个中断源

$FFE0,$FFE2,….$FFEE(TC7…TC0计时器)中断请求配置数据寄存器INT_CFDATA0-7INT_CFADDR=$E0INT_CFDATA7设置TC7优先级

. . . .INT_CFDATA0设置TC0优先级【例】用中断源IRQ产生中断显示LED跑马灯。(在IRQ引脚和地之间加接一个按键,内部默认上。)

初始化设置外部中断控制寄存器INTCR。

IRQE:0=低电平触发,1=下降沿触发

IRQEN:0=禁止IRQ中断,1=使能Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0IRQEIRQEN0000007.3中断程序设计主程序中进行中断初始化,并执行占用时间较多的程序;中断服务程序要求简短、高效,条件苛刻时尽量使用汇编语言;

在整个源程序的末尾声明中断子程序的所对应的矢量地址,格式如例;

以上所有源程序会通过IDE集成开发环境自动进行编译、链接、定位,形成可执行机器代码。程序说明:IRQ中断触发的LED跑马灯,LED接B口, B口高4位输出低电平时点亮.MY_EXTENDED_RAM:SECTIONFLAGEQU$2000MyCode:SECTION;codesectionmain:Entry:LDS#__SEG_END_SSTACKLDAA#$FFSTAADDRB;设置B口为输出

LDAA#$C0STAAIRQCR;设置外部中断IRQ使能,;下降沿触发

CLI;开中断

LDAA#$FFSTAAPORTB;先全熄灭

LDAA#$00STAAFLAG;送停止标志$00给FLAG

WAIT:CMPAFLAGBEQWAIT;FLAG为$00等待

SEC;C置1LDAA#$FESHIFT:STAAPORTB;亮1个灯

BSRDELAY;延时

ROLA;循环左移

BRCLRPTP,#$01,CANCEL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论