嵌入式系统硬件基础

如对此感兴趣,请拨打电话02l-228l84l9,QQ微信,微博
诚招各地区市场各行业应用推广合作伙伴。查看详细联系方式
欢迎提出产品建议,思路,合作信息,我们计入产品股份,享有对应的分红权。

整个嵌入式系统的开发涉及到两个方面:硬件部分与软件部分。硬件部分提供整个嵌入式系统开发可见的或可触摸的“实体”,而软件部分相当于这个“实体”内部的功能逻辑。这两个部分缺一不可。嵌入式系统开发对硬件要求非常高,这与其它类型系统的开发有所不同。许多嵌入式的开发都是针对具体的应用,针对项目中特定硬件资源,如微处理器、FLASH、外围接口等。这样,程序员就需要熟悉系统中的硬件资源,比如涉及到一些底层编程,就需要知道系统处理器提供的指令集;要对FLASH编程,就需要知道FLASH编程的指令系列和流程等 。

1.嵌入式处理器

嵌入式系统的核心部件是各种类型的嵌入式微处理器。嵌入式处理器就像系统的控制神经中枢,通过数据线、地址线和控制信号线等神经网线与各种神经末梢,如RS-232接口、USB接口、LCD接口等相连。新一代嵌入式设备还需要具备IEEE1394,USB,CAN,Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要相应的浏览器,如HTML,XML等。

根据现状,嵌入式处理器可以分为以下几类:

(1)嵌入式微处理器(Embedded Micro Processor Unit ,EMPU),一般指通用计算机中的CPU。它与标准微处理器基本相同,但在工作温度、抗电磁干扰、可靠性等方面都做了增强。与工业控制计算机相比,它具有体积小,重量轻,成本低。可靠性高等优点;但在电路板上必须包括ROM,RAM,FLASH、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。在应用中,将微处理器装配在专门设计的电路板上,然后在电路板上配上必要的扩展外围电路,如存储器的扩展电路、I/O的扩展电路和一些专用的接口电路等,这样就可基本完成嵌入式系统的一些功能。特点:1)内部具有精确的晶振电路,对实时多任务具有很强的支持能力。2)嵌入式系统的软件结构已模块化,具有功能很强的存储区保护功能。3)采用可扩展的处理器结构,留有很多扩展接口。4)提供丰富的调试功能。在嵌入式系统开发中,基本的开发模型就是宿主机对目标机的开发。一方面要求宿主机上有相应的开发工具,另一方面要求目标机上的微处理器应提供必要的调试接口以方便用户开发。一般调试方式有硬件仿真调试,软件调试,模拟调试等。常见的调试接口有JTAG,BDM方式等。5)许多嵌入式处理器提供几种工作模式,如正常工作模式、备用模式、省电模式(power down)等,嵌入式微处理器在设计中考虑到低功耗。信息社会是以网络以及移动计算和通信设备为基础的,这样需要嵌入式微处理器消耗非常低的能量。现在便携式和无线应用中靠电池操作的嵌入式微处理器设计中最重要的指标是功耗而不是性能,现在已不用主频率MHz比较处理器而用功耗mW或?W比较处理器了。同时,功率的传送和能量的消耗已成为性能和集成度的主要限制。

(2)嵌入式微控制器(Embedded Microcontroller Unit,EMU),一般又称为单片机,就是将整个计算机系统集成到一块芯片中的控制器。它一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM,RAM,FLASH、总线、总线逻辑、定时/计数器、WatchDog、I/O,串行口、脉宽调制输出、A/D,D/A等各种必要功能模块和外设。为适应不同需要,一般一个系列的单片机具有很多的衍生产品,但是每种衍生产品的处理器内核是相同的,不同的是存储器和外设的配置及封装。

与嵌入式微处理器相比,微控制器的最大特点是单片化、体积小,从而使功耗和成本下降,可靠性提高。微控制器是目前嵌入式系统工业中的主流产品。微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。

(3)嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)。普通DSP处理器对系统结构和指令进行了特殊设计,使其适合执行DSP算法,编译效率和指令执行速度都较高。在数字滤波、FFT、谱分析等方面,DSP算法正在大量引入嵌入式领域;DSP应用正从通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。嵌入式DSP处理器有两个发展来源,一是DSP处理器经过单片化,EMC改造,增加片上外设成为嵌入式DSP处理器,如TI公司的TMS320C2000/C5000等。二是在通用单片机或SOC中增加DSP协处理器,如Intel公司的MCS-296等。

