您好、欢迎来到现金彩票网!
当前位置:秒速牛牛开奖 > 通道控制器 >

基于FPGA的多通道串行AD转换器的控制器设计

发布时间:2019-05-31 02:34 来源:未知 编辑:admin

  随着现代电子技术的应用和发展,越来越多的电子应用由模拟系统向数字系统转变,而A/D转换器为模拟系统和数字系统的界面,承担着模拟信号转变为数字信号的任务,在一些多路信号采集系统和实时数字信号处理系统中,A/D转换的多路扩展、高精度、低成本、实时性显得越来越重要。在一般信号采集系统中,由单片机或微控制器对高精度A/D转换器进行控制,通常采用软件模拟A/D转换器时序的方法。因此增加了CPU的负担,降低了CPU的工作效率,在多片A/D转换器多通道扩展应用中,降低了信号采集的实时性。

  随着现代电子技术的应用和发展,越来越多的电子应用由模拟系统向数字系统转变,而A/D转换器为模拟系统和数字系统的界面,承担着模拟信号转变为数字信号的任务,在一些多路信号采集系统和实时数字信号处理系统中,A/D转换的多路扩展、高精度、低成本、实时性显得越来越重要。在一般信号采集系统中,由单片机或微控制器对高精度A/D转换器进行控制,通常采用软件模拟A/D转换器时序的方法。因此增加了CPU的负担,降低了CPU的工作效率,在多片A/D转换器多通道扩展应用中,降低了信号采集的实时性。

  现场可编程门阵列FPGA(Field ProgrammableGate Array)是20世纪80年代中期在PAL,GAL等逻辑器件的基础上发展起来的一种可编程逻辑器件,其特点是高集成度、高速和高可靠性,设计人员可以现场修改器件的逻辑功能。VHDL(VHSIC Hardvcare Description Language)是目前通用的硬件描述语言之一,可用来描述一个数字电路的输入、输出以及相互间的行为与功能。

  FPGA的高集成度和高速的特性,使之相对于单片机和微控制器,更适合用于对高速A/D器件的采样控制。本文设计一种基于FPGA的高速串行输入/输出A/D转换器的控制器,该控制器完成对ADS7844芯片的采样控制,提高了采样的实时性、减轻了主CPU的运行负担。

  ADS7844是Burr_Brown公司推出的一种高性能、宽电压、低功耗的12 b串行数模转换器。它有8个模拟输入端,可用软件编程为8通道单端输入A/D转换器或4通道差分输入A/D转换器,其转换率高达200 kHz,而线性误差和差分误差最大仅为1 LSB。ADS7844在电源电压为2.7~5 V之间均能正常工作,最大工作电流为1 mA,进入低功耗状态后的耗电仅为3A。ADS7844通过6线串行接口与CPU进行通信,接口简单方便。

  CH0~CH7:模拟输入端,当器件被设置为单端输入时,这些引脚可分别与信号地COM构成8通道单端输入A/D转换器;当器件被设置为差分输入时,利用CH0-CH1,CH2-CH3,CH4-CH5,CH6-CH7可构成4通道差分输入A/D转换器;

  Dclk:外部时钟输人端,在时钟作用下,CPU将控制字写入ADS7844,并将转换结果从中读出;

  Din:串行数据输入端,在片选有效时,控制字在Dclk上升沿被逐位锁入ADS7844;

  Dout:串行数据输出端,在片选有效时,转换结果在DcIk的下降沿开始被逐位从ADS7844移出;

  BUSY:“忙”信号输出端,在接收到控制字的第一位数据后变低,只有在转换结束且片选有效时,该脚才输出一个高脉冲;

  SHDN:电源关闭端、低电平有效。当SHDN为低电平时,ADS7844进入低功耗状态;

  ADS7844的控制字共有8位,其中S是起始位,控制字的起始位总为“1”。A2~A0是通道选择位,在单端输入时分别对应8个通道,而对于差分输入,000~011分别对应CH0-CH1,CH2-CH3,CH4-CH5,CH6-CH7,而100~111则分别对应CH0-CH1,CH1-CH0,CH3-CH2,CH5-CH4,CH7-CH6。Bit3没有定义。SGL/DIF是模式控制位,该位为“1”时是单端输入模式,为“0”时是差分输入模式。PD1和PD0是电源关闭模式控制位,若为“00”,则表示ADS7844在不进行数据转换时自动进入电源关闭模式,若为“11”,芯片则始终处于电源开启模式。

  从图1中可见,一个转换周期需要24个时钟周期,其中8个用于输入控制字,16个用于读取转换结果。控制字的所有位在时钟上升沿被锁入芯片,转换结果在时钟的下降沿被逐位移出。所有移人和移出的数据都是高位在前、低位在后。需要说明的是,ADS7844是12位A/D转换器,其转换结果只有12位,故在移出12位结果后,还需送入4个时钟来完成整个转换过程,这4个多余的时钟移出的数据为“0”,使用时不应作为转换结果处理。

  用FPGA设计的采样控制器AD_CONTROLLER与ADS7844的接口电路如图2所示,基本时序如上所述。

  AD_CONTROLLER的输入时钟取12 MHz,经内部4分频后输出至ADS7844的CLK引脚。cs_all为来自CPU的启动信号,当其为低时AD_CONTROLLER开始工作。addr[3..0]为对应的ADS7844的通道地址,data[15..0]为某地址所对应通道的A/D转换结果,当某一通道转换结束,oe信号由低电平变为高电平并持续1个周期。

  取FPGA工作频率10 MHz,经分频器4分频得2.5 MHz作为A/D转换器的时钟。分频器通常用计数器实现,各VHDL教材上都已详细讲述,这里不再赘述。信号cs每隔28个clk1时钟周期发出1个clk1周期的高电平脉冲并转换1次模拟输入通道,28个cIk1周期中,A/D转换器片选cs_ad信号占用4个周期,控制字的串行输出(di)占用8个周期,ADS7844芯片由Din引脚接收到控制字后,在下一个周期的下降沿开始将A/D转换后的数据串行输出至Dout引脚,由from_ad模块进行串/并转换并输出(data[15..0]),此串并转换需16个周期。信号stld的下降沿将由状态机产生的控制字(control_word[7..0])锁存入to_ad模块内部的并/串移位寄存器(74165),经过8个周期后控制字由di引脚输入ADS7844芯片。cs脉冲的产生由计数器实现,这里不做详细介绍。cs_ad片选信号通过cs_ad模块将cs信号展宽2个周期而得到,其电路结构如下:

  电路由1个计数器(cs_wide)、前沿D触发器(inst6)和后沿D触发器(inst3)组成。当cs信号上升沿到时,inst6触发,cs_ad置高电平。2个周期后,inst3由下降沿触发输出高电平,反相后将inst6和计数器cs_wide清零,同时cs_ad输出低电平。由此看出,cs_ad的信号正是cs信号经过2个周期展宽后得到。

  通道地址及控制字形成模块(addr_1)可以实现所需的各种输入模式,并产生通道地址和控制字,以单端输入模式为例,VHDL代码如下:

  这里用双进程的有限状态机(FSM)来设计通道地址产生器。当addr=“0000”时表示没有通道被选择,ADS7844没有工作;当addr=“0000”时表示通道1被选择,依次类推。

  图5中elk的周期为100 ns,clk1为系统时钟4分频后的工作时钟,当cs_all为低电平时,AD_CONTROLLER开始工作。由状态机产生的控制字(10000100)在stld的下降沿被锁存入移位寄存器,当cs_ad由高变低时,控制字被逐位移出至di端口。在此,假设当ADS7844接收到控制字并由ad_do端口逐位移出1通道转换后的数据0,经过16个周期后oe由低变高,oe的下降沿可以将移入寄存器的数据锁存。由图5可见,仿线控制波形一致,达到了设计的目的。

  本试验用于混合动力汽车电池管理系统电池电压、电流信息采集部分。电池管理系统通常采用双单片机的结构,一个单片机完成电池信息采集功能,另外一个单片机完成电池SoC(State of Charge)计算及人机交互功能。这种系统结构复杂,可靠性降低。为解决这一问题,该A/D控制器被封装成基于Avalon总线的自定义IP核,应用于Altera公司FPGA所支持的NIOS Ⅱ嵌入式系统中,NIOS Ⅱ软核CPU仅在A/D控制器引起的中断服务程序中读取采集到的数据,这样大大提高了采集速度和CPU的效率,使得有更多的CPU资源应用于SoC计算和人机交互。这种基于SoPC(Systemon Programmable Chip)的电池管理系统结构紧凑、功能齐全、可靠性大大提高。

  不仅可进行任意次编程,而且用户可以借助开发工具快速编程、编译、优化、仿真直到最后芯片制作。高集成性使得用户可以利用硬件描述语言及开发工具在单片芯片上实现各种复杂的逻辑电路和片上系统,提高了系统性能、减小了电路面积、降低了成本。高速性有效地解决模拟控制的精度与数字控制的速度之间的矛盾。随着为基础的数字电路和SoPC(Systam on ProgrammableChip)代表了嵌入式系统的发展方向,

  [论文搜索] [] [好友分享] [打印本文] [关闭窗口] [返回顶部]

  ①凡本网注明来源:CK365测控网的所有作品,版权均属于CK365测控网,转载请必须注明CK365测控网。违反者本网将追究相关法律责任。

  ②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的稿件来源,并自负版权等法律责任。

  ③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。more测控名词FPGA

  LabVIEW是一种程序开发环境,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别 是:其他计算机语言都是采用基于文详情

  反馈电路在各种电子电路中都获得普遍的应用,反馈是将放大器输出信号(电压或电流)的一部分或全部,回授到

  详细介绍Sensirion传感器公司推出的新型集成数字式温湿度传感器。该传感器采用CMOSens专利技术将温度湿

http://4kci.com/tongdaokongzhiqi/113.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有