用FIFO设计A/D与DSP之间的接口

2007-03-09 19:03:27来源: 互联网
摘要:在采用CCD对非透明薄板厚度的测量系统设计中,采用高速A/D和DSP等器件进行电路设计可以确定CCD的像点位置。由于A/D转换器的采样速率和DSP的工作时钟频率相差非常大,为了提高DSP的工作效率,避免数据丢失和控制方便,采用小容量的FIFO作为两者之间的接口可以产生很好的效果。 关键词:A/D;DSP;FIFO 1 前言 在使用CCD对非透明薄板厚度的测量系统设计中,笔者采用高速A/D和DSP等器件设计信号采集和处理电路来确定CCD的像点位置。其具体电路如图1所示,该信号采集和处理电路由CCD驱动电路、加法电路、滤波放大等信号预处理电路、A/D转换电路、FIFO、DSP电路、时序与逻辑控制产生电路、USB总线接口电路等组成。其中DSP芯片选用TI公司生产的TMS320C6211高速数字信号处理芯片它主要用于对A/D转换后的数据进行插值和重心算法处理,从而确定CCD上像元的位置,然后把处理后的数据通过USB总线传输到PC机进行厚度计算、结果显示、存储等后续处理。该电路所需的时钟信号和采样逻辑控制时序由一片FPGA芯片产生。 当模拟信号由ADC转换成数字信号后,往往都需要输入DSPs的CPU作进一步处理。但A/D转换后数据输出与DSP的读外部数据的时钟很难精确地配合。即使DSP能读取到外部总线上的数据,由于A/D速率是4MHz,DSP外部存储器时钟为90MHz,为了读到总线上的数据,DSP外部存储器读写时钟也必须控制在4MHz,这样就大大降低了DSP的使用效率,同时再加上DSP处理数据也需要一定的时间,而不能一味地读取外部数据。所以,为了控制方便,避免数据丢失,设计时应采用小容量的FIFO作为两者之间的接口。本设计选用的FIFO芯片是Cypress公司的CY7C425-25ns。该芯片容量为1k%26;#215;9bit,存取时间最大为25ns,读写周期最小为35ns。该器件具有半满(HF)、全满(FF)和空(EF)三个标志位输出,可以同时满足深度和宽度级联的需要。 图1 2 DSP与FIFO芯片的工作原理 2.1 FIFO读写过程 FIFO的一次读写过程如图2所示,由于FIFO是顺序读取数据,因此只需提供读写和其它控制信号线,而不需要一般RAM所需的地址线。若将两路A/D输出的数据存入FIFO中,每片FIFO用8bit两片FIFO即可级联构成16bit的数据宽度。由于FIFO采用的是5V供电,所以经电压转换器件74LVTH244可将5V数据信号电平转换成3.3V,然后与DSP的16Bit外部数据总线相连。 再由FIFO的半满信号HF作为外部中断信号,当FIFO存储器半满时,便可由HF经逻辑处理后向DSP发出中断申请INT4。由于外部FIFO占用着DSP的CE0空间,所以读信号的逻辑关系为:R=CE0+ARE,启动DSP 的EDMA(Enhanced Direct Memory Access)通道传输,可将FIFO中的数据读入内部RAM中,这样,在FIFO输出数据的同时,也将A/D转换的数据写入了FIFO中,从而达到了同时读写的目的。使用EDMA方式传输数据的好处在于:EDMA控制器可以独立于CPU工作,从而可方便地实现片内存储器、片内外设以及外部存储空间之间的数据转移。由外部中断INT4启动EDMA传输,可以大大提高传输速率和CPU的工作效率。DSP读完2048个数据后即开始处理,处理完后便可以在一次扫描结束与下一次扫描尚未开始的时间内将16Bit计算结果数据输出,总的处理时间为一个帧周期。FIFO的写信号可由FPGA产生,并可在A/D转换结束后向FIFO写数据。另外,在每一帧处理之后,还应由FPGA输出控制信号以对FIFO进行初始化,然后重新输入下一帧数据。 2.2 DSP的读时序设计 DSP可以通过硬件的ARDY信号和软件设置来达到与异步外设之间进行通讯的目的。DSP工作时,硬件ARDY信号应始终有效。而如果采用软件设置方法,则设计时需要考虑以下几点: (1)SETUP≥1; (2)STROBE≥tacc+tsu)ECLK; (3)STOBE≥trp ECLK; (4)SETUP+STROBE+HOLD≥trc ECLK; 其中,SETUP、STROBE和HOLD是需要在EMIF CE0空间控制寄存器中配置的读信号的三个状态信号;tacc是FIFO的存取时间(≤25ns),tsu是数据建立时间(≥15ns),trp是读脉冲宽度(≥25ns),trc是FIFO的读周期(≥35ns)。由于本设计中DSP的内部时钟为150MHz, 外设时钟ECLK为90MHz,所以,最后设定SETUP=1、STROBE=2、HOLD=2来满足DSP与异步FIFO接口的要求。 2.3 软件设计 图3所示是该系统中DSP的软件流程图。由于TMS320C6211采用ROM加载的芯片自举模式,因此,在芯片复位过程中,EDMA将从位于外部CE1空间的EEPROM中拷贝1kB数据到地址0处,并在传输结束后,使CPU退出复位状态,同时从地址0处开始执行指令。由于主程序大小要大于1kB,所以需要编写BOOT LOAD(大小小于1kB)程序,以使其在复位后将程序从外部EEPROM拷贝到内部程序RAM中运行。在图3所示的主程序流程图中,当系统上电复位后,首先应进行DSP的初始化,接着进行EDMA的中断使能和初始化,然后由FIFO的半满信号启动EDMA传输和由其触发中断程序。当传输完一组2048个数据后,再根据重心算法求出CCD像点的位置,之后便可开始下一次循环。 3 结束语 在高速数据采集电路中,使用FIFO设计DSP芯片和A/D转换器的接口电路具有设计简单、控制方便等优点,可大大提高DSP的使用效率。
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/dsp/200703/11037.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved