下面是小编为大家整理的VHDL在高速图像采集系统中的应用设计,本文共7篇,如果喜欢可以分享给身边的朋友喔!

篇1:VHDL在高速图像采集系统中的应用设计
VHDL在高速图像采集系统中的应用设计
摘要:介绍高速图像采集系统的硬件结构及工作原理,讲述FPGA在图像采集与数据存储部分的VHDL模块设计,给出采集同步模块的VHDL源程序。关键词:图像采集FPGAVHDLPCI
现代化生产和科学研究对图像采集系统的要求日益提高。传统的图像采集卡速度慢、处理功能简单,不能很好地满足特殊要求,因此,我们构建了高速图像采集系统。它主要包括图像采集模块、图像低级处理模块以及总线接口模块等。这些模块是在FPGA中利用VHDL编程实现的。高速图像采集系统主要用于视觉检测。视觉检测中图像处理的特点是:底层图像处理数据量大,算法简单;高层图像处理算法复杂,数据量大,算法简单;高层图像处理算法复杂,数据量小。对于图像底层处理,我们在高速图像采集系统中用FPGA实现,采用VHDL编写图像处理算法;对于图像高层处理,由计算机软件实现。由于VHDL设计灵活、编程方便,易于在FPGA中实现并行运算和流水线结构;所以,高速图像采集系统的速度快、适应性好。
1系统结构及工作原理
1.1系统结构设计
高速图像采集系统结构模型如图1所示。它的输入为标准的模拟视频信号,用可编程视频输入处理器SAA7111进行视频信号处理。SAA7111内部集成了强大的图像色度、亮度处理功能以及多种输出模式;有32个工作寄存器,在系统复位时,必须通过FPGA1的IC2总线模块对其进行初始化。SAA7111输出的图像数据通过FPGA芯片进行采集与处理,采用Xilinx公司的XC2S150芯片。XC2S150是SpartanII系列产品。它基于Virtex系列的结构,支持所有相关的特性,具有很高的性能价格比;采集与处理的图像数据在传送到计算机之前,存储在高速SRAMCY7C1049V33中,SRAM的容量为512K×8bit。与计算机通常采用PCI总线,由S5933来实现。S5933是一种功能强大的PCI控制器,符合PCI2.1规范。
1.2工作原理
系统复位完成FPGA程序加载后,先由FPGA1的I2C总线模块对SAA7111初始化,初始化结束后等待采集图像的命令。初始化成功后,SAA7111实时处理模拟视频信号,输出亮度和色度信号,同时输出点时钟信号,行、场同步信号,行、场参考信号,奇偶场标志信号等。本系统使用灰度图像,没有使用色度信号,所以数据线为8位。
系统采集图像的命令由计算机发出。采集命令通过PCI总线传输到FPGA1,启动FPGA1的采集同步模块。采集同步模块发出采集标志信号,采集一帧图像,通过写数据模块产生写地址和写信号将数据存储到SRAM1中。采集结束时,采集标志信号撤消,采集同步模块复位,等待下一次采集命令。采集标志信号撤消时,FPGA1开始读取SRAM1中的图像信息,这是通过读数据模块生产读地址和读信号来实现的。FPGA1将1帧图像数据进行噪声去除后,存储到SRAM2中,并发信号给FPGA2。FPGA2通过FPGA1读取SRAM2中数据,经过边缘检测处理后存储到SRAM3中。FPGA2处理完1帧图像数据后,将SRAM3中的图像信息读出传送给S5933,然后通过PCI总线传送到计算机中。
在图像采集过程中,我们使用的是512×512的'图像,即一帧图像采集512行,奇数场和偶数场各采集256行,每一行采集512个像素。因此,需要通过行延时模块进行行选择,滤掉无效行,通过像素延时模块进行像素选择,以选择需要的像素。
2图像采集与数据存储部分的VHDL设计
系统中FPGA的设计是用VHDL编程实现的。VHDL是一种应用非常广泛的硬件描述语言,它的语言覆盖面广,描述能力强;可以描述最抽象的系统级,也可以描述最精确的逻辑级、门级。
本系统是采用结构化VHDL进行设计的,整个图像采集部分是一个VHDL语言文件,包括几个BLOCK语句。2片FPGA芯片个有不同的程序,其中FPGA1既包括图像采集部分,又包括图像处理与数据存储部分;FPGA2为图像处理与数据存储部分以及PCI接口控制部分。2片FPGA时程序加载采用串行主/从模式。FPGA1采用串行主模式,FPGA2采用串行从模式,由FPGA1从SPROM中读取配置数据,完成自身配置,并完成对FPGA2的配置。图像采集与数据传送部分的VHDL模块主要包括Set_sample.vhd、Wr.vhd、Rd.vhd、Delay.vhd、Bus_assign.vhd等,各模块之间通过信号相互联系。下面分别介绍各模块实现的功能。(限于篇幅,仅给出采集同步模块的程序。)
(1)Set_sample.vhd采集同步模块
它是图像采集部分的一个块语句,输入输出信号为:
pcicon0-IN,启动采集图像信号;
vref-IN,场参考信号;
rts0-IN,奇偶场标志信号;
sig_frame-OUT,采集同步输出信号,高电平有效,用于图像采集和总线管理模块;
sig_field-OUT,采集同步场参考信号,采集1帧图像的场参考信号。
源程序如下:
set_sample:block
signalflagct:std_logic_vector(2downto0);
begin
process(pcicon0,vref)
begin
if(pcicon0='O')then
flagct<=“01”;
elsif(vref'eventandvref='J')then
if(flagct=“001”andrts0='1')then
flagct<=“010”;
elsif(flagct=“010”)then
flagct<=“011”;
elsif(flagct=“011”)then
flagct<=“100”;
endif;
endif;
endprocess;
process(flagct)
begin
if(flagct=“010”orflagct=“011”)then
sig_frame<='1';
else
sig_frame<='0';
endif;
endprocess;
sig_field<=sig_frameandvref;
endblock;
当pcicon0引脚再现大于等于场周期(20ms)的低电平信号时,可以确保该模块处于触发状态,在下一个奇数场出现时,(rts0=1),根据SAA7111的场参考信号产生具有两场时宽的采集同步信号(sig_frame)。该信号有效时为图像采集阶段,对SRAM1写入数据;该信号撤消时采集同步模块自动复位,等待下一次采集命令,同时FPGA1开始读取SRAM1中数据进行处理。采集同步信号有效的同时输出采集同步场参考信号,用于采集图像数据。
(2)Delay.vhd延时模块
包括行延时和像素延时。当采集信号有效时,在每一场产生行延时,滤掉无效行,每一场采集256行;当采集信号有效且行延时结束时,在每一行产生像素延时,去掉不需要的像素,只采其中的512个像素。
(3)Wr.vhd写数据模块
在图像采集阶段,收到行延时结束信号和像素延时结束信号时,按照SAA7111的参考信号的输出时序,产生相应的写地址,并根据SRAM的写时序产生写信号,此时与SRAM接口的FPGA的I/O口为输出状态。在图像处理阶段向SRAM写数据时,写地址的产生不考虑行延时和像素延时。
(4)Rd.vhd读数据模块
在读SRAM时,依据SRAM的读时序,产生读地址和读信号。此时与SRAM接口的FPGA的I/O口为输入状态。
(5)Bus_assign.vhd总线管理模块
总线管理模块主要负责FPGA与SRAM的地址总线切换、数据总线切换,以及在系统中不同芯片之间建立数据通路等。FPGA中包括写数据地址模块和读数据地址模块,与SRAM地址总线接口时必须进行总线切换:写数据时,写地址线接通SRAM的地址线;读数据时,读地址线接通SRAM的地址线。FPGA与SRAM数据线的接口为双向口,在写数据时是输出口,读数据时是输入口,需要设置三态控制。在系统中其它芯片之间也有这种情况。
进行VHDL设计时,最好各模块单独进行并及时仿真验证,以便尽早发现问题。系统中其它模块在此不再叙述。
3结论
高速图像采集系统的硬件实现是用VHDL设计的。通过建立VHDl行为模型和进行VHDL行为仿真,可以及早发现设计中潜在的问题,缩短了设计周期,提高了设计的可靠性和效率。实践表明:VHDL在硬件设计上是非常有效的,它是当代电子设计工程师进行硬件设计时必须掌握的工具。
篇2:闪速存储器在图像采集系统中的应用
摘要:闪速存储器具有结构简单、控制灵活、编程可靠、擦除快捷的优点,而且集成度可以做得很高,因此获得了较广泛的应用。本文详细介绍Samsung公司生产的64M×8位闪速存储器K9F1208UOM的主特性、应用方法和接口技术;介绍采用K9F1208UOM作为图像存储介质的图像采集记录系统的组成原理和具体实现方法。
关键词:闪速存储器 K9F1208UOM 图像采集 图像存储
引言
图像的保存和恢复是一个图像采集系统所不可或缺的功能之一。保存图像信息所用的介质或设备有很多种,如常用的电影胶片、胶卷、硬盘、软盘、光盘、各种静态和动态RAM、ROM以及固态存储器件等。其中,Flash ROM以其内容掉电不消失、价格低廉、控制方法灵活、与微处理器接口方便等特点,越来越多地应用在图像采集与存储系统中,如常见的数码像机。因此,研究Flash ROM在图像采集记录系统中的应用技术有着重要的意义。
1 闪速存储器的分类和发展现状
目前常见的图像采集记录系统如数码像机、数码摄像机中,通常采用半导体存储器作为其记忆部分。半导体存储器通常可分为随机存储器(RAM)和只读存储器(ROM_。RAM的内容可以随时刷新,访问速度快,但是掉电后其存储的信息会丢失;ROM则具有掉电不丢失数据的特性。通常ROM又可分为固定ROM、PROM、EPROM和EEPROM。
图1 K9F1208UOM引脚定义
闪速存储器(Flash ROM)属于半导体存储器的一种,属于非易失性存储器NVM(Non-Volatile Memory)。它采用类似于EPROM的单管叠栅结构的存储单元揣怕,是新一代用电信号擦除的可编程ROM;它既吸收了EPROM结构简单、编程可靠的优点,又具有EPROM用随道效应擦除的快捷特性,集成度可做得很高,因而在便携式数据存储和各种图像采集记录系统中得到了广泛的应用。
全球闪速存储器的主要供应商有AMD、Atmel、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、Sharp、Toshiba。由于各自技术架构的不同,分为几大阵营,因此闪速存储也按其采用技术的不同而分为几大类:
*NOR技术――代表公司Intel,特点为擦除和写入慢、随机读快;
*NAND技术――代表公司Samsung,特点为随机读写慢、以页为单位连续读写快;
*AND技术――代表公司Hitachi,特点为低功耗,价格高。
*由EEPROM派生的闪速存储器。特点:介于NOR与EEPROM之间。
存储器的发展具有容量更大、体积更小、价格更低的趋势,这在闪速存储器行业表现得淋漓尽致。随着单导体制造工艺的展,主流闪速存储器厂家采用0.18μm,甚至0.15μm的制造工艺。
借助于先进工艺的优势,闪速存储器的容量可以变大:NOR技术将出现256Mb的器件,NAND和AND技术已经有16Gb的器件。
芯片的封装尺寸更小:从最初DIP封装,到PSOP、SSOP、TSOP封装,再到BGA封装,闪速存储器已经变得非常纤细小巧。
工作电压更低:从最初12V的编程电压,一步步下降到5V、3.3V、2.7V、1.8V单电压供电;符合国际上低功耗的潮流,更促进了便携式产品的发展。
位成本大幅度下降:采用NOR技术的Intel公司的28F128J3价格为25美元,NAND技术和AND技术的闪速存储器已经突破10MB 2美元的价位,性价比极高。
本文中讨论的是采用NAND技术的K9F1208U0M。
图2 AT90S8515和K9F1208UOM硬件接口原理
2 64M闪速存储器K9F1208UOM简介
K9F1208U0M是Samsung公司生产的采用NAND技术的大容量、高可靠Flash存储器。该器件采用三星公司的CMOS浮置门技术和与非存储结构,存储容量为64M×8位,除此之外还有2048K×8位的空闲存储区。该器件采用TSSOP48封装,工作电压2.7~3.6V。
K9F1208U0M对528字节一页的写操作所需时间典型值是200μs,而对16K字节一块的擦除操作典型民仅需2ms。每一页中的数据出速度也很快,平均每个字节只需50ns,已经与一般的SRAM相当。8位I/O端口采用地址、数据和命令复用的方法。这样既可减少引脚数,还可使接口电路简洁。片内的写控制器能自动执行写操作和擦除功能,包括必要的.脉冲产生,内部校验等,完全不用外部微控制器考虑,简化了器件的编程控制难度。
2.1 器件结构
K9F1208U0M的结构如图1所示。由以下几部分组成:
①地址译码器。它是一个二维的译码器,A0~A7为Y方向译码器,A9~A25为X方向译码器;而A8是由命令寄存器决定的,用于选择Flash ROM存储器的区号。
②存储阵列。如图1所示,由于地址A8的不同,可以把存储阵列分为第一和第二两部分;同时,它还有一个空闲区,都可通过命令进行选择。整个存储阵列又可分为4096块,每一块分为32页,一页包含528字节。这528字节包含第一部分的256字节和第二部分的256字节以及空闲区的16字节。
③命令寄存器。命令寄存器把输入的命令暂存起来,根据不同的命令和控制线执行不同的操作。
④控制逻辑和高电压产生器。控制逻辑产生各种控制信号,用于对内部的存储阵列缓存器等进行合理的控制。高电压产生器可以产生用于对存储阵列进行编程的高压。
⑤I/O缓存、全局缓存及输出驱动。用于对输入及输出进行必要的缓存,以符合时序的要求。输出驱动加强带载能力。
2.2 引脚说明
表1概要地说明了K9F1208U0M各个引脚的功能。
表1 K9F1208U 0 引脚定义
引 脚功 能
I/O0~I/O数据输入输出端,芯片未选中为高阻态CLE命令锁存使能ALE地址锁存使能CE芯片选择控制RE数据输出控制,有效时数据送到I/O总线上WE写I/O口控制,命令地址数据在上升沿锁存WP写保护R/B指示器件的状态,0为忙,1为闲。开漏输出Vcc电源端Vss地①命令锁存使能(CLE),使输入的命令发送到命令寄存器。当变为高电平时,在WE上升沿命令通过I/O口锁存到命令寄存器。
②地址锁存使能(ALE),控制地址输入到片内的地址寄存器中,地址是在WE的上升沿被锁存的。
③片选使能(CE),用于器件的选择控制。在读操作、CE变为高电平时,器件返回到备用状态;然而,当器件在写操作或擦除操作过程中保持忙状态时,CE的变高将被忽略,不会返回到备用状态。
④写使能(WE),用于控制把命令、地址和数据在它的上升沿写入到I/O端口;而在读操作时必须保持高电平。
⑤读使能(RE),控制把数据放到I/O总线上,在它的下降沿tREA时间后数据有效;同时使用内部的列地址自动加1。
⑥I/O端口,用于命令、地址和数据的输入及读操作时的数据输出。当芯片未选中时,I/O口为高阻态。
(本网网收集整理)
⑦写保护(WP),禁止写操作和擦除操作。当它有效时,内部的高压生成器将会复位。
⑧准备/忙(R/B),反映当前器件的状态。低电平时,表示写操作或擦除操作以及随机读正进行中;当它变为高电平时,表示这些操作已经完成。它采用了开漏输出结构,在芯片未选中时不会保持高阻态。
2.3 K9F1208U0M的接口控制方法
K9F1208U0M在应用时必须通过外部微控制器来控制其内容的读写,图2给出了K9F1208U0M与AT90S8515单片机接口的方法。
K9F1208U0M的数据总线与AT90S8515的数据口PA口相连,用单片机的地址高位引脚PC6作为K9F1208U0M的片选信号(CS);PC5接K9F1208U0M的命令数据选择端(CMD/DATA),而PC4接K9F1208U0M的地址锁存允许端(ALE)。因此,对K0F1208U0M的访问就相当于访问地址分别为0xaf00、0x9f00、0x8f00的三个端口,分别对应K9F1208U0M的命令端口、地址端口、数据端口。因此,对于单片机而言,对K9F1208U0M的命令、地址和数据操作可通过不同的端口进行,简化了K9F1208U0M读写控制的难度。
2.4 读写操作流程
图3所示为K9F1208U0M的写时序流程。
由图3可看出,进行写操作时先要写入命令字80H,通知K9F1208U0M要进行写操作,然后顺序写入目的地地址和待写入的数据。应该注意的是,地址只需写入一次,便可以连续写入多个字节数据。地址指针的调整是由K9F1208U0M内部逻辑控制的,不用外部干预。写入操作是以页为单位(1~528字节)进行的,即每次连续写入能超过528个字节。这是由于K9F1208U0M的工作方式决定的:写入的数据先保存至Flash内部的页寄存器(528字节)中,然后再写入存储单元。数据写完之后还要给K9F1208U0M发出1个写操作指令10H,通知其将页寄存器中的数据写入存储单元,随后就应该对状态引脚进行查询。如果该引脚为低,表明此次写操作结束。最后的步骤是数据校验,如果采用了ECC校验模式,则此步骤可以省略。
其它操作如读操作、擦除操作等过程均与此类似,可参考相关的器件说明文档。限于篇,这里不再多述。
2.5 注意事项
在以K9F1208U0M为数据存储介质的系统设计中,需要注意无效块的问题。无效块即包含一个和多个无效数据位的块。由于结构方面的原因,一块(32页)中有一个无效位也会导致整个块无效。因此,系统必须在写入数据时避开无效块。出厂时,每片K9F1208U0M的无效块信息均保存在一个无效块信息表中,可以根据该表中的原始无效块信息识别无效块的位置。在K9F1208U0M的使用过程中,应随时对无效块情况进行检查和更新,以保证无效块表内容的准确性;同时,应该禁止任何试图擦除无效块信息表的操作。
篇3:闪速存储器在图像采集系统中的应用
图4是一种采用闪速存储器为图像记录介质的数字图像采集记录系统的原理框图。
在该系统中,通过光学镜头把像成在位于焦平面处的CMOS图像传感器(OV7620)的像面上。CMOS图像传感器对其进行空闲采用并数字化以后,直接输出分辨率为512×480的8位灰度数字图像数据。由于K9F1208U0M的读写时序无法与CMOS图像传感器配合,因此,需要在两者之间加一个静态缓存。这里使用的是HM62815(512×8位SRAM)。先把图像数据保存在静态缓存中,然后通过AVR单片机的控制,把图像转存到K9F1208U0M里。至于何时需要转存,则由AVR单片机根据外部控制命令接口传来的命令;同时,还要由CMOS图像传感器输出的行场同步时序信号来决定。
图像记录保存的最终目的是要显示出来,因此还需要把保存在闪速存储器K9F1208U0M中的图像数据读出。本系统中K9F1208U0M的图像数据是通过USB接口读出的。采用了AVR系列的AT90S8515单片机作为USB接口控制器,负责对与上位机通信用的USB接口进行配置及管理,此外,其主要的工作还包括对静态缓存、K9F1208U0M等进行读写控制。在上位机中采用Visual C++语言编写相应的图像数据采集软件,就能够实现通过USB总线对K9F1208U0M中图像数据的读取、显示及保存。
该图像采集系统输出的数字图像分辨率为512×480,而K9F1208U0M是64M×8位的闪速存储器;因此,最多可以存储272张图片,并且读写速度达到300kB/s,基本能够满足一般使用的要求。
4 结论
闪速存储器是图像采集记录系统中的记忆部分,对它的希望就是读写速度快、容量大以及操作方便。通过对Samsung公司采用NAND技术的闪速存储器K9F1208U0M进行的研究表明:K9F1208U0M器件与系统的接口十分简单、操作灵活方便、器件从硬件到软件均有多种保护、数据可靠性高、使用寿命长,为大容量固态图像存储器市场提供了最具成本效益的解决方案,因而在各种数字图像采集和存储应用领域具有广阔的应用前景。
篇4:闪速存储器在图像采集系统中的应用
闪速存储器在图像采集系统中的应用
摘要:闪速存储器具有结构简单、控制灵活、编程可靠、擦除快捷的优点,而且集成度可以做得很高,因此获得了较广泛的应用。本文详细介绍Samsung公司生产的64M×8位闪速存储器K9F1208UOM的主特性、应用方法和接口技术;介绍采用K9F1208UOM作为图像存储介质的图像采集记录系统的组成原理和具体实现方法。关键词:闪速存储器 K9F1208UOM 图像采集 图像存储
引言
图像的保存和恢复是一个图像采集系统所不可或缺的功能之一。保存图像信息所用的介质或设备有很多种,如常用的电影胶片、胶卷、硬盘、软盘、光盘、各种静态和动态RAM、ROM以及固态存储器件等。其中,Flash ROM以其内容掉电不消失、价格低廉、控制方法灵活、与微处理器接口方便等特点,越来越多地应用在图像采集与存储系统中,如常见的数码像机。因此,研究Flash ROM在图像采集记录系统中的应用技术有着重要的意义。
1 闪速存储器的分类和发展现状
目前常见的图像采集记录系统如数码像机、数码摄像机中,通常采用半导体存储器作为其记忆部分。半导体存储器通常可分为随机存储器(RAM)和只读存储器(ROM_。RAM的内容可以随时刷新,访问速度快,但是掉电后其存储的信息会丢失;ROM则具有掉电不丢失数据的特性。通常ROM又可分为固定ROM、PROM、EPROM和EEPROM。
图1 K9F1208UOM引脚定义
闪速存储器(Flash ROM)属于半导体存储器的一种,属于非易失性存储器NVM(Non-Volatile Memory)。它采用类似于EPROM的单管叠栅结构的存储单元揣怕,是新一代用电信号擦除的可编程ROM;它既吸收了EPROM结构简单、编程可靠的优点,又具有EPROM用随道效应擦除的快捷特性,集成度可做得很高,因而在便携式数据存储和各种图像采集记录系统中得到了广泛的应用。
全球闪速存储器的主要供应商有AMD、Atmel、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、Sharp、Toshiba。由于各自技术架构的不同,分为几大阵营,因此闪速存储也按其采用技术的不同而分为几大类:
*NOR技术――代表公司Intel,特点为擦除和写入慢、随机读快;
*NAND技术――代表公司Samsung,特点为随机读写慢、以页为单位连续读写快;
*AND技术――代表公司Hitachi,特点为低功耗,价格高。
*由EEPROM派生的闪速存储器。特点:介于NOR与EEPROM之间。
存储器的发展具有容量更大、体积更小、价格更低的趋势,这在闪速存储器行业表现得淋漓尽致。随着单导体制造工艺的展
[1] [2] [3] [4] [5]
篇5:CPLD在多路高速同步数据采集系统中的应用
CPLD在多路高速同步数据采集系统中的应用
摘要:采用VHDL语言设计,用CPLD控制模/数转换电路,完成多路模拟输入的高速同步数/模转,具有容错和自检能力。CPLD与处理之间采用并行接口,具有很好的移植性、可靠性。关键词:VHDL CPLD 高速同步数/模转换 容错和自检 并行接口 移植性
引言
CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)是在传统的PAL、GAL基础上发展而来的,具有多种工作方式和高集成、高速、高可靠性等明显的特点,在超高速领域和实时测控方面有非常广泛的应用。与FPGA相比,CPLD比较适合计算机总线控制、地址译码、复杂状态机、定时/计数器、存储控制器等I/O密集型应用,且无须外部配置ROM、时延可预测等。目前的CPLD普遍基于E2PROM和Flash电可擦技术,可实现100次以上擦写循环。部分CPLD支持ISP编程或者配置有JTAG口,对于批量小、品种多的模板开发极为有利。而用VHDL设计的程序,借助EDA工具可以行为仿真、功能仿真和时序仿真,最后通过综合工具产生网表,下载到目标器件,从而生成硬件电路。
(本网网收集整理)
1 系统设计原理及框图
以Altera公司7000S系列CPLD产品之一EPM7128S-10为控制核心,控制模/数转换电路,最多可完成32路模拟数据的16位高速同步A/D转换。
图1为与A/D转换电路相关的系统外围电路框图。外部32路模拟输入通过调理电路后,CPLD控制多路切换器选通某一路信号送入A/D转换器(AD676)进行A/D转换,转换结果经过数据缓冲在合适的时候通过总线被读入处理器。一般的设计思路如下:①主处理器直接控制A/D转换电路,完成模拟输入信号的采集保持、A/D转换器的控制、通道的切换、数据的读取以及控制注入信号完成模拟通道的自检等。这种解决方案占用主处理器大量的I/O资源和处理时间,在高速采集与大计算量的时实系统中是不可取的:一方面因为处理器的I/O资源极其有限,同时又要求大量的汇编软件配合,不利于设计的移植;另一方面由于频繁地执行I/O操作完成相对定时关系,来实现高速数据采集,不利于系统调度软件的设计的其它软件模块的时实执行,由于此段I/O操作类似于原子操作,很难解决其它模块响应时间可能较长的矛盾。②采用其它廉价的从处理器,如MCS-51单片机来控制上述过程,使之与主处理器并行化。但此时从处理器与主处理器之间的高速数据实时交换就成为瓶颈,而且由于MCS-51单片机亦为软件化流程控制,存在跑飞的可能,两处理器的同步又成为新的问题。应用CPLD器件就可以很好地解决上述矛盾,实现配置随意可改写和高速硬件流控制等。随着ISP器件的发展,CPLD已经日益广泛地应用到高速数据采集系统中,但都是很考虑设计本身的容错、自检能力和使用的灵活性,不利于故障的定位和嵌入式应用的移植。本设计中采用CPLD作为A/D转换电路的控制器,和主处理器并行交互数据,很好地解决了上述矛盾。
为突出重点,EPM7128S、AD676、LF398等器件的简介此处不作介绍,仅列出AD676的控制时序,如图2所示。
图2
多路模拟信号的同步采样一般有两种实现方法:一种为多个A/D转换器同时进行转换;另一种为仅有一个A/D转换器,各通道同时采样,然后分时转换。考虑到16位高速A/D转换器AD676的价格因素,采用后一种方案。AD676有三个控制信号:SAMPLE、AD-CLK、CAL。它们需要一定的时序配合才能正常工作,如图2所示。由于AD676的转换结果不具备三态输出功能,所以需增加74F574和总线进行隔离,为此配置控制信号WRAD、RDAD;同时要考虑到32路模拟信号的采样保持控制S/H、多路切换器的控制信号M1A4~M1A0,以及输入模拟信号选择M0A1~M1A0、数据准备好信号INT1等共14个。CPLD和处理器采用并行接口,因此其输入信号有:系统复位信号RST、处理器的读/写信号RD/WR、片选信号IOSTROBE、外部时钟输入CLK、辅助地址信号A20~A17和A5~A0、AD676的反馈输入BUSY,共22个输入。外加双向数据总线D07~D00。设计中没有将总线隔离器74F574集成到CPLD中,主要考虑到保留适当的I/O等资源用于系统的地址译码和其它辅助功能。地址译码等辅助模块比较简单且与特定的处理器相关,故此处不作介绍。
虽然有复位默认值,但CPLD为灵活控制多路模拟量的同步A/D转换,要求处理器正确设置两个控制参数,即进行数/模转换的模拟量通道的总个数SUM和数/模转换的'初始通道号chan;然后再对CPLD写入启动A/D转换命令,这样CPLD即可脱离处理器,控制A/D转换电路。CPLD首先按照LF398的时序要求产生其所需的采样保持信号S/H完成32路模拟量的同步采样,然后按照图2所示的通常转换时序控制AD676去完成一次转换。一旦该次转换完成,使能WRAD信号,锁存转换结果到74F574,并发出数据准备好信号INT1,同时标识内部状态信号,作为中断请求通知处理器,或者供处理器查询状态。CPLD将一直等待处理器将该次转换结果取走才取消此标示信号。在CPLD等待的过程中,处理器亦可命令CPLD提前结束转换,以适应不同的应用要求。转换结果取走后,CPLD清除内部的标识信号和数据准备好信号,SUM的映像减1,若不为0,chan的映像加1,输出到M1A[4..0]去切换至下一通道,继续按照图2所示的通常转换时序工作;若为0,则该次采样转换完成,等待处理器的下一次启动信号。这样,只占用了处理器的一个中断请求资源和少数外部空间,就实现了最多至32路模拟信号的同步高速数模转换。为使设计具有一定的容错功能,在A/D转换器空闲时,处理器才可以启动A/D自校准测试,但此时CPLD应该防止处理器误启动A/D转换。当A/D转换器空闲或者A/D自校准已经结束时,处理器才可以进行A/D转换工作。同样,此时CPLD应该防止处理器误启动A/D自校准。为使CPLD能支持处理器的检错功能3,应该使CPLD以及A/D转换器的状态信息可以被处理器随时读取,以便在系统级上定位故障。同时,CPLD可以选择调理电路的模拟输入信号源,便于处理器检测调理电路。
图3
为达到以上的功能,在设计中主要设置了四大功能模块,分别为时钟分频模块、控制译码模块、总线接口模块、状态机模块,设计原理如衅3所示。时钟分频模块用于产生AD767的转换时钟。为简化设计,达到高速和简化的目的,此模块的分频系数由设计固化。控制信号译码模块用于完成处理器对CPLD片内模块的寻址和译码,为一简单译码逻辑和触发电路。总线接口模块用于完成处理器和A/D转换控制器的数据交换;同时完成AD767的自校准信号CAL的控制,如图2所示的自校准时序。需要注意一点的是,在自校准的过程中,SAMPLE信号必须保持低电平,否则出错。状态机模块用于产生A/D转换的时序,如图2所示的通常转换时序。在转换的过程中,CAL信号必须保持低电平,否则出错;状态机模块同时完成对多路切换器的控制。图2所示的各信号的相对定时关系此处不作说明,请查阅AD676的数据手册。
为达到图2所示SAMPLE、CAL时序的相互闭锁关系,从状态机模块引出其内部状态信号到总线接口模块,一方面,状态机的状态可以随时被处理器感知;另一方面用于闭锁CAL信号,即闭锁自校准。详细地说,就是在A/D转换期间,在图2所示的通常转换时序中,从SAMPLE变高到BUSY信号再次变低以前,即使处理器再次写入了启动自校准命令,CPLD亦闭锁CAL信号的产生。为便于安全启动CAL信号,在本次转换完成或全部转换完成时,满足一定的相对时序即可启动。同理,将总线接口模块内控制CAL信号的状态机的状态引入状态机模块,用于在自校准期间,闭锁SAMPLE信号的产生,即闭锁处理器启动A/D转换的命令。这样,A/D转换控制器就具有很好的容错能力。无论何时,处理器都可以通过读取SAMPLE、CAL、BUSY、中断请求、状态机的状态,来监测CPLD、AD676等的工作和判断损坏与否。通过处理器的配合就使CPLD支持系统的在线自检,解决了以往类似设计中存在错误而处理器又无法进行故障定位的问题。
图4
2 系统仿真和验证
以上设计用VHDL语言描述完成后,首先在ACTIVE-HDL5.1环境下进行编译、综合、适配后再时序仿真;但这只是纯逻辑验证,此时时序仿真图中没有包含任何硬件延迟信息。结果正确后,在MAX+PLUSII 10.0环境下进行编译、综合、适配后,再进行时序仿真验证。由于考虑了硬件因素,选择MAX7000S系列的EPM7128STC100-10器件后,该器件的摆率位Turbo bit必须选中,否则在高速时钟输入时,MAXPLUS的仿真结果不正确。图4即为在MAXPLUS下的时序仿真结果,模拟40 MHz的CPLD时钟输入和主处理器50ns的外部存储器访问周期,可以达到AD676的最快转换速度。实际电路也验证了这一点。
考虑到CPLD也完成系统的一部分译码功能,此时,MAXPLUS所产生的报告文件表明资源利用情况,如表1所列。在文章的最后详细给出了状态机模块的时序电路的VHDL设计程序。
表1
逻辑阵列块逻辑单元I/O引脚共享扩展项外部互连A:LC1-LC168/16(50%)10/10(100%)8/16(50%)27/36(75%)B:LC17-LC3216/16(100%)10/10(100%)15/16(93%)23/36(63%)C:LC33-LC4816/16(100%)8/10(80%)14/16(87%)21/36(58%)D:LC49-LC6415/16(93%)7/10(70%)6/16(37%)29/36(80%)E:LC65-LC8016/16(100%)0/10(0%)0/16(0%)23/36(63%)F:LC81-LC916/16(100%)10/10(100%)16/16(100%)31/36(86%)G:LC97-LC11215/16(93%)9/10(90%)5/16(31%)28/36(77%)H:LC113-LC12816/16(100%)8/10(80%)6/16(37%)29/36(80%)使用的专用输入引脚1/14(25%)使用的I/O引脚62/80(77%)使用的逻辑单元118/128(92%)使用的共计扩展项52/128(0%)……最后,通过EPM7128STC100-10(40MHz)的JTAG口,在MAX+PLUSII 10.0环境下,下载到器件中,在TMS320C32(40MHz)和MC68332(16.78MHz)两种CPU构成的数据采集系统中得到了验证。由于A/D转换控制器与处理器采用并行接口,极大地减轻了CPU的负荷,解决了CPU的I/O资源严重不足的矛盾,提高了硬件电路的集成性、可靠性及保密性,可以很方便地移植到多种处理器,具有一定的实用性。
状态机模块的时序电路VHDL设计程序见网站(收集整理)。
篇6:DMA结合McBSP在数据采集系统中的应用设计
DMA结合McBSP在数据采集系统中的应用设计
摘 要:本文介绍了TMS320VC5402 DSP的存储器直接存储控制DMA的特点,给出了一种适用的DMA结合多通道缓冲串行口McBSP组成的数据采集系统的设计方案,该设计具有设计灵活、硬件简单、CPU执行效率高的特点。关键词:DSP;DMA;McBSP
1.引 言
通用数字信号处理器(DSP)以其强大的数据处理能力在高速数字信号处理方面得到广泛的应用。美国TI公司是DSP领域影响最大的公司之一,TMS320VC5402(以下简称C5402)是该公司TMS320C54x系列DSP的代表产品,它以其极高的性价比而成为目前应用最为广泛的DSP芯片之一。
在以C5402 DSP为核心组成的数据采集系统中,用户一般需要在采集完一段数据后对其进行处理。采用查询方式采集数据会占用大量CPU的资源,采用中断方式来采集数据虽可以提高CPU的利用率,但是在采集数据的每个时刻还是由CPU来完成,同时降低了程序的可读性。本文设计的数据采集系统利用C5402的存储器直接存储控制DMA与多通道缓冲串行口McBSP结合来设计系统,使得CPU正常工作与DMA数据采集并行进行,提高了DSP的运行效率。
2. C5402 DMA的特点
C5402存储器直接存储控制DMA能在不占用CPU资源的情况下,实现DSP存储器间数据的自由传送。C5402有6个可独立编程的DMA通道,每个DMA通道受各自的5个16位寄存器控制:源地址寄存器DMSRC、目的地址寄存器DMDST、单元计数寄存器DMCTR、同步事件和帧计数寄存器DMSFC、发送模式控制寄存器DMMCR。
1. 源地址寄存器DMSRC规定DMA要传送源数据的首地址。这些地址可以指向DSP内部存储器、外部存储器、片内外设和一些特殊的外部装置。
2. 目的地址寄存器DMDST规定DMA要传送数据目的地址的首地址。这些目的地址可以是DSP内部存储器、外部存储器、片内外设和一些特殊的外部装置。
3. 单元计数寄存器DMCTR规定DMA传送数据的个数为DMCTR寄存器的值加1个。
4. 同步事件和帧计数寄存器DMSFC规定DMA传送数据的同步事件类型和传送一块数据所含帧信号的个数:
DBLW位设置DMA工作在单字模式(=0b)或双字模式(=1b)。工作在单字模式时每个数据单元设置为16位,双字模式时每个数据单元设置为32位。
Frame Count位设置每块数据所含帧信号的个数。
DSYN位设置选择如下方式作为DMA同步事件:
0000b:无同步事件。
0001b:McBSP0接收事件(REVT0)。
0010b:McBSP0发送事件(XEVT0)。
0101b:McBSP1接收事件(REVT1)。
0110b:McBSP1发送事件(XEVT1)。
1101b:定时器0中断事件。
1110b:外部中断3(INT3)中断事件。
1111b:定时器1中断事件。
其它:保留。
5.传输模式控制寄存器DMMCR规定了DMA通道的传输模式:
AUTOINIT位是DMA自动初始化设置位,可设置成自动初始化使能(=1b)和自动初始化不使能(=0b)。当DMA工作在自动初始化模式时,CPU在一个DMA事件完成后自动装载下一个DMA初始化设置并继续进行数据传送。
DINM位和IMOD位设置DMA中断产生方式。DINM=0时DMA中断被屏蔽,当DINM=1时中断按IMOD位设置产生。
CTMOD位设置发送计数模式控制,DMA可工作在多帧模式(=0b)和自动缓冲ABU模式(=1b)。
SIND位和DIND位用来设置源地址和目的地址的自动调整方式,可选择如下方式:不调整(=000b)、访问后自动加1(=001b)、访问后自动减1(=010b)、访问后按照单元地址索引寄存器DMIDX0的设置进行调整(=011b)、访问后按照单元地址索引寄存器DMIDX1的设置进行调整(=100b)、访问后按照单元地址索引寄存器DMIDX0和帧地址索引寄存器DMFRI0的设置进行调整(=101b)、访问后按照单元地址索引寄存器DMIDX1和帧地址索引寄存器DMFRI1的设置进行调整(=110b)、保留(=111b)。
DMS位和DMD位用来选择源数据和目的数据所存的.空间,可选择成程序空间(=00b)、数据空间(=01b)、I/O空间(=10b)或保留(11b)。
此外,DMA的6个通道还受通道优先级和使能控制寄存器DMPREC控制。在这个寄存器中相应的DPRC位置1选择相应的通道为高优先级,相应的DE位置1选通相应的通道为使能通道并开始工作。
3. 接口设计
在这个系统中,使用的A/D数据转换芯片是语音信号编码解码芯片TLC320AD50。它是TI公司生产的一个16位、音频范围、内含抗混叠滤波器和重构滤波器的串行模拟接口芯片
。它完成语音信号的数字化采样,并将转换完的数据传给DSP进行后续处理。
C5402提供两个高速、全双工、多通道缓冲串行口McBSP。它依靠三个信号实现发送数据和接收数据:数据线D(R/X)、帧同步线FS(R/X)和移位时钟线CLK(R/X)。DX和DR引脚完成与外部设备进行通信时数据的发送和接收,由CLKX、CLKR、FSX、FSR实现时钟和帧同步的控制。发送数据时,CPU将要发送的数据写到发送数据寄存器DXR,在FSX和CLKX作用下,由DX引脚输出。接收数据时,来自DR引脚的数据在FSR和CLKR作用下,从数据寄存器DRR中读出数据。CLKX、CLKR、FSX、FSR既可以由内部采样率发生器产生,也可以由外部设备驱动。
设置DMA1通道与McBSP1通道结合来读取TLC320AD50转换完的数据。选择McBSP1通道的接收寄存器DRR11(41h)为DMA传送数据的首地址,并选择源地址工作在访问后不调整方式,选择DMA通道同步事件McBSP1接收事件为DMA同步事件,来实现DMA和McBSP的结合。TLC320AD50转换完的数据按McBSP1的设置被送到C5402内部接收寄存器DRR11中,再由DMA将DRR11中的数读到指定数据存储区来完成数据采集。DMA在传送外部来的数据时不会影响CPU的正常运行,当DMA采集完一组规定个数的数据后产生一个DMA中断事件中断CPU,来通知CPU对其进行相应的处理,此时DMA可以按照设定继续采集下一组数据,实现了数据采集与CPU处理的并行操作。图1为系统硬件接口设计。
4. 软件设计
本系统软件由C5402初始化程序、McBSP1初始化程序、TLC320AD50初始化程序、DMA1通道初始化程序和数据处理程序构成。图2为本系统软件流程图。
C5402初始化程序完成DSP堆栈、CPU时钟和运行状态的设置。
McBSP1初始化程序设置McBSP1的工作状态:运行在时钟自由运行状态下,接收/发送帧同步信号和移位时钟信号都由外界驱动,每帧一字,每字16位,接收数据和发送数据都无延时。
TLC320AD50初始化程序完成TLC320AD50相关寄存器的设置:选择INP/INM为模拟信号输入端,15+1位ADC和15+1位DAC模式,工作在主机模式,不带从机,采样频率为10.67KHz,模拟信号输入和输出放大增益均为0dB。
DMA1通道初始化程序初始化DMA1,具体程序如下:
……
stm #0005h, 55h ;选择DMA1通道
stm #0041h, 56h ;设置McBSP1接收端为DMA事件的源地址
stm #0200h, 56h ;设置DMA事件的目的地址
stm #0100h-1,56h ;设置直接传送数据个数为0100h个
stm #5000h, 56h ;设置McBSP1接收同步模式,一帧接收一个字
stm #404dh, 56h ;设置DMA工作在多帧模式,源地址不调整,目的地址按单元地址索引寄存器DMIDX0的值为步长进行调整
stm #20h, 55h
stm #0001h, 57h ;设置单元地址索引寄存器DMIDX0的值为1
stm #0282h, 54h ;设置DMA1通道为高优先级并使能DMA1通道
……
5. 结束语
本文提出的DMA结合多通道缓冲串行口McBSP组成数据采集系统的实现方法,大大减少CPU的工作量,简化软件设计,有效地利用DSP的硬件资源,提高信号采集系统的执行效率,已经在本校信号处理实验室的DSP系统中得到很好的应用。
篇7:24位A/D转换器CS5381及其在高速高精度数据采集系统中的应用
24位A/D转换器CS5381及其在高速高精度数据采集系统中的应用
摘要:CS5381中Cirrus Logic公司生产的120dB、192kHz高性能立体声24位∑-△ A/D变换器,文中介绍了CS5381的性能特点及其在高速高精度采集系统中的应用,给出了由两片AD5381和ASP、FP-GA及FIFO存储器构成的四通道并行数据采集系统的设计方法和测试结果,该系统在混场源电磁法接收机中已经得到了很好的应用。关键词:CS5381;DSP;FPGA;并行数据采集系统
1 引言
在弱信号检测仪器开发过程中,选用高精度的A/D转换芯片往往可以给设计带来方便。一般情况下,在对宽频带弱信号进行检测时,(本网网收集整理)不仅要求ADC具有大动态范围,同时对ADC的采样速率也提出了更高的要求。CS5381是目前市场上动态范围和采样速率两项指标都很突出的一款24位ADC,它的推出为设计高速高精度采集系统提供了一个较好的解决方案。
2 CS5381的主要性能特点
CS5381是Cirrus Logic公司推出的120dB、192kHz高性能立体声模数转换芯片。该芯片采用24引脚TSSOP或SOIC封装,其引脚排列如图1所示。该芯片采用5V工作电源。它的内部集成了一个可直接与5~2.5V逻辑电平接口的电平转换器、一个可消除直流偏移量的高通滤波器、一个线性相位数字抗混叠滤波器和溢流监测器。CS5381所具有的这些特性使其在高品质音频处理和精密测控等领域都得到了很好的应用。
CS5381的主要性能特点如下:
●具有24位转换精度;
●采样速率可以达到192kHz;
●具有120dB动态范围;
●可工作于5V模拟电压和3~5V逻辑电压;
●兼容2.5~5V逻辑电平;
●带有线性相位抗混叠滤波器;
●采用差动模拟信号输入方式;
●具有主、从两种工作模式;
●内置数字高通滤波器。
图2
CS5381使用起来非常方便,可工作在主、从两种模式下。模式选择可通过管脚2(M/ S)来进行。当M/ S引脚为高电平时,CS5381工作在主模式(Master Mode),此时LRCK(其频率等于采样速率)和SCLK是输出管脚;而当M/ S为低电平时,CS5381工作在从模式(Slave Mode),该模式下,LRCK和SCLK变成输入管脚。如需改变CS5381的采样率,只需控制芯片的MDIV、M0和M1这三个管脚的逻辑电平即可。表1所列是主时钟为24.576MHz时,不同控制方式时采样速率的对照表。
表1 CS5381采样率控制对照表
MDIVM1M0采样速率(Hz)10048K10196K110192K0/111Reserved010384K通常24位ADC都会产生一个微小的直流偏移,在CS5381内部有一个数字高通滤波器,可以通过给管脚HPF提供一个低电平使该滤波器有效,这样,芯片可以消除直流偏移。另外芯片还带有溢流监测器,当模拟信号的输入电压幅度过大而致使ADC转换溢出时,相对应的管脚LFV变低,因此,在该管脚与电源之间接一个发光二极管,就可以直观地显示出模拟输入是否溢出,从而根据需要调整前端放大电路的增益。
CS5381的模拟信号为差动输入方式,因此,它的前端要有一个简单的模拟调理电路。CS5381的转换结果是24位补码形式的串行数据,且左右通道交替输出,可用LRCK的高低电平进行区分。输出数据有两种格式:左对齐和I2S。图2是CS5381的两种数据传输时序。
3 四通道并行采集系统的设计
图3所示是一个四通道并行采集系统的整体框图,该系统主要由TMS320VC33(以下简称VC33)、两片CS5381、一片FPGA(EPF10K10)和一个大容量FI-FO存储器构成。采集系统与主机的通讯采用USB接口。系统中的一片CS5381工作于主模式,另外一片则工作在从模式下,这样可以保证两片ADC工作时严格同步。
在基于CS5381的采集系统中,如何实现CS5381与TMS320VC33的接口是一个关键问题。具体的设计方案有两种:其一,由于CS5381采用同步串行数据输出方式,而TMS320VC33具有多通道缓冲串口(McBSP),因此,可以较为容易地实现二者的硬件连接。其二是通过CPLD/FPGA设计串并转换电路,并把CS5381输出的.串行数据转换为并行数据,然后由TMS320VC33通过扩展IO对数据进行读取。这两种方案相比,第一种方案比较简单,但系统要设计四个独立的同步采集通道,并要使用两片CS5381,而TMS320VC33只有一个McBSP,所以此方案无法采用。第二种方案实现起来相对比较麻烦,硬件成本也较大。它通过把每片CS5381的串行数据转换成8位并行数据并经FIFO缓存,然后由TMS320VC33通过中断和DMA方式对四个通道的转换数据进行读取。
串并转换电路设计是CS5381和TMS320VC33接口电路的核心部分,它负责将CS5381输出的串行数据转换为并行数据并存储在FIFO中,同时产生相应的FIFO写信号。具体设计时,应当考虑以下三个问题:
(1) 对于CS5381在左右通道的数据,除了24位转换结果数据外,还应输出一个8位的附加信息,因此,输出一道数据时,总共有32个时钟输出,而最后8位数据是无用的,这样,就需要有一个禁止逻辑来防止8位附加数据也写入到FIFO中。
(2) 由于串行输出时钟SCLK在CS5381工作期间是一直存在的,因此,在启动和结束串并转换时,应该有一个控制逻辑来使串并转换电路只有在LR-CK的上升沿(或者下降沿)触发下才能进行数据转换,以保证左右通道数据顺序的确定性。
(3) 转换电路要有使能控制,以便控制信号的采集时间。
4 测试结果
该采集系统利用标准信号源进行正弦信号采集测试,下面是对两种频率的正弦信号进行测试的结果分析。其中第一种测试结果如图4所示。对于10kHz的正弦信号,CS5381的主时钟MCLK为24.576MHz、它具有64倍的过采样率(采样速率fs=MCLK/64=192kHz),采样时间T为1ms。由采样结果和功率谱可以看出:系统中的CS5381采样数据在频率域的动态范围在120dB以上。
图5
把系统采样速率fs设置为384kHz时,对75kHz正弦信号的采样结果及功率谱估计如图5所示,由采样结果可以看出:CS5381可以在384kHz的采样速率下对更高频率的信号进行采样,但从功率谱可以看出,此时动态范围及信噪比都在80dB左右,可见采样精度有较大幅度的降低。若要完成更高频率信号的采样,在对采样精度要求不是特别高时,可以考虑采用这种方式。
由此可以看出,由CS5381构成的这种采集系统具有分辨率高、动态范围大等特点,在混场源电磁法接收机中得到了很好的应用,可以对带宽为DC~75kHz、动态范围为120dB的电磁信号进行高精度数据采集。
文档为doc格式