- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
N_2_NIOS整体开发结构基础(经典).doc
NIOS整体开发结构基础上个例子中,我们使用VHDL语言,根据FPGA管脚与数码管和按键管脚的连接,通过一系列的语句控制管脚电平的高低,从而让FPGA实现数码管显示功能。可见,对于比较简单的功能实现,可以像这个例子中那样,直接控制最底层资源,甚至对每个管脚在每个时刻的电平输出了如指掌。
?????? 但是,如果设计稍显复杂,那么对底层细节的过多关注就会成为一种累赘。
????试想我们平时在电脑上编写C程序,比如在显示器上输出一行字,我们只用一句printf()即可完成,至于打印命令怎么传到显示芯片上,哪个芯片管脚怎么 变化,又怎么传到显示器上输出,诸如此类涉及底层硬件的问题,我们没必要关注太多。于是,我们把用printf()这类高级语言描述设计逻辑的工作称为软 件设计。显然,软件只是一种抽象的看不见摸不着的东西,它的结构接近于人类思维逻辑。无论软件再怎样构思精妙,只有在硬件上才能体现出实际效果。
?????? 做计算机开发应用程序的时候,硬件是现成的,软硬件之间的桥梁早就由操作系统给你搭好了,我们只需专心完成软件的构思和设计就OK。
?????? 显而易见,软硬件的分工会给电子设计带来极大的方便,自然有人把这种分工方式引进FPGA设计领域,琢磨着怎么在小小的FPGA上也搞个软硬件协同设计,负责硬件设计的和负责软件的各司其职,最后pia一整合,效率倍增。
?????? 来看看nios是怎么做的。拿出DE2开发板,上面很多外设接口和与之连接的芯片,那是硬件,中间有一块大的CycloneII芯片,里面是空的,等着我 们编写程序下载到里面运行,前篇文章我们用最原始的方法写了个数码管控制器,这次我们换种方法,同样是数码管控制器,用软硬件协同设计来完成。
?????? 跟计算机对比,硬件我们有了,软件就用C语言来写,但是nios系统可没提供WinXP,也就是说软件和硬件之间的那座桥还得自己解决。
?????? 看上图,这座桥分为3个层次:硬件控制层,设备驱动层,硬件抽象层(简称HAL)。既然是软硬件的过渡部分,那么这3层的设计需要对硬件和软件都有一定程度的了解,姑且称之为“软硬件混杂设计”吧。
?????? 每一层所要完成的任务,就是整合和简化硬件操作细节,整合,再整合,使其一目了然。
?????? 1 硬件控制层
????与硬件直接打交道的是硬件控制层。
????上面提到,搭“桥”的目的是让软件设计人员可以完全忽略硬件操作细节,因此,我们希望所有的硬件细节都能在这层解决,并向设备驱动层提供整齐的“接口”。之前的例子可看作硬件控制器的雏形,但还缺少与设备驱动层的接口。
????何为“整齐”呢?比如说,设计数码管控制器,我想让它显示数字“5”,最好的方法是,我将数据“5”和表示“显示”的命令从设备驱动层传给硬件控制层,直 接告诉它:我要“数码管”“显示”“5”。至于要控制哪个管脚电平高低才能显示“5”,全由硬件控制层负责。
????类似这样分工合作的例子在日常生活中屡见不鲜。比如说,邮局要将一封信送给家住A小区的张三,邮递员把信放入A小区的信箱,小区物业再去确认张三的具体住处,把信最终送到张三手中。
????类比可见,邮局相当于设备驱动,物业相当于硬件管理器,张三则是具体的硬件,邮局和物业之间的接口是物业提供的信箱,设备驱动和硬件管理层之间的接口,我们称之为“寄存器”,同样由硬件管理层提供,“寄存器”是两层之间得以明确分工和相互联系的关键。
????设备驱动开发人员眼中的硬件就是一组寄存器的抽象,通过读写寄存器间接控制硬件行为。
????那么,在数码管控制器里加入一个数据寄存器和一个命令寄存器:
?????? data_reg存储待显示的数据,cmd_reg为‘1’时显示,为‘0’时清空。
?????? 2 Avalon总线
?????? 你可能会说,这有什么?在每个硬件管理器和设备驱动之间都建立一个通道呗。这是最直接的办法,但显然不是最好的办法。试想,城市为什么要建高速公路呢?多 修几十根羊肠小道不也一样能跑车吗?有人回答:为了收养路费呗。$%@! 小路上开车,速度慢且不说,管理协调是个大问题,是一条大公路容易管理,还是几十根羊肠容易理顺?
???? 好了,回到正题,nios系统需要一条“高速公路”,称为“总线”,“总线仲裁器”则行使“交通管理局”的角色,控制数据的进出,并为每个硬件提供一个进 出“高速公路”的接口,用“地址”来标识这个接口的位置。nios采用的是Avalon总线,它有着一套接口规范:
?????? 同步时钟 clk?????? 片选信号 chipselect?????? 地址 address?????? 读请求 read?????? 读传输 readdata?????? 写请求 write?????? 写传输
您可能关注的文档
- KESEM灌浆试验总结报告 Microsoft Word 文档.doc
- KHP-Z带式输送机综合保护装置主机说明书.doc
- KHP289-Z煤矿用隔爆兼本安型带式输送机保护装置主机企标#.doc
- KHP289-Z煤矿用隔爆兼本安型带式输送机保护装置主机说明书.doc
- KMPlayer分离器解析和最优设置.doc
- KPI与平衡计分卡.doc
- L05 新一代WNAC智能无线控制器的集中转发模式(EBR模式).doc
- LABVIEW_智能小车毕业设计.doc
- LB-1500型沥青砼搅拌站技术规格书(新型).doc
- LBP三相组合式过电压保护器使用说明书.doc
- 4.4 探索三角形相似的条件同步练习2024-2025学年北师大版数学 九年级上册 .docx
- 2024-2025学年九年级上学期浙教版数学期末模拟试卷.docx
- 第一章特殊平行四边形 选择题专训2024-2025学年北师大版数学九年级上册.docx
- 决胜2025年中考数学解答题:圆5大考点汇总与跟踪训练.docx
- 第四章 图形的相似单元测试2024-2025学年北师大版数学九年级上册.docx
- 11.2.2三角形的外角 课时作业2024—2025学年人教版八年级数学上册 .docx
- 4.3用一元一次方程解决问题(分段收费、方案选择、几何图形)巩固练习 2024-2025学年苏科版数学七年级上册 .docx
- 3.3一元一次方程的应用 第一课时(图形及行程问题) 2024-2025学年沪科版数学七年级上册 .docx
- 第一章 特殊平行四边形 单元复习题.docx
- 2024年九年级二次函数中的动点问题专项练习.docx
文档评论(0)