当前位置:首页 > 电源 > 数字电源
[导读]提出了一种采用基于NiosII处理器的通用AD IP核来实现嵌入式数据采集系统的新方案。它能将市面上任意一款AD芯片制作成IP核并集成到NiosII系统中使用,且整个IP核的控制与运算逻辑由一片FPGA芯片来完成。

随着电子技术的飞速发展,嵌入式系统的需求越来越大、应用领域也越来越广泛。数据采集是嵌入式系统不可或缺的组成部分,其性能在某种程度上直接决定了整个系统能否满足设计的要求。目前,数据采集部分的实现基本上都是利用单片机或者ARM片内集成好的AD外设。这种AD外设的性能参数往往都已经在片上固化好了(即具有不可更改性),而且与其他片内外设不可分离地组合在了一起,从而使得整个系统的设计具有很大局限性。加之市面上单片机、ARM的款式型号非常有限,使用者不得不在性能与成本上作出折中的选择来满足所设计系统的要求,由于这种设计方案是不可更改的,且应用范围小、可移植性差,因此往往无法满足客户更高的要求。
    Nios II是Altera公司开发的第二代可进行SOPC设计的RISC型处理器软核,具有定制指令、硬件加速、可重配置、低成本和无与伦比的灵活性等特点[1]。基于NiosII处理器的通用AD IP核是一种全新的设计思路与实现方案,它可以将市面上任意一款AD芯片制作成IP核并集成到NiosII系统中使用,具有高性能、参数可配置、可移植、可裁剪等特点,并且具有很高的灵活性、实用性,从而更能满足设计的要求。
 本文提出了一种基于NiosII处理器的通用AD IP核来实现嵌入式数据采集系统的新方案,在Altera公司的FPGA芯片CycloneII EP2C35F484C8 上完成了硬件验证,最终应用到某数据采集系统的设计中。
1 通用AD IP核的整体构架
   通用AD IP核是针对所有AD芯片设计的,它可以将市面上任意一款AD芯片集成到NiosII系统中使用,其整体构架如图1所示。

    整个通用AD IP核主要由4个子模块组成:AD 控制器模块、FIR 滤波器模块、FIFO 缓存模块和带Avalon-MM Slave接口的寄存器文件模块。首先AD控制器控制AD芯片对外界的模拟信号的采集,采集到的数据送入FIR滤波器进行数字滤波,然后将经过数字信号处理后的数据存入FIFO缓存中,当FIFO缓存数据为满时,会向NIOSII处理器产生一个中断,顶层应用程序可以通过中断服务程序将FIFO中的数据读到内存中进行处理。带Avalon-MM Slave接口的寄存器文件模块提供了所设计的AD IP核的任务逻辑与Avalon交换结构交换信息的途径。有了寄存器文件模块,NiosII处理器就可以通过Avalon接口采用“基地址+地址偏移量”的方式来访问AD IP核内部的各寄存器[2]。
2 AD IP核各个模块的设计与实现
 由于市面上AD芯片的种类和型号非常多,不可能在此一一进行阐述。本设计以一款常用的典型AD芯片TLC549为例,详细阐述针对这款AD芯片的IP核的各个模块的设计与实现。
2.1 AD控制器模块的设计
 本系统采用AD转换芯片TLC549,它是TI公司生产的一种低价位、高性能的8位A/D转换器,它能方便地采用三线串行接口方式与各种微处理器连接,构成各种廉价的测控应用系统[3]。
   本文利用有限状态机的方法采用Verilog HDL硬件描述语言设计了一个TLC549控制器,从而完成了对TLC549 AD芯片的时序控制,它的状态转移图如图2所示。


    由图2可以看出,状态机一开始处于idle状态。在下一个clk时钟周期上升沿时刻进入cs_low状态,在cs_low状态将cs输出引脚拉低并延时2 μs。当2 μs延时完成时,状态机进入sclk_low状态,在sclk_low状态将sclk输出引脚拉低并延时0.5 μs。当0.5 μs延时完成时,状态机进入sclk_high状态,在sclk_high状态将sclk输出引脚拉高并延时0.5 μs,同时读取串行数据线miso上的AD采样值并将其存入移位寄存器中。当0.5 μs延时完成时,进入finish状态,在该状态状态机对已经接收到的串行数据位数进行判断,如果小于8说明串行数据还没有接收完毕,加1并进入sclk_low状态;如果等于8说明8位AD采样值已经接收完毕,进入delay状态。在delay状态将延时30μs,当30 μs延时完成时将进入load状态。在load状态,状态机在data_ready输出引脚上拉高一个clk时钟周期并在data[7..0]引脚上输出接收到的8位采样数据。在下一个clk时钟周期上升沿状态机将自动进入idle状态,以进行下一次AD数据采集。由此周而复始不断循环从而完成通过TLC549 AD芯片实现对外界模拟信号的实时采集。
    本文采用Quartus 软件集成的Signal Tap II 嵌入式逻辑分析仪软件对TLC549控制器模块进行硬件仿真,波形如图3所示。

    由图3可以看出,在cs、sclk和miso信号的时序配合下,data信号线上输出稳定的8位AD采样数据,经过数字量到模拟量的转换发现与外界输入模拟值一致,从而完成了TLC549控制器模块的验证。
    AD控制器模块是针对某一款具体的AD芯片而设计的,如果选用不同款式的AD芯片,则需要参考该芯片的芯片手册设计针对该款AD芯片的AD 控制器模块。[!--empirenews.page--]