现在,嵌入式DSP处理器已得到快速的发展和应用,特别在嵌入式系统的智能化系统中,例如,各种带智能的消费类产品、生物信息识别终端、带加解密算法的键盘、ADSL接入、实时语音压接系统、虚拟现实显示等。这类智能化算法一般运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的优势所在。德州仪器公司(TI)推出TMS320C64x DSP系列中的最新产品,作为最高性能数字信号处理器(DSP),使高效能嵌入式应用大大受益。与同类竞争产品相比,该新型芯片提供了性价比更高、功耗更小的百万级乘法累加器(MMACS),并支持各种创新应用项目。凭借该器件,TI公司拓展了C64xTM DSP系列产品的应用空间,满足了更低功耗和成本的高效能应用需求,包括小区媒体服务器、安全/监视系统、电信/数据通信系统及硬拷贝设备应用。

(4)嵌入式片上系统(Embedded System On Chip,ESOC),随着EDI的推广和VLSI设计的普及,以及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是System On Chip (SOC)。各种通用处理器内核将作为SOC设计公司的标准库,与许多其他嵌入式系统外设一样,成为VLSI设计中一种标准的器件。它用标准的VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样,除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去。应用系统电路板将变得很简洁,对于减少体积和功耗,提高可靠性非常有利。

SOC可以分为通用和专用两类,通用系列包括Infineon(Siemens)的TriCore,Motorola的M-Core,某些ARM系列器件,Echelon和Motorola联合研制的Neuron芯片等。专用SOC一般用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是PHILIPS的Smart XA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载Java或C语言的专用的SOC,用于公众互联网如Internet安全网。

嵌入式系统实现的最高形式是单一芯片系统,而SOC的核技术是IP核(即知识产权核Intellectual Property Kernels)构件。IP核分为硬件核、软件核和固件核。硬件核主要指8/16/32/64位MPU核或DSP核。硬件提供商以数据软件库的形式,将其久经验证的处理器逻辑和芯片版图数据供EDA工具调用,在芯片上直接配置MPU/DSP功能单元。软件核是指软件提供商将SOC所需的RTOS内核软件或其他功能软件,如通信协议软件、FAX功能软件等构成标准API方式和IP核形式的构件。此构件供IDE和EDA工具调用制成FLASH或ROM可执行代码单元,加速SOC嵌入式系统定制和开发。目前,一些嵌入式软件供应商纷纷把成熟的RTOS内核和功能扩展件以软件IP核构件形式出售,Microtec的VRTXoc for ARM就是典型例子。

由上可见,嵌入式片上系统的设计的关键是IP核的设计。IP核技术是嵌入式的重要支持技术。在设计嵌入式系统时,可以通过使用IP核技术完成系统硬件的设计。

IP设计技术是一种集成电路设计技术,是以电路模块知识产权使用为核心的电子系统设计技术。在IP技术中把不同功能的电路模块称为IP,这些IP都是经过实际制作并证明是正确的。在EDA实际工具中把这些IP组织在一个IP元件库中,供用户使用。设计电子系统时,用户需要知道IP模块的功能和技术性能。通过把不同的IP模块镶嵌在一个硅片上,形成完整的应用系统。IP技术极大地简化了SOC的设计过程,缩短了设计时间,因此已经成为目前电子系统设计的重要基本技术。

2.嵌入式调试

整个嵌入式系统的开发离不开嵌入式系统的调试工具和优秀的开发平台;嵌入式调试包括硬件调试、软件调试、模拟调试。嵌入式开发平台包括嵌入式操作系统和嵌入式开发工具。在嵌入式开发工具中有编程器、调试器和跟踪器等。1)实时在线仿真系统ICE(In-Circuit Emulator),它不仅是软件、硬件排错工具,同时也是提高和优化系统性能指标的工具。调试功能强大,但其硬件的费用较高,在一般的嵌入式调试中很少用到。2)Monitor调试。实际上是一段监控程序,主要完成接受宿主机传送过来的控制命令,然后对其解析,并在目标机上执行。然后把目标机的一些结果和状态反馈给宿主机。在EPSON提供的调试开发中,Monitor调试提供了两种形式:硬Monitor调试,即用硬件来完成监控功能和软Monitor调试,即用一段监控程序来完成监控功能。使用硬件完成监控功能的这种调试尽管成本较高,但调试起来比较可靠和稳定。如果用一段监控程序来监控,首先就需要将这段监控程序下载在目标系统中,并对监控程序所在的存储区进行保护,方便但在调试过程有时表现不稳定。3)模拟模式(Simulator)。不需要目标机,在宿主机上可以仿真目标机的环境,运行本应在目标机上执行的程序。它仅是逻辑功能上的验证。一般情况下,在嵌入式系统的调试中首先进行模拟调试,对用户程序进行逻辑验证,然后再进行在线仿真调试,对实际环境进行仿真验证。经过这两极的调试,最后用户的程序就可在目标系统中正常工作了。

