‘壹’ 单片机程序中的底层驱动程序和应用程序
驱动程序与硬件相关,编写驱动程序要非常了解硬件,同时给应用层提供API函数接口,应用层可以调用这些接口去访问硬件而不必了解硬件.
应用程序是根据实际应用去编写.
比如说你有一个应用是控制每天早上六点钟开灯.应用程序只负责在适当的时间做适当的事(到六点了,我要开灯了,按下按键);具体它不知道为什么按下键就能开灯,因为按下键后开灯的事情就是驱动程序完成了.
‘贰’ 常见嵌入式系统有哪些
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。
硬件层
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。
(1)嵌入式微处理器
嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
嵌入式微处理器的体系结构可以采用冯·诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(RecedInstructionSet Computer,RISC)和复杂指令系统CISC(Complex Instruction Set Computer,CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。
嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。
(2)存储器
嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器。
1、Cache
Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输速率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。
在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。
2、主存
主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。
‘叁’ 单片机TCP/IP协议栈都有哪些
TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列。
TCP/IP协议栈
(按TCP/IP参考模型划分)
应用层 FTP SMTP HTTP ...
传输层 TCP UDP
网络层 IP ICMP ARP
链路层 以太网 令牌环 FDDI ...
包含了一系列构成互联网基础的网络协议。
这些协议最早发源于美国国防部的DARPA互联网项目。
TCP/IP字面上代表了两个协议:TCP传输控制协议和IP互联网协议。
时间回放到1983年1月1日,在这天,互联网的前身Arpanet中,TCP/IP协议取代了旧的网络核心协议NCP(Network Core Protocol),从而成为今天的互联网的基石。最早的的TCP/IP由Vinton Cerf和Robert Kahn两位开发,慢慢地通过竞争战胜了其它一些网络协议的方案,比如国际标准化组织ISO的OSI模型。TCP/IP的蓬勃发展发生在上世纪的90年代中期。当时一些重要而可靠的工具的出世,例如页面描述语言HTML和浏览器Mosaic,导致了互联网应用的飞束发展。
随着互联网的发展,目前流行的IPv4协议(IP Version 4,IP版本四)已经接近它的功能上限。IPv4最致命的两个缺陷在于:
地址只有32位,IP地址空间有限;
不支持服务等级(Quality of Service, Qos)的想法,无法管理带宽和优先级,故而不能很好的支持现今越来越多的实时的语音和视频应用。因此IPv6 (IP Version 6, IP版本六) 浮出海面,用以取代IPv4。
TCP/IP成功的另一个因素在与对为数众多的低层协议的支持。这些低层协议对应与OSI模型 中的第一层(物理层)和第二层(数据链路层)。每层的所有协议几乎都有一半数量的支持TCP/IP,例如: 以太网(Ethernet),令牌环(Token Ring),光纤数据分布接口(FDDI),端对端协议( PPP),X.25,帧中继(Frame Relay),ATM,Sonet, SDH等。
TCP/IP协议栈组成
整个通信网络的任务,可以划分成不同的功能块,即抽象成所谓的 ” 层” 。用于互联网的协议可以比照TCP/IP参考模型进行分类。TCP/IP协议栈起始于第三层协议IP(互联网协议) 。所有这些协议都在相应的RFC文档中讨论及标准化。重要的协议在相应的RFC文档中均标记了状态: “必须“ (required) ,“推荐“ (recommended) ,“可选“ (elective) 。其它的协议还可能有“ 试验“(experimental) 或“ 历史“(historic) 的状态。
必须协议
所有的TCP/IP应用都必须实现IP和ICMP。对于一个路由器(router) 而言,有这两个协议就可以运作了,虽然从应用的角度来看,这样一个路由器 意义不大。实际的路由器一般还需要运行许多“推荐“使用的协议,以及一些其它的协议。
在几乎所有连接到互联网上的计算机上都存在的IPv4 协议出生在1981年,今天的版本和最早的版本并没有多少改变。升级版IPv6 的工作始于1995年,目的在与取代IPv4。ICMP 协议主要用于收集有关网络的信息查找错误等工作。
推荐协议
每一个应用层(TCP/IP参考模型 的最高层) 一般都会使用到两个传输层协议之一: 面向连接的TCP传输控制协议和无连接的包传输的UDP用户数据报文协议 。 其它的一些推荐协议有:
TELNET (Teletype over the Network, 网络电传) ,通过一个终端(terminal)登陆到网络(运行在TCP协议上)。
FTP (File Transfer Protocol, 文件传输协议) ,由名知义(运行在TCP协议上) 。
SMTP (Simple Mail Transfer Protocol,简单邮件传输协议) ,用来发送电子邮件(运行在TCP协议上) 。
DNS (Domain Name Service,域名服务) ,用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上) 。
ECHO (Echo Protocol, 回绕协议) ,用于查错及测量应答时间(运行在TCP和UDP协议上) 。
NTP (Network Time Protocol,网络时间协议) ,用于网络同步(运行在UDP协议上) 。
SNMP (Simple Network Management Protocol, 简单网络管理协议) ,用于网络信息的收集和网络管理。
BOOTP (Boot Protocol,启动协议) ,应用于无盘设备(运行在UDP协议上)。
可选协议
最常用的一些有
支撑万维网WWW的超文本传输协议HTTP,
动态配置IP地址的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),
收邮件用的POP3 (Post Office Protocol, version 3, 邮局协议) ,
用于加密安全登陆用的SSH (Secure Shell,用于替代安全性差的TELNET) ,
用于动态解析以太网硬件地址的ARP (Address Resolution Protocol,地址解析协议) 。
范例: 不同计算机运行的不同协议
一个简单的路由器上可能会实现ARP, IP, ICMP, UDP, SNMP, RIP。
WWW用户端使用ARP, IP, ICMP, UDP, TCP, DNS, HTTP, FTP。
一台用户电脑上还会运行如TELNET, SMTP, POP3, SNMP, ECHO, DHCP, SSH, NTP。
无盘设备可能会在固件比如ROM中实现了ARP, IP, ICMP, UDP, BOOT, TFTP (均为面向数据报的协议,实现起来相对简单)。
‘肆’ 嵌入式系统体系结构
嵌入式系统体系结构
所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。下面是我整理的关于嵌入式系统体系结构,欢迎大家参考!
嵌入式系统体系结构:
嵌入式系统的组成包含了硬件层、中间层、系统软件层和应用软件层。
1、硬件层:嵌入式微处理器、存储器、通用设备接口和I/O接口。
嵌入式核心模块=微处理器+电源电路+时钟电路+存储器
Cache:位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。
2、中间层(也称为硬件抽象层HAL或者板级支持包BSP).
它将系统上层软件和底层硬件分离开来,使系统上层软件开发人员无需关系底层硬件的具体情况,根据BSP层提供的接口开发即可。BSP有两个特点:硬件相关性和操作系统相关性。
设计一个完整的BSP需要完成两部分工作:
A、 嵌入式系统的硬件初始化和BSP功能。
片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。
板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。
系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。
B、 设计硬件相关的设备驱动。
3、系统软件层:由RTOS、文件系统、GUI、网络系统及通用组件模块组成。
RTOS是嵌入式应用软件的基础和开发平台。
4、应用软件:由基于实时系统开发的应用程序组成。
嵌入式芯片体系结构介绍
1.嵌入式微处理器(Micro Processor Unit,MPU)
嵌入式微处理器是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前主要的嵌入式处理器类型有Am186/88、386EX、SC-400、Power PC、68000、MIPS、ARM/ StrongARM系列等。其中Arm/StrongArm是专为手持设备开发的嵌入式微处理器,属于中档的价位。
Power PC:
由IBM、Apple和Motorola联合开发,并制造出基于PowerPC的多处理器计算机。PowerPC架构具有可伸缩性好、方便灵活的特点。主要有以下产品使用Power PC微处理器
苹果公司:Power Macintosh系列、PowerBook系列(1995年以后的产品)、iBook系列、iMac系列(2005年以前的产品)、eMac系列产品。
任天堂:GameCube 和 Wii。
Sony:PlayStation 3。
MIPS:
MIPS是世界上很流行的一种RISC处理器。MIPS的意思“无内部互锁流水级的微处理器”(Microprocessor without interlocked piped stages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。MIPS技术公司是美国着名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的`技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS处理器是八十年代中期RISC CPU设计的一大热点。MIPS是卖的最好的RISC CPU,可以从任何地方,如Sony, Nintendo的游戏机,Cisco的路由器和SGI超级计算机,看见MIPS产品在销售。目前随着RISC体系结构遭到x86芯片的竞争,MIPS有可能是起初RISC CPU设计中唯一的一个在本世纪盈利的。和英特尔相比,MIPS的授权费用比较低,也就为除英特尔外的大多数芯片厂商所采用。
2.嵌入式微控制器(Microcontroller Unit, MCU)
嵌入式微控制器的典型代表是单片机,从70年代末单片机出现到今天,虽然已经经过了20多年的历史,但这种8位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。由于MCU低廉的价格,优良的功能,所以拥有的品种和数量最多,比较有代表性的包括8051、MCS-251、MCS-96/196/296、P51XA、C166/167、68K系列以及 MCU 8XC930/931、C540、C541,并且有支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。目前MCU占嵌入式系统约70%的市场份额。近来Atmel出产的Avr单片机由于其集成了FPGA等器件,所以具有很高的性价比,势必将推动单片机获得更高的发展。
3.嵌入式DSP处理器(Embedded Digital Signal Processor, EDSP)
DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。DSP的理论算法在70年代就已经出现,但是由于专门的DSP处理器还未出现,所以这种理论算法只能通过MPU等由分立元件实现。MPU较低的处理速度无法满足DSP的算法要求,其应用领域仅仅局限于一些尖端的高科技领域。随着大规模集成电路技术发展,1982年世界上诞生了首枚DSP芯片。其运算速度比MPU快了几十倍,在语音合成和编码解码器中得到了广泛应用。至80年代中期,随着CMOS技术的进步与发展,第二代基于CMOS工艺的DSP芯片应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理、图像硬件处理技术的基础。到80年代后期,DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。90年代后,DSP发展到了第五代产品,集成度更高,使用范围也更加广阔。目前最为广泛应用的是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。根据芯片厂商采用不同的IP核,可以分为以下几类:
StarCore
Freescale
飞思卡尔数字信号处理器采用StarCore技术,是业内最高性能的可编程器件,可满足基带、航空航天、国防、医疗和测试与测量市场的需求。我们设计的StarCore DSP系列产品提供全面灵活扩展的解决方案,帮助客户加快产品上市。StarCore DSP具有低功耗、低成本的显着特点,是下一代设计的理想解决方案。通过新一代创新实现更加智能的世界。多核芯片主要包括:MSC8122: 带有以太网的四核16位DSP,MSC8126: 带有以太网、TCOP和VCOP的四核16位DSP,MSC8144: 四核DSP,MSC8152: 高性能双核DSP,MSC8154: 高性能四核DSP,MSC8154E: 带有安全功能的高性能四核DSP,MSC8156: 高性能六核DSP,MSC8156E: 带有安全功能的高性能六核DSP,MSC8157: MSC8157宽带无线接入DSP,MSC8158: MSC8158宽带无线接入DSP,MSC8252: 高性能双核DSP,MSC8254: 高性能四核DSP,MSC8256: 高性能六核DSP 。单核芯片主要包括: MSC8151: 高性能单核DSP,MSC8251: 高性能单核DSP。
4.嵌入式片上系统(System On Chip)
SoC追求产品系统最大包容的集成器件,是目前嵌入式应用领域的热门话题之一。SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SOC具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。用户不需要再像传统的系统设计一样,绘制庞大复杂的电路板,一点点的连接焊制,只需要使用精确的语言,综合时序设计直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性,提高了设计生产效率。由于SOC往往是专用的,所以大部分都不为用户所知,比较典型的SOC产品是Philips的Smart XA。少数通用系列如Siemens的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。预计不久的将来,一些大的芯片公司将通过推出成熟的、能占领多数市场的SOC芯片,一举击退竞争者。SOC芯片也将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。
;