MC9S12DG128的结构与工作原理.ppt

上传人:牧羊曲112 文档编号:5439600 上传时间:2023-07-07 格式:PPT 页数:73 大小:6.83MB
返回 下载 相关 举报
MC9S12DG128的结构与工作原理.ppt_第1页
第1页 / 共73页
MC9S12DG128的结构与工作原理.ppt_第2页
第2页 / 共73页
MC9S12DG128的结构与工作原理.ppt_第3页
第3页 / 共73页
MC9S12DG128的结构与工作原理.ppt_第4页
第4页 / 共73页
MC9S12DG128的结构与工作原理.ppt_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《MC9S12DG128的结构与工作原理.ppt》由会员分享,可在线阅读,更多相关《MC9S12DG128的结构与工作原理.ppt(73页珍藏版)》请在三一办公上搜索。

1、第2章 MC9S12DG128的结构与工作原理,本章内容 MC9S12DG128的内部结构 MC9S12DG128引脚功能 MC9S12DG128的运行模式 MC9S12DG128的存储器组织,概述,MC9S12DG128的内核是16位中央处理单元CPU12,有29个独立的数字I/O口(A、B、K和E),20个独立的数字I/O口(H、P、J)具有中断和唤醒功能。MC9S12DG128内部为16位数据通道,外部总线可以按照8位数据窄总线模式操作,允许与8位数据总线的存储器连接,以降低成本。根据系统需求,PLL电路允许调整电源功耗及性能。,概述,MC9S12DG128主要特性:16位 HCS12

2、CPU内部存储器128 KB Flash8 KB RAM2KB EEPROM,概述,外围设备2个增强型串行通信接口(SCI)2个串行外设接口(SPI)3个 MSCAN 模块1个I2C总线接口2个8通道10位 A/D8通道16位增强型捕捉定时器(ECT)8通道8位或4通道16位 PWM,2.1 MC9S12DG128的内部结构,MC9S12系列单片机的芯片主要有两种封装形式,即80脚的QFP(Quad Flat Pack)和112脚的LQFP(Low profile Quad Flat Pack),个别子系列还有其它封装形式,如48脚。由于各子系列中的存储器类型、容量和功能模块不完全相同,因此,

3、不同芯片之间引脚功能略有差异,引脚标号不一定兼容。但在每个子系列中,例如,所有128kB Flash的MC9S12D系列的单片机,功能相同的引脚都兼容。,2.1 MC9S12DG128的内部结构,图2.1 MC9S12DG128内部结构框图,2.1 MC9S12DG128的内部结构,图2.1为MC9S12DG128的内部结构框图,其中功能模块按照112引脚封装给出。MC9S12DG128单片机的112个引脚中,除了地址、数据、控制三总线外,主要是I/O引脚,多数引脚具有两种或两种以上的功能。图中左、右两部分分别是单片机的核心和接口部分,包括CPU12、存储器、通用I/O、电压调整模块、后台调试

4、模块、系统运行监视模块、时钟产生模块、系统集成模块、外部总线接口、A/D转换器、增强型捕捉定时器模块、脉宽调制模块、串行通信接口、CAN总线接口、Byteflight接口、字节数据链路通信接口和管脚中断逻辑。,2.1 MC9S12DG128的内部结构,2.1.1 CPU12内核(Star Core)CPU12内部结构【组成】算术逻辑运算单元ALU、CPU控制逻辑电路、CPU寄存器和指令队列。内部采用16位数据总线,各部件通过内部总线相连,外部数据总线8/16位可选。(1)20位的ALU部件完成指令所规定的算术/逻辑运算等操作。(2)控制逻辑负责解释指令和产生相应的控制信号,并统一协调各部件的工

5、作。(3)寄存器组用于存储操作数或运算结果。(4)3级指令队列用来缓冲程序信息。,2.1 MC9S12DG128的内部结构,2.1.1 CPU12内核(Star Core)CPU12内部寄存器CPU12的寄存器集基于累加器,包括5个16位的寄存器和一个8位的状态寄存器。其中,累加器D又可分成两个8位的寄存器A和B,16位寄存器D、X、Y通常用于暂存数据或存储器地址;SP为堆栈指针,用于指示堆栈的位置;PC为程序指针,用于寻址程序代码;条件码寄存器CCR用来反映运算结果的特征,也控制CPU的行为。,图2.6 编程模型(Programming Model),2.1 MC9S12DG128的内部结构

