当前位置:首页 > 接口电路
  • 接口电路——原理,应用,分类,处理过程

    接口电路——原理,应用,分类,处理过程

    对接口电路的一个很详细介绍。接口设计什么是接口?接口是CPU和外设之间的连接设备,用于缓存和转发数据。为什么需要接口?(1)解决主机CPU和外围设备之间的时序配合和通信联络问题         主机的CPU是高速处理器件,比如8086-1的主频为10MHz,1个时钟周期仅为100ns,一个最基本的总线周期为400ns。而外围设备的工作速度比CPU的速度慢得多。如常规外围设备中的电传打字机传送信息的速度是毫秒级;工业控制设备中的炉温控制采样周期是秒级。为保证CPU的工作效率并适应各种外围设备的速度配合要求,应在CPU和外围设备间增设一个I/O接口电路,满足两个不同速度系统的异步通信联络。          I/O接口电路为完成时序配合和通信联络功能,通常都设有数据锁存器、缓冲器、状态寄存器以及中断控制电路等。通过接口电路,CPU通常采用查询或中断控制方式为慢速外围设备提供服务,就可保证CPU和外围设备间异步而协调的工作,既满足了外围设备的要求,又提高了CPU的利用率。    (2)解决CPU和外围设备之间的数据格式转换和匹配问题             CPU是按并行处理设计的高速处理器件,即CPU只能读入和输出并行数据。但是,实际上要求其发送和接收的数据格式却不仅仅是并行的,在许多情况下是串行的。例如,为了节省传输导线,降低成本,提高可靠性,机间距离较长的通信都采用串行通信。又如,由光电脉冲编码器输出的反馈信号是串行的脉冲列,步进电动机要求提供串行脉冲等等。这就要求应将外部送往计算机的串行格式的信息转换成CPU所能接收的并行格式,也要将CPU送往外部的并行格式的信息转换成与外围设备相容的串行格式,并且要以双方相匹配的速率和电平实现信息的传送。这些功能在CPU控制下主要由相应的接口芯片来完成。    (3)解决CPU的负载能力和外围设备端口选择问题              即使是CPU和某些外围设备之间仅仅进行并行格式的信息交换,一般也不能将各种外围设备的数据线、地址线直接挂到CPU的数据总线和地址总线上。这里主要存在两个问题,一是CPU总线的负载能力的问题:二是外围设备端口的选择问题。因为过多的信号线直接接到CPU总线上,必将超过CPU总线的负载能力,采用接口电路可以分担CPU总线的负载,使CPU总线不致于超负荷运行,造成工作不可靠。CPU和所有外围设备交换信息都是通过双向数据总线进行的,如果所有外围设备的数据线都直接接到CPU的数据总线上,数据总线上的信号将是混乱的,无法区分是送往哪一个外围设备的数据还是来自哪一个外围设备的数据。只有通过接口电路中具有三态门的输出锁存器或输入缓冲器,再将外围设备数据线接到CPU数据总线上,通过控制三态门的使能(选通)信号,才能使CPU的数据总线在某一时刻只接到被选通的那一个外围设备的数据线上,这就是外围设备端口的选址问题。使用可编程并行接口电路或锁存器、缓冲器就能方便的解决上述问题。             此外,接口电路可实现端口的可编程功能以及错误检测功能。一个端口通过软件设置既可作为输入口又可作为输出口,或者作为位控口,使用非常灵活方便。同时,多数用于串行通信的可编程接口芯片都具有传输错误检测功能,如可进行奇/偶校验、冗余校验等。接口硬件包含哪些部分?(1)基本逻辑电路命令寄存器 状态寄存器 数据缓冲寄存器(2)端口地址译码电路根据地址总线上的信号确定是否选中该接口的某个寄存器(端口)(3)供选电路与其它部件的连接电路,如与中断控制器连接以实现中断方式的数据传送。接口软件有什么功能?一个完整的设备接口程序包括:(1)初始化程序段(2)传送设置程序段(3)主控程序段(4)结束程序段(5)人机接口程序段设备驱动程序就是一种标准化的接口软件。接口电路有哪些形式? 固定式结构:SSI,MSI (IC) 半固定结构:GAL, PAL 可编程结构:可编程芯片 智能型结构:带微处理器CPU如何与接口进行数据交换? 查询方式: CPU<>接口           先确认外设已准备好,才进行传送 中断方式: CPU<>接口           为避免不断读取状态位检查设备是否已准备好而造成等待循环,当输入设备准备好时,才向CPU发中断请求,CPU响应后转入执行中断服务程序。 DMA方式: 存储器<>接口     接口<>接口           存储器<>存储器I/O端口什么是I/O端口?CPU与外设通信时,传送的数据信息,状态信息和控制信息分别进入接口电路中不同的寄存器,通常将这些寄存器和它们的控制逻辑统称为I/O端口(Port),CPU可对端口中的信息直接进行读写。数据端口:存放数据,是主机和外设之间交换的基本信息,长度一般为1-2字节,主要起数据缓冲的作用。 状态端口:指示外设的当前状态,每种状态用1位表示,每个外设可以有几个状态位,由CPU读取以测试或检查外设的状态。最常用的状态位有准备就绪位(Ready),忙碌位(Busy)和错误位(Error)。 命令端口:也称为控制端口,用来存放CPU向接口发出的各种命令和控制字,以便控制接口或设备的动作。常见的命令信息位有启动位,停止位,允许中断位等。I/O端口编址方式数据信息,状态信息和控制信息的含义各不相同,但在微机系统中,CPU通过接口与外设交换数据时,只有输入(IN)和输出(OUT)两种指令,所以只能把状态信息和命令信息也都当作数据信息来传送。I/O端口的编址方式: 存储器映象寻址方式和I/O指令寻址方式。存储器映象寻址方式(Memory Mapped I/O):把每一个I/O端口都看作一个存储单元,并与存储单元一样统一编址,可使用访问存储器映象的所有指令来访问I/O端口。 I/O单独编址方式:对系统中的输入输出端口地址单独编址,构成一个I/O地址空间,不占用存储空间,用专门的IN和OUT指令来访问这种具有独立地址空间的端口。8080/Z80/8088和8086等都采用此种方式。8086用地址总线的低16位来寻址I/O端口,可寻址的端口数最大可达到65536个。I/O指令如何访问I/O端口?通过执行I/O指令。Intel 8086的I/O指令有哪些?[plain] view plaincopyIN AL, PORT8 ;AL《(PORT8)   IN AL, DX ;AL《(DX)   OUT PORT8, AL ;(PORT8)《AL   OUT DX, AL ;(DX)《AL  其中,PORT8表示8位端口地址, PORT16表示16位端口地址,AX可以替代AL。例如,[cpp] view plaincopyMOV DX, 300H ; DX《300H   IN AL, DX ; AL《(DX)   MOV DX, 301H ; DX《301H   OUT DX, AL ; (DX)《AL   IN AX, 80H ; AL 《80H   AH 《81H  I/O端口地址译码原理 如何在CPU执行I/O指令时可以访问到相应端口地址的I/O端口?设计I/O端口地址译码线路。 如何设计I/O端口地址译码电路?通过地址总线和控制总线产生端口芯片的选择信号(CS)。I/O端口地址译码电路分类 端口地址译码电路的种类:固定式单端口地址译码 采用门电路或译码器进行译码,设计完毕后端口地址不能更改。 可选式端口地址译码  通过比较器和译码器等组成,端口地址可以通过DIP开关进行更改。采用可编程逻辑阵列实现逻辑电路固定式单端口地址译码(1)固定式单端口地址译码(2)固定式单端口地址译码(3)3-8译码器译码电路接口的输入输出方法(1)无条件传送方式也称为同步传送方式,主要用于对简单外设进行操作。对这类外设,在任何时刻均已准备好数据或处于接收数据状态,如LED显示器的明灭控制(如下图所示)(2)查询方式执行读端口指令不断查询接口状态,若接口准备好, 则可以执行I/O指令输出数据到接口或或从接口读入数据。(3)中断方式接口准备好之后,便请求CPU中断现在执行的程序,转而为之服务。(4) DMA方式当外设有大量数据需要与主存储器交换时,DMA控制器向CPU申请接管总线,若成功,则控制外设与主存储器直接交换数DMA方式读磁盘的过程系统启动时,3个开关打向上端,总线与CPU/存储器/外设连接,并由CPU来控制,进行DMA传输前,首先初始化8237A DMA控制器,设定传送数据的计数器,起始地址,DMA通道和传送方式。 CPU向磁盘控制器发出读盘命令,磁盘控制器读出数据。 磁盘控制器准备好数据后,向DMA控制器发送一个DMA请求信号DREQ,DMA控制器送一个保持请求信号HRQ到CPU的HOLD输入端,CPU发回保持响应信号HLDA信号,中止当前程序运营。DMA控制器收到HLDA后,将3个总线开关置向下方,让总线与CPU脱开而与DMA控制器相连。 DMA控制器取得总线控制权后,通过地址总线向存储器发送地址信号,并向磁盘控制器发出DMA确认信号DACK。 DMA控制器使控制总线上IOR#和MEMW#信号有效,使得磁盘控制器能向数据总线输出数据字节,并使存储器单元能够被写入。 完成一个字节传送后,DMA控制器自动修改内部寄存器的内容并指向下一个字节的地址,通过计数器的递减完成所有数据的传送。 DMA传送结束后,DMA控制器撤销它对CPU发出的保持信号HRQ,并释放总线。 CPU在每一个非锁定时钟周期结束后,都检测HOLD引脚看是否有DMA信号。

    时间:2019-06-13 关键词: 接口电路

  • 为什么总线英文叫“BUS”而不是“CAR”?一文带你读懂该技术

    为什么总线英文叫“BUS”而不是“CAR”?一文带你读懂该技术

    总线,英文叫作“BUS”,即我们中文的“公共车”,这是非常形象的比如,公共车走的·线是一定的,我们任何人都可以坐公共车去该条公共车·线的任意一个站点。如果把我们人比作是电子信号,这就是为什ô英文叫它为“BUS”而不是“CAR”的真正用意。当然,从专业上来说,总线是一种描述电子信号传输线·的结构形式,是一类信号线的集合,是子系统间传输信息的公共通道。通过总线能使整个系统内各部件之间的信息进行传输、交换、共享和逻辑控制等功能。如在计算机系统中,它是CPU、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过主机相连接,外部设备通过相应的接口电·再于总线相连接。 现代网络信息的发展,特别是对于成本和空间而言,总线传输替代点对点传输是目前发展的热点,它的出现将给信息传输上提供了最大的方便和最有效的技术解决方案。 系统总线的基本组成 数据总线:传送数据信息 地址总线:传送地址信息 控制总线:传送控制信息(完成总线操作功能) 电源线:为系统提供电源信号 总线的功能 1、数据传输功能 数据传输功能是总线的基本功能,用总线传输率来表示,即ÿ秒传输的字节数,单λ是Mbps(兆字节ÿ秒)。 2、多设备支持功能 多个设备使用一条总线,首先是总线占用权的问题,哪一个主设备申请占用总线,由总线仲裁器确定。 3、中断 中断是计算机对紧急事务响应的机制。当外部设备与主设备之间进行服务约定时,中断是实现服务约定的联络信号。 4、错误处理 错误处理包括奇偶校验错、系统错、电池失效等错误检测处理,以及提供相应的保护对策。 总线的数据传输流程 1、申请占用总线 需要使用总线的总线主设备(如CPU、DMA控制器等)向总线仲裁机构提出占用总线的请求,经总线仲裁机构判定,若满足响应条件,则发出响应信号,并把下一个总线传送周期的总线控制权授予申请者。 2、寻址 获得总线控制权的总线主设备,通过地址总线发出本次要访问的存储器和I/O端口的地址,经地址译码选中被访问的模块并开始启动数据转换。 3、传送数据 总线主设备也叫主模块,被访问的设备叫从模块。主模块和从模块之间的操作是由主模块控制在两个从模块之间通过数据总线进行数据传送。 4、结束 主、从模块的信息均从总线上撤除,让出总线,以便其它主模块使用。 微机总线的种类 片内总线 它是λ于大规模、超大规模集成芯片内部各单元电·之间的总线,作为这些单元电·之间的信息通·。如CPU内部ALU、寄存器组、控制器等部件之间的总线。 局部总线(也称内部总线) 通常指微机主板上各部件之间的信息通·。由于是一块电·板内部的总线,故又称在板局部总线。较典型的局部总线如:IBM-PC总线,ISA总线,EISA总线,VL和PCI总线等。 系统总线(也称外部总线) 是指微机底板上的总线,用来构成微机系统的各插件板、多处理器系统各CPU模块之间的信道。较典型的系统总线如:STD-BUS,MULTI-BUS,VME等。 通信总线 它是微机系统与系统之间、微机系统与其它仪器仪表或设备之间的信息通·。这种总线往往不是计算机专有的,而是借用电子工业其它领域已有的总线标准并加以应用形成的。流行的通信总线如:EIA-RS-232C、RS-422A、RS-485,IEEE-488,VXI等总线标准。 各总线间的关系 使用总线技术的优点 1、简化软、硬件设计:由于总线定义非常严格,任何厂家或个人都必须按其标准制作插件板,有了规范就给用户在硬件设计上带来了很大的方便,简化了设计过程。 2、简化系统结构:采用标准总线,只要将各功能模块(板)挂在总线上就可以方便的构成微机的硬件系统。 3、便于系统的扩充:对于采用标准总线构成的微机系统,只要按总线标准和用户扩充要求设计或直接购买插件板插到总线插槽上就达到了扩充的目的。 4、便于系统的更新:随着电子技术的不断发展,新的器件不断涌现,微机系统也要不断更新,在采用标准总线的插件板上用新的器件取代原来的器件就可以很方便地提高系统性能,而不必做很大改动。 总线技术的分类 总线分类的方式有很多,如被分为外部和内部总线、系统总线和非系统总线等等。 1、按功能分 最常见的是从功能上来对数据总线进行划分,可以分为地址总线(address bus)、数据总线(data bus)和控制总线(control bus)。在有的系统中,数据总线和地址总线可以在地址锁存器控制下被共享,也即复用。 地址总线是专门用来传送地址的。在设计过程中,见得最多的应该是从CPU地址总线来选用外部存储器的存储地址。地址总线的λ数往往决定了存储器存储空间的大小,比如地址总线为16λ,则其最大可存储空间为216(64KB)。 数据总线是用于传送数据信息,它又有单向传输和双向传输数据总线之分,双向传输数据总线通常采用双向三态形式的总线。数据总线的λ数通常与微处理的字长相一致。例如Intel 8086微处理器字长16λ,其数据总线宽度也是16λ。在实际工作中,数据总线上传送的并不一定是完全意义上的数据。 控制总线是用于传送控制信号和时序信号。如有时微处理器对外部存储器进行操作时要先通过控制总线发出读/写信号、片选信号和读入中断响应信号等。控制总线一般是双向的,其传送方向由具体控制信号而定,其λ数也要根据系统的实际控制需要而定。 2、按传输方式分 按照数据传输的方式划分,总线可以被分为串行总线和并行总线(基于各种总线技术设计电·图集锦)。从原理来看,并行传输方式其实优于串行传输方式,但其成本上会有所增加。通俗地讲,并行传输的通·犹如一条多车道公·,而串行传输则是只允许一辆汽车通过单线公·。目前常见的串行总线有SPI、I2C、USB、IEEE1394、RS232、CAN等;而并行总线相对来说种类要少,常见的如IEEE1284、ISA、PCI等。 3、按时钟信号方式分 按照时钟信号是否独立,可以分为同步总线和异步总线。同步总线的时钟信号独立于数据,也就是说要用一根单独的线来作为时钟信号线;而异步总线的时钟信号是从数据中提取出来的,通常利用数据信号的边沿来作为时钟同步信号。 总线传输的基本原理 依据前面对总线的定义可知总线的基本作用就是用来传输信号,为了各子系统的信息能有效及时的被传送,为了不至于彼此间的信号相互干扰和避免物理空间上过于拥挤,其最好的办法就是采用多·复用技术,也就是说总线传输的基本原理就是多·复用技术。所ν多·复用就是指多个用户共享公用信道的一种机制,目前最常见的主要有时分多·复用、频分多·复用和码分多·复用等。 时分多·复用(TDMA) 时分复用是将信道按时间加以分割成多个时间段,不同来源的信号会要求在不同的时间段内得到响应,彼此信号的传输时间在时间坐标轴上是不会重叠。 频分多·复用(FDMA) 频分复用就是把信道的可用频带划分成若干互不交叠的频段,ÿ·信号经过频率调制后的频谱占用其中的一个频段,以此来实现多·不同频率的信号在同一信道中传输。而当接收端接收到信号后将采用适当的带通滤波器和频率解调器等来恢复原来的信号。 码分多·复用(CDMA) 码分多·复用是所被传输的信号都会有各自特定的标识码或地址码,接收端将会根据不同的标识码或地址码来区分公共信道上的传输信息,只有标识码或地址码完全一致的情况下传输信息才会被接收。 总线主要技术指标 评价总线的主要技术指标是总线的带宽(即传输速率)、数据λ的宽度(λ宽)、工作频率和传输数据的可靠性、稳定性等。 带宽(传输速率)、λ宽和工作频率 总线的带宽指的是单λ时间内总线上传送的数据量,即ÿ钞传送MB的最大数据传输率。总线的λ宽指的是总线能同时传送的二进制数据的λ数,或数据总线的λ数,即32λ、64λ等总线宽度的概念;总线的λ宽越宽,数据传输速率越大,总线的带宽就越宽。总线的工作时钟频率以MHz为单λ,它与传输的介质、信号的幅度大小和传输距离有关。在同样硬件条件下,我们采用差分信号传输时的频率常常会比单边信号高得多,这是因为差分信号的的幅度只有单边信号的一半而已。 总线的带宽、λ宽和工作频率,这三者密切相关,它们之间的关系:

    时间:2019-05-07 关键词: 总线 接口电路 数据总线 总线与接口

  • 复位与JTAG接口电路设计图

    复位与JTAG接口电路设计图

      复位电路用于重新启动模块并初始化,按键开关SW1的一端接地,另一端与CC2530芯片的RESET_N管脚相连,按下按键开关SW1即可实现对电路的手动复位。  JTAG接口电路主要用来与仿真器连接到PC,实现ZigBee节点程序的下载和调试功能,同时还可以通过与电源管脚相连接对模块进行供电以及复位功能。本设计中JTAG接口的1管脚接地,2管脚与VDD相连。3管脚与CC2530芯片的P2_2管脚相连作为调试时钟信号管脚,4管脚与CC2530芯片的P2_1管脚相连作为调试数据管脚,实现将程序下载到CC2530芯片。7管脚与复位电路相连接,可以实现复位功能。

    时间:2019-01-02 关键词: 电源技术解析 复位 接口电路 jtag

  • LVDS接口电路及设计

    LVDS接口电路及设计

    概述LVDS接口又称RS-644总线接口,是20世纪90年代才出现的一种数据传输和接口技术。LVDS即低电压差分信号,这种技术的核心是采用极低的电压摆幅高速差动传输数据,可以实现点对点或一点对多点的连接,具有低功耗、低误码率、低串扰和低辐射等特点,其传输介质可以是铜质的 PCB连线,也可以是平衡电缆。LVDS在对信号完整性、低抖动及共模特性要求较高的系统中得到了越来越广泛的应用。目前,流行的LVDS技术规范有两个标准:一个是TIA/EIA(电讯工业联盟/电子工业联盟)的ANSI/TIA/EIA-644标准,另一个是IEEE 1596.3标准。1995 年11月,以美国国家半导体公司为主推出了ANSI/TIA/EIA-644标准。1996年3月,IEEE公布了IEEE 1596.3标准。这两个标准注重于对LVDS接口的电特性、互连与线路端接等方面的规范,对于生产工艺、传输介质和供电电压等则没有明确。LVDS可采用CMOS、GaAs或其他技术实现,其供电电压可以从+5V到+3.3V,甚至更低;其传输介质可以是PCB连线,也可以是特制的电缆。标准推荐的最高数据传输速率是655Mbps,而理论上,在一个无衰耗的传输线上,LVDS的最高传输速率可达1.923Gbps。LVDS接口的原理及电特性一个简单的LVDS传输系统由一个驱动器和一个接收器通过一段差分阻抗为100Ω的导体连接而成,如图1所示。驱动器的电流源(通常为3.5mA)来驱动差分线对,由于接收器的直流输入阻抗很高,驱动器电流大部分直接流过100Ω的终端电阻,从而在接收器输入端产生的信号幅度大约350mV 。通过驱动器的开关,改变直接流过电阻的电流的有无,从而产生“1”和“0”的逻辑状态。在有些最新生产的LVDS接收器中,100Ω左右的电阻直接集成在片内输入端上了,如MAXIM公司的MAX9121/9122等。在LVDS系统中,采用差分方式传送数据,有着比单端传输方式更强的共模噪声抑制能力。道理很简单,因为一对差分线对上的电流方向是相反的,当共模方式的噪声耦合到线对上时,在接收器输入端产生的效果是相互抵消的,因而对信号的影响很小。这样,就可以采用很低的电压摆幅(见表1)来传送信号,从而可以大大提高数据传输速率和降低功耗。 表1是LVDS驱动器的主要电特性参数,表2是接收器的主要电特性参数。表3 是LVDS与其他几种接口的性能比较。同为差分传输接口,LVDS与RS-422、PECL相比,在传输速率、功耗、接收灵敏度和成本等方面都有优越性;与传统的TTL/CMOS接口相比,LVDS在高速、低抖动及对共模特性要求较高的数据传输系统中的应用有着无可比拟的优势。LVDS的低功耗、低误码率、低串扰、低辐射和高速的性能,使得它在激光打印机、蜂窝移动电话基站、网络路由器、数字交叉连接和时钟分配系统等领域的应用日益广泛。LVDS接口电路的设计为便于LVDS接口电路的设计,有多家公司生产了专门的LVDS收发器芯片,如NI公司的DS90LV017A驱动器和 DS90LV018A接收器、TI公司的SN65LVDS31驱动器和SN65LVDS32接收器、MAXIM公司的MAX9123驱动器和 MAX9122接收器等等。不同的芯片又具有不同的电平兼容性,NI公司的DS90LV031/032采用+5V电源供电,可直接与TTL/CMOS信号接口。而MAX9123/9122则采用+3.3V的工作电源,可直接与LVTTL/LVCMOS信号接口,并且MAX9122的数据输入端直接集成了 107Ω的终接电阻。设计LVDS接口,应注意以下几个问题:1. 根据系统的工作电源配置情况和需要传输的数据电平,合理选用驱动器和接收器芯片,或者根据接口芯片的情况,对被传输的数据首先进行电平转换。如果是 TTL/CMOS电平,可直接采用DS90LV031进行传输,在对端用DS90LV032进行接收。而如果传输LVTTL/LVCMOS电平的数据,就可以直接选用MAX9123/9122等低电压接口芯片。2. 注意阻抗匹配。既要根据接收器输入端的情况确定是否需要外接100Ω终接电阻,同时,要根据PCB的板材和参数合理设计驱动器的线输出阻抗,使其在 90~107Ω范围内。PCB传输线要尽可能地短,因为过长的线路,不但传输衰耗加大,降低了传输速率,而且阻抗也容易失配,并可能影响到信号的完整性。 3. 根据数据传输速率和传输电缆长度的关系,确定合适的电缆长度以满足系统的要求。一般地,采用LVDS方式传输数据,假定负载电阻为100Ω,当双绞线长度为10m时,传输速率可达400 Mbps;当电缆长度增加为20m时,速率降为100 Mbps;而当电缆长度为100m时,速率只能达到10 Mbps左右。4. 多数LVDS接口芯片的使能端在片内没有接上拉或下拉电阻,如果没有驱动信号输入,它们会不确定地被直接与地或Vcc相连,有可能造成逻辑错误。所以,除非有特别说明,接口芯片的使能输入端不要悬空。图2是采用MAXIM公司的一片MAX9123驱动器和一片MAX9122接收器设计的一个4通道LVDS点对点连接的单工接口。该接口工作电源为+3.3V,驱动器输入和接收器输出数据为LVTTL/LVCMOS电平。MAX9123/9122 是四驱动器/接收器芯片,采用表面封装形式、直通型引出脚,而且MAX 9122数据输入端内部并接有107Ω的电阻,不需要在电缆上再外接终端电阻了,这有助于简化PCB板设计和降低线间串扰。该接口采用实时传输(使能端接固定电平),传输速率最高可达500 Mbps。参考文献NI公司:LVDS Owners Manual作者:济南市72655部队 司朝良

    时间:2018-12-07 关键词: lvds 电源技术解析 接口电路

  • NAND Flash与S3C2410的接口电路

      引言  当前各类嵌入式系统开发设计中,存储模块设计是不可或缺的重要方面。NOR和 NAND是目前市场上两种主要的非易失闪存技术。NOR Flash存储器的容量较小、写入速度较慢,但因其随机读取速度快,因此在嵌入式系统中,常用于程序代码的存储。与NOR相比,NAND闪存的优点是容量大,但其速度较慢,因为它的I/O端口只有8或16个,要完成地址和数据的传输就必须让这些信号轮流传送。NAND型Flash具有极高的单元密度,容量可以比较大,价格相对便宜。  本文以三星公司的 K9F2808UOB芯片为例,介绍了NAND Flash的接口电路与驱动的设计方法。文中介绍了开发NAND Flash驱动基本原理,意在简化嵌入式系统开发过程。  1 NAND Flash工作原理  S3C2410板的NAND Flash支持由两部分组成:集成在S3C2410 CPU上的NAND Flash控制器  和NAND Flash存储芯片。要访问NAND Flash中的数据,必须通过NAND Flash控制器发送命令才能完成。所以, NAND Flash相当于S3C2410的一个外设,并不位于它的内存地址区。  1.1 芯片内部存储布局及存储操作特点  一片NAND Flash为一个设备, 其数据存储分层为:1设备=4 096块;1块=32页;1页=528字节=数据块大小(512字节)+OOB块大小(16字节)。在每一页中,最后16字节(又称OOB,Out?of?Band)用于NAND Flash命令执行完后设置状态用,剩余512字节又分为前半部分和后半部分。可以通过NAND Flash命令00h/01h/50h分别对前半部、后半部、OOB进行定位,通过NAND Flash内置的指针指向各自的首地址。  存储操作特点有: 擦除操作的最小单位是块;NAND Flash芯片每一位只能从1变为0,而不能从0变为1,所以在对其进行写入操作之前一定要将相应块擦除(擦除即是将相应块的位全部变为1);OOB部分的第6字节(即517字节)标志是否是坏块,值为FF时不是坏块,否则为坏块。除OOB第6字节外,通常至少把OOB的前3字节用来存放NAND Flash硬件ECC码。  1.2 NAND Flash接口电路  首先介绍开发板的硬件设计,图1为NAND Flash接口电路。其中开关SW的1、2连接时R/B表示准备好/忙,2、3连接时nWAIT可用于增加读/写访问的额外等待周期。在S3C2410处理器中已经集成了NAND Flash控制器,图2为微控制器与NAND Flash连接的方式。  图1 NAND Flash接口电路  1.3 控制器工作原理  NAND Flash控制器在其专用寄存器区(SFR)地址空间中映射有属于自己的特殊功能寄存器,就是通过将NAND Flash芯片的内设命令写到其特殊功能寄存器中,从而实现对NAND Flash芯片读、检验和编程控制。特殊功能寄存器有:NFCONF、NFCMD、NFADDR、NFDATA、NFSTAT、NFECC。  图2 NAND Flash与S3C2410连接电路  2 Flash烧写程序原理及结构  基本原理:将在SDRAM中的一段存储区域中的数据写到NAND Flash存储空间中。烧写程序在纵向上分三层完成。第一层: 主烧写函数,将SDRAM中一段存储区域的数据写到NAND Flash存储空间中。第二层: 该层提供对NAND Flash进行操作的页读、写及块擦除等函数。第三层:为第二层提供具体NAND Flash控制器中对特殊功能寄存器进行操作的核心函数,该层也是真正将数据在SDRAM和NAND Flash之间实现传送的函数。其中第二层为驱动程序的设计关键所在,下面对该层的读、写(又称编程)、擦除功能编码进行详细介绍。  2.1 NAND Flash Read  功能:读数据操作以页为单位,读数据时首先写入读数据命令00H,然后输入要读取页的地址,接着从数据寄存器中读取数据,最后进行ECC校验。  参数说明:block,块号;page,页号;buffer,指向将要读取到内存中的起始位置;返回值1,读成功,返回值0:读失败。  static int NF_ReadPage(unsigned int block, unsigned int page, unsigned char *buffer){  NF_RSTECC(); /* 初始化 ECC */  NF_nFCE_L(); /* 片选NAND Flash芯片*/  NF_CMD(0x00); /* 从A区开始读 *//* A0~A7(列地址) */  NF_ADDR(0); /* A9A16(页地址) */  NF_ADDR(blockPage&0xff); /* A17A24,(页地址) */  NF_ADDR((blockPage>>8)&0xff);/* A25, (页地址) */  NF_ADDR((blockPage>>16)&0xff);/* 等待NAND Flash处于再准备状态 */  ReadPage();/* 读整个页, 512字节 */  ReadECC();/* 读取ECC码 */  ReadOOB();/* 读取该页的OOB块 *//* 取消NAND Flash 选中*/  NF_nFCE_H();/* 校验ECC码, 并返回 */  Return (checkEcc())}  2.2 NAND Flash Program  功能:对页进行编程命令, 用于写操作。  命令代码:首先写入00h(A区)/01h(B区)/05h(C区), 表示写入那个区; 再写入80h开始编程模式(写入模式),接下来写入地址和数据; 最后写入10h表示编程结束。图3为程序流程图。  图3 写程序流程  参数说明:block,块号;page,页号;buffer,指向内存中待写入NAND Flash中的数据起始位置;返回值0,写错误,返回值1,写成功。  static int NF_WritePage(unsigned int block, unsigned int page, unsigned char *buffer){  NF_RSTECC(); /* 初始化 ECC */  NF_nFCE_L(); /* 片选NAND Flash芯片*/  NF_CMD(0x0); /* 从A区开始写 */  NF_CMD(0x80); /* 写第一条命令 *//* A0~A7(列地址) */  NF_ADDR(0);/* A9A16(页地址) */  NF_ADDR(blockPage&0xff);/* A17A24(页地址) */  NF_ADDR((blockPage>>8)&0xff); /* A25(页地址) */  NF_ADDR((blockPage>>16)&0xff);/* 写页为512B到NAND Flash芯片 */  WRDATA(); /*OOB一共16字节,每一个字节存放什么由程序员自己定义, 在Byte0 Byte2存ECC检验码,Byte6 存放坏块标志*/  WRDATA(); /* 写该页的OOB数据块 */  CMD(0x10); /* 结束写命令 */  WAITRB();/* 等待NAND Flash处于准备状态 *//* 发送读状态命令给NAND Flash */  CMD(0x70);  if (RDDATA()&0x1) { /*如果写有错, 则标示为坏块,取消NAND Flash 选中*/  MarkBadBlock(block);  return 0;  } else { /* 正常退出, 取消NAND Flash 选中*/  return 1;}  2.3 NAND Flash Erase  功能:块擦除命令。  命令代码:首先写入60h进入擦写模式,然后输入块地址,接下来写入D0h, 表示擦写结束。  参数说明:block,块号;返回值0,擦除错误(若是坏块直接返回0;若擦除出现错误则标记为坏块然后返回0),返回值1,成功擦除。  static int NF_EraseBlock(unsigned int block){/* 如果该块是坏块, 则返回 */  if(NF_IsBadBlock(block)) return 0;  NF_nFCE_L(); /* 片选NAND Flash芯片*/  NF_CMD(0x60); /* 设置擦写模式 *//* A9A16(Page Address) , 是基于块擦除*/  NF_ADDR(blockPage&0xff);  NF_ADDR((blockPage>>8)&0xff); /* A25(Page Address) */  NF_ADDR((blockPage>>16)&0xff); NF_CMD(0xd0); WAITRB();CMD(0x70);  if(RDDATA()&0x1){/*如有错,标为坏块,取消Flash选中*/  MarkBadBlock(block);  return 0;  } else { /* 退出, 取消Flash 选中*/  return 1;}  3 ECC校检原理与实现  由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能可靠,因此在NAND的生产及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠地进行坏区检测。如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个块或是页不能读取或全部出错,而是整个页(例如512字节)中只有一位或几位出错。对数据的校验常用的有奇偶校验、CRC校验等,而在NAND Flash处理中,一般使用一种专用的校验——ECC。ECC能纠正单位错误和检测双位错误,而且计算速度很快,但对1位以上的错误无法纠正,对2位以上的错误不保证能检测。ECC一般每256字节原始数据生成3字节ECC校验数据,这3字节共24位分成两部分:6位的列校验和16位的行校验,多余的2位置1,如表1所列。  表1 校检数据组成  首先介绍ECC的列校检。ECC的列校验和生成规则如图4所示,“^”表示“位异或”操作。由于篇幅关系,行校检不作介绍,感兴趣的读者可以参考芯片datasheet,在三星公司网站可以免费下载。  图4 列校验和生成规则  数学表达式为:  当向NAND Flash的页中写入数据时,每256字节生成一个ECC校验和,称之为原ECC校验和,保存到页的OOB数据区中。当从NAND Flash中读取数据时,每256字节生成一个ECC校验和,称之为新ECC校验和。校验的时候,根据上述ECC生成原理不难推断:将从OOB区中读出的原ECC校验和与新ECC校验和按位异或,若结果为0,则表示无错(或者出现了 ECC无法检测的错误);若3字节异或结果中存在11位为1,表示存在一个位错误,且可纠正;若3个字节异或结果中只存在1位为1,表示 OOB区出错;其他情况均表示出现了无法纠正的错误。  4 UBOOT下功能验证  实现UBOOT对NAND Flash的支持主要是在命令行下实现对NAND Flash的操作。对NAND Flash实现的命令为:nand info、nand device、nand read、nand write、nand erease、nand bad。用到的主要数据结构有:struct nand_flash_dev和struct nand_chip,前者包括主要的芯片型号、存储容量、设备ID、I/O总线宽度等信息,后者是对NAND Flash进行具体操作时用到的信息。由于将驱动移植到UBoot的方法不是本文重点,故不作详细介绍。  验证方式:通过TFTP将数据下载到SDRAM中,利用nand read、nand write、nand erease三个命令对NAND Flash进行读、编程、擦写测试。测试结果如表2所列。和datasheet中数据对比,可以得出结论,驱动在系统中运行良好。  表2 测试结果  结语现在嵌入式系统应用越来越广泛,而存储器件又是嵌入式系统必不可少的一部分,NAND Flash在不超过4 GB容量的需求下,较其他存储器件优势明显。本文

    时间:2018-11-23 关键词: nand s3c2410 Flash 接口电路

  • 接口电路仿真的算法分析及实现

    接口电路仿真的算法分析及实现

    1 引言 系统仿真是近30年才发展起来的一门新兴学科,它通过对所研究系统的认识和了解,抽取其中的基本要素,建立与现实系统相对应的仿真模型,并通过系统模型实验去研究一个已经存在的或者正在设计的系统的过程。Matlab是一种功能强大的的仿真工具,它包括众多的功能各异的工具箱、以矩阵和数组为基本单位的编程语言,为数学计算和试验数据分析提供了极大的便利。Siumlink是MATLAB的一个共生产品,包括丰富的模块资源和工具箱资源,具有相对独立的功能和使用方法,提供了建模、分析和仿真各种动态系统的交互环境,建立仿真模型后可以很容易地通过改变仿真参数,得到不同参数的仿真结果。结合MATLAB 和Simulin的特点,可以实现各种电路的仿真。 在构建仿真电路时,有些可以直接调用Simulink模块,有些用Simulink模块难以实现的,可以通过编写Simulink 支持的S函数来完成。对于比较复杂的仿真电路,可以采用Simulink模块调用和编程混合的方式实现。本文所实现的A/D转换电路的仿真就是采用 Simulink模块调用和MATLAB编程混合的方式。 2 A/D转换电路的仿真 2.1A/D转换电路的的仿真 模/数(A/D)转换电路的任务是将连续变换的模拟信号转换为离散的数字信号,以便于数字系统进行处理,模/数转换一般要完成采样、量化和编码等几个过程。 采样是在连续变化的模拟量上按一定的规律(周期地)取出其中的某一些瞬时值来代表这个连续的模拟量。为了保证采样信号不丢失的信息,即采样后的离散信号能代替或能恢复原来的连续信号,采样必须遵循采样定理,即对信号采样时,采样频率必须大于或等于信号最高频率的两倍。 量化就是将f(nT)的所有值映射到数字量所表示的状态上。实际上,在量化过程中是将样本的幅值范围分为若干个量化层,每一个量化层对应一个量化输出,所有落于该量化层内的样本都统一取该量化输出值。量化层的数目与量化后编码的位数有关。 2.1.1 采样功能的实现 A/D转换就是一个量化的过程,它把采样后的模拟信号转换成数字量。在实际工作中,A/D转换首先要选定一个合适的编码方案,然后根据编码的位数确定量化层,从而确定采样频率。实现仿真电路的关键是采样模块的构建,由于Simulink的模块难以构建采样功能,采样模块主要是通过编写Simulink支持的S函数实现的。S函数有固定的程序格式,S函数的实现包括初始化、连续状态微分、计算输出和仿真终止。可以用MATLAB语言可以编写S函数,也可以使用C 语言、C++和Fortran 等语言编写。S函数使用一种特殊调用规则来实现用户与Simulink的内部解法器进行交互,并且这种交互可以适用于不同性质的系统。S函数模块存放在 Functions&Tables模块库中,通过此模块可以创建包含S函数的Simulink模块。S函数文件名区域要填写S函数的文件名。S函数参数区填入S函数所需要的参数。 本系统假定输入的模拟信号周期为2,编写了4个S函数,分别为sf_ad4、sf_ad8、sf_ad16、sf_ad32,对应的采样时间分别为 0.5、0.25、0.125、0.0625,即采样频率分别是信号最高频率的四倍、八倍、十六倍和三十二倍。下面以sf_ad32函数为例,说明其算法及实现程序。 首先,设模拟信号是周期为2的Sine波,且用连续的时间函数f(t)表示,采样就是周期地取f(t)的瞬时值。根据采样定理,对每个周期的模拟信号采样32次,则采样的时间就为0.0625(2/32)的倍数。完成一个周期的采样时间为0.0625*n(0<=32,n 为整数),延时为0。采样后将相应值输出,但信号在量值上仍然是连续的,需将f(nT)的所有值映射到数字量所表示的状态上,这种过程为量化。在量化过程中是将样本的幅值范围分为若干个量化层,每一个量化层对应一个量化输出,所有落在该量化层内的样本都统一取该量化输出值。本实例中,采用4位编码,则有 24=16个量化层。在编码过程中采用从1000到0111的编码,来输出相应的量化值。其源代码如下: function[sys,x0,str,ts]=sf_ad32(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; ……… case 9, sys=[]; otherwise error([unhandle flag=,num2str(flag)]); end function[sys,x0,str,ts]=mdlInitializeSizes sizes=simsizes; sizes.NumContStates=0; sizes.NumDiscStates=0; sizes.NumOutputs=1; sizes.NumInputs=1; sizes.DiRFeedthrough=1; sizes.NumSampleTimes=32; sys=simsizes(sizes); x0=[]; str=[]; ts=[ 0.0625 0 0.125 0 0.0625*3 0 0.25 0 ……… 0.0625*31 0 2 0 ]; function sys="mdlUpdate"(t,x,u) sys=x; function sys="mdlOutput"(t,x,u) sys=u; 其中,sys依照flag的值返回不同的结果,x0为初始状态值,str用于设置输出矢量为一个空矩阵,ts采用两列的矩阵来设置采样时间和延迟,sf_ad4是S函数的函数名,t为目前仿真中的实现时间,x为状态矢量,可为空,u为输入矢量,flag为S函数行为标示。 sf_ad8、sf_ad16、sf_ad32的S函数类似于sf_ad4,不同的就是采样时间的个数和ts的采样时间和延迟矩阵。调用S函数时首先将所需的S函数模块拖入调用模块(Simulink->User-Defined Functions->S-Function)并设置S函数的参数,参数设置对话框如图1所示。 图1 S函数的调用2.1.2 A/D转换仿真电路的构建 A/D转换仿真电路由“模拟信号发生器”模块、“选择采样函数1~4”模块、“结果显示”模块和“A/D转换电路”子系统组成,如图2所示。 “选择采样函数1~4”模块是选择采样频率,构建过程为:在Matlab的命令窗口中输入命令Simulink打开Simnlink Library Browser子窗口,选中左边目录栏中的Simulink库后单击子目录Sources,右边的子窗口显示相应的Sources库中的模块集,选中 Constant常数模块并拖入所建的仿真模块中(简单表述为Simulink->Sources->Constant,后文同此),双击此模块出现参数设置框,输入所要选择函数对应的编号1~4。“模拟信号发生器”模块和“结果显示”模块通过直接调用模拟信号发生器和示波器构建。“A/D转换电路”子系统内部主要是由1个选择开关和四个S函数组成。“采样电路”子系统的构建首先是调用一般的子系统(Simulink->Ports&Subsystems->Subsystem),然后双击此子系统,在子系统的内部生成1个选择开关,拖入四个S函数,把选择开关与四个S函数相连。 图2 “A/D转换”仿真系统的主界面2.1.3 A/D转换电路的仿真结果 运行仿真电路时,由“模拟信号发生器”模块产生各种模拟输入信号,通过“选择采样函数1~4”模块选定采样频率,结果在“结果显示”模块显示。 选择采样函数为4,则A/D转换的采样时间为0.0625,选定输入信号分别为正弦波和随机波。运行此仿真系统后的结果如图3、图4所示。 图3 输入信号为正弦波的运行结果 图4 输入信号为随机波的运行结果3 结束语 本文作者创新点:由于Simulink的模块库中,缺少各种可编程接口芯片模块,将Simulink 和MATLAB编程混合应用到A/D、D/A转换电路的仿真,结果表明仿真效果良好。这种方法可以应用于多种控制电路、通信电路等系统的仿真中。仿真电路的工作过程类似于真实的硬件,而且更便宜、更灵活,也很容易进行恢复,避免了操作错误造成的损失,按每个单位一年减少五千元计算,具有明显的经济效益和社会效益。

    时间:2018-11-20 关键词: 仿真 电源技术解析 接口电路 a/d 转换电路

  • 用于工控机的PS/2键盘接口电路设计

     工控机通常要接标准键盘,但是为了方便操作,常常需要外接一个专用键盘。此实例介绍了在工控PC机到PS/2总线上再接入一个自制专用键盘的应用方法。用于工控机的PS/2键盘接口电路 该设计应能保证两个键盘单独工作,而且相互不能影响。因此,不能直接把专用键盘和标准键盘一起接到工控PC的PS/2口。鉴于这种情况,本设计使用模拟开关CD4052并通过时分复用工控PC的PS/2口,来使在同一个时刻只有一个键盘有效,从而解决上述问题。其硬件原理图如图所示。其中P2口和P1口用于键盘扫描电路(图中未画出),P0.0为数据端,P0.1为时钟端,P0.2为模拟开关选通端。由于专用键盘不需要接收工控PC机的命令,所以软件中并不需要写这部分相应的代码。 通过软件可在专用键盘复位后把P0.2清0,以使模拟开关CD4052打开相应的通道。这时工控PC的标准键盘将开始工作。标准键盘可以完成工控PC刚启动时对外设检测的应答。复位后的专用键盘不停地扫描有没有按键,如果有键按下则识别按键,并且按照预先的设计进行编码,同时调用发送程序并通过PS/2口发送到工控PC。此时模拟开关关闭相应通道(将P0.2置1),专用键盘接入工控PC PS/2口的时钟线和数据线而工作,但标准键盘被模拟开关从PS/2的时钟线和数据线中断而不工作,这样,双键盘便可时分复用同一个工控PC机的PS/2口.相应的发送子程序如下:1 #define DATA P00 用P0.0做数据线2 #define CLK P01 用P0.1做时钟线3 #define INHIBIT P02 用P0.2做CD4052的INH端4 #define PORTR P1 用P1口做读入口5 #define PORTW P2 用P2口做写出口 可以实现64个自定义键6 void send(uchar x)/***function for send a char da-ta***/7 {8 uchar i,temp,char_temp;9 bit flag_check=1;10 INHIBIT=1;//disable standard keyboard11 delay_ ms(3);12 temp=x;13 for(i=0;i>1;21 }22 CLK=1;//send 1 to P1 then read P123 while (!CLK) //if CLK is low wait24 {25 ;26 }27 CLK=1;DATA=1;//send 1 to P1 then read P128 if(CLK==1)29 {30 delay_us(30);//31 }32 if(CLK==1&&DATA==1)//send data33 {34 DATA=0;//start bit 035 delay_us(10);36 CLK=0;37 delay_us(5);//38 temp=x;39 for(i=0;i>1;58 }59 CLK=1;//send check bit60 delay_us(5);?61 DATA=flag_check;62 delay_us(10);?63 CLK=0;64 delay_us(5)65 CLK=1;//send stop bit66 delay_us(5);?67 DATA=1;68 delay us?10 ?69 CLK=0?70 delay_us(5);?71 CLK=1;72 delay_us(30);? ?73 CLK=1;DATA=1;//send 1 to P1 then read P174 if(CLK==1&&DATA==0)75 {76 return; //pc is sending data to mcu, go to77 receiving function78 }79 INHIBIT=0; //enable standard keyboard80 }

    时间:2018-11-16 关键词: ps 接口电路 工控机 2键盘

  • PCI9030及其PCI总线接口电路设计

    PCI9030及其PCI总线接口电路设计

    0 引 言 PXI总线系统的卓越性能和较低的价格,使得越来越多从事自动测试的工程技术人员开始关注PXI的发展。而PXI总线是PCI总线在仪器领域的扩展,可以将PXI总线分为PCI总线和PXI扩展的总线两部分。将进行PCI总线接口电路的设计,从而为设计 PXI模块仪器,组建PXI总线自动测试系统做好准备。 目前,PCI总线接口电路的实现主要有两种方案:一是采用一片大容量FPGA/CPLD实现PCI总线接口逻辑;另一种是采用ASIC芯片完成PCI总线的接口电路。由于PCI总线速度高,协议复杂,采用第一种方案虽然应用很灵活,但是调试困难,开发周期长,而且采用一片工业级可用于PCI接口的 FPGA/CPLD完成PCI总线接口功能,远比使用PCI接口芯片的成本高。采用第二种方案,功能强,价格低,稳定性好,开发周期较短。通过对上述两种接口方案的比较,从综合开发难度、芯片功能、开发速度和开发经费等方面考虑,在此采用后一种方案完成PCI总线的接口设计。 1 PCI9030芯片及其主要特点 PCI9030是全球最大的PCI接口设备制造商PLXTechnology于1999年3月推出的全新的32 b/33 MHz PCI目标设备接口芯片。它采用PLX先进的SMARTarget技术,不仅为各种应用提供了最大的灵活性,而且大大简化了系统设计,具有最高的性价比,能够满足各种应用的要求。PLX计划用它替代应用广泛的PCI9050和PCI9052。PCI9030主要有以下特点; (1)采用PLX先进的SMARTarget技术,完全兼容PCI 2.2协议规范,PCI突发传输速率高达132 MB,/s,是第一个符合CompactPCI PICMG2.1标准的工业级目标设备接口芯片。 (2)支持高达60 MHz的局部总线操作,突发传输模式下速率可达240 MB/s,支持PCI目标预取模式、PCI目标可编程突发传输、PCI目标延迟写模式和PMW(Posted Memory Writes)模式。 (3)资源丰富,应用灵活。它支持5个PCI to Lo-cal地址空间,拥有9个通用I/O(GPIOs),4个可编程片选(CS[3…0]),中断发生器/控制器,支持 Big/LittleEndian字节转换,可提供PCI缓冲时钟(33 MHz),局部总线可编程读写选通定时等。 (4)局部总线的配置可编程,可支持复用或非复用模式的8位,16位或32位局部总线。 (5)PCI9030支持3.3 V,5 V电源容错,因此在采用5 V电源的CPLD时,不需要进行电平转换,可以直接连接,使得电路更加简洁。 2 PCI总线接口电路 PCI总线开关模块是在满足PCI总线数据传输协议的前提下进行写数据和数据回读,完成PCI总线的基本数据传送。写数据时经过锁存和继电器驱动模块来驱动继电器工作,可以通过数据线回读继电器的状态,以判断数据传输的正确性,其原理框图如图1所示。 下面以本模块为例介绍PCI总线接口设计过程。 PCI总线接口电路主要分为3个部分,即PCI总线接口、局部总线接口、串行E2PROM接口,如图2所示。LCLK通过500 Ω电阻与BCLK0连接,为PCI9030提供本地时钟信号。局部总线多路复用和非多路复用选择是通过硬件实现。这里选用多路复用,故将PCI9030的 MODE引脚通过电阻上拉至3.3 V电源。边界扫描JTAG不使用,PCI9030引脚TRST应该通过电阻接地。 局部总线采用8位数据总线,使用片选信号CSO和CS1,通用接口信号GPIO0和GPIO1。一般情况,所要实现的功能电路会需要一定的逻辑控制,所以 PCI9030提供的局部总线接口信号通常会引入FPGA/CPLD中,并实现控制逻辑以简化电路。实例中采用EPM7128SQC100-10实现局部控制逻辑。串行E2PROM接口部分采用93LC66B芯片,写数据信号(EEDI)和读数据信号(EEDO)需要接上拉电阻。 另外,还有一些问题需要注意。如果不用边界扫描应将TDI和TDO连接起来。 在非热插拔系统中,应将PCI9030的CPCISW引脚通过的电阻接地。 局域总线根据局域总线时钟信号运行,并产生必要的内部时钟信号。该时钟与PCI时钟异步运行。 BCLK0可以提供PCI缓冲时钟,当其满足应用要求时,可以省去本地时钟芯片,否则需外接本地时钟信号产生芯片。 在对E2PRoM编写配置信息前,插入PCI板卡,BD_SEL需要上拉再接地才能进入系统,所以通过跳线接地,方便板卡调试。 PCI连接器上的两个引脚PRSNT1和PRSNT2应根据实际最大功耗进行设置,具体设置见表1。 4 板卡调试 通常使用PLXmon软件对板卡进行调试。在硬件没有错误,E2PROM内容配置正确的情况下,将板卡插入PCI插槽,启动PLXmon后会自动识别已插入的PCI板卡;然后就可以观察PCI配置寄存器(PCR)和局部配置寄存器(LCR)的内容;观察和修改E2PROM的内容。另外,用户还可以进行内存和I/O端口的读写。 5 编写WDM驱动程序 在WindowsXP操作系统下编写WDM驱动程序,最常用的开发工具是 DriverStudio和WinDriv-er。在此采用DriverStudio编写PCI板卡的驱动程序。首先,根据DriverStudio的图形向导建立WDM功能驱动程序框架,硬件选择PCI总线,填写Device ID,Ven-dot。ID,子系统ID号和版本ID号;然后添加所需类和资源,包括KIoRange类、KMemoryRange类和设备接口、选择读写存取方式、中断资源、根据需要添加控制码等。在生成驱动程序基本框架后,就要根据实际需求添加功能代码。由于PCI9030为从设备芯片,不能主动发起总线传输,没有DMA传输功能。因此,开发PCI设备驱动程序WDM主要是实现对I/O映射空间和内存映射空间的访问。通常利用DriverStudio 提供的KIoRange类和KMemoryRange类就可以简单的实现。PCI基地址寄存器0专用于对本地配置寄存器的内存访问;PCI基地址寄存器1 专用于对本地配置寄存器的I/O访问。通过访问本地配置寄存器,可以充分利用PCI9030芯片内的资源,包括中断控制器、GPIO、片选、局部总线可编程读写选通定时等。 编写完基本代码后,编译即可生成*.sys和*.inf文件。根据需要可对*.inf文件做适当修改并拷贝到*.sys文件所在的文件夹中,即可安装驱动程序。 6 结 语 正确的硬件电路连接是PCI板卡其他工作的基础和保证,否则会导致PCI板卡根本上的失败。E2PROM的配置是PCI板卡能否正常工作的关键,一点小的问题都会导致板卡不能正确识别和工作。调试工具和驱动软件的选择也应根据实际需要进行选择,以提高开发效率,缩短开发时间。 这里利用接口芯片实现PCI总线接口电路的设计,可以提高开发效率,降低开发成本,同时验证其可靠性和稳定性,为下一步开发PXI总线接口电路打下了良好的基础。

    时间:2018-10-26 关键词: pci总线 电源技术解析 接口电路 pxi总线 pci9030

  • I2C 总线接口逻辑分析

    I2C 总线接口逻辑分析

    1 前言 I2C总线|0">I2C总线是具备多CPU系统所需的包括仲裁和高低速设备同步等功能的高性能串行总线。它以两根连线实现完善的全双工数据传送,是各种总线中使用信号线根数最少,并具有自动寻址、多主机时钟同步和仲裁等功能的总线。 目前世界上采用的I2C总线有两种规范,它们分别是由荷兰飞利浦公司和日本索尼公司提出的。现在广泛采用的是飞利浦公司的I2C总线技术规范,它已成为被电子行业认可的总线标准。 由于I2C总线具有标准的规范及众多带I2C接口的外围器件,使得使用I2C总线设计计算机系统变得十分方便、灵活,体积也小,因此在各类实际应用中得到广泛使用。 2 I2C总线的基本原理 2.1 I2C总线基本结构 I2C总线系统结构灵活,易于模块化、标准化设计。I2C总线只有两根信号线,一根是数据线SDA,另一根是时钟线SCL。所有进入I2C总线系统中的器件都带有I2C总线接口,符合I2C总线电气规范的特性;而且采用纯软件寻址方法,无需器件片选线的连接。CPU不仅能通过指令将某个功能器件挂靠或摘离总线,还可对其工作状况进行检测,从而实现对硬件系统即简单又灵活的扩展与控制。各器件供电可不同,但需共地。另外,SDA、SCL需分别接上拉电阻。 SDA、SCL都是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。当总线空闲时,两根线都是高电平。连接总线的器件的输出端电路必须是集电极开路输出或开漏输出,以具有线“与”功能。I2C总线的数据传送速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下则可达3.4Mbit/s。 I2C总线接口电路结构如图1所示。 2.2 I2C总线数据传送 I2C总线数据传输时必须遵循规定的数据传送格式,如图2所示为一次完整的数据传送格式。启动信号表明一次传送的开始,其后为寻址字节,该寻址字节由高7位地址和最低1位方向位组成:方向位为“0”表明写操作,“1”表明读操作;在寻址字节后是由方向位指定读、写操作的数据字节与应答位;在数据传送完成后为停止信号。在“启动”与“停止”之间传送的数据字节数从理论上来说没有限制,但每个字节必须为8位,而且每个传送的字节后面必须跟一个应答位。 当SCL为高电平时,SDA由高电平跳变为低电平,定义为启动信号;当SCL为低电平时,SDA由低电平跳变为高电平,定义为停止信号。 在SCL为高电平时,SDA上数据需保持稳定方被认为有效;只有在SCL为低电平时,才允许SDA电平状态变化。 2.3时钟信号的同步 在I2C总线上传送信息时的时钟同步信号是由挂接在SCL线上的所有器件的逻辑“与”完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状态,于是这些器件将进入高电平等待的状态。当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将SCL线拉成低电平。这样就在SCL线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。 2.4 总线竞争的仲裁 总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况,这种情况叫做总线竞争。I2C总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个层次上进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是利用I2C总线上的信息进行仲裁,因此不会造成信息的丢失。 3 I2C总线接口逻辑的构成 3.1 I2C总线接口电路的结构 I2C总线接口逻辑框图如图5所示。 在电路设计中,各功能块的硬件实现介绍如下。 启动、停止检测电路应用两个D触发器来分别响应SDA在SCL为高电平时的电平跳变。 移位寄存器电路由9个D触发器串联成9级移位寄存器,包括8位字节和1位应答位,实现SDA上数据的串并行转换。寄存器复位值为“111111110”,接收8位字节后为“0D7D6D5D4D3D2D1D0”,即应答位为“0”,在第9个时钟时输出低电平作为应答信号。 可编程地址发生器电路生成器件地址,7位器件地址由器件编号地址(高4位)和引脚地址(低3位)组成。通过改变器件引脚的连接方式,就可改变器件地址,因此使应用方便灵活。 地址比较器电路由门电路组成布尔代数式逻辑,对寻址字节进行判断。若地址正确则将RS触发器置“1”,使能译码器输出。 3.2 I2C总线接口工作流程 I2C总线接口工作流程如图6所示。 3.3 Verilog仿真程序 4 结束语 目前采用I2C技术的单片机以及外围器件已广泛应用于家用电器、通讯设备及各类电子产品中,而且应用范围将会越来越广。 本文简单介绍了I2C总线接口电路,希望对相关从业人员有所帮助。

    时间:2018-10-12 关键词: sda 电源技术解析 i2c总线 接口电路 scl

  • ADS8323与高速FIFO接口电路的CPLD实现

    ADS8323与高速FIFO接口电路的CPLD实现

    1.引言 在高速数据采集系统中,AD芯片的工作速度通常是很高的,可以达到几兆甚至几十兆,而微控制器MCU|0">MCU的工作速度相对较低,并且其往往具有多个任务,所以不能采用AD转换一次MCU读取一次数据的工作方式。因此,需要在AD芯片与MCU之间加入数据缓冲器,以便临时存储AD转换的数据,当数据量到达一定深度后,再由MCU一并取走。数据缓冲器可以有多种选择,例如RAM、SRAM等等,而FIFO(First In First Out)存储器凭借其操作简单、可靠性好等特点,被广泛的应用于数据采集系统中,成为了连接MCU与AD芯片的桥梁。 为了使MCU、AD芯片以及高速FIFO存储器能够协调工作,就需要设计好这三者之间的接口电路。本文正是针对这个问题,选用CPLD|0">CPLD实现了三者之间的接口电路。 2.芯片介绍 2.1 模数转换芯片ADS8323 ADS8323是TI公司近年推出的一款高性能模数转换芯片,其主要特点如下: (1)高速高精度:16位的AD芯片,其最高采样速率可达500kSPS; (2)低功耗:当处于500kSPS的采样率时,其功耗也只有85mW; (3)并行接口设计:它可以一次性将16位采样结果输出,也可8位分两次输出。 ADS8323需要外接时钟信号,时钟频率范围从25kHZ(1.25kSPS)到10MHZ(500kSPS),其内部的所有动作均与时钟信号同步。工作过程如下:将/CONVST置成低,即可启动转换;在转换过程中,BUSY始终为高;当转换结果被锁存在输出寄存器之后,BUSY变低,此时便可通过将/RD和/CS信号置低读取转换结果。其时序如图1所示。 2.2 高速FIFO——CY7C4231 FIFO芯片是一种具有存储功能的逻辑芯片,它具有两个特点:数据进出有序,输出输入口独立。其内部的读指针和写指针按照先进先出的原则实现数据的存入和读取。 CY7C4231是CYPRESS公司推出了一款高速FIFO芯片。芯片的存储空间是2K×9 bit,读写时间最小是10ns。其主要的控制管脚功能如表1所示。 3.接口电路的CPLD实现 通过上面的介绍,可以大致归纳出接口电路需要实现的主要功能如下: (1)将A/D转换结果存入FIFO,包括AD芯片的转换过程控制和FIFO的写入过程控制; (2)MCU读取FIFO中数据,包括FIFO的状态查询或着中断请求、FIFO的读出过程控制。 CPLD由于其速度快、体积小、功耗低、编程灵活、可反复修改逻辑等特点,受到了越来越多的关注。而利用EDA工具进行设计、综合和验证,加速了设计过程,降低了开发风险,缩短了开发周期,提高了效率。本文采用了Altera公司的QuartusII作为设计工具,以EPM7128系列的CPLD芯片实现了上述的接口电路。其总体设计如图2所示。 其中,地址译码模块负责对MCU的地址总线进行译码,产生地址选通信号;控制信号模块负责产生一些总的控制信号,如系统启动信号CtrlBegin、整个电路的复位信号reset等等;FIFO状态查询模块负责向MCU提供当前FIFO的状态特征,以便查询,如半满、半空、全满、全空等状态;中断申请模块可根据FIFO的状态自动产生中断请求信号。AD转换控制与FIFO写控制模块、FIFO读控制模块是整个接口电路的核心单元,下面分别加以介绍。 3.1 AD转换控制与FIFO写控制模块 根据ADS8323与FIFO的使用说明,该模块的工作过程如下:在系统启动信号CtrlBegin有效之后,启动AD转换信号(/CONVST置低);在转换过程中,将数据缓冲区(由CPLD内部实现的一个16Bit的存储器)中的前一次转换结果写入FIFO中,具体来说,首先使低8位数据使能信号LowOE置高,低8位数据被放到数据总线上,然后产生低8位FIFO的写时钟信号FIFO1_WCLK,这样转换结果的低8位就被存入低8位FIFO中,按同样的过程再把转换结果的高8位存入高8位FIFO中;在转换结束后(BUSY为低),将AD的读使能信号/RD置低,于是本次AD的转换结果被写入数据缓冲区;完成一次操作之后,再启动AD转换信号,开始下一次转换过程,周而复始,直到系统启动信号CtrlBegin无效。 该模块可由状态机加以实现。在设计中,我们采用Verilog HDL语言编写,其仿真波形如图3所示。 3.2 FIFO读控制模块 当FIFO中的数据达到一定深度之后,MCU就需要通过该模块向FIFO读取数据。该模块主要产生四个信号,即低8位FIFO的RCLK和OE(定义为RCLK1和OE1)、高8位FIFO的RCLK和OE(定义为RCLK2和OE2)。以往的设计方案是采用两个独立的读地址分别作为RCLK和OE,这种方式虽然操作简单,但需要两个读周期才能完成一次读操作,这样大大降低了工作效率。本文采用一个读地址作为OE信号,再利用对OE的延时信号作为RCLK信号,这样只要RCLK信号的产生介于两次OE之间,就能实现用一个读周期完成一次读操作,这样便大大提高了MCU的工作效率。延时模块由Verilog HDL语言实现,其代码如下: 仿真波形如图4所示。 4.结束语 本文采用CPLD实现了AD芯片、高速FIFO存储器以及MCU之间的接口电路。实验表明,该电路工作稳定可靠,且通用性强,易于移植到其它数据采集系统中。同时,QuartusII等嵌入式技术的使用,简化了开发流程,提高了设计效率。目前,该电路已成功应用于某数据采集系统中。 参考文献: [1] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社. [2] 王金明,杨吉斌.数字系统设计与Verilog HDL[M].北京:电子工业出版社. [3] 周佩玲,吴耿锋,万炳奎.16位微型计算机原理、接口及其应用[M].合肥:中国科学技术大学出版社. [4] 陈志斌,卓家靖.基于单片机和CPLD的嵌入式脉冲发生器设计[J].微计算机信息,2005,2:107-108. 本文创新点 (1)以CPLD作为逻辑控制核心单元,实现AD芯片与高速FIFO之间的接口电路。 (2)该接口电路具有通用性,只要稍作修改,就能移植到其它AD芯片与高速FIFO的接口设计中。因此,可以广泛应用于数据采集系统中。 (3)采用全新的开发工具——QuartusII作为开发环境,简化了开发流程。

    时间:2018-09-14 关键词: cpld MCU 电源技术解析 接口电路 ad芯片

  • 三路旋转变压器/数字转换模块接口电路设计

    三路旋转变压器/数字转换模块接口电路设计

    0 引 言旋转变压器/数字转换器是角位移测量和控制的重要组件,它把测角模拟量转换成数字量信号,广泛应用于飞行器姿态控制和检测、导弹控制、雷达天线监控、火控系统等军事装备中。随着集成电路的高速发展,这种类型的转换器已有许多产品以固态电路封装形式应市。在国内这种数字转换器模块有12位到22位不等,转换精度基本能够满足应用需求,但由于数字转换器内部响应速度的限制,转换器只能跟踪一定速度范围内的轴角变化,在要求多路信号切换速度较高的数字转换系统中,用一个数字转换器模块控制多路信号的数字量输出时,将不可避免地出现数字量输出滞后于轴角的变化。为了准确地获取角度信号,就需要增加多路测角的时间周期,为此介绍一种基于ISA总线的三路旋转变压器/数字转换模块接口电路,该电路已经成功应用在某平台惯导三个姿态角的测量中,测角速度快,精度高。1 旋转变压器/数字转换模块工作原理旋转变压器/数字转换模块是电路的重要元器件,根据需求采用中船重工集团第716所生产的型号为19XSZ2413一S32的19位旋转变压器/数字转换模块,其测角精度能达到10”。根据旋转变压器/数字转换模块的基本原理生产出的旋转变压器/数字转换模块,其内部包括粗通道旋转变压器到数字转换器、精通道旋转变压器到数字转换器、双速处理器和三态锁存器。粗通道旋转变压器到数字转换器转换成12位数字角度,精通道旋转变压器到数字转换器转换成14位数字角度,两数字角度量再经一个双速处理器进行硬件实时纠错处理、粗精组合后,输出一个19位并行数字角度量到锁存器。该模块内部原理框图如图1所示。2 硬件设计及分析整个接口电路主要由3部分构成:译码电路、旋转变压器/数字转换模块控制电路和脉宽控制电路,接口电路原理框图如图2所示。2.1 译码电路译码电路主要由译码芯片SN74HC154组成,用来产生接口电路的端口地址。当ISA总线的地址线SA15~SA10,SA4和SA0为逻辑“O”,SA9~SA7和SA5为逻辑“1”,SA1,SA2,SA3,SA6分别对应SN74HCl54的输入端A,B,C,D时,选通接口电路,由此知该接口电路的地址范围为:0x03AO~Ox03AE和0x03EO~0x03EA,其中,0x03EO~Ox03EA分别为读俯仰、横滚、航向的低16位和高3位数字信号,0x03A0和Ox03A8分别为三路同时解除和禁止INH信号,Ox03A2~0x03A6分别为解除俯仰、横滚、航向的INH信号,0x03AA~Ox03E分别为禁止俯仰、横滚、航向的INH信号。2.2 旋转变压器/数字转换模块控制电路三路旋转变压器/数字转换模块控制电路是整个接口电路的核心,由3个旋转变压器/数字转换模块及其外围控制电路组成。旋转变压器/数字转换模块中的两个重要信号“INH”和“CB”分别控制输入模拟信号的转换和输出19位数字信号的锁存。INH禁止信号输入端,内部已经用上拉电阻接到+5 V,当INH为逻辑“0”,即禁止INH信号时,延迟600 ns后锁存器内数据稳定,可读取数据;当INH为逻辑“1”,即解除INH信号时,锁存器内数据更新,此时禁止读取数据。CB为数据转换结束的检测信号,当CB为高电平时,表示转换器内处于跟踪转换状态,此时数据输出不稳定;当CB为低电平时,表示转换器内已经转换结束,此时数据输出稳定有效,可以读取。其中一路旋转变压器/数字转换模块控制电路原理框图如图3所示。该电路在工控机刚开始上电时,“RES”(RESET DRV)输出一负脉冲,此时SN54HC74的Q输出为高,此信号用来控制旋转变压器/数字转换模块的INH,此时平台惯导内部旋转变压器输出的俯仰、横滚、航向3个姿态角的粗精通道正余弦模拟信号进入19XSZ2413一S32旋转变压器/数字转换模块,这是电路工作的初始状态。之后旋转变压器/数字转换模块通过编程控制地址译码的输出,实现三路模块同时工作或单路模块工作。其中,对3块旋转变压器/数字转换模块CB信号的控制采用查询方式,CB用来控制锁存器U1,U2和U3(SN74HC373)的使能端LE,由于输出为19位数字量,所以采用3个SN74HC373,当数据转换完成之后,CB自动变为低,从而使能LE,当CPU读取数据时,锁存器OE使能,19位转换数据同时打入3个锁存器等待CPU的读取。2.3 脉宽控制电路脉宽控制电路主要用来控制ISA接口板上的I/O CSl6,当I/O CSl6信号有效时,通知系统板当前的数据传送是一个有等待状态的16位I/O周期。在电路调试中通过调节R1,C11的大小可以控制I/O CSl6低脉冲的时间,使得通过ISA总线读取低16位数据时正确稳定。现在电路中采用3个旋转变压器/数字转换模块分别控制三路角度量信号的转换输出,当INH为逻辑“O”之后,经过600 ns的延时,CB为“O”,CPU即4 实验结果利用实验室已有的数字/旋转变压器板产生的信号作为输入,角度测试结果如表1所示,实验结果表明测角精度可以达到10”,满足精度要求。5 结 语该接口电路已经应用在某平台惯导3个姿态角的测量中,工作正常,证明该电路设计合理。在电路中测角精度达到10”,能够满足精度要求,更重要的是缩短了该平台惯导系统三个姿态角的测角周期,达到应用的目的。发布者:小宇

    时间:2018-09-03 关键词: 电源技术解析 接口电路 isa总线 旋转变压器/数字转换模块 平台惯导系统

  • 基于FPGA的AD7862接口电路设计

    基于FPGA的AD7862接口电路设计

    摘要:针对在自动控制系统设计领域和通信领域中有着广泛运用的AD7862芯片,介绍了一种基于FPGA的驱动接口电路的设计。阐述了 AD7862的特点及基本功能,以及基于这些功能特点的驱动时序,并以此时序为基础在FPGA芯片中实现了AD7862的驱动电路。给出了主要的VHDL 代码以及最终的仿真测试结果,实现了对AD7862芯片的稳定可靠驱动,同时也验证了所设计驱动电路的正确性。关键词:AD7862芯片;接口电路;FPGA;VHDL语言O 引言在自动控制的很多应用场合,都需要实时对信号进行采样分析,然后由DSP来进行运算控制。AD芯片是采样中最常用的芯片,本文主要对 ADI公司的AD7862芯片进行介绍,同时为它设计了驱动接口电路。由于AD7862不能自动工作,需要给它提供相关的驱动信号才能触发它进行转换,本文用FPGA芯片给它做一个接口驱动电路,并详细的介绍了驱动电路程序的设计,设计的电路为AD7862提供了非常好的驱动作用,并在实际运用中能使其稳定的工作。1 AD7862芯片简介AD7862是美国ADI公司出品的12 bit高速,低功耗转换器,单电源5伏供电。共有4个模拟输入端,被分为两个通道(A&B),通过输入端AO来进行选择。每一个通道有两个输入端(VA1&VA2或者VB1&VB2)。能够接受的模拟信号的输入范围为正负10伏。不过模拟信号的输入端的过压保护允许输入电压达到正负17伏。原理框图如图1所示。AD7862芯片具有以下特点:(1)对每一个通道而言,从启动转换到转换完成需要3.6μs的时间。(2)芯片由5 V单电源供电,功耗低,工作时典型值为60 mW。具有自动休眠模式,当一次转换完成后自动进入休眠模式,节省电能。当下一个转换周期来临时在自动苏醒。(3)提供一个高速并行接口,和微处理器、微控制器以及数字信号处理器的连接变得容易。(4)AD7862系列共有三个版本分别针对三种不同的输入范围。其中AD7862-10针对标准工业级输入范围正负1O伏;AD7862-3主要针对普通信号输入范围正负2.5 V。AD7862-2被用于单极O到2.5 V的输入范围。对AD7862-10和AD7862-3来说,转换输出的12位为二进制补码,对于AD7862-2来说,输出的为12位的原码。2 接口电路程序设计在本设计中用的是AD7862-10,采用高速转换模式,典型转换时序如图2所示。图2中队应的时间参数的要求如下表1所示从图2的时序图可以看出AD7862通过输入脉冲信号CONVST启动转换。在CONVST信号的下降沿,片上的两个track/hold都同时的被设置为hold状态,两个通道开始进行转换。转换时钟由内置的晶振提供。BUSY信号指示转换结束,同时两个通道的转换结果可以被读出。由AO的值来决定第一次读取的值是VA1或者VB1,第二次读取的是VA2或者VB2。当CS信号和RD信号为低时,数据被从12位的并行数据线上读取。在高速转换模式下,AD7862的转换时间为3.6 us,track/hold收集时间为0.3 us。为了保证最佳转换效果,在转换期间和下一次转换开始前300 ns不能进行读取操作。上述的时序图对应为先读取VA1和VA2,然后在读取VB1和VB2,对应的信号AO首先被设为低电平,然后被拉为高电平。在设计驱动电路的过程中,一定要保证设计的时序满足上述时序参数的要求,不然就有可能发生采样不准,出错。结合AD7862的转换速度,FPGA选择1O MHz的处理时钟。对于整个转换过程的控制用一个状态机来完成,状态机分为12个状态 (idie,convert1,busy1,reada1,wait1,reada2,swapchna1,convert2,busy2,readb1,wait2,readb2),其中idle状态为空闲等待转换状态;convertl指示第一次转换启动状态;busyl指示第一次转换状态;resdal状态下读取 VA1;waitl状态为读取VA1和VA2之间的等待状态;reada2状态下读取VA2;swapchnal状态指示交换到另一个通道进行转换;convert2指示第二次转换启动状态;剩余状态和前面的类似,只不过是针对VB1和VB2而言。设计代码如下(只描述VA1和VA2的部分,剩下的类似):3 设计电路的仿真验证最终设计用QuartusⅡ软件编译综合后在板上测试,FPGA接口电路接受到的转换数据传给DSP芯片,然后将DSP受到的数据用实时监控软件显示。图3是给AD输入端加50 Hz的正弦波信号(同时对其中三个输入端加信号),监控软件显示的波形。从图3波形图可以看出,接口驱动电路成功的控制了AD7862芯片的采样过程,从而验证了驱动电路设计的正确性。

    时间:2018-06-27 关键词: FPGA 存储技术 接口电路 vhdl语言 ad7862芯片

  • 如何选择适合产品的烧录方式

    如何选择适合产品的烧录方式

    智能穿戴设备的蓝牙模块、汽车电子钥匙、胎压监测系统、电子烟……这些目前大热的行业及产品在我们的日常生活中扮演中重要的角色,我们来看一看程序是通过哪些方式“搬运”到芯片内的。 将程序“搬运”到芯片内部存储空间的过程叫烧录,烧录方式一般分为离线烧录和在线烧录,不同的烧录方式会影响工厂的生产流程、工装及夹具的设计等等。 1、 投资成本 离线烧录:通过各种适配器兼容不同封装的芯片,芯片与适配器搭配使用才能实现程序的烧录。适配器本身是一种精密夹具,不同芯片、不同封装需要选用不同的适配座。现在运用广泛的Emmc等芯片的封装朝着BGA、QFN等小型、平面化方向发展,而这类封装的适配器价格都不低。   图 1 适配座示例 在线烧录:在线烧录使用的是芯片的标准通信总线,如USB、SWD、JTAG、UART等,接口相对是固定的,烧写时所需要连接的脚位也很少。并且由于接口通信速率不高,采用一般的线材即可,不会产生高消耗。   图 2 ISP下载线 2、 生产流程 在生产流程上,离线烧录和在线烧录会带来比较明显的区别,如图所示。   图 3 离线、在线烧录方式对比 离线烧录都是需要精密夹具来配合,如果生产测试的时候发现出错了,进行生产回溯重新修正,就需要把芯片拆卸下来的,重新按照既定的流程来走一遍,耗费的人力物力较大,成本较高。在正常的生产当中,还有很多额外因素,比如PCBA由于不能耐高温,在拆卸芯片的过程中很容易变形,无形中增加报废的风险。 在线烧录本身就是通过连线来进行程序烧录的,如果生产测试的时候发现出错了,立即可以对出错的PCBA进行回溯,重新再来一次即可,节省大量人力物力,成本低廉,效率高。 更重要的是,现在生产线也在向自动化发展,越来越多的制造商将ICT、FCT等功能测试机加在生产线上,使用自动夹具配合在线烧录的生产方式可以在烧录阶段省去人工操作,贴板后直接进行烧录,然后将PCBA送到测试机测试,整个生产过程全自动化,能极大地提高生产效率。

    时间:2018-01-24 关键词: 产品 接口电路 烧录方式

  • 笔记本电脑常用接口作用解析

    随着各种外接数码设备的出现,小小的接口选择变得重要起来。选择笔记本电脑的时候,不仅要关注它的配置、品牌、外观,接口的丰富与否也是一个重要的参考点。今天就解析一下常用的接口。 一、USB接口 这个大家都很熟悉了,USB是笔记本电脑使用频率最高的接口。USB是英文Universal Serial Bus的缩写,中文含义是“通用串行总线”。USB经过多年的发展,现在已发展到3.1版本。 目前所售机型大多数USB接口都是2.0标准,USB1.1的产品已经被淘汰。USB2.0理论传输速率480Mbps,大约是60MB/秒,但在实际使用中的传输速度要低于这个理论数值。 目前新的USB 3.1,有着传输速率快的特点,理论上能达到10Gbps,比上代快一倍,并且能向下兼容USB2.0设备。便于区分,一般3.0及以上接口为蓝色。   二、HDMI接口 高清晰度多媒体接口(英文:High Definition Multimedia Interface,HDMI),是一种数字化视频/音频接口技术,适合影像传输的专用型数字化接口,可同时传送音频和影像信号,无需在信号传送前进行数/模或者模/数转换。   只需要一根HDMI连接线就可以连接电脑与电视或大屏幕,享受高画质的影音娱乐了,并且目前的液晶电视都标配有HDMI接口。 三、LAN接口 LAN即我们常常说的网线接口,通过它实现有线连接上网,目前的大多数笔记本都配有网线接口,而某些超极本产品受限于机身厚度的设计考虑,会采用网线接口转接器来实现。   四、VGA接口 VGA接口是IBM于1987年提出的一个使用模拟信号的电脑显示标准。VGA接口即电脑采用VGA标准输出数据的专用接口。一般VGA接口共有15针,分成3排,每排5个孔。   此外还有电源接口、音频接口等,针对不同品牌、不同机型的电脑,接口的类型、数量也会有所不同。 对电脑来说、保护好接口也是很重要的。日常维护要做到“防水、防尘、防静电;轻插、轻拔、多遮盖”,这样才有利于延长笔记本电脑寿命。

    时间:2018-01-24 关键词: 接口 笔记本电脑 解析 接口电路

  • 基于USB的手机高清视频传输

    基于USB的手机高清视频传输

    为了应对手机传输高清摄像的挑战,需要在USB标准中定义一个USB音视频类来规范USB视频传输(Video-over-USB)技术。 手机的摄像功能已经从一种新鲜事物发展为主流配置,移动供应商策略性地把高清录像作为他们的高端产品。在手机中整合高清视频将会进一步体现其实用价值,因为它已不仅是一个数码相机,还是一个数码摄像机。 把高清录像放到手机会带来新的问题:如何使高清视频回放。在手机上直接回放视频是很普遍的,但屏幕的尺寸和分辨率的限制使高清视频无法向用户传递其动人的高清体验。和共享移动文档和照片类似,开发人员所面临的挑战是如何分享高清视频而不令其仅限于手机内部。 在手机上采用高清视频输出接口 当前的手机视频输出接口的发展跟不上手机高清视频的传输需求。USB数据传输速度足以传输照片,但连接到高清电视、显示器和其他显示设备的高清视频则需要实时的流传输。与此同时,当前的高清视频手机不是配备标清的模拟视频输出就是采用高清电视所用的高清视频标准,这些都没有专门针对移动手机进行过优化(见表1)。   表1:各手机厂商的高清视频整合。 传统高清视频标准 HDMI是当今高清视频最好的标准之一,到2009年第二季度,超过850家公司取得了HDMI授权。 In-Stat曾预测,在2010年,市面上支持HDMI的设备超过十亿。这些设备包括HDTV、投影机以及诸如媒体播放器和手机等手持设备。HDMI(图1下)采用3个TMDS(最小化传输差分信号) 数据通道和一个单独的时钟通道来传输未压缩的视听信号,最快可达10.2 Gbps (3.4 Gbps每通道)。在这样的带宽下,HDMI支持超过1080p数据流从而兴起了数字三维体验。   图1:HDMI结构框图 与此同时,另一种高清标准DisplayPort正在迅速渗透市场,它得到诸如惠普、戴尔、苹果等厂商的强大支持。在DisplayPort核心中,音频、视频和嵌入式时钟信号能在micro-packet微包架构下通过可扩展的1、2或4路通道进行传输。 如图2所示,原始数据流被很好地打包并通过像素的控制和寻址经由数据通道传输。DisplayPort1.2a支持17.28 Gbps的带宽。   图2:DisplayPort结构框图 在手机中使用传统高清视频标准的问题 HDMI和DisplayPort都是为桌面设备设计的,它们固有的缺点限制了他们在手机和其他便携式电子产品中的使用。这两种标准都需要比较多的引脚――HDMI有19个引脚,DisplayPort有20个引脚,这致使连接器件尺寸比较大。在一些以小尺寸为优势的便携式电子市场中,接插件的大尺寸将会影响整个设计的体积和形状。 更多的引脚数同时也意味着需要更高的成本,从而提高了成品的物料清单(BOM)。今天,传统视频标准在手机中的应用率还很低。手机生产商需要重新考虑他们现有的设计,以适应这些额外的接插件。 传统高清视频标准的另一个缺点就是,它们无法通过同一缆线供电。这对于桌面设备来说并不是一个明显的缺点,因为诸如蓝光播放器、机顶盒、PlayStation 3等桌面设备都是独立供电的。 另外,手机在传输视频流到外部显示设备时也会不断消耗功率。如果手机此时没有通过独立的充电器充电或USB连接,移动视频的回放时间就会收到限制。因此,如果使用传统的高清视频标准,就不可避免的需要在播放长度、便携性和电池寿命之间权衡。 小型化HDMI 不要小看缩小传统高清视频标准连接器尺寸的作用。HDMI的连接器经历了一系列缩小,它原本是A型连接器,而在HDMI 1.3规格中专为便携式设备定义了一个小型连接器(B型)。从 A 型的13.9mm x 4.45mm缩小到10.42mm x 2.42mm。 最近,HDMI 1.4规范定义了一种新的HDMI微连接器(D型)。HDMI微连接器保留了标准的19脚的A型和C型,但缩小连接器尺寸到2.8mm x 6.4mm,类似于micro-USB连接器(2.94mm x 7.8mm)。在HTC EVO 4G手机中,HDMI微连接器就放置在micro-USB连接器旁边。 基于USB的高清视频 可以通过常见的USB接口来传输HDMI或DisplayPort视听信号。USB 1.1/2.0已广泛使用在手机中,今年USB手机已经售出了128万台。此外,USB 3.0技术增加了带宽,可以达到大容量高清视频传输。 相比传统高清摄视频标准,USB接口带来了非常适合手机的两个主要优点。USB只需要很少的引脚数目,通过一个TMDS(最小化传输差分信号)物理通道即可传输视听信号。引脚数目少使连接器尺寸更小,这对于手机设备来说是很理想的。 此外,引脚数目少可以保证连接器BOM少。更重要的是,USB已经是绝大部分手机中的标准配件,是首选的数据传输接口和充电口。因此,Video-over-USB概念可以很容易的被厂家采用,而不会显著的提高制造成本。 其次,USB能够在一根线缆传输大容量的内容,同时还能供电。例如,当视频数据包通过USB接口从网络摄像头流到PC时,电流可以从计算机输送到摄像头来供电。 应用同样的概念,手机能通过USB接口将整部电影电视传到电视,同时通过电视来供电。回放结束后,手机也充好了电,就可以用作打电话和发邮件等其他用途。类似的观念已经在iPod音乐扩展坞(docking)系统中采用了,使用苹果专有的30脚接头,iPod可以通过外部的扩展坞系统扬声器边播放音乐边充电。 USB音视频类的推动 几个产业玩家正在开发定制的USB图形实现方式,从而满足这个即将爆发的市场。然而,这些技术的多样性以及独特定制芯片和驱动的需求,使Video-over-USB概念逐渐向主流应用靠近。 为了快速走向成功,需要在USB规范中定义USB音视频类以使Video-over-USB技术标准化。通过USB为视听信号传输预先定义一个类,可以激励半导体厂商为此构造SoC,而不需要再定制驱动芯片。[!--empirenews.page--] 和USB大容量存储类(MSC)及人机接口设备类(HID)一样,下一次当你把手机插到电视上时,只需要简单按一下“播放”,高清视频流就可以开始了。   图3:在传统标准和USB上传输高清视频的比较

    时间:2018-01-09 关键词: 手机 USB hdmi 高清视频 接口电路

  • LabVIEW的GPIB的总线标准接口功能

    GPIB系统中设备与总线的交互作用定义为接口功能。GPIB标准共定义了10种接口功能,包括5种基本接口功能和5种辅助接口功能。 基本接口功能是GPIB接口总线功能要素的核心,用于管理和控制消息在数据线上双向、异步、准确无误地传递。5种基本接口功能分别为:源方和受方握手功能(SH和AH)、讲者和听者接口功能(T和L)、控者接口功能(C)。 SH功能保证消息在数据线上正确传递;AH功能保证正确地接收远地消息;T功能把消息经数据线发送到其他设各;L功能从数据线上接收与自己相关的消息;C接口功能的目标是控制GPIB系统中设备间数据的传递。 辅助接口功能在设备与总线之间实现特殊的交互作用。5种辅助接口功能分别为:服务请求接口功能(SR)、远程/本地控制接口功能(RL)、并行查询接口功能(PP)、器件清除功能(DC)、器件触发功能(DT)。 SR功能向控者提出服务请求,请求控者中断当前的工作来对该设备进行服务;RL功能在两种输入操作控制信息之中选择其一,即向器件表明应使用来自本地的操作控制信`患,或者应使用来自远程的控制消息;PP功能响应控者发出的并行查询;DC功能响应负责控者发出的DCL(Device Clear,设备清除)信号或SDC(Selected Device Clear,清除选定设备)信号,而使设备恢复到初始状态;DT功能响应负责控者发出的GET(Group Execute Trigger,组执行触发)信号,而触发启动某种设备功能操作。 这10种接口功能包括了GPIB总线提供的所有接口功能,每个设备的接口不必使用全部10种功能,可以根据需要选用其中的若干种功能。

    时间:2017-12-19 关键词: LabVIEW 接口电路 gpib 总线标准接口

  • 升级至4K超高清12G-SDI接口时需要考虑的三件事

    升级至4K超高清12G-SDI接口时需要考虑的三件事

    超高清 (UHD) 显示器时代来了!YouTube、Netflix和Amazon Instant Video等大型流媒体公司开始提供4K内容,毫无疑问,越来越多的内容将可以随时随地获取。正因如此,广播和专业视频内容供应商就会持续升级他们现有的传输接口,以满足更高分辨率的视频内容所带来的不断增长的带宽需求(请见图1)。   图1:高分辨率视频 如果你是一名系统设计人员,研究广播或专业视频设备,例如视频切换器、显示器、路由器、格式转换器或具有串行数字视频接口 (SDI) 的分布式放大器等,你很有可能考虑过以下这三个问题: 1. 传输接口:SDI还是基于IP的视频(10千兆以太网)? 多年来,广播公司和其他内容提供商使用SDI进行未压缩的视频传输,并且形成了一整套的基础架构来支持其运行;然而,以太网接口上的IP(互联网协议)传输变得越来越普遍。有一款现成可用的IP解决方案可以降低成本,提供灵活的基础架构实现方式=,并且增加了更高数据速率的可扩展性,这一切都得益于以太网在数据中心和其它通信基础架构应用中的普及。 电影电视工程师学会 (SMPTE)定义了针对4K视频传输、基于SDI(用于12G-SDI的ST-2082)和10G以太网 (SMPTE-2022-5/6) 的接口。还有少数几个通过IP提议进行传输的、基于工作室的视频,其中包括索尼NMI、Evertz ASPEN和AIMS,它们打算充分利用SMPTE正在标准化的管理的视频服务论坛 (VSF) TR-03/04。系统接口的选择取决于市面上的目标基础架构。在大多数情况下,系统既需要支持使潜在市场最大化的接口,又需要支持能满足客户对于异构视频网络要求的接口。在这样的情况下,比较明智的做法就是使你的硬件设计既能支持SDI,又能支持IP,然后使用软件来选择合适的传输接口。 TI的LMH1218电缆驱动器和LMH1219电缆均衡器是业内首款在同一器件内同时支持SDI和10G以太网数据速率和电气规格的器件。 2. 传输介质:同轴电缆还是光纤? 使用12G-SDI(或用于IP视频传输的10千兆以太网)进行较高速的数据传输会增加传输介质中的损耗,并且减少视频源与接收端之间的总通信电缆长度。为了应对12Gbps产生的插入损耗和高频抖动,应该使用均衡器、时脉重整器和电缆驱动器等信号调节组件来将同轴电缆的长度延长至100米。 需要更长传输距离时,光纤可以作为另一种传输介质,不过系统成本也更高。在使用常见的外形尺寸时,比如说SFP+(增强型小型可插拔组件),您可以使用专门设计支持乱序SDI视频帧的组件,其中包括常见病态数据,以及符合SFF-8431技术规格,即通过IP传输的、基于10G以太网视频的组件。 TI的LMH1218电缆驱动器和LMH1219电缆均衡器(这两个器件都具有时脉重整器)支持针对同轴电缆的75Ω接口,以及针对同一器件中光学组件的100Ω SFF-8431兼容接口。VIDIO,一个配有LMH1218和LMH1219的4K FMC开发组件,拥有支持分辨率支高达4Kp60的12G SDI (75Ω BNC) 和 IP (SFP+) 接口。 3. 传输速度:3G-SDI还是12G-SDI? 目前,有三种方法可以通过SDI接口来传输4K内容。其中一个比较笨的方法是利用4个电缆接口,每个接口承载3G视频数据;第二种方法将12G数据压缩到单个3G接口;而第三种方法是通过12G-SDI接口传输未经压缩的视频。 除非您是一个提供端到端解决方案的供应商,或者能够灵活地将使用12G-SDI的系统设计推销到较低端、但仍然广受欢迎的3G-SDI市场,否则,你需要设计多个SKU(库存单位)来满足不同的价格预期。设计团队的时间已经很紧迫,还要花费额外的时间和精力来设计并保持多个SKU,以支持12G-SDI和3G-SDI接口。重新使用现有硬件设计,并且根据正在被组装的SKU,在生产线上插入针对3G-SDI或12G-SDI的SDI组件,可以最大限度地节约成本,并且优化性能。 TI的电缆驱动器(LMH1218和LMH0318)与电缆均衡器(LMH1219和LMH0324)是100%引脚兼容的,并且采用同样的封装/引脚分配,以实现轻松升级。

    时间:2017-11-19 关键词: 接口电路 4k 12g-sdi接口

  • 最简单的传感器电路图

    最简单的传感器电路图

    最简传感器电路需要插到PC的串口使用,利用计算机的强大功能进行各种应用,其接口电路各有所长,偶以分立件组成的RS232电路最简  

    时间:2017-06-28 关键词: 接口电路 温度/湿度/压力 传感器电路图

  • rs485转rs232接口电路

    rs485转rs232接口电路

    pc机串行口为标准的rs232c接口,最大通信距离仅为15 m,无法适用于远距离的监测。选用rs485串行接口标准可实现管理微机远距离对下位机进行通信管理。串口通信采用rs485协议进行,其传输距离较长。适用于从光伏发电设备到监控设备之间的数据传输。rs485采用差分信号负逻辑,逻辑“1”以两线间的电压差为+(2~6)v表示;逻辑“0”以两线间的电压差为-(2~6)v表示。rs485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。rs485最大的通信距离约为1219 m,最大传输速率为10 mb/s,传输速率与传输距离成反比。 采用rs485通信时,需要解决2个问题。stc89c51本身具有全双工串行口.但进行rs485通信时需要电平转换:pc机串行1:1为标准的rs232c接口,通信时需要将rs485接口的逻辑电平转换成rs232电平。rs485通信的电平转换芯片有全双工的和半双工的,为了便于软件开发,本次设计采用全双工芯片max488。 如图3所示,电平转换电路采用max488全双工集成芯片,使用时将单片机的串行收发端接人rs488的发收端。为保持通信信号的稳定,一般会在max488加上、下拉电阻。上拉电阻把不确定的信号通过一个电阻嵌位在高电平,此电阻还起到限流的作用。同理,下拉电阻将不确定的信号嵌位在低电平。在实际工程应用中,由于存在反射信号和环境等各种干扰的影响,特别是在通讯波特率比较高的时候,在线路上加上、下拉偏置电阻是非常必要的。上、下拉电阻可提高总线的抗电磁干扰能力,管脚悬空容易受到外界的电磁干扰,同时长线传输中电阻不匹配容易引起反射波干扰,加上、下拉电阻就是电阻匹配,可有效地抑制反射波干扰。   图3 rs485电平转换电路 rs485转 rs232接口电路主要包括了电源、rs232电平转换、rs485电路3部分。本电路的rs232电平转换电路采用了max232集成电路,rs485电路采用了max488集成电路。为使用方便,电源部分设计成无源方式,整个电路的供电直接从pc机的rs232接口中的dtr(4脚)和rts(7脚)获取。pc串口每根线可以提供大约9 ma的电流,因此2根线提供的电流足够满足这个电路的使用要求。使用本电路需注意pc程序必须使串口的dtr和rts输出高电平,经过d3稳压后得到vcc,经过实际测试,vcc电压大约在4.7 v左右。其电路图如图4所示。   图4 rs485转rs232接口电路 设计了一套基于labview数据采集和rs485通信的光伏发电监测系统,可实时监测光伏发电系统运行电参数和环境参数并统计发电量信息。该系统由单片机和传感器采集光伏发电系统的各类相关参数。并采用rs485协议与pc机通信。上位机通过labview提 供的标准i/o应用程序接口visa实时获取单片机传递的数据信息,数据经上住机监测软件 处理后通过监测界面图形化显示。该监测系统结构简单、硬件成本低廉、数据传输稳定 、运行稳定可靠,具有可视化的监测界面。经测试系统可实时监测到各类参数的变化情况, 可有针对性地对光伏发电系统进行维护进而提高光伏运行效率。 随着能源危机的日益严峻。各种可再生能源得到了长足的发展。在诸多的可再生能源中,光伏发电在未来有着广泛的应用前景,光伏产业是最有潜力的新能源之一。进行光伏发电时,对光伏电站发电状态的监测是十分必要的。因为单块光伏组件输出的直流电压较低,一般在几十伏左右,所以通常采用多块光伏组件相互串联。然后各个组串相互并联从而形成光伏阵列。在发电过程中,光伏阵列的局部故障会导致整个供电系统输出电压或功率下降.直接影响系统性能和运行效率。为确保系统正常运行,应对光伏阵列进行状态监测,以便能及时地、有针对性地进行维护。从而提高光伏发电效率。据此,本文基于rs485通信和 labvlew软件平台研发了一套光伏电站监测系统。该系统具有可视化的监测界面,可实时显示光伏发电系统的发电状态,并可供用户查询历史数据以便进行统计分析。 1 系统结构及原理 图1为系统总体结构框图。pc机主要对光伏发电系统中的温度、光照强度等环境参数和输出电流、输出电压、输出功率等发电信息进行监控、统计及显示。单片机、a/d转换和传感器构成一个数据采集器,传感器将环境参数和发电信息采集过来,通过a/d转换将模拟信号变成数字信号发送至单片机,单片机将数据处理后缓存并发送。单片机与pc机之间采用rs485转rs232通信协议进行数据传输。pc机将接受到的数据处理后保存并及时显示,实现对光伏发电系统各类参数的实时监测。   图1 系统原理框图 2 硬件电路设计 本系统硬件电路主要包括2方面:数据采集模块和通信。数据采集部分将所需数据采集处理后,通过单片机发送至上位机:通信部分在硬件上主要是电平的转换和与上位机通信时接口处理。 系统处理器采用stc89c51芯片,该芯片具有8 k字节flash,512字节ram,32位i/o口线,看门狗定时器,3个16位定时器/计数器,4个外部中断,1个7向量4级中断结构,全双工串行口,是一种低功耗、高性能 2.1 数据采集模块 该模块主要功能是采集电流、电压、温度、照度4类数据。利用模数转换芯片将传感器采集回来的模拟信号转换成数字信号,再由单片机进行数据处理。模数转换芯片采用adc0809,它是8位逐次逼近式模数转换器,包括1个8位的逼近型的adc部分,并提供1个8通道的模拟多路开关和联合寻址逻辑,用它可直接将8个单端模拟信号输入,分时进行a/d转换。本系统中只需要应用其中的4个通道,分别对有传感器采集回来的电流、电压、温度、照度4个模拟信号进行转换 。然后由51单片机进行数据存储及数据处理,完成对模拟信号的采集。[!--empirenews.page--] 由于adc0809芯片内部没有时钟脉冲源, 可利用单片机89c51提供的地址锁存控制输入信号ale经d触发器四分频后,作为adc0809的时钟输入。当cpu访问外部存储器时.ale的输出作为外部锁存地址的低字节的控制信号:当不访问外部存储器时,ale端以1/6的时钟振荡频率固定地输出正脉冲,可取单片机的时钟频率为12 mhz。则ale端输出的频率为2 mhz。再经四分频后为500khz,符合adc0809对时钟的要求。 如图2所示。adc0809内部设有地址锁存器,通道地址由p2口的低3位直接与adc0809的a、b、c相连,通道基本地址为0000h~0007h。模拟量由adc0809的in0~in7输入.数字量由adc0809的do~d7输出并接到单片机i/o口的p0口,adc0809其他引脚如:start、oe、ale、a、b、c等直接接到单片机的p2口。最后adc0809的结束信号端口直接接到单片机的p2.7口。   图2 adc0809与单片机的接口电路 3 软件设计 3.1 单片机程序设计 下位机程序完成a/d转换和通信收发的功能,串口接收采用中断方式.为方便上位机识别数据以及减少错误率,发送时加上前后校验码。照度、温度、电压、电流4类数据分别采用不同的前后校验码。在主程序中,a/d转换完成后,将数据处理后并储存,紧接着查看上位机发送回来的信息,将指定类型数据发送给上位机。 3.2 上位机程序设计 上位机主要是完成3项任务:与下位机的通信;将下位机发送回来的数据进行处理及存储:设计一个显示界面。把数据变化情况以图表形式显示出来。 程序采用labview软件平台进行编写,labview是当下最流行的图形化编程开发软件,利用它可以大量使用图表、菜单、图形等可视化工具,使系统具有丰富、灵活的画面和图表显示功能。 labview通过visa与串行接口仪器通信。visa是应用于仪器编程的标准i/o应用程序接口(api),它本身并不具有仪器编程能力,而是为用户提供了一套独立的可方便调用的标准i/o底层函数。利用hbview中的visa函数,可实现上位机与单片机之间的通信。通过labview平台内丰富的底层函数,可进行高速精确的数据处理。其设计分为前面板和后面板,前面板为可视化的用户界面,而后面板就是支撑系统运行的程序,并且采用图形化的编程,数据的传输通过各函数之间的连线实现。 在前面板设立5个波形图表控件,分别用于显示照度、温度、电流、电压、功率5类数据信息的实时变化情况,若干数值显示控件用于显示各数据的平均值及发电量总值。 后面板串口通信利用labview中的visa配置串口函数、visa写入函数、visa读取函数可完成对串口的配置及串口收发。visa关闭函数用于关闭visa资源名称指定的串口会话句柄或事件对象。是一个串口接收和发送的子vi,上位机可以向单片机发送命令及接受单片机发送回来的 数据。 主程序采用平铺式顺序结构,先利用子vi生成5个电子表格文件以保存当天的数据,然后在循环结构下,调用串口收发子vi为每类数据分别发送获取指令,让下位机把相应数据发送过来。接收数据后,比对前后校验码,若有误则重新发送,若正确则获取数据码进行数据处理。数据处理包括将数据还原、存人相应表格文件以及送人波形图表控件进行显示。 此外。设计子vi从各电子表格文件中获取储存的累计数据.则可计算各类数据的平均值以及总发电量,便可得到光伏发电系统的发电信息。在labview中可自行设立用户菜单,程序运行时操作用户菜单,可方便用户设置串vi参数及查看历史数据。 4 结语 经系统实际运行测试。系统可稳定地监测到各类参数的变化情况。各类参数的平均值和总发电量通过储存的累计数据得到,并通过控件显示。整个系统可完成数据的采集、处理、储存、统计、显示等功能,实现对光伏发电系统的监测目的。将系统运用到光伏发电领域中,能够供电站工作人员实时了解电站的环境情况及发电信息,还可对历史数据进行统计分析。通过监测界面能够及时有效地发现电站运行故障。以实现系统检修及有针对性地进行维护,提高光伏运行效率。

    时间:2017-06-25 关键词: 电路设计 rs485 接口电路 rs232

  • rs232和rs422接口电路及区别

    rs232和rs422接口电路及区别

      1、RS-485RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。 RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。3、RS-422RS422总线,RS485和RS422电路原理基本相同,都是以差动方式发送和接受,不需要数字地线。差动工作是同速率条件下传输距离远的根本原因,这正是二者与RS232的根本区别,因为RS232是单端输入输出,双工工作时至少需要数字地线 。发送线和接受线三条线(异步传输),还可以加其它控制线完成同步等功能。RS422通过两对双绞线可以全双工工作收发互不影响,而RS485只能半双工工作,发收不能同时进行,但它只需要一对双绞线。RS422和RS485在19kpbs下能传输1200米。用新型收发器线路上可连接台设备。 2、RS-232-CRS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。 在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。

    时间:2017-06-25 关键词: 电路设计 接口电路 rs232 rs422

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包