当前位置:首页 > 智能硬件 > 智能硬件
[导读]采样数据经过FPGA的算法处理后,SEP3203处理器通过DMA方式将运算结果存储到片外SDRAM,SEP3203与FPGA的数据通信遵循SRAM时序。通过两组FIFO存储A/D数据,系统实现了信号的不间断采集和信号处理的流水线操作。

摘要 SEP3203是东南大学自主研发的基于ARM7TDMI的一款微处理器。系统在该处理器的控制下通过FPGA实现对信号的A/D采样和采样后的数据存储。采样数据经过FPGA的算法处理后,SEP3203处理器通过DMA方式将运算结果存储到片外SDRAM,SEP3203与FPGA的数据通信遵循SRAM时序。通过两组FIFO存储A/D数据,系统实现了信号的不间断采集和信号处理的流水线操作。
关键词 SEP3203处理器 FPGA FIFO接口设计


    SEP3203处理器是由东南大学国家专用集成电路系统工程技术研究中心设计的16/32位RISC微控制器,面向低成本手持设备和其他通用嵌入式设备。该处理器内嵌ARM7TDMI处理器内核,为用户提供了面向移动终端应用的丰富外设、低功耗管理和低成本的外存配置,整个芯片可以运行在75 MHz。数据通信系统使用的主要功能模块如下:20 KB片上零等待静态存储器(eSRAM);外部存储器接口控制器(EMI);中断控制器(INTC);DMA控制器(DMAC)。
    系统中使用的FPGA为Altera公司的Cyclone系列中的EPlC6Q240C8,拥有丰富的I/O资源和逻辑资源,外部接口遵循SRAM时序。它主要负责提供信号的A/D采样频率,并将A/D转换后的数据存储到一组FIFO中,待FIFO的FF(Full Flag)端u有效后,将FIFO中的数据读回,同时使能另一组FTFO的写时序,实现了信号不间断的采样和存储。
    FPGA将一组数据处理完毕后,以中断的方式通知SEP3203,处理器以DMA方式将运算后的结果存储到片外的SDRAM中。由于数据写满FIFO的时间大于FPGA处理数据的时间,所以整个系统实现了流水线操作。


1 系统的总体设计
    系统硬件主要由信号采集模块、FIFO、FPGA和SEP3203处理器组成。信号采集模块主要包括信号接收器和A/D转换模块。接收到的信号首先要通过NE5534进行放大,NE5534采用士5V供电。图1为系统总体框图。

    系统中的A/D转换芯片使用了ADI公司的ADl672,它采用4级流水线结构,在3 Msps采样速度下精度为12位。FIFO选用了IDT公司的IDT7202。它具有输入和输出两套数据线,独立的读/写地址指针在读/写脉冲的控制下顺序地从双口FIFO读/写数据,读/写地址指针均从第一个存储单元开始,直到最后一个存储单元,然后又回到第一个存储单元。为了支持9位数据宽度的存储,系统采用了2片IDT7202将数据宽度扩展为16位,共使用了4片IDT7202实现了FIFO的协同工作。在系统工作时,IDT7202内部的仲裁电路通过对读指针和写指针的比较,相应给出FIFO的空(EF)和满(FF)状态指示;FPGA可以根据所获得的FIFO状态标志控制FIFO的读/写时序,实现对FIFO的读/写操作。
    Cyclonc系列的FPGA支持多种I/O电平标准,包括3.3 V、2.5 V和l.8 V的LVTTL和LVCMOS电平。SEP3203处理器的I/O电平为3.3 V,与工作在3.3 V的FPGA电平兼容,可以直接相连。由于FIFO必须是5 V供电,所以FPGA将数据从FIFO读入内部存储器时,需要经过一个电平转换芯片。系统选用了IDT公司的IDT74LVCl6245,它支持8/16位数据的双向传输。


2 SEP3203与FPGA的接口电路设计
2.1 硬件设计
   
系统中的FPGA输入时钟由外部晶振提供,为20MHz。FPGA的复位信号通过SEP3203的I/O口实现。本系统有2个触发信号:硬件触发信号和软件触发信号。硬件触发信号低电平有效,软件触发信号高电平有效。首先,SEP3203处理器产生复位信号复位FPGA内部的逻辑电路;当FPGA检测到任何一个有效触发信号后,会按照SEP3203处理器配置的分频因子,将in_clk分频后输出div_clk给A/D采样电路。硬件实现框图如图2所示。

    A/D采样数据在采样时钟有效后短时间内可能会是无效的,所以SEP3203耍配置一定的延时值给FPGA。当延时满足后,FPGA才将FIFO的写时序输出到IDT7202的写端口。确保采集到的数据为有效数据。
    图3是SEP3203处理器输入到FPGA内部的控制信号的仿真波形罔。in_rst_n_a是复位信号,in_we_n和in_cs_n是SEP3203的写信号和片选信号。系统中FPGA接到了处理器的CSB片选上,该片选的地址映射默认为0x24000000~0x27FFFFFF,in_addr是地址线,in_data为输入数据。这里将延时设为2,分频因子设为10,之后通过往地址0x24000804写l,用软件使能系统。in_trig为硬件触发信号。

2.2 软件设计


   
一旦软件使能系统,FPGA就会输出div_clk给A/D采样电路。div_clk可以通过软件灵活配置,这里Div_clk为1MHz。

3 FPGA与FIFO的数据通信接口设计
   
