合工大S12X单片机原理4

上传人:野鹰 文档编号:26874090 上传时间:2018-01-02 格式:PPT 页数:42 大小:1.56MB
返回 下载 相关 举报
合工大S12X单片机原理4_第1页
第1页 / 共42页
合工大S12X单片机原理4_第2页
第2页 / 共42页
合工大S12X单片机原理4_第3页
第3页 / 共42页
合工大S12X单片机原理4_第4页
第4页 / 共42页
合工大S12X单片机原理4_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《合工大S12X单片机原理4》由会员分享,可在线阅读,更多相关《合工大S12X单片机原理4(42页珍藏版)》请在金锄头文库上搜索。

1、单片机原理,Microcontrollers Principles,MC9S12单片机原理及嵌入式应用开发技术1/2/2018,中断系统,5.1 单片机中断,中断的概念,中断是一个需要CPU立刻处理的内部/外部事件。内部事件是单片机内个功能模块应执行某项功能而产生的,如定时器定时时间到、AD变换结束、串行通信数据发生完成等。外部事件是输入到单片机的信号,如按键动作、通信模块收到数据等。,中断的实现是通过软件和硬件共同完成的,硬件部分称为硬件装置,软件部分称为中断处理程序(ISR Interrupt Service Routine)。中断装置和中断处理程序统称为中断系统。引起中断的事件称为中断源

2、。中断源向CPU提出处理的请求称为中断请求。CPU执行有关的中断处理程序称为中断处理,发生中断时被打断程序的暂停点称为断点。而返回断点的过程称为中断返回。中断系统是为了使CPU具有对单片机外部或内部随机发生的事件做实时处理的功能而设置的。如果没有中断功能,单片机对外部或内部事件的处理只能采用查询方式,即CPU不断查询相关寄存器的标志/状态位,判断是否有事件产生,这会影响程序的执行效率,不能充分发挥单片机CPU的性能。,中断系统,5.1 单片机中断,中断的概念,中断 vs 查询查询周期/连续的检查外部事件是否发生,消耗大量CPU的处理时间;查询过程需要和其它功能代码结合;由于CPU需要处理其他事

3、件(可能是无关紧要的),可能丢失对关键事件的响应;适于处理对时间响应要求低的场合。中断由硬件来判断是否发生外部事件并通知CPU;专用的中断服务程序来处理事件;适于处理对响应要求非常高的事件;适于处理持续事件非常短的事件。,中断系统,5.1 单片机中断,中断标志位 Interrupt flag (IF)每一个中断源都有对应的中断标志中断标志位将引发向CPU的中断请求通过读写操作可以清除中断标志位,不可屏蔽中断( External non-maskable Interrupt Request)非法指令陷阱软件中断SWI 该中断是一条指令,其执行过程与中断相同,将自动保护寄存器和返回地址,通过中断矢

4、量确定目标地址,最后必须通过RTI指令返回。XIRQ*中断 该中断是外部事件通过MCU相应引脚提出的请求,无论MCU处于什么状态,该引脚一旦被拉成低电平,MCU执行完当前指令后都会响应该中断。XIRQ*(S12XS的PE0引脚)中断一般用于系统掉电、硬件故障等重要场合。当MCU处于等待或停止模式时,该中断将唤醒MCU。,中断的概念,中断系统,5.1 单片机中断,可屏蔽中断(maskable Interrupt Request)可屏蔽中断实行的是两级管理,即通过设置CCR的I位来关闭和开启总的可屏蔽中断是否使能,而具体的可屏蔽中断源是否允许响应中断,是由用户在程序中,设置相应寄存器的中断使能位来

5、觉定是开启还是关闭。S12XS系列单片机的可屏蔽中断数量较多,这里仅对IRQ( External maskable Interrupt Request)中断做介绍:,不可屏蔽中断的使能与否,是通过CCR的X位来控制的,但该位不能位操作,当允许不可屏蔽中断时,可以通过以下指令来使X位清零。ANDCC #$BF ; / CCR内容和101 1 1 1 1 1进行与操作 X位一旦被清零,则不能通过软件重新置位X位,除非复位才位才能再次置位X位。,图5-3IRQ控制寄存器,IRQ中断使能位,外部中断信号触发方式选择位,中断的概念,中断系统,5.1 单片机中断,中断向量表 中断向量表存储的是中断服务子程

