代码下载
加速度计 ADXL362 Pmod 控制器 ( 顶层文件 ):
版本1.1: pmod_accelerometer_adxl362.vhd (14.2 KB)
修复了复位后间歇性出现的问题
版本1.0: pmod_accelerometer_adxl362_v1_0.vhd (14.1 KB)
首次公开发布
SPI 主控制器(必须同时包含在项目中):
spi_master.vhd (8.8 KB)
特点
- 用于简化Digilent PmodACL2(适配ADI ADXL362加速度计的Pmod模块)接口的VHDL源代码
- 持续通过3条并行总线输出最新的三轴加速度数据
- 处理SPI通信以配置并获取加速度计Pmod的数据
- 可配置的加速度计数据量程
- 可配置的加速度计数据速率
- 可配置系统时钟频率
介绍
该组件详细描述了与Digilent加速度计ADXL362 Pmod的接口处理,如图1所示。图2展示了该加速度计Pmod控制器集成到系统中的典型实例。如图所示,加速度计Pmod控制器连接Pmod端口并执行事务以配置加速度计并采集数据。数据持续更新并通过3条简易并行总线(对应三个轴向)输出,可连接至用户逻辑或FPGA输出端口。
图 1. Digilent加速度计ADXL362 Pmod模块
图 2. 实现示例
操作原理
加速度计Pmod控制器主要由状态机和SPI主控组件构成。
状态机
该设计采用图 3 所示的状态机来实现其操作。上电后组件立即进入启动状态,初始化其他状态所需的参数。随后进入暂停状态。此处,它在SPI事务之间暂停200纳秒。随后选择与加速度计执行的3个事务中的哪一个。前2个事务由配置状态执行(设置加速度计的数据范围和数据速率,然后启用测量)。每完成一个事务即返回暂停状态。当两个配置事务都完成后,暂停状态会重复选择第3个事务,进入read_data 状态执行该事务。该状态读取三轴加速度数据后,转入output_result 状态。output_result 状态将数据写入acceleration_x 、acceleration_y 和acceleration_z 输出总线,然后返回到pause 状态。任何时候重置组件都会使其返回到start 状态。
图 3. 状态图
SPI 主控制器
在configure 和read_data 状态期间,状态机控制一个SPI主控制器组件与Pmod上的加速度计通信。SPI主控制器的文档可在此处查阅。
该设计以CPOL=‘0’和CPHA=‘0’模式实现SPI主机。根据系统时钟频率(由clk_freq 通用参数指定,见下文)设置clk_div 参数,以ADXL362数据手册中规定的最大SPI频率(即8MHz)与加速度计通信。
本设计还利用SPI主控制器的连续模式特性来执行不同长度的传输事务。配置状态下的传输长度为24位,而read_data 状态下的传输由64位组成。
配置加速度计 Pmod 控制器
通过设置实体中的通用参数来配置加速度计Pmod控制器。
系统时钟频率
必须将通用参数clk_freq 设置为提供给加速度计Pmod控制器clk 端口的系统时钟频率。
数据速率
通用参数data_rate 定义了ADXL362加速度计的采样频率。该参数为对应目标数据速率的速率代码,定义见ADXL362数据手册表17。带宽和功耗随数据速率的提高而增加。表1描述了选项并列出了速率代码。默认速率代码"011"将加速度计配置为100Hz输出数据速率。
表 1. 数据速率选项
数据范围
通用参数data_range 定义加速度计测量的加速度值范围。该参数由配置加速度计数据格式寄存器的位组成,定义见ADXL362数据手册表17。灵敏度随量程变化。表2描述了选项并列出了参数设置。默认设置为"00",将加速度计配置为±2g输出数据范围。
表 2. 数据范围选项
端口描述
表3描述了加速度计Pmod控制器的端口。
表 3. 端口描述
连接方式
该Pmod配备12针连接器。表4提供了该连接器的引脚定义。需将加速度计Pmod控制器的端口分配至FPGA引脚,这些引脚已按列表路由至连接器。
表 4. 加速度计Pmod引脚定义及与加速度计Pmod控制器的连接
复位
reset_n 输入端口必须保持逻辑高电平,加速度计Pmod控制器组件才能运行。该端口的低电平将异步复位组件。复位期间,组件将中止与Pmod的当前事务,并清除acceleration_x 、acceleration_y 和acceleration_z 数据输出。退出复位状态后,加速度Pmod控制器将重启操作。它会重新配置加速度计,随后恢复采集并输出加速度数据。
结论
这款加速度计Pmod控制器是可编程逻辑元件,可与Digilent的PmodACL2(加速度计ADXL362 Pmod)进行接口连接。它负责处理与该Pmod的所有通信,包括配置Pmod加速度计的数据范围与速率、激活测量,并通过3个并行输出总线(每个轴向对应一个)持续提供更新的加速度数据流。
附加信息
Analog Devices ADXL362 datasheet (11.1 MB)






