任务介绍
本项目旨在设计并实现一款小型化、高性能的IMU模块,能够完成加速度、角速度及磁场的测量。该IMU模块拥有稳定可靠的数据输出接口(I2C与SPI)与MCU连接,也具备可扩展的辅助接口以连接其他传感器,同时提供焊盘跳线便于控制上电与通信模式选择。
模块介绍
本模块核心传感器为ICM-20948(DigiKey网址:ICM-20948 TDK InvenSense | 传感器,变送器 | DigiKey)。该传感器集成了三轴加速度计、三轴陀螺仪与三轴磁力计,能够实时提供设备在三维空间中的运动与姿态信息,支持I2C与SPI协议。
为了满足传感器对供电及信号电平的要求,模块在硬件设计上引入了多种功能电路:首先,采用MIC5225-1.8YM5-TR(Digikey网址:MIC5225-1.8YM5-TR Microchip Technology | 集成电路(IC) | DigiKey)作为稳压器将外部输入的3.3V电源稳压为1.8V,为传感器的VDDIO及内部逻辑供电;其次,利用PCA9306DQER(Digikey网址:PCA9306DQER Texas Instruments | 集成电路(IC) | DigiKey)双向电平转换器实现I²C接口在1.8V与3.3V系统间的转换,并在SPI及控制信号路径上配置SN74AVC系列电平转换器(Digikey网址:SN74AVC4T245DYYR Texas Instruments | 集成电路(IC) | DigiKey与SN74AVC1T45DCKR Texas Instruments | 集成电路(IC) | DigiKey 市场)完成方向固定的电平转换,确保与主控MCU的兼容性。
模块接口处,3.3V的电源输入处加入PESD3V3S1UL,315(Digikey网址:PESD3V3S1UL,315 Nexperia USA Inc. | 电路保护 | DigiKey)作为ESD保护器件,有效提升抗静电能力与环境适应性。同时ICM的AUX_CL与AUX_DA引脚直接引出至外部接口,并在1.8V侧提供上拉,以方便用户扩展额外的I2C传感器,兼具了设计的稳定性与扩展性。
原理图与PCB设计
电源部分为了确保其在低功耗、高稳定的供电环境下工作,同时在输入与输出端均布置去耦电容,减小电源纹波与瞬态干扰。
信号接口方面,I2C总线通过PCA9306进行电平翻译,并在两侧分别配置匹配阻值的上拉电阻,确保总线空闲电平和信号完整性;SPI及控制输入信号(SCLK、SDI、CS、FSYNC)采用SN74AVC4T245DYYR四通道方向固定电平转换器,在B侧加入22Ω串联电阻以降低信号反射,SPI及控制输出信号(SDO、INT)则使用SN74AVC1T45DCKR单通道电平转换器,在A侧加入47Ω串联电阻以提升信号边沿控制能力。
焊盘跳线方面,SN74AVC4T245DYYR的两组使能信号通过双端跳线控制,ICM的9、22、23、24复用引脚通过三端跳线控制,具体控制方式见后文“使用方式”一栏。
PCB方面,正面左上角丝印处印有磁力计的三轴方向,左下角丝印处印有加速度计与陀螺仪三轴方向。
性能指标
项目类别 | 指标参数 | 说明 |
供电电源 | 主供电:+3.3V(±5%) 内部LDO输出:+1.8V(传感器VDDIO) | 由MIC5225稳压供电 |
加速度计 | 量程范围:±2g/±4g/±8g/±16g 分辨率:16-bit | 可通过寄存器配置量程 |
陀螺仪 | 量程范围:±250/±500/±1000/±2000dps 分辨率:16-bit | 可通过寄存器配置量程 |
磁力计 | 量程范围:±4900μT 分辨率:16-bit | 内部AK09916三轴磁力计 |
采样率 | 加速度计/陀螺仪:1Hz~1.125kHz 磁力计:1Hz~100Hz | 支持多种低功耗模式 |
通信接口 | I²C:最高400kHz SPI:最高7MHz | 模块同时支持I²C与SPI |
ESD防护 | ±8kV接触放电,±15kV空气放电 | 使用PESD3V3S1UL保护 |
管脚定义
管脚编号 | 名称 | 属性 | 电平 | 说明 |
1 | GND | P | — | 模块地 |
2 | 3V3 | P | 3V3 | 外部主供电 |
3 | SCL | I/O | 3V3 | I2C时钟 |
4 | SDA | I/O | 3V3 | I2C数据 |
5 | SCLK | IN | 3V3 | SPI时钟 |
6 | SDI | IN | 3V3 | SPI主出从入 |
7 | SDO | OUT | 3V3 | SPI从出主入 |
8 | CS | IN | 3V3 | SPI片选 |
9 | SNC | IN | 3V3 | 外部帧同步 |
10 | INT | OUT | 3V3 | 中断输出(空闲时默认为高) |
11 | ACLK | I/O | 1V8 | 辅助I2C时钟 |
12 | ADAT | I/O | 1V8 | 辅助I2C数据 |
板上设置与使用方法
上电后,模块内部电源及信号稳定需要短暂延时,确保LDO输出稳定,电平转换器输出正常。
SN74AVC4T245DYYR拥有两组使能信号1OE与2OE,默认状态下使能信号拉高进入Hi-Z状态保持禁止(上电保护),当两侧电源稳定时将跳线SJ1与SJ2相连,此时1OE与2OE接地,电平转换器工作。
模块同时提供I2C与SPI接口(两种模式不能同时工作)——通过三端跳线SJ3、SJ4、SJ5、SJ6进行切换,若要使用I2C模式,四个跳线均桥接1、2脚,确保nCS
引脚被拉高,模块I2C总线通过PCA9306与主控MCU连接,地址AD0输入拉高使得初始地址为0x69;若要使用SPI模式,四个跳线均桥接2、3脚,使得SPI总线通过SN74AVC与主控MCN连接。ACLK与ADAT为辅助接口,可用于连接额外I2C传感器,请确保接入的外部设备逻辑电平为1.8V。
INT引脚可配置极性,请配置为开漏模式、低有效,MCU端可使用下降沿触发中断。
eZ-PLM项目
已于eZ-PLM系统中上传了自己的工程文件,方便保存记录各个版本,也可随时查阅,系统里查阅不到的物料也支持手动添加。
心得体会
本次设计不仅锻炼了我的电路设计和PCB绘制能力,也让我对嵌入式设计产生了浓厚的兴趣,很期待后面的活动内容,我也会从模块化的设计开始,慢慢学习复杂板子的设计。