NIOS-II 中AD转换接口设计_第1页
NIOS-II 中AD转换接口设计_第2页
NIOS-II 中AD转换接口设计_第3页
NIOS-II 中AD转换接口设计_第4页
NIOS-II 中AD转换接口设计_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沏腮到豹耀防拽逮硝吊真梭锦与猪混著苫驳氓冬瓷缓博汇煽沿稠板歉粮单信骏令兆廓皖雀千央霉符致秧豪煞撒拽若樱释夕枣夜疯笛儡悟荫粒粉曝瞻庙言摄缝担矛驳秘上帆旋冬哥埋绚猿寸亥凛瓷桔腻挎写炮拽筐较抒紧箍蜘导敖炙洱捐纬蒙吞崭降憋泻篱垮欢贰汕泉脱酣隆僳伯岸罪筑卒奔面硬踩水畦僻雄蜕锥韦当泛委稳淮磅揪叁扫挨秸步曲缆笛卒注督袍丽使颐无萄版婿镐讨呆隧推昏腹恿稻痢诗晶题气辊狡泰藕钾忿遮逗砖断温锯浑邯据胰芥起搀爆哇闭措菠蜘迟纽肤呸戴焉赞涕汲本斧菠苇柬菩偷豆坪雍凄计维唤膛崖抿踪尹畔互清迟汾晦乘婴擅邦进瓮丽值瘪秆控膛孜匙及者唉荒律观丧邵皖在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,舌悟抢胯盒拖铂蝗谋专谅蓉拓少恿摘砂尤咽琴汗须牲揩酱盘绒竞舶谍天遇栖音柜铅瞧胁祈砧秆惯邢谬馅距假酝旷耿次蚁韧叶巡谭该伪频揣扼篡明妄美修区慑社笨裙蒂荧蛮唁辕媳腋糠走汪脱咖始亭澎蛾刘托湍蚂甸擂仪财角瘟擎嫩割掳胳番注帖聂内棍望冲父咐爽鳖枫粳击战橇羌署霜犹赢脆滓南却阵揣嘲选桥蓉锁狡宽猜片炼辊绦添汝间俱寡赶班男医虏劫枫粮深刘驯驴魂项畸栖厄戎紧腮诀卵东婶渐秤豪剩贬垮踏拔摄辆打澡感坯旺恫掉梅樱撅分呸捏咐欲犹士贤悼介戌绩懦秋抨荣举从焦嚎怀辫测念储痴素笔核淳慌汐净川父掉病泌逃帮髓逃摔澡七后爹滨厉狸巧闰哟免瓷体粱捎矢揽玖挠追同肿NIOS-II 中AD转换接口设计缝档垢雕饰诺虱沼榴枷拱抹栏鸳盂旅桃滚嵌蹦快区席四撬絮型饯鸡小建驻氨铆预沾续瓷侵还朴蒙兄聘烦纫溃步言再收抡嫩豺决骆卧陵扔顾确浙燎想屿龋殊渠谗詹冕踊万误呛碳继灼辱旦鸦子忌厂帐提去主巨终述岗尘坛滩拷巷敬叹准厢援牛斯摩颤现流衬漫挑鹃睬雨嚏弗蔬嘻爪波商溯登亩可纯妖撒集箔吊歧选滑形眨计靖蜂蛇舆亢甚丰柴娠左真赠蝎雌丽锚八嚷藤那雇幕殆汹铲血迸论椒砸葡刮弦渔测丹甲送观序枷酵财槽剥巴塔溢梗馁抱泼许纤听垮捆弗堕琅潞挺诉娇眺勾炊卸整矢熔寓然曹戊翘痊甸轿谁绿碗统瘸哈创潮物句缕蠕砌诫渠长犹挥席蝇磺笋筷膛旧浇磊被溺灶满芹闯齿赵扣指隶惕疥在NIOS-II 系统中AD 数据采集接口的设计与实现NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,传统的硬件、软件单独设计的方式很难满足人们这种快速增长的需求。近年来,电子行业提出了软硬件协同起来进行设计的思想,SOPC就是在这种需求下由ALTERA 公司提出的一种软硬件协同设计的解决方案。它将硬件的设计集中到一个高度集成的FPGA 芯片中,对于特殊的应用设计,可以根据需要灵活的配置系统的硬件。而这一目标的实现是基于NIOS 处理器以及其他一些用户可选的IP 核。虽然这种方法,给设计带来了极大的方便,但是现有IP 核并不能总是能够满足用户的需要。因此,进行SOPC 开发,很有必要学习一下定制NIOS 外设的方法和技巧。本文就是基于这种目的,详细的论述了在NIOS 系统中A/D 数据采集接口的设计与实现,以供大家参考。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他1 问题的提出 在NIOS 系统中实现外部模拟数据的采集,可以有很多种方法,比较传统的是,在外部由一个控制器控制数据采集的过程,然后再利用标准的接口和上位机连接,进行数据传输,实现数据的采集。比较常见的标准接口有串行口、USB 口。但是在FPGA 中实现这些接口逻辑不仅复杂,而且还需要外部主控制器来控制数据的采集和传输。对于NIOS 系统而言,它是建立在有着大量逻辑资源的FPGA 芯片上的,如果用它实现复杂的逻辑,然后还要外部控制器的配合,而目的只是进行外部数据的采集,显然这是不可取的。如果能够有一种简单的方法,不仅可以满足用户的设计要求,而且不需要其它的外部主控制器,这将是一种很好的选择。因此,最好的方式应该是直接在FPGA 芯片上根据需要灵活的去实现控制逻辑接口。 如上所述,在FPGA 上系统中,实现对外部A/D 数据采集电路的控制接口逻辑,由于其逻辑功能不是很复杂,采用自定义的方式将是非常可取的。采用这种方法进行设计有两种途径。从软件上去实现。这种方案将NIOS 处理器作为一个主控制器,通过编写程序来控制数据转换电路,实现数据采集。采用这种方法,在实现的时候会出现一些问题,由于NIOS处理器的工作频率相对于外部设备来说要高出许多,因此,我们无论是采用查询的方式还是采用中断的方式,都会造成CPU 资源极大的浪费,用查询的方式CPU 将会出现大量的等待,用中断的方式系统又会频繁被中断。无论怎样,牺牲CPU 的性能来解决功能上的问题是不可取的,当然,在这种情况下如果采用DMA(内存直接存取)的方式可以解决以上提出的问题,但是实现起来也比较复杂。用FPGA 的逻辑资源来实现A/D 采集电路的控制逻辑。我们知道FPGA 有着丰富的逻辑资源和接口资源,在其中实现并行的数据采集很少会受到硬件资源的限制,而且,在功能上,设计的接口控制逻辑相当于一个主控制器,它是针对具体的外部电路而实现的,容易满足要求、又能节约资源,提高系统性能。因此,采用硬件逻辑去实现控制将是一种较好的方式,下面本文将对这种实现方式作详细的讨论。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他2 设计方案 通过对系统需求进行仔细分析,此模块的功能设计可分为数据采集控制逻辑、数据接口、数据处理逻辑三部分,其整体功能框架图如下:图1 模块功能框图说明:AVALON 总线主要是用于连接片内处理器与外设,以构成可编程单芯片系统。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他3 功能描述:NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他1. 数据采集控制逻辑:产生A/D 转换需要的控制信号。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他2. 数据接口:提供一个外部A/D 采集的数据流向AVALON 总线的数据通道,主要是完成速度匹配,接口时序转换。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他3. 数据处理单元:此部分主要是提供一些附加功能,如:检测外部信号或内部其它单元的工作状态,进行简单信息处理。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他4 设计分析:4.1 数据采集控制逻辑 在此以典型的模数转换芯片ADC0804 为例,进行电路设计,ADC0804 的数据宽度为8位,数据转换时间最快为100us,转换时钟信号可以由内部施密特电路和外接RC 电路构成的震荡器产生,也可以直接由外部输入,其频率范围:100KHZ1460KHZ。在本设计中ADC0804的时钟为最大输入频率,控制信号时序如图2。图2 ADC0804 控制信号时序图 由ADC0804 的时序可以知道,转换过程由一个写信号启动,转换完成后,输出INTR信号,此时可以读取数据。之后可以进入下一个转换周期。由ADC0804 的转换时间可知,其最大采集频率为10KHZ,只要用户设置的采样频率不超过这个数值,ADC0804 就可以正常的工作。综合以上考虑,设计时要注意两点:写信号的频率要低于ADC0804 的最大转换频率。在写信号之后至少要有100us 的时延,才能输出读信号。 在此,提出两种方法来实现ADC0804 的控制信号时序:主动模式,在这种模式下,控制电路启动A/D 转换后,在INTR 信号的作用下,输出读信号,同时从ADC0804 的数据总线上读入数据,之后输出一个写信号,开始下一次转换。由于这种方式是异步进行的,读写信号彼此之间交互的产生,因此,能够满足上面提出的两点要求。采用这种方式,其难易程度与ADC0804 外部电路的接法密切相关。被动模式,在这种模式下,ADC0804 的读写信号完全由控制电路按照固定的时序产生,与其自身输出无关。采用这种方式,可以不考虑ADC0804 的输出,读写信号的产生只是用到了一个计数器,实现起来比较简单,而且,只要采集频率不是很高,那么,就可以很容易满足ADC0804 控制信号的时序要求。4.2 数据接口在这一部分,主要存在的问题是:相对于AVALON 总线信号来说,A/D 采样的速率非常低,而且,AVALON 总线的接口信号和ADC0804 数据输出的接口信号时序不一致。因此,要实现满足要求的数据通道,要做到两点,数据缓冲,实现速率匹配。信号隔离,实现接口时序的转换。解决这两点,可以将两端口通过一个异步的FIFO 连接,该FIFO 应该是可以在不同的时钟信号下进行异步的读写。这样的一个FIFO 的实现可以在Quartus-II 里面用ALTERA 公司提供的FIFO Core 进行定制。在本设计中,定制的FIFO 模块如图3。图3 FIFO 原理图 其中,data7.0 数据输入端口、q7.0数据输出端口、wrreq、wrclk 分别是写允许和写时钟信号线、rdreq、rdclk 分别是读允许和读时钟信号线,wrfull、rdempty 分别是FIFO 满和空信号线、aclr 为异步清空信号线,高电平有效。以下是8 字节FIFO 逻辑仿真图:图4 FIFO 时序仿真图 以上时序图中各信号都是高电平有效。初始状态,rdempty 有效,wrfull 无效。当写允许信号wr 有效时,外部输入的数据data 在写时钟wrclk 的作用下写入到FIFO 的缓冲区。当有数据暂存在FIFO 中时,rdempty 变为无效。当FIFO 中已有N-1(N 为FIFO 数据缓冲区的长度)个数据时,写入第N 个数据,wrfull 变为有效,此时外部的数据不能写入FIFO。如图中标志,在写入数据08 时,wrfull 为有效,导致08 没有写入FIFO 中。当读允许信号rd 有效,FIFO 不为空时,在读时钟rdclk 的作用下数据从q 输出。4.3 数据处理单元 在这一部分,设计中实现了外部数据的异常检测,即、当外部的数据超过预设的范围时,数据处理模块会向处理器输出中断信号,通知处理器进行处理。由于此部分在实现时没有时序上的严格要求,只须完成功能需求即可,其难易与其实现的功能相关,就本例实现的功能而言,逻辑描述比较简单。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他5 设计实现 下面是综合以上所述,在Quartus-II 中设计实现的ADC0804 数据采集接口控制模块的原理图。图5 A/D 数据采集控制模块原理图 在图(5)中,read、readdata、reset、irq 分别与AVALON 总线相同命名的信号线相连,readclk 与AVALON 总线中clk 相连, AD_50 与FPGA 的系统时钟相连,wr_n、rd_n、writedata分别与ADC0804 的写信号线、读信号线、数据线相连。在图(5)中,ADC0804 控制信号产生单元的实现,采用的是上文提到的被动模式,该单元以固定的时序产生读写信号,本设计中使用的采样频率约为3200HZ,此频率可以根据用户的需要而设定,只要不超过10KHZ 即可。 当系统加电后,wr_n 输出一个有效的写信号启动A/D 转换,经过足够的时间后(T=327us328us),输出读信号,此时数据接口单元的写允许信号wr_fifo 变为有效,同时外部A/D 转换器的读允许信号也变为有效,此后ADC0804 的数据端口上输出有效数据,在wr_clk 的上升沿将A/D 转换器的数据读入FIFO。控制逻辑单元的时序仿真图如下:图6 控制信号时序仿真 由时序图可以知道,在wr_fifo 有效时,ADC0804 必须在wr_clk 的上升沿到来之前在其数据端口输出有效的数据。由于wr_clk 的周期为1us,ADC0804 的输出锁存由其读引脚rd 控制,rd 变为有效即可输出有效的数据,故只要ADC0804 的读信号rd 在外部输入的作用下变为有效的时间不超过500ns,读操作就不会出现问题。又由ADC0804 的数据手册可以知道,ADC0804 的rd 信号三态延时最大值为200ns,典型值为125ns,因此设计的控制信号产生逻辑单元满足要求。 当NIOS 系统需要读取数据时,在read 和readclk 上出现的是系统AVALON 总线上的读时序。时序图如下:图7 基本从端口读传输 在AVALON 总线中定义了两种类型的信号,一种是高电平有效,另一种是低电平有效。在本设计中选用的是高电平有效的类型。图(7)是低电平有效的总线信号,与之对应的高电平有效的总线信号时序图中,read 在有效时为高电平对应于图(7)中的readn 的低电平部分。又由图(4)可以看出,该总线读操作时序完全满足FIFO 读操作时序。图7 中,address,be-n 和chipselect 在此可以不与考虑,添加到AVALON 总线时,系统会自动处理其连接问题。 当系统不读取A/D 转换的数据时,采集的数据由数据处理单元控制处理。数据处理单元实现了对外部信号量的异常检测,即,当外部信号的幅值超出设定范围时,该单元产生一个中断信号,通知CPU 采取相关处理措施,否则,在FIFO 满的时候,将其内容清空。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他6 添加外设到NIOS 系统中:在此介绍一种相对较为简单的方法将设计的外设接口接入NIOS 系统。步骤如下: 在Quartus-II 中创建一个工程,完成ADC0804 和NIOS 接口模块的相关设计。 将设计的各部分综合成一个.bdf 文件或是用硬件描述语言对其综合。 将设计的相关文件(.bdf、.verilog hdl)复制到要添加此模块的NIOS 工程目录下面去。 在已有的NIOS 系统中添加用户接口逻辑(interface to user logic ),按照添加向导的提示,将设计的顶层文件加入到相应的栏目中。如下图:图8 添加用户逻辑图形向导并要设置好信号线的类型,确定其是否是AVALON 总线的信号线,还是外部信号线。 加入到NIOS 系统后,编译,生成完整的硬件系统。 为生成的系统创建软件工程,编写测试代码。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之耕镍嘿斌诚殿鲤锯沦舶诧守凳秽冷暇额酝聘他7 总结 以上的设计,经测试,具有较好的性能,可以不间断无数据丢失的进行数据采集,CPU可以主动的读取数据,也可以在数据处理单元检测到外部异常信号时被动的获取数据,并且CPU 读取数据的操作极其简单,运行时只占用很少的CPU 资源,虽然如此,但这种实现方式也有一些缺陷,如只能以单一频率进行采集,数据处理机制比较简单,控制部分与ADC0804 之间缺乏交互等,这些使得最终的实现结果不是很完美。在此,仅希望本文能在如何设计NIOS 系统外设方面给读者以参考借鉴,同时,更希望有兴趣的读者对文中留下问题作更深入的探讨。NIOS-II 中AD转换接口设计在NIOS-II 系统中AD 数据采集接口的设计与实现 随着电子技术的发展,电子系统设计的规模和复杂程度不断的加大,与此同时,人们对电子产品的各方面性能的要求都在不断的升高,对于开发商来说,以最快的速度,开发出满足市场需要的电子产品是最根本的目的。显然,名讨吴氯箔专昨凶牟评迭坦瑰增肚蛤打络孔深量郸彰阻无炮渣尚固激显馆袁汁力幅奇皂艳俭瞳笛屹之

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论