嵌入式系统原理与实践-第06章 系统外设 2018
嵌入式系统原理与实践-第08章 通信外设
2019/6/7
12
UART
RS232简介--常用DB9引脚说明
9芯
信号方向来 缩写
描述
自
1
调制解调器 CD
载波检测
2
调制解调器 RXD
接收数据
3
PC
TXD
发送数据
4
PC
DTR
数据终端准
备好
5
GND
信号地
6
调制解调器 DSR
2019/6/7
6
UART
Universal Asynchronous Receiver and Transmitter
异步通信收发器
2019/6/7
7
UART
应用
串口是嵌入式系统与外界联系的重要手段,主要用于以 下两个方面:
UART直接和其他的控制器进行数据交换 UART和PC机通信:由于PC机串口是RS232电平,所以
2019/6/7
10
UART
RS232简介
RS232的全名是“数据终端设备(DTE)和数据通讯 设备(DCE)之间串行二进制数据交换接口技术标准”。 该标准规定采用一个25个脚的 DB25连接器,对连接器的 每个引脚的信号内容加以规定,还对各种信 号的电平加 以规定。
接口的信号内容 实际上RS-232-C的25条引线中有许 多是很少使用的,在计算机与终端通讯中一般只使用3-9 条引线。
1位 一般可选为1位或2位
8位数据、无校验、一位停止位的工作示例图
2019/6/7
15
UART
使用UART通信
使用UART通信需要两个引脚(将在下面的示例中用 到),如下表:
嵌入式系统的外围设备PPT演示文稿
8.2 存储设备
1.RAM (Random Access Memory)
内部结构:4×4 RAM
每个内存单元存储一个位(Bit)的数据 使能线+地址线 +rd/wr线控制
图4-2 RAM内部结构
8.2 存储设备
特点
可读可写,读取和写入一样快速 上电数据保存,掉电数据丢失
EPROM又可被重新规划
图8-10 EPROM的外观
图8-9 EPROM结构与工作原理
8.2 存储设备
特点
一种只读存储器 电可编程 紫外线擦除 适合少量生产或是产品开发调试实验
8.2 Electrically Erasable Programmable Read-Only Memory )
针对每个存储单元进行擦除操作 擦除次数达到一万次以上
EEPROM的使用比EPROM更普遍
8.2 存储设备
(3) Flash Memory (闪存)
内部结构
是EEPROM 的延伸产品,也采用浮动栅极 原理 但其浮动栅极与通道间的距离较短
8.2 存储设备
特点
数据写入速度快(因为浮动栅极与通 道间的距离比较短),故得名“闪存”
8.3.1 小型键盘
工作原理
键盘控制器 扫描按键输入(逐行输出,逐列检测)
译码 去抖 按键值存放在寄存器中 嵌入式处理器: Polling或Key管脚Interrupt方式检测
CS 管脚使能 从DIO管脚依次读取
8.3.2 触摸屏
功能
在液晶屏上叠加一片触摸屏,用触控 笔或手指头直接点选按键或输入文字 轻薄短小,便于携带,使用方便
图(b):电可编程
栅极正电压使电子经 绝缘体层到达栅极
嵌入式控制系统原理及设计课件6-1 嵌入式操作系统概述
嵌入式控制系统原理及设计
6.1.1 嵌入式实时操作系统的概念
【任务调度】
• 任务调度是嵌入式实时操作系统的一项主要功能,一般总是让处于就绪队列中,优先级 最高的任务先执行。
• 任务调度伴随着任务的上下文切换,消耗一部分资源。
上下文切换
上下文切换
上下文切换
OS
OS
OS
OS
任务A
任务B 时间
任务C
嵌入式控制系统原理及设计
嵌入式控制系统原理及设计
6.1.1 嵌入式实时操作系统的概念
(6)优先级翻转 • 优先级天花板是当任务申请某资源时,把该任务的优先级提升到可访问这
个资源的所有任务中的最高优先级,这个优先级称为该资源的优先级天花 板。这种方法简单易行,不必进行复杂的判断,不管任务是否阻塞了高优 先级任务的运行,只要任务访问共享资源都会提升任务的优先级。
• 分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以 时间片为单位,轮流为每个终端用户服务。
6.1.3 操作系统的分类
6.1.3 操作系统的分类
嵌入式控制系统原理及设计
(1)批处理操作系统 • 批处理操作系统的工作方式是:用户将作业交给系统操作员,系统操作员
将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一 个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每 个作业。最后由操作员将作业结果交给用户。
)
嵌入式控制系统原理及设计
6.1.2 应用程序在操作系统上的执行过程
• 执行过程说明如下:
① 用户通过输入指令,告诉操作系统执行程序; ② 操作系统找到该程序,检查其类型; ③ 检查程序首部,找到正文和数据的地址; ④ 文件系统找到第一个磁盘块; ⑤ 父进程需要创建一个新的子进程,执行程序; ⑥ 操作系统需要将执行文件映射到进程结构;
嵌入式系统刘彦文第6章
‘‘
第六章 时钟与电源管理、DMA与总线优先权
‘‘
• FCLK在S3C2410A内核供电电源为 2.0V时,最高频率为266MHz • 内核供电电源为1.8V时,最高频率为 200MHz
‘‘
第六章 时钟与电源管理、DMA与总线优先权
‘‘
电源管理模块具有: • NORMAL(正常模式) • SLOW(慢速模式) • IDLE(空闲模式) • Power_OFF(掉电模式) 4种有效模式
fclk频率第六章时钟与电源管理dma与总线优先权624时钟控制逻辑第六章时钟与电源管理dma与总线优先权时钟控制逻辑的功能例如是使用mpll的时钟mpll还是直接使用外部时钟xtipll或extclk第六章时钟与电源管理dma与总线优先权时钟控制逻辑的功能另外当mpll被设置一个新的频率值时时钟控制逻辑依据锁定时间计数寄存器locktime中设定的锁定时间参数自动插入锁定时间第六章时钟与电源管理dma与总线优先权时钟控制逻辑的功能在锁定时间fclk不输出时钟脉冲维持低电平直到锁定时间结束以新的频率输出的信号稳定后才输出fclk在加电reset和从poweroff模式中唤醒时时钟控制逻辑也使用锁定时间参数自动插入锁定时间第六章时钟与电源管理dma与总线优先权加电reset参见图61加电reset后由于mpllupll还不稳定在软件将一个新的设置值写到mpllcon寄存器以前fin被送到时钟控制逻辑代替mpll直接作为fclk第六章时钟与电源管理dma与总线优先权加电reset因此即使用户在加电reset后不需要改变保留在mpllconupllcon寄存器中的缺省值也应该通过软件写相同的值到mpllconupllcon寄存器第六章时钟与电源管理dma与总线优先权加电reset之后经过自动插入锁定时间mpll的输出mpll而不是fin经过时钟控制逻辑输出作为fclk第六章时钟与电源管理dma与总线优先权加电resetfclk的频率与加电reset后通过软件写到mpllcon寄存器的设置值相对应同样upll的输出频率也与加电reset后通过软件写到upllcon寄存器的设置值相对应第六章时钟与电源管理dma与总线优先权在normal模式改变mpllconupllcon中的设置值s3c2410a允许在normal模式由运行的程序改变第六章时钟与电源管理dma与总线优先权在normal模式改变mpllconupllcon中的设置值改变之后经过锁定时间输出时钟的频率被改变新的频率值与新写入mpllconupllcon中的mdivpdiv和sdiv参数值对应见图63第六章时钟与电源管理dma与总线优先权usb时钟控制usb主接口和设备接口需要48mhz的时钟s3c2410a中upll能够产生48mhz的时钟在upllcon寄存器中相应的参数被设置后upll产生的48mhz的时钟作为uclk第六章时钟与电源管理dma与总线优先权
嵌入式系统原理与应用课后答案
嵌入式系统原理与应用课后答案1. 第一章答案:a. 嵌入式系统是嵌入到其他系统中的小型电子系统,一般具有特定的功能和任务。
它以硬件和软件的结合形式存在。
b. 嵌入式系统具有实时性、可靠性和可扩展性的要求,并且一般运行在资源受限的环境中。
c. 嵌入式系统可分为实时嵌入式系统和嵌入式控制系统两种类型。
d. 实时嵌入式系统需要按照严格的时间要求完成任务,可以分为硬实时和软实时系统。
2. 第二章答案:a. 嵌入式系统的硬件平台由微处理器、存储器、总线、输入输出设备等组成。
b. 嵌入式系统的硬件平台性能指标包括:处理器的主频、存储器的容量和带宽、总线的带宽和响应时间、输入输出设备的性能等。
c. 嵌入式系统的软件平台由操作系统、应用软件和驱动程序等组成。
d. 实时操作系统是嵌入式系统的核心软件,它可以提供任务调度、资源管理、中断处理等功能。
3. 第三章答案:a. 嵌入式系统的开发流程包括需求分析、系统设计、硬件设计、软件设计、系统集成和测试等阶段。
b. 嵌入式系统开发中常用的设计工具包括仿真工具、编译工具、调试工具和测试工具等。
c. 嵌入式系统的设计方法可以分为自顶向下设计和自底向上设计两种。
d. 自顶向下设计是先定义系统的整体结构,再逐步详细设计每个组件的功能和接口。
e. 自底向上设计是先设计每个组件的功能和接口,再逐步将它们组合起来形成系统。
4. 第四章答案:a. 嵌入式系统的程序设计语言可以分为汇编语言、高级语言和特定领域语言三种。
b. 汇编语言是一种低级语言,使用机器指令来编写程序,可以直接控制硬件。
c. 高级语言是一种抽象层次较高的语言,使用类似自然语言的语法来编写程序,更易理解和维护。
d. 嵌入式系统常用的高级语言包括C语言和C++语言。
e. 特定领域语言是一种专门为某种特定应用领域设计的语言,具有特定领域的特性和功能。
5. 第五章答案:a. 嵌入式系统的编程模型可以分为裸机编程和操作系统编程两种。
嵌入式系统设计的原理与实践
嵌入式系统设计的原理与实践随着科技的不断进步和人们对智能化的追求,嵌入式系统在现代社会中越来越普遍。
嵌入式系统指的是嵌入到其他设备中以完成特定功能的计算机系统,它具有体积小、成本低、功耗低等优点,市场需求也越来越大。
嵌入式系统的设计离不开硬件和软件两个方面的技术支持,这篇文章将从原理与实践两个层面进行讲解。
原理部分1. 嵌入式系统设计的基本构成嵌入式系统的基本构成由主控芯片、存储器、输入输出接口和其他外围电路部分组成。
主控芯片是整个系统最重要的组成部分,它的主要任务是处理外部输入的数据,完成一定的计算或控制操作,并将其结果输出到外部。
存储器由 ROM、RAM、Flash 等构成,它们存储了系统自带的固件、数据以及程序运行时所需的变量等。
输入输出接口就是将外部的人机交互接口、各种传感器或输出设备等与主控芯片连接起来,实现数据的输入输出以及外设的控制等功能。
其他外围电路则是根据设计需求加以扩展。
2. 嵌入式系统的设计原则在设计嵌入式系统时,需遵循以下原则:(1)系统可靠性嵌入式系统一般是用于工业控制、医疗、交通、军事等重要场合,其工作环境恶劣,因此系统的可靠性是非常重要的。
这意味着在设计中要注意各种可能的故障情况,并考虑相应的应对措施,如电源掉电、电磁干扰、线路故障以及软件出错等。
(2)效率和性能现代嵌入式系统不仅要求实现各种功能,还要保证效率和性能,包括系统的运行速度、占用内存、能耗等方面。
这要求设计时需要充分考虑硬件与软件协同优化,选择合适的处理器、存储器和各种输入输出接口,同时采用流畅高效的算法和程序进行开发。
(3)灵活性和可扩展性嵌入式系统的设计需要考虑系统的灵活性和可扩展性,包括对不同的传感器、输入输出设备、通信接口等的兼容性,以及可能需要新增的功能。
(4)成本控制由于嵌入式系统配备较简单,较小的存储容量和比较低的计算能力,它的成本比一般电脑甚至智能手机低得多。
但与此同时,设计者需要系统地审慎选择单个部件和总体的设计方案以保持总体成本在可接受的范围内。
《嵌入式原理系统》课件
模块间应保持松耦合、高内聚,模块接口应清晰、规范。
模块化设计方法
可以采用自顶向下的设计和分层设计等方法进行模块化设计。
嵌入式软件的测试与优化
测试方法
单元测试、集成测试和系统测试是常用的嵌入式软件 测试方法。
优化方法
代码优化、算法优化和系统优化是常用的嵌入式软件 优化方法。
性能评估
通过性能评估可以衡量嵌入式软件的性能指标,如响 应时间、功耗和可靠性等。
嵌入式传感器与执行器接口
分析嵌入式传感器与执行器的接口标准,如ADC、DAC等。
嵌入式传感器与执行器应用
介绍嵌入式传感器与执行器在实际应用中的实现方式,如温度检测、 压力控制等。
03
嵌入式操作系统原理
嵌入式操作系统的特点与分类
总结词:概述
可裁剪性:根据实际应用需求,嵌入式操作系统可以进 行定制和裁剪,以减小体积和资源占用。
嵌入式总线与接口协议
分析嵌入式总线与接口的协议标准,如RS-232、I2C、SPI等。
嵌入式总线与接口应用
介绍嵌入式总线与接口在实际应用中的实现方式,如串口通信、I/O控制等。
嵌入式传感器与执行器
嵌入式传感器与执行器概述
介绍嵌入式传感器与执行器的定义、分类、特点等。
常见嵌入式传感器与执行器
列举温度传感器、压力传感器、光敏传感器等常见嵌入式传感器与执 行器,并简要介绍其特点和应用领域。
嵌入式系统的发展趋势
低功耗设计
随着物联网和智能终端的普及,嵌入 式系统的功耗越来越受到关注,低功 耗设计成为发展趋势。
人工智能
人工智能技术的不断发展,嵌入式系 统将更加智能化,能够实现更高级别 的自动化和智能化控制。
云计算
嵌入式系统的外围设备PPT文档共85页
36、自己的鞋子,自己知道紧在哪里。——西班牙
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
39、勿问成功的秘诀为何,且尽全力做你应该做的事吧。——美华纳
40、学而不思则罔,思而不学则殆。——孔子
嵌入式统的外围设备
36、“不可能”这个字(法语是一个字 ),只 在愚人 的字典 中找得 到。--拿 破仑。 37、不要生气要争气,不要看破要突 破,不 要嫉妒 要欣赏 ,不要 托延要 积极, 不要心 动要行 动。 38、勤奋,机会,乐观是成功的三要 素。(注 意:传 统观念 认为勤 奋和机 会是成 功的要 素,但 是经过 统计学 和成功 人士的 分析得 出,乐 观是成 功的第 三要素 。
39、没有不老的誓言,没有不变的承 诺,踏 上旅途 ,义无 反顾。 40、对时间的价值没有没有深切认识 的人, 决不会 坚韧勤 勉。
谢谢!
嵌入式系统导论课件 Lecture6 嵌入式系统的外围设备和IO接口
8
外围设备
电容式触摸屏特点
对大多数的环境污染物有抵抗力
人体成为回路的一部分,因而漂移现象比较严重
人体戴手套式不起作用 需经常校正
不适用于金属机柜
外界存在电感和磁感的时候,触摸屏失灵
9
外围设备
电阻式触摸屏工作原理
触摸屏拥有两层透明导电 薄膜,膜间保持一定距离, 上层可伸缩 上层膜受外力是压时,上 层膜会触碰下层膜,形成上 下电极导通 利用二维空间的电压计测 量不同位置的电位差,进而 计算(X,Y)值
输入设备
输出设备
扩充设备——储存卡扩展 电源系统
电源管理设备和电池系统
2
外围设备
小型键盘是一种常见的嵌入式系统输入设备 结构:矩阵键盘
16个按键接至4条行输出XO~X3和4条列输入YO~Y3上 节省I/O端口资源
3
外围设备
工作原理
按键按下时某一行与某一列的输入电路之间形成回路
PCMCIA—会员超过300 CF--SanDisk SD--Panasonic MS--Sony
23
外围设备
便携式嵌入式系统的电源
智能型电源管理设备
低电压——5V\3.3V 检测系统需要用电的时间,自动根据需求开关电 源
通过电池系统管理总线(System Management Bus) 和系统进行连通 自动监测电池的剩余电量 根据电量提醒用户需要进行的处理
32
常见I/O接口类型
Can传输数据时有两种模式
显示模式:总线上没有任何数据传输,连接在 总线上的任何一个节点都可以发送数据 隐性模式:当有益节点传输数据时,总线就处 于隐性模式 数据发送以包的形式发送
嵌入式系统原理与实践
嵌入式系统原理与实践嵌入式系统是指用于完成特定功能的计算机系统,它通常是针对特定任务或应用领域进行设计的。
嵌入式系统集成度高、稳定性强、资源消耗低、功耗小,并且可靠性要求高。
凭借着这些特点,嵌入式系统在电子、通信、交通、医疗、军事等各个领域中得到了广泛的应用。
嵌入式系统涉及到的领域十分广泛,包括系统设计、控制理论、信息处理、电路设计等多个方面。
下面将对嵌入式系统的原理和实践进行详细阐述。
一、嵌入式系统的核心原理1.硬件设计嵌入式系统的硬件部分包括主板、处理器、存储器、电源、外围器件等。
在硬件设计方面,需要从电路原理、电子元件、模拟电路、数字电路、信号处理等角度进行考虑。
对于嵌入式系统而言,电路设计方案的优劣直接影响到系统的性能和稳定性。
2.软件设计与传统计算机系统不同,嵌入式系统的软件部分需要考虑对外接口的适配性、资源消耗度、数据传输速率等特殊因素。
在这个过程中,需要考虑嵌入式系统的实际应用场景,结合开发平台选择适当的软件开发工具,通过编写驱动程序、应用程序、芯片芯片配置文件、外设接口等来完成系统的软件设计。
二、嵌入式系统的实际应用1.智能家居嵌入式系统对于智能家居领域的应用非常广泛。
嵌入式系统作为智能家居的核心控制部分,它能够掌控整个家居的电器设备,实现智能控制,增强家居的智能化和舒适度。
2.汽车领域现代汽车中,嵌入式系统的应用越来越广泛。
从传统的发动机控制系统到车载娱乐系统,嵌入式系统在汽车的智能化升级上发挥着重要作用。
3.航空领域嵌入式系统在航空系统中的应用也非常广泛。
它不仅能够帮助飞行员完成飞机的导航,还可以对飞机进行监控、安全测量、辅助设备控制等。
三、嵌入式系统的未来发展嵌入式系统的未来发展,将会进一步推动它在各个领域的应用和发挥作用。
传感技术、互联网技术的飞速发展,将为嵌入式系统带来广阔的发展前景。
嵌入式系统不仅需要具备高度的可靠性和稳定性,还需要能够具备高效的处理和传输数据的能力,才能适应未来信息化的发展趋势。
嵌入式系统常用外设驱动编程实例
引脚连接模块存放器映射
引脚功能选择存放器0(PINSEL0)
PINSEL0存放器控制端口0低半局部的位功能。仅当引脚 选择使用GPIO功能时,FIO0DIR存放器中的方向控制位才有 效。
引脚功能选择存放器1(PINSEL1)
PINSEL1存放器控制端口0高半局部的位功能。仅当引脚 选择使用GPIO功能时,FIO0DIR存放器中的方向控制位才有 效。LPC1768的引脚功能选择存放器1的位功能描述如表3-7 所列。
FIOPIN
高 速 GPIO端口引脚状态寄 存器。该寄存器真实反映 R/W 0 数字端口引脚的当前状态
FIO0PIN:0x2009C014 FIO1PIN:0x2009C034 FIO2PIN:0x2009C054 FIO3PIN:0x2009C074 FIO4PIN:0x2009C094
FIOSET
引脚功能选择存放器2(PINSEL2)
PINSEL2存放器控制端口1低半局部的位功能,包含以太 网相关功能引脚。仅当引脚选择使用GPIO功能时,FIO1DIR 存放器中的方向控制位才有效。
引脚功能选择存放器3(PINSEL3)
PINSEL3存放器控制端口1高半局部的位功能。仅当引脚
引脚连接模块存放器映射
2.键盘初始化函数 键盘初始化函数主要针对键盘所用的端口属性进展初始化。在键盘工作
之前,根据行列键盘电路设计原理将P1.24~P1.26配置为输出,P1.27~ P1.29配置为输入。如果采用了中断,还要初始化中断存放器。 void KeyInit () //该函数对键盘使用的端口进展初始化 {
//配置为输入;其中1为输出。 rFIO1CLR3| =0x07; //设置P1.24~P1.26输出为0。 }
嵌入式系统设计原理与实践
嵌入式系统设计原理与实践嵌入式系统是指嵌入到其他设备或系统中的特定计算机系统。
它的应用非常广泛,从智能手机到家电、运输、医疗设备等等都有嵌入式系统的身影。
嵌入式系统支撑着现代社会的许多领域,离我们的生活越来越近。
嵌入式系统的设计过程与普通计算机系统有很大的差别,必须充分考虑硬件和软件之间的协同设计。
嵌入式系统的硬件设计是从系统的功能需求出发,确定硬件接口和电路设计,而软件设计则是与硬件密不可分的。
嵌入式系统设计的第一步是确定系统功能需求和规格。
然后设计硬件电路,包括选择适合的处理器和其他硬件组件,并且确定它们之间的接口。
硬件设计的过程非常复杂,需要多种专业技能,包括电路设计、印制板设计和封装设计等。
在硬件设计完成后,就可以开始程序设计。
与传统计算机系统不同,嵌入式系统的程序通常是裸机编程,即直接在汇编语言或机器语言中编写程序。
这是因为在嵌入式系统中内存资源和处理器速度通常比较有限,需要尽可能地利用它们。
另外,裸机编程可以减少软件大小和性能开销,从而提高系统运行速度和功耗效率。
对于初学者来说,裸机编程需要一定的技术积累和经验,因此可以先使用支持高级语言编程的开发板进行实践。
嵌入式系统的程序设计涉及到处理器的低级别编程,需要将处理器的硬件特性和寄存器配置等信息考虑在内。
在确定系统硬件和软件设计之后,需要进行集成和测试。
这个过程包括验证软件的正确性、系统的稳定性、接口兼容性和功能完备性。
在测试过程中还需要注意代码的容错性和兼容性,确保系统不会因为不合理的用户输入或特定条件下的运行而崩溃。
一些嵌入式系统设计的实践案例包括智能家居、医疗设备、智能交通系统、电力系统等等。
嵌入式系统的应用非常广泛,具有良好的灵活性和可靠性。
对于从事嵌入式系统设计的工程师来说,需要掌握多种技术和工具,包括底层硬件和软件编程的技能,熟悉操作系统和应用软件的设计方法。
总之,嵌入式系统对于现代社会而言不可或缺,其应用范围广泛,包括工业、医疗、家居、汽车等多个行业。
嵌入式系统原理与实践-第07章 模拟外设 2018
2019/6/7
17
ADC
ADC的类型——并行比较型
并行比较型ADC的优缺点:
优点:模/数转换速度最高;
缺点:分辨率不高,功耗大,成本高。随着分辨率的提 高,需要高密度的模拟设计以实现转换所必需的数量很 大的精密分压电阻和比较器电路。输出数字增加一位, 精密电阻数量就要增加一倍,比较器也近似增加一倍。
2019/6/7
33
ADC
操作实例
//这里开始配置ADC MAP_ADC14_enableModule(); //时钟配置 MAP_ADC14_initModule(ADC_CLOCKSOURCE_MCLK,ADC_PREDIVIDER_ 1,ADC_ DIVIDER_4,0); // GPIO 配置,将P5.5 配置为ADC 输入 MAP_GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P5,GPI O_PIN5, GPIO_TERTIARY_MODULE_FUNCTION); //配置ADC 存储器、通道、采样方式 MAP_ADC14_configureSingleSampleMode(ADC_MEM0,true); MAP_ADC14_configureConversionMemory(ADC_MEM0, ADC_VREFPOS_AVCC_VREFNEG_VSS,ADC_INPUT_A0,false);
执行部件
(模拟量控制)
D/A
ADC和DAC是沟通模拟电路和数字电 路的桥梁,也可称之为两者之间的接口.
2019/6/7
能够将数字量转换为 模拟量的器件称为数 模转换器,简称D/A转
换器或DAC。
3
ADC
基本过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/6/7
华东师范大学计算机系
1
基本模块
GPIO 通用定时器/计数器 PWM WDT RTC
2019/6/7
2
基本模块
GPIO 通用定时器/计数器 PWM WDT RTC
2019/6/7
3
外设模块——GPIO
GPIO
GPIO(General Purpose I/O),通用输入输出端口。
2019/6/7
15
外设模块——GPIO
MSP432中的GPIO
2019/6/7
16
外设模块——GPIO
初始化配置
GPIO工作方向——输入、输出 GPIO模式——推拉、开漏、上下拉等 GPIO复用 GPIO中断
2019/6/7
17
外设模块——GPIO
操作实例
程序功能:使用按键控制LED 灯的亮灭
2019/6/7
21
Timer/Counter
基本结构
只写,载入计数器 的初始计数值
只写,多数为减法计数器。设 定初值后,减法计数,减到0溢
出,产生溢出或中断信号
只写,设置定时器/计数 器的工作方式、控制其
工作
由控制寄存器控制 其工作
只读,记录计数器当 前的计数值
2019/6/7
只读,存放计数器的 工作状态
int main(void)//主程序
{
MAP_WDT_A_holdTimer(); //关闭看门狗
MAP_GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);//将P1.0配置为输出
MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1,GPIO_PIN1);//P1.1配置为输入
MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1,GPIO_PIN0); //翻转LED 状态 } }
2019/6/7
19
基本模块
GPIO 通用定时器/计数器 PWM WDT RTC
2019/6/7
20
Timer/Counter
应用
定时器模块是应用系统中经常用到的重要部分,可以用在如下 方面: 嵌入式操作系统的任务调度 嵌入式操作的系统的软件时钟需要基于硬件定时器产生定时信号 通信电路的波特率发生器 实时时钟电路 一些智能芯片如DMA控制器等 具有液晶控制器的嵌入式处理器用于液晶的刷新 处理器监控电路如看门狗等 A/D和D/A转换等 集成的动态存储器控制器用于动态存储器的刷新
22
Timer/Counter
工作模式
单次计数模式:计数器计数到0 就产生中断并停止计数
循环计数模式:每次计数器计数到0 便产生一次中断,随后重 新载入初始值计数器的值,继续计数
2019/6/7
23
Timer/Counter
特性
有些定时器还具有以下特性: 输入捕获; 输出比较; 脉宽调制模式PWM(Pulse width modulation mode);
I/O端口配置
输入禁用的推拉输出:
• PINCFGy. PULLEN位置为0——禁用内部上(下)拉电阻 • PINCFGy. INEN位置为0——禁用I/O引脚的内部缓存 • DIR的第y位置为1——将I/O引脚设置为输出
2019/6/7
13
外设模块——GPIO
I/O端口配置
上(下)拉输出:
应用
GPIO基本都是用于芯片与片外器件或设备的交互
检测数字输入,如键盘或开关信号; 驱动LED,蜂鸣器或LCD等其他指示器; 控制片外器件,较高级的使用可以用它们(通过 程序)模拟很多器件的时序达到控制相应器件的 目的,比如模拟SPI和模拟总线等。
2019/6/7
4
外设模块——GPIO
特性
• 单次定时器模式:指计数器只产生一次中断,即计数器计数至 0 时,定时器挂起,直到用户对其进行重新编程
2019/6/7
27
Timer/Counter
MSP432中的定时器——TimerA
4个TimerA模块 每个 TimerA模块有7个捕获/比较寄存器 支持中断 时钟源——ACLK、SMCLK 、TAxCLK 、INCLK 四种计数模式——连续计数模式、增计数模式、增减计数
MAP_SysCtl_enableSRAMBankRetention(SYSCTL_SRAM_BANK1);
MAP_Interrupt_enableMaster();
while(1)
{
MAP_PCM_gotoLPM3();//进入LPM3模式,等待中断
}
}
2019/6/7
18
外设模块——GPIO
操作实例
• PINCFGy. PULLEN位置为1——使能内部上(下)拉电阻 • PINCFGy. INEN位置为0——禁用I/O引脚的内部缓存 • DIR的第y位置为0——将I/O引脚设置为输入
2019/6/7
14
外设模块——GPIO
I/O端口配置
复位或模拟I/O:
• PINCFGy.PULLEN位置为0——禁用内部上(下)拉电阻 • PINCFGy.INEN位置为0——禁用I/O引脚的内部缓存 • DIR的第y位置为0——将I/O引脚设置为输入
此时,如果将PA0配置为输出,且输出为‘1’,那么就 容易造成短路,将PA0烧坏。
2019/6/7
6
外设模块——GPIO
寄存器概述
GPIO口都是按组规划,有的芯片是8个GPIO口一 组,有的是16个或32个为一组。一般每个GPIO口都需 要做两个寄存器位:一是选择口线方向(输入输出)二 是需要一个数据位(用于设置输出数据和读取输入数 据)。所以一组GPIO口至少会有两个寄存器 GPIOxDIR和GPIOxDATA。
不确定0 状态。1 0
X
输入
0 引脚的1 配置1与相应寄0 存器下拉设输入置间的关系如下:
0
1
1
1
上拉输入
1
0
X
X
输出;输入禁用
1
1
X
X
输出;输入使能
2019/6/7
10
外设模块——GPIO
I/O端口配置
标准输入:
• PINCFGy.PULLEN位置为0——禁用内部上(下)拉电阻 • PINCFGy.INEN位置为1——使能I/O引脚的内部缓存 • DIR的第y位置为0——将I/O引脚设置为输入
2019/6/7
33
Timer/Counter
操作实例
程序功能:控制LED 灯定时闪烁,时间周期为1 秒。 int main(void) { MAP_WDT_A_holdTimer(); //设置时钟 MAP_CS_setReferenceOscillatorFrequency(CS_REFO_128KHZ); MAP_CS_initClockSignal(CS_MCLK,CS_REFOCLK_SELECT,CS_CLOCK_DIVIDER_1); MAP_PCM_setPowerState(PCM_AM_LF_VCORE0); //设置 GPIO,将P1.0 设为输出引脚,P1.1 设为输入引脚,并使能中断 MAP_GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0); MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P1,GPIO_PIN0); MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1,GPIO_PIN1); MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1,GPIO_PIN1); MAP_GPIO_enableInterrupt(GPIO_PORT_P1,GPIO_PIN1);
输入缓冲
8
外设模块——GPIO
寄存器概述
注: 数据输入寄存器和数据输出寄存器合用一个地址,
但实际为两个物理地址。
例:Sbuf = 5;//Sbuf 为输出寄存器 i = Sbuf; // Sbuf 为输入寄存器
此时 i = 5 ?
2019/6/7
9
外设模块——GPIO
I/O端口配置
I/O端口寄存器中的PINCFGy寄存器、DIR寄存器以
MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1,GPIO_PIN1);//清除中断标志
MAP_GPIO_enableInterrupt(GPIO_PORT_P1,GPIO_PIN1);//使能按键中断
MAP_Interrupt_enableInterrupt(INT_PORT1);//使能端口中断
模式、停止
2019/6/7
28
Timer/Counter
MSP432中的定时器——TimerA
2019/6/7
29
Timer/Counter
MSP432中的定时器——TimerA
连续计数模式
中断
中断
中断
2019/6/7
30
Timer/Counter
Hale Waihona Puke MSP432中的定时器——TimerA
25
Timer/Counter
功能-输出比较
当定时器中的值与输出比较(匹配)寄存器中的值 相等时,可以在输出管脚输出指定的信号。如果用户开 启中断,那么也产生一个中断。
2019/6/7
信号输出 匹配控制寄存器
Tx定时器 =
匹配寄存器
当定时器值等于预设 的匹配值时,从引脚 输出特定的信号