6、,2.1.1 CPU12内核(Star Core)(1)累加器D累加器D是一个16位寄存器,其高位和低位字节分别称为寄存器A和寄存器B,可分别作为两个8位寄存器进行访问。实际上,D和A、B指向同一个寄存器,只是名称不同而已,A、B、D均可称为累加器。在任何时刻都可以使用8位或16位方式对累加器进行访问。若把一个16位数据存入累加器D中,则高8位在A寄存器中,低8位在B寄存器中。与此相对应,若把D寄存器中的一个16位数据存入存储器,则高8位在存储器的低位地址,低8位在存储器的高位地址。注意,任何Motorola(Freescale)公司独立设计的16位、32位CPU中,寄存器与存储器字节的对应关

7、系都是高位数据存放于低位地址,低位数据占用高位地址,这与Intel公司的CPU数据存放格式正好相反。,2.1 MC9S12DG128的内部结构,2.1.1 CPU12内核(Star Core)(2)间址/变址寄存器(Index Register)X、YCPU12内部有两个16位地址寄存器IX和IY,称为间接寻址寄存器,简称间址寄存器或变址寄存器。一般情况下作为指针寄存器,用于多种寻址方式下的地址计算,也可用于临时存放数据或参与一些运算,只能按照16位方式访问。在汇编语言中,这两个寄存器进一步简称为寄存器X和寄存器Y。在数据块传送时,X和Y寄存器都可以自动加、减116,X寄存器常作为源地址指针,

8、Y寄存器常作为目的地址指针,故X和Y寄存器也称作指针寄存器。,2.1 MC9S12DG128的内部结构,2.1.1 CPU12内核(Star Core)(3)堆栈指针SP(Stack Pointer)堆栈在内存中专门开辟出来的、按照“先进后出,后进先出”原则进行存取的区域。堆栈指针SP用来专门指示堆栈位置。在使用堆栈之前,要先给SP赋值,以规定堆栈的起始位置,称为栈底。当数据存入堆栈后,堆栈指针的值将随之变化。最后一个入栈的数据所在的位置(单元)称为栈顶。通常,CPU的堆栈有两种类型:向上生长型和向下生长型。如图2.7所示。,图2.7堆栈的类型,2.1 MC9S12DG128的内部结构,2.1

9、.1 CPU12内核(Star Core)向上生长型堆栈栈底占用较低地址,栈顶占用较高地址。数据压入堆栈时,SP的内容自动加1,作为本次进栈的地址,然后再存入信息。随着数据的存入,SP的值越来越大。数据从堆栈弹出后,SP的内容自动减1。向下生长型堆栈栈底占用较高地址,栈顶占用较低地址。CPU12的堆栈属于向下生长型,将一个字节数据压入堆栈时,SP自动减1。从堆栈中弹出一个字节数据时,SP自动加1。若操作数为双字节,则SP每次加2或减2。因此,随着数据的存入,SP的值越来越小。SP总是指向最后压入堆栈的一个字节数据,称为实栈顶。压栈操作时,先调整指针(减1或减2),后保存数据。初始化时,一般将S

10、P指向与栈底相邻的单元,它不属于栈底,以此表示堆栈为空。,2.1 MC9S12DG128的内部结构,2.1.1 CPU12内核(Star Core)SP主要用于堆栈管理,用于中断和子程序调用时保存系统地址信息,也可以存储临时信息,一般不做他用。在不影响其内容的前提下,也可替补用作所有变址寻址方式下的变址寄存器,通常不参与运算。惟一例外的是,在符号扩展指令中用作目的寄存器。此外,还具有自身的加、减1指令。影响SP内容的指令有加载、目的操作数为SP的寄存器传送指令、压栈、退栈、加减1、中断和子程序调用等。使用堆栈前,用户程序必须对SP进行初始化设置。复位时SP=$00FF。,2.1 MC9S12D

11、G128的内部结构,2.1.1 CPU12内核(Star Core)(4)程序计数器PC(Program Counter)16位程序计数器PC的内容决定程序执行的顺序,用户可以读取,但不能直接写入。因为要自动寻址复位矢量,复位后PC自动回到默认状态。单片机工作时,PC始终指向指令序列中下一条要执行的指令,分支、调用或转移指令均能改变PC的值。PC是特殊的寄存器,它决定CPU的取指地址,因此不能挪作他用,但可以像SP一样,在大多数变址寻址方式下作为变址寄存器,只是不能用在自动增减地址的变址寻址操作中。PC主要是直接为CPU服务,对于用户程序来讲,PC不能参与任何运算,唯一的作用是辅助进行变址寻址

12、操作。,2.1 MC9S12DG128的内部结构,2.1.1 CPU12内核(Star Core)(5)条件码寄存器CCR(Condition Code Register)条件码寄存器是一个8位寄存器,相当于标志寄存器FR或程序状态字PSW(Program State Word),但不同的是,它还可以参与控制CPU的行为。条件码寄存器中各位的定义:,CCR中的各位包括两部分:5个算术特征位(Arithmetic Flag Bit),即H、N、Z、V、C,它们反映上一条指令执行结果的特征(状态);3个MCU控制位,即中断屏蔽位X、I和STOP指令控制位,这3位通常由软件设定,以控制CPU的行为。