3.嵌入式FLASH的编程

(1)编程器编程

它是最原始的编程的方法。在编程芯片焊装到电路板之前使用专门的编程器对芯片进行代码或数据的写入,然后将编程的芯片安装到电路板上。使用编程器特别使用于DIP封装的芯片,如果是其他类型的封装(如TSOP56、PLCC、DFP、PSOP、SOIC、SSOP、SDIP等)则需要相应的适配器。

常用的编程器有SUPERPRO/V,LABTOOL-48等。

(2)普通接口编程

这种编程方式不需要系统板长的处理器提供特殊的编程接口,如JTAG,BDM接口。它直接通过串口或者网口就从主机把程序写到FLASH中,从而实现对FLASH的编程。如,EPSON提供的调试方式中的MON调试方式,就是利用串口对FLASH编程的。这种编程方式直接简单,并不需要对处理器有特殊等要求。

(3)JTAG编程

1)JTAG接口

这种方法是直接利用电路板上带JTAG接口的器件(如CPU,CPLD,FPGA等),再通过同样接口的JTAG仿真器将目标板与宿主机连接起来,对目标机上FLASH进行编程的。

一般高档的微处理器都带JTAG接口。通过JTAG接口既可对目标系统进行测试,也可对目标系统的存储单元,如FLASH进行编程。目标机上存储器的数据总线、地址总线、控制接口直接连在微处理器上;通过执行宿主机相关程序,将编程数据和控制信号送到JTAG接口芯片上;利用相应的指令按照FLASH芯片的编程时序从微处理器引脚输出到FLASH存储器中。

2)JTAG介绍

面对复杂电路设计,整板测试的难度及表面贴装技术带来的有限测试引脚等问题,不得不逊找一个标准加以解决,于是提出了JTAG(Joint Test Action Group)。

JTAG技术是一种嵌入式调试技术。它的接口标准是IEEE1149.1,此标准是用来测试端口和边界扫描的。边界扫描接口技术起始于1980年,用于解决物理存取问题。这个技术在芯片机中封装了测试电路,形成一种板级测试协议JTAG接口标准,将极其复杂的电路板测试转换成具有良好结构性的测试,可以通过软件简单而灵活地处理。这个标准定义了可用于完成功能和互连测试以及内建自测过程的各种指令。

3)JTAG接口的内部结构

在硬件结构上,JTAG接口包括两个部分:JTAG接口控制器和与JTAG接口兼容的器件,可以是微处理器(MCU),PLD,CPL,FPGA,ASIC或其他符合IEEEE1149.1规范的芯片。IEEE1149.1标准规定对应数字集成电路的每个引脚都设有一个移动寄存器单元,这些单元称为边界扫描单元BSC。它将JTAG电路与内核逻辑电路逻辑联系起来,同时隔离内核电路和芯片引脚。有集成电路的所有边界扫描构成单元扫描寄存器BSR,边界扫描寄存器仅在进行JTAG测试时有效,在继承电路正常工作时无效,但不影响集成电路的工作。

用JTAG接口测试的逻辑电路由3个部分组成:①测试当问端口TAP控制器。TAP控制器提供对嵌在JTAG兼容器件内部的用于测试功能电路的访控制。TAP控制器是一个同步状态机,每一个JTAG兼容器件都有自己的TAP控制器。通过测试模式选择TMS和TCK控制状态的转移,实现由IEEE1149.1标准确定的测试逻辑电路时序。②指令寄存器。它是基于电路的移动寄存器,通过它可以串行输入执行各种操作指令。③数据寄存器。它是一组基于电路的移位寄存器,操作指令被串行装入由当前指令所选择的数据寄存器,随着操作的执行,测试结构被移出。

4)JTAG引脚定义

JTAG接口主要包括5个引脚:TMS,TCK,TDI,TDO及一个可选配的引脚TRST,这些引脚用于驱动电路模块和控制执行规定的操作。

TCK(Test Clock)——测试时钟。为TAP控制器和寄存器提供测试参考。在TCK的同步作用下,通过TDI和TDO引脚串行出入或移出数据及指令。

TMS(Test Mode Selector)——TAP控制器模式选择器。TCK上升沿时刻的TMS状态来确定TAP控制器的状态。

TDI(Test Data Input)——JTAG指令和数据寄存器的串行数据输入端。通过TAP控制器和当前状态以及保持在指令寄存器中的具体指令,来指定一个特定的操作由TDI装入哪个寄存器。并在TCK的上升沿时刻被采样,结果送到JTAG寄存器组。

TDO(Test Data Output)——JTAG指令和数据寄存器的串行数据输出端。通过TAP控制器和当前状态以及保持在指令寄存器中的具体指令,来决定在一个特定的操作中哪个寄存器的内容送到TDO输出。对于任何操作,在TDI和TDO之间只能由一个寄存器处于有效连接状态。