2.2 FIR滤波器模块的设计
 在实际应用的数据采集系统中,往往需要对外界模拟输入信号进行滤波,以提取信号中有用的信息。在本设计中这部分的功能是由FIR滤波器模块来完成的。FIR滤波器模块采用Altera公司提供的FIR IP核来实现,通过Simulink软件中的DSP Builder工具对其进行仿真并最终可以生成底层HDL代码。由于TLC549的最高采样频率为40 kHz,本文设计了一个低通滤波器,它的采样频率为40 kHz,3 dB截止频率为100 Hz。在Simulink软件中建立的FIR IP核的仿真模型如图4所示。


    图4中nco_v8_0模块和nco_v8_1模块是2个数控振荡器,分别用于产生100 Hz和1 kHz的正弦信号,signal add模块是并行加法器,它将两路正弦信号进行叠加并将和信号输出。fir_compiler_v8_0模块是FIR IP核,它将signal add模块输出的和信号作为输入,并将数字滤波的结果输出到示波器进行显示。仿真结果如图5和图6所示。
    由图5可以看出:第1路是频率为100 Hz的正弦信号,第2路是频率为1 kHz的正弦信号,第3路是前两路信号的叠加。图6中显示的是经过数字滤波后的波形,可以看出只有100 Hz的频率分量存在,1 kHz的信号被滤除了,从而完成了对FIR IP核的功能验证。通过图4中的Signal Compiler工具可以完成该FIR IP核的底层HDL代码的生成。

    FIR滤波器模块采用Altera公司提供的FIR IP核来实现,具有高性能、可配置、可重用等特点。设计者只需根据整个系统的需求以及所选用AD芯片的采样速率等参数确定滤波器的类型与系数,并对该IP核进行参数化、实例化,即可完成针对该款AD芯片的FIR滤波器模块的设计。因此这部分的设计对于不同的AD芯片是相对独立的,具有很好的通用性。
2.3 FIFO缓存模块的设计
 为了连续和正确地采集数据,实现无缝缓冲,本设计利用了FIFO做数据缓存。由于TLC549是8位的AD芯片,故本设计采用1个512×8 bit 的FIFO来存储采样的数据。当FIFO中的数据存满时,它会向Nios II CPU产生一个中断信号。顶层应用程序可以通过中断服务程序将FIFO中的数据读到内存中进行处理。这样既不会造成数据的丢失,同时可以保证CPU较高的效率,很好地解决了上述的速度不匹配的问题。
    FIFO缓存模块的设计对于不同的AD芯片是相对独立的,设计者只需根据所选用AD芯片的精度、采样速率、时钟速率等参数确定FIFO缓存的位宽和深度,并对FIFO进行参数化、实例化,即可完成针对该款AD芯片的FIFO缓存模块的设计,因此具有很好的通用性。[!--empirenews.page--]
2.4 带Avalon-MM Slave接口的寄存器文件模块的设计
 本文设计的带Avalon-MM Slave接口[4]的寄存器文件模块是具有Avalon-MM Slave 从端口的外设。它内部共有2个8位寄存器,具体结构和功能如表1所示。NiosII处理器可以通过Avalon接口采用“基地址+地址偏移量”的方式来访问这2个寄存器,从而实现对AD IP核的控制以及AD采样数据的读取。


   对于一些比较复杂的AD芯片(如AD73360),往往需要对其写控制字、读状态字,这就需要增加寄存器文件模块中的寄存器个数来完成相应的逻辑功能。Avalon接口采用“基地址+地址偏移量”的方式来访问寄存器,这样就可以简单地通过增加地址线的位数并进行译码来实现,因此对于各种复杂的AD芯片具有很好的可扩展性和适用性。