13、复位后,X、I两位默认状态为1,屏蔽系统中断。CCR是真正的专用寄存器,除了C、H位以外,其他各位不参与任何运算。,2.1 MC9S12DG128的内部结构,2.1.1 CPU12内核(Star Core)CCR中各位的主要含义:C进位/借位标志(Carry/Borrow Flag)当加法运算产生进位或减法运算产生借位时,C=1,否则,C=0。V溢出标志(Overflow Flag)算术运算后,若出现2补码(twos-complement)溢出时,V=1;若无溢出,V=0。Z0标志(Zero Flag)当运算结果为0时,Z=1;结果不为0时,Z=0。N符号位(负标志)(Negative Fla

14、g)当运算结果为负时,N=1,否则,N=0。H辅助进位(半进位)标志(Half-carry Flag)在加法过程中,若累加器A中的D3向D4位产生进位,H=1;否则,H=0。,2.1 MC9S12DG128的内部结构,CCR中各位的主要含义:I可屏蔽中断控制位(Maskable Interrupt Bit)I位是全局中断屏蔽控制位(global interrupt mask),用于禁止或允许所有可屏蔽中断源,这些中断源包括来自IRQ引脚的中断和从片内资源来的中断请求。任何时候该控制位均可置位或清零。I=1,禁止可屏蔽中断请求;I=0,允许可屏蔽中断请求。复位时默认I=1。进行中断服务时,该位自

15、动置位。为了允许可屏蔽中断请求,软件必须清除该位。,2.1 MC9S12DG128的内部结构,CCR中各位的主要含义:X非屏蔽中断控制位(Non-maskable Interrupt Bit)X位用于屏蔽来自XIRQ引脚的中断请求。若X=1,禁止来自引脚XIRQ的中断请求;X=0,允许XIRQ来自引脚的中断请求。X位的复位默认值是1,为了允许来自XIRQ引脚的中断服务请求,必须通过软件将X位清零。X位一旦被清零,允许XIRQ中断,那么用软件的方法不能使X位再重新置位,除非来一次复位才能使它再次置1。SSTOP指令屏蔽位(STOP Mask Bit)S位用于禁止CPU执行STOP指令。S=1,屏

16、蔽STOP指令;S=0,允许执行STOP指令。STOP指令将关闭MCU所有时钟信号,片上振荡器停止工作,并使MCU处于低功耗工作模式。,2.1 MC9S12DG128的内部结构,2.1.2 存储器MC9S12DG128内部集成了三种存储器,包括8KB的RAM,2KB的EEPROM和128KB的Flash存储器。RAM可以用作堆栈、保存中间结果和动态数据,甚至可以在调试时存放程序。EEPROM可以保存设置的信息等半永久数据。Flash存储器主要用来存放程序和原始数据等,反复擦写次数可达10万次以上,无需外加编程电压,在正常工作时没有被改写的危险。,2.1 MC9S12DG128的内部结构,2.1

17、 MC9S12DG128的内部结构,2.1.3 I/O接口MC9S12DG128共有91个I/O口,包括8个8位并行口A、B、E、H、M、P、S、T,1个7位并行口K,1个16位并行口PAD,1个4位并行口J。这些并行I/O口除了作为通用I/O口GPIO(General Purpose Input Output Interface)外,其中大部分为复用引脚,即具有第二、第三、甚至第四功能。芯片处于扩展模式下,A、B、E、K口被用作外部总线信号。H、J、M、P、S、T接口被集成在端口集成模块PIM(Port Integrated Module)内,与片内其他功能模块的引脚复用。,2.1 MC9S

18、12DG128的内部结构,2.1.4 电压调整模块电压调整模块用于给单片机内部提供合适的电源电压。单片机外部供电电压为5V,I/O接口也按照5V供电的逻辑电平设计,但芯片内部却采用2.5V电压工作,因此,该模块实现5V2.5V的电压转换,产生片内所需要的2.5V电压。VREGEN端用于从外部禁止该模块,当使用外部2.5V电压给内部逻辑电路供电及使用外部有源振荡器提供时钟时,可以不使用该模块。,2.1 MC9S12DG128的内部结构,2.1.5 单线(Single Wire)后台调试模块BDM和时钟运行监视模块【后台调试模块BDM】BDM模块用于OCD(On-Chip-Development)

