今天给大家带来一款神器:由逐飞科技设计制作的基于恩智浦 LPC845 的传感器模拟模块,其实叫它传感器模拟模块也并不太准确,因为从本质上讲,是对 UART,SPI,IIC 等通信端口的模拟,很多传感器都是采用的这些通信方式输出,比如陀螺仪 MPU6050、气压计 MS5611、温湿度计 SHT31、TOF 激光测距 VL53L0X 等传感器都可以模拟出来。
同时它还可以作为 PWM 输出,还可以做 DA 输出,还可以采集 AD 输入,玩法多多,对工程师的日常调试工作来说非常方便,在产品开发前期或者用来学习多种传感器都是一个非常方便的小模块,不用来来回回去连接多个传感器做测试,有了这个传感器模拟模块,很多开发、学习工作都可以开展了。
说得好不如产品好,接下来小编就带大家一起了解下逐飞的“多功能传感器模拟模块”到底有哪些特点和功能,我们直接通过模块的接口图来看看模块具备哪些功能:
数字通讯接口:包含 UART,SPI,IIC 通讯功能引脚。同时也可以从此接口为模块提供 5V 用电。此接口引脚对应的功能如下图所示。
此接口还兼容 IoT EVK 的 FlexComm 接口,可以直接连接在 IoT EVK 开发板的任意 FlexComm 接口。如下图所示。
注意:此接口中的 5V 引脚仅可以作为电源输入功能使用,无法对外输出 5V 供电。
模拟+PWM 接口:包含 ADC,DAC,PWM 功能。可以向外输出 PWM 波形,或进行模拟电压输出,以及模拟电压采集的功能。此接口引脚对应的功能如下图所示。
请注意,此接口中所有输入输出引脚最高可承受电压为 3.6V。如果电压超过 3.6V,可能造成模块永久损坏。
3.3V 引脚可以对外最高输出 400mA 电流。请勿将此引脚与 GND 短接,否则可能会导致烧毁模块上的 3.3V 稳压芯片。
1.14 寸 IPS 屏幕接口:可以连接逐飞的 1.14 寸 IPS 屏幕。即可通过屏幕+按键来实现人机交互,实现本地配置模块的功能。
USB 接口(仅串口):此 USB 接口连接至板载 CH340 芯片(USB 转 TTL)。当通过此接口将模块连接到 PC 端时,将在 PC 端看到一个串口(COM)设备。可以通过此接口连接模块与 PC 上位机,实现通过上位机对模块功能进行配置。也可以实现从 USB Type-C 接口供电。
电源指示灯:当模块被供电时,此指示灯会亮起,发光颜色为黄色。
运行状态指示灯:当模块正常工作时,此指示灯会闪烁,以方便监视模块是否正常运行。
上下方向键:用于上下调整菜单选项。或在菜单中修改参数。
确认返回按键:用于进入 / 退出子菜单。或进行选项的确认 / 取消等操作。
看完接口说明我们大致了解了模块的功能,但还不够透彻,从上面的接口说明描述中我们可以发现,这个模块可以选择本地人机交互进行配置,也可以选择上位机来进行配置,这也是为大家可以灵活选择来做的精心考虑,如果选择使用上位机来进行配置,那么就可以选择不购买显示屏,这样可以更加节省,加上和恩智浦的联合推广,无屏版模块低至 55 元的劲爆价格,非常划算。
说回模块配置,首先看看本地配置,LPC845 传感器模拟模块在不使用上位机时,可使用按键搭配可选项的 IPS1.14 屏幕进行操作控制。屏幕 UI 界面一共 6 个界面:1 个主界面、5 个功能子页面。
MAIN MENU
主菜单页面是模块的第一个界面,在这个界面选择所需要进行模拟或输出的功能部分。
该界面下,使用 UP/DOWN 按键进行上下选择子界面,使用 ENTER 按键进入子页面。UART 选项对应模拟 USART 通信,选择该选项进入 USART 菜单;IIC 选项对应模拟 IIC 通信,选择该选项进入 IIC 菜单;SPI 选项对应模拟 SPI 通信,选择该选项进入 SPI 菜单;PWM 选项对应模拟 PWM 功能,选择该选项进入 PWM 菜单;ANA 选项对应 ANALOG 功能,选择该选项进入 ANALOG 菜单。
USART MENU
USART 界面下可以设置 USART 的通信参数,并选择工作模式,不使用上位机情况下只能使用默认的 send back 功能,将通信接口接收到的数据发回去。该界面下,使用 UP/DOWN 按键进行上下选择所需要修改的参数,使用 ENTER 进行选项参数修改,BACK 按键返回主菜单。
参数 baud rate 设置波特率选项,可选:4800、9600、19200、115200、230400;
参数 data bit 设置数据长度,可选:7、8;
参数 stop bit 设置停止位,可选:1、2;
参数 parity 设置校验模式,可选:NAN 无校验、EVEN 偶校验、ODD 奇校验;
设置完参数后,选择“---<>---”那一行的状态栏,ENTER 按下后开始按照所选参数进行串口通信。
IIC MENU
IIC 界面下可以设置 IIC 的通信参数,不使用上位机情况下只能使用默认的 send back 功能,将通信接口接收到的数据发回去,或者选择默认的陀螺仪 MPU6050、气压计 MS5611、温湿度计 SHT31、TOF 激光测距 VL53L0X 四个传感器的模拟功能进行传感器模拟,请注意传感器模拟功能仅适配逐飞科技开源库系列的外设驱动。该界面下,使用 UP/DOWN 按键进行上下选择所需要修改的参数,使用 ENTER 进行选项参数修改,BACK 按键返回主菜单。
参数 sensor 设置通信模拟,选项:send back、mpu6050、sht31、ms6511、vl53l0x,对应数据回传以及各个传感器模拟;
设置完参数后,选择“---<>---”那一行的状态栏,ENTER 按下后开始按照所选功能进行 IIC 通信。
SPI MENU
SPI 界面下可以设置 SPI 的通信参数,不使用上位机情况下只能使用默认的 send back 功能,发送固定数据“SEEKFREE”。该界面下,使用 UP/DOWN 按键进行上下选择所需要修改的参数,使用 ENTER 进行选项参数修改,BACK 按键返回主菜单。
参数 spi mode 设置 SPI 工作模式,选项:mode 0/1/2/3,对应 SPI 的四种模式;
参数 ssel spol 设置片选有效电平,选项:active low/high,对应低电平有效与高电平有效;
参数 data dir 设置数据方向,选项:MSB/LSB start,数据 MSB 与 LSB 模式;
参数 data len 设置数据长度,选项:4-16,最低 4bit 数据最高 16bit 数据;
设置完参数后,选择“---<>---”那一行的状态栏,ENTER 按下后开始按照所选功能进行 SPI 通信。
PWM MENU
PWM 界面下可以设置 PWM 的输出参数。该界面下,使用 UP/DOWN 按键进行上下选择所需要修改的参数,使用 ENTER 进行选项参数修改,BACK 按键返回主菜单。
参数 freq 设置 PWM 频率,最小 1Hz,最大 1MHz;
参数 duty 1 设置通道 1 输出的占空比:最大 100%,最小 0%;
参数 duty 2 设置通道 2 输出的占空比:最大 100%,最小 0%;
参数 duty 3 设置通道 3 输出的占空比:最大 100%,最小 0%;
参数 duty 4 设置通道 4 输出的占空比:最大 100%,最小 0%;
更改 freq 与 duty 参数时进入数据更改模式,数据按位更改,可更改位反白显示,使用 UP/DOWN 按键进行左右位选择,按下 UP 按键时可更改位从十位变成百位,按下 DOWN 按键时可更改位从百位变成十位,使用 ENTER 进行递减更改数值,更改完成后使用 BACK 按键退出更改模式;
设置完参数后,选择“---<>---”那一行的状态栏,ENTER 按下后开始输出 PWM 信号。
ANALOG MENU
ANALOG 界面下可以设置 ADC 的输出参数。该界面下,使用 UP/DOWN 按键进行上下选择所需要修改的参数,使用 ENTER 进行选项参数修改,BACK 按键返回主菜单。
参数 DAC output 设置 DAC 输出的电压:最大 300mv,最小 0mv,但实际输出会有偏差;
更改 DAC output 参数时进入数据更改模式,数据按位更改,可更改位反白显示,使用 UP/DOWN 按键进行左右位选择,按下 UP 按键时可更改位从十位变成百位,按下 DOWN 按键时可更改位从百位变成十位,使用 ENTER 进行递减更改数值,更改完成后使用 BACK 按键退出更改模式;
ADC input 仅作显示,显示 ADC 输入管脚的电压状态;
设置完参数后,选择“---<>---”那一行的状态栏,ENTER 按下后开始输出参数 DAC output 设置的模拟电压信号。
以上是通过本地人机交互实现的对模块的配置,还可以通过上位机来实现对模块的配置。使用 type-c 数据线连接 LPC845 模块至 PC 端。如图下所示,连接上 POWER 灯常亮,STAT 灯闪烁。
然后 PC 端打开对应上位机,如下图所示:
①选项框里面,可以选择自动搜索,点击打开串口后,就会自动打开 LPC845 传感器模拟模块相连接的上位机。如果知道确定的串口号,也可以选择具体的串口号后,点击打开串口。
串口连接完成,如下图所示,串口号下拉框变为灰色,打开串口按钮变为关闭串口,则上位机与模拟连接成功。
注意:在上位机连接成功的时候,LPC845 传感器模拟模块的按键是无效的,当 LPC845 模块断开与上位机的连接时,按键才能使用。
上位机与模块连接成功后就可以开始配置了。上位机可操作的功能分为三大类:传感器模拟,通讯测试,功能拓展。
传感器模拟
模拟 IIC 接口的 MPU6050 六轴陀螺仪加速度计传感器。
模拟 IIC 接口的 SHT31 温湿度传感器。
模拟 IIC 接口的 MS5611 高度传感器。
模拟 IIC 接口的 VL53L0X 激光测距传感器。
我们以模拟 MPU6050 传感器来举例说明,打开上位机选择 MPU6050 功能,点击开始模拟。如下图所示,此时 LPC845 模块就进入了 MPU6050 传感器模拟模式。
MPU6050 传感器模拟的功能是模拟 IIC 接口的 MPU6050 六轴陀螺仪加速度计传感器。命令与回应数据如下表所示。
这里我们以第一个命令做一个简单的说明,主机向 LPC845 模块模块发送设备地址 0x44 发送命令 0x3B,LPC845 模块回应 0x00, 0x??, 0x00, 0x??, 0x00, 0x??这 6 个数据,其中 0x??表示随机数。
通讯测试
模拟串口回显,也就是向 LPC845 模块发送什么串口数据,该模块就回复什么串口数据。
模拟 IIC 从机回显,也就是向 LPC845 模块发送什么 IIC 数据,该模块就回复什么 IIC 数据。
模拟 SPI 从机测试功能,也就是向 LPC845 模块发送任意的 SPI 数据,该模块就会回复 SEEKFREE 字符串。
我们以模拟串口回显来举例说明,打开上位机选择串口回显功能,设置好波特率、数据位、停止位和校验位后,点击开始模拟。如下图所示,此时 LPC845 模块就进入了串口回显模式。其功能是,通过其他外设通过串口给 LPC845 传感器模拟模块发送串口数据,发送什么,LPC845 模块就回应什么,实现了回显的功能。
功能拓展
简单的模拟串口。
模拟 IIC 接口的部分传感器。
PWM、ADC 和 DAC 外设功能。
我们以 ADC 和 ADC 模拟来做演示,我们将这两个功能做到了一个选项下面,目的是为了实现点击模拟的时,短接 ADC 和 DAC 可以很方便的实现自己模拟输出电压值,然后自己测量电压值。快速的达到理解这两个功能的作用。
注意 AC 输出范围是 0-3300Mv,ADC 输入范围 0-3300Mv 电压过大可能会烧坏 LPC845 模块。
点击开始模拟,如下图所示,DAC 输出的电压值为 1000MV,而 ADC 由于是悬空的,所以 ADC 获取到的值是一个随机数。
现在我们将 ADC 与 DAC 引脚短接起来,如下图所示,此时 DAC 输出 1000Mv,ADC 输入 1000Mv。这样就便捷的实现了两个实验。
更多功能演示在说明书中都有说明,何不自己上手这样一个神器呢,不论是做开发还是作为学习,都不失为一个功能丰富的模拟模块,这样的一款神器,还可以快速的让各位初学者认识和理解常见的通信端口,以及 PWM、ADC、DAC 这些常用的单片机模块,希望你们喜欢。
最后:多功能模拟模块已经在逐飞科技淘宝店上架,现货发售,进店搜索 LPC 即可找到相关模块。IoT 开发板也上架等各位来撩,现在购买还能享受 NXP 与逐飞联合推广的超低优惠价,欢迎选购。