TRST(Test Reset)——测试复位输入信号,低电平有效,为TAP控制器提供异步初始化信号。

5)TAP控制器转换

TAP实际上是一个16种状态的同步状态机,每一种状态的转换是由TMS和TCK来触发的。测试访问状态机的主要目的是选择指令寄存器或者数据寄存器,使其连接到TDI和TDO之间。

    TAP复位状态是很重要的。当要进入TAP复位状态时,一般要保持TMS为高电平。当由其他状态转换到测试逻辑复位状态时,将对JTAG口和测试逻辑复位,但并不对CPU和外设复位。

6)JTAG的寄存器扫描

FLASH操作

字节读,字节写,页擦除,全擦除

FLASH接口寄存器操作

JTAG接口基本操作

FAP复位

指令寄存器扫描

数据寄存器扫描

JTAG物理层

TCK、TMS、TDI、TDO

TAP状态机

除了测试逻辑复位外,状态机还控制两个基本操作:指令寄存器(IR)扫描和数据寄存器(DR)扫描。在一次扫描过程中,出现在TDI中的数据在TCK的上升沿被采样,在TCK下降沿数据被输出到TDO。在一次指令寄存器扫描操作中,指令寄存器在Shift_IR状态下被传送;在一次数据寄存器扫描操作中,数据寄存器在Shift_DR状态下被传送。

7)JTAG闪存编程层次图

用JTAG端口访问FLASH的编程层次图。

从编程层次图可以看出,对FLASH的操作通过转换为对相应的FALASH寄存器进行操作;而对这些FLASH寄存器的操作又是通过转化为JTAG接口的基本操作来实现的。

8)用JTAG接口对FLASH编程

   为了说明利用JTAG接口对FLASH的编程思想,下面以一个网络评估板为例。此评估板采用的CPU是S3C4510B,FLASH芯片采用的是Intel 28F320J3A,除此之外,还有一些SRAM和外围接口(如以太网、串行接口等)。

利用JTAG接口对FLASH编程的实物连接模型。

PC

并行

接口

                                    系统电路板

JTAG

接口

                           地址线

TCLK

TMS                          数据线

TDI                           控制线

TDO

Intel

28F320J3A

MCU S3C4510B

指令寄存器和数据寄存器

TAP控制器

Intel 28F320J3A采用高密度对称块体系结构;它有32个块,每一块容量为64KB。一般的FLASH设备有两种模式:X8模式(传输数据的有效位是8位)和X16模式(传输数据的有效位是16位)。

对FLASH编程时,一般首先要检查FLASH设备的识别码(包括厂商代码和设备代码);然后进行擦除命令,或擦除整个块,或者擦除所需的块;最后对擦除过的块进行写入字节或者字。下面是一个利用JTAG接口对FLASH编程的流程图。

不一致

一致

检查要写的文件

开始

JTAG接口复位

读芯片识别码

复位FLASH

对FLASH块擦除

对FLASH块写数据

关闭文件

JTAG接口复位

结束

4.基本嵌入式系统的外围接口

(1)预分频器(Prescaler)

    预分频器就是将系统时钟源按需求分频来提供给内部的外围电路。它的分频率可根据需要来设定,分频后的时钟可以提供给系统内部的可编程定时器,A/D转换器等。通常实现分频器的电路是计数器电路。32768Hz的信号分频为1Hz的分频倍数为32768或215,实现给分频功能的计数器相当于15级二进制计数器。

在TTL和CMOS数字集成电路中,实现分频次数最高的计数器有两种CMOS计数器电路:CD4060和CD4040。其中,CD4060计数器为14级二进制计数器,可以将32768Hz的方波信号分频为2Hz。

如下图,以S1C33209预分频器的结构为例,这个预分频器中包括分频比率选择器、控制寄存器、分频输出控制等部分。预分频器将源时钟OSC3,PLL输出时钟或者OSC1时钟分频后输出给内部的外围电路,其中的分频比率可在程序中设定,如1/2,1/2,1/4,1/8,1/16等。预分频器分频后的时钟作为6路16位的可编程定时器,4路8位可编程定时器和A/D转换器的时钟源。

OSC1

OSC3

?

选择频率

1/1 1/2 1/4 1/8 1/16 1/321/64 1/128 1/256 1/512   1/1024 1/2048 1/4.96

16位定时器5~0

8位定时器3~0

A/D转换器

分频选择寄存器

选择频率

控制寄存器

(2)可编程定时器/计数器(Programmable Time/Counter)

它是常见的外围接口,它一般具有定时和计数功能。一般,多任务的时间片调度、分频、定时中断等操作都要用到定时和计数功能。

