《MCS单片机的内核及片上资源.pptx》由会员分享,可在线阅读,更多相关《MCS单片机的内核及片上资源.pptx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 MC9S12XS128片上资源nMC9S12XS单片机是以CPU12的V2内核为核心的单片机系列。n最高总线速度从25MHz提高到40MHz。n电源简化供电,不在需要外部的PLL滤波电路器件。n以闪存代替EEPROM,编程简化。n128K Flash,8K RAM,2K EEPROM、2个SCI、2个SPI、1个IIC、2个CAN、16路12位ADC、8路PWM、8路16位定时/计数器、一个16位脉冲累加器,支持单线BDM调试。第1页/共49页 MC9S12xs128片上资源片上资源第2页/共49页内核外设内部结构及引脚内部结构及引脚第3页/共49页内核结构存储器以MC9S12XS为例128
2、K FLASH8K RAM8K EEPROMMC9S12DG128拥有128K的FLASH,8K的RAM,2K的EEPROM。第4页/共49页9S12系列单片机RAM(2K、4K、8K、12K。)EEPROM(4K、8K。)Flash(128K、512K、1M。)不同型号的单片机有不同的存储器分配程序存储器和数据存储器统一编址I/O寄存器和存储器统一编址(Memory Maped I/O)地址空间可以通过设置相关的寄存器重新定义 内部存储器基本内存空间第5页/共49页 内部存储器基本内存空间 S12X CPU是16位的,它的寻址操作都是16位的,所以最大的寻址空间就是 =64K。S12X系列单
3、片机采用了分页管理的方式来怎增加寻址空间,扩大存储能力。为此增加了以下寄存器来管理:全程寄存器 GPAGE 闪存分页管理寄存器 PPAGE RAM页面管理寄存器 RPAGE EEPROM页面管理寄存器 EPAGE第6页/共49页I/O寄存器EEPROMRAM16KB固定Flash$3E16KB分页Flash$3016KB固定Flash$3F中断向量区$0000$0400$1000$4000$8000$C000$FF00$FFFF$30$31$32$33$34$35$36$37$38$39$3A$3B$3C$3D$3E$3FBlock3Block2Block1Block0由PPAGE寄存器(地址
4、$30)决定某一页在$8000$BFFF。xs256片内有256KFlash,分16页,每页16K,一般定位:$4000$7FFF 16K(页面编号$3E)$C000$FF00 16K(页面编号$3F)内存以页面方式扩展$8000$BFFF永远只能看到某一页第7页/共49页存储器优先级若地址分配出现重叠,按优先级自动屏蔽级别较低的资源存储器分配优先级:高高低低第8页/共49页电压调整模块及相关引脚电压调整模块给内核供电V给电压调整模块及I/O供电5V。单片机内部有电压调整模块,产生单片机内部需要的电压。3.3v-5v宽电压范围供电。输入:VDDR:5V 给内部电压调整器供电。VDDX1:5V
5、给一部分I/O模块供电。VDDX2:5V 给另外一部分I/O模块供电。VDDA:5V A/D模块供电。VRH 5V A/D变换参考电压输入端。第9页/共49页电压调整模块及相关引脚输出:VDDF:2.8V 内部电压调整器的输出端,给片内闪存供电。VDD:1.8V 内部电压调整器的输出端,给CPU内核供电。VDDPLL:1.8v 内部电压调整器的输出端,给锁相环供电。对于电压输出引脚,我们需要加上去耦电容,尤其是锁相环输出电路VDDPLL。第10页/共49页时钟和锁相环及相关引脚EXTAL、XTAL:接外部振荡器RESET:接外部复位,低电平有效VDDPLL、VSSPLL:锁相环供电引脚。该引脚
6、需要接去耦电容。VDDPLLVSSPLL去耦电容第11页/共49页模式选择及相关引脚R/W:读写信号,指示总线上数据方向LSTRB:总线模式下低位字节(奇地址)选通ECLK:内部总线时钟输出,一般在宽扩展模式下地址锁存用BKGD(MODC)、MODB(PE6)、MODA(PE5):模式选择NOACC/XCLKS:当前外部总线操作无效模式选择和PORTE复用TEST:保留脚,接地XIRQ:非屏蔽中断IRQ:可屏蔽中断第12页/共49页模式选择第13页/共49页MCU片上集成了十余个I/O接口,其中有通用并行I/O口(一般每口8个外部引脚)以及SCI、PWM、ADC、I2C、CAN等专用子系统。P
7、TA、PTB、PTE、PTH、PTJ、PTS、PTP、PTK、AD接口。复位后所有I/O引脚默认设置为通用I/O输入,当专用子系统激活后,自动变更为专用功能。A/B:在扩展方式下为地址数据分时复用总线;在单芯片模式下为通用I/O。I/O模块及相关引脚第14页/共49页ATD模块及相关引脚VDDA、VSSA:A/D模块电源引脚。一般5V。VRH、VRL:参考高压和参考低压,一般接5V(隔离)和GND(单点共地)。PTAD0-PTAD15:模拟量输入引脚,16个通道。A/D的精度可是8位、10位、12位。第15页/共49页定时器及相关引脚IOC0-7:输入捕获:捕获外部有效边沿输出比较:输出一定宽
8、度的脉冲PT7 可以做16位脉冲累加器。作为普通I/O口时,为PORTT,输入输出。第16页/共49页SPI、PWM及相关引脚2个SPI口MISO:主机输入/从机输出MOSI:主机输出/从机输入SCK:同步时钟SS:从机选择PWM0-7:PWM模块8个通道XS128的PWM引脚是可以选择的,通过PTTRR可以把PWM引脚定义到PP口或者PT口。默认是在PP口上。作为普通I/O:PORTP第17页/共49页异步串行口及相关引脚2个SCI:RXD:数据接收TXD:数据发送1个SPI1个BDLC4(5)个CAN:RXCAN接收、TXCAN发送作为普通I/O使用:PORTS,PORTM第18页/共49
9、页中断I/O口作为普通并行I/O口:PORTJ、PORTHPJ口和PH口可以作为中断口:可选择上升或者下降沿中断;PJ6和PJ7与I2C和CAN4模块复用引脚。(I2C:SDA数据引脚、SCL时钟引脚)第19页/共49页堆栈n堆栈在单片机中有着极其重要的作用。堆栈是一块连续的存储空间,主要用于保存临时数据、局部变量、中断或子程序的返回地址以及核心寄存器的内容。n在CPU中有一个堆栈指针寄存器(Stack Pointer),简称SP寄存器,用来指明堆栈当前栈顶的位置。第20页/共49页n子程序调用时,程序指针PC内容自动压栈,子程序返回时,将压栈的地址返回到PC中,恢复主程序运行。n中断响应后,
10、除PC内容自动压栈外,CPU寄存器Y、X、A、B、CCR也依次自动压栈;执行中断返回指令时,将堆栈中保存的现场信息按照入栈时相反的顺序依次自动出栈,原程序从中断的下一条指令处恢复运行。第21页/共49页n在子程序调用和中断操作中,堆栈是CPU自动进行的。n堆栈由高地址向低地址生成,SP总是指向最后进入堆栈的一个字节n实栈顶压栈时先调整堆栈指针(SP(SP1),后保存数据。出栈时先弹出数据,后修改栈顶(SP(SP1)第22页/共49页栈区必须在程序开始部分在内部RAM区指定,即SP的初始化。第23页/共49页中断进栈举例:执行到$80F0处的程序时,CPU响应中断,且此时SP的内容(栈顶)为$3
11、F00,则SPSP自动压栈的内容和顺序中断返回时,自动出栈的内容和顺序第24页/共49页3-5 复位及时钟复位上电复位 单片机自动检测VDD端的正跳变,启动自动工作。外部复位 通过RESET引脚加一低电压,拉低超过一定时间 后可实现复位。看门狗复位 帮助系统在软件跑飞后自动复位。软件必须定期复位看门狗定时器,否则溢出,导致MCU复位。时钟监视器复位利用内部的RC电路来保证时钟频率满足要求。如果时钟频率跌落到预定值以下,产生复位。第25页/共49页振荡器和时钟电路EXTAL是外部时钟输入或石英振荡放大器的输入XTAL是石英振荡放大器的输出串联方式(PE7悬空)并联方式(PE7引脚要拉低)任何任何
12、CPU都离不开时序逻辑电路,没有时钟脉冲无法运行。都离不开时序逻辑电路,没有时钟脉冲无法运行。第26页/共49页利用锁相环可以提高总线频率若晶振为4M不使用锁相环:总线频率为2M使用锁相环:总线频率可为40MHz可通过以下锁相环模块的寄存器设置提高总线频率锁相环控制寄存器(PLLCTL)时钟合成寄存器(SYNR)时钟分频寄存器(REFDV)时钟产生模块的标志寄存器(CRGFLG)时钟选择寄存器(CLKSEL)第27页/共49页时钟初始化寄存器共5个(1)锁相环控制寄存器(PLLCTL)锁相环电路允许位1允许0禁止时钟监控允许位1允许0禁止注:其余各位的描述见教材57页。第28页/共49页时钟分
13、频寄存器REFDV前两位REFFRQ1.0和参考时钟有关:1-2M 002-6M 016-12M 1012以上 11后六位是分频系数。第29页/共49页时钟合成寄存器SYNRVCOFRQ1.0是和压控振动器有关的:VCO频率 32-48M 00VCO频率 48-80M 01VCO频率 80-120M 10VCO频率 120M以上 11后六位锁相环时钟倍频数(063)第30页/共49页时钟产生模块的标志寄存器 CRGFLG预分频寄存器POSTDIV(默认时)第31页/共49页例如:选用12MHz的外部晶振,若将SYNR设为19 ,REFDV设为05,通过公式计算可得 PLLCLK80MHz。fb
14、us=40MPOSTDIV 为默认时(后四位全0)fvoc=fpll第32页/共49页注:其余各位的描述 见教材57页和58页。(5)时钟选择寄存器(CLKSEL)选定锁相环1表示Bus ClockPLLCLK/20表示Bus ClockOSCCLK/2第33页/共49页PLL例子 REFDV=5;设置分频系数 SYNR=0X53;/设置倍频参数 while(0=(CRGFLG-LOCK);/等待稳定POSTDIV=0;/预分频系数默认fpll=fvoc CLKSEL=0 x80;/选择PLL作为时钟/若晶振为12M,则PLLCLK=2*12*(19+1)/(5+1)=80MHz,则总线频率是
15、40MHz第34页/共49页n所谓中断就是指CPU在执行程序的过程中,当出现了某些异常事件或请求时,CPU暂时中止正在执行的程序,而转去执行对异常事件或某种请求的服务子程序。当处理完毕后,CPU再回到被暂时中止的程序继续执行。n中断既与硬件有关也和软件有关。3-6 中断系统第35页/共49页MC9S12XS128大约有50个中断源(1)外部中断2个:XIRQIRQ其余均为内部中断外部和内部中断实现机制完全相同在中断中,提出中断请求的一方为中断源第36页/共49页(2)非可屏蔽中断3个:软件中断(SWI):实际上是一条指令非法指令陷阱:系统混乱时,无法取到正确的操作码,操作码无法辨识。XIRQ其
16、余均为可屏蔽中断第37页/共49页CPU为每个中断源指定一个标号,这个标号就叫做中断向量号。每个中断的中断服务子程序的入口地址都按照中断向量号的顺序保存成一张表,这个表就叫中断向量表,中断向量表通常放置在一个固定的区域。CPU可以根据发出中断请求的中断的向量号,通过中断向量表迅速跳转到相应的中断服务子程序。中断向量第38页/共49页中断向量存放在FLASH的最后的128B($FF80-$FFFF)。每个中断向量占用2个字节。中断向量表中存放的是相应中断子程序的入口地址。各个中断源、中断向量表以及优先级见教材64页表2-8。第39页/共49页I/O寄存器EEPROMRAM16KB固定Flash$
17、3E16KB分页Flash$3016KB固定Flash$3F中断向量区$0000$0400$1000$4000$8000$C000$FF00$FFFF$30$31$32$33$34$35$36$37$38$39$3A$3B$3C$3D$3E$3FBlock3Block2Block1Block0由PPAGE寄存器(地址$30)决定某一页在$8000$BFFF。xs256片内有256KFlash,分16页,每页16K,一般定位:$4000$7FFF 16K(页面编号$3E)$C000$FF00 16K(页面编号$3F)内存以页面方式扩展$8000$BFFF永远只能看到某一页第40页/共49页3-7 MC9S12单片机最小系统硬件设计以MC9S12XS128为例n供电电路主要是由单片机提供+5V电源和电源滤波n时钟电路给单片机提供一个外接的12MHz的石英晶振 nBDM口让用户可以通过BDM调试工具向单片机下载和调试程序。n复位电路是通过一个复位按键给单片机一个复位信号,调试过程中很有用。n接一个LED灯调试用。第41页/共49页第42页/共49页第43页/共49页第44页/共49页第45页/共49页第46页/共49页第47页/共49页谢谢!第48页/共49页感谢您的观看!第49页/共49页
限制150内