3 整个IP核在NiosII系统中的硬件测试
   本设计采用Verilog HDL语言建立了一个顶层文件tlc549_adc_ip.v,通过对AD控制器模块、FIR滤波器模块、FIFO缓存模块和带Avalon-MM Slave接口的寄存器文件模块进行实例化与互连,最终完成了整个IP核的设计,它的模块图如图7所示。


    本文采用C++语言做了一个基于NiosII处理器的顶层应用测试程序,利用描点法将不断采集到的AD数据绘制成波形显示出来,从而完成对整个IP核的硬件功能测试。测试过程中,在AD芯片的模拟输入端输入一个由1 kHz正弦信号和100 Hz的正弦信号叠加而成的混合信号,整个系统的运行结果显示在NiosII IDE软件的Console控制台中,如图8所示。

    通过对图8中的正弦波形以及采样到的数据进行分析与计算可知,采集到的信号频率是100 Hz,信号的幅度与外界的模拟输入信号完全一致,从而验证了整个IP核的功能正确性。整个IP核使用5 275个LE,占总数的15.8%,4 096个存储单元,占总数的0.8%。系统的主频能达到199.64 MHz。
 为了验证AD IP核的通用性与适用性,本文还针对另外两款AD芯片(AD7476和AD73360)进行了IP核制作与测试,且测试信号与TLC549 IP核的测试信号完全相同。
 AD7476 IP核采用了上述通用AD IP核的设计方法,它的AD控制器模块是针对AD7476这款 12位串行AD芯片而设计的。FIR滤波器模块的参数与TLC549 IP核中的FIR滤波器参数相同,只是输入数据的位宽设置为12位。由于AD7476芯片的采样速率比较快,所以FIFO 缓存模块的深度设置为1 024,位宽设置为12位,这样可以使NiosII CPU的效率更高。
 AD73360 IP核同样也采用了上述通用AD IP核的设计方法,它的AD控制器模块是针对6路16位串行AD芯片AD73360设计的。它的FIR 滤波器模块的参数和FIFO 缓存模块的参数与TLC549中的相应参数设置相同,只是把位宽设置为16位。由于控制的过程中需要对AD73360芯片内部的寄存器进行读写,所以在寄存器文件模块中增加了两个寄存器(1个读状态字寄存器,1个写控制字寄存器),从而完成对AD73360芯片内部控制与状态寄存器的读写。
 这两款AD IP核与TLC549 IP核的比较如表2所示。由表2可以看出,本文提出的基于NiosII处理器的通用AD IP核对于不同精度、不同采样速率、不同时钟速率、不同通道数的AD芯片都适用,并且具有较高的性能和灵活性。在实际应用中,如果对该IP核所占用的资源数有一定的限制,可以自行编写FIR滤波器模块,这样能大大降低IP核所占用的资源数,从而实现整个IP核的性能与资源之间的平衡。

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

在全球数字化浪潮的推动下,大健康行业正迎来前所未有的变革。 北京2024年6月18日 /美通社/ -- 在全球数字化浪潮的推动下,大健康行业正迎来前所未有的变革。随着技术的不断进步,数字化不仅改变了医药行业的运营模式,...

关键字: 数字化 BSP 终端 IP

北京2024年6月17日 /美通社/ -- 6月13日,2024 IAI传鉴国际创意节第二天,来自网易传媒、小红书、智度股份、知乎、Google、易平方科技、迪思传媒等嘉宾进行了演讲与分享,IAI全场大奖PK创意赛、第2...

关键字: AI BSP GOOGLE 小红书

北京2024年6月14日 /美通社/ -- 2024年6月12日,2024 IAI传鉴国际创意节在北京盛大开幕。在AI浪潮的涌动下,本届盛会在时代的前沿,以"鉴势新动力"为主题,聚焦新智能如何深度赋能品牌营销,共谋产业创...

关键字: AI BSP AI技术 IP

摘要:群星闪耀,亚洲科技FF盛宴 澳门2024年6月12日 /美通社/ -- 5月25日,第四届BEYOND国际科技创新博览会(BEYOND Expo 2024)以"Embracing the Uncertaintie...

关键字: 创始人 AN STAGE BSP

其中囊括迈阿密站和摩纳哥赛车史上首次双赛 英国伦敦2024年6月11日 /美通社/ -- FE 今天宣布了ABB 国际汽联电动方程式世界锦标赛第11赛季的暂定赛历,这将是其历史上首次完成17场比赛,跨越几个大洲在11个...

关键字: 电动 BSP ABB GEN

一直以来,AD转换都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来FPGA Verilog HDL实现AD转换的实例设计的相关介绍,详细内容请看下文。

关键字: FPGA AD Verilog

北京2024年6月11日 /美通社/ -- 6月6日-8日,2024中国汽车重庆论坛举行。论坛以"在变革的时代 塑造行业的未来"为主题,吸引全球行业精英,重点关注新能源、智能...

关键字: 中国汽车 数字化 BSP AN

柏林2024年6月11日 /美通社/ -- 据德国汽车行业协会(VDA)的最新消息,去年德国生产了127万量电动汽车(BEV和PHEV),其中95.5万辆是纯电动汽车。这使得德国成为欧洲生产电动汽车最多的国家。预计今年德...

关键字: 电动汽车 BSP 纯电动汽车 AI

作者 Mohamad Ali| IBM咨询首席运营官 北京2024年5月24日 /美通社/ -- 生成式AI的兴起几乎在所有面向上给业务带来改变。根据 IBM 商业价值研究院最新的年度 CEO 研究,近60%...

关键字: IBM AI BSP 模型

台北2024年5月21日 /美通社/ -- 提供针对AMD WRX90和TRX50主板优化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...

关键字: AMD 内存 BSP GB
关闭
关闭