现在的位置: 首页>正文

Nexys3学习笔记(二)——添加GPIO外设

2012年02月15日 作者: 暂无评论 884+ 0

上次已经建立了一个简单的嵌入式系统。怎样往这个系统里添加设备呢?

Nexys3上有8个LED灯和一个4位7段数码显示管,都是通过GPIO接口与FPGA相连。今天就在系统里加入这些GPIO外设。希望达到8个开关分别控制LED灯的亮灭。4个按钮能控制4位的数码管相应的亮灭。同时希望数码管能定时显示数字,这就需要一个定时器,而且希望按钮按下和放开时能产生一个中断。这样算下来总共需要添加4个IP:LED控制,数码管控制,一个定时器,一个中断控制。

1.硬件修改

运行XPS,直接打开建立好的最小系统。在IP catalog栏目下能看到所有能添加的IP,首先添加LED控制IP,这个属于General Purpose IO,如下

1331618218_1f2012f1

GPIO信号宽度选择8位,同样的可以添加其他3个IP。数码管控制IP

1331618224_dcda429a

计时器

1331618230_954e1c2e中断控制

1331618234_2ce3faf5

所有IP添加好了后,这才是第一步,此时所有的连接都没有。首先考虑所有的添加的IP核外部连线有多少,可以知道led灯有8个外部引脚,数码管有12个外部连线。所以首先修改system.mhs文件,先添加引脚端口,如下

1331618238_9c96ec0c

然后确定这些外部端口的管脚分配,修改system.ucf文件

1331618244_eb0ba26b

之后先连接新添加的IP的PLB总线接口

1331618250_8b13ef1c

连接IP之间的信号连线,同时修改button控制IP增加一个中断。新添加的IP信号都是没有连接的,因此这里需要知道些信号流向。如下:定时器中断和按钮中断连接到中断控制器;中断控制器和microblaze中断信号相连;两个GPIO的IP输出都接到外部引脚。

1331618255_5b901f2b1331618265_5b89f2f21331618270_33075520

接下来设置各个IP的地址分配

1331618275_2837dc68

到这里,硬件修改算是完成了,可以编译产生流文件了。

2.软件测试

同样的在XPS中将硬件设计导入EDK,这里以前建立的BSP支持包不能再使用了。删除以前的BSP,重新生成BSP支持包。步骤还是一样的File->New->Xilinx board support package。

然后我们可以使用digilent的一个demo程序,稍微修改就能够测试刚刚建立的系统。(GPIO_demo.rar)

首先建立一个空的工程File->New->Xilinx C Project,弹出窗口,选择Empty Application

1331618282_1299dac1

导入源文件进行编译。生成.elf文件。

1331618288_1db458f9

可以看到先前建立的peripheral test工程还在,重新编译后也能够下载到FPGA中运行,硬件平台建立好了以后,可以运行不同的软件工程,非常方便。

还是同样的步骤选择Xilinx Tools->Program FPGA,之后右键点击.elf文件选择Run As->Launch on Hardware,程序开始运行了。

1331618293_fdeb2703

串口监视程序能显示运行的结果,按开关能控制相应的LED,7段数码管也显示正常。

1331618297_c60c7c26

小结:

学习了如何在嵌入式系统里添加需要的外设,操作还是很简便.不过需要知道所添加的IP核的内部信号连接,以及有没有外部信号连接,地址需要手动分配。总的来说,这个小系统的功能又增强了点。

参考链接:
http://www.eefocus.com/blog/myspace/index.php?act=update&tmpid=10535
http://www.xilinx.com/support/documentation/spartan-6.htm

发表评论

相关文章

我与树莓派一起成长——GPIO口

上节介绍到树莓派B上的DSI接口,虽然有些索然乏味,但是意在帮助大家熟悉一个接口定义,今天我们来聊聊树莓派B+上的26PIN GPIO扩展座。 怎么说呢?这个GPIO口扩展座可以说是最简单也同样是最...

FPGA
京微雅格:“爱国芯”冲顶高端市场

“这样的技术,中国不能没有!”这句时常被京微雅格(北京)科技有限公司CEO刘明挂在嘴边的话,如今已经深深植根于公司员工的心里,成为了他们不断前进的动力。那么这项“不能没有”的技术到底是...

零死角玩转stm32-初级篇之KEY(Polling)

 在LED灯例程中我们已经简单体验了GPIO的强大之处。更强大的还在后头,野火开发板使用的芯片型号是STM32F103VET6,具有100个管脚,除去晶振输入、电源输入、Boot引脚,剩下的80个引脚均为GP...

Digilent新品Nexys 4尝鲜

Nexys 4是Digilent公司的基于Xilinx公司最新的Artix-7系列FPGA的开发板。之前曾经发布过新闻Digilent新产品Nexys 4即将上市,如今步伐越来越近了。近日爱板网收到了Nexys 4的样品,据说是国...

Digilent新产品Nexys 4即将上市–Demo演示·赏新

Nexys 4 是Digilent最新推出的基于Xilinx Artix-7技术的高性能学习型板卡。Nexys 4板载大容量的FPGA芯片,拥有丰富的外部存储器资源。另外,Nexys 4拥有丰富的I/O器件,还内置了加速度计、温...