常见的定时有一下3种方法:

软件定时——靠执行一个循环程序来进行时间延迟。

硬件定时——通过电路中的元件参数来调节定时时间。

可编程定时器定时——采用对系统的时钟脉冲计数,通过初始设定计数值来改变定时的时间。

一般有8位和16位的可编程定时器,Intel MCS-51单片机有两个可编程的定时器/计数器,他们都是16位的,相当于计数周期为216,通过此定时器来设定计数的初始值,进行定时和计数控制。

S1C33209中的8位可编程的定时器有一个8位预值计数器、8位递减计数器和溢出的控制电路等。首先在8位预值计数器中设定初始值,然后根据时钟脉冲对初始值递减,当8位递减计数器中的值为零时,将由相应的控制电路产生一个时钟信号给内部的外围电路或者一个中断信号给中断控制器,让它们进行相应的处理。

(3)PWM(脉宽调制)

PWM脉宽调制信号即脉冲的宽度可根据需要调制,一个PWM与一个低通滤波器(RC电路)相结合可以用做简单廉价的数/模转换器DAC。其输出可用于驱动电压控制器件或需要模/数转换器ADC采样受控参数的反馈控制系统中。PWM常用于电机控制系统中。

PWM包含两步分:一个用于产生给定周期和占空度的PWM定时器;另一个用于将PWM波形转换为模拟电压输出的低通滤波器。 脉冲宽度调制PWM是通过改变一个脉冲的宽度或周期波形的占空比来对数据进行编码的。一般,使用一个定时器为某个端口引脚的高低电平切换进行定时产生所需要的PWM波形。按给定占空比生成的PWM波形被输入到一个低通滤波器,该滤波器将消除PWM波形的大部分。低通滤波器将PWM波形高电平持续时间转换成系统输出端的电压。

(4)Watch Dog Timer(看门狗定时器)

在嵌入式系统中,由于环境恶劣,很容易造成系统处理器执行错误的程序。 使系统进入死循环。在这种情况下,看门狗定时器是一个有用的外围设备,用于捕获和复位已失去了控制的处理器。

看门狗定时器是一个简单的计数器,经过一个指定的间隔时间来复位微处理器。在一个较好的系统中,软件将定时监视或重新置位看门狗定时器。当系统启动后,看门狗定时器每经过一个预定的时间间隔来计数。当软件与设备正常工作时,软件通过定时来重置看门狗定时器。当软件和设备无效工作时,看门狗将得不到置位,这样不断计数,直到溢出;一旦溢出,将产生一个复位信号并重新复位系统。

看门狗定时器可设计在芯片内部或外部。设计在芯片内部的看门狗定时器可充分利用微处理器使用的高精度的晶振时钟,准确地计数和复位,而不是采用精度不高的RC晶振时钟。

时钟产生器

预分频器

    看门狗定时器

16位可编程定时器0

EWD

这是EPSON S1C33209处理器的看门狗定时器,此看门狗定时器计数器采用了芯片内部的16位可编程定时器。EWD是看门狗定时使能信号,当溢出后将产生不可屏蔽的中断信号NMI,并通过它来复位系统。

(5)A/D或者D/A转换

A/D或D/A转换电路用在专门的系统或者作为扩展的外围电路中。A/D转换器用于实现模拟信号向数字信号的转换。其原理是先对模拟信号采样,然后进行量化使模拟信号转换为数字信号。A/D转换的精度与信号的采样精度和量化位数都有密切的关系。D/A转换就是将数字信号经过相应的信号处理,然后经过低通滤波得到所需的模拟信号。

通常,为了使A/D输出信号经过D/A还原后能更好地反映输入模拟信号的变化,根据采样定理,采样频率一般要高于或至少等于输入信号中最高频率分量的两倍,这样才可以使被采样的信号能够被还原为原始的输入信号。在输入信号频率不是太高的实际应用中,一般取采样频率为最高频率的4~8倍。

在设计A/D转换器和微机接口时需要注意以下几个方面:1)A/D转换其的输出和CPU的接口方式,主要有两种连接方式。一种是A/D芯片输出端直接与系统总线相连;另一种是A/D芯片输出端通过接口电路与总线相连。2)A/D转换器的分辨率和微机数据总线的位数匹配。当10位以上的A/D转换器与8位数据总线连接时,由于数据要按字节分时读出,因此从8位数据线上需分两次来读取转换数据。设计接口时,数据寄存器要增加读写控制逻辑。3)A/D转换的时间和CPU的时间的配合,要注意A/D转换的启动方式,通常启动信号分为电平控制启动和脉冲启动两种。还要注意转换后信号的处理。4)应注意A/D的控制和状态信号。因为A/D转换器的控制与状态信号的类型和特征对接口有很大影响,所以在设计时必须注意分析控制和状态信号的使用条件。5)应注意输入模拟电压的连接,特别是多路模拟电压的切换控制。6)对于接地问题,为了减轻数字信号脉冲对模拟信号的干扰,数字地和模拟地需要正确连接。

