欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第4章嵌入式系统的IO模块ppt课件.ppt

    • 资源ID:2104708       资源大小:5.89MB        全文页数:48页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章嵌入式系统的IO模块ppt课件.ppt

    第4章 嵌入式系统的I/O模块Part 2,4.3 通用输入/输出接口,通用输入/输出接口GPIO可提供输入、输出及双向功能,用于连接芯片硬件不支持的通信(总线)协议的外设,比如7段LED、按键矩阵、并行接口外设等。也就是说,这些通信(总线)协议需要通过软件编程来实现GPIO也可以通过软件编程,来模拟实现SPI等标准通信协议/总线嵌入式处理器芯片不可能将其内部电路的所有I/O端口都引出到封装引脚(由于成本问题,芯片封装引脚数量极为有限),因此大多数嵌入式处理器芯片的GPIO可能与其他功能的I/O端口复用引脚(引脚可编程配置),4.3 通用输入/输出接口,4.3 通用输入/输出接口,4.3.1 GPIO功能概述S3C44BOX有71个通用可编程多功能I/O引脚(GPIO引脚),分为7类一个10位I/O端口(PortA)一个11位I/O端口(PortB)一个16位I/O端口(PortC)两个8位I/O端口(PortD&PortG)两个9位I/O端口(PortE&PortF)每个GPIO端口均可通过软件进行编程配置,以满足各种不同的要求,端口配置通常在程序开始时就进行如何配置:通过软件来设置GPIO端口的特殊功能寄存器,以S3C44B0X 32位MCU的GPIO为例,4.3 通用输入/输出接口,端口的特殊功能寄存器每个端口对应一个端口配置寄存器PCONn,决定端口每一个引脚的功能每个端口对应一个端口数据寄存器PDATn,存放接收/发送的数据每个端口对应一个端口上拉寄存器PUPn,决定端口每一个引脚的上拉电阻的使能(是否接上拉电阻)外部中断控制寄存器EXTINT:PortG可以配置为外部中断EINT0-7,EXTINT为外部中断设置信号触发方法(低/高电平、上/下降沿、双沿触发)外部中断挂起寄存器EXTINTPND,4.3 通用输入/输出接口,4.3.2 编程实例1、GPIO端口的初始化I/O端口配置步骤:设置端口数据寄存器设置端口控制寄存器,确定各端口的具体功能设置端口上拉寄存器,011 1111 1111,4.3 通用输入/输出接口,4.3.2 编程实例2、端口的读写:示例函数:GPIO端口B(11位-11个引脚)中的9/10两个引脚通过输出高/低电平,控制与这两个引脚连接的LED灯亮和熄灭void leddisplay(int LedStatus)led_state=LedStatus;if(LedStatus/100 0000 0000,4.3 通用输入/输出接口,4.3.3 并行接口标准使用GPIO通过软件编程,来实现如下并行接口标准Centronics标准:并行打印机IEEE488 GPIB:通用仪器总线SCSI:计算机连接外围设备的标准,4.4 LCD接口,4.4 LCD接口,4.4.1内部结构作用:传送视频数据、产生必要的控制信号。组成:寄存器组、DMA、数据转换、时序发生器。,图4.9 LCD控制器的内部结构图,LCD驱动器,LCD屏,从位于系统内存的帧缓冲区(显示缓存)中读取视频数据,4.4.1内部结构LCD控制器的外部接口信号VFRAME:LCD控制器与LCD驱动器之间的帧同步信号VLINE:LCD控制器与LCD驱动器之间的行同步信号VCLK:LCD控制器与LCD驱动器之间的像素时钟信号VM:LCD驱动器所使用的交流信号行/列电压的极性VD:LCD像素数据的传输端口VM3:0:4位(指像素值)单扫描时的数据;8位单扫描或4位双扫描时的高4位数据VM7:4:8位单扫描或4位双扫描时的低4位数据,4.4 LCD接口,4.4.1内部结构LCD控制器中的寄存器组(P82)三个控制寄存器(LCDCON13)三个帧缓冲起始地址寄存器(LCDSADDR13)三个查找表寄存器(REDLUT、GREENLUT、BLUELUT),4.4 LCD接口,4.4.2基本操作 1.色彩模式(显示模式)4级灰度模式16级灰度模式8位彩色模式:256中颜色以上所有的彩色或灰度级都记录在称为“查找表”的调色板中单色模式:不使用查找表2.扫描模式4位单扫描:扫描线从左上角开始逐行显示数据,数据 from VM3:04位双扫描:显示器分为高度相等的上下两部分,每部分一条扫描线从左上角开始逐行显示数据:先上部分一条扫描线显示数据 from VM3:0,再下部分一条扫描线显示数据 from VM7:48位单扫描:扫描线从左上角开始逐行显示数据,数据 from VM3:0+VM7:4,4.4 LCD接口,4.4.2基本操作1.色彩选择通过设置帧缓冲起始地址寄存器1(LCDSADDR1)的MODESEL字段,可以指定色彩模式(显示模式)通过设置三个查找表寄存器(32位REDLUT、32位GREENLUT、16位BLUELUT),可以在查找表中指定色彩模式(显示模式)所对应的颜色或灰度级:因为有红、绿、蓝三张查找表,每张查找表共存有16项颜色或灰度级(4位地址寻址),那么到底三张查找表中的哪一项是对应的颜色或灰度级?4级灰度模式:蓝查找表16项中的4项对应4级灰度级。如何指定这4项?16位的BLUELUT被划分为4个字段,每个字段(4位)作为蓝查找表的4位地址选中的项,就是对应的灰度级16级灰度模式:蓝查找表16项刚好对应16级灰度级,不需要指定8位色彩模式:在红、绿、蓝三张查找表(16项颜色)中分别指定8种红色、8种绿色、4种蓝色,组成256种颜色。如何指定这8种红色、8种绿色、4种蓝色?32位的REDLUT、GREENLUT被划分为8个字段,16位的BLUELUT被划分为4个字段,每个字段(4位)作为红、绿、蓝查找表的4位地址选中的项,就是对应的颜色,4.4 LCD接口,4.4.2基本操作2.扫描模式选择通过设置控制寄存器1(LCDCON1)的DISMOD字段,可指定扫描模式4位单扫描4位双扫描8位单扫描,4.4 LCD接口,4.4.2基本操作3.数据的存放与显示,4.4 LCD接口,视频数据存放在系统内存的帧缓冲区(显示缓存)中,LCD接口中的DMA读取视频数据,经转换后数据由VM7:0传送给LCD驱动器/LCD屏数据记录了显示像素的颜色/灰度级:4级灰度模式2个数据位表示一个像素,16级灰度4个数据位表示一个像素,8位彩色8个数据位(R3G3B2)表示一个像素,4.4.3应用实例初始化基本流程:P84初始化抖动模式寄存器初始化帧缓冲起始地址寄存器初始化BLUELUT查找表寄存器(因为例子中是16级灰度模式),4.4 LCD接口,定时器和计数器电路一样,差别在于定时器使用内部的系统时钟作为计数脉冲,而计数器使用外部事件脉冲作为计数脉冲。常设计在一起,通过控制开关让它工作在定时或计数状态主要用于:定时中断实时操作系统的时间片任务调度实时时钟RTC看门狗时钟WatchDogDRAM刷新 定时器/计数器通常包括控制寄存器、计数初值寄存器、计数器、计数输出寄存器、状态寄存器等,图4.5 定时器/计数器的基本结构,4.5 定时器/计数器,4.5 定时器/计数器,4.5.1内部结构,6个16位定时器,每个都可以产生中断请求和DMA请求定时器0-5具有脉冲宽度调制(PWM)功能。定时器0具有死区发生器特性(适合大电流设备应用)6个定时器共用3个配置寄存器和控制寄存器,每个定时器均有3个寄存器:定时器计数缓冲寄存器TCNTBn:存放计数初值,计数(递减)到0会产生中断请求定时器比较缓冲寄存器TCMPBn:当计数(递减)到TCMPBn的值,TOUTn输出高电平定时器观察缓冲寄存器TCNTOn:存放计数器当前值,图4.6 定时器内部结构,4.5 定时器/计数器,以S3C44B0X的Timer为例,1.预定标器和分频器 定时器输入时钟频率=MCLK/(预定标值+1)*分频值预定标值为8位,取值范围为0-255;分频值为1/2、1/4、1/8、1/16、1/32。定时间隔=TCNTBn/(MCLK/(预定标值+1)*分频值)P77表4.2表明了预定标器、分频器与定时间隔的关系。假设系统主时钟MCLK为66MHz,定时器初值取值最大值TCNTBn=65535(16位),4.5.2基本操作,4.5 定时器/计数器,定时器计数缓冲寄存器(存放计数初值的寄存器),4.5.2基本操作,2.定时器的基本操作,图4.7 定时器的基本操作,定时器内部计数器为TCNTn,递减计数,启动时TCNTn TCNTBn当计数到TCMPBn值(TCNTn=TCMPBn)时,TOUTn输出高电平当计数到0(TCNTn=0),且中断使能,则会产生中断请求当计数到0(TCNTn=0)时,TCNTn 当前TCNTBn(自动重装,TCNTBn的值可以在定时器计算过程中改变)如果自动重装被设为无效,则当本次计数结束,定时器将停止工作,4.5 定时器/计数器,1,2,3,4.5.2基本操作,3.双缓冲器和自动重装,图4.8 定时器的自动重装,计数器(本身):TCNTn双缓冲器:定时器的计数初值保存在TCNTBn中,计数器当前值保存在寄存器TCNTOn中自动重装:当TCNTn的值为0时,自动将TCNTBn的值拷贝到TCNTn中(自动重装),并重新开始下一次定时,4.5 定时器/计数器,4.5.2基本操作,4.手动更新初始化定时器 初始时TCNTBn没有加载初值,如自动重装会出错,所以必须设手动更新为有效,启动定时器的步骤:将计数初值写入寄存器TCNTBn和TCMPBn。将定时器的手动更新位置位以加载计数初值。设置相应定时器的启动位来启动定时器,同时将手动更新位清0.,4.5 定时器/计数器,4.5.3应用实例,以定时器5为例。要求产生1ms定时间隔,主时钟频率MCLK为60mhz,预定标器采样默认设置0,分频器也采用默认设置1/2。计数器初值为:定时间隔*MCLK/(预定标值+1)*分频器=0.001*60000000*1/2=30000TCNTB5为16位寄存器(65535),可以装下计数器初值,4.5 定时器/计数器,4.5.3应用实例,4.5 定时器/计数器,4.5.3应用实例,4.5 定时器/计数器,4.9其他接口,由于嵌入式系统工作常常会受到来自外界电磁场的干扰,造成程序的跑飞而陷入死循环,程序的正常运行被打断,造成整个系统的陷入停滞状态。出于对嵌入式系统运行状态进行实时监测的考虑,嵌入式处理器芯片中需要有一种专门用于监测程序运行状态的看门狗定时器(WDT)电路CPU先给看门狗WDT一个初值,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看门狗复位(喂狗),重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位,4.5.4看门狗定时器(WDT)WatchDog Timer,输出到处理器芯片的RST端,4.9其他接口,实时时钟RTC器件是一种可以提供日历时钟及数据存储等功能的专用集成电路S3C44BOX处理器内集成了RTC单元,其结构如图RTC可用备用电池驱动。当系统电源关闭时,CPU和RTC间的接口关闭,4.5.5实时时钟RTC,若中断使能可产生滴答时钟中断,正常模式下,一段时间内产生一个告警信号ALMINT(告警中断),断电模式下,电源管理器唤醒信号PMWKUP和告警信号ALMINT均有效,4.6 中断控制器,中断是一种重要的I/O机制,几乎所有的外围接口和设备都要通过中断来实现或管理与CPU(处理器核)之间的数据交换引起中断的事件或原因称为中断源,分内部中断和外部中断内部中断:CPU执行指令所引起的,也叫软件中断外部中断:CPU以外的硬件(外围接口和设备)所引起的,也叫硬件中断中断子系统是为了处理中断请求而设置的各种硬件和软件,完成响应、处理中断并返回按优先级高低响应中断请求实现多重中断或中断嵌套中断控制器即中断子系统的硬件,位于CPU和外围接口和设备之间,4.6 中断控制器,第三章回顾,3.5.5 ARM微处理器的异常处理机制,当正常的程序执行流程发生暂时的停止时,称之为异常,例如处理一个外部的中断请求ARM体系结构中的异常,与中断有很大的相似之处,但异常与中断的概念并不完全等同在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,当前程序才可以继续执行处理器允许多个异常同时发生,它们将会按固定的优先级进行处理,第三章回顾,ARM体系结构所支持的异常的类型,当异常出现后,ARM强制从异常类型对应的固定存储器地址开始执行程序。这些固定的地址称为异常向量Exception Vectors(当异常为中断类型时,即为中断向量)复位:当处理器复位电平有效时,产生复位异常。优先级1未定义指令:当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。优先级6软件中断:由执行SWI指令产生,可使用该异常机制实现用户模式下的系统功能调用。优先级6指令预取中止:当指令预取访问存储器失败并且无效的预取指令被执行时,产生指令预取中止异常。优先级5数据中止:若处理器数据访问的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常。优先级2 外部中断请求IRQ:当处理器的外部中断请求引脚有效,且CPSR中的I位为0时,产生IRQ异常。优先级4快速中断请求FIQ:当处理器的快速中断请求引脚有效,且CPSR中的F位为0时,产生FIQ异常。优先级3,第三章回顾,对异常的响应和返回,响应将下一条指令的地址存入相应LR,以便程序在处理异常返回时能从正确的位置重新开始执行 保留现场将CPSR复制到相应的SPSR中 保留现场根据异常类型,强制设置CPSR的运行模式位。强制PC以相关的异常向量地址作为下一条指令执行,从而跳转到相应的异常处理程序处 跳转执行返回将LR的值回送到PC中 恢复现场将SPSR复制回CPSR中 恢复现场若进入异常处理时设置了中断禁止位,则清除,第三章回顾,4.6 中断控制器,4.6.1 S3C44BOX的中断源S3C44BOX集成了功能强大的中断子系统,可以接收30个中断源的请求,每个中断源可以发出快速中断请求(FIQ)或一般中断请求(IRQ)26个独立中断源4个外部中断EINT4/5/6/7共用一个中断源2个UART错误中断0/1共用一个中断源 P125,以S3C44B0X的中断控制器为例,4.6 中断控制器,4.6.2 特殊功能寄存器中断控制寄存器INTCON IRQ/FIQ 允许/禁止中断请求与响应寄存器:0-25位每一位对应一个中断源中断挂起寄存器INTPND:位为1表示相应的中断源产生了中断请求中断服务挂起寄存器I_ISPR:位为1表示可以响应该中断源的中断请求(同时有多个位被设置为1,但实际被响应的请求只有一个)中断屏蔽寄存器INTMSK:位为1表示相应的中断源的中断请求被屏蔽中断模式寄存器INTMOD:0-25位每一位对应一个中断源 为表示对应的中断源请求为FIQ模式,为0表示IRQ模式与优先级有关的寄存器(见下页),4.6 中断控制器,4.6.3 中断优先级判断S3C44BOX的优先级产生模块示意图:,一个主优先级生成单元mGn和个从优先级生成单元sGn每个从单元管理6个中断源(4个可编程优先级中断源和两个固定优先级中断源)从单元通过IRQ从群优先级寄存器L_PSLV设置4个中断源的优先级主单元管理4个从单元(可编程优先级)和RTC、ADC两个固定优先级中断源主单元通过IRQ主群优先级寄存器L_PMST设置4个从单元的优先级、RTC、ADC两个中断源的优先级比从单元低,比较两个中断源的优先级高低的原则:中断请求类型,FIQ高于IRQ中断源所在从单元的优先级若处于相同的从单元,则根据L_PSLV比较优先级的高低,4.6 中断控制器,4.6.4 外部中断的附加说明外部中断控制寄存器EXTINT:PortG可以配置为外部中断EINT0-7,EXTINT为外部中断设置信号触发方法(低/高电平、上/下降沿、双沿触发等),4.6 中断控制器,4.6.5 应用实例4.5中定时器中断例子,4.6 中断控制器,4.6.5 应用实例4.2中UART中断例子设置接收错误、接收数据就绪、发送保持寄存器空(发送数据就绪)三种中断,4.6.5 应用实例外部中断初始化例子,开全局中断,不屏蔽,4.7DMA控制器,DMA(直接内存访问),是一种快速传送数据机制,数据可以直接从I/O设备到内存,从内存到I/O设备,从一段内存到另一段内存CPU只需要初始化DMA控制器,不参与数据传输DMA控制器与需要DMA服务的从设备之间的关系,如下图:,4.7 DMA控制器,4.7DMA控制器,DMA,CPU以及总线之间的并行关系,数据传送过程中,DMA控制器完全接管对总线的控制权,4.7DMA控制器,以S3CC4BOX的DMA控制器为例4.7.1 S3CC4BOX简要说明具有4通道的DMA控制器两个DMA通道ZDMA,连接在高速总线AHB(SSB)上:内存高速I/O设备,内存内存两个DMA通道BDMA,连接在高速总线AHB(SSB)和低速总线APB(SPB)之间的接口层上(与桥并列)内存低速I/O设备4.7.2 BDMA的寄存器BDCON0 BDMA0控制寄存器BDISRC0 BDMA0初始源地址寄存器BDIDES0 BDMA0初始目标地址寄存器BDICNT0 BDMA0初始计数寄存器BDCSRC0 BDMA0当前源地址寄存器BDCDES0 BDMA0当前目标地址寄存器BDCCNT0 BDMA0当前计数寄存器,4.7DMA控制器,4.7.3 BDMA的结构,BDMA模式下,共5个硬件DMA请求源:UART0,UART1,SIO,定时器,I2S这些请求源通过设置BDCON0/1寄存器的QSC字段来选择BDMA可以通过软件启动DMA服务,4.7.4 BDMA自动重装模式在自动重装模式下,每当DMA计数器的值减少为0时,当前寄存器的值将从初始寄存器重新加载。由于初始寄存器保存了DAM配置参数,自动重装可以恢复DMA操作的初始设定种条件下初始寄存器的值自动加载到当前寄存器当前计数寄存器中的自动重装位AR为且DMA传输计数到0向初始寄存器写入新值且DMA未激活时向当前计数寄存器中的使能位写1(启动DMA操作)向控制寄存器BDCONn中的字段CMD写入11时(取消DMA操作命令),4.7DMA控制器,4.7.4 应用实例 4.2中UART的DMA通信方式例子,4.7DMA控制器,启动DMA操作,4.8 A/D和D/A转换器,4.8 A/D和D/A转换器以S3CC4BOX的A/D转换器(ADC)为例4.8.1内部结构控制寄存器(ADCCON):ADC当前状态(只读);正常/休眠模式选择;通道(输入源)选择;读启动/使能位启动选择;数据寄存器(ADCDAT):保存AD转换后的数据预置比例因子寄存器(ADCPSR)比例因子PRESCALER决定了转换时间的长短,即ADC转换总时钟数=2*(PRESCALER+1)*16,图4.41 S3C33B0X中A/D转换器的逻辑图,中断请求,4.8.2基本操作1.逐次逼近式A/D转换原理初始时,ADCDAT寄存器的各位被清零;转换时,最高位置1,送入DAC;经D/A转换后得到模拟量Vs送入比较器COMP中与输入模拟量Vi比较,若ViVs则该位1保留,否则清除依次处理每一位,直到最低位2.休眠模式 转换时钟不起作用,A/D转换操作暂停,图4.42 逐次逼近A/D转换器的工作原理,4.8 A/D和D/A转换器,4.8.3应用实例功能:将触摸屏的x和y坐标进行AD转换,并读取出来基本工作流程:设置A/D转换器数据寄存器和控制寄存器的值根据控制寄存器的设置,选择AIN1或AIN0作为输入源循环进行数据采样取平均值,4.8 A/D和D/A转换器,4.9其他接口,I2S(InterIC Sound)总线接口飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,采用了沿独立导线传输时钟与数据信号的设计,数据和时钟信号分离I2S总线是由3根串行导线组成串行时钟SCLK,也叫位时钟(BCLK),对应数字音频的每一位数据帧时钟LRCK,(也称WS),用于切换左右声道的数据。LRCK为“1”表示正在传输的是右声道的数据,为“0”则表示正在传输的是左声道的数据串行数据SDATA,就是用二进制补码表示的音频数据,4.9其他接口,PWM控制器PWM(Pulse Width Modulation)即脉冲宽度调制控制器,可以产生不同占空比的脉冲信号 输出脉冲信号的频率和占空比均可通过相应的寄存器来控制,

    注意事项

    本文(第4章嵌入式系统的IO模块ppt课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开