差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
智能接近系统设计 [2019/04/12 02:12]
gongyu
智能接近系统设计 [2020/01/18 21:56]
gongyu
行 1: 行 1:
-###​智能接近系统设计+### 基于接近式传感器的智能接近系统设计
  
------+---
  
-====实验任务====+#### 实验任务
  
   * 任务:智能手机通话,手机靠近耳朵后关闭屏显,基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成智能接近系统设计并观察调试结果   * 任务:智能手机通话,手机靠近耳朵后关闭屏显,基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成智能接近系统设计并观察调试结果
行 9: 行 9:
   * 解析:通过FPGA编程驱动接近式传感器APDS-9901,获取接近距离信息,然后根据距离信息编码控制8个LED灯按能量条方式点亮。   * 解析:通过FPGA编程驱动接近式传感器APDS-9901,获取接近距离信息,然后根据距离信息编码控制8个LED灯按能量条方式点亮。
  
-====实验目的====+#### 实验目的
  
 本节实验主要学习I2C总线工作原理、协议及相关知识,掌握FPGA驱动I2C设备的原理及方法,了解输入输出型端口的模型及控制实现,最终实现智能接近系统的总体设计。 本节实验主要学习I2C总线工作原理、协议及相关知识,掌握FPGA驱动I2C设备的原理及方法,了解输入输出型端口的模型及控制实现,最终实现智能接近系统的总体设计。
行 16: 行 16:
   * 完成智能接近系统设计实现   * 完成智能接近系统设计实现
  
-====设计框图====+#### 设计框图
  
 根据前面的实验解析我们可以得知,该设计可以拆分成两个功能模块实现, 根据前面的实验解析我们可以得知,该设计可以拆分成两个功能模块实现,
行 23: 行 23:
  
 {{:​9-Top-Down层次设计.png?​500|Top-Down层次设计}} {{:​9-模块结构设计.png?​500|模块结构设计}} {{:​9-Top-Down层次设计.png?​500|Top-Down层次设计}} {{:​9-模块结构设计.png?​500|模块结构设计}}
-====实验原理==== 
  
-===I2C总线介绍===+#### 实验原理 
 + 
 +##### I2C总线介绍
  
 I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。 I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
行 59: 行 60:
 常见的I²C总线依传输速率的不同而有不同的模式:标准模式(100 Kbit/​s)、低速模式(10 Kbit/​s),但时钟频率可被允许下降至零,这代表可以暂停通信。而新一代的I2C总线可以和更多的节点(支持10比特长度的地址空间)以更快的速率通信:快速模式(400 Kbit/​s)、高速模式(3.4 Mbit/​s)。 常见的I²C总线依传输速率的不同而有不同的模式:标准模式(100 Kbit/​s)、低速模式(10 Kbit/​s),但时钟频率可被允许下降至零,这代表可以暂停通信。而新一代的I2C总线可以和更多的节点(支持10比特长度的地址空间)以更快的速率通信:快速模式(400 Kbit/​s)、高速模式(3.4 Mbit/​s)。
  
-===APDS-9901模块连接===+##### APDS-9901模块连接
  
 STEP BaseBoard V3.0底板上的接近光传感器APDS-9901模块电路图如下(上拉电阻未显示): STEP BaseBoard V3.0底板上的接近光传感器APDS-9901模块电路图如下(上拉电阻未显示):
行 69: 行 70:
 {{:​9-APDS-9901内部框图.png?​600|APDS-9901内部框图}} {{:​9-APDS-9901内部框图.png?​600|APDS-9901内部框图}}
  
-===双向端口设计===+##### 双向端口设计
  
 可综合Verilog模块设计中必须有端口存在,端口有输入input,输出output,双向inout,对于输入和输出型端口我们很好理解,我们来了解一下双向端口信号的处理。 可综合Verilog模块设计中必须有端口存在,端口有输入input,输出output,双向inout,对于输入和输出型端口我们很好理解,我们来了解一下双向端口信号的处理。
行 96: 行 97:
 </​code>​ </​code>​
  
-===APDS-9901驱动设计===+##### APDS-9901驱动设计
  
 通过前面的了解,我们对于整个I2C总线的驱动原理有了一定的了解,接下来我们根据APDS-9901的芯片手册了解其驱动方法及参数要点。 通过前面的了解,我们对于整个I2C总线的驱动原理有了一定的了解,接下来我们根据APDS-9901的芯片手册了解其驱动方法及参数要点。
行 337: 行 338:
 </​code>​ </​code>​
  
-===系统总体实现===+##### 系统总体实现
  
 程序中我们做了一个简单的滤波处理,为了保证数据的有效,将瞬间变化太大的采样数据舍弃,程序实现如下: 程序中我们做了一个简单的滤波处理,为了保证数据的有效,将瞬间变化太大的采样数据舍弃,程序实现如下:
行 398: 行 399:
  
  
-====实验步骤====+#### 实验步骤
   - 双击打开Quartus Prime工具软件;   - 双击打开Quartus Prime工具软件;
   - 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);   - 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);
行 409: 行 410:
  
  
-====实验现象====+#### 实验现象
  
 将设计加载到FPGA,手指在接近光传感器上下移动,观察核心板上8个LED灯的状态,APDS-9901还是环境光传感器,有兴趣的同学可以尝试一下其他应用。 将设计加载到FPGA,手指在接近光传感器上下移动,观察核心板上8个LED灯的状态,APDS-9901还是环境光传感器,有兴趣的同学可以尝试一下其他应用。
  
 {{:​9-实验现象.png?​600|实验现象示意}} {{:​9-实验现象.png?​600|实验现象示意}}