19、方式支持开发,可对片内Flash进行擦除和在线编程,通过该模块,可以在程序运行时,动态地获取CPU寄存器的状态和信息,用于应用程序的调试。BDM方式无需仿真器,可以实现硬件断点、条件断点、在线调试等全部功能,外部只需简单的接口和相应的软件即可。BDM调试工具与单片机的通信通过双向的BKGD引脚实现,复位时BKGD引脚的初始电平将影响单片机的运行模式。,2.1 MC9S12DG128的内部结构,(1)时钟产生电路CGM(Clock Generation Module)产生片内各模块所需要的各种时钟,需外加晶体振荡器。,2.1.6 时钟产生模块CGM和复位电路,图2.8 时钟连接,2.1 MC9S

20、12DG128的内部结构,2.1.6 时钟产生模块GCM和复位电路【时钟产生模块GCM】MC9S12DG128时钟发生器有以下三种:具有锁相环PLL频率合成器锁相环电路用于产生高于外部晶体振荡器频率的时钟,片内的压控振荡器VCO产生高于外部时钟频率数倍的振荡频率,通过锁相环电路将频率稳定在某一确定的数值上。例如,使用外部32kHz晶振,可以产生8MHz的总线频率。利用0.516MHz的低功耗晶振,构成锁相环电路的一部分,可产生高达25MHz的片内总线时钟。通过EXTAL引脚提供与CMOS电平兼容的外部时钟信号,其输入频率要求在016MHz之间。,2.1 MC9S12DG128的内部结构,2.1

21、.6 时钟产生模块CGM和复位电路(2)复位电路复位电路产生上电复位信号,使CPU进入复位状态,即将CPU和MCU芯片内资源初始化。大多数CPU只有一个复位源,即复位引脚,复位后开始运行的地址也是固定的。但MC68HC12/9S12单片机设置了多个复位源,也不直接转到某个地址执行,而是采用复位矢量,复位后可以通过矢量转向不同的程序入口。下列任何一个事件启动复位时序(1)时钟监视器使能,且时钟监视器检测到时钟变慢或停止。(2)COP看门狗使能,且看门狗定时器定时到(超时溢出)。(3)上电复位POR(Power-on Reset)。,2.1 MC9S12DG128的内部结构,2.1.7 系统集成模

22、块SIM(System Integration Module)【SIM模块功能】接收外部可屏蔽中断和非屏蔽中断的输入信号接收单片机复位后的模式选择信号根据复位时模式选择信号MODA、MODB和MODC(BKGD)引脚的电平状态,单片机可进入不同的工作模式。输出内部总线的时钟(E时钟)输出外部总线扩展时的读/写信号SIM模块与外部的连接通过端口E(PTE)实现。,2.1 MC9S12DG128的内部结构,2.1.7 系统集成模块SIM(System Integration Module),2.1 MC9S12DG128的内部结构,2.1.8 外部总线接口【三总线的形成】数据总线、地址总线与通用I

23、/O端口复用,即A口(PTA)和B口(PTB)兼作地址和数据总线,而控制总线则占用端口E的部分引脚。【扩展方式】宽总线扩展16位地址总线和16位数据总线窄总线扩展16位地址总线和8位数据总线,2.1 MC9S12DG128的内部结构,2.1.8 外部总线接口宽总线扩展方式端口A高8位地址线和高8位数据线端口B低8位地址线和低8位数据线需要由外部两个8位地址锁存器锁存地址信号。当扩展大于64KB的存储器时,由页面映射寄存器PPAGE对应的7位端口K(PTK)中的6个引脚PK5PK0产生高位地址A19A14,使地址空间扩展到1MB。窄总线扩展方式端口A高8位地址线A15A8与8位数据总线分时复用端

24、口B低8位地址线需要一个外部8位地址锁存器锁存高8位地址信号。,2.1 MC9S12DG128的内部结构,2.1.9 ATD模块采样保持和A/D转换对模拟电压进行采样,在时间上离散化,得到对应的离散电压信号,然后再用模/数转换器对电压幅值进行量化,得到数字信号。将模拟信号转换成数字信号的转换器称为模数转换器,即A/D转换器,简写为ADC。模数转换器的种类很多,分属于两大类,即直接转换和间接转换。【直接转换】将模拟电压直接转换成数字量,如并行式A/D转换、逐次比较式A/D转换等;【间接转换】将模拟电压先转变成中间量(时间或频率等),然后再将这些中间量转换成数字量,如双积分式A/D转换、V/F式A