在FPGA与FIFO数据通信接口设计中,FPGA主要输出控制时序到IDT7202的复位、写和读端口,实现A/D转换数据到FIFO的存储,并将数据从FIFO读入FPGA的内部存储器。 一旦延时满足,FPGA就输出写时序给FIFO的写端口(nW),同时检测FIFO的nFF(Full Flag)信号。若该信号为低,则说明FIFO已经写满1024个半字(16位)。此时,FPGA输出读时序给该组FIFO,同时输出写时序给另一组FIFO,以不间断地存储A/D采样数据。
    这部分电路在硬件实现上比较简单,IDT7202的输出数据通过电平转换芯片IDT74LVCl6245输出给FPGA,FPGA输出控制时序到FIFO。由于FPGA输出逻辑“l”时的最低电压Voh为2.4 V,输出逻辑“O”时的最高电压Vo1为0.4 V,而IDT7202输入逻辑“1”时的最低电压为2.2 V,输入逻辑“O”时的最高电压为O.8V,所以FPGA到FIFO的控制时序无须进行电平转换,控制端口可以直接相连。
    系统中FPGA输出完争符合FIFO读写时序的脉冲,控制FIFO的读写操作。图4是仿真波形图。

    IDT7202的异步读写操作时序如图5所示。

    表l是IDT7202异步读写操作时序的参数及说明。

    当FPGA检测到in_ff_n_l为低时,fifn_ff_pulse就产生一个50 ns的高脉冲;检测到该脉冲后,out_wr_n_1持续高电平,out_rd_n_1输出有效读时序;同时out_wr_n_1输出有效写时序。写时序以1 MHz的频率输出持续100ns低电平的脉冲;读时序低电平持续100 ns,高电平持续50ns。FPGA根据out_FPGA_rd信号来采集FIFO输出的数据。

4 SEP3203与FPGA的数据通信接口设计
   
数据经FPGA做算法处理后,由SEl33203处理器将结果存储到片外SDRAM中,SDRAM使用的是Winbond公司的W981216BH。硬件实现框图如图6所示。

    SEP3203对FPGA的访问遵循SRAM时序,图7为SEP3203读数据时的信号仿真波形图。

    通过DMA方式传输数据时,in_cs_n和in_rd_n信号一直为低,所以只有通过in_addt信号来控制FPGA的内部存储器地址。处理后的A/D数据扩展为32位。
    SEP3203处理器默认的AHB总线宽度是32位。当使用DMA传输时,源和目的数据可以是不同的宽度,可以等于或小于总线的物理宽度。DMAC会对数据进行适当的打包和解包,以满足AHB总线宽度。由于FPGA与SEP3202处理器之间只有16位数据总线,所以设计中源地址数据宽度设为16位,目的地址数据宽度设为32位。程序如下:

   
5 性能分析
   
为了实现系统的流水线操作,使用了EPlC6Q240C8中的PLL模块。FPGA的外部晶振频率为20 MHz,PLL提供70 MHz的时钟,主要用于A/D数据的处理和结果输出。采集1 024个16位数据的时间为(1/div_clk)×l 024,数据从FIFO读入到结果输出的时间为580μs左右,所以当用l.7 MHz以下的频率采样A/D数据时,系统工作正常。若需要更高的A/D采样频率,则可通过优化数据处理过程来实现。
    另外,为了提高软件的执行速度,将代码放在SEP3203处理器的eSRAM中执行。它是片上SRAM,实现了单周期数据读/写,可以提供比外存高得多的性能(O.89 MIPS/MHz),极大地缩短了软件执行时间,提高了系统性能。

6 总 结
   
本文给出了SEP3203处理器FPGA数据通信接口设计,限于篇幅,具体的硬件电路和软件源代码未能详细列出。目前,该系统已在东南大学ASIC中心GE02实验板上调试通过,可以正常工作。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2020 年,公司处理器产品四核龙芯 3A5000/3B5000 研制成功。龙芯 3A5000/3B5000 基于龙芯 3A4000/3B4000 进行工艺升级,主频 2.3-2.5GHz, 单核通用处理性能是龙芯 3A...

关键字: 处理器 芯片 市场化

最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时...

关键字: FPGA 可编程逻辑资源 GPU

FPGA的应用领域包罗万象,我们今天来看看在音乐科技领域及医疗照护的智能巧思。

关键字: FPGA 科技领域 智能

自主研发芯片对其自身有更为实际的意义。首先,自主研发芯片可以减轻对上游供应链的依赖。其次,自主芯片更方便打造出独家特色产品,增强产品在市场上的竞争力。再次,自主研发芯片能降低成本,提高利润。

关键字: 芯片 处理器 市场

本文中,小编将对无线模块予以介绍,如果你想对无线模块的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 无线模块 寄存器 处理器

强大的产品可降低信号噪音并提高分辨率与动态

关键字: Spectrum仪器 数字化仪 FPGA

(全球TMT2022年10月11日讯)近日,昆仑芯(北京)科技有限公司的第二代云端通用人工智能计算处理器昆仑芯2代AI芯片及AI加速卡与飞桨完成III级兼容性测试,兼容性表现良好。 产品兼容性证明 本次...

关键字: 人工智能 加速卡 处理器 模型

最近某项目采用以太网通信,实践起来有些奇怪,好像设计成只能应答某类计算机的ICMP(ping)命令, 某类计算机指的是Windows特定系统,其他系统发送ping都不能正确识别。

关键字: 嵌入式Linux FPGA 协议

近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自...

关键字: FPGA 芯片 EDA

(全球TMT2022年10月8日讯)爱立信全新上线超过200个AI App的业务持续性解决方案,进一步保障并增强了CSP移动网络业务持续运行的效率和健壮性。该方案由爱立信与运营商联合开发,主要用于运维过程中的预测性维护...

关键字: AMD 处理器 爱立信 EPYC

智能硬件

22003 篇文章

关注

发布文章

编辑精选

技术子站

关闭