在设计D/A转换器和微机接口时需要注意以下两点:1)要了解选用的D/A转换器本身是否带数据锁存器。若芯片内部带锁存器,就可以直接与CPU的数据总线相连接;若不带,在接口电路中就需要通过数据锁存器来连接CPU的数据总线和D/A转换器的数据线。2)要注意D/A转换器的位数和所要连接的微机数据总线的位数是否一致,以使决定在需要添加数据锁存器时,添加几级锁存器。如CPU的数据总线是8位,应使用大于8位的D/A转换器,通常采用两级缓冲结构与CPU数据总线相连。

A/D按转换的原理可分为4种:计数式A/D转换器、双积分式A/D转换器、逐次逼近式A/D转换器和并行式A/D转换器。目前,使用最多的A/D转换器是双积分和逐次逼近式A/D转换器。

(6)I2C(Intel Integrated Circuit)总线接口

当处理器内部I/O比较局限时,需要进行外部I/O扩展。一般的I/O扩展有两种形式:并行总线扩展和串行总线扩展。串行总线扩展通过串行接口来实现,这样减少了芯片的引脚数,简化了系统的体系,增加了系统的灵活型。目前,串行总线扩展有I2C共用双总线和SPI三线总线等。

引入I2C总线接口的原因:在消费电子、通信和工控的一些系统设计上都有很多相似部分,其中 包括1)都有一些智能控制,如使用微处理器;2)都有一些通用的电路,如LCD驱动、I/O端口、RAM、EEPROM和一些数据转换电路;3)有面向应用的电路,如数字解调和数字信号处理等。为了充分利用以上设计的相似之处,使硬件工作更有效,电路更简单,引入了I2C总线。I2C总线是一个简单的双向两总线。通过此总线对IC进行控制非常方便。

I2C总线的特点:1)它仅有两条总线信号线:SDA(Serial Data Line串行数据信号线)和SCL(Serial Clock Line串行时钟信号线)。2)每一个连在此总线的设备是可编址的。采用I2C总线连接的设备处于主从模式,主方既可接受数据,也可发送数据。3)I2C总线是一个真正多主总线,含冲突检测和竞争功能,从而确保当多个主方同时发送数据时不会造成数据冲突。4)I2C总线是一个串行的8位双向数据传送总线。在标准模式下,数据传输速率为100Kb/s;在快模式下,数据传输数率为400Kb/s;在高速模式下,数据传输数率为3.4Mb/s。

I2C总线的术语:传送器——将数据送到总线的设备

               接收器——从总线上接收数据的设备

               主设备——一个能发起传输,产生时钟同步和终止传输的设备

               从设备——能被一个主设备寻址的设备

               多主方——在同一时间有多个主设备想控制总线

               竞争——当存在多主方时,这些主方必须竞争确保只有一个获得总线

I2C总线是一种用于IC器件之间进行连接的二进制总线。它通过两根信号线(SDA和SCL)传输信息,并通过地址来识别连接此总线接口的设备,如存储器,键盘接口等。

SDA和SCL都是双向的I/O线,它们通过上拉电阻连接到正电源。当总线空闲时,两条信号线都是高电平,连接在总线上的器件的输出级必须是开漏或集电极开路,以实现线与功能。

I2C总线的数据传输可以从位传输和字节传输两方面介绍。当位传输时,必须有一个时钟脉冲产生。因此在I2C总线中接口连接器件的制作工艺不同(如CMOS,NMOS等),位的逻辑0和1的电平不是固定的,它根据连接的电源VDD来确定。

SDA数据线上数据要保持稳定,必须使时钟信号线为高电平;如果SDA数据线上的数据高低状态要变化,就需等待SCL时钟信号线为低电平。

在位传输时,有两个重要的传输位:START(开始位)和STOP(结束位)。START位处在当SDA信号线的状态由高到低转换且SCL信号线为低时。STOP位处在当SDA信号线的状态由低到高转换且SCL信号线为高时。

在字节传输时,传送到SDA线上的每一个字节必须为8位;每次传送的字节数不限;每一个字节后面必须跟一个响应位。数据在传输时,首先传输最有意义位(Most Significant Bit,MSB)。如果在传输的过程中,从设备不能一次接收完一个字节,此时它就使时钟置为低电平,迫使主设备等待;当从设备能接收下一个数据字节后,将释放SCL线,继续后面的数据传输。

(7)SPI总线接口

