tag 标签: fifo

相关帖子
相关博文
  • 热度 2
    2016-4-22 16:11
    481 次阅读|
    0 个评论
       FIFO一般指的是对数据的存储具有先进先出特性的一个存储器,常被用于数据的缓存或者高速异步数据的交互   下图为分别为单时钟FIFO和双时钟FIFO的结构图:     单时钟FIFO:         单时钟FIFO常用于片内数据交互 双时钟FIFO: 双时钟FIFO的一个典型应用就是异步数据的收发。 因为直接调用的fifo核,所以直接对其仿真就能查看波形 仿真文件: `timescale 1ns/1ps `define clk_period 20 module FIFO_tb; //source define reg data; reg rdclk; reg rdreq; reg wrclk; reg wrreq; //probe define wire q; wire rdempty; wire rdfull; wire wrempty; wire wrfull; //instant user module fifo fifo( .data(data), .rdclk(rdclk), .rdreq(rdreq), .wrclk(wrclk), .wrreq(wrreq), .q(q), .rdempty(rdempty), .rdfull(rdfull), .wrempty(wrempty), .wrfull(wrfull) ); //generater clock initial wrclk = 1; always #(`clk_period/2)wrclk = ~wrclk; initial rdclk = 1; always #(`clk_period)rdclk = ~rdclk; integer i; initial begin wrreq = 0; data = 0; rdreq = 0; #(`clk_period*20 + 1); //写入 for (i=0;i = 511 ;i = i + 1)begin wrreq = 1; data = i; #`clk_period; end wrreq = 0; #(`clk_period*20); //读取 for (i=0;i = 511 ;i = i + 1)begin rdreq = 1; #`clk_period; end rdreq = 0; $stop; end endmodule 仿真效果: 更多方便的fifo使用后续别的主题的笔记会有记录 谢谢
  • 热度 2
    2016-4-18 10:17
    368 次阅读|
    0 个评论
    Lesson 14 2016.4.16 内容: rx+fifo+compute+tx 要点: 1 第一行 0-85 给fifo0 2 第二行 0-85 给fifo1 3 第三行 0-85 与fifo0 、fifo1 做计算,同时传给fifo1; 4 第四行如上,且 fifo1 输入满85以后,再读取新的数字,同时将值给fifo0; 5 fifo,同时读写,无需地址,在请求来的下一个时钟有效。 易错点: 1 wrreq_0 的控制条件 2 num_cnt第一次计数清零的条件 3 模块的输入输出划分; 注意: 波形图和信号关系仍然需要整理
  • 热度 2
    2015-10-5 16:05
    468 次阅读|
    0 个评论
    距离上次的博客已经有段时间了,这写些日子一直在调SDRAM的模块以及文档的书写,SDRAM的子模块比较多,包括init(初始化模块)、refresh(刷新模块)、write(写模块)、read(读模块),使用起来相比之前的USB控制模块、今天的GEN_FRAME(以下均表示为成帧模块)都稍显复杂一些。好了,接下来介绍我们今天的主角:成帧模块。成帧模块的作用有两个: 1.完成时钟域的转换 :将缓存到sdram中的数据读出发送给USB,sdram芯片可以达到的时钟频率范围大致为24MHZ-256MHZ,该时钟由FPGA给出,具体的时钟还要看FPGA稳定工作可以达到的时钟。另一方面,USB控制器的时钟有USB芯片给出,为48MHZ。数据在不同时钟域间的传输就要用到时钟域的转换。 2.给数据加下帧头: 发送数据之前,首先给数据加上一行帧头,表明我的一行数据开始发送,该帧头包含了图像的列信息,然后将加了帧头的数据发送给USB控制模块,由它通过USB芯片发给上位机。   (一)跨时钟域的转换 下面我们来谈谈今天主角中的主角: 跨时钟域的转换 1,不做时钟域的转换有什么危害?2.单bit的信号与多bit的信号的处理方式有何不同? 带着这两个疑问我们来看。我们在做项目的时候不免会遇到两个模块的时钟不同的情况,A用的时钟是48MHZ,B用到的时钟是133MHZ( 这里的48跟133只是说明时钟不同 )。 以 单bit的信号 为例,都以上升沿采样: A.现在有一个由133MHZ产生的脉冲信号(一个时钟周期)flag,通过接口传给A(48MHZ),A要检测到它,可是现象是,你133MHZ太快了(太短),A的上升沿根本采不到它(也有概率可以采得到)。 B.反过来呢?A(48MHZ)的信号传给B(133MHZ),由于A的时钟频率比B慢,根本不会存在B采不到A信号的情况,但是还会有问题(就是不能让你好好传),亚稳态。 解释一下亚稳态: a.概念:指触发器无法在某个规定时间段内达到一个可确认的状态。(是不是还是有点不懂,没事看下面)。 b.什么情况会导致亚稳态:在同步系统中,建立时间、保持时间不满足就可能会产生,此时的输出端(Q端)在有效的时钟沿之后比较长时间处于不确定状态,毛刺、振荡或者是一个固定的某一电压(却不是D端的电压),这段时间成为决断时间,之后稳定在0、1上,但是这是随机的,跟输入没有必然的关系。 说了这么多,什么意思?就是每个频率的时钟都有自己的一个规则(建立时间、保持时间),我的地盘听我的,到了我的地盘就要按我的规矩办事,你不按我的规则来可以,后果就是,我随便给你输出一个值,这个值是什么,看心情,用了这个数据出不出问题就不是我的事了。 c.如何解决:1.减低时钟频率。2.将寄存器打两拍再使用。 跨时钟域的处理        A比较惨,A的情况包含了B,即包含采不到的情况,又存在亚稳态的问题,下面给出A的处理过程。有没有发现今天的图非常少,先上图。   将数据打三拍,一共四个寄存器,通过一个or门,时钟域转换为48MHZ,再延时两拍得到稳定的标志位。通过or门产生的信号会有毛刺,打两拍还可以起到去毛刺的作用。                另外,多bit同频率,异相位的时钟域切换,使用双口ram进行同步(同频异相),不同频不同相时钟转换使用异步FIFO做同步。成帧模块用到了异步FIFO做处理。 (二)GEN_FRAME模块描述 1模块框图            1. SDRAM存储一帧数据后使能read_start信号,GEN_FRAME将帧头发给USB W_FIFO,同时SDRAM向GEN_FRAME的内部FIFO写入一行数据。 2. SDRAM写完一行数据后等待写下一行的命令(read_req),GEN_FRAME继续向USB W_FIFO写入数据(w_flag有效),直到写完一行后等待。当PC将W_FIFO中数据读完,即flag_C==0时,read_req有效。 3. 当read_req有效时,下一行开始传输,GEN_FRAME中的FIFO同时进行读写(SDRAM向GEN_FRAME中的FIFO中写,同时将GEN_FRAME中的数据读出到USB W_FIFO)。 4. 直到读完一帧图像后(即行计数row_cnt计满),read_req无效,w_flag无效,停止读写。 2接口定义   3关键信号时序      A) 读 GEN_frame 数据到 USB W_FIFO ①  Sdram 存完一帧数据后发送 read_start 信号,经夸时钟域处理后得到 read_start_48 ,在此信号后检测到 flag_C 为 0 (即 W_FIFO 为空),因此要将 read_start_48 做延展,得到 read_start_buf ,取它的下降沿为读一帧数据开始。 ②  检测到 read_start_buf 的下降沿后将 w_usb_flag_reg 拉高,同时 w_usb_cnt 开始计数,由于数据给出客观上延时一拍才能读到,所以讲使能信号延时一拍发出,即 w_usb_flag 。该信号为传入下一级的使能信号。 ③  一行数据读出后,继续检测 flag_C=0 时, F_read_req( 向 GEN FIFO 发送读请求 ) , r_fifo_en 与 w_usb_flag 一致,同时读出 fifo 中的数据 r_fifo_data 。 注意:根据同步 fifo 的经验,这里的 r_fifo_en 本应该提前数据一拍给出,但上面写到同时读出 fifo 数据。没错,根据代码发现,异步 fifo 的读使能 r_fifo_en 与读数据 r_fifo_data 居然是同一时刻给出来!!!!! ④  每读完一行数据我们的行计数 gen_cnt_row 要加一。这里的行计数是由 w_usb_flag_reg 的下降沿来触发目的是保证不要丢数据。 ⑤  最终 GEN_FRAME 输出数据 w_data 根据行号来选择, gen_cnt_row=0 选择 zhen_data ,否则选择 fifo_data 。 注意:这里面的 gen_cnt_row 要记到 row_cnt+1 (帧头)。 B)sdram 向 GEN_FRAME FIFO 中写数据 ①   利用 sdram 时钟检测 flag_C 的下降沿,产生 read_req ,并输出到 sdram 控制模块中。 ②  检测到 read_req 为高时, sdram 将数据传入 GEN 模块, cnt_data 开始计数,计数器由 SD_data_v 使能信号控制(读 sdram 被刷新打断,数据会被打断),计数到 499 停止。 ③  写入 fifo 的数据为 512 个 16bit 的数据,数据只有 500 个,所以要补 12 个 16bit 的数据零, cnt_12 从 cnt_data==499 时开始计数,计到 11 为止。 将 SD_data_v 与 cnt_12_flag 作或操作,时序赋值给 w_fifo_en 。数据时序赋值给 w_fifo_data 。分别为写入 fifo 的使能信号与数据信号。 
  • 热度 1
    2015-9-29 15:59
    394 次阅读|
    0 个评论
    一 .USB2.0简介 USB2.0协议时一种高速串行的通信协议,它是半双工的,最高传输速率可达480MHZ/s,并且支持热插拔等特点,目前被广泛使用。 二.项目描述 既然是图像采集,就要有采集图像的设备,它将采集到的数据发送给FPGA,通过LVDS_BUFF模块将串行数据转换成并行数据,并完成时钟域的转换;然后通过SDRAM_CTRL控制模块将数据缓存到SDRAM中;再通过GEN_F(成帧模块)为数据加上帧结构,以及时钟域的切换;最后通过USB_CTRL模块将数据传送给USB芯片,等待上位机来将数据读走。 该项目一共有四个字模块,各个模块之间的关系可见下图,今天首先介绍USB2.0模块,我们使用的USB芯片型号为CY7C68013A。 项目整体架构图  三.USB子模块介绍 如下图, FPGA 与PC之间通过USB芯片完成数据的传输,USB芯片为两FIFO机制,分别为读、写FIFO。写数据时,FPGA将数据写入到W_FIFO中,FPGA发送一个PKG_END(结束信号),通知PC来取数据。读数据时,PC机先将数据写入R_FIFO,在一定条件下,FPGA通过USB控制模块将数据取出。       从开发板手册上可以看到这样几个管脚(管脚名字已改为笔者自己定义的名字)usb_clk,addr,w_en,usb_data,oe,r_en,flag_b,flag_c。我们来分别看看这些管脚的含义。 usb_clk:usb时钟 addr:选择哪一个FIFO。这个很好理解,既然有两块FIFO,那么我当前使用的是哪一块,就要通过这么一个地址来说明。 w_en:写使能,低有效。w_en有效数据才可写入W_FIFO。 oe:读数据时使用,数据导通到管脚。 r_en:读使能,低有效。在oe有效的前提下,r_en有效,才可从R_FIFO中读出数据。 flag_c:空标志。 flag_b:满标志。 usb_data:数据线,FPGA与USB的数据线只有这么一条,它要完成读写操作,因此它的接口类型为IO(输入输出),是一个三态结构。    1.三态门结构图解说明 注:斜线代表该信号位宽大于1。   三态门结构在IOB中,IOB通过连接PAD(芯片上的IOB与pin连接的接口)与pin连接,将数据输入输出。当en使能时,W_data通过usb_data输出到USB W_FIFO中;当en无效时,R_data通过usb_data将数据读入到R_data中。     2.接口说明 1)写接口       2)读接口   3.关键信号时序 1)写时序 FPGA写数据时: 1. 首先addr选中W_FIFO,延时一个时钟(等待读写FIFO的切换)。 2. 检测FIFO为空(flag_C)将W_en有效,同时开始向FIFO中写入数据W_data,记过两个时钟,flag_C拉高。 3. 写满FIFO后,W_en无效,通知PC来读数据。 4. Pkg_end 为结束标志,随时可以拉底信号,结束写操作,通知 PC 机来读,这里没有使用该信号。只有写满 FIFO ,上位机才来取数据。 2)读时序   FPGA读数据时: 1. 首先addr选中R_FIFO,延时一个时钟(等待读写FIFO的切换)。 2. 检测FIFO为满(flag_b)同时将O_en、R_en有效(或者O_en先有效、R_en再有效),开始从FIFO中读出数据R_data,记过两个时钟,flag_b拉高。 3.读空 FIFO后, O_en、R _en无效。   注:该项目中只使用了写操作,读操作没有使用,但还是把读时序给出,便于大家理解。USB控制模块是这四个模块中最简单的一个模块,后续还会把其它模块按照笔者自己的理解给出,希望对大家有益。   
  • 热度 1
    2014-5-2 16:01
    533 次阅读|
    0 个评论
    All engineers must have had the unfortunate experience of verifying a part's availability with a vendor, only to have the part ultimately wind up either not getting produced or unexpectedly canceled.   Enter an engineer I once worked with who had a serious knack for choosing seemingly phantom components that never made it to the final design. In fact, he had such an extensive track record for doing this that we called him “Mr. VVI” behind his back: for Vanished Vendor Item.   Mr. VVI gave every other engineer in the department grief for being “a dinosaur.” In his mind, the fact that we all used components that were tried and true meant that we were highly unimaginative engineers who always played it safe. As far we he was concerned, we might as well have been living in the La Brea tar pit.   We stood by, quietly gleeful as he racked up thousands of dollars in redesigns to compensate for his vanished vendor items in project after project.   There was a lot of competition in the late 1980s among AMD, IDT, Cypress, and other semiconductor companies to develop the fastest FIFO. Naturally, Mr. VVI just had to use the fastest one advertised, which, as I recall was 25 nanoseconds read time. The rest of us got by with a relatively sluggish 50 ns.   Since Mr. VVI had received actual sample devices, he decided to put sockets on his board (he would need them!). He had his circuit card populated and proceeded with testing.   Although all of the control signals seemed correct, he was not able to get any output from the FIFO. There wasn't much sympathy among the ranks, I can tell you that.   After a couple of weeks, he took the chip over to the reliability lab. They popped the cover off the chip and discovered that there was no die inside!   In the two months since he had received the samples and subsequently discovered the empty chips, the manufacturer was able to get the chips to work in functional units. So Mr. VVI got a “mulligan.”   Dwight Bues graduated from Georgia Tech with a BSEE in computer engineering. He has worked in power generation, communications, RF, command/control, and test systems for 30+ years. He is a Certified Scrum Master and teaches courses in architecture, requirements, and IVVT.