25、/D转换等。单片机内集成的A/D转换器一般都是逐次比较型(逐次逼近型)。,2.1 MC9S12DG128的内部结构,2.1.9 ATD模块直接转换的基本思路:如果一个A/D转换器输入的电压与一个D/A转换器输出的电压相等,那么,D/A转换器输入的数据即可看成是A/D转换器所要求的数据。【A/D转换器组成】一个D/A转换器、数据寄存器和一个电压比较器。数据寄存器的输出数据作为D/A转换器的输入数据。D/A转换器输出的模拟电压与输入的模拟电压相比较。电压比较器用来控制数据寄存器数据的改变。当电压比较器的两个输入电压相等时,控制逻辑将使数据寄存器的数据停止改变,这时,数据寄存器的数据就是对应于模拟输

26、入电压的数字量。,2.1 MC9S12DG128的内部结构,2.1.9 ATD模块逐次比较型A/D转换器采用中分比较(对分搜索)原理。由一个同样位数的D/A转换器,再加上比较器、逐次逼近型寄存器和控制逻辑组成。,采样电路,逐次逼近型A/D转换器,2.1 MC9S12DG128的内部结构,2.1.10 增强型捕捉定时器(ECT)模块【功能】4个IC(输入捕捉)通道设置了16位保持寄存器,用于缓冲捕捉的结果。4个8位脉冲累加器PA(Pulse Accumulator),其中两个由原来的16位PA演变而来,主要特点是:4个与IC通道关联的8位保持寄存器,用于缓冲脉冲累加器的结果。4个8位脉冲累加器通

27、道可以级联,形成两个16位的脉冲累加器。具有4位定标器的16位递减模数计数器。4个可选的延迟计数器(Delay Counter)设置在保持寄存器之前,用于增强输入的抗干扰能力。主定时器的预分频器扩展到7位,分频系数可以设定为1、2、4、8、16、32、64和128。,2.1 MC9S12DG128的内部结构,2.1.10 增强型捕捉定时器(ECT)模块输入捕捉(Input Capture,IC)通过捕获自由运行计数器的值,检测外部事件和输入信号。输出比较(Output Compare,OC)用程序的方法在特定的时刻输出需要的电平。脉冲累加(Pulse Accumulator,PA)通过检测相应

28、管脚上的有效边沿,统计脉冲的个数。,输入捕捉模块框图,输出比较模块框图,2.1 MC9S12DG128的内部结构,2.1.11 脉冲宽度调制(PWM)模块脉冲宽度调制PWM(Pulse Width Modulate)用程序控制波形的占空比,即有效电平(高或低)与脉冲周期之比。PWM模块可以实现波形占空比、周期、相位的程序控制,实现D/A转换和精确的脉冲序列输出。,占空比的概念,PWM实现D/A转换,2.1 MC9S12DG128的内部结构,2.1.11 脉冲宽度调制(PWM)模块PWM模块工作时,有效电平宽度对应的计数值存放在占空比寄存器中,脉冲周期对应的计数值存放在周期寄存器中。MC9S12

29、DG128单片机的PWM模块外部引脚与端口P(PTP)共用。当时钟频率为16MHz时,PWM模块最高工作频率可达8MHz,占空比调节范围0100%,最高分辨能力达0.15%,而且输出极性可选。,PWM模块工作原理,2.1 MC9S12DG128的内部结构,2.1.11 脉冲宽度调制(PWM)模块MC9S12单片机中的PWM模块具有8个独立的8位PWM通道,通过设置可将两个8位PWM通道级联成一个16位PWM通道。每个通道的周期和占空比可由程序设定。各通道具有独立的计数器。每个计数器有两种不同的时钟源(时钟A、时钟B)可供选择,每个通道可以独立产生连续的脉冲输出,各通道还可以统一设定成每个输出周

30、期左对齐或居中对齐。,2.1 MC9S12DG128的内部结构,2.1.12 串行通信接口通信计算机与外界的信息交换通信的基本方式并行通信和串行通信并行通信数据的各位同时进行传送的通信方式。并行通信通过并行接口来实现。例如,HC12/9S12单片机的A、B、E、H、M、P、S、T端口,当这些端口用作GPIO使用时,如果作为输出口,CPU将一个数据写入到I/O寄存器后,数据在端口对应的引脚上并行地同时输出到外部设备;如果作为输入口,对输入寄存器执行一次读操作,端口引脚上输入的8位数据同时被读入。并行通信的特点传送速度快,但数据有多少位,就需要多少根传输线,因此,适合于近距离通信。,2.1 MC9