SPI总线是一个4线的串行通信接口总线。它也是一个同步的串行数据连接,支持在CPU和其他支持SPI的设备之间进行低(或者中)带宽的网络连接。它基本上是一个简单的同步串行接口,可用很少的信号线连接外部低速的设备。它工作在主从模式下。当两个设备通过SPI总线连接时,一个作为主设备,另一个作为从设备。主设备驱动串行时钟。当使用SPI时,数据可同时接收和发送,即SPI总线接口是全双工的接口。

SPI接口是Motorola在其MC68HCXX系列中定义的标准接口。它有4条信号线。

SCK(Serial Clock,串行时钟)信号线——由SPI总线上的主设备驱动。它可调整数据比特流。主设备可在不同的波特率下传输数据。SCK根据传输的每一位来循环。

MOSI(Master Out Slave In,主输出、从输入)信号线——数据从SPI总线的主设备输出,然后从SPI从设备输入。

MISO(Master In Slave Out,主输入、从输出)信号线——数据从SPI总线的从设备输出,然后从SPI的主设备输入。只有一个被选择的从设备能驱动从MISO输出。

SS(Slave Select,从设备选择)信号线——此信号通过硬件控制选择一个特殊的从设备,没被选中的从设备不与SPI总线交互。

SPI总线特性如下:具有全双工,3线同步传输;有主从工作模式;有1.05MHz的最大主机位速率;有4中可编程的主机位速率;可发送结束中断标志;有写冲突保护;有总线竞争保护。

您现在的位置: 上海速嵌 >> 技术库 >> 正文

分享到:

  相 关 技 术