6、序的人口地址。中断的发生是不可预知的,中断发生后,CPU根据固定的向量表找到中断服务子程序的入口去处理中断事件。CPU所能支持的中断源的数目反映了CPU对突发事件的处理能力。S12XS单片机提供了114个可屏蔽的中断向量($ FF10 - $ FFF2);3个不可屏蔽的中断向量,XIRQ*($FFF4)、软件中断SWI($FFF6)和非法指令陷阱($FFF8);3个系统复位向量($FFFA 即看门狗、时钟监视器和复位(上电复位和手动复位)。,中断的概念,具体参见芯片手册MC9S12XS256RMV1.pdf,中断系统,5.1 单片机中断,中断工作流程,内部/外部事件请求CPU处理;CPU停止正

7、常流程,执行中断服务程序(ISR);ISR结束后,CPU返回正常流程。,保存返回地址和寄存器,中断系统,5.1 单片机中断,中断工作流程,中断源发出中断请求,即对应的中断源申请中断的标志位被置1。CCR的屏蔽位(全局中断使能位:X位对应不可屏蔽中断 或I位对应可屏蔽中断)置0,即CPU的总中断允许。申请中断的中断源,其中断允许位置1(对于可屏蔽中断而言),即该中断没有被屏蔽。无同级或更高级中断正在被服务。,图5-4中断控制逻辑,中断系统,5.1 单片机中断,中断工作流程,XGATE中断,中断系统,5.1 单片机中断,中断工作流程,XGATE精简指令集内核,XGATE 共有72 条独立的指令。指

8、令时钟最高可达100M。XGATE 的时钟速度总是CPU12X 总线速度的2 倍。具体可以参见网盘上的“如何使用XGATE.pdf”,中断系统,5.1 单片机中断,中断工作流程,XGATE访问空间,S12X 的全局存贮空间共有8MB,XGATE 可以访问其中片内的64KB 空间。这64K 包括2K 的片上外设寄存器,30K 的片上闪存和最大32K 的片内RAM(见图1-2 XGATE 全局地址映射)。注意XGATE不能访问EEPROM 空间或片外资源。XGATE 的访问空间完全含在PU12X 的访问空间中。地址仲裁的规则是PU12X 的优先级总高于XGATE。具体可以参见网盘上的“如何使用XG

9、ATE.pdf”,中断系统,5.1 单片机中断,中断嵌套和中断优先级,当有多个中断源同时发出中断请求时,要求单片机的CPU首先响应哪个中断源的中断请求。为此,计算机给每个中断源规定了优先级别,称为优先权。对于S12单片机,各中断源的优先级别,就是单片机复位后,其对应中断向量表中的次序。在表5-1的中断向量表中,优先级高的中断请求向量放于地址的高端,即表中位于高向量地址的中断比位于低向量地址的中断优先级高。,多个中断同时出现时,高优先级中断先得到响应,中断优先级可以是固定的或编程指定的。固定优先级: 根据中断向量表顺序(表5-1);设定优先级:每个中断都有优先级设置位相同优先级的中断,按先后顺序

10、处理。,中断系统,5.1 单片机中断,中断嵌套和中断优先级,其它中断向量可通过修改中断向量基地址寄存器IVBR (Interrupt vector base register),将中断向量表转移到任意一个以256字节为边界的地址空间。 IVBR的地址为$0121,复位后默认值为$FF。,S12X单片机的三个中断的中断向量地址是固定不变的,它们是:复位向量($FFFE);时钟监控复位 ($FFFC)看门狗复位($FFFA)。,中断系统,5.1 单片机中断,中断嵌套和中断优先级,S12X单片机的中断优先级:中断优先级总共分7个级别,1级最低,7级最高,0关中断;在低优先级的中断可以通过开中断指令C

11、LI,允许高优先级中断嵌入,相同优先级的中断不能嵌入。最多7级中断嵌套,至少占用70B堆栈空间;,CCR中的IPL用来标志中断优先级。当高优先级中断嵌入低优先级时,低优先级中断的优先级等级将随CCR寄存器自动入栈,当高优先级中断退出后,CCR从堆栈中恢复原来的中断级别;通过中断请求配置地址寄存器和数据寄存器来修改优先级。,中断系统,5.1 单片机中断,中断嵌套和中断优先级,中断嵌套指CPU在执行一个中断服务程序的过程中,可以再次响应新的中断请求。在进入中断服务程序时,CPU硬件会将全局中断使能位关闭。为了实现中断嵌套,必须在ISR开始重新允许全局中断(在有多优先级的情况下,选择允许到哪一个级别

12、的中断)。中断嵌套的层数越多,对堆栈的消耗就越大。,中断嵌套时的堆栈操作,串行口,6.1 串行通信概述,串行通信(Serial Communicaiton ):数据按位传输;通信方只需要很少的连接,对硬件资源利用效率高;速度较慢,传输信息少;传输距离较远。并行通信(parallel Communicaiton):数据按字节/字传输;通信方需要多个连接信号,占用硬件资源较多;传输速度快;传输距离较短。,图6-1串行通信与并行通信,串行通信的基础知识串行、并行,串行口,6.1 串行通信概述,串行通信的基础知识同步、异步,同步通信(Synchronous Communicaiton):接收方可以得到

13、发送方的通信时钟信号,传输速率高。异步通信(Asynchronous Communicaiton):发送方和接收方使用独立的时钟来处理通信信号;通信双方约定通信速率;通信中需要约定起始/停止位或定义特殊的帧结构;传输速率相对同步较低。,串行口,6.1 串行通信概述,半双工(Half-duplex):通信线路上只有两个通信方,不需要寻址。全双工(Full-duplex):通信线路上有多个通信方,需要建立寻址机制。,串行通信的基础知识半双工、全双工,串行通信的基础知识拓扑结构,点对点(Point-to-point):不能同时进行发送和接收,一方发送时,其他通信方只能处于接收状态,需要额外的逻辑来控

14、制发送和接收状态的切换。总线(Bus):通信端可以同时进行发送和接收,需要两个独立的通信通道,使用简单,数据传输率高。,串行口,6.1 串行通信概述,主从式(Master-slave):只有主端可以发起数据传输,从端等待主端的允许才能传输数据。对等式(Equal partners):任何节点可以发起数据传输,需建立冲突检测和仲裁机制。,串行通信的基础知识主从式、对等式,串行通信的基础知识单端、差分信号,单端信号(Single-ended):信号幅度以地电平作为参考,通信双方必须建立共同的参考地电平,干扰造成的信号幅度变化可能导致错误解释。差分信号(differential):,每个信号使用两根

15、线传输,信号的值由两个线上的电平的差值表示,通信方不需要共同的参考地,对干扰抑止能力强,传输速率高。,串行口,6.1 串行通信概述,异步通信数据格式,图6-3异步通信数据格式,1位起始位,低电平,用于向接收设备表示发送端开始发送一帧信息。58位数据位,低位在前,高位在后,它紧跟着起始位,表示要传送的有效数据。1位奇偶校验位,用于表示串行通信中采用奇校验还是偶校验,通常由用户根据需要设定。12位停止位,高电平,用于向接收端表示一帧字符信息已发送完毕,同时也为发送下一帧字符做准备。字符格式:约定好字符的编码形式、奇偶校验位形式以及起始位和停止位的规定。波特率:每秒传送多少位,单位是 位/秒,标准的

16、波特率(Baud)有1200、2400、4800、9600、19200、38400、57600、115200等,发送端和接收端设置为同一波特率。,串行口,6.1 串行通信概述,微控制器常见的通信类型,串行口,6.2 同步外设接口SPI模块,SPI模块概述,可设置主机模式 / 从机模式;可选择8位或16位数据宽度;可选择全双工或单线双向模式;可灵活设置的时钟极性和相位;可选择从最高位或最低位开始传送;可编程的传送速率;可实现双缓存操作 ;常应用在与LCD驱动器, D/A 转换器, RTC,EEPROM等器件进行数据通信,接口简单。,图6-9主从连接图,串行口,6.2 同步外设接口SPI模块,SPI模块概述,SPI模块的扩展应用与3片AD转换芯片TLC2543的SPI接口相连,可扩展到33路AD转换。,串行口,6.2 同步外设接口SPI模块,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号