1、.单片机在控制系统中的应用o电子信息系统的一般结构o单片机硬件知识要点o单片机软件设计要点.2电子信息系统的一般结构.1、设计意义和应用领域(自动化和过程控制)Automation & Process Control (可再生能源)Alternative Energy电子信息系统的意义: 直接或间接地改善人们的生活质量、提高劳动效率.(汽车和交通) Automotive& Transportation (通信和电信) Communications & Telecom (计算和多媒体) Computing & Multimedia.(消费品和手持电器) Consumer & Portable E
2、lectronics (工业)Industrial (照明)Lighting (医疗和健康) Medical & Healthcare.(电机拖动和控制)Motor Drive & Control(安防)Security & Safety (智能电网) Smart Grid. (航天航空和国防)Space, Avionics &Defense (视频和视觉)Video & Vision.2、电子信息系统发展趋势是什么? (电子信息系统设计的努力方向)o数字化o智能化o网络化o阵列化.电子信息系统之电路的数字化o 数字信号是加工信号。世界在信息化, 信息在数字化.数字化使信号在形式上更接近数学模
3、型,也便于计算、变换、控制、传输、存储的实现。o数字电路容易生产摩尔定律,其内容为:当价格不变时,积体电积体电路路上可容纳的电晶体数目,约每隔24个月(现在普遍流行的说法是“每18个月增加一倍”)便会增加一倍,性能也将提升一倍;或者说,每一美元所能买到的电脑性能,将每隔18个月翻两倍以上。1这一定律揭示了信息技术进步的速度。 .o 数字信号处理电路简单稳定。 o 处理效率高. 它没有模拟电路里的各种调整,因而电路工作稳定、技术人员能够从日常的调整工作中解放出来。 数字信号易于进行压缩,易于编码. 这一点对于数字化摄像机和数字化通信来说,是主要的优点电子信息系统之电路的数字化世界在信息化, 信息
4、在数字化.o 数字信号是加工信号.o 数字电路容易生产。.电子信息系统之功能的智能化自动控制能力 参数自适应能力 自学习能力 .电子信息系统之接口的网络化 优秀的接口功能是苹果成功的重要理由o 人-机之间接口o 机-机之间接口o 机-网之间接口o 键盘接口o 旋钮接口o 语音接口o 总线接口o 标准网络(有线、无线).电子信息系统之传感器的阵列化 目的是获取更充足、更准确的信息o 同种物理量同种模式在不同位置不同时间的信息 o 同种物理量多模式的信息o 多种物理量信息.3、电子信息系统的一般结构模拟电信号非电量物理信息模拟电信号数字电信号温度压力光流量电磁波。传感器放大选择变换等A/D 单片机
5、、 FPGA等数字电路实现:运算变换辨识选择等处理功能 D/A换能器执行器键盘显示器网络接口电源及电压变换电路存储 电子系统的一般结构模型示意图 第一个阶段: 只有很好地认识、把握自然世界,才能改造自然世界。 深入研究设计的对象是电子信息系统设计的前提。 不仅要深刻地掌握物理、机械、光、热、生物、化学等基础知识,而且还要对行业(专业)知识有足够的了解。自然世界的信息是非电量的物理信息,必需把这些信息转换为电量信号,才能被电子信息系统处理第二阶段: 把自然世界中的非电量信息转换为电量信息,并将其放大、选择、变换等初步处理,得到可以便于深加工的电信号(数字电信号)。 模拟电信号处理是自然信息和电信
6、号转换的必要环节,也是电子信息系统的基础。嵌入式系统具有通用性强、成本低、算法灵活、设计调试简单的特点,但处理速度不如逻辑电路高,在速度能满足要求时,优先考虑.逻辑电路具有处理速度高的优点,在嵌入式系统不能满足要求时,可以考虑数字信号处理的部分功能采用逻辑电路设计.逻辑电路也是嵌入式系统的硬件基础. 嵌入式系统也可以看成是特殊的逻辑电路. 其本质特点是利用一组具有通用处理功能的电路,在程序控制下,通过一系列的有序的处理动作实现特定的功能.牺牲时间来换取功能的低成本实现(主要是设计成本和研制周期). .小结:o 明确设计的意义所在, 选择具有前瞻性和普适性的题目;o 适应技术的发展趋势, 充分发
7、挥数字化、智能化和网络化的优点;o 设计时要把握模拟信息处理和数字信息处理的独特优势,正确评估嵌入式系统的处理能力, 合理分配模拟信号处理、嵌入式系统和逻辑电路三者之间的功能。.单片机系统结构和知识要点 CPU主时钟复位控制电路存储器(程序和数据)定时器/计数器中断控制串行接口并行接口键盘 显示器 D/A A/D 外部存储设备辅助控制电路:地址译码电路读写时序控制系统时钟和时序其它单片机(嵌入式系统)结构示意图 (硬件+软件).硬件基本要求:o 产生时钟和复位信号o 结合C语言的数据类型,了解片内的存储器特点和性能o 掌握中断的概念、了解中断优先级、能编写ISR(中断服务子程序)o 利用并口实
8、现LED灯控制、读取键信息、控制DA、DAo 掌握定时器的典型用法和作用o 能用典型接口总线和上位机通信.单片机设计技术 -硬件资源基本知识.常见嵌入式系统中的硬件资源o 微处理器o 存储器o 定时器o 通讯、接口电路、总线o AD/DA,PWMo 复位控制与看门狗o 其它.一、 微处理器类型与选择微处理器类型:o 指令结构上 :精简指令集 复杂指令集o 数据与地址总线结构上: 典型器件如8086 ;MCS51; TI公司的DSPo工作目标: 数据处理型(DSP) 控制型(单片机) .o 内存大小o I/O口数量o AD/DAo 定时器o 总线扩展能力o 功耗注意:在嵌入式微处理器中 集成了各
9、种外围接口电路。这部分扩展的功能也是微处理器选择的重要依据。 微处理器选择 .几种典型的微处理器o MCS51系列(通用单片机,有广泛的用户群。)o AVR系列o TI系列(TMS430 低功耗,低成本, TMS281x极强的控制能力 A/D D/A 控制接口)o ARM系列(多组寄存器结构支持多用户操作系统)o TI DSP系列(极强的数字信号处理功能和速度) 还有一些微处理器集成LCD驱动器、USB接口、CAN总线、以太网络接口,特别适合于相关技术的开发。.中断和异常o 中断-被定义为改变CPU执行指令顺序的事件,这些事件对应于CPU芯片 和 外部硬件电路 产生的电信号。 o 中断可分为同
10、步synchronous和异步asynchronous 1)同步 -由CPU控制单元产生,只有在一条指令终止执行后,CPU才发出中断-称为同步! 2)异步 由其他硬件设备依照CPU时钟信号随机产生的! o 80X86中,把同步和异步分别称为异常(exception)和中断(interrupt) 。 .中断(interruptions)o 1)可屏蔽中断 这些中断请求被送到CPU的INTR引脚。通过清除 flags的IF标志,可以disable它!o2) 多中断源 优先级概念、中断嵌套实现方式o3) 中断服务程序的入口方式 中断服务程序执行时间应该尽量短。.异常exceptions (80X86
11、为例 )o CPU执行指令时,发现异常情况,产生exceptions,根据eip寄存器的值可分如下类型:o o 1)故障(fault)o 存在eip中的值是引起故障的指令地址。异常处理结束时,该指令要被重新执行。例如“缺页异常处理”例子。o o 2)陷阱(trap)o eip中存的是引发陷阱指令的下一条指令。表示没必要再重新执行引发陷阱的指令。这个主要用于调试程序!o o 3)异常结束(abort)o 发生严重错误时触发,不能在eip放有意义的值。控制单元直接让程序退出!o o 4)编程异常(programmed exception)o 程序员(的程序)向系统提交请求时会触发。由int或者in
12、t3指令触发。例如int 0 x80是程序员发出系统调用请求!。-也叫软中断。一般用于系统调用和给调试程序通知一个特定事件。.二 、存储器o 在计算机系统中很多类型的存储设备。o 明白它们之间的差别,有效地使用每一种类型的存储器。o 在一个RAM 设备中,存储在存储器中每一个位置的数据都可以在需要的时候读或者写。o 在一个ROM 设备中,存储在存储器中每一个位置的数据可以随意的读取,但是不能够写入。.o 有些时候,在一个类ROM 设备中改写其中的数据是可能的。这种设备叫作混合存储器,因为它们同时表现了RAM 和ROM 的一些特征。o 注:在嵌入式微处理器中,一般集成了少量的RAM 和E2PRO
13、M,还有足够的FLASH(用于存储程序代码、表格) .RAM 的类型o 在RAM 家族中有两种重要的存储设备:SRAM 和DRAM。它们之间的主要差别是存储于其中的数据的寿命。SRAM(静态RAM)只要是芯片有电就会保留其中的内容。然而,如果电源切断了或者是暂时断电了,其中的内容就会永远的丢失。另一方面,DRAM(动态RAM)只有极短的数据寿命通常不超过0.25 秒。即使是在连续供电的情况下也是如此。o 然而,一个叫作DRAM控制器的简单硬件可以使DRAM的行为更像SRAM。DRAM 控制器的任务是周期性地刷新DRAM 中存储的数据。通过一秒钟之内几次刷新数据,DRAM 控制器就可以在需要的时
14、间内保持DRAM 中数据有效。因此DRAM 归根结底和SRAM 是同样有用的。 .特点:o 在决定选用哪一种类型的存储器的时候,系统设什者要考虑存取时间和成本。SRAM 设备提供了使用方便、极快的存取时间(大约比DRAM 快四倍),但是制造起来十分的昂贵,容量小,功耗大。o 通常SRAM 只是用于那此存取速度极端重要的场合。在大量的RAM 需要的时候,每字节的更低价格使得DRAM 很吸引人。很多嵌入式系统两种类型都包括:关键数据通道上的一小块SRAM(几百个千字节)和其他所有地方的一大块DRAM(以兆计)o PSRAM (伪静态RAM):容量大、使用方便、功耗小.ROM 的类型o ROM o
15、EEPROMo FLASH MEMORYEEPROM (电可擦除的可编程只读存储器) 通过特殊的方式写入、读出数据。 写数据的时间要长(ms级时间)。 写入时自动擦除原来的内容。容量少,读写速度都慢(保存系统参数等数据)容量少,读写速度都慢(保存系统参数等数据) .PROM, EPROMo 比掩膜ROM 更进一步的是PROM(可编程ROM)。它买来的时候处于未被编程的状态。如果你要看一个未经编程的PROM 的内容,你会看到数据的每一位完全由1 组成。把你的数据写人PROM 的过程涉及到一个特殊的设备、叫作设备编程器。设备编程器通过向芯片的管脚加电,每一次向设备中写入一个字节。一旦一个PROM
16、通过这种方法被编程了,其中的内容就再也不能改变了。如果存储在PROM 中的代码或者数据必须改变,目前这个设备就必须废弃。o PROM 也称一次性可编程设备。o EPROM(可擦写可编程ROM)编程的方式和PROM 完全一样。然而,EPROM 是可以被擦除并且反复被编程的。为了擦除一个EPROM,你只要把设备暴露在强紫外线光源下。(在设备的顶端有一个让紫外线照射到硅的窗口。)这样做,你基本上可以把整个芯片重置到其初始状态未编程状态。尽管比PROM 要贵,但是它们可以被再编程的能力使得EPROM 成为软件开发及测试过程必需的一部分。 .快闪存储器(FLASH MEMORY) 和非易失RAM (no
17、nvolatile RAM)o被普遍使用,用于储存程序和特殊数据,不是变量。o高密度、低价格、非易失性、快速(读取,而不是写入)以及可重编程等特点。o快速存储设备一次只能擦除一个扇区,而不是一个字节一个字节的擦除。NVRAM 通常是一个带有后备电池的SRAM。当电源接通的时候,NVRAM 就像任何一个其他的SRAM 一样。 当电源切断的时候,NVRAM 从电池中获取足够的电力以保持其中现存的内容。NVRAM 在嵌入式系统中是十分普遍的.双口RAMo 单口ram一般指有一组地址线,一个写使能线,一个使能线,一组输入线,一组数据输出。o 双口双口ram指有两组地址口,控制信号和数据指有两组地址口,
18、控制信号和数据线,他们公用一个存储器体单元。他们是独线,他们公用一个存储器体单元。他们是独立的。两个口都可以读写数据。立的。两个口都可以读写数据。o 双口RAM 一般用于在两个数字功能模块之间高速高速传输传输数据.先进先出(FIFO)存储器o 存储单元配备有两个数据口,一个是输入口,只负责数据的写入,另一个是输出口,只负责数据的输出。o 读和写的操作时不需要地址线参与寻址,它的数据是按照一种环形结构依次进行存放的。先进先出(FIFO)存储器的另一个与传统存储器不同的地方,就是写入先进先出(FIFO)存储器中的存储单元的数据一旦被读取后,则这个数据再也无法被读取,就像永久消失一样。o 所以,先进
19、先出(FIFO)存储器在操作时由“空”和“满”的标志位来表示存储器内部的状态。o FIFO RAM 在两个数字功能模块之间传输数据.NAND FLASH和SD卡o 一种可顺序访问的、并可分块擦除的大容量的FLASH存储器。从操作特点上看,更像一个半导体磁盘。广泛应用于需要大容量记录数据的多媒体设备中。注:有多种接口方式;为降低成本、体积、功耗等常常和其他功能电路集成在一起。.存储器的接口形式o 并行总线形式 (地址、数据、控制信号)o 串行总线形式(I2C ,SPI )o 一般在微处理器内部都有少量的SRAM(存储数据) 和FLASH (存储程序和数据)o 在DSP中利用SRAM的高速度特点,
20、也用SRAM存储程序,但需要程序引导加载o 利用FLASH可擦除的特点,也用来存放一些可变的数据。如系统参数.三、定时器/计数器o 钟表的发明促进了社会生产的效率。o 定时器用于处理和时间有关的一切事务。定时器的工作方式o 以中断的方式定时提示CPU,定时时间参数可以设置。o 在需要的是读取时间值(前提是内部有实时时钟电路).常见定时器种类:o 实时时钟 (real timer) :年月日时分秒毫秒,一般内部集成可充电电池o 看门狗(watch dog timer):程序跑飞之后产生复位信号,一般的 无人职守系统中需要用到看门狗。o 定时器(有带捕获或比较功能,也有不带捕获或比较功能):可以设
21、置一定的时间间隔引起中断。利如时间延迟、时间等待、超时判断、波特率发生器、时间分片等。.定时器的捕获和比较功能o 捕获:在普通定时器的基础上增加一个锁存器后,可以获得两个不同(或相同)事件脉冲之间的时间差。o 比较:在普通定时器的基础上增加几个数字比较器后,可以在计数器的值计数到设置值时,向位处理器提出中断请求。o 捕获和比较大大增加了定时器的功能。o 典型应用PWM.带捕获和比较功能的计数器结构示意图.复位控制与看门狗o 看门狗是一种与复位电路相联系的可清零定时器(计数器),当定时器的定时时间到时,复位电路自动产生复位信号,使系统复位。o 所以在正常情况下,应该确保定时时间不能到达设定值(一
22、般为固定的默认值)。方法是在程序中增加指令对定时器清零。当程序由于干扰等原因“跑飞“时,就出现了我们所说的”死机“。此时定时器也不能及时清零,将导致看门狗溢出,系统自动复位。o 指令对定时器清零也叫“喂狗“o 内部看门狗,外部看门狗.四、通讯与总线接口电路oI2C总线oI2C(InterIntegrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。.I2C总线特点o I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。o 总线的长度可高达2
23、5英尺,并且能够以100Kbps的最大传输速率支持40个组件。o I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。 . I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被
24、控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立。 .应用o 大量的器件,尤其是EEPROM 存储器,A/D D/A 等器件采用I2C总线,以节约芯片的体积空间。o 在多个数字模块的系统中,也可以利用I2C实现数据传输.oSPI 总线是4线同步串行接口,SCK,MOSI,MISO,SS;用于CPU与各种外围器件进行全双工、同步串行通讯。oSPI主要特点有:主从工作模式、同时发出和接
25、收串行数据。图示出SPI总线工作的四种方式,其中使用的最为广泛的是SPI0和SPI3方式(实线表示):SPI总线工作的四种方式SPI(Serial Peripheral interface).SPI总线特点o 比I2C使用更多的信号线,而且随着节点增加信号线也增多。o 速度要比I2C高,编程也简单o EEPROM存储器,a/d d/a 等器件采用spi总线,以节约芯片的体积空间。o 利用74164和74165移位寄存器扩展输入输出口.通用异步收发器 UART (Universal Asynchronous Receiver/Transmitter) oUART是用于控制计算机与串行设备通用标准
26、。o利用RS232电气标准可以实现远距离通信,o利用RS485/422电气标准可以实现更远通信。o掌握基本的串口通信的基本概念、连接方式和控制程序设计.UART数据格式o 波特率 :一位的时间长度倒数.注意区分以下概念o UART是通用异步收发器(异步串行通信口)的英文缩写,它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范,即UART是异步串行通信口的总称。 RS232、RS499、RS423、RS422和RS485等,是对应各种异步串行通信口的接口标准和总线标准,规定了电气特性、传输速率、连接特性和接口的机械特性等内容。 实际上是属于通信网络中的
27、物理层(最底层)的概念,与通信协议没有直接关系。而通信协议,是属于通信网络中的数据链路层(上一层)的概念。 COM口是PC(个人计算机)上,异步串行通信口的简写。由于历史原因,IBM的PC外部接口配置为RS232,成为实际上的PC界默认标准。所以,现在PC机的COM口均为RS232。.MODBUSoMODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规约进行数据通讯或传输,不同的系统就可以通讯。目前,在RS232/RS485通讯过程中,更是广泛采用这种规约。o 常用的MODBUS 通讯规约有两种,一种是MODB
28、US ASCII,一种是MODBUS RTU。o 一般来说,通讯数据量少而且主要是文本的通讯则采用MODBUS ASCII规约,通讯数据数据量大而且是二进制数值时,多采用MODBUS RTU规约。o 在实际的应用过程中,为了解决某一个特殊问题,人们喜欢自己修改MODBUS规约来满足自己的需要(事实上,人们经常使用自己定义的规约来通讯,这样能解决问题,但不太规范)。更为普通的用法是,少量修改规约,但将规约格式附在软件说明书一起,或直接放在帮助中,这样就方便了用户的通讯。oModbus通讯协议详解2007-04-27 12:18工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控
29、制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种。 .以太网o 以太网,指由施乐公司创建并由施乐、Intel和DEC公司联合开发的基带局域网规范。以太网络使用CSMA/CD(载波监听多路访问及冲突检测技术)技术,并以10 Mbps的速率运行在多种类型的电缆上。o 90年代,交换型以太网得到了发展,并先后推出了100兆的快速以太网、1000兆的千兆位以太网和10000兆的万兆位以太网等更高速的以太网技术。以太网的帧格式特别适合于传输IP数据包。随着Internet的快速发展,以太网被广泛使用。值得一提的是,如果接入网也采用以太网,将形成从局域网、接入网、城域网到广域网
30、全部是以太网的结构,这样采用与IP数据包结构近似的以太网帧结构,各网之间无缝连接,中间不需要任何格式转换,可以提高运行效率,方便管理,降低成本,这种结构可以提供端到端的连接。基于以上原因,以太网接入得到了快速发展,并且越来越受到人们的重视。.并行总线o 打印机口:具有种工作方式,其中EPP 和ECP方式实质是8位总线接口.工作速度在5Mbyte/s或更高.o PCI 总线:计算机上的标准总线配置。32位总线,标准的PCI总线速度33M*4字节/s。 接口的控制电路复杂,一般可使用第三方提供的桥接芯片开发,但成本增加。 目前还有若干种改进型的PCI总线。 ISA ,EISA 早期的计算机上标配总
31、线。目器工控机上还保留。接口的控制电路简单.其他总线与接口o USBo CANo GPIB (General-Purpose Interface Bus ).五、AD/DA,PWMo ADo DA, PWMo 选择的依据:速度、分辨率、接口与控制方式o 分辨率意味着精度与动态范围o PWM需要与低通率波器配合使用,可以输出低频的单极性电压控制信号o DA输出电压或电流信号 .输入和输出o 键盘o LED,指示灯o 字符LCDo 图形显示LCD o 利用总线和接口 (上位机).单片机设计技术 软件资源知识基础o 程序开发方式o 嵌入式系统程序结构o 编程技巧.1 嵌入式程序开发方式交叉汇编o 开
32、发平台计算机配套的开发软件和仿真器下载线目标板o 交叉汇编在通用计算机上完成程序设计、汇编、生产机器码;(部分程序段可以在开发软件上模拟运行)下载在目标板(仿真器上)运行、调试.2 嵌入式软件结构o 有操作系统(OS)的嵌入式软件 需要额外的OS支撑,对单片机的硬件要求高; OS提供大量的软件底层函数和其它软件开发资源,程序的主体结构和内存等由OS管理; 编程简单,但要求具有OS专业知识。 o 无操纵系统的嵌入式软件无操纵系统的嵌入式软件 开发软件定义了有限的软件资源,部分开发平台提供了软件设计框架。 对单片机要求低,对软件设计技巧要求高。. 循环轮询(polling loop)系统o 程序依
33、次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。优点:o 对于简单的系统而言,便于编程和理解;o 没有中断的机制,程序运行良好,不会出现随机的问题。o 缺点:o 应用领域有限,实时性差;o 对于有大量I/O服务的应用不容易实现;o 如果程序规模大,则不便于调试。o循环轮询系统运行方式循环轮询系统流程循环轮询系统通常的软件结构如下:Main()Initialize ()While (true) If (condition_1) action_1 () ; If (condition_2) action_2 () ; If (condition_n) action_n () ;. 前后台
34、系统(foreground/background) 又叫中断驱动系统。后台是一个一直在运行的系统,前台是由一些中断处理过程组成的。 当中断发生时,中断后台运行,进行前台处理,处理完成后有回到后台(通常后台又称为主程序)。o 优点:o 可并发处理不同的异步时间,设计简单;o 中断处理程序有多个,主程序一个;o 无须学习OS相关的知识。o 缺点:o 对于复杂的系统而言,其主程序设计复杂,系统复杂度提高,可靠性降低;o 实时性只能通过中断来保证,如果采用中断加主程序的方式来处理事件,其实时性难以保证;o 中断处理程序于主程序间的共享互斥问题需应用自身解决。.前后台系统程序流程后台程序 开机后一直循环执行前台程序:当中断1发生时,执行一次后就退出;前台程序:当中断n发生时,执行一次后就退出;.前后台结构设计原则和技巧:o 前台程序执行时间要短前台程序执行时间要短 技巧是分把部分在前台处理的事务给后台前台处理的事务给后台;o 事务(软件功能)应细分,事务(软件功能)应细分,分解一个大事务为多个关联的小事务。 技巧是使用事务状态标志位事务状态标志位。o 前后台程序相配合,实现事务并行处理实现事务并行处理,可提高程序的运行效率。 技巧是多个事务处理的标志位在后台中实现逻辑运算,结果做为后台的轮询条件个人观点供参考,欢迎讨论!