【原创】zynq-7010下运用I2C总线完成对LSM303D传感器的数据读取

本文详细介绍了如何在Zynq-7010 FPGA板上,利用Vivado和Xilinx SDK建立工程,通过I2C总线读取LSM303D传感器的磁场强度数据。作者分享了从创建Vivado工程,配置ZYNQ7 Processing System,添加AXI IIC IP,到生成bit文件,最后在SDK中编写和烧录程序的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

这是本人第一次写博客,我的毕设在用FPGA去读取LSM303D传感器的中的三轴的磁场强度数据,这也是我第一次用zynq-7010板子,第一次接触Vivado,我用了将近两个月的时间摸索,中间经历了很多失败的尝试,还好最近有了突破,因为目前网上基本没有关于FPGA读取LSM303D的资料,所以这也是我写这篇博文的出发点。

废话不多说,让我来一步步介绍如何通过I2C总线完成对LSM303D传感器数据的读取。本篇博文所用到的软件是Vivado 2014.4和Xilinx SDK 2014.4,用到的开发板是Zybo-7010.
这里写图片描述 这里写图片描述
这里写图片描述

一、在Vivado里建立工程

首先,我们打开Vivado软件(我用的是2014.4版本),主界面如图1所示。
图1  打开vivado软件

点击“Create New Project”,在弹出的新建工程向导中点击“Next”,弹出设置工程名和工程路径的对话框,如图2所示。在“Project name”项中输入工程名LSM303D,在“Project location”项中输入或选择工程的路径,而“Create project subdirectory”如果勾选,则会在所选的工程路径中创建一个名字与工程名一样的用于存放工程的新文件,否则直接在所选工程路径下创建工程。

图2  设置工程名和工程路径

点击“Next”,弹出选择工程类型的对话框,如图3所示。选择RTL类型,请注意RTL类型下有“Do not specify sources at this time”选项,意思是在新建工程过程中不指定源文件。

图3  选择工程类型

点击“Next”,弹出选择器件型号的对话框,我们在“Search”栏里输入xc7z010clg400,选择xc7z010clg400-1,如图4所示。

图4 选择器件型号

点击“Next”,在弹出的对话框中点击“Finish”完成工程的创建。创建工程后的主界面如图5所示,其中左侧面板是设计流程的管理,从源文件的添加到综合、仿真、布局布线、到最后板级调试,都可以通过点击相应的按键来完成;中间上面的面板是工程文件的管理;右侧面板是工程信息总结,包括工程的基本信息、综合实现所消耗的资源信息等;底部面板是各种信息的输出,包括编译信息、报告等。

图5 Vivado工程主界面

在主界面左侧的“IP Integrator”下点击“Create Block Design”,在弹出的“Design name”对话框中输入LSM303D,如图6所示。

图6 输入Design name

点击“OK”,出现如图7所示界面,此时的Block Design里还没有任何的IP核,因此我们要添加IP来完成我们的Block Design。

图7 新建立的空的Block Design

点击右侧Diagram中高亮的“Add IP”来添加IP核,首先我们在输入框内输入ZYNQ,在筛选出的结果下选择第一个“ZYNQ7 Processing System”,Diagram中便会出现ZYNQ7 Processing System IP,如图8、图9所示。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值