相关资源
  • 所需E币: 0
    时间: 2020-8-24 18:01
    大小: 748.78KB
    上传者: samewell
    异步FIFO结构.pdf
  • 所需E币: 4
    时间: 2019-12-25 21:41
    大小: 63.21KB
    上传者: 2iot
    大多数DSP系统都必须通过前向和后向通道和实际系统相连.本文详细介绍了具有代表性的振动控制系统中DSP后向通道的设计包括FIFO接口、双DAC级联以及数字滤波技术的采用,并简要的介绍了控制系统的结构和部分芯片特点.……
  • 所需E币: 3
    时间: 2019-12-25 21:35
    大小: 136.2KB
    上传者: 16245458_qq.com
    TheAIX20modulecombineschanneldensityandspeedwithfourchannelsof20MHzanalogconversion.TheAIX20isbasicallyidenticaltotheAIXmoduleexcepttheA/Disconnectedinthe1Xdecimationmode,resultingina12-bit,20MHzconverterwithnodigitalfilter.Eachchannelhasasingle-polefilterandgain/offseterrorcorrectionforaccuratemeasurements.……
  • 所需E币: 5
    时间: 2019-12-25 21:35
    大小: 130.84KB
    上传者: quw431979_163.com
    TheAIXmoduledeliversfourchannelsof2.5MHz,16bitA/Dconversion,makingitidealforhigh-speedprecisiondataacquisitionandtransientcapture.TheAIXusestherevolutionaryAD9260fromAnalogDevices,deliveringhFIFOighperformance16-bitprecisionatanaffordableprice.TheA/Dusesauniquepipelinedarchitecturethatsamplestheinputatupto20MHzanddigitallyfilterstheoutputforaccurateresults.TheA/Ddelivers2.5MHzdatafroma48-samplefilterpipeline,resultinginlowerdatalatencythanstandardsigma-deltaconverterswhilestillprovidingdigitalanti-aliasfiltering.……
  • 所需E币: 3
    时间: 2019-12-25 21:35
    大小: 118.2KB
    上传者: wsu_w_hotmail.com
    TheAD40modulefeaturestwo,independent,very-high-speedanaloginputchannelsmakingitidealforhigh-speeddataacquisitionandtransientcapturesystems.……
  • 所需E币: 3
    时间: 2019-12-25 21:20
    大小: 198.02KB
    上传者: givh79_163.com
    ThetwoinputchannelsemployAnalogDevicesAD9226A/Dconverterswith12-bitresolutionatupto65MHz.Theinputsignalprocessingchainconsistsof50Ohminputtermination,ahighspeedlowdistortioninput……
  • 所需E币: 4
    时间: 2019-12-25 21:05
    大小: 129.69KB
    上传者: 16245458_qq.com
    制作步骤:先将MPLAB6.3中的BL010100.HEX(MPLAB6.4是BL010101.HEX烧到16F877,CONFIGURATIONWORD(ADDRESS2007h)=3F3Ah要烧正确。按照电路图做好板子。将板子的RS-232Port接到PC的COMPort。执行MPLAB,将Debugger或Programmer设为MPLABICD2。点选MPLABICD2SetupWizard设定COMPort。关掉COMPort的FIFO(在Windows的COMPort驱动程序里)。Connect、DownloadICD2OS。……
  • 所需E币: 4
    时间: 2019-12-28 21:40
    大小: 249.61KB
    上传者: quw431979_163.com
    在Altera公司的StratixEP1S10器件中设计了以Prewitt图像边缘检测为基础的图像处理和显示系统,包括二维滤波器模块、图像VGA显示控制器、ROM存储器、FIFO缓冲器及相应的读写控制器.整个系统集成在一个芯片上,实验证明此设计方法工作效率高,处理速度快,性能稳定,可移植性好.基于FPGA的图像边缘检测系统的设计王绍雷,赵进创,周毅(广西大学计算机与电子信息学院,广西南宁530004)摘要:在Altera公司的Strat没EPlSlO器件中设计了以Pre访tt图像边缘检测为基础的图像处理和显示系统,包括二维滤波器模块、图像VGA显示控制器、ROM存储器、FIFO缓冲器及相应的读写控制器。整个系统集成在一个芯片上,实验证明此设计方法工作效率高,处理速度快,性能稳定,可移植性好。关键词:FPGAPre讲tt算子VGAQuanusII在嵌入式图形系统处理领域,图像的边缘图作为图像的一种基本特征,经常被应用到较高层次的特征描述。换剧烈。对于连续图像以菇,y),其方向导数在边缘(法线)如图像识别、图像分割、图像增强以及图像压缩等图像处方向上有局部最大值,因此,边缘检测就是求以菇,y)梯理和分析的技术中,从而可以对图像作进一步的分析和度的局部最大值和方向。对于离散图像来说,就是利用理解【11。但是图像处理的速度问题一直是很难突破的设计瓶颈。一般情况下,控制领域及数据处理领域几乎是单V/.=01茗,y)_厂(戈一1,,,),以菇,,,)_厂(并,y一1)(1)片机和数字……
  • 所需E币: 4
    时间: 2019-12-25 17:31
    大小: 200.73KB
    上传者: 微风DS
    使用PLD内部锁相环解决系统设计难题……
  • 所需E币: 3
    时间: 2019-12-25 17:20
    大小: 76.14KB
    上传者: 238112554_qq
    基于VerilogHDL设计的自动数据采集系统……
  • 所需E币: 3
    时间: 2019-12-25 17:16
    大小: 171.23KB
    上传者: 16245458_qq.com
    近几年基于MPEC-2的DVB普通数字电视在美国、南美、亚洲、大洋洲和非洲通过卫星进行广播。基于MPEG-2/DVB的多路节目复用器是数字电视传输系统的关键设备之一,因此,它的研发显得尤为重要。……
  • 所需E币: 5
    时间: 2019-12-30 10:17
    大小: 307.02KB
    上传者: quw431979_163.com
    介绍了高集成度TYPEA读写器芯片MFRC500的内部电路结构,并对其内部寄存器的有关命令及加密算法等功能做了较详细的阐述,最后在此基础上给出了MFRC500的典型应用电路。……
  • 所需E币: 5
    时间: 2019-12-25 16:12
    大小: 140.76KB
    上传者: 2iot
    异步FIFO结构及FPGA设计……
  • 所需E币: 5
    时间: 2019-12-25 15:57
    大小: 165.54KB
    上传者: 978461154_qq
    跨时钟域设计经典……
  • 所需E币: 3
    时间: 2019-12-25 15:28
    大小: 244.96KB
    上传者: 微风DS
    基于USB的多通道俄制军用串行总线接口卡的设计及实现方案,重点论述了在基于FPGA的俄制军用串行总线IP核上通过双口RAM与USB通信,以及CY7C68013芯片在GPIF模式下进行固件和驱动程序设计的方法.基于USB的多通道俄利串行总线接口卡设计邓青海,景小宁,刘安(空军工程大学工程学院,陕西西安710038)摘要:基于USB的多通道俄制军用串行总线接口卡的设计及实现方案,重点论述了在基于FP.GA的俄制军用串行总线IP核上通过双口RAM与USB通信,以及CY7C68013芯片在GPIF模式下进行固件和驱动程序设计的方法。关键词:rOCTl8977明M1495现场可编程门阵列通用串行总线通用可编程接口俄罗斯标准rOCTl8977规定了飞机的成套机载设线、6条通用的准备输入线(数据线宽可为8位或16位),备通信的电器特性,其中一部分规定了与美国标准具有56引脚、100引脚、128引脚131三种封装规格。ARINC429相对应的串行码信号的类型及其电气标准。CY7C68013外设交换数据通常采用SkweFIF08(从设而与之配套的PI'M1495技术资料中则规定了按照备)和GPIF两种方式。GPIF为一个灵活的8位或16位rOCTl8977标准采用双极性码进行信息交换的具体方的并行接口,由一个用户……
  • 所需E币: 3
    时间: 2019-12-25 15:27
    大小: 213.01KB
    上传者: 978461154_qq
    介绍了一种基于FPGA的新型绝对式编码器.利用FPGA和硬件描述语言,采用自顶向下的设计方法,实现了辨向模块、串/并转换模块、查表译码模块以及NiosⅡ软核CPU等功能模块的设计,以及绝对位置的准确测量.该编码器具有结构紧凑、集成度高的优点,以适应工程上对绝对式编码器小型化的要求.基于FPGA的新型绝对式编码器母邱成,薛寒光,朱衡君(北京交通大学机械与电子控制工程学院,北京100044)摘要:介绍了一种基于FPGA的新型绝对式编码器。利用FPGA和硬件描述语言,采用自顶向下的设计方法,实现了辨向模块、串/并转换模块、查表译码模块以及NiosⅡ软核CPU等功能模块的设计,以及绝对位置的准确测量。该编码器具有结构紧凑、集成度高的优点,以适应工程上对绝对式编码器小型化的要求。关键词:绝对式编码器FPGA硬件描述语言的迅融合已被器人器将转速输出理技实现方式的不同,编码器可分为增量式和绝对式两类。传统图1绝对式编码器系统结构图绝对式编码器如果要反映Z精度,其码盘上至少要有n个编码位置的透光窗口组成;在同步码道上设置两个光道码道,每道对应于一个读码元件。这种结构比较复杂,敏元件,其中一路作为同步信号触发编码码道上的光敏制作困难,码盘径向尺寸较大,难以实现小型化、集成……
  • 所需E币: 5
    时间: 2019-12-25 15:23
    大小: 214.37KB
    上传者: 二不过三
    在分析目标信号特性的基础上,提出瞬变微光信号探测系统数据采集和存储单元实现方案.针对系统对数据采集和存储的特殊要求,采用FPGA技术,完成了高性能数据采集系统设计.以Altera公司的FPGA为硬件设计载体,使用VHDL语言对数据采集和存储的控制逻辑和时序进行了硬件描述.在QuartusⅡ集成环境中进行软件设计和仿真,结果与设计吻合.基于FPGA瞬变微光能量探测系统的数据采集和存储设计梁义涛1一,汶德胜1,王宏1,冉晓强1’2(1.中国科学院西安光学精密机械研究所,陕西西安710068;2.中国科学院研究生院,北京100039)摘要:在分析目标信号特性的基础上,提出瞬变微光信号探测系统数据采集和存储单元实现方案。针对系统对数据采集和存储的特殊要求,采用FPGA技术,完成了高性能数据采集系统设计。以Altera公司的FPGA为硬件设计载体,使用VHDL语言对数据采集和存储的控制逻辑和时序进行了硬件描述。在QuanusII集成环境中进行软件设计和仿真,结果与设计吻合。关键词:FPGAADCFIFO数据采集在传统数据采集系统中,通常采用单片机或DSP作背景信号属低高斯限带白噪声,变化缓慢,可看作为CPU,控制ADC、存储器和其他外围电路工作。单片……
  • 所需E币: 4
    时间: 2019-12-25 15:19
    大小: 227.33KB
    上传者: 978461154_qq
    开发了基于DSP和ADS8364的高速数据采集处理系统.该系统主要由信号调理模块、A/D转换模块、DSP处理器模块、CPLD逻辑控制模块和USB2.0通信模块组成.它能够在板卡上实现信号的采集及前端处理,并能通过USB总线与上位机通信,实现数据的存储、后端处理及显示.参考了虚拟仪器的设计思想,重点阐述了系统原理及硬件、软件的设计.……
  • 所需E币: 4
    时间: 2019-12-25 15:08
    大小: 341.26KB
    上传者: rdg1993
    介绍了在SOPCBuilder中,定制基于Avalon总线的FIFO接口元件的方法.详细讨论了在SOPC系统中,应用DMA控制器实现片上FIFO与外接SDRAM之间的DMA数据传输.最后应用SignalTapⅡ对数据传输过程进行了实时观测,得到实际的DMA数据传输波形.……
  • 所需E币: 4
    时间: 2019-12-25 12:31
    大小: 92.5KB
    上传者: 二不过三
    使用PLD内部锁相环解决系统设计难题使用PLD内部锁相环解决系统设计难题[pic] 摘要:从整个应用系统的角度,理解和分析PLD内部锁相环;在此基础上,深入剖析锁相环的相移结构,同时用这个技术解决系统设计难题。关键词:PLD内嵌锁相环FIFOXBUS引言微电子技术的发展趋势是片上系统(SoC),也就是在一块芯片上实现整个系统,包括模拟部分和数字部分。作为IC产业中重要的一个分支,可编程逻辑器件(PLD)也在努力向这个方向发展。无论是Xilinx还是Altera,它们最新的PLD产品中都集成了诸如PCI接口、乘法器、MCU核以及DSP核等部件,有的甚至集成了完整的微处理器。例如,Xlinux的Vietex2-Pro系列就是集成了PowerPC微处理器。锁相环技术是模拟集成电路设计中一个重要的研究方向。但是,现在中高档的可编程逻辑器件一般都集成有片内的锁相环(如Xilinx的Spartan2系列,Altera的Cyclone系列)。锁相环一端连接外部全局时钟或者全局控制信号,另一端连接可编程逻辑器件内部专门的布线网络,可以最大程度地减少全局时钟信号到片内各个部分的布线延迟,有效地消除了时钟偏移而带一的各种问题。同时,锁相环一般都提供了倍频、分频、相移三个功能。[pic]1应用背景介绍本文用FPGA实现FIFO,连接PCI与TI的TMS320C6204的扩展总线,与DSP传输数据的时钟达到100MHz。由于DSP的接口对于时钟和信号的要求很苛刻,所以下面具体分析核心的DSP的XBUS时序。DSP的扩展总线(XBUS)是一个32位宽的总线,支持与异步外设、异步/同步FIFO、PCI桥以及外部主控处理器等的接口。它同时提供一个灵活的总线仲裁机制,可以内部进行仲裁,也可以由外部……
广告