31、S12DG128的内部结构,2.1.12 串行通信接口串行通信串行通信数据一位一位地按顺序传送的通信方式。串行通信通过串行口实现,例如,HC12/9S12单片机的串行通信接口:SCI、SPI、IIC、BDLC、CAN和Byteflight。串行通信的特点:只需一根或两根传输线,并且可利用电话线作为传输线,可大大降低传输成本,适合于远距离通信。其主要缺点是,传送速率较低。例如,若并行口传送N位数据所需的时间是T,那么,串行传送的时间至少为NT,实际上总是大于NT的。串行通信两种基本方式异步串行通信和同步串行通信。,2.1 MC9S12DG128的内部结构,2.1.12 串行通信接口 异步通信方式

32、异步通信方式按字符传送,起止式的通信方式。优点:数据传送的可靠性较高,能及时发现错误。缺点:通信效率比较低。异步通信的特点数据在线路上的传送不连续,各个字符可以连续发送,也可以间断传送,这完全由发送双方根据需要来确定。通信过程中数据的传送在时钟的控制下进行,异步通信时,同步时钟脉冲并不传送到接收方,即收发双方分别用自己的时钟源来控制接收和发送。异步通信时,收发双方必须事先规定两件事:(1)字符格式,即规定字符各部分所占的位数、是否采用奇偶校验,以及校验方式(偶校验还是奇校验)。(2)所采用的波特率,以及时钟频率与波特率的比例关系。,2.1 MC9S12DG128的内部结构,2.1.12 串行通

33、信接口(1)异步通信的数据格式一个字符由4个部分组成:起始位、数据位、奇偶校验位和停止位。数据的发送在移位脉冲的控制下,由发送移位寄存器将数据一位一位地移出单片机。数据的接收在移位脉冲的控制下,由接收移位寄存器将数据一位一位地移入单片机。,典型异步通信的字符格式,2.1 MC9S12DG128的内部结构,2.1.12 串行通信接口(2)波特率(Baud Rate)【波特率定义】每秒钟传送二进制数码的位数(也称比特数),单位是bit/s。波特率反映了串行通信的速率,也反映了对传输通道的要求波特率越高,要求传输通道的频带越宽。在异步通信中,波特率为每秒钟传送的字符个数与字符位数的乘积。例如,每秒钟

34、传送的速率为960字符/秒,而每个字符又包含10位(1个起始位、8个数据位、1个停止位),则波特率为:960字符/秒10位/字符=9600位/秒=9600波特异步通信的标准波特率有50、110、300、600、1200、2400、4800、9600、19200、38400、57600、115200,当采用美国电子工业协会规定的异步串行通信标准EIA RS-232C时,一般波特率在509600之间。,2.1 MC9S12DG128的内部结构,2.1.12 串行通信接口 同步通信方式同步通信数据连续传送的方式。按数据块传送,把要传送的字符顺序连接组成数据块,在数据块前面加上同步字符(SYNC),作

35、为数据块的起始符号。数据块后面再加上校验字符,用于校验通信中的错误。同步通信特点通信开始以后,发送端连续发送字符,接收端也连续接收字符,字符之间没有间隔,也不用起始位和停止位。因此,通信效率比较高,可达到56K波特或更高。按同步方式通信时,在发送时要插入同步字符,接收方检测到同步字符时,便准备开始接收。因此,硬件设备需要有插入同步字符或相应的检测手段。同步通信时,无论接收还是发送,都要求时钟频率与波特率一致。为保证接收正确无误,发送端除了传送数据外,还要同时传送时钟信号。,同步通信字符格式(双同步字符方式),2.1 MC9S12DG128的内部结构,2.1.12 串行通信接口 串行通信中的数据

36、传送方式半双工和全双工9S12单片机的串行通信接口:异步串行通信接口SCI(Serial Communication Interface)、同步串行外设接口SPI(Serial Peripheral Interface)和IIC总线(Inter Integrated Circuit Bus)接口。,2.1 MC9S12DG128的内部结构,2.1.12 串行通信接口异步串行通信接口SCISCI也称为通用异步接收器/发送器UART(Universal Asynchronous Receiver/Transmitter),主要用于MCU与计算机或外部设备之间的通信,几个独立的MCU也可以通过SCI

37、实现串行通信,形成网络。MC9S12DG128 的SCI是全双工异步串行通信接口,收发独立进行。内置独立的波特率产生电路和SCI收发器,有近十种标准波特率可供软件选择。两个SCI占用S端口的PS04引脚,当不用于串行通信接口时,可以作为普通I/O口使用。由于单片机中的接口模块采用标准逻辑电平,当用于RS-232C通信时,需要外接转换器/驱动器,如MAX232。,2.1 MC9S12DG128的内部结构,2.1.12 串行通信接口同步串行外设接口SPI MC9S12DG128芯片中有2个SPI,其中一个SPI默认使用S端口(PTS)的PS47引脚,但可以通过对模块路由寄存器MODDR(Modul

38、e Routing Register)的设置,将其分配到M端口(PTM)的PM25引脚;另一个SPI默认使用P端口(PTP)的PP03引脚,也可以通过对模块路由寄存器MODDR的设置,将其分配到H端口(PTH)的PH03引脚。,2.1 MC9S12DG128的内部结构,2.1.12 串行通信接口IIC总线接口IIC总线是一种用于芯片间传输数据的串行扩展总线,采用双向二线制串行数据传输方式。它用1根数据线(SDA)和1根时钟线(SCL)来实现全双工同步数据传送。IIC总线中可以挂接各种具有IIC总线接口的芯片。IIC总线数据传送的速率取决于时钟脉冲信号SCL的频率。对于IIC总线传输数据的波特率

