欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    基于SOPC技术的SPI核的实现.docx

    • 资源ID:8927374       资源大小:13.48KB        全文页数:2页
    • 资源格式: DOCX        下载积分:2
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要2
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于SOPC技术的SPI核的实现.docx

    基于SOPC技术的SPI核的实现摘要:阐述何为SPI核,以16位 A /D 转换器 ADS8361芯片为例,分析了其工作原理和特点,利用硬件逻辑资源完成 A /D 数据采集和处理的时序设计,并将其添加为SOPC组件;在NIOS 系统中实现了A /D数据采集外设接口的定制,并对 A /D 数据采集结果进行了分析。关键词:ADS8361; SOPC;SPI核;NIOS 引言 SOPC(System On a Programmable Chip ) 称为可编程片上系统。SOPC 集成了硬核或软核 CPU 、DSP 、锁相环 PLL 、存储器、I/ O 接口及可编程逻辑,可以灵活高效地解决 SOC 方案,而且设计周期短,设计成本低。SOPC 的设计是以 IP 为基础,以硬件描述语言为主要设计手段,借助计算机为平台的 EDA 工具,自动化、智能化地自顶向下进行的过程。其具体开发流程如图1所示。【1】 图1SOPC开发流程图 SPI是嵌入式系统常用的标准串行接口。带Avalon 接口的SPI内核符合SPI协议并通过 Avalon 从机接口接到Avalon 总线上。SPI是一个工业标准串行接口协议,通常用于嵌入式系统中连接处理器和各种片外的传感器、合成器、存储器和控制设备。基于Avalon接口的SPI实现了SPI协议,并在后端提供了一个Avalon接口。 SOPC Builder中提供了现成的SPI核,可以轻松地集成到NIOS II系统中。SPI可以配置为主和从两种模式。当SPI被配置为主模式时,它可以控制16个相互独立的从SPI。SPI传输数据的宽度是由用户配置的,一般为116bit,如果需要传输位数更宽的数据,则需要软件程序支持。每当一次数据传输结束时,SPI核就请求一个中断。【2】 1ADS8361芯片的工作原理和特点 ADS8361的工作原理框图如图2所示。【3】 ADS8361是一种具有双通道16位的模数(A / D转换)转换器,分两组四个全差分输入通道,可同时进行高速信号采集,采样速率高达500KSPS。在高噪声环境频率为50kHz的情况下还能很好地提供了80dB的共模抑制比。ADS8361提供了高速,双SPI串行接口和控制的输入,以尽量减少软件开销。图3为ADS8361串行时序图。 图2ADS8361内部工作原理框图 图3ADS8361串行时序图 2ADS8361核的设计 上述提到SPI内核传输的最大位宽为16位,而ADS8361传输的位宽为20bit,不能直接使用SPI内核。虽然,软件编程和自定义IP核组件两种方法都能实现,但是软件编程不仅占用CPU资源,而且传输速度也受到相应的限制,再加上RD(CONVST)、BUSY信号来确保时钟同步。因此,通过自定义IP核组件来实现更加快速、稳定、有效。 2.1逻辑模块设计 根据ADS8361的转换原理和SPI核的结构,就可以用Verilog HDL语言编写用户的逻辑模块。部分代码如下所示: . . . . . . always (posedge clk) if(DCLK_DIV < (CLK_FREQ / DCLK_FREQ) DCLK_DIV <= DCLK_DIV+1; else begin DCLK_DIV <= 0; AD_CLK <= AD_CLK; end . . . . . . if(COUNTER < d19) begin data_reg <= AD_DATA; data_reg <= data_reg; COUNTER <= COUNTER+1; irq <= 0; state<=state; end . . . . . . 2.2模块仿真 将设计好的功能模块在Quartus II下进行仿真,验证其模块设计的正确性。当M0=0,M1=0时,通道A输出的功能模块的仿真如图4所示。 图4逻辑功能模块仿真 2.3ADS8361SPI核在SOPC Builder中的封装 将设计文件封装为SOPC Builder元件,主要有以下几个步骤: (1) 添加硬件描述文件,并注意指定Top Level Module; (2) 设置信号; (3) 设置接口; (4) 添加软件文件,即设置文件路径。【4】 其中,设置接口和信号是关键步骤之一,定义为主还是从接口,信号的类型及位宽等等这些,必须参考相关资料。本文参考的是Altera 官网上的技术资料里的SPI核和ADS8361的Datasheet。设置信号如图5所示。 2.4NIOSII对自定义外设接口的定制 图5设置信号 通过定义chipselset和address信号,SOPC Builer会自动分配给用户逻辑一个地址,那么对于用户逻辑的访问和操作,其实就是对分配给用户逻辑的地址进行访问和操作。从而实现 NIOS II 对自定义外设的定制。如图6所示。 图6SOPC设计及地址分配 最后,将各部分综合成一个. bdf文件,使得用户接口逻辑( interface t o user logic) ,与 NIOS 内部 AVALON 总线相连,编译生成完整硬件系统。 3数据测量及分析 ADS8361是16位的A/D转换芯片,输入电压范围为-2.5V +2.5V,-2.5V表示方法为0x8000,+2.5V表示方法为0x7fff,0V表示为0x0000,即以补码形式输出,最高位为符号位,1表示负电压输入。下面只给出0 V +2.5V正电压测量数据,负电压测量数据不再给出。正电压测量数据如表1所示。 表15个点各五次采集得到的数值表 AD转换值计算公式为 (1) 其中,D为测量值的计算值,正数不变,负数取反加1,代入公式(1)可得被测的模拟电压值。 通过上述波形仿真和硬件测试和数据分析,可得知该数据采样板采集的模拟量数据准确、工作正常。 4结论 SOPC技术可以利用IP库快速生成系统,同时也可以把用户自定义的逻辑加入到系统当中,体现了用SOPC设计嵌入式系统的灵活性。使用SOPC可以快速地生成设计验证机,有效缩短开发周期。 参考文献: 【1】黄佳玮, 陈福深. 基于Nios的SOPC嵌入式系 统设计, 电子元器件应用, 2009. 【2】徐光辉等. 基于FPGA的嵌入式开发与应用, 电子工业出版社, 2006:30-57. 【3】ADS8361:16-Bit 500 kSPS 2 ADCs,4ch,serial out,dataconverter.ti.com,2007.

    注意事项

    本文(基于SOPC技术的SPI核的实现.docx)为本站会员(rrsccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开