固顶技术qPad一站式高效办公
固顶技术电机控制应用于医疗化工电子设备器械工业机器人自动化作业系统
固顶技术嵌入式软硬件设计服务
固顶技术声音图像语音视频通信系统
固顶技术工业传感器64路数据采集和监控
固顶技术高精度16路传感器数据采集和处理
固顶技术GPS导航定位监控行业应用方案 LBS (Location Based Service)
固顶技术Samsung S3C2440/S3C6410/S5PV210 工业产品级主板和解决方案
固顶技术GIS系统Mapinfo格式嵌入式GPS导航应用
普通技术机械臂定制
普通技术非标机械臂
普通技术机械手定制
普通技术机械臂开发
普通技术机械臂设计
普通技术机械臂
普通技术双赢双屏
普通技术众筹开发
普通技术可穿戴解决方案
普通技术imx6som卡片式计算机评估板
普通技术imx6单板工控主板火星板
普通技术imx6单板工控主板
普通技术硬件定制
普通技术远程现场呈现替身机器人
普通技术智能脉搏手表
普通技术悠牌电脑桌
普通技术OMAP4460 Pandaboard
普通技术Exynos4412评估板
普通技术iMX6SOM评估板
普通技术OMAP4460评估板
普通技术OMAP5432评估板
普通技术MK802 Linux系统
普通技术多频段RFID 3G平板
普通技术超远距离RFID终端
普通技术智能打印POS机
普通技术工业级WM智能手机
普通技术工业级Android手机
普通技术身份证识别工业平板
普通技术工业级3G平板电脑
普通技术工业安卓手持终端
普通技术GPU性能比较
普通技术Raspberry Pi 树莓派
普通技术linux qt软件开发
普通技术手机开发制造的全流程
普通技术移动嵌入式数据库市场与技术
普通技术Linux嵌入式文件系统横向对比分析
普通技术小票打印机
普通技术移动支付刷卡对比
普通技术刷卡魔块
普通技术微型UPC电脑
普通技术安防套装
普通技术USB摄像头
普通技术在线购买
普通技术技术参数
普通技术安装使用
普通技术工厂案例
普通技术公司案例
普通技术超市案例
普通技术增值功能
普通技术视频监控
普通技术在线订购
普通技术增值功能
普通技术功能介绍
普通技术最值得关注的主要嵌入式产品市场
普通技术意法半导体推出内置9轴MEMS传感器的STM32 F3开发套件
普通技术安卓Android工业平板电脑工业显示器
普通技术阳光下可视高亮度大尺寸LED显示屏
普通技术TTL转LVDS转换模块
普通技术嵌入式系统开发
普通技术3D打印机
普通技术vTigerCRM简介
普通技术功能框图
普通技术CRM作用价值
普通技术CRM与企业挑战
普通技术CRM与企业决策
普通技术CRM基础理论
普通技术国内3D打印产业与市场现状
普通技术无线医疗的机遇与挑战
普通技术EMI 来自哪里?EMI 如何通过介质干扰电路
普通技术硬件隔离保护设计 接口i2c rs232串口 485 can
普通技术Android平板电脑控制串口设备
普通技术摄像头汽车防碰撞系统
普通技术大运航海
普通技术系统说明
普通技术基于嵌入式S3C2440的船舶导航系统设计
普通技术智能家居
普通技术微虎CRM
普通技术ADI全系列仿真器ADZS-USB-ICE
普通技术九维航姿微系统电子罗盘电子陀螺仪
普通技术电子货架标签
普通技术ADDA-PWM板
普通技术网络音频板
普通技术电子产品制造服务
普通技术网络摄像头模块方案
普通技术警用警务警帽录像系统
普通技术S3C2416手持机
普通技术S3C6410手持机型
普通技术船舶船载电子海图系统和自动识别系统
普通技术HMI技术在工业控制领域的广泛应用
普通技术嵌入式组态软件和标准版组态软件的区别
普通技术光伏正弦波逆变电源
普通技术汽车电脑车载电脑汽车中控
普通技术健康监护系统
普通技术音频视频无线传输模块
普通技术广告机-支持无线网络
普通技术人体防摔安全气囊
普通技术iPhone 4拆解分析
普通技术Stellaris(群星)系列 ARM
普通技术嵌入式开发流程详解
普通技术系统移植和集成
普通技术嵌入式设备驱动程序开发
普通技术板级支持包(BSPs) 开发
普通技术电路原理图设计开发
普通技术PCB设计布线Layout
普通技术OMAP-L138 开发板
普通技术互动式手写电子白板
普通技术魔杖遥控器
普通技术便携式车载逆变器
普通技术电子血压计方案
普通技术IC智能卡刷卡机
普通技术汽车定位/调度/刷卡交费终端
普通技术汽车检测仪
普通技术微型潜水电脑
普通技术压力检测系统
普通技术网络音频终端
普通技术HMI人机界面定制开发
普通技术全球MEMS应用及其市场状况
普通技术EMC设计
普通技术ARM嵌入式数控系统
普通技术基于MSP430内嵌温度传感器的温度告警系统
普通技术语音通信系统中的噪声产生和影响
普通技术MP3算法实现
普通技术ITU G.729(CS-ACELP共扼结构-代数码激励线性预测)语音算法
普通技术ITU G.729(CS-ACELP共扼结构-代数码激励线性预测)语音算法
普通技术ITU G.723.1(ACELP代数码激励线性预测)语音算法
普通技术EVRC(Enhanced Variable Rate Codec)增强型多速率语音算法
普通技术语音通信系统中的回声产生和影响
普通技术语音通信系统中的回声产生和影响
普通技术AMR Wideband(Adaptive Multi Rate)宽带自适应多速率语音算法
普通技术AMR(Adaptive Multi Rate)自适应多速率语音算法
普通技术专业的音频视频算法处理
普通技术AAC(Advanced Audio Coding)
普通技术土壤水温监测系统
普通技术公司新闻
普通技术压力控制系统
普通技术中央空调控制系统
普通技术有关传感器与数据采集卡
普通技术S3C6410开发平台
普通技术S3C6410 移植Android 内核
普通技术S5PC110开发板
普通技术条形码识别软件
普通技术嵌入式系统硬件基础
普通技术各种认证,设计制造须知
普通技术Wiegand协议
普通技术使用PWM调光
普通技术TI DM6467 1080 高清编解码
普通技术电子设备产品机箱外壳设计
普通技术有源噪声消除 (ANC)
普通技术数字音频广播
普通技术汽车仪表板
普通技术汽车门禁系统
普通技术汽车车身控制器
普通技术车用信息娱乐
普通技术车用视觉控制
普通技术便携产品个性设计启示
普通技术投影仪、高清和低功耗 -- 多元化的手机设计
普通技术胎压计方案
普通技术G.723.1编解码算法的DSP实现
普通技术G.729A语音编码实时实现在TMS320VC5416 DSP上
普通技术GPRS数据传输终端
普通技术音频编解码标准汇总
普通技术语音识别技术简述
普通技术Iridix VEE
普通技术如何让便携式多媒体系统实现高质量音频
普通技术新AMR WB+音频/语音编解码器将在SoCIP2008展示
普通技术精心打造音视频领域的中国芯
普通技术PureSpeech蓝牙音频增强技术
普通技术语音识别应用中DSP
普通技术VoIP综合应用技术概述
普通技术VoIP中语音压缩编码技术的研究与性能分析
普通技术EVRC and G.729AB Transcoding
普通技术怎样选择嵌入式媒体处理器
普通技术TI达芬奇技术再战视频转码市场
普通技术土豆网紧跟Adobe步伐第一时间推出"清晰版"
普通技术VoIP电话发展简史
普通技术H.264简介
普通技术Internet语音通信中的回声消除技术