39、,速率模式有两种:一种是标准S模式(100kb/s);另一种是快速模式(400kb/s)。9S12系列单片机中的IIC模块支持上述两种速率模式。I2C接口的数据线和时钟线通过端口J(PTJ)的PJ6PJ7引脚引出。,2.1 MC9S12DG128的内部结构,2.1.13 CAN总线接口控制器局域网CAN(Controller Area Network)是一种简化型网络结构。CAN技术规范符合国际标准化组织/开放式系统互连ISO/OSI(International Organization for Standardization/Open System Interconnection)标准模型,

40、分为逻辑链路层和物理层。1991年9月Philips半导体公司推出CAN技术规范2.0版,该规范包括A和B两部分。CAN2.0A给出了CAN报文标准格式,CAN2.0B给出了标准和扩展两种格式。现在常用的CAN控制器都符合CAN2.0B标准。CAN模块采用2根数据线RxCAN和TxCAN传输数据,数据传输速率高达1Mb/s,传输距离长达10km。MSCAN12模块的设计符合CAN2.0A/B协议的标准,集成了除总线收发器以外的CAN总线控制器的所有功能。,2.1 MC9S12DG128的内部结构,2.1.13 CAN总线接口MSCAN12是一个内置的CAN总线控制器,采用标准逻辑电平。CAN总

41、线依靠差分信号传输信息,即用CAN总线的两条线VCAN-H、VCAN-L之间的电压差来表示不同的逻辑,因此,如果要与CAN总线上另一个节点设备进行通信,必须再加一个物理层的芯片,即必须通过外接CAN总线发送/接收驱动器,将MSCAN引脚上的电平转换成CAN标准电平,再连接到传输介质。CAN总线发送/接收驱动器的作用是,输出CAN总线所要求的大电流,并具有过电流保护功能,避免故障节点对总线的威胁。,2.3 MC9S12DG128的运行模式,MC9S12DG128可以通过三个引脚MODC、MODB和MODA来选择单片机的运行模式。脱离复位后的运行模式由复位期间MODC、MODB和MODA引脚的状态

42、决定。模式寄存器MODE中的MODC、MODB和MODA位显示当前的操作模式,在运行过程中提供有限的模式转换。在复位信号的上升沿,MODC、MODB和MODA引脚的状态被锁存到模式寄存器的对应位中。MODE寄存器被用来设置运行模式和其他的辅助功能(即内部可视性、等待模式下的时钟停止、端口E和端口K的仿真)。在外设模式下,MODE寄存器不可访问。写操作后延迟一个周期,MODE寄存器中的位改变。在仿真和外设模式,MODE寄存器没有映射在片内的存储器中。,2.2 MC9S12DG128的运行模式,MODE寄存器控制MCU的运行模式和不同的配置选项。各位的含义如下:MODC、MODB、MODA 模式选

43、择位这些位指示当前的运行模式。MC9S12DG128的模式选择见表2.18。,2.2 MC9S12DG128的运行模式,MODC、MODB、MODA 模式选择位,2.2 MC9S12DG128的运行模式,MODC、MODB、MODA 模式选择位如果MODA=1,则MODC、MODB和MODA位不可写。如果MODC=MODA=0,则MODC、MODB和MODA任何时刻可写,除了不能改变成外设模式或由外设模式变成其他模式以外。如果MODC=1、MODB=0和MODA=0,则MODC不可写,而MODB和MODA只能写一次,除了不能改变成外设模式、特殊试验模式、特殊单芯片模式和仿真模式以外。,2.2

44、MC9S12DG128的运行模式,IVIS 内部可视性(对于读和写访问)该位决定内部访问产生的总线周期是否在外部总线上可见。普通模式:写一次 仿真模式:不可写 特殊模式:任何时刻可写1=内部总线操作在外部总线上可见。0=内部总线操作在外部总线不可见。,2.2 MC9S12DG128的运行模式,EMK 仿真端口K 普通和仿真模式:不可写 特殊模式:任何时刻可写1=如果处于扩展模式或特殊外设模式,PORTK和 DDRK 被从内存映射表中去除,允许用户在外部仿真这些寄存器的功能。0=PORTK和DDRK处于内存映射表中,端口K可以用作通用I/O。EME 仿真端口E 普通和仿真模式:不可写 特殊模式:

