当前位置:首页 > 理及应
  • 基于二维码的物流管理及应用

    摘要:在中国“十二五”规划中,物联网产业已经成为发展的重点领域,其中智能物流在电子商务中的应用地位尤其显得突出。面对我国物流管理中存在的一些问题,文章提出了基于二维码应用的物流管理系统的设计思想,以期望在一定程度上能够解决这些问题。 关键字:物联网;二维码;物流管理;智能手机 0 引言     21世纪的第一个十年,互联网信息技术迅猛发展,人们的生活方式发生巨大变化;而第二个十年,代表第三次信息产业浪潮的物联网正以雷霆万钧之势呼啸而来,它带给世界的变化,更是翻天覆地。在此期间,各个国家都积极制定了自己将来的物联网发展规划,这将势必引发全球发展的新浪潮。     作为中国,在“十二五”规划里,明确了今后物联网产业发展的重点领域,主要包括智能交通、智能物流、智能电网、智能医疗、智能家居、智慧城市、国防与军事等领域。其中,物流管理在电子商务中的应用地位尤其显得突出。智能物流的出现,标志着信息化在整合网络和管控流程中进入到一个新的阶段,也进入到一个动态的、实时进行选择和控制的管理水平。     但是,我国物流管理的问题主要集中在成本普遍偏高和网络化水平低两个方面。据此,本文主要通过物联网的关键技术之一,即二维码在电子商务的物流管理中的应用,来实现智能物流管理,以在一定程度上实现根据客户的需求来确定信息化的定位。 1 应用技术 1.1 二维码     二维码(Dimensional Bar Code)是二维条形码的一种,可以将网址、文字、照片等信息通过相应的编码算法编译成为一个方块形条码图案,手机用户可以通过摄像头和解码软件将相关信息重新解码并查看内容,如图1所示就是一个二维码的实例图案。     二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;它在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,可通过图像输入设备或光电扫描设备自动识读,以实现信息自动处理。常用的二维码制有Data Matrix、Maxi Code、Aztec、OR Code等。 1.2 二维码信息制作软件——Psytec QR Code Editor     Psytec QR Code Editor是一款二维码信息制作软件,可以输入包括电话簿、电子邮件、网络地址、文本等信息,其Psyrtec OR Code Editor软件的操作界面图如图2所示。 [!--empirenews.page--]     QR码是二维码的一种,QR来自英文“Quick Response”的缩写,即快速反应的意思,源自发明者希望QR码可让其内容快速被解码。QR码比普通条码可储存更多资料,QR码呈正方形,只有黑、白两色。在4个角落的其中3个,印有较小,像回”字的正方图案。这3个是帮助解码软件定位的图案,使用者不需要对准,无论以任何角度扫描,资料仍可正确被读取。 1.3 智能手机二维码扫描软件——QR Droid Private     QR Droid Private是一款基于Android平台的完整QR二维码识别软件,用于生成和扫描QR码,其用户界面如图3所示。     QR二维码识别软件的特点如下:     (1)通过摄像头可以轻松扫描QR码、存储在设备上的QR码图片或者在因特网上的带URL链接的QR码;     (2)根据您的联系人、书签或者安装的软件,或选择一个您要编入二维码的信息项,可快速创建二维码,以供浏览或搜索;     (3)可根据日历项、电话号码、地理位置信息、短信建立任何您想要做成二维码的文本。     (4)QR Droid会存储您创建的与识别过的每一个二维码历史记录,并可检索和浏览。     (5)QR Droid可在识别QR码后执行操作,例如保存联系人、展示地图、拨号、发送电子邮件、发送短信等。     (6)通过识别网页上的QR码,可以自动安装Android应用程序。 2 设计过程 2.1 设计的基本思想     在电子商务领域中,物流管理显得非常重要。其一般流程如下:供应商按照客户订货数量进行发货,然后通过运输部门提供交通工具(比如火车、飞机等)运到目的地,再交给客户。在这种长时间的等待过程中,不可避免地会发生一些问题(比如物品的损伤、丢失等),而且供应商与客户无法及时知道,那怎样才能较好地解决这类问题呢?     下面介绍基于二维码的物流管理应用的基本设计思想来解决上面出现的问题。图4所示是本设计的基本思想图。 [!--empirenews.page--] 2.2 开发与测试过程     现以供应商与客户之间订购《大学计算机基础》教材为实例,按照其开发的设计思想来测试其应用性与时效性。     第一步,供应商可利用Psyrtec QR Code Editor软件,为客户订购的《大学计算机基础》教材进行二维码信息的制作,具体信息包括客户的姓名、电话号码、邮件地址、电子邮件以及教材的具体信息等,设计如图5所示的二维码。     第二步,供应商可以通过智能手机与运输部进行对话,通过GPS将其运输商品的交通工具(飞机、火车)位置信息实时发给供应商,以了解商品的准确位置与状态。     第三步,商品到达客户的邮件地址后,客户利用智能手机二维码扫描软件(QR Droid Private)对其二维码进行扫描,以确认信息是否无误。对于本例,其扫描识别的结果如图6所示。 3 结语     本文介绍了基于二维码的物流管理应用的基本设计思想,同时通过相应测试验证了其实用性与时效性。该方法可在一定程度上解决我国传统物流管理中存在的一些问题,促进智能物流管理领域的发展。

    时间:2013-01-23 关键词: Android 理及应 于二维

  • Arduino的原理及应用

    摘要:Arduino是目前较为流行的电子互动平台,基于单片机系统开发,具有使用简单、功能多样、价格低廉等优点,广泛应用于电子系统设计和互动产品开发方面。文中详细介绍了Arduino的功能特点、基本结构,并通过LEO控制电路的应用给出了具体的使用方法。 关键词:电子设计;控制电路;Arduino;LED     Arduino是2005年1月由米兰交互设计学院的两位教师David Cuartielles和Massimo Banzi联合创建,是一块基于开放原始代码的Simple I/O平台,该平台由两部分组成:硬件(包括微处理器、电路板等)和软件(编程接口和语言)。平台的两部分都是开源的,如果需要,可以下载Arduino的图表、购买需要的所有独立部件、切割电路板并制作一个电路板。Arduino具有类似java、C语言的开发环境。可以快速使用Ardu ino语言与Flash或Processing等软件完成互动作品。Arduino能够使用开发完成的电子元件,如Switch、Sensors或其它控制器、LED、步进电机或其它输入/输出装置,同时,Arduino也可以成为独立与软件沟通的平台,如flash、Processing、Max/MSP或其它互动软件。 1 功能特点     Arduino在开发之初,就明确了其应用环境,设计了开源开放的平台,便于对其进行二次开发。Arduino的主要功能特点如下:     1)开放源代码的电路图设计。程序开发接口免费下载,也可依需求自己修改。     2)使用低价格的微处理控制器(ATmega8或ATmega128)。可以采用USB接口供电,不需外接电源,也可以使用外部9VDC输入。     3)支持ISP线上烧入器,将Bootloader固件烧入芯片。Arduino控制器内带Bootloader程序,是系统上电后运行的第一段代码,就好比PC机BIOS中的程序,启动就进行自检,配置端口等等,当然,单片机是靠烧写熔丝位来设定上电从boot区启动的,使用这个程序就可以直接把从串口发来的程序存放到flash区中。所以,使用Arduino编译环境下载程序时,就先让单片机复位,启动Boodoader程序引导串口发过来的程序顺利写入flash区中,flash可以重复烧写,因此想更新软件非常方便。有了Bootloader之后,可以通过串口或者USB to RS232线更新固件。     4)可依据官方提供的PCB和SCH电路图,简化Arduino模组,完成独立运作的微处理控制。     5)可简单地与传感器,各式各样的电子元件连接,如红外线、超音波、热敏电阻、光敏电阻、伺服马达等。     6)支持多样的互动程序,如Flash,Max/MSP,VVVV,PureData,C,Processin等。使用低价格的微处理控制器。     7)应用方面,利用hrduino,突破以往只能使用鼠标、键盘、CCD等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。Ard uino的功能特点,使其得到了越来越广泛的应用。 2 基本结构     Arduino系统针对不同的应用环境还开发了不同的版本,文中以“Arduino Duemilanove”版本为例介绍,该版本于2009年开发,基于ATm ega328微控制器板,能自动选择何种供电,直接将它用USB线连上计算机或者用一个电源适配器给它供电,就可以开始使用。Arduino Duemilanove的外部结构如图1所示。     1)1个9V DC输入,为Arduino板提供外部电源输出,使Arduino控制板具有能够驱动舵机等大功率外部设备的能力;     2)1个USB口,通过该口连接到计算机,由Arduino的IDE将用户编写好的控制程序上传到控制板中,同时还可以通过该口为电路板供电,驱动小功率的外部设备;     3)14个数字输入/输出端,其中端口0(RX)和1(TX)分别连接主控芯片的串行引脚,用来接收和发送TTL串行数据。其中端口2、3可以接收外部信号,实现外部中断功能;端口3、5、6、9、10、11作为PWM端口,可用于电机PWM调速[5]或音乐播放;端口10(SS)、11(MOSI)、12(MISO)和13(SCK)在SPI模块库的支持下,可以提供SPI通信模式;端口13内部连接了一个LED指示灯,随着13脚上电平的高低变化,实现开启和关闭;     4)6个模拟输入/输出端,其中端口4(SDA)和端口5(SCL)端口可以实现I2C通信;     5)1个5 V DC输出和1个3.3 V DC输出,可为其它电路提高3.3 V和5 V直流电源;     6)1个复位接口。     Arduino系统是基于单片机开发的,并且大量应用通用和标准的电子元器件,包括硬件和软件在内的整个设计,代码均采用开源方式发布,因此采购的成本较低,在各种电子制作竞赛、电子艺术品创意设计等越来越多地使用Arduino作为开发平台。 3 应用     Arduino系统在电子设计等方面应用较多,本文以简单的LEO控制为例,说明Arduino系统的使用。     LEO控制系统中,采用开关S控制LED的亮灭,设开关S闭合时,LED发光,S断开时,LED熄灭。因此,系统设计时采用数字输入/输出口的两个引脚分别进行LED和S开关的连接,电路如图2所示。 [!--empirenews.page--]     Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduno语言将AVR单片机(微控制器)相关的一些参数设置模块化,包括EEPROM、以太网、LED矩阵、舵机、步进和TWI/I2C控制程序库,不需要用户直接处理底层系统,可以提高应用程序的开发效率。流程如图3所示。     Arduino语言是以setup()开头,loop()作为主体的一个程序构架。setup()用来初始化变量、管脚模式、调用库函数等等,该函数只运行一次,功能类似C语言中的“main()”。loop()函数是一个循环函数,函数内的语句周而复始的循环执行。设通过D10引脚控制LED,D2引脚连接控制开关S,主要代码如下:             Setup函数中,pinMode函数是数字I/O口输入输出定义函数,可以定Arduino上0~13口的输入输出状态,INPUT和OUTPUT分别表示输出和输出模式。loop函数中,digitalRead为数字I/O口读取电平值函数,digitalWrite为数字I/O口输出电平定义函数。本例中在setup函数中,将端口2定义为数字信号输入端口,将端口10定义为数字信号输出端口;在函数loop中,首先读入端口2的电平信号,然后依据该端口电平值的高低,设置输出端口10的电平值。     将编写好的控制代码通过Arduino的IDE上传到控制板之后,关闭或者打开开关S,便会观察到LED的亮灭情况。 4 结论     Arduino系统是建立在C/C++基础上的,也就是基础的C语言,Arduino系统只是将AVR单片机(微控制器)相关的一些寄存器参数设置等都函数化了,即使不太了解AVR单片机的朋友也能轻松上手,设计出各种实用的电路开发系统。

    时间:2012-11-18 关键词: Arduino iOS 理及应

  • 图像信号处理芯片AK8408的原理及应用

    AK8408是日本旭化成(株)研制的新一代专用于处理CCD、CIS等彩色/黑白图像传感器输出信号的专用芯片。它将图像传感器输出的模拟信号转换成数字信号输出给用户。同时,根据用户自己的设置,可以将图像传感器的明输出偏差值与暗输出偏差值进行先期处理。 主要性能介绍 AK8408是CMOS单片结构,5V单一电源(5V±5%),内置基准电压电路,100PIN LQFP的封装形式。主要性能包括: 彩色传感器用寄生信号补偿LSI 对应1CH、G/R/B3CH输出的传感器,产生传感器用的CLK、最大输入电平1.25VP-P。 输入图像信号数据的速度:1CH时,10M像素/秒;3CH时,3.3M3像素/秒。 可对应最大像素数是81923(可以8像素为1个单位设定)。 内置图像信号转换用10位ADC和两个8位DAC设定暗/明基准电压 内置检测全像素明电平补偿值的用ADC和补偿用模拟除法器。 内置3CH的偏差检测/补偿用的ADC/DAC。 3CH增益调整用PGA(8位、1倍~4倍)、内置增益调整功能。 LED点灯时间调整功能,内置峰值检测/保持电路(8位)。 串行接口。 CLK:1.5MHZ~10MHZ。 内部功能电路说明 1.基准电压生成电路: 将电源电压用电阻分压,生成基准钳位电压VCLP=2.1V。 使用基准电压电路,生成明电平侧基准电压VREF=0.85V。 2.传感器信号输入电路: 输入信号是负逻辑(负向为输入信号的明电平方向)。 3个通道分别内置钳位电路和采样保持电路,可以通过设定寄存器来选定1个通道工作(10MHZ)或3个通道工作(3.3MHZ)。 由内置的模拟开关和外部的电容构成直流再生电路。 3.暗补偿值检测ADC/补偿电路: 将指定的像素或全像素的模拟输入信号与钳位电压的差值用8位AD转换器转换成数字信号,并作为补偿值。可以检测、补偿相对于钳位电压的正、负两个方向的暗偏差值。 补偿就是用模拟输入信号减去补偿值。补偿范围可以由寄存器来规定,一般是 50mV~ 200mV,用 50mV为一个单位变换。为了消除LSI初期的放大器的偏差信号(最大为25mV),用寄存器可以设定可检测的动态量程在25mV的狭窄范围内。 暗补偿电路不能消除该电路以后的电路产生的偏差。为了消除它,可以适当调整被检测的偏差数据。调整用数据根据暗补偿值偏差调整用寄存器设定。 4.PGA电路: 增益调整电路的作用是使各通道的信号幅度保持同一水平。 暗补偿后的信号以VCLP为基准调整增益。根据PGA增益寄存器的设定,可在1~4倍内适当调整增益。 5.峰值检测/保持电路: 由逐次比较型8位ADC(峰值检测电路)和8位DAC(峰值保持电路)以及它们之间的数字电路构成。 峰值检测电路的输入信号,在峰值检测模式时成为暗补偿后的信号、在读取模式时成为暗/明补偿后的正规化信号。 6.明补偿值检测/补偿电路: 把用峰值检测模式检测的峰值电压(VPEAK)作为明电平侧基准、把VCLP的40%作为暗电平侧的基准。全像素范围内,把钳位电压与模拟输入信号的差值用9位ADC进行AD转换,并作为补偿值。 补偿就是把检测到的补偿值作为放大数据再进行模拟计算。 7.用于图像信号转换的10位ADC用的基准电压生成DAC(暗/明): 内置产生相对于VCLP与VPEAK的相对电压的两个8位DAC,作为图像信号转换的10位ADC用的暗、明基准电压。 8.图像信号转换用的10位ADC: 内置把暗/明补偿后的模拟输入信号进行最后AD转换的10位ADC。 把基准电压生成DAC生成的基准电压(VWHT、VBLK)作为满量程进行10位AD转换。 9.暗偏差调整电路: 为了调整明电平检测/补偿电路前面的内部偏差值,要用暗补偿值对偏差进行计算。 10.ADC偏差调整电路: 为了调整明电平检测/补偿电路后面的内部偏差值,要在ADC输入端对偏差进行计算。 各种传感器及输入电路控制 MUX电路控制 在3CH彩色传感器中,彩色/黑白处理的区别,或者,前期处理时输入通道的设定等,根据通道使能寄存器来设定。 3CH彩色传感器(彩色处理) 1.采样速度最大为3.3M/sec,图像信号处理速度最大为10M/sec; 2.3CH同时采样,然后按照设定的采样顺序,切换MUX; 3.被采样的N 3个数据,如下图所示,相互交替排列成一线数据输入; [3CH彩色传感器的输出](图1) (例如:CN0对应GREEN、CN1对应RED、CN2对应BLUE的输入场合) [3CH传感器彩色处理](图2) (例如:采样顺序设定为CN0→CN1→CN2时) 1CH彩色传感器(彩色处理) 1.采样速度与图像处理速度相同,最大为10M/sec; 2.传感器输出信号从CN0输入,CN1、CN2开路; 3.随着每线输入信号颜色的变化,LSI内部的处理颜色也变化; 4.彩色处理顺序用采样顺序设定寄存器设定,GRB各色数据分别采样; [1CH彩色传感器的输出](图3) [1CH彩色传感器的处理](例如:采样顺序设定为G→R→B)(图4) 传感器通道切换模式(彩色处理) 1.采样速度与图像处理速度相同,最大为10M/sec; 2.切换每线采样通道,按照采样顺序的设定来切换MUX。与此相对应,LSI内部的处理颜色也变化; 3.彩色处理顺序用采样顺序设定寄存器设定,GRB各色数据分别采样; [传感器通道切换模式时彩色传感器的输出] (例如:采样顺序设定为G→R→B的输入场合)(图5) [3CH传感器彩色处理] 例如:采样顺序设定为CN0-CN1-CN2时。(图6) 7种工作模式及内部寄存器 AK8408有地址是从00H到2AH的共计43个内部功能设定寄存器,它控制着AK8408的所有操作及七种基本工作模式。其中对通道的选择、操作过程基本如下: 通过AK8408的3位控制寄存器(R12/D2、R12/D1、R2/D0),专门用于控制各个通道的使能/禁止。0:禁止;1:使能。使用传感器时,本寄存器的设定方法如下所示(以3CH彩色传感器为例)。 1.偏差校准模式1:需要各个通道分别进行,用本寄存器依次设定需要处理的各个通道。实施本模式,一次仅能使能一个通道。 2.偏差校准模式2:与本寄存器无关,将通道全部使能。 3.检测暗补偿值:需要各个通道分别进行,用本寄存器依次设定需要处理的各个通道。 4.增益调整:需要各个通道分别进行,用本寄存器依次设定需要处理的各个通道。 5.峰值检测:与本寄存器无关,将通道全部使能。 6.检测明补偿值:需要各个通道分别进行,用本寄存器依次设定需要处理的各个通道。 7.读取:将通道全部使能。

    时间:2012-04-09 关键词: ak8408 理芯片 理及应 设计教程

  • 光电旋转编码器的原理及应用方法

    WinCE下光电编码器的驱动程序设计 近年来,嵌入式技术发展迅速,嵌入式系统在各行各业得到了广泛的应用。然而,由于嵌入式计算机的专用性,系统的硬件、软件结构千差万别,其输入设备也不再像通用计算机那样单一。嵌入式计算机的输入没备一般有鼠标、键盘、触摸屏、按钮、旋钮等,而光电编码器(俗称“单键飞梭”)作为一种输入设备,由于其具有输入灵活,简单可靠等特点,因此特别适合应用在嵌入式仪器和手持式设备上,整个系统可以只用一个键作为输入。触摸屏由于其方便灵活、节省空间、界面直观等特点也备受青睐,但存在寿命短,长时间使用容易产生误差等缺点。如果用光电编码器辅助触摸屏作为输入设备,必将大大增强系统的可靠性,使得人机接口更加人性化。但由于光电编码器并不是WinCE的标准输入设备,因此其驱动程序在嵌入式操作系统Windows CE Platform Builder中并未给出。本文以三星公司S3C2410(ARM9芯片)为CPU的嵌入式系统开发板为平台,详细阐述了嵌入式操作系统WinCE下光电编码器驱动程序的设计方法,以供同行参考。   1 光电编码器的工作原理   光电编码器(OptICal Encoder)俗称“单键飞梭”,其外观好像一个电位器,因其外部有一个可以左右旋转同时又可按下的旋钮,很多设备(如显示器、示波器等)用它作为人机交互接口。下面以美国Greyhill公司生产的光电编码器为例,介绍其工作原理及使用方法。光电编码器的内部电路如图1所示,其内部有1个发光二极管和2个光敏三极管。当左右旋转旋钮时,中间的遮光板会随旋钮一起转动,光敏三极管就会被遮光板有次序地遮挡,A、B相就会输出图2所示的波形;当按下旋钮时,2、3两脚接通,其用法同一般按键。      当顺时针旋转时,光电编码器的A相相位会比B相超前半个周期;反之,A相会比B相滞后半个周期。通过检测A、B两相的相位就可以判断旋钮是顺时针还是逆时针旋转,通过记录A或B相变化的次数,就可以得出旋钮旋转的次数,通过检测2、3脚是否接通就可以判断旋钮是否按下。其具体的鉴相规则如下:   A为上升沿,B=0时,旋钮右旋;   B为上升沿,A=l时,旋钮右旋;   A为下降沿,B=1时,旋钮右旋;   B为下降沿,A=O时,旋钮右旋;   B为上升沿,A=0时,旋钮左旋;   A为上升沿,B=1时,旋钮左旋;   B为下降沿,A=l时,旋钮左旋;   A为下降沿,B=0时,旋钮左旋。   通过上述方法,可以很简单地判断旋钮的旋转方向。在判断时添加适当的延时程序,以消除抖动干扰。   2 WinCE提供的驱动模型   WinCE操作系统支持两种类型的驱动程序。一种为本地驱动程序,是把设备驱动程序作为独立的任务实现的,直接在顶层任务中实现硬件操作,因此都有明确和专一的目的。本地设备驱动程序适合于那些集成到Windows CE平台的设备,诸如键盘、触摸屏、音频等设备。另一种是具有定制接口的流接口驱动程序。它是一般类型的设备驱动程序。流接口驱动程序的形式为用户一级的动态链接库(DLL)文件,用来实现一组固定的函数称为“流接口函数”,这些流接口函数使得应用程序可以通过文件系统访问这些驱动程序。本文讨论的光电编码器就属于流接口设备。   2.1 流设备驱动加载过程   WinCE.NET系统运行时会启动负责流驱动的加载进程DEVICE.exe。DEVICE.exe进程对驱动的加载是通过装载注册表列举器(RegEnum.dll)实现的。在WinCE.NET中,所有设备的资源信息都由OAL负责记录在系统注册表中,RegEnum.dll一个一个扫描注册表项HEKY_LOCAL_MACHINEDriverBuiltIn下的子键,发现新设备就根据每个表项的内容进行硬件设备初始化。   2.2 中断与中断处理   如果一个驱动程序要处理一个中断,那么驱动程序需要首先使用CreateEvent函数建立一个事件,调用InterruptInitialize函数将该事件与中断标识绑定。然后驱动程序中的IST就可以使用WaitForSing|eObject函数来等待中断的发生。在一个硬件中断发生之后,操作系统进入异常处理程序,异常处理程序调用OAL的OEMInterruptHandler函数,该函数检测硬件并将中断标识返回给系统;系统得到该中断标识便会找到该中断标识对应的事件,并唤醒等待相应事件的线程(IST),然后IST进行中断处理。处理完成之后,IST需要调用InterruptDone函数来告诉操作系统中断处理结束,操作系统再次调用OAL中的OEMInterruptDone函数,最后完成中断的处理。图3为WinCE.NET中断处理的流程框图。    [!--empirenews.page--] 3 光电编码器驱动程序的设计   3.1 光电编码器与S3C2410的硬件接口   光电编码器与S3C24lO的接口电路如图4所示。光电编码器的A、B相为集电极开路输出,由于S3C2410的I/O口电平为3.3 V,所以将其通过电阻上拉到3.3V后再分别接到CPU的EINT0和EINT1上;将Pl直接接到3.3V,P2通过电阻下拉到GND。当旋钮按下时,P2口输出为高电平,否则输出为低电平。      工作状态下,将EINTO、EINTl配置成上升沿和下降沿均触发的外部中断,将EINT2配置成上升沿触发的中断,旋钮按下时EINT2引脚产生上升沿触发中断。   3.2 外部中断初始化及中断服务程序的编写   首先必须完成CPU的I/O口和中断的初始化工作,然后再编写中断处理程序。具体分为4个步骤:   初始化I/O口。在Port_Init()函数中,将EINT0和EINTl初始化为上升沿和下降沿均触发的中断。将EINT2初始化为上升沿触发的中断。   添加中断号。在oalint.h下添加光电编码器中断向量的宏定义。代码为#define SYSINTR_OED(SYSINTR_FIRMWARE+20)   添加中断的初始化、禁止、复位等函数,分别在OEMInterruptEnable()、OEMInterruptDisable()、OEM-InterruptDone()等函数中加入相关代码。   返同中断标识,由OEMInterruptHandler()函数返回中断标识(SYSINTR_OED)。   3.3 编写流接口驱动程序   Windows CE.net把中断处理分成两个部分:中断服务程序(ISR)和中断服务线程(IST)。TSR通常要求越短、越快越好,它的唯一任务就是返回中断标识。正由于ISR很小,只能做少量的处理,因此中断处理器就调用IST执行大多数的中断处理。中断服务线程(IST)在从waitForSingleObject()函数得到中断已经发生的信号前一直保持空闲;当接收到中断信号后,它就在本机设备驱动程序的PDD层调用子程序,这些程序反过来访问硬件以获得硬件的状态。IST使用InterruptInitialize()函数来注册自己,然后使用WaitForSingleObject()函数等待中断信号。如果这时中断信号到来,则应将光电编码器的状态记录下来,保存在变量OED_Status中。OED_Status=1表示旋钮按下,OED_Status=2表示旋钮逆时针旋转,OED_Status=3表示旋钮顺时针旋转。   这里还有一种比较简单的鉴相规则,具体步骤是,当创建线程时读出EINTl的电平状态并保存在变量PreEINTl中,每次中断到来时首先判断EINT2是否为高电平。如果为高电平,则说明按钮按下;如果EINT2为低电平,则判断EINTO电平是否与PreEINTl相同。如果相同,则说明旋钮逆时针旋转;反之,旋钮顺时针旋转,判断的流程如图5所示。    [!--empirenews.page--]  Windows CE流接口驱动程序模型要求驱动程序开发者编写10个接口函数,针对光电编码器的驱动主要应完成设备初始化和数据读取2个函数的编写。WindowsCE设备文件名前缀由3个大写字母组成,操作系统使用这3个字母来识别与流接口驱动程序相对应的设备。这里定义设备文件名前缀为“OED”(OptICal Encoder),其中设备初始化函数OED_Init()在Windows CE装载驱动程序时用于创建中断事件和中断服务线程。在函数OED_Read()中将光电编码器的状态(OED_Status)返回。   3.4 封装驱动程序并加入到WinCE中   根据上述方法编译出动态链接库(DLL)还不够,因为它的接口函数还没有导出,还需要告诉链接程序输出什么样的函数,因此必须建立一个后缀名为def的文件。在本设计中为OpticalEnccder.def。下面是此文件的内容:      一个具体的流接口驱动程序和注册表是密不可分的。向WinCE内核添加注册表项的方法有两种:一种是直接修改Platform Builder下的reg文件;另一种是自己编写一个注册表文件,通过添加组件的方法将动态链接库文件添加到内核中。这里用第2种方法,将OpticalEncoder.dll添加到内核中。编写的注册表文件内容如下:      最后编写一个CEC文件,完成对定制内核注册表部分的修改并将OpticalEncoder.dll添加到系统内核中去,然后在Platform Builder中就可以直接添加已经编写好的驱动程序了。   结语   本文主要介绍了光电旋转编码器的原理及应用方法,并详细介绍了WinCE驱动程序的结构,成功地开发出了光电编码器在嵌入式操作系统WinCE下的驱动程序。实验证明,该方法正确可行,程序运行稳定可靠。

    时间:2012-03-11 关键词: WinCE 方法 理及应

  • Nos-wifi原理及应用

    目前,在无线监控、工业控制、视频传输等行业应用中,嵌入式无线系统主要采用以NORDIC解决方案为代表的无操作系统环境,该方案由“CPU+无线数传模块”构成,能够实现短距离低带宽无线通信。但由于窄带无线通信的技术所限,只能实现2Mbps的最大传输速率,对应在实际视频传输中,只能满足10米内320*240下小于15帧/秒的应用。随着市场对更大屏幕、更快的传输速率、更流畅的视频效果的需求,这一解决方案将远远满足不了人们的需求。系统升级需要WLAN这样的宽带无线传输设备,传统的升级做法为在原有系统架构下,增加Flash、SDRam,并运行一套嵌入式操作系统来驱动WLAN模块,不但大大增加了系统成本,而且产品开发难度增大,周期延长,不利于新产品的推出。 WLAN作为无线局域网通信中应用最为广泛的技术,早已从PC/笔记本市场,逐渐延伸到了音视频、手持终端、无线城市覆盖、工业应用等人们日常生活的方方面面,将人们的生活带入了便利的智能化无线时代。   北京中电华大电子设计有限责任公司推出的Nos-WiFi产品(如图1所示)改变了这一现状。华大电子多年来致力于WiFi核心芯片及模块产品的研究和开发,至今已经成功量产了天联系列(Airquick)3款同时支持国内(WAPI)/国际(11i)安全标准的芯片,并以此为基础,推出了近十款WLAN模块产品,产品应用覆盖了笔记本、USB外置无线网卡、家庭音视频、安防监控、运营商热点产品、家庭网关、工业应用、智能交通等各个领域。       Nos-WiFi系列模块产品是为了满足工业应用、安防监控等领域中,现有产品的无线功能升级的需要而研发的,其最大的特点在于:它提供了一个不基于任何操作系统的驱动软件,可以集成到任何的系统平台中运行,并实现高速的数据传输,使得没有操作系统也能使用WiFi进行视频传输成为可能。其驱动软件结构如图2所示:       本产品集成到主机系统中的位置如图3所示:       Nos-WiFi的特点和现状 [!--empirenews.page--] 对于市面上的大多数基于802.11b/g/n标准的USB无线模块来说,它们绝大多数都应用在PC平台上,因此,这些usb无线模块的厂商通常只能提供基于windows或linux环境下的驱动程序,相应的在嵌入式应用中,只有使用了诸如WinCE、嵌入式linux操作系统的嵌入式系统平台才能应用这些产品。而对于那些自身硬件资源有限,处理能力较低的嵌入式设备来说,WinCE和嵌入式linux无疑是一个庞然大物,只使用一些简单的支持调度功能的操作系统甚至是不使用任何的操作系统是它们唯一的选择。而在这些系统上却没有可供使用的USB无线模块。即使这些厂商迫于压力升级了系统的硬件以满足使用USB无线模块的需求,但是由此而增加的成本也大大降低了产品的竞争力。例如,在一个典型的支持WiFi功能的基于Linux操作系统的嵌入式设备中,为了支撑操作系统,硬件架构需求为“CPU+32MB SDRAM +32MB FLASH”,而在一个不运行操作系统的嵌入式设备里面,硬件架构可变成“CPU+8MB SDRAM +1MB Serial flash”,由此带来的成本差异约为4美元,考虑到主CPU价格的区别,有无操作系统环境下设备整体成本相差约6美元。   目前无操作系统环境无线数据透传业务领域,主要使用Zigbee或者Nordic等公司的2.4Ghz私有协议无线数传模块(非标准WiFi产品),但这些产品仅在很短距离(约10m)以内能够实现2Mbps左右的数据吞吐率,无法实现大数据量室内中远距离数据传输。而采用Nos-Wifi产品的无线传输方案,基于802.11g标准的WiFi传输技术物理层最高传输速率可达54Mbps,即使在室外覆盖范围100米的情况下仍能实现5.5Mbps的物理层传输速率,使得远距离、高吞吐的数据传输成为可能。   Nos-Wifi产品的典型应用   流媒体电视   在现代生活向数字化、网络化推进的大环境下,家电产品的3c融合已经成为一种不可避免的产品发展趋势,而电视作为现代家庭显示中心的地位不可动摇。因此,流媒体电视机应运而生。流媒体电视不仅可以收看更清晰的电视节目,还可以播放数码相机、移动硬盘等数码设备里的图片、音乐、电影,让全家人共同欣赏。   而流媒体电视与WiFi技术的结合,使得人们可以通过无线网络直接与家庭电脑连接,从而直接播放存储在电脑上的流媒体文件,甚至更进一步,使用无线网络通过家庭无线路由器接入Internet网络,实现真正的网络在线播放功能。Nos-Wifi产品使得在流媒体电视中加入WiFi功能变得更加容易。   无线安防、视频监控   在点对点的无线通讯应用,比如baby Monitor等监控产品,Nos WiFi更能凸现优势。   Baby Monitor,即婴儿监护器,是小型无线电传送装置,包括发射器和接收器两部分。发射器放置在婴儿身边,设置有麦克风和摄像头,对于婴儿发出的每一个细微声响、动作,都可以准确无误地收录,并通过发射器上的天线发出清晰的信号。接收器是一个便携式掌上显示器,用来接收这些信号,由父母随身携带。通过这种装置,父母就可以在别的房间甚至室外院落中处理其他事务,同时,对孩子的情况也了如指掌。   工业控制、智能交通   现代的工业控制对系统的联网能力要求越来越高,工业控制的复杂度越来越高。因此,对于工业控制中的CPU的资源限制也越来越大。本模块产品可以在不改变系统大的架构下,轻松升级现有的系统。将现有的系统升级到无线的TCP/IP网络。   同样,现代的职能交通领域对系统的联网能力以及系统的联网的灵活性要求越来越高。Nos-wifi可以轻松的在对原有的系统进行升级改造。使的交通设施可以容易的进行TCP/IP网络的联网。

    时间:2011-12-31 关键词: Wi-Fi Linux nos 理及应

  • Nos-wifi原理及应用

    目前,在无线监控、工业控制、视频传输等行业应用中,嵌入式无线系统主要采用以NORDIC解决方案为代表的无操作系统环境,该方案由“CPU+无线数传模块”构成,能够实现短距离低带宽无线通信。但由于窄带无线通信的技术所限,只能实现2Mbps的最大传输速率,对应在实际视频传输中,只能满足10米内320*240下小于15帧/秒的应用。随着市场对更大屏幕、更快的传输速率、更流畅的视频效果的需求,这一解决方案将远远满足不了人们的需求。系统升级需要WLAN这样的宽带无线传输设备,传统的升级做法为在原有系统架构下,增加Flash、SDRam,并运行一套嵌入式操作系统来驱动WLAN模块,不但大大增加了系统成本,而且产品开发难度增大,周期延长,不利于新产品的推出。 WLAN作为无线局域网通信中应用最为广泛的技术,早已从PC/笔记本市场,逐渐延伸到了音视频、手持终端、无线城市覆盖、工业应用等人们日常生活的方方面面,将人们的生活带入了便利的智能化无线时代。   北京中电华大电子设计有限责任公司推出的Nos-WiFi产品(如图1所示)改变了这一现状。华大电子多年来致力于WiFi核心芯片及模块产品的研究和开发,至今已经成功量产了天联系列(Airquick)3款同时支持国内(WAPI)/国际(11i)安全标准的芯片,并以此为基础,推出了近十款WLAN模块产品,产品应用覆盖了笔记本、USB外置无线网卡、家庭音视频、安防监控、运营商热点产品、家庭网关、工业应用、智能交通等各个领域。       Nos-WiFi系列模块产品是为了满足工业应用、安防监控等领域中,现有产品的无线功能升级的需要而研发的,其最大的特点在于:它提供了一个不基于任何操作系统的驱动软件,可以集成到任何的系统平台中运行,并实现高速的数据传输,使得没有操作系统也能使用WiFi进行视频传输成为可能。其驱动软件结构如图2所示:       本产品集成到主机系统中的位置如图3所示:       Nos-WiFi的特点和现状 [!--empirenews.page--] 对于市面上的大多数基于802.11b/g/n标准的USB无线模块来说,它们绝大多数都应用在PC平台上,因此,这些usb无线模块的厂商通常只能提供基于windows或linux环境下的驱动程序,相应的在嵌入式应用中,只有使用了诸如WinCE、嵌入式linux操作系统的嵌入式系统平台才能应用这些产品。而对于那些自身硬件资源有限,处理能力较低的嵌入式设备来说,WinCE和嵌入式linux无疑是一个庞然大物,只使用一些简单的支持调度功能的操作系统甚至是不使用任何的操作系统是它们唯一的选择。而在这些系统上却没有可供使用的USB无线模块。即使这些厂商迫于压力升级了系统的硬件以满足使用USB无线模块的需求,但是由此而增加的成本也大大降低了产品的竞争力。例如,在一个典型的支持WiFi功能的基于Linux操作系统的嵌入式设备中,为了支撑操作系统,硬件架构需求为“CPU+32MB SDRAM +32MB FLASH”,而在一个不运行操作系统的嵌入式设备里面,硬件架构可变成“CPU+8MB SDRAM +1MB Serial flash”,由此带来的成本差异约为4美元,考虑到主CPU价格的区别,有无操作系统环境下设备整体成本相差约6美元。   目前无操作系统环境无线数据透传业务领域,主要使用Zigbee或者Nordic等公司的2.4Ghz私有协议无线数传模块(非标准WiFi产品),但这些产品仅在很短距离(约10m)以内能够实现2Mbps左右的数据吞吐率,无法实现大数据量室内中远距离数据传输。而采用Nos-Wifi产品的无线传输方案,基于802.11g标准的WiFi传输技术物理层最高传输速率可达54Mbps,即使在室外覆盖范围100米的情况下仍能实现5.5Mbps的物理层传输速率,使得远距离、高吞吐的数据传输成为可能。   Nos-Wifi产品的典型应用   流媒体电视   在现代生活向数字化、网络化推进的大环境下,家电产品的3c融合已经成为一种不可避免的产品发展趋势,而电视作为现代家庭显示中心的地位不可动摇。因此,流媒体电视机应运而生。流媒体电视不仅可以收看更清晰的电视节目,还可以播放数码相机、移动硬盘等数码设备里的图片、音乐、电影,让全家人共同欣赏。   而流媒体电视与WiFi技术的结合,使得人们可以通过无线网络直接与家庭电脑连接,从而直接播放存储在电脑上的流媒体文件,甚至更进一步,使用无线网络通过家庭无线路由器接入Internet网络,实现真正的网络在线播放功能。Nos-Wifi产品使得在流媒体电视中加入WiFi功能变得更加容易。   无线安防、视频监控   在点对点的无线通讯应用,比如baby Monitor等监控产品,Nos WiFi更能凸现优势。   Baby Monitor,即婴儿监护器,是小型无线电传送装置,包括发射器和接收器两部分。发射器放置在婴儿身边,设置有麦克风和摄像头,对于婴儿发出的每一个细微声响、动作,都可以准确无误地收录,并通过发射器上的天线发出清晰的信号。接收器是一个便携式掌上显示器,用来接收这些信号,由父母随身携带。通过这种装置,父母就可以在别的房间甚至室外院落中处理其他事务,同时,对孩子的情况也了如指掌。   工业控制、智能交通   现代的工业控制对系统的联网能力要求越来越高,工业控制的复杂度越来越高。因此,对于工业控制中的CPU的资源限制也越来越大。本模块产品可以在不改变系统大的架构下,轻松升级现有的系统。将现有的系统升级到无线的TCP/IP网络。   同样,现代的职能交通领域对系统的联网能力以及系统的联网的灵活性要求越来越高。Nos-wifi可以轻松的在对原有的系统进行升级改造。使的交通设施可以容易的进行TCP/IP网络的联网。

    时间:2011-12-31 关键词: Wi-Fi WinCE nos 理及应

  • MAX146/MAX147的原理及应用电路

    1 MAX146/147简介 MAX146/MAX147是MAXIM公司生产的一种通用型A/D转换器。它具有8个单端输入通道或4个差动输入通道。采用单电源供电,其中MAX146的工作电压为2.7~3.6V、MAX147的工作电压为2.7~5.25V;MAX146还带有2.5V内置参考电压。它们的功耗较低:在3V/133kps时其电源电流为1.2mA,而在掉电模式时仅为1μA。另外,还与SPI/QSPI/Microwire/TMS320兼容,并具有4线串行接口;可用软件配置单/双极输入。 MAX146/147的管脚排列如图1所示,它具有20脚DIP/SSOP两种封装形式。其中MAX147的20个管脚功能如下: 1~8脚(CH0~CH7):模拟信号输入端; 9脚(COM):模拟信号输入的参考地; 10脚(SHDN):三态输入端; 11脚(VREF):参考缓冲输出/ADC参考输入; 12脚(REF ADJ):参考电压输入端; 13脚(AGND):模拟地; 14脚(DGND):数据地; 15脚(DOUT):串口数据输出; 16脚(SSTRB):串口急速输出; 17脚(DIN):串口数据输入; 18脚(CS):低有效片选信号; 19脚(SCLK):串行时钟输入; 20脚(VDD):5V电源输入。 2 MAX146/147的工作方式 2.1 控制字节的定义 MAX146/147的控制字节由八位组成,分别为bit7~bit1,具体功能如表1所列。 表1 MAX147控制字节定义 bit7 控制字节起始位,“1”有效,在此之间有,DIN上的“0”位均无效 bit6~bit4 通道选择位,设置采样输入脚 bit3 单极/双极选择位,bit3=1时,为单极转换模式,采样信号输入电压范围0~VREF;bit3=0时,双极转换模式,输入电压-VREF/2~+VREF/2 bit2 单端/差动选择位,bit2=1时,输入电压CMOS端作比较,bit2=0时,输入电压为所测两电压之差 bit1 bit0 bit1=0、bit0=0时,为全掉电模式,bit1=0、bit0=1时,速掉电模式(仅适合于MAX146),bit1=1、bit0=0时,为内部时钟模式,bit1=1、bit0=1为外部时钟模式 2.2 转换启动 工作时向DIN引脚输入被制字节即可启动转换。当CS脚为低电平时,在SCLK的每一个上升沿,数据从DIN输入一位到MAX146/147的内部转换寄存器。在CS变为低电平后,DIN上第一个到达的逻辑“1”即为控制字节的MSB,即开始启动转换信号。在此之前,DIN上“0”位均无效。 2.3 与CPU间的软件接口 [!--empirenews.page--]  一般情况下应确保CPU的串行接口工作在标准模式,以保证CPU产生串行时钟,所选时钟频率应在100kHz~2MHz。其软件设计步骤如下:   (1)设置控制字节TB1为外部时钟模式的格式为:1xxxxx11B,其中xxxxx用来控制通道及转换模式; (2)使CPU采用通用I/O线,并使CS为低; (3)CPU发送TB1,同时接受一个字节RB1,并将其舍去; (4)使CPU再发送一个字节(00h),同时再接受一字节RB2; (5)让CPU再发送一字节(00h),同时再接受一字节RB3; (6)为CS为高电平。 图2给出了这一过程的时序图。其中字节RB2、RB3包含了转换的结果,首位和属3位都为0。全部转换过程的时间主要由时钟的频率及二字节间的空闲时间来决定,为避免T/H的过多衰减,应保证其全部转换时间不超过120μs。 2.4 数据输出 在单极输入模式中,输出为无符号二进制数;在双极模式中,输出为二进制补码数,数据在时钟的下降沿输出,MSB在前。 2.5 时钟模式 MAX146/147可采用内部或外部时钟模式来进行连续逼近的转换,还可驱动模数转换的每一步。当控制字节的最后一位输入后,SSTRB升高一个时钟周期,并在12个时钟脉冲的每个下降沿将转换后的连续逼近的位发送到引脚上。当CS为高时,SSTFRB和DOUT为高阻状态,在CS的下降沿,SSTRB输出个逻辑低电平。整个转换过程须在几毫秒内完成,否则,转换的结果会被采样保持的电容所衰减。在串行时钟的频率低于100kHz时,应采用内部时钟模式,否则,采用间隔时间将超过120μs。 3 与TMS320F206的接口设计 TMS320F206与MAX147的外部时钟模式接口电路如图3所示。启动转换和经串口传送数据须经以下几个步骤: (1)将TMS320F206的CL:KK和CLKR引脚以及MAX147的SCLK引脚设置为输入状态和上升沿有效,且都工作在外部时钟方式。 (2)在TMS320F206的XF引脚输出低电平以驱动MAX147的引脚,从而使MAX147可从DIN引脚接收到控制字节。 (3)向MAX146/147写入形如10001111的字节,以使MAX147可工作在单端、单极、外部时钟模式,000表示MAX146/147的第一管脚为模拟信号输入端。 (4)MAX147的SSTRB引脚的输出用于给TMS320F206的FSR引脚提供输入信号,SSTRB的下降沿表示转换正在进行,该下降沿同时可作为TMS320F206的帧同步信号来通知TMS320F206准备接收数据。 (5)在接下来的16个时钟信号的每一个下降沿,TMS320F206将读出转换结果的每一个数据补充位,与转换结果无关,应舍去。 (6)变CS为高电平,以使MAX147处于低功耗状态,直到下一次启动转换时,再使之变为低电平。 4 MAX146/147的参考接线方法 为使MAX46/147更好地工作,推荐使用印刷电路板,尽量不用漆包线连接。在印刷电路板布线时,应把数据线和模拟回路彼此分开,同时应禁止数据线和模拟线平行布置,也不能在MAX146/147的下面穿行数据线。 图4所示为推荐的接线方法。即将所有的模拟地接到输入端的模拟地的一个点上,将所有的数据地同样也接到一个点上,然后再连接在这两点,而其它的数字地则不能接到模拟输入的起始端点上。为减小地线上噪声,输入端的地线应尽量短,且电阻尽可能小。 电源线上的高频干扰也会影响A/D转换的正确转换工作,为此,图4中在MAX146/147的电源输入脚VDD与上述的模拟地输入起点间并联了两个电容,其值分别为1μF和0.1μF,同时应使电容的两个管脚尽量短,以减小从电源上引入干扰。在电源上干扰幅值很大时,可按图中所示在VDD和电源间再接一个10Ω的电阻,组成一个低通滤波器。

    时间:2011-12-28 关键词: Max 147 146 理及应 设计教程

  • XTR115电流环电路原理及应用

    摘要:针对各种数据采集与监控中抗恶劣电磁干扰环境的需求,给出一种基于XTB115的低功耗两线4~20 mA电流环数据传输电路,首先讨论了XTR115的性能特点和工作原理,随后针对其在温度传感器中的典型应用,详细描述了传感器内部电流环的原理电路,给出了典型应用电路的详细设计过程。实际测量结果表明基于XTR115的电流环电路具有抗干扰能力强,数据传输准确的特点,在工业测量中具有广阔的应用前景。 关键词:电流环;电流传输;变送器;工业测量     在各种数据采集与监控中通常用一个仪表放大器来完成信号的调理,但是工业现场进行长线传输时,往往会产生以下问题:1)由于传输的信号是电压信号,传输线会受到噪声的干扰;2)传输线的分布电阻会产生电压降;3)现场无法提供仪表放大器的工作电压。     为了解决上述问题并避开相关噪声的影响,通常用电流来传输信号,这是因为电流对噪声并不敏感。4~20 mA的电流环便是用4 mA表示零信号,用20 mA表示信号的满刻度,而将低于4 mA和高于20 mA的信号用作各种故障的报警。     电流环电路,根据转换原理的不同可划分成以下两种类型:一种是电压/电流转换器,亦称电流环发生器,它能将输入电压转换成4~20 mA的电流信号(典型产品有1B21,1B22,AD693,AD694,XTR115和XTR116);另一种属于电流/电压转换器,也叫电流环接收器(典型产品为RCV420),上述产品可满足不同用户的需要。     电流环电路,根据器件位置的不同又可划分成以下两种类型:两线制和三线制。当监控系统需要通过长线驱动现场的驱动器件(如阀门等)时,一般采用三线制变送器,这里,电流环器件位于监控的系统端,由系统直接向电流环器件供电,供电电源是二根电流传输线以外的第三根线。两线系统是电流环器件和传感器位于现场端,由于现场供电问题的存在,一般是接收端利用4~20 mA的电流环向远端的电流环器件供电,通过4~20 mA来反映信号的大小。     XTR系列是美国BB(BURR-BROWN)公司生产的精密电流变送器,该公司现已并入美国Texas Instruments公司。该系列产品包括XTR101,XTR10 5,XTR106,XTR110,XTR115和XTR116共6种型号。其特点是能完成电压/电流(或电流/电流)转换,适配各种传感器构成测试系统、工业过程控制系统、电子秤重仪等。其中,XTR115和XTR116能够满足工业测量标准的两线4~20 mA电流环电路,该电路设计巧妙、使用方便、超低静态电流,非常适合于变送器等典型工业测量应用之中。     本文针对两线的XTR115电流环电路的工作原理和典型应用展开详细讨论,可为4~20 mA电流环电路的使用提供有益参考。 1 XTR115的性能特点     XTR115具有如下性能特点:     1)XTR115属于二线制电流变送器,内部的2.5 V基准电压可作为传感器的激励源。XTR115可将传感器产生的40~200μA弱电流信号放大100倍,获得4~20 mA的标准输出。当环路电流接近32 mA时能自动限流。如果在3脚与5脚之间并联一只电阻,就可以改变限流值。     2)芯片中增加了+5 V精密稳压器,其输出电压精度为±0.05%,电压温度系数仅为20x10-6/℃,可给外部电路(例如前置放大器)单独供电,从而简化了外部电源的设计。     3)精度高,非线性误差小。转换精度可达±0.05%,非线性误差仅为±0.003%。     4)环路电源电压的允许范围宽为7.5~36 V。XTR115由环路电源供电。工作温度范围是-40~+85℃。     5)专门设计了功率管接口,适配外部NPN型功率晶体管,它与内部输出晶体管并联后可降低芯片的功耗。 2 XTR115的工作原理     XTR115和XTR116用SO-8小型化封装,其结构组成及原理图如图1所示,XTR115和XTR116内部电路主要由3部分组成。     第一部分是电流环电路的核心部分,它是由内部的运算放器A1、电阻RIN、R1、R2、Rlim和外接晶体三极管T1组成。[!--empirenews.page--]     第二部分是电源调整电路,它提供传感器部分的外围电路工作电源和参考电压。第三部分是由电阻Ra、Rb、Rlim和晶体三极管TO组成保护电路,以防止输出电流过大或上电过程中的过冲脉冲损坏芯片。为了叙述方便,摘出电流环电路部分如图2所示。     图2电路中,信号电压施加在VIN和VG之间,VG相当于传感器部分的参考点。根据运算放大器的基本原理,运算放大器的两个输入端电压基本相等,流入运算放大器输入端的电流基本为零。可知:         此时的I0只是信号变化部分的电流,它的变化范围是0~16 mA,对应到I3是0~160μA,可以根据这一电流和输入信号的电压幅度决定输入电阻RIN;要实现4~20 mA电流环,还必须加入4 mA的偏置电流IB(这个偏置电流包括芯片的工作电流和传感器部分的工作电流Ip),方法是在运算放大器的同相输入端通过一个电阻Rs接到参考电压上,再引入一路固定的电流Is。这路电流的最大值是Ismax=40μA。通过调节Rs,使得偏置电流IB=100Is+Ip=4 mA。 3 XTR115两线制电流环典型应用     利用XTR115构成两线制电流环时,其工作电源和信号共用一根导线,工作电源由接收端提供。该方案需要考虑的主要问题:一是确定所用接收器的数量,即当有多个接收器时,它将要求变送器拥有一个较低的工作电源电压。另外一种考虑是降低回路电流在接收端的压降。     通常情况下,利用两线制设计方案时,均需要考虑以下几点:     1)电路环中的接收器的数量,更多的接收器将要求变送器有较低的工作电压;     2)变送器所必需的工作电压要有一定的余量;     3)决定传感器的激励方法是电压还是电流。     图3是XTR115电路在温度传感器中的典型应用,温度传感器PT100和RE1、RE2、RE3组成测量桥路,恒流二极管2HD2为桥路提供2 mA的供电电流,运算放大器INA128组成差动放大电路,输出被偏置在Vo=2.5 V的工作点上。放大器的输出通过电阻RIN接到电流环变换电路XTR115。运算放大器INA128的静态电流为700μA;所以输出端还须加入1.3 mA的偏置电流,这个电流可以通过电流偏置电阻Rs获得,Rs=2.5V/(1.3 mA/100)=192.3kΩ。     假如温度的测量范围是±100℃。在0℃时放大器的输出电压为VP=VQ=2.5 V,而这时电流环的输出电流应IO=4 mA+16/2mA=12 mA。而信号变化产生的电流应该在IOSIGNAL=16 mA/2=8mA。流过RIN的电流应该是I3=8mA/100=80μA。电阻RIN应该是RIN=2.5V/80μA=31.25 kΩ。在100℃时电流环的输出电流应该是IO=20mA。相对0℃时的输出增量是△IO=8mA。流过电阻RIN的电流增量应该是△I3=8mA/100=80μA。这时放大器的输出电压增量应该是△VP=25 kx80μA=2.5 V。而此时电桥的输出电压增量仅仅是△VT=17.56 mV。所以放大器的增益应该为G=2.5 V/17.56 mV=142.37倍。RG=50 k/(G-1)=353.68 Ω。     当温度在0℃时,电桥平衡,放大器的输出电压为VP=VQ=2.5 V。电流环的输出电流IO=12 mA。当温度在100℃时,放大器的输出电压为VP=5 V。电流环的输出电流IO=20 mA。当温度在-100℃时,放大器的输出电压为VP=0 V。电流环的输出电流IO=4mA。     然而,运算放大器INA128的最高输出电压达不到5 V;最低输出电压也达不到0V。所以测温范围达不到+100℃。一个简洁的解决方案是降低运算放大器INA128的增益,使运算放大器在100℃时的输出电压达到它的最大值Vomax=4 V。G=(4 V-2.5 V)/17.56 mV=85倍。RG=50 k/(G-1)=595 Ω。这时,当温度在100℃时,放大器的输出电压为VP=4V。电流环的输出电流IO=16.8 mA。当温度在-100℃时,放大器的输出电压为VP=1 V。电流环的输出电流IO=7.2 mA。虽然这样又带来了电流环的输出范围利用不足的缺点,但它并不影响正常测量。     外接晶体三极管只要选用Vceo>36 V,Icmax>32 mA,Poutmax>1.2 W的NPN三极管即可。如:2SC1846、2SC2568、2SC2611、2SC2621、等均可。 4 总结     本文针对各种工业场合中抗恶劣电磁干扰环境的需求,给出了一种利用XTR115两线制电流环进行信号传输的电路设计方法。该方法减少了传输线的噪声干扰和传输线的分布电阻产生的电压降,提高了数据通讯接口的可靠性和准确度,具有抗干扰能力强,数据传输准确的特点,在工业测量中具有广阔的应用前景。

    时间:2011-11-09 关键词: iOS 理及应 xtr115

  • 8×8点阵LED原理及应用分享

      配合《实验10 8×8LED扫描输出实验》,特给出8×8 点阵LED的工作原理。     图(1)为8×8点阵LED外观及引脚图,其等效电路如图(2)所示,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。         图(1)8×8点阵LED外观及引脚图     图(2)8×8点阵LED等效电路       图(3)8×8点阵LED电路原理[!--empirenews.page--]   点阵LED扫描法介绍 点阵LED一般采用扫描式显示,实际运用分为三种方式: (1)       点扫描; (2)       行扫描; (3)       列扫描。 若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即 可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。如图3所示。     下面是一个用P1口控制扫描,用74HC164控制显示输出,使8×8点阵LED显示一个“×”的例程。如图(3)所示。   CLK EQU       P3.2 DINA      EQU       P3.3 DINB      EQU       P3.4 CLEAR   EQU       P3.5   ORG       0000H AJMP   MAIN ORG       0100H MAIN:        MOV      SP,#70H          ;设堆栈指针        MOV      50H,#07EH     ;设置发送的列数据(Y0~Y7)        MOV      51H,#0BDH        MOV      52H,#0DBH        MOV      53H,#0E7H        MOV      54H,#0E7H        MOV      55H,#0DBH        MOV      56H,#0BDH        MOV      57H,#07EH        CLR      CLEAR             ;初始化I/O口        SETB      CLK        SETB      DINA        SETB     DINB        SETB      CLEAR mainloop:        mov         r6,#8h              ;设置扫描次数        mov        dptr,#09000h    ;读取扫描端口数据        MOV      R1,#50H          ;指定列数据指针   flashcy:                 MOV      A,@R1            ;读取列数据        MOV      R0,A        INC        R1                    ;列数据指针加1        CLR       A        MOVC    A,@A+DPTR        MOV      P1,#0FFH        LCALL    SENDTO        MOV      P1,A        INC        DPTR        LCALL   DELAY        DJNZ      R6,flashcy        SJMP      MAINLOOP sendto:                                     ;发送数据子程序        PUSH      ACC        CLR      CLK SENDTIME:        MOV      R7,#08H        MOV      A,R0        CLR       C SENDCY:                     RRC       A        MOV      DINA,C        SETB      CLK        CLR        CLK        DJNZ      R7,SENDCY        POP       ACC        RET DELAY:  MOV     R7,#01        ;延时子程序 DELAY0: MOV     R4,#17 DELAY1: MOV     R3,#28         DJNZ    R3,$         DJNZ    R4,DELAY1         DJNZ    R7,DELAY0         RET   ORG       09000H DB   0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH      ;X0~X7(列扫描)   end

    时间:2011-05-25 关键词: LED 理及应 设计教程

  • 按键弹跳消除模块的原理及应用

    按键在数字电路设计中经常用到。按键的弹跳现象是数字系统设计中存在的客观问题。按键是机械触点,当接触点断开或闭合时会产生抖动。为使每一次按键只做一次响应,就必须去除抖动。本文对按键的抖动信号进行了分析,并通过计数器的方式完成了消除抖动电路模块的设计。把该模块应用到按键控制LCD显示的系统中,并在Memec代理的Virtex-4 MB系统实验板上实现了该系统。消抖电路的效果良好,按键控制LCD显示结果正常。 按键开关是电子设备人机交互的主要器件之一。按键大多是机械式开关结构,由于机械式开关的核心部件为弹性金属簧片,因而在开关切换的瞬间会在接触点出现来回弹跳的现象。对于灵敏度比较高的电路,这种弹跳现象引起的信号抖动会造成误动作而影响到系统的正确性。因此,我们需要设计按键弹跳消除电路来去除抖动.。 1.弹跳消除电路的原理和功能 按键开关的典型连线分为低电平有效和高电平有效,本文的是低电平有效。 机械开关的抖动存在三种情况:按下时有抖动,松开时也有抖动;按下时有抖动,松开时无抖动;按下时无抖动,松开时有抖动。机械开关的抖动波形、抖动次数、抖动时间都是随机的,并不是每次都会产生抖动。 不同开关的最长抖动时间也不同。抖动时间的长短和机械开关特性有关,一般为5ms到10ms。但是,某些开关的抖动时间长达20ms,甚至更长。所以,在具体设计中要具体分析,根据实际情况来调整设计。 弹跳现象以及弹跳消除如图1 所示,虽然只是按下按键一次后放掉,结果在按键信号稳定先后竟出现了多个段脉冲,如果将这样的信号直接送到计数器之类的时序电路,结果将可能发生计数超过一次以上的误动作,从而误以为键盘按了多次。因此,必须加上弹跳消除电路,除去短脉冲,避免误操作的发生。   2.按键弹跳消除模块的实现 为了使按键弹跳消除模块的更加简洁,并且移植性好,在此用计数器的方式实现消除按键抖动的功能。 2.1 计数器模值的计算 计数器模值的确定是按键弹跳消除效果的关键问题,如果值过大,即采样时间过长,就会漏掉正确的信号;如果值过小,采样时间过短,则会将毛刺误认为是输入信号。 计数器的模值n根据抖动信号的脉冲宽度和采样信号clk的周期大小决定。根据一般人按键的速度小于10Hz(每秒小于10次),所以按键时间大于100ms,按占空比50%计算,按下的时间大于50ms。按这种约定,我们认为按下的时间小于50ms的为抖动信号,按下的时间大于50ms的是按键信号。即n=50ms/采样脉冲信号周期,这样就可以把按下的时间小于50ms的抖动信号滤掉。 在此,根据实验板提供的系统时钟来确定实际需要的模值。实验板提供的系统时钟为100mHz,通过分频后得到25mHz的时钟,50ms*25mHz得到count的模值为21’h1312D0。采用这个模值得到的消抖时间大约为50ms,符合要求。 2.2 程序设计 设计一个高脉冲计数器count1和一个低脉冲计数器conut0。引入一个采样脉冲信号clk,对输入信号button_in进行采样,并对clk进行计数。若button_in为高电平,count1做加法计数,直到count1各位全为1,停止计数,归零,使消抖后的输出信号button_out输出1。若button_in为低电平,count0做加法计数,直到count0各位全为1,停止计数归零,并使消抖后的输出信号button_out输出0。 部分程序如下: module filter(clk, reset, button_in, button_out); input clk; input reset; input button_in; output button_out; wire buttong_out1; reg [20:0] count0; reg [20:0] count1; reg button_out1_reg; …… assign button_out=button_out1_reg; //对输入进行采样,计数 always@(posedge clk or negedge reset) begin if(!reset) count1 always@(posedge clk or negedge reset) begin if(!reset) count0   [!--empirenews.page--] 3 按键弹跳消除模块的实际应用 利用Memec virtex-4 开发板,通过开发板上的按钮输入8位的01控制代码,用开发板上的开关输入状态控制位,从而控制板上的1602 C型字符型液晶模块的显示模式和内容。 LCD控制信号生成模块:根据按钮输入,产生控制显示模块的8位控制信号。对按钮送入该模块的1位(0/1)信号进行保存并进行转换,使每8次输入形成一个8位的信号。如果输入不满8位或需重新输入,则取消上次结果;如果确定输入结果正确,则将8位信号保存并输出。 LCD显示控制模块:完成1602 C型字符型液晶模块的初始化,并根据控制信号完成状态转换。   总系统设计如图4:   结束语 本文进行性模块化设计,实现了弹跳消除电路模块、LCD控制信号生成模块和LCD显示控制模块组成的系统的具体功能,在Memec实验板上运行效果良好。并且在用FPGA进行电路调试的时候,可以将该系统嵌入其它电路中,增加需要的测试点和观察点,通过按钮控制显示,可以动态的对电路进行测试,找出问题,使调试更加直观,从而提高的FPGA的内部信号的可观察性,提高验证效率。

    时间:2010-12-09 关键词: 理及应 设计教程

  • 嵌入式系统中Nand-Flash的原理及应用

    当前各类嵌入式系统开发设计中,存储模块是不可或缺的重要方面。NOR和NAND是目前市场上两种主要的非易失闪存技术。Nor-flash存储器的容量较小、写入速度较慢,但因其随机读取速度快,因此在嵌入式系统中,常应用在程序代码的存储中。Nor-flash存储器的内部结构决定它不适合朝大容量发展;而Nand-flash存储器结构则能提供极高的单元密度,可以达到很大的存储容量,并且写入和擦除的速度也很快。    Nand-flash存储器是flash存储器的-种,其内部采用非线性宏单元模式,为固态大容量存储器的实现提供了廉价有效的解决方案。Nand-flash存储器具有容量较大,改写速度快,适用于大量资料的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。    本文以三星公司的K9F1208UOB芯片为例,介绍Nand-flash存储器芯片的读写流程和时序。1 Nand-Flash存储器的工作原理1.1 Nand-Flash存储器的组成结构及指令集    K9F1208UOB的容量为64Mb,存储空间按128K个页(行)、每页中528个字节(列)的组成方式构成。备用的16列,位于列地址的512-527。K9F1208UOB还将存储空间分为块(block),每1块由32个页构成。因此K9F1208UOB中一共有4096个块。这种“块-页”结构,恰好能满足文件系统中划分簇和扇区的结构要求。K9F1208UOB的内部结构如图1所示。 图1 K9F1208UOB的内部结构    K9F1208UOB的读和写都以页为单位,擦除则以块为单位进行操作。    K9F1208UOB的地址通过8位端口传送,有效地节省了引脚的数量,并能够保持不同密度器件引脚的一致性,系统可以在电路不作改动的情况下升级为高容量存储器件。    K9F1208UOB通过CLE和ALE信号线实现I/O口上指令和地址的复用。指令、地址和数据都通过拉低WE和CE从I/O口写入器件中。有一些指令只需要一个总线周期完成,例如,复位指令、读指令和状态读指令等;另外一些指令,例如页写入和块擦除,则需要2个周期,其中一个周期用来启动,而另一个周期用来执行。1.2 Nand-Flash操作1.2.1 页读操作    在初始上电时,器件进入缺省的“读方式1模式”。在这一模式下,页读操作通过将00h指令写入指令寄存器,接着写入3个地址(1个列地址,2个行地址)来启动。一旦页读指令被器件锁存,下面的页读操作就不需要再重复写入指令了。    写入指令和地址后,处理器可以通过对信号线R/B的分析来判断该操作是否完成。如果信号为低电平,表示器件正“忙”;为高电平,说明器件内部操作完成,要读取的数据被送入了数据寄存器。外部控制器可以在以50ns为周期的连续RE脉冲信号的控制下,从I/O口依次读出数据。连续页读操作中,输出的数据是从指定的列地址开始,直到该页的最后-个列地址的数据为止。1.2.2 页写操作    K9F1208UOB的写入操作也以页为单位。写入必须在擦除之后,否则写入将出错。    页写入周期总共包括3个步骤:写入串行数据输入指令(80h),然后写入3个字节的地址信息,最后串行写入数据。串行写入的数据最多为528字节,它们首先被写入器件内的页寄存器,接着器件进入一个内部写入过程,将数据从页寄存器写入存储宏单元。[!--empirenews.page--]    串行数据写入完成后,需要写入“页写入确认”指令10h,这条指令将初始化器件的内部写入操作。如果单独写入10h而没有前面的步骤,则10h不起作用。10h写入之后,K9F1208UOB的内部写控制器将自动执行内部写入和校验中必要的算法和时序,这时系统控制器就可以去做别的事了。    内部写入操作开始后,器件自动进入“读状态寄存器”模式。在这一模式下,当RE和CE为低电平时,系统可以读取状态寄存器。可以通过检测R/B的输出,或读状态寄存器的状态位(I/O 6)来判断内部写入是否结束。在器件进行内部写入操作时,只有读状态寄存器指令和复位指令会被响应。当页写入操作完成,应该检测写状态位(I/O 0)的电平。    内部写校验只对没有成功地写为0的情况进行检测。指令寄存器始终保持着读状态寄存器模式,直到其他有效的指令写入指令寄存器为止。1.2.3 块擦除    擦除操作是以块为单位进行的。擦除的启动指令为60h,块地址的输入通过两个时钟周期完成。这时只有地址位A14到A24是有效的,A9到A13则被忽略。块地址载入之后执行擦除确认指令D0h,它用来初始化内部擦除操作。擦除确认命令还用来防止外部干扰产生擦除操作的意外情况。器件检测到擦除确认命令输入后,在WE的上升沿启动内部写控制器开始执行擦除和擦除校验。内部擦除操作完成后,检测写状态位(I/O 0),从而了解擦除操作是否有错误发生。1.2.4 读状态寄存器    K9F1208UOB包含一个状态寄存器,该寄存器反应了写入或擦除操作是否完成,或写入和擦除操作是否无错。写入70h指令,启动读状态寄存器周期。状态寄存器的内容将在CE或RE的下降沿处送出至I/O端口。    器件一旦接收到读状态寄存器的指令,它就将保持状态寄存器在读状态,直到有其他的指令输入。因此,如果在任意读操作中采用了状态寄存器渎操作,则在连续页读的过程中,必须重发00h或50h指令。1.2.5 读器件ID    K9F1208UOB器件具有一个产品鉴定识别码(ID),系统控制器可以读出这个ID,从而起到识别器件的作用。读ID的步骤是:写入90h指令,然后写入一个地址00h。在两个读周期下,厂商代码和器件代码将被连续输出至I/O口。    同样,一旦进入这种命令模式,器件将保持这种命令状态,直到接收到其他的指令为止。1.2.6 复位    器件提供一个复位(RESET)指令,通过向指令寄存器写入FFh来完成对器件的复位。当器件处于任意读模式、写入或擦除模式的忙状态时,发送复位指令可以使器件中止当前的操作,正在被修改的存储器宏单元的内容不再有效,指令寄存器被清零并等待下一条指令的到来。当WP为高时,状态寄存器被清为C0h。2 系统硬件连线及软件设计2.1硬件连线    K9F1208UOB和S3C2440A的接口电路如图2所示。 图2 K9F1208UOB与S3C2440A硬件电路2.2 软件设计步骤1:Nand-Flash初始化    利用ADS1.2等工具建立工程文件nandflash_test.mcp,在Nand.c文件中Test_K9S1208子函数实现了主要测试功能。gpacon = rGPACON;rGPACON=(rGPACON &~(0x3f<<17))|(0x3f<<17);首先备份rGPACON的内容,再设置GPA17-22的工作方式。然后调用Nand-Flash初始化函数。NF8_Init0;//初始化函数初始化函数的实现源码如下:rNFCONF=(TACLS<<12)|(TWRPH0<<8)I(TWRPH1<<4)|(0<<0):rNFCONT=(0<<13)|(0<<12)|(0<<10)|(0<<9)|(0<<8)|(1<<6)|(1<<5)|(1<<4)|(1<<1)|(1<<0):步骤2:读器件ID码    由于S3C2440A中没有像支持SDRAM 一样提供直接与Nand-flash存储器的接口,读写的过程要靠软件编程来完成。初始化Nand-Flash后,就可以对Nand-Flash进行操作了。程序调用NF8_Print_Id()子函数读出器件ID码。id=NF8_CheckId(); //继续调用子函数device=(U8)id;maker=(U8)(id>>8):Uart_Printf("Maker:%x,Device:%x ",maker,device);NF8_Print_Id()源码如下:NF_CMD(0x90);//写入90h指令NF_ADDR(0x0);//写入地址00hfor(i=0;i<10;i++);Uart_Printf("NFSTAT:0x%x ",rNFSTAT);id=NF_RDDATA8()<<8;//Maker code 0xec读出ID值id |=NF_RDDATA8();//Devide code(K9S1208V:0x76),(K9K2G16U0M:0xca)步骤3:页读写程序    本实验实现了某页的写及读出验证功能。Test_NFS_Rw子函数实现这一功能。[!--empirenews.page--]    程序首先初始化要写入的数据,*dstPt是要读出验证的数据,先填0;*srcPt是要写入的数据,先用随机数填满。for(i=0;i<512;i++) *dstPt++=0x0;//填0for(i=0;i<512;i++){#if ADS10==TRUEif(offset==-1) *srcPt++=rand()%0xff;//随机数填满#elseif(offset==-1) srcPt++ =i%0xf;#endifelse *srcPt++=i+offset;}写之前先进行擦除工作:if(NF8_EraseBIock(block)==FAIL) return;然后进行页写入操作:if(NF8_WritePage(block,page,srcPt)==FAIL) return;将用随机数填满的srcPt指向的数据写入到指定的页中。写入之后再读出验证:if(NF8_ReadPage(block,page,dstPt)==FAIL) return;Uart_Printf("Checking data. ");for(error=0,i=0;i<512;i++){if(*srcPt++!=*dstPt++){//比较操作Uart_Printf("Error:%d[W:%x,R:%x] ",i,*srcPt,*dstPt);error++;}}if(error!=0){Uart_Printf("Fail to R/W test(%d). ",error);return(2);}else{Uart_Printf("R/W test OK. ");return(1);}    其中NF8_ReadPage(block,page,dstPt)将读出的数据放入dstPt指向的地址空间里。最后将写入的数据和读出的数据比较,打印验证信息。步骤4:编译工程    所有的函数都实现以后,通过ADS1.2进行编泽,生成可执行文件。在工程文件夹" andflash_testaandflash_test_DatakDebugRel"下,可以看到nandflash_test.bin可执行文件。步骤5:下载程序运行    将串口线与硬件开发系统板串口和开发PC机的COM1连接好(主要用于回显),用USB线和开发PC 机的USB口相连后(主要用于数据的下载),打开DNW 软件,将串口设置为COM1,比特率设置为115200,USB下载地址设为0x30000000。    使用DNW 将前面生成的可执行文件下载到内存中去运行。3 结束语    本文主要讨论了Nand-flash存储器芯片的工作原理以及以三星公司基于ARM公司的ARM920T处理器核S3C2440A为平台举了一个测试实例,让读者对整个存储系统的软硬件设计过程有了一个较为全面的了解,便于在其它嵌入式系统设计中运用。

    时间:2010-04-06 关键词: nand Flash 理及应 设计教程

  • 无操作系统下的WiFi原理及应用

    目前,在无线监控、工业控制、视频传输等行业应用中,嵌入式无线系统主要采用以NORDIC解决方案为代表的无操作系统环境,该方案由“CPU+无线数传模块”构成,能够实现短距离低带宽无线通信。但由于窄带无线通信的技术所限,只能实现2Mbps的最大传输速率,对应在实际视频传输中,只能满足10米内320*240下小于15帧/秒的应用。随着市场对更大屏幕、更快的传输速率、更流畅的视频效果的需求,这一解决方案将远远满足不了人们的需求。系统升级需要WLAN这样的宽带无线传输设备,传统的升级做法为在原有系统架构下,增加Flash、SDRam,并运行一套嵌入式操作系统来驱动WLAN模块,不但大大增加了系统成本,而且产品开发难度增大,周期延长,不利于新产品的推出。 WLAN作为无线局域网通信中应用最为广泛的技术,早已从PC/笔记本市场,逐渐延伸到了音视频、手持终端、无线城市覆盖、工业应用等人们日常生活的方方面面,将人们的生活带入了便利的智能化无线时代。北京中电华大电子设计有限责任公司推出的Nos-WiFi产品(如图1所示)改变了这一现状。华大电子多年来致力于WiFi核心芯片及模块产品的研究和开发,至今已经成功量产了天联系列(Airquick)3款同时支持国内(WAPI)/国际(11i)安全标准的芯片,并以此为基础,推出了近十款WLAN模块产品,产品应用覆盖了笔记本、USB外置无线网卡、家庭音视频、安防监控、运营商热点产品、家庭网关、工业应用、智能交通等各个领域。 Nos-WiFi系列模块产品是为了满足工业应用、安防监控等领域中,现有产品的无线功能升级的需要而研发的,其最大的特点在于:它提供了一个不基于任何操作系统的驱动软件,可以集成到任何的系统平台中运行,并实现高速的数据传输,使得没有操作系统也能使用WiFi进行视频传输成为可能。其驱动软件结构如图2所示: 本产品集成到主机系统中的位置如图3所示: Nos-WiFi的特点和现状 [!--empirenews.page--]对于市面上的大多数基于802.11b/g/n标准的USB无线模块来说,它们绝大多数都应用在PC平台上,因此,这些usb无线模块的厂商通常只能提供基于windows或linux环境下的驱动程序,相应的在嵌入式应用中,只有使用了诸如WinCE、嵌入式linux操作系统的嵌入式系统平台才能应用这些产品。而对于那些自身硬件资源有限,处理能力较低的嵌入式设备来说,WinCE和嵌入式linux无疑是一个庞然大物,只使用一些简单的支持调度功能的操作系统甚至是不使用任何的操作系统是它们唯一的选择。而在这些系统上却没有可供使用的USB无线模块。即使这些厂商迫于压力升级了系统的硬件以满足使用USB无线模块的需求,但是由此而增加的成本也大大降低了产品的竞争力。例如,在一个典型的支持WiFi功能的基于Linux操作系统的嵌入式设备中,为了支撑操作系统,硬件架构需求为“CPU+32MB SDRAM +32MB FLASH”,而在一个不运行操作系统的嵌入式设备里面,硬件架构可变成“CPU+8MB SDRAM +1MB Serial flash”,由此带来的成本差异约为4美元,考虑到主CPU价格的区别,有无操作系统环境下设备整体成本相差约6美元。 目前无操作系统环境无线数据透传业务领域,主要使用Zigbee或者Nordic等公司的2.4Ghz私有协议无线数传模块(非标准WiFi产品),但这些产品仅在很短距离(约10m)以内能够实现2Mbps左右的数据吞吐率,无法实现大数据量室内中远距离数据传输。而采用Nos-Wifi产品的无线传输方案,基于802.11g标准的WiFi传输技术物理层最高传输速率可达54Mbps,即使在室外覆盖范围100米的情况下仍能实现5.5Mbps的物理层传输速率,使得远距离、高吞吐的数据传输成为可能。 Nos-Wifi产品的典型应用 流媒体电视 在现代生活向数字化、网络化推进的大环境下,家电产品的3c融合已经成为一种不可避免的产品发展趋势,而电视作为现代家庭显示中心的地位不可动摇。因此,流媒体电视机应运而生。流媒体电视不仅可以收看更清晰的电视节目,还可以播放数码相机、移动硬盘等数码设备里的图片、音乐、电影,让全家人共同欣赏。 而流媒体电视与WiFi技术的结合,使得人们可以通过无线网络直接与家庭电脑连接,从而直接播放存储在电脑上的流媒体文件,甚至更进一步,使用无线网络通过家庭无线路由器接入Internet网络,实现真正的网络在线播放功能。Nos-Wifi产品使得在流媒体电视中加入WiFi功能变得更加容易。 无线安防、视频监控 在点对点的无线通讯应用,比如baby Monitor等监控产品,Nos WiFi更能凸现优势。 Baby Monitor,即婴儿监护器,是小型无线电传送装置,包括发射器和接收器两部分。发射器放置在婴儿身边,设置有麦克风和摄像头,对于婴儿发出的每一个细微声响、动作,都可以准确无误地收录,并通过发射器上的天线发出清晰的信号。接收器是一个便携式掌上显示器,用来接收这些信号,由父母随身携带。通过这种装置,父母就可以在别的房间甚至室外院落中处理其他事务,同时,对孩子的情况也了如指掌。 工业控制、智能交通 现代的工业控制对系统的联网能力要求越来越高,工业控制的复杂度越来越高。因此,对于工业控制中的CPU的资源限制也越来越大。本模块产品可以在不改变系统大的架构下,轻松升级现有的系统。将现有的系统升级到无线的TCP/IP网络。 同样,现代的职能交通领域对系统的联网能力以及系统的联网的灵活性要求越来越高。Nos-wifi可以轻松的在对原有的系统进行升级改造。使的交通设施可以容易的进行TCP/IP网络的联网。

    时间:2010-04-05 关键词: Wi-Fi Linux 理及应

  • 无操作系统下的WiFi原理及应用

    目前,在无线监控、工业控制、视频传输等行业应用中,嵌入式无线系统主要采用以NORDIC解决方案为代表的无操作系统环境,该方案由“CPU+无线数传模块”构成,能够实现短距离低带宽无线通信。但由于窄带无线通信的技术所限,只能实现2Mbps的最大传输速率,对应在实际视频传输中,只能满足10米内320*240下小于15帧/秒的应用。随着市场对更大屏幕、更快的传输速率、更流畅的视频效果的需求,这一解决方案将远远满足不了人们的需求。系统升级需要WLAN这样的宽带无线传输设备,传统的升级做法为在原有系统架构下,增加Flash、SDRam,并运行一套嵌入式操作系统来驱动WLAN模块,不但大大增加了系统成本,而且产品开发难度增大,周期延长,不利于新产品的推出。 WLAN作为无线局域网通信中应用最为广泛的技术,早已从PC/笔记本市场,逐渐延伸到了音视频、手持终端、无线城市覆盖、工业应用等人们日常生活的方方面面,将人们的生活带入了便利的智能化无线时代。北京中电华大电子设计有限责任公司推出的Nos-WiFi产品(如图1所示)改变了这一现状。华大电子多年来致力于WiFi核心芯片及模块产品的研究和开发,至今已经成功量产了天联系列(Airquick)3款同时支持国内(WAPI)/国际(11i)安全标准的芯片,并以此为基础,推出了近十款WLAN模块产品,产品应用覆盖了笔记本、USB外置无线网卡、家庭音视频、安防监控、运营商热点产品、家庭网关、工业应用、智能交通等各个领域。 Nos-WiFi系列模块产品是为了满足工业应用、安防监控等领域中,现有产品的无线功能升级的需要而研发的,其最大的特点在于:它提供了一个不基于任何操作系统的驱动软件,可以集成到任何的系统平台中运行,并实现高速的数据传输,使得没有操作系统也能使用WiFi进行视频传输成为可能。其驱动软件结构如图2所示: 本产品集成到主机系统中的位置如图3所示: Nos-WiFi的特点和现状 [!--empirenews.page--]对于市面上的大多数基于802.11b/g/n标准的USB无线模块来说,它们绝大多数都应用在PC平台上,因此,这些usb无线模块的厂商通常只能提供基于windows或linux环境下的驱动程序,相应的在嵌入式应用中,只有使用了诸如WinCE、嵌入式linux操作系统的嵌入式系统平台才能应用这些产品。而对于那些自身硬件资源有限,处理能力较低的嵌入式设备来说,WinCE和嵌入式linux无疑是一个庞然大物,只使用一些简单的支持调度功能的操作系统甚至是不使用任何的操作系统是它们唯一的选择。而在这些系统上却没有可供使用的USB无线模块。即使这些厂商迫于压力升级了系统的硬件以满足使用USB无线模块的需求,但是由此而增加的成本也大大降低了产品的竞争力。例如,在一个典型的支持WiFi功能的基于Linux操作系统的嵌入式设备中,为了支撑操作系统,硬件架构需求为“CPU+32MB SDRAM +32MB FLASH”,而在一个不运行操作系统的嵌入式设备里面,硬件架构可变成“CPU+8MB SDRAM +1MB Serial flash”,由此带来的成本差异约为4美元,考虑到主CPU价格的区别,有无操作系统环境下设备整体成本相差约6美元。 目前无操作系统环境无线数据透传业务领域,主要使用Zigbee或者Nordic等公司的2.4Ghz私有协议无线数传模块(非标准WiFi产品),但这些产品仅在很短距离(约10m)以内能够实现2Mbps左右的数据吞吐率,无法实现大数据量室内中远距离数据传输。而采用Nos-Wifi产品的无线传输方案,基于802.11g标准的WiFi传输技术物理层最高传输速率可达54Mbps,即使在室外覆盖范围100米的情况下仍能实现5.5Mbps的物理层传输速率,使得远距离、高吞吐的数据传输成为可能。 Nos-Wifi产品的典型应用 流媒体电视 在现代生活向数字化、网络化推进的大环境下,家电产品的3c融合已经成为一种不可避免的产品发展趋势,而电视作为现代家庭显示中心的地位不可动摇。因此,流媒体电视机应运而生。流媒体电视不仅可以收看更清晰的电视节目,还可以播放数码相机、移动硬盘等数码设备里的图片、音乐、电影,让全家人共同欣赏。 而流媒体电视与WiFi技术的结合,使得人们可以通过无线网络直接与家庭电脑连接,从而直接播放存储在电脑上的流媒体文件,甚至更进一步,使用无线网络通过家庭无线路由器接入Internet网络,实现真正的网络在线播放功能。Nos-Wifi产品使得在流媒体电视中加入WiFi功能变得更加容易。 无线安防、视频监控 在点对点的无线通讯应用,比如baby Monitor等监控产品,Nos WiFi更能凸现优势。 Baby Monitor,即婴儿监护器,是小型无线电传送装置,包括发射器和接收器两部分。发射器放置在婴儿身边,设置有麦克风和摄像头,对于婴儿发出的每一个细微声响、动作,都可以准确无误地收录,并通过发射器上的天线发出清晰的信号。接收器是一个便携式掌上显示器,用来接收这些信号,由父母随身携带。通过这种装置,父母就可以在别的房间甚至室外院落中处理其他事务,同时,对孩子的情况也了如指掌。 工业控制、智能交通 现代的工业控制对系统的联网能力要求越来越高,工业控制的复杂度越来越高。因此,对于工业控制中的CPU的资源限制也越来越大。本模块产品可以在不改变系统大的架构下,轻松升级现有的系统。将现有的系统升级到无线的TCP/IP网络。 同样,现代的职能交通领域对系统的联网能力以及系统的联网的灵活性要求越来越高。Nos-wifi可以轻松的在对原有的系统进行升级改造。使的交通设施可以容易的进行TCP/IP网络的联网。

    时间:2010-04-05 关键词: Wi-Fi WinCE 理及应

  • VME总线原理及应用

    VME总线原理及应用VME(VersaModule Eurocard)总线是一种通用的计算机总线,结合了Motorola公司Versa总线的电气标准和在欧洲建立的Eurocard标准的机械形状因子,是一种开放式架构。它定义了一个在紧密耦合(closely coupled)硬件构架中可进行互连数据处理、数据存储和连接外围控制器件的系统。经过多年的改造升级,VME系统已经发展的非常完善,围绕其开发的产品遍及了工业控制、军用系统、航空航天、交通运输和医疗等领域。VME的特点VME的数据传输机制是异步的,有多个总线周期,地址宽度是16、24、32、40或64位,数据线路的宽度是8、16、24、32、64位,系统可以动态的选择它们。它的数据传输方式为异步方式,因此只受制于信号交换协议,而不依赖于系统时钟;其数据传输速率为0~500Mb/s;此外,还有Unaligned Data传输能力,误差纠正能力和自我诊断能力,用户可以定义I/O端口;其配有21个插卡插槽和多个背板,在军事应用中可以使用传导冷却模块。VME结构因为是两种标准的结合,那么VME系统也可以被看作是两个部分。一个部分是它的机械构架,此部分决定着VMEbus 系统背板、前置面板和嵌入板的尺寸大小;而令一部分则是功能构架,它定义了系统的运转流程。1 VME的机械结构VME机械构架中的主要部分为背板,是一个印刷电路板。它的大小有三种型号:3U(160mm ×100mm)、6U(160mm × 233mm)和9U(367 mm× 400mm)。根据VME64x标准,VME系统中有三种连接器,它们分别是P0/J0、P1/J1和 P2/J2,“P”和“J”分别代表了PLUG和JACK连接器。P1/J1和P2/J2连接器有96个管脚,排列成三排,每排32管脚;P0/J0连接器则有95个管脚。3U型背板只具有P1/J1或P2/J2连接器,而6U型背板则同时具有J1和J2连接器。2 VME的功能结构如图1所示,VME的功能构架可以说是由信号线,背板接口逻辑和功能模块所组成的。背板接口逻辑的性能是由背板上的一些特性所左右的,比如信号线阻抗、传播时间、终端数值等等。它和信号线是系统各部分之间的纽带。功能模块则是执行具体任务的电路集合。其中,主要的模块叫做主设备(master),其决定着数据传输的顺序;根据主设备数据传输情况而动作的模块叫做从设备(slave),负责监控数据传输目标地址的模块被称为定位监控设备。此外,还有发出中断请求和处理中断请求的模块,判定和处理其他模块请求的仲裁模块。当然,还少不了发出时钟信号的模块和监控系统电源工作情况的模块。图1 VME功能架构[!--empirenews.page--]这些模块虽然各有分工,但是要想集体配合,还需要总线的支持。VME系统的总线分为四大类:数据传输总线、数据传输仲裁总线、优先中断总线和通用总线。数据传输总线是一个高速异步平行数据传输总线,能传输数据和地址信号。主设备、从设备、中断模块和中断处理模块通过其进行两两交换数据。另外两个模块,总线时钟(bus timer)和JACK 菊花链驱动器也通过数据传输总线参与数据处理工作。数据传输仲裁总线是为确保在特定的时间内只有一个模块占用数据传输总线而设定的。工作在其上的请求模块和仲裁模块将负载协调各模块发出的指令。仲裁模块处于背板的第一个插槽内,决定哪个主设备将优先使用总线资源。具体的判定方法包括了优先权算法、round-robin算法和其他排序算法。优先权中断总线是处理各模块中断请求的总线。各种中断请求在VME中被分成了7个等级,根据等级的高低,它们依次对信号线进行中断工作。最后一个总线是通用总线。所谓通用总线就是负责系统的一些基本工作,包括对时钟的控制、初始化、错误检测等任务的总线。它由两条时钟线、一个系统复位线、一个系统失效线、一个AC失效线和一个串行数据线构成。各模块是以平行结构分布的,所有的数据和指令通过系统底层的4类总线进行传输,信号的模式是TTL电平信号。VME总线家族● VME64随着周边技术的发展,VME系统的升级在所难免。于是在1995年,VME总线的新一代架构VME64脱颖而出。相对于传统的VME系统,VME64加大了传输带宽,拓展了地址空间和方便了板卡插拔。它将6U板的数据线宽和地址范围扩展到了64位,给3U板提供了32位和40位地址模块,传输带宽达到了80Mb/s,增加了总线锁定周期,增加了第一插槽探测功能,加入了对热插拔的支持。● VME64 extensionVME64扩展集是1997通过的新标准,它又被称为VME64x。它增加了一个160管脚连接器系列(按5行排列),还在P1/J1和P2/J2之间加入了一个P0/J0 连接器,另外新增设了一个3.3V电源管脚。该系统新增的两个边缘总线循环则把数据速率提高到160 Mb/s。此外,还增加了EMC前置面板和ESD功能。● VME320VME320最大的改进可能是采用了星型互连的方法来达到数据传输加速的目的。它采用了一种叫做2eSST的协议,这是一种信源同步传输协议,可将理论数据速率提高到320 Mb/s。不过VME320并没有得到广泛的支持。其他从VME中派生出来的协议还很多,在这里就不一一介绍了。VME的发展趋势VME技术目前的优势在于多年的技术积累,其完备的规范和得力的技术支持能满足大部分客户的具体要求。此外,它的模块性也是一个非常大的优势,因为对于很多的嵌入式系统来说,加入额外的I/O是常有的事,而VME能很好的满足这一特点。VME提供了21个扩充插槽,而且新加入的模块并不影响系统的整体性能。不过,VME毕竟是诞生于25年前的技术,很多用户就对VME在带宽方面的进展不太满意。因为在这个海量数据的时代,带宽是一个压倒性的指标。不过,厂商们并未对VME丧失信心,他们在想尽一切办法来延长VME的寿命。SBS公司推出的VXS标准和VITA(VME国际贸易协会)开发的VPX标准就是一种新的尝试。VXS为引用交换结构创造了条件,而VPX则将开关结构信号速率提升到了6.25Gb/s。与此同时,许多VME总线背板开始使用PMC(PCI Mezzanine Card)插槽,以便能直接使用PCI板卡。制造商们还吸取了PCI板卡的构造因素,来让VME板卡跟上行业的步伐。VME的成就是众所公认的,但要想在未来的10年重新焕发活力,制造商们还要继续的努力。对于这种非常有弹性的技术,悄然的衰落可能不会是多数人所愿意看到的。

    时间:2010-03-28 关键词: vme 理及应 设计教程

  • 现场可编程门阵列的供电原理及应用

    FPGA概述现场可编程门阵列(FPGA)是一种可编程逻辑器件,由成千上万个完全相同的可编程逻辑单元组成,周围是输入/输出单元构成的外设。制造完成后,FPGA可以在工作现场编程,以便实现特定的设计功能。典型设计工作包括指定各单元的简单逻辑功能,并选择性地闭合互连矩阵中的一些开关。为确保正常工作,FPGA必须运用适当的电源管理技术。FPGA最初用于系统原型制作,最终量产时会用高速IC或ASIC代替。不过,近年来FPGA的性能有很大改善,成本则不断下降,因此FPGA现已广泛用于生产设计。FPGA的功耗取决于许多不同因素,与设计密切相关。必须运用精确的功耗估算方法,才能确保电源系统符合FPGA要求。FPGA制造商会提供网络工具,用于功耗计算。为了估算FPGA的功耗,计算程序需考虑设计资源运用、切换速率、工作时钟频率、I/O使用及其它许多因素。FPGA主要有三种可配置元件:可配置逻辑模块(CLB)、I/O模块(IOB)和互连。其中,CLB提供功能逻辑元件,IOB提供封装引脚与内部信号线之间的接口,可编程互连资源提供路由路径,将CLB和IOB的输入和输出与适合的网络相连。CLB(或内核)上施加的电压称为VCCINT。VCCO是IOB的电源电压。一些FPGA还有其它电压输入,称为VCCAUX。VCCINT(用于CLB)的典型值为1.0V、1.2V、1.5V、1.8V、2.5V和3V,电流可达10A或更高。CLB数量越多,则电压越低,电流越高。启动时,VCCINT必须单调上升,不得下跌。最常用的VCCO电压(用于IOB)为1.2V、1.5V、1.8V、2.5V、3.3V或传统系统中的5V。电流范围为1A至20A。辅助电压(VCCAUX)典型值为3.3V或2.5V。它为FPGA中的时间关键资源供电,因此易受电源噪声影响。VCCAUX可以与VCCO共用一个电源层,但前提是VCCO不会产生过大的噪声。FPGA使用的电源类型FPGA电源要求输出电压范围从1.2V到5V,输出电流范围从数十毫安到数安培。可用三种电源:低压差(LDO)线性稳压器、开关式DC-DC稳压器和开关式电源模块。最终选择何种电源取决于系统、系统预算和上市时间要求。如果电路板空间是首要考虑因素,低输出噪声十分重要,或者系统要求对输入电压变化和负载瞬变做出快速响应,则应使用LDO稳压器。LDO功效比较低(因为是线性稳压器),只能提供中低输出电流。输入电容通常可以降低LDO输入端的电感和噪声。LDO输出端也需要电容,用来处理系统瞬变,并保持系统稳定性。也可以使用双输出LDO,同时为VCCINT和VCCO供电。如果在设计中效率至关重要,并且系统要求高输出电流,则开关式稳压器占优势。开关电源的功效比高于LDO,但其开关电路会增加输出噪声。与LDO不同,开关式稳压器需利用电感来实现DC-DC转换。FPGA的特殊电源要求为确保正确上电,内核电压VCCINT的缓升时间必须在制造商规定的范围内。对于一些FPGA,由于VCCINT会在晶体管阈值导通前停留更多时间,因此过长的缓升时间可能会导致启动电流持续较长时间。如果电源向FPGA提供大电流,则较长的上电缓升时间会引起热应力。ADI公司的DC-DC稳压器提供可调软启动,缓升时间可以通过外部电容进行控制。缓升时间典型值在20ms至100ms范围内。许多FPGA没有时序控制要求,因此VCCINT、VCCO和VCCAUX可以同时上电。如果这一点无法实现,上电电流可以稍高。时序要求依具体FPGA而异。对于一些FPGA,必须同时给VCCINT和VCCO供电。对于另一些FPGA,这些电源可按任何顺序接通。多数情况下,先给VCCINT后给VCCO供电是一种较好的做法。当VCCINT在0.6V至0.8V范围内时,某些FPGA系列会产生上电涌入电流。在此期间,电源转换器持续供电。这种应用中,因为器件需通过降低输出电压来限制电流,所以不推荐使用返送电流限制。但在限流电源解决方案中,一旦限流电源所供电的电路电流超过设定的额定电流,电源就会将该电流限制在额定值以下。FPGA配电结构对于高速、高密度FPGA器件,保持良好的信号完整性对于实现可靠、可重复的设计十分关键。适当的电源旁路和去耦可以改善整体信号完整性。如果去耦不充分,逻辑转换将会影响电源和地电压,导致器件工作不正常。此外,采用分布式电源结构也是一种主要解决方案,给FPGA供电时可以将电源电压偏移降至最低。在传统电源结构中,AC/DC或DC/DC转换器位于一个地方,并提供多个输出电压,在整个系统内分配。这种设计称为集中式电源结构(CPA),见图1。以高电流分配低电压时,铜线或PCB轨道会产生严重的电阻损耗,CPA就会发生问题。CPA的替代方案是分布式电源结构(DPA),见图2。采用DPA时,整个系统内仅分配一个半稳压的DC电压,各DC/DC转换器(线性或开关式)与各负载相邻。DPA中,DC/DC转换器与负载(例如FPGA)之间的距离近得多,因而线路电阻和配线电感引起的电压下降得以减小。这种为负载提供本地电源的方法称为负载点(POL)。图1 集中式电源结构图2 分布式电源结构[!--empirenews.page--]当一个逻辑器件从逻辑1切换到逻辑0时,或者从逻辑0切换到逻辑1时,包括电源的输出结构暂时变为低阻抗状态。每次转换均要求对信号线进行充电或放电,这就需要能量。旁路电容的功能是在本地储存能量,以提供转换所需的能量。本地储存能量必须在较宽的频率范围内可用。低串联电感的非常小的电容用来为高频转换提供快速电流。高频电容能量耗尽之后,较大、较慢的电容继续提供电流。FPGA技术要求三种频率范围内的电容,即高、中、低频率范围。这些频率的跨度为1kHz至500MHz。正确放置对于高频电容(1nF至100nF低电感陶瓷片式电容)非常重要;对于中频电容(10μF至100μF钽电容或陶瓷电容)和低频电容(>470μF),这种重要性依次降低。之所以与放置有关,原因很简单:从电容引脚到FPGA电源引脚的路径电感必须尽可能低。这意味着该路径必须尽可能短,哪怕要穿过实体接地层或电源层。1英寸实心铜层的电感约为1nH,因此距离极为重要。旁路电容过孔必须直接下行至接地层或VCC层。 高频旁路电容,无论是在VCCINT还是VCCIO上,均应安装在相关VCC引脚的1厘米范围内;中频旁路电容则应安装在VCC引脚的3厘米范围内。低频旁路电容可以安装在合理范围内的电路板上任意位置。当然,离FPGA越近越好。 较新的FPGA有输入/输出旁路要求,因此以前用于低速或低密度设计的电容类型可能无效。根据所用材料、结构和值的不同,旁路电容在整个频率范围内有不同的串联电抗。通过查看各种系列的数据手册,可以得知某些电容更适合当前所考虑的应用。图3中显示了电容阻抗随频率的变化曲线。阻抗最小值位于电容的自谐振频率;超过此频率后,寄生引线电感在“电容”的电抗特性中占据主导地位。图中,业界标准型X7R单芯片、10nF陶瓷1206片式电容在50MHz时的阻抗为0.2Ω。然而,在500MHz时,该电容的阻抗约为3Ω。当有效阻抗增大,负载无法使用电容所储存的能量时,电容即无效。同时还必须考虑温度范围和老化效应。一些电容在室温时阻抗较低,但在极端温度时则表现不佳。当电容值较大(100nF至330nF)时,Z5U电容在高频时的ESR可能较低。不过,这种电容不宜在10℃以下使用。作为+20%、–80%额定器件,这种电容要求几乎两倍的设计值才能安全使用。选择旁路电容系列时,最好查看电容制造商的数据手册。FPGA电源设计可能会涉及5A、10A甚至更高的电流在PCB走线中流动。当这种大电流存在并以开关模式(边沿陡峭)随时间变化时,显而易见,噪声、感应电压和电磁辐射(EMI)很可能出现,并可能导致电源工作异常。与配线电感相关的快速开关电流也可能会产生电压瞬变,并导致其它问题。为使电感和接地环路最小,传导高电流的PCB走线应尽可能短。应采用接地层结构或单点接地,使外部元件尽可能靠近DC/DC转换器,以实现最佳效果。使用开口铁芯电感时,必须特别注意这种电感的位置和定位,避免电感通量与敏感的反馈接地路径和COUT配线相交。使用具有可调输出的开关稳压器或控制器时,应将反馈电阻和相关配线置于IC附近,并远离电感布置配线,尤其是开口铁芯式电感。铁氧体绕轴或铁棒电感具有从绕轴一端经空气到达另一端的磁力线。这些磁力线会在电感磁场范围内的所有导线或PC板铜走线中产生感应电压。铜走线中产生的电压量由以下因素决定:磁场强度、PC铜走线相对于磁场的方向和位置,以及铜走线与电感之间的距离。FPGA和稳压器的可靠性取决于散热问题。这些器件的温度主要受待机功耗和总功耗、外部容性负载(仅FPGA)、热阻、环境温度以及气流等因素控制。必须有效管理这些因素,使结温(Tj)始终低于制造商规定的最高温度。ADP2114同步降压开关稳压器   ADP2114,pdf datasheet (Synchronous Step-Down DC-to-DC Regulator) ADP2114(图4)是一款功能多样的同步降压开关稳压器,可满足各种客户负载点要求。两个PWM通道既可以配置为分别提供2A和2A(或3A/1A)电流的两路独立输出,也可以配置为提供4A电流的单路交错式输出。ADP2114可提供高功效,开关频率最高可达2MHz。在轻负载时,该器件可以设置为脉冲跳跃模式工作,以便提高功效,或者设置为强制PWM模式工作,以便降低电磁干扰(EMI)。ADP2114还具有欠压闭锁(UVLO)、迟滞、软启动和电源正常输出指示等特性;保护特性有输出短路保护和热关断等。可以利用极小电阻和电容对输出电压、电流限制、开关频率、脉冲跳跃工作模式和软启动时间进行外部编程。图3 电容阻抗随频率的变化曲线图4 ADP2114同步降压开关稳压器[!--empirenews.page--]该器件可用于多个终端市场,例如通信基础设施、工业和仪器仪表、医疗保健以及高端消费电子市场。在这些终端市场的主要应用是分布式电源系统中的负载点稳压器。虽然DC-DC稳压器的功效远高于LDO,但通常认为其噪声太高,无法在不显著降低其它参数性能的情况下,直接为高性能模数转换器供电。模数转换器的噪声至少有两个来源:通过电源纹波直接耦合至转换器中的噪声,以及磁耦合效益引起的噪声。图5所示为一种实验室设置,针对采用低噪声LDO供电和采用开关稳压器ADP2114供电两种情况,比较一个16位、125MSPS模数转换器的性能。评估所用的AD9268可实现非常低的噪声,信噪比(SNR)为78dB。DC-DC转换器贡献的额外噪声或杂散成分很容易反映在该模数转换器的输出频谱中,因此-152dBm/Hz的低本底噪声使它非常适合评估开关电源。图5 开关电源供电测试我们将ADP2114与低噪声LDO稳压器进行比较。高性能、16位、125MSPS AD转换器AD9268的评估结果表明:采用开关稳压器ADP2114供电与采用低噪声LDO稳压器供电相比,性能未受影响。因此,ADP2114可以为用户提供可配置能力、多样化功能和灵活性,并且具有低噪声特性和高转换效率。同时能够满足各种客户负载点电源要求,性价比高,是FPGA、ASIC、DSP和微处理器供电的理想选择。ADI公司提供网络工具可方便设计导入,同时提供评估板,有助于实现快速导入。更多详细内容,敬请登陆中电网在线座谈网址:http://seminar.eccn.com问答选编问:印刷电路板中大电流供电,除加宽导电铜箔外,是否需要进一步采取镀锡等措施? 答:加镀锡一定程度上可以加大散热面积,但是效果不一定特别明显,最好还是加宽加厚导电铜箔。问:在供电时,如果没考虑上电顺序,对整个系统的运行会有什么影响? 答:这个问题要针对系统的各个功能模块对上电的要求,如果系统中的某些电路对上电有严格的顺序,没有考虑到的话,很可能导致系统不工作。 问:电源纹波对FPGA性能有何影响?答:工作时期的电源纹波要求、供电系统的压降、电源通路的等效阻抗设计等参数都是用户要特别留意的。建议在做大设计的时候一定要做电源完整性仿真,且要严格满足设计约束。问:在IPTV系统中的FPGA供电电源有什么要求吗?答:IPTV系统中FPGA的电源需求比较复杂,多达三种供电要求:内核电压、I/O电压和辅助电压。为了实现可靠的系统性,必须对这些排序,需要用电压管理芯片。问:I/O是否可以承受5V电压?答:这个取决于I/O的供电电压。如果数字部分是5V供电,那么就可以。问:ADP2118的输出电感和电容如何选择?它和负载电流、缓升时间有多大关系? 答:ADP2118为内部补偿器件,因此对输出电感电容有一定的限制,输出电容一般不能小于47uF,输出电感建议为0.8~3.3uH(针对频率设置为1.4MHz)、1.5~3.3uH(针对频率设置为700kHz)。输出电感电容的选择和负载电流、软启动时间并无太大关系。 问:ADP2114的PWM频率是多大?都有什么封装形式的? 答:有三种频率可以选择:300kH、600kHz、1.2MHz。封装只有一种,即LFCSP,CP-32-2。问:ADP2114强制PWM工作是如何降低EMI的? 答:ADP2114强制PWM工作时,将使芯片在整个负载范围内始终工作在同一个恒定频率,因此相比较PFM/PWM自动模式(开关频率会在轻载时自动变化)来说,PWM工作能够降低系统EMI以及系统噪声。问:FPGA电源的斜升时间(ramp-time)有哪些要求?答:为确保供电,核心电压VCCINT校正时间必须在一定范围内。对于一些FPGA,过大的校正时间会产生更长时间的供电电流,由于在变压器启动treashold中VCCINT需要更长时间。开启校正时间长会引起热压力,如果电源向FPGA提供大电流。一些DC/DC变压器提供可调节软启动,允许通过一个外部电容器控制校正时间。校正时间取决于FPGA制造商,典型取值为50ms~100ms。问:FPGA供电电源的电压功耗如何估计?电源功耗取决于哪些因素?答:可以根据公式:Pd=(Vin-Vout)(IL)+(VIn)(Iground),其中IL是负载电流,根据公式可以看出与输入、输出电压、负载电流、对地电流有关。 问:电路如何设计才能得到低纹波、低EMI、低噪声电源?答:首先选择的电源应该是低纹波、低噪声的电源,其次就是布局布线要参考芯片资料给出的建议。

    时间:2010-03-26 关键词: 理及应 程门阵 设计教程

  • 嵌入式模数转换器的原理及应用

      前言  在数据采集系统中,模数转换器是其中至关重要的环节,模数转换器的精度以及系统的成本直接影响到系统的实用性,因此,如何提高模数转换器的精度和降低系统的成本是衡量系统是否具有实际应用价值的标准。  一般来说,想提高模数转换器的精度,势必会引起成本的增加,这就要求我们按照具体的精度要求合理的设计模数转换器,来达到具体的要求和降低系统的成本。在精度要求不是很高的场合,我们经常利用嵌入微控制器片内的A/D转换器来实现模数转换,以此来降低系统的成本,但由此又产生了另外的问题,嵌入式模数转换器是否具有所要求的精度,若超出测量范围如何与测量电路进行接口,以及如何减小微控制器的电磁干扰提高嵌入式模数转换器的精度问题。这都要求我们采取不同的措施来提高嵌入式模数转换器的精度。   1 精度与分辨率   ADC的精度和分辨率是两个不同的概念。精度是指转换器实际值与理论值之间的偏差;分辨率是指转换器所能分辨的模拟信号的最小变化值。ADC 分辨率的高低取决于位数的多少。一般来讲,分辨率越高,精度也越高,但是影响转换器精度的因素很多,分辨率高的ADC,并不一定具有较高的精度。精度是偏移误差、增益误差、积分线性误差、微分线性误差、温度漂移等综合因素引起的总误差。因量化误差是模拟输入量在量化取整过程中引起的,因此,分辨率直接影响量化误差的大小,量化误差是一种原理性误差,只与分辨率有关,与信号的幅度,采样速率无关,它只能减小而无法完全消除,只能使其控制在一定的范围之内,一般在±1/2LSB范围内。   1.1 偏移误差   偏移误差是指实际模数转换曲线中数字0的代码中点与理想转换曲线中数字0的代码中点的最大差值电压。这一差值电压称作偏移电压,一般以满量程电压值的百分数表示。在一定温度下,多数转换器可以通过对外部电路的调整,使偏移误差减小到接近于零,但当温度变化时,偏移电压又将出现,这主要是由于输入失调电压及温漂造成的。一般来说,温度变化较大时,要补偿这一误差是很困难的。   1.2 增益误差   增益误差是转换器输出全“1”时,实际模拟输入电压与理想模拟输入电压之差。它使传输特性曲线绕坐标原点偏离理想特性曲线一定的角度,即增益误差表示模数转换特性曲线的实际斜率与理想斜率的偏差,它的数值一般用满量程的百分比来表示。   ADC的理想传输函数的关系式是 (1)  式中Un是没有量化时的标准模拟电压,由于存在增益误差,式(1)变为 (2) 式中的K为增益误差因子。当K=l时,没有增益误差。当K>1时,传输特性曲线的斜率变大,台阶变窄,在输入模拟信号达到满量程值之前,数字输出就己全“l”状态。当K<1时,传输特性曲线的斜率变小,台阶变宽,输入模拟信号己超满量程值时,数字输出还未达到全“1”状态输出。   在一定温度下,可通过外部电路的调整使K=l,从而消除增益误差。   1.3 线性误差   线性误差又称积分线性误差,是指在没有偏移误差和增益误差的情况下,实际传输曲线与理想传输曲线之差。线性误差一般不大于1/2LSB。因为线性误差是由ADC特性随输入信号幅值变化而引起的,因此线性误差是不能进行补偿的,而且线性误差的数值会随温度的升高而增加。   1.4 微分线性误差   微分线性误差是指实际代码宽度与理想代码宽度之间的最大偏差,以LSB为单位,微分线性误差也常用无失码分辨率表示。   由于时间和温度的变化,电源可能会有一定的变化,有时可能是造成影响ADC精度的主要原因,因此在要求比较高的场合,必须保证电源的稳定性,使其随温度和时间的变化量在所允许的范围之内,但在一般的场合,往往可以不考虑其对系统的影响。   2 嵌入式模数转换器的结构及影响转换的原因和消除方法   所谓嵌入式模数转换器是指将模拟多路开关、采样保持、A/D转换、微控制器集成在一个芯片上,经常采用逐次比较型进行A/D转换,模拟输入信号一般为非负单极性,且输入信号的电压范围为0~AVREF,A/D转换器具有独立的模拟电源与参考电压。 [!--empirenews.page--]  在实际应用中,由于输入信号的输出电阻不同,如果输出电阻过大,会引起实际测量的电压分压过小,因而引起测量值较实际值偏小;或者由于输入信号为双极性模拟信号,不能直接与嵌入式微控制器相连,必须采取特殊措施,使双极性模拟信号转换为可以直接测量的非负单极性信号;还有如果输入信号幅值过大,以至于超过参考电压,也必须引入将压环节,使输入电压低于参考电压,等等,下面对以上影响逐一进行分析。   2.1 模拟输入信号阻抗对采样的影响   采样过程是采样电容充电,跟踪输入模拟信号电压的过程,由于采样电路存在模拟多路开关阻抗、采样开关阻抗和输入信号源阻抗,因此,其转换时间受模拟多路开关阻抗、采样开关阻抗与输入信号源阻抗的影响,模拟多路开关与输入信号源的阻抗越大则其转换时间越长。   逐次比较型A/D的输入端等效电路如下图所示:  图1 逐次比较型A/D的输入端等效电路  其中,RIN为输入模拟信号内阻,VS为输入模拟电压信号,RSH为模拟多路开关与采样开关的等效电阻,VSH为采样电容的充电电压,由等效电路可以看出,输入模拟信号内阻越大,则采样电容充电时间越长,因此,对于采样频率要求越高的场合,要求模拟输入信号内阻必须越小,在应用时必须首先估算在规定的采样频率下,对模拟输入信号内阻的要求。由电路理论可以求得RIN所允许的最大值(假设采样时间为T):    如果信号源内阻达不到要求,则需使用一个输出阻抗很小的缓冲器,例如可以使用电压跟随器,使信号源的输出阻抗达到A/D转换器所要求的输入阻抗的范围之内。   2.2 模拟信号极性及幅值的变换   在数据采集系统中,采集的模拟信号并非都是非负单极性信号,经常是双极性信号,因此在使用嵌入式A/D转换器的时候,需要对模拟输入信号进行极性转换,我们可以采用运算放大器组成的线性网络来对其极性及幅值进行转换,但须注意的是在引入线性网络的同时,又引入了一定量的非线性误差,其线性网络原理图可用下图表示:   图2 线性网络原理图  只要改变电阻R1、R2、R3的大小以及它们的比例关系便可调整模拟输入信号的大小使其符合测量要求。   下面介绍一种常用的芯片AT90S8535关于其A/D转换器使用时应该注意的情况。  AT90S8535是ATMEL公司生产的一款基于AVR RISC结构的,低功耗的8位单片机,其内部集成有模数转换器,模数转换器具有以下特点:    10位分辨率;    ±2LSB精确度;    0.5LSB集成线性度;    65~260μs转换时间;    8通道;    自由运行模式和单次转换模式;    ADC转换结束中断;    休眠模式噪声消除。 [!--empirenews.page--]  AT90S8535具有10位分辨率的逐次逼近型A/D转换器。ADC与一个8通道模拟多路器相连,这样就允许A口作为ADC的输入引脚。ADC包含一个采样保持放大器,ADC框图如下所示:  图3ADC框图  ADC可以工作于两种模式——单次转换和自由运行。在单次转换模式下,用户必须启动每一次转换,而在自由运行模式下,ADC会连续采样并更新ADC数据寄存器。ADCSR的ADFR位用于选择A/D转换器的运行模式。   由于模拟通道的转换总是要延迟到转换的结束,因此,自由运行模式可以用来扫描多个通道,而不中断转换器。一般来说,ADC转换结束中断用于修改通道,但需考虑一下因素;结果一旦准备好,中断就被触发,在自由运行模式,中断一被触发,则下一次转换马上开始。如果中断触发过后,模拟通道改变,而下一次转换已经开始,则仍旧使用以前设置。   3.1 ADC噪声消除技术   AT90S8535的内外部数字电路会产生电磁干扰,从而影响模拟测量精度。如果要求测量精度较高,则应采取如下技术以减少噪声: 1)  AT90S8535的模拟部分及其他的模拟器件在PCB板上要有独立的地线层。模拟地与数字地单点相连; 2)  使模拟信号通路尽量短。使模拟走线在模拟地上通过,并尽量保持远离高速数字通路的走线; 3)  AVCC要通过一个RC网络连接到VCC; 4)  利用ADC的噪声消除功能减小来自CPU的噪声; 5)  如果A口的一些引脚作数字输出口,则在ADC转换过程中,这些口不要改变其状态。   3.2 ADC噪声消除功能的实现   ADC可以在CPU空闲模式下进行转换,这一特征使得可以抑制来自CPU的噪声。为了实现这一特性,需采取一下措施:   A)  必须选择单次转换模式,ADC的转换结束中断必须使能; ADEN=1;ADSC=0;ADFR=0;ADIE=1;   B)  进入空闲模式。一旦CPU停止,则ADC将开始转换;   C)  如果在ADC转换结束之前没有发生其它中断,则ADC中断将唤醒MCU并执行ADC转换结束中断。   微控制器片内A/D转换器由于自身的结构、性能特点,在许多应用中会遇到与独立A/D转换器不同的问题,但大多数嵌入微控制器的A/D器都具有像AT90S8535相似的结构和特点,采取的消噪技术和方法也大致相同,我们需根据具体情况具体分析需采取嵌入A/D还是独立A/D,并根据具体需求采取必要的措施来提高A/D转换器的精度。

    时间:2009-12-22 关键词: 理及应 设计教程

  • 大型多媒体中央控制系统的原理及应用

    多媒体中央控制系统能实现多媒体信息的控制、管理、整合、切换、调度等功能,被广泛地应用在多个行业和领域,如电力调度中心、电信调度指挥中心、交通监控指挥中心、三防应急指挥中心、110报警指挥中心以及军事指挥中心等。用户可以通过按钮式墙挂控制面板、触摸屏、遥控器、计算机来控制诸如拼接大屏、音视频AV矩阵、RGB矩阵、投影机、视频展台、DVD、电动屏幕、电动窗帘、灯光等可控电子设备。  在大型系统中(如全国联网)采用相应的控制软件将几个独立的中央控制系统通过Internet或专用网络相互连接起来,成为网络化的中央控制系统,可实现远程控制、资源共享、影音互传和相互监控。以此构建一个大型集中控制的、实时的、现代化的、综合性的多媒体视听中心系统,为指挥决策、生产调度提供实时准确的多媒体信息。其系统结构如图1所示。1 多媒体中央控制系统的硬件组成  多媒体中央控制系统硬件主要由用户操作界面(UI)设备、中央控制设备、通信网络三大部分组成。如图2所示。对于多媒体中央控制系统来说,用户操作界面设备主要应用触摸屏技术,分为单向屏和双向屏两类。单向屏(One Way)只发出指令,没有信号的反馈,主要有红外线(IR)、射频线(RF)、有线(Wired);双向屏(Two Way)可接收回馈,有输出功能,主要有射频线(RF)和有线(Wired)。2 多媒体中央控制系统的功能特点  一个完整的多媒体中央控制系统,能够实现人性化、智能化的集中控制,其功能主要包括以下几个部分。  (1)多媒体显示系统的控制:控制各类显示设备的功能,如开/关机、对视频图像、计算机图像的切换等,并且能够自动实现关联动作,如关闭系统时,自动将设备关闭;通过强电继电器,控制各类电动设备如电动吊架和屏幕、窗帘的上升、下降、停止,并且能够自动实现关联动作,如显示设备开启时,电动吊架和屏幕自动下降,显示设备关闭时电动吊架和屏幕、窗帘自动上升;通过触摸屏的视频预览功能,在视频投出之前,确认播放的视频图像就是所需要的视频图像。  (2)多媒体音视频系统的控制:通过主机后的串口埠,控制VGA/RGBHV矩阵和A/V矩阵,并可以根据设备自动选择输出信号;通过主机后的红外(IR)控制埠和红外发射棒,控制DVD、录像机、MD、实物展台、数字发言系统和视频会议系统的所有动作,并且可以实现音视频信号的自动切换;通过音量控制器,操作调音台和功放;通过串口埠控制数字硬盘录像机,实现对闭路电视监控系统的操作。  (3)实现对其他环境外围设备系统的控制:通过强电继电器控制日光灯的开关,调节白炽灯的亮度;实现多种灯光模式预设,使得灯光满足不同场合需要;对设备电源实现自动及节能管理、延时或定时开机关机,更好的保护设备。  (4)实现远程控制功能:利用主机基于网络的强大软件控制功能,通过计算机实现远程监控、远程操作和维护等功能;结合本地的触摸屏控制,达到完全智能化的控制管理。3 多媒体中央控制系统的系统结构  多媒体中央控制系统通过人性化的人机界面、开放式的可编程控制平台、交互式的控制结构,实现了设备的互连操作和集中控制。其核心设备是中央控制器(中控主机),它采用内嵌式处理器,可编程逻辑阵列电路,内置大容量内存及Flash,提供多路独立可编程RS-232控制接口,可以收发RS485、RS422格式数据,有独立可编程IR红外发射口和多数字I/0输入输出控制口,带保护电路,有多路强电、弱电继电器控制接口,有远程TCP/IP网络控制口,内嵌红外学习器,提供可扩展多功能插槽和多个网络控制接口,可任意扩展模块。并且,现在的中控系统都支持第三方控制协议。图3是一个典型的中央控制系统结构图。中央控制系统的架构要根据其应用的行业和领域来决定,但可以从以下几个主要方面来考虑。  (1)信号源的多样性。中央控制系统支持多种多样的信号源,包括本地各种音视频信号、本地电脑图像、本地监控图像、本地视频会议图像、远程监控图像、远程视频会议图像等。  (2)信号显示方式的多样性。主要考虑显示信号的处理方式,如在大型拼接屏中分为单屏显示、多屏显示、画中画显示和全屏显示。  (3)控制方式的多样性。可采用RS232协议、TCP/IP协议、红外码协议以及第三方协议来控制。[!--empirenews.page--]4 多媒体中央控制系统的软件组成及开发4.1多媒体中央控制系统的软件组成  多媒体中央控制系统软件程序由三部分组成:触摸屏人机界面程序、中央控制器控制程序、中央控制器底层程序。它们之间的逻辑关系如图4所示。触摸屏人机界面程序和中央控制器主机控制程序属于用户程序。主机底层程序实际上是一个嵌入式操作系统,它通过对主机的各种接口和模块的操作来发送指令。主机底层程序根据需要可以改写。存储在可擦写的E2PROM或Flash RAM中,可不断更新升级。   触摸屏人机界面程序实现系统与用户的接口,用户通过触摸屏人机界面来操作控制中央控制器,人机界面触发中央控制器主机程序执行命令。中央控制器主机控制程序负责把用户在主机界面的操作转化为在主机控制程序中编写的逻辑指令,并把它传递给主机底层程序。这些指令通过控制主机底层程序编译后与硬件直接对话,驱动硬件进行相关工作。4.2多媒体中央控制系统的软件开发4.2.1触摸屏人机界面程序的开发  触摸屏人机界面程序的开发工具是一种基于面向对象的Web浏览器页面的用户界面功能软件开发环境。它是一个图形化的开发环境,通过按钮、页、文本和图片等来完成图形界面的编辑,通过定义与控制程序逻辑符号相对应的ID号来实现操作。  人机界面程序包括以下几个界面:①Logo首页,为操作登录主界面接口;②主菜单页面,包括整个系统受控设备的选项;③设备操作功能子页面,为每种设备的操作界面,并提供返回主菜单页面的选项;④退出系统页面,提供用户关闭系统的功能。4.2.2主机控制程序的开发  多媒体中央控制系统的主控程序采用符号控制程序设计语言SIMPL(Symbol Intensive Master Programming Language),它是一个可视化的面向对象的控制系统应用程序开发工具,并且提供了系统所必需的编程、配置、测试和调试等功能,实现了用户界面和受控设备群之间的通信。  SIMPL窗口的配置模块允许用户选择控制系统、用户界面、网络设备和需要安装的受控设备。对这些硬件分配端口地址、网络标识号和IP地址;也可以通过接口卡或网络控制模块来设置设备之间的通信参数。  控制程序的开发其实是通过编写一些已经编写好的逻辑符号来发送指令到底层程序。这些逻辑符号就是为了满足某些特定功能的要求所开发出来的相应功能模块,类似于函数、类库或控件。不同的逻辑指令功能也不相同,应用范围也不一样。如对大屏幕的拼接控制逻辑程序如图5所示。4.2.3 用户的底层程序开发  多媒体中央控制系统底层程序的开发,一般采用C语言编写通用模块,这些模块与中央控制器可以互传指令,中央控制器传递一个控制程序发送的指令(输入信号)到一个模块,然后触发一个进程事件,再发送指令(输出信号)给中央控制器直接对硬件进行操作,执行相应的动作。如对DVD视频、音频进行的程序:      STRING A$[10], B$[10], C$[10];      INTEGER I;      BUFFER_INPUT COM_IN$[50];      // A$, B$, and C$ contain identical values       // after these lines run.      A$=CHR(′A′);      B$=CHR(65);      C$=CHR(0x41);      //Preserve the lower nibble of a word, mask the rest out.      I = VAL1 & 0x000F;       // Read until a comma is detected in the stream.      DO      {      I = GetC(COM_IN$)      }      UNTIL (I = ′,′);      STRING_OUTPUT SortedNames$[5];     STRING_OUTPUT SortedNames$[5,5];5 多媒体中央控制系统的发展方向  多媒体中央控制系统未来的发展方向将是智能控制系统(Intelligent Control System )。它将是现代控制理论包含的人工智能、自学习机制以及神经网络的优化组合。在实际应用中应具有以下特点:①自学习机制、记忆功能;②多接口、自适应,强大的通信功能;③系统组态及扩展容易;④编程语言简单易学,兼有高级语言或底层控制语言,提供复杂函数运算或更高层次的二次开发平台;⑤人机界面更加智能人性化;⑥良好的电磁兼容性及稳定性。

    时间:2009-03-16 关键词: 理及应 设计教程

  • RGB色彩传感器工作原理及应用方案分析

    RGB色彩传感器工作原理及应用方案分析

    尽管人眼区分色彩的能力非常强,但不同的人在描述同一色彩时会有所不同,这意味着在要求精确的色彩检测和管理的应用中,口头描述是不够的。更好的解决方案是使用充分校准的色彩传感设备,以数字方式描述色彩。这些设备包括昂贵的实验室级分光光谱仪到经济的RGB色彩传感器(如安华高科技生产的色彩传感器)。安华高科技拥有各种色彩传感器,为当前许多实际色彩传感和测量应用提供了实用的解决方案。本文的目标是考察色彩感知、测量和规格、以及怎样应用色彩传感器生成的数据。最后,本文讨论了安华高科技的RGB色彩传感器产品及其怎样为各种色彩传感应用服务。  色彩的感知  在进入电子设备怎样传感色彩的理论之前,有必要了解人类是怎样感知色彩的。色彩是光源、物体和观察者之间交互的结果。在反射的光中,落在一个物体上的光会被反射或吸收,具体取决于表面特点,如反射系数和透射情况。例如,红纸会吸收光谱中大多数带绿色的部分和带蓝色的部分,同时反射光谱中带红色的部分,因此对观察者会表现为红色。在自己发光的物体中,其原理相同:光会到达人眼,然后由眼睛的接受器进行处理,由神经系统和大脑进行解释。  人类视觉系统可以检测到从大约400nm(紫色)到大约700nm(红色)的电磁光谱,可以适应变化广泛的照明度和大量的色彩饱和度(纯粹的颜色在白色中所占的比例)。虽然杆状细胞是能够在广泛的照明度上工作、并对变化提供快速响应的光传感器元件,但这些杆状细胞却无法检测色彩。称为锥状细胞的光传感器元件提供高分辨率的色彩图像。共有三个锥状细胞,在不同波长上实现峰值灵敏度,其分别是红色(580nm)、绿色(540nm)和蓝色(450nm)。可视光谱内任何波长的光都将会在不同程度上刺激这三类锥状细胞中的一个或多个单元,我们感觉到的色彩则是我们的视觉神经和大脑处理的信息。  很明显,拥有正常色彩视觉的人在看到波长组合相同的光时,基本上会感觉到相同的色彩。科学试验表明,人类可以区分非常细微的色彩差异,估计最高可以达到1000万种,问题是我们没有足够的词来描述所有这些有着细微差异的色彩。  色彩测量的原理  图1.1显示了与使用仪器或传感器进行色彩测量相比,人眼检测色彩的基本原理。传感设备可以是高端设备,如分光光谱仪或英国国际照明委员会(CIE)校准的摄像机,也可以是低端设备,如RGB色彩传感器等。  测量仪器通常分为两大类:色度分析方法和测光方法。在使用色度分析方法时,设备使用具有三个滤波器的传感器测量来自物体的光(图1.1b)。正常情况下,传感器廓线经过优化,因此与人眼响应非常相似。输出采用CIE三重刺激值表示:X, Y, Z。  测光方法(图1c)使用各种各样的传感器,在大量的窄波长范围内测量色彩。然后,仪器的微电脑通过对得到的数据求积分,计算三重刺激值。  安华高科技的色彩传感器(图1d)是三滤波器设备,提供了色度分析测量功能。传感器输出由电压输出VR, VG,和VB或模拟数字转换后的R, G和B数字值组成。  图1a 图1b 图1c 图1d 色彩传感器的工作原理 色彩传感器分为三种不同类型:光到光电流转换,光到模拟电压转换,光到数字转换。前者通常只代表实际色彩传感器的输入部分,因为原始光电流的幅度非常低,总是要求放大,以将光电流转换成可用的水平。所以,最实用的模拟输出色彩传感器至少会有一个跨阻抗放大器,并提供电压输出。 光到模拟电压色彩传感器由色彩滤波器后面的光电二极管阵列与整合的电流到电压转换电路(通常是跨阻抗放大器)组成,如图1.2所示。落在每个光电二极管上的光转换成光电流,其幅度取决于亮度及入射光的波长(由于色彩滤波器)。 图1.2: 采用光到模拟电压转换的色彩传感器 如果没有色彩滤波器,典型的硅光电二极管会对从超紫色区域直到可视区域的波长作出响应,在光谱接近红外线的部分,峰值响应区域位于800nm和950nm之间。红色、绿色和蓝色透射色彩滤波器将重塑和优化光电二极管的光谱响应。正确设计的滤波器将对模仿人眼的滤波后的光电二极管阵列提供光谱响应。三个光电二极管中的每个光电二极管的光电流会使用电流到电压转换器,转换成VRout、VGout和VBout。 有两种色彩传感模式:反射传感和透射传感。 在反射传感中,色彩传感器检测从某个表面或对象反射的光,光源和色彩传感器都放在目标表面附近。来自光源(如白炽灯或荧光灯、白色LED或校准后的RGB LED模块)的光弹跳离开表面,被色彩传感器测得。反射离开表面的色彩与表面的颜色有关。例如,白光入射到红色表面上,会反射为红色。反射的红光撞击色彩传感器,产生R, G和B输出电压。通过解释三个电压,可以确定色彩。由于三个输出电压与反射光的密度线性提高,因此色彩传感器还可以测量表面或物体的反射系数。 图1.3: 反射的光的颜色取决于表面反射的颜色和吸收的颜色。 透射传感 在透射工作模式下,传感器朝向光源。色彩传感器搭配滤波器的光电二极管阵列将入射光转换成R, G和B光电流,然后放大并转换成模拟电压。由于所有三个输出都会随着光密度提高而线性提高,因此传感器可以同时测量光的颜色和总密度。 可以使用透射传感,确定透明介质的颜色,如玻璃和透明塑料、液体和气体。在这种应用中,光穿过透明介质,然后撞击在色彩传感器上。透明介质的颜色取决于对色彩传感器电压的理解。 图1.4: 传感器的R, G和B 输出取决于落在传感器上的光的颜色。 图1.5: 透明介质的色彩传感,如色彩滤波器、液体或气体。 解释色彩传感器值 可以使用色彩传感器的三个模拟输出电压直接控制硬件,或转换成数字值,从而数字处理器能够分析数据。然后可以从这些数字值中获得色彩和亮度信息。 描述色彩和亮度有两种方法。 a) 矩阵方法 如果需要区分多种色彩,那么适合采用这种方法。这种方法基于下面给出的矩阵: 其中X, Y, Z代表CIE三重刺激值,RGB代表色彩传感器的数字值。 将测量已知的参考色彩集合,对每个标准X, Y, Z值获得R, G, B 传感器值。矩阵系数C00, C01, C02, C10, C11, C12, C20, C21和C22从这些已知标准值中确定。一旦确定了这些矩阵系数,那么可以从R, G,和B 数字传感器值中计算得出未知色彩的X, Y, Z值。 b) 查表方法 如果要区分少量的参考色彩,适合采用这种方法。首先,在校准过程中获得每个色彩的参考色彩传感器值,其中包括亮度信息。必须确定亮度信息是否重要。如果亮度信息重要,理解中会使用实际色彩传感器值。 如果亮度对应用不重要,那么在校准过程中将对参考色彩及在测试过程中对未知色彩获得红色、绿色和蓝色传感器值的比率或比重。使用一个选定的色彩通道作为所有测量集合的基础,来获得比率。例如,如果选择绿色通道,那么通过将传感器测量值除以相应的绿色通道值,来获得比率,因此得到的绿色通道值一直是1。我们演示一下,如果集合(Rn, Gn, Bn),n=1, 2, 3…N表示所有N个参考色彩的色彩传感器测量结果,那么通过下述集合得出比率: ,n=1,2,3, ...N。 也可以使用红色或蓝色通道值作为除数。选择使用哪条色彩通道与用户偏好有关。 如果未知色彩距离某个参考色彩最近,也就是说,如果未知色彩与该特定参考色彩之间的距离在未知色彩与所有其它参考色彩之间的所有其它距离中最短,那么可以确定未知色彩就是参考色彩。 未知色彩和参考色彩之间的距离使用下面的公式得出: a) 在亮度重要时 b) 在亮度不重要时 注意:1. (Ru, Gu, Bu)是未知色彩传感器值; 2. (Rr, Gr, Br)是参考色彩传感器值; 3. 在亮度不重要时,一条传感器通道的值(如绿色通道)作为除数。 将为每个参考色彩确定最大距离极限,以避免接受不属于参考色彩列表的色彩。这个最大极限对每个参考色彩可以不同,具体视要求的准确性而定。 色彩传感器的类型比较 光到光电流转换器 光到光电流转换器由光电二极管或具有色彩滤波器的光电二极管组成,将光转换成光电流。可以使用外部电路,将光电流转换成成比例的电压输出,然后可以通过模拟数字转换器将电压转换成数字格式,输送到微控制器中。 优点: - 设计灵活。可以针对各个应用订制放大器的增益和带宽及模拟数字转换器的速度和分辨率 缺点: - 增加了组装成本 - 提高了设计复杂程度 光到光电流转换器适合要求响应时间短、定制增益和速度调节及在光线变化条件下工作的应用。 光到模拟电压转换器 光到模拟电压转换器由搭配色彩滤波器的光电二极管阵列组成,并整合一个跨阻抗放大器。要求使用外部电路,将模拟电压转换成数字输出,然后才能输送到数字信号处理器。 优点: - 简化外设电路设计 - 改善空间利用效率 - 降低组装成本 缺点: - 响应时间预先由内置电流到电压转换器确定,如跨阻抗放大器 - 要求额外的模拟数字转换器,将电压输出转换成数字格式 光到模拟电压转换器适合要求设计周期较短、产品开发周期更快、光线条件和空间利用率设计精良的应用。 光到数字电压转换器 光到数字电压转换器由搭配RGB滤波器的光电二极管阵列、模似数字转换器及用于通信和灵敏度控制的数字核心组成。输出允许直接接口微控制器或其它逻辑控制通路,如2线串行接口,以进一步处理信号,而不需额外的器件。 优点: - 提供抗噪声干扰能力 - 简化外围电路设计 - 改善空间利用率 - 降低组装成本 缺点: - 只通过2线串行接口模块提供到微控制器或PC的直接接口 - 响应时间由内置模拟电路和数字电路预先确定 - 预先确定模拟数字转换分辨率 光到数字转换器适合要求抗噪声能力、缩短设计周期、加快产品开发周期及光线条件和空间利用率设计精良的应用。 安华高科技的色彩传感器系列 安华高科技提供广泛的色彩传感器产品,适合显示、照明、工业、消费电子和医疗市场中的各种应用。它同时提供了模拟格式和数字格式的解决方案。 模拟RGB色彩传感器 - 搭配RGB滤波器的光电二极管阵列 - 整合跨阻抗放大器,提供线性模拟电压输出 - 为R, G和B通道独立选择增益 - 分为模块级和元器件级 数字RGB色彩传感器 - 搭配RGB滤波器的光电二极管阵列 - 整合模拟数字转换器和数字核心,通过2线串行接口进行通信 - 直接接口微控制器或其它逻辑控制 - 软件程控增益和灵敏度控制 - 微型包装,适合便携式设备 表1.0: 发布的色彩传感器产品简要技术数据 安华高科技RGB色彩传感器的优点 丰富的色彩传感设备:安华高科技提供各种色彩传感设备,包括裸硅光电二极管到完善的RGB色彩传感器。对首选使用市面上流行的即插即用解决方案的客户,整合的RGB色彩传感器将是正确的选择。希望灵活地设计自己的光电流到电压转换器和模拟数字转换电路的客户,可以购买光电二极管。 简化外围电路设计:安华高科技RGB色彩传感器是一款内置电流到电压转换器的整合的解决方案。输出采用模拟格式或数字格式提供,具体取决于选择的色彩传感器类型。这可以简化外围电路设计,从而降低整个产品的设计周期。 设计灵活:安华高科技RGB色彩传感器为R, G和B色彩通道提供内置独立增益选择。对低亮度操作,可以选择较高的增益;对高亮度应用,可以选择较低的增益。产品资料中详细介绍了每台设备的整体动态范围。 改善空间利用率:安华高科技提供微型封装的传感器,适合便携式设备应用。 降低对不准和污染的影响:每个安华高科技RGB色彩传感器都搭配统一的色彩滤波器阵列,可以大幅度降低偏差和污染所造成的问题。 实现极端温度操作:安华高科技提供可以涵盖极端工作温度的产品,即-40 °C到+85 °C。 无铅产品:所有安华高科技色彩传感器都符合无铅和ROHS标准。 目标市场 汽车市场 安华高科技为下述汽车应用提供具有AEC三级资格的部件: o 导航面板 o 气氛灯 o 仪表盘照明 照明市场 安华高科技为照明和显示应用提供在不同时间和不同温度下拥有稳定的灵敏度的传感器: o 建筑照明 o 装饰照明显示 o 内部照明 o 橱窗照明 实例:橱窗照明 功能:控制环境亮度的影响 o 色彩传感器安装在光学反馈控制系统中 o 光源色彩点管理,实现LED色彩强度控制 o 耐用,能够在不同时间和不同温度下稳定地工作 o 可与安华高科技HDJD-J822-SCR00色彩控制器专利技术结合使用,形成闭环色彩管理系统 实例:装饰照明 o 使用色彩传感器测量LED亮度随时间变化情况,提供光学反馈,控制光源的色彩点 o 可与安华高科技HDJD-J822-SCR00色彩控制器专利技术结合使用,形成闭环色彩管理系统 工业市场 安华高科技提供一系列RGB色彩传感器,满足各种工业应用要求,如: o 包装:标签检查和识别 o 化妆品:产品组装分离,色彩质量 o 纺织:纱线污染检测 o 印染/图形打印 实例:纱线污染检测 - 色彩传感器安装在纱线生产线中,检测是否有污染 - 在检测到污染时系统会自动停止 - 减少人为错误,改善准确性和效率 医疗市场 安华高科技提供灵敏度和准确性高的色彩传感器,满足医疗应用需求,如: o 血糖计 o 血液胆固醇计 o 血酮计 实例:化学分析96井板系统 功能:微型并行液相色谱(μPLC)化学测试分析仪 o 放置四个色彩传感器,提供化学反应的色彩检测 o 自动瞬时检测色彩变化 o 消除人为错误 o 色彩区分准确性高,非常可靠 消费电子市场 安华高科技提供经济的RGB色彩传感器,满足消费电子市场中不断增长的需求: o 便携式色彩阅读器 o 自动麻将桌 o 洗衣机中的干燥检测器 o 游戏 实例:麻将自动洗牌 o 使用色彩传感器管理“麻将牌方向检查”; o 传感、对比和重新排列两面都朝上或都朝下的麻将牌; o 完整的闭环系统接口,对麻将牌的重新排列进行逻辑判断; o 消除手动洗牌和可能的欺骗。 安华高科技配有RGB色彩传感器的照明和色彩管理系统 安华高科技 RGB色彩传感器 (HDJD-S831-QT333)可与安华高科技色彩控制器HDJD-J822-SCR00一起使用,构成RGB LED光源管理系统。色彩管理应用需要准确地混合红色、绿色和蓝色LED输出,来显示色彩。必需定期调节混合率,保持一致准确的色彩,而不管LED亮度变化和LED元件色彩位移如何。HDJD-J822是一种色彩控制器,用于处理色彩传感器信息,保持色彩和亮度。如需详细信息,请参阅应用指南AN 5070。 本文小结 对需要经济的解决方案和设计周期短的应用领域,安华高科技整合的RGB色彩传感器解决方案克服了从头设计色彩传感器所固有的挑战。安华高科技还提供了一个光电二极管级解决方案,为首选设计自己的色彩传感系统服务。通过在强健的无铅封装中提供广泛、经济的色彩传感器产品,安华高科技成为色彩传感行业中的一站式供应商。 参考资料 [1] 安华高科技 HDJD S722 QR999产品资料 出版号:5989-1984EN [2] 安华高科技 HDJD S831 QT333产品资料 出版号:5989-2180EN [3] 使用HDJD-S722色彩传感器 应用指南5096 出版号:5989-1845EN [4] HDJD JD02开发套件用户指南 出版号:5989-3784EN [5] 精确的色彩传达, Minolta Co., Ltd. [6]色彩感知和测量基础知识, HunterLab

    时间:2008-05-02 关键词: QT rgb 理及应 方案分

  • Leon2微处理器IP核原理及应用

    摘 要  介绍一款开源的、符合SPARCV8规范的、采用RISC结构的32位处理器IP按——Leon2,它可以从互联网上免费下载使用。Leon2是以VHDL形式存在的软核、完全可综合、内部硬件资源可裁剪、主要面向嵌入式应用系统、可以用FPGA/CPLD和ASIC等技术实现。文中介绍Leon2的结构、技术特点、软硬件的开发过程和一些应用实例。关键词 Leon2 SPARC V8 AMBA VHDL 交叉编译器 引 言    Leon2是GaislerResearch公司于2003年研制完成的一款32位、符合IEEE-1754(SPARCVS)结构的处理器IP核。它的前身是欧空局研制的Leon以及ERC32。Leon2的目标主要是权衡性能和价格、高的可靠性、可移植性、可扩展性、软件兼容性等.其内部硬件资源可裁剪(可配置)、主要面向嵌入式系统,可以用FPGA/CPLD和ASIC等技术实现。Leon2处理器的片上资源如下:分离的指令和数据Cache、硬件乘法器和除法器、中断控制器、具有跟踪缓冲器的调试支持单元(DSU)、2个24位定时器、2个通用异步串口(UART)、低功耗模式、看门狗电路、16位I/O端口、灵活的存储控制器、以太网MAC和PCI接口。Leon2的VHDL模块可以在大多数综合工具上进行综合,可以在任何符合VHDL-87标准的仿真器上进行仿真;采用AMBA AHB/APB总线结构的用户设计新模块,可以很容易加入到Leon2中,完成用户的定制应用。        Leon2在欧洲和美国都有众多的应用者;国内航天部77l所和中科院国家天文台等单位正在研制基于Leon2的应用系统。为了使Leon2得到国内业界的了解和进一步的应用,本文将从Leon2的结构、技术特点、软硬件的开发过程和应用实例等四个方面进行介绍。在技术特点中,主要介绍了它所遵循的SPARCV8规范、采用的AMBH2.0内部系统总线协议、容错设计方法和VHDL编程风格等。 1 Leon2的结构    图1是Leon2的片上结构框图。整个系统结构由AMBA AHB和APB支撑,连接着SPARC处理器、Cache系统及片上外设等设备。 (1)处理器单元    处理器单元由整数单元IU、浮点单元FPU、协处理器单元CP构成。整数单元的特点有:5级指令流水、分离的数据和指令Cache、支持2~32个寄存器窗口、可选的4个观察口寄存器、可配置乘法器、可选的16×16位MAC(40位累加器)、基2除法器。可支持的浮点处理器有GaislerResearch的GRFPU,Sun Microsystems的Meiko FPU或其他通用浮点处理单元。Leon2提供了一个通用的用户可定义的协处理器,同IU并行运行增强了系统功能。(2)Cache子系统    可配置的模式有直接映射模式和2~4组相联的多组相联模式;可选的三种替换算法是LRU、LRR和伪随机。(3)片上外设    片上外设包括:2个中断控制器、2个UART、2个Timer和1个Watchdog、16位的I/O口、存储器控制器(PROM、SRAM、S13RAM)、PCI桥接器、Ethernet接口、高级片上调试支持单元(DSU)和跟踪缓冲器等.中断控制器可以最大处理46个内部和外部中断。2个串行通信口 (UART),支持8位数据帧、1位校验位、1位停止位,支持硬件流控功能。调试支持单元(DSU)能够把处理器设置到调试模式,通过它可以读写处理器的所有寄存器和Cache。DSU还包括一个跟踪缓存,可以保存已执行了的指令和AHB上传输的数据。 2 Leon2的技术特点    Leon2的技术特点主要有:采用SPARCV8结构、采用内部AMBA总线结构、容错设计和VHDL编程风格。2.1 SPARC V8    SPARC是可扩展处理器体系架构的首字母缩略词,是一个从RISC派生出的CPU指令集结构(ISA)。指令集结构是指:定义了指令、寄存器、指令和数据存储器、指令执行对寄存器和存储器的影响、控制指令执行的算法等内容,但不定义时钟周期、每条指令的执行时钟周期数(CPI)、数据通路等内容。作为一个结构,SPARC允许在具有不同性能价格比的广泛应用中,实现不同系列的芯片和系统,包括科学、工程、编程、实时和商业应用等。SPARC的设计目标是优化编译器和易于硬件流水线实现。        SPARC处理器由整数单元(IU)、浮点和协处理器单元(FPU和CP)构成。它们各自都有自己的寄存器,其中IU有8个全局寄存器、2~3N个寄存器窗口(由用户设定),浮点和协处理器单元的选择依赖于具体应用。(1)寄存器窗口    它是SPARC的最大技术特点。SPARC处理器包括两种寄存器:一种是通用寄存器,另一种是控制/状态寄存器。IU的通用寄存器叫r寄存器。一个IU的实现可能包括40~520个32位r寄存器。这些寄存器又被分成8个全局寄存器,再加上2~32个与实现有关的16位寄存器组,每一个寄存器组又进一步分为8个输入寄存器和8个输出寄存器。图2是一个8窗口寄存器结构示意图。在任何一个时刻,一条指令只能访问8个全局寄存器和由当前窗口指针(CWP)指定的当前窗口。这个窗口是由8个输入寄存器、8个局部寄存器和8个输入寄存器构成。从图2中可以看出,两个相邻窗口的入和出寄存器是共享的。当前是按窗口号顺序(或前或后)转换的,正好上一次的输出寄存器成为当前窗口的输入寄存器,这样可以减少存储器读写和运行时的现场保护。 (2)支持的数据格式    基本有三种:8/16/32/64位有符号整数、8/16/32/64位无符号整数、32/64/128位浮点数。浮点数格式符合ANSI/IEEE Standard 754-1985。(3)Traps    它是一种矢量化的、通过一个包含每个陷阱句柄的前4条指令的特殊陷阱表,将控制转向监视软件。陷阱种类有精确陷阱、延迟陷阱和中断陷阱。(4)指令集有    所有指令都编码成32位格式,可以分成六个基本的类型,一共有72条指令。六种基本的指令分别是:①Load/store;②Arthmetic/logical/shift;③Control transfer;④Read/write control register;⑤Floating-point operate;⑥Coprocessor operate。(5)存储器模式    SPARC的存储器模型定义了存储器操作的语义,指定了处理器发射出这些操作的顺序与这些指令被存储器执行的顺序是如何进行关联的。标准的存储器模型叫作TSO(Total Store Ordering),所有的SPARC实现必须提供这个模型;另一个模型叫作PSO,它可以提供更高性能的存储系统。2.2 AMBA    AMBA(Advanced Microntroller Bus Architecture)规范,是一种已制定的、开放的规范,充当着SoC设计的架构,正迅速成为SoC和IP库开发事实上的标准,为高性能嵌入式微控制器设计定义了一种片上通信标准.AMBA规范中定义了三种不同的总线,即AHB、ASB和APBAHB是为高性能、高时钟频率的系统模块提供的,担任着高性能系统的背板总线、支持多处理器、片上各种存储器和片外外部存储器接口连接到低功耗辅助宏单元。ASB也是为高性能系统模块提供,当AHB的高性能特点无需要时,就可以用ASB来代替;它也支持多处理器、片上各种存储器和片外外部存储器接口连接到低功耗辅助宏单元。APB是为低功耗的外围设备提供的,它优化到为最小功耗和减小接口的复杂性来支持辅助功能。        图3是AMBA总线微控制器的典型结构。它含有一套高性能的背板总线,AHB或ASB;它能支撑外部存储器带宽,在这套总线挂接着CPU、片上存储器和其他DMA设备。通过一个桥接器,可以把AHB和APB总线连接起来。APB上面连接着大多数的辅助设备,如UART、定时器、PIO等。 2.3 容错问题    为了适用于航空航天的高可靠性应用,Leon2采用多层次的容错策略;奇偶校验、TMR(三模冗余)寄存器、片上EDAC(检错和纠错)、流水线重启、强迫Cache不命中等.尽管现在几乎所有CPU都有一些常规的容错措施,如奇偶校验、流水线重启等,像IBM S/390 G5还采用了写阶段以前的全部流水线复制技术.IntelItanium采用的混合ECC和校验编码等技术;但远没有Leon2那样,采用如此全面的容错措施。        Leon2将时序(存储)单元的状态翻转作为数字容错的主要内容,根据时序逻辑的不同特点和性质,采用了不同的容错技术和手段.    ①Cache的容错。大的Cache对高性能CPU来说是至关重要的,而且位于处理器的关键(时间)通路上。为了减少复杂性和时间开销,错误检测的方法采用2位的奇偶校验位,l位用作奇校验,l位偶校验,因此可以检查所有的错误情况,在读Cache的同时进行校验。当校验出错误,强制Cache丢失,并从外部存储去获取数据。    ②处理器寄存器文件的错误保护。寄存器文件是处理器内部的寄存器堆,内部的寄存器对于指令的运行速度和用户程序设计的灵活程度都是很重要的。内部寄存器的使用频率很大,其状态的正确性是也很关键。Leon2采用1、2奇偶校验位和(32.7)BCH校验和进行容错。    ③触发器的错误保护。处理器的2500个触发器均采用三模冗余的方式进行容错,通过表决器来决出正确的输出。    ④外部存储器的错误保护。采用挂上的EDAC单元实现。EDAC:采用标准的(32.7)BCH码,每32位字可纠正1位错误和检测2位错误。    ⑤主检测模式。是指两个相同的处理器同时并行执行相同的指令,只让其中的主模式处理器输出结果,不让检测模式的处理器输出结果。在内部,将检测模式处理器的输出同主模式处理器输出进行比较,以检查错误是否存在。这种工作模式,可以应用于要求更高可靠性的情况。    ⑥在软件上,还要考虑Cache的清洗问题。因为上面介绍的五种方法,只有在对相应的单元进行访问时才进行错误检查。如果存储单元的数据不常使用,这些单元的错误会逐渐增加,因此必须使用一些软件的方法来实现。 2.4 编码风格    Leon2的VHDL编码风格,同传统以并发执行的并发进程(或并发语句)作为模块、所谓的“数据流”编码风格不一样,采用的是“二进程”的设计方法。这种编码风格克服了“数据流”编码方式的可读性差、抽象级低、仿真时间长等缺点。“二进程”编码风格的具体措施是:①所有的端口和信号声明采用记录的形式进行说明,如按输入输出分类进行记录说明;②每个实体只有两个进程,一个组合进程和一个时序进程;③在组合进程中全部采用变量(而不是信号),以使用结构化的顺序编码方式;④在时序进程中通过时钟同步,进行状态的转换。        “二进程”的编码风格的模型可用图4来表示。它基本与状态机模型一样,只是组合进程部分,采用变量形式进行结构化顺序编码,来完成下一个时钟周期的输出和下一个状态进行计算。时序进程部分是在时钟的作用下,完成状态转换和输出驱动。 3 软硬件开发3.1 VHDL    Leon2除了VHDL源代码外,还提供了顶层Makefile文件、Modelsim仿真器支持文件、Boot-monitor文件、VHDL测试文件、综合支持文件、Leon2调试用的C语言源文件等,便于对Leon2进行硬件和软件方面的测试。        Leon2的内部结构可以通过模块配置,使处理器具有不同的功能结构。配置的方式可以采用tkconfig脚本进行图形界面的方式进行,也可以直接对包文件device.vhd进行手动编辑来完成。配置主要是通过修改一系列的常数的声明值来实现的。Leon2中许多模块功能是可以进行配置的,这些配置信息是在包文件Target.vhd里进行声明的。        Leon2可配置的内容包括:①所采用的综合工具和目标库。综合的技术可以是:Synplify、Synopsys-DC、Synopsys-FC2、XST和Leonardo等,目标技术可以是Xilinx的Virtex和Virtex II(FPGA)、Atmel的ATC35和ACT25(0.35/0.25μm CMOS)、TSMC 0.25μm CMOS、UMC 0.25/0.18μm CMOS、以及Actel的ProAsie(FPGA)和Axeellerator(反熔丝FPGA)等。②整数单元IU的寄存器窗口、乘法器、除法器、快速跳转和观察点的配置。寄存器窗口可以设置为2~32个,但为了同交叉编译器LECCS兼容必须配置为8个窗口,乘法器可以配置成迭交、16×16加流水寄存器、16×16、32×8.32×16、32×32等形式。③浮点处理单元FPU的配置,可以配置为使用meiko或是lth两种浮点处理器之一。④Cache。Cache组的有效大小可以配置为1~64 KB,但必须是2的次幂,每行可以设置成4~8个字,组的数量可以是1~4。替换算法可以是随机、LRR或LRU,并且指令Cache和数据Cache是独立进行配置的。⑤存储器控制器。⑥Debug配置。⑦片上外设的配置,如中断控制器、看门狗等。⑧引导配置。⑨AMHB总线的相关配置。⑩PCI配置。        Leon2有四个可综合的顶层文件;    ◇leon.vhd一一标准的Leon2顶层;    ◇leon_pci.vhd一一标准的Leon2加上PCI接口构成的顶层;    ◇leon_eth.vhd一一标准的Leon2加上一个10/100 Mbps以太网MAC构成的顶层;    ◇leon_etn_pci.vhd一一标准的Leon2加上一个10/100 Mbps以太网MAC以及PCI接口构成的顶层。    在上述四个顶层的下面,可以很容易地集成用户自己的功能模块。3.2 系统软件开发    同一般的嵌入式系统的软件开发一样,Leon2应用系统的软件开发需要采用交叉编译环境来进行。Leon2应用系统软件开发主要采用LECCS(Leon/ERC32 GUN交叉编译系统)。LECCS是由Cynus、OAR和Gaisler研究公司开发的多平台开发系统,是基于GNU系列的可以自由获取的、并带有一系列附加“点”工具的开发系统。LECCS可以在Linux(-2.2.x或更高)、Solaris(-2.7或更高)和windows(Cygwin-1.1.7更高)等多种平台上运行。要在Windows平台上运行LECCS,必须安装Cygwin。它一个是Unix层面模拟器。     LECCS包括如下程序包:GCC--3.2.3C/C++编译器、RTEMS--4.6.0-βC/C++实时核、独立C库、GDB-5.3SPARC交叉调试器、远程调试监视器、GDB的DDD图形前端(仅对Unix)、GDB的GDB-TK图像前端(仅对Windows)、引导PROM的builder以及Leon调试支持单元监视器等。还包括一些工具,如交叉汇编器、汇编预处理器、GNU连接器、二进制转换器等等。        采用LECCS进行Leon2应用系统软件开发的过程如下:    ①利用GCC编译和链接程序;     ②利用仿真器了SIM调试程序;     ③在远程目标系统上调试程序;    ④为独立应用产生引导PROM程序。        LECCS支持两种类型的应用:一种是通常的顺序CC++程序,一种是基于R了EMS核的多任务实时CC++程序。         软件仿真工具可以采用丁SIM。它是一个通用的SPARC架构仿真器,可以对基于ERC-32和Leon的计算系统进行仿真,性能和使用方法可以参见TSIM用户指南。Leon2为应用系统的调试在硬件上作了极大的支持,那就是它的调试支持单元(DSU)和跟踪缓冲器。具体使用时可参见Leon2用户手册和leon DSU Monitor用户手册。 4 Leon2的应用    Leon2在国内外都有应用。    国外应用很多,如基于Leon的数字听写机、指纹安全系统、GPS处理机、BIST(内建自测试)等方面的产品。这里简单介绍洛杉矶加州大学的ThumbPod指纹安全系统,以及Nemerix公司的NJ1030型GPS基带产品。ThumbPod安全系统,是将人的指纹作为身份认证(数字身份)的安全系统。其原型的硬件系统由Xilinx的FPGA(XC2V1000)、Micron的 256 MHz-DDR-SDRAM、Authentec的AF-S2型手指感应器等构成。CPU采用Leon2处理器核,并通过Leon2的协处理器接口(CPI)挂接了AES(高级加密系统)协处理器来执行AES算法,以加快加密速度.系统的最大工作时钟频率可以达100 MHz,工作电压可以是3.3/2.5/1.8/1.5 V等多种电压。NJl030型GPS基带产品,目标是GPS的L1载波C/A码处理,并提供对WAAS和EGNOS两种增强系统的支持,可以和世界上领先的第三方的GPS-RF前端设备兼容。        国内,航天部771所和中科院国家天文台都正在或计划研制基于Leon2的星载数据处理系统。这种数据处理系统,不再采用体积大、笨重而又功耗巨大的处理器芯片(如DSP),而是直接将Leon2放进FPGA。系统将大部分的处理功能硬件化,利用FPAG的丰富资源,将整个系统放入一片FPGA芯片内。其中的Leon2只进行控制管理和一些必须的计算处理。国家天文台正计划研制基于Leon2的星载系统,系统将处理每日采集到的1780 GB数据。这些数据通过预处理(图像积分、辐射校正、几何校正、磁图处理)、小波压缩、图像格式等,使图像压缩到10GB左右,并下传到地面站。 结 语    本文介绍了Leon2开源处理核的技术特点、软硬件开发过程、国内外的应用实例。技术特点主要是SPARCV8规范、AMBH2.0总线结构、容错设计方法和VHDL编程风格;对Leon2应用系统的软硬件开发工具和方法进行了介绍;在应用实例中,介绍两种国外的应用和两种国内的应用,其中包括作者正在进行研制的星载图像处理系统。

    时间:2006-07-18 关键词: Linux leon2 理器 理及应

发布文章

技术子站

更多

项目外包