研磨机厂家
免费服务热线

Free service

hotline

010-00000000
研磨机厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

基于NiosII处理器的通用ADIP核的设计与实现

发布时间:2020-07-21 18:29:05 阅读: 来源:研磨机厂家

随着电子技术的飞速发展,嵌入式系统的需求越来越大、应用领域也越来越广泛。数据采集是嵌入式系统不可或缺的组成部分,其性能在某种程度上直接决定了整个系统能否满足设计的要求。目前,数据采集部分的实现基本上都是利用单片机或者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 控制器模块。

沈阳碧莲盛

碧莲盛官网

碧莲盛 厦门

兰州碧莲盛官网