45、任何时刻可写1=如果处于扩展模式或特殊外设模式,PORTE和DDRE被从内存映射表中去除。0=PORTE和DDRE处于内存映射表中,端口E可以用作通用I/O。在单芯片模式,PORTE和DDRE总是处于内存映射表中,与该位的状态无关。,2.2 MC9S12DG128的运行模式,2.2.1 普通运行模式 普通模式共分三种,都是应用系统开发结束后的最终运行模式,支持背景调试模式(BDM),但对于某些操作,必须首先将BDM使能,激活后才能通过BDM命令进行调试。1普通单芯片模式该模式无外部总线,端口A、B和E被设置成通用I/O接口。端口E的两个引脚PE1和PE0仅能工作在内部上拉的输入方式,其他22个

46、引脚均可设置为输入或输出,复位后均被默认设置为高阻输入方式。另外,复位后,端口E的上拉有效,端口A和端口B的上拉被禁止。2普通宽扩展模式端口A和端口B为外部地址和数据总线,其中,A15A8和D15D8分时使用端口A的8个引脚,A7A0和D7D0分时使用端口B的8个引脚。R/W等总线控制信号复位后默认有效。3普通窄扩展模式端口A和端口B为16位外部地址总线,其中,端口A输出高8位(A15A8),其中端口B输出低8位(A7A0),8位外部数据总线D7D0与高8位地址线分时复用端口A的8个引脚。,2.2 MC9S12DG128的运行模式,2.2.2 特殊运行模式 特殊模式主要用于系统开发和器件测试。

47、1特殊单芯片模式该模式可用于强制MCU激活BDM,以允许通过BKGD引脚进行系统调试。在该模式下,MCU不像在其他模式下那样取中断向量,然后执行应用程序代码等,而是以激活的BDM固件接收来自BKGD引脚的串行命令,并控制CPU的运行。该模式下没有外部总线,MCU作为一个独立器件运行,所有程序和数据存储空间均位于片内,外部接口均可作为通用I/O。,2.2 MC9S12DG128的运行模式,2单片运行模式最常用的一种运行模式。系统复位时,CPU检测到MODA(PE5)和MODB(PE6)引脚为低电平时进入单片运行模式。单片运行模式又分为普通单片模式和特殊单片模式。普通单片模式是正常运行应用程序时应

48、使用的模式,特殊单片模式是指BDM调试模式。进入特殊模式时,要求单片及复位时引脚MODC(BKGD)为低电平。通常,当单片机输入引脚浮空时,CPU默认高电平,BKGD引脚上的低电平由BDM调试工具的相应引脚提供。可以理解为,当插上BDM头时,可进入特殊单片模式;当不插BDM头时,自动进入普通单片模式。3扩展运行模式80引脚的单片机A、B、K口都没有引出,故不能使用扩展运行模式。扩展运行模式又有普通运行模式和特殊运行模式之分,其区别是有些寄存器只能在特殊模式下读写。,2.3 MC9S12DG128的存储器组织,2.3.1 基本内存空间分配 64KB标准地址空间中,默认分配1KB 的I/O寄存器区

49、、2KB的EEPROM,8KB的RAM和48KB的Flash存储器,复位后占据特定的地址空间。其中:寄存器区:$0000$03FF,2KB;实际只占用1KB。EEPROM:$0000$0FFF,4KB;MC9S12DG128内部只有2KB的EEPROM,实际占用$0000$07FF。RAM空间:$0000$3FFF,16 KB;MC9S12DG128内部只有8KB的RAM,实际占用地址范围$0000$1FFF。,2.3 MC9S12DG128的存储器组织,2.3.1 基本内存空间分配Flash存储器:$4000$FFFF,48KB,分成3个16KB区。第一个16KB的Flash区:$4000$

50、7FFF,固定的Flash区,页面地址为$3E。复位后,系统综合控制寄存器MISC(Miscellaneous System Control Register)中的位ROMHM=1,即系统默认可通过该地址范围对$3E页面直接访问。设置MISC寄存器中的位ROMHM=0,禁止对该页面直接访问,$3E页面只能通过窗口页$8000$BFFF间接访问。第二个16KB的Flash区:占用地址$8000$BFFF,分页Flash区,或称为窗口页,由程序页面变址寄存器PPAGE(Program Page Index Register)管理着64个16KB的页面。第三个16KB的Flash区:占用地址$C00

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号