做汽配批发做那个网站比较好/河北seo人员
PCAP01超高精电容传感芯片+STM32+LabView可视化
文章目录
- PCAP01超高精电容传感芯片+STM32+LabView可视化
- 一、PCAP01介绍
- 1.1、PCAP01引脚定义
- 1.2、电容测量
- 1.3、温度测量
- 1.4、PCAP典型测试电路
- 二、PCAP01的STM32驱动
- 2.1、SPI协议配置
- 2.2、PCAP01浮空电容测量内部温度测量操作流程
- 三、制定串口通讯协议
- 四、LabView上位机
一、PCAP01介绍
PCAP01Ax_0301是ACAM公司推出的一款单芯片电容测量方案集成芯片。该芯片集成了电容测量部分以及片内哈弗架构DSP,可以实现至高500kHZ的超高速电容测量以及数据处理。在温湿度传感、动力学传感器、MEMS、液位传感器、触摸检测等领域具有广阔的应用前景。
本文章将抽丝剥茧的从70多页的英文文档中梳理出该芯片的配置过程。
1.1、PCAP01引脚定义
引脚 | 描述 |
---|---|
BUFFCAP | Connect microfarad bypass capacitance and nanofarad bypass capacitance to GND. Bridge all BUFFCAP pins. Bypassing is mandatory! (简言之:该引脚需要与所有BUFFCUP引脚相连,并且必须对地连接uF级别和nF级别的电容进行去耦,一般选择4.7uF和100nF) |
GND | Ground |
IIC_EN | Put this to LOW or GND for use of SPI bus. Put it to HIGH or VDD otherwise.(简言之:拉低该引脚启用SPI) |
INTN | Optional. Interrupt line, low active |
MISO_PG1 | Serial interface data line, Master In - Slave Out (SPI only, otherwise available as general-purpose port)(简言之:SPI通讯线) |
MOSI_SDA | Serial interface data line, Master Out - Slave In(简言之:SPI通讯线) |
OXIN&OXOUT | May be left open. Very exceptionally used for connecting a 4 to 20 MHz ceramics resonator or quartz.(简言之:外部晶振接口,一般不接) |
PC0-PC7 | “CDC” or capacitive measurement ports. Connect reference and sensors here, beginning with PCØ for the reference.(简言之:电容检测引脚) |
PCAUX | May be used for external discharge resistor.(外接泄压电阻) |
PG2-PG5 | General purpose I/O ports. PG4 and PG5 are output only, others are configurable input or output. |
PT0-PT1 | “RDC” or temperature measurement ports. Connect one side of the external resistive sensors here. |
PT2REF | When there is an external resistive (temperature measurement) reference, connect it here, otherwise this is the place for a third resistive sensor.(外接参考电阻) |
PTOUT | For temperature measurement, connect the other side of the resistive sensors and a 33 nF ceramics capacitor here.(简言之:温度测量时,需要将该引脚通过33nF的电容进行接地!这是必须,电容值必须33nF) |
SCK_SCL | Serial interface clock line(SPI的时钟线) |
SSN_PG0 | SPI interface chip select line, low active. Alternatively general purpose I/O port.(简言之:SPI的片选信号线,拉低表示选中该芯片) |
VDD | VDD here, plus bypass capacitance to GND. Bypassing is mandatory! |
VPP_OTP | Set to 6.5 V during OTP programming. Set back to GND rapidly after the end of the programming process. Keep pin grounded for normal device operation. Apply a 470 kOhm pull-down resistor to this pin.(简言之:在OTP编程的时候接上6.5V,变成结束迅速拉低,正常使用时应当拉低) |
需要注意:当芯片底部中心具有焊盘时,需要将该焊盘接地
1.2、电容测量
该传感器通过给电容进行充电后计算其放电时间换算出电容的容值。输出的结果为: t N t r e f = C N C r e f \frac{t_N}{t_{ref}}=\frac{C_N}{C_{ref}} treftN=CrefCN.
PCAP01具有三种测量电容的方式;分别为浮动测量方式、接地测量方式以及差分测量方式。这些测量方式中,都规定C0为参考电容,因此该芯片最多支持3路浮动测量或者7路接地测量。其连接方式如下图所示:
根据PCAP01的测量原理可知,要获得精确的测量结果,就要求参考电容的精度足够高。并且当使用长线进行电容测量时,需要使用屏蔽线,并将屏蔽线缆接地。同时、PCAP01具有内部和外部补偿测量模式、启用后可以消除内部和外部电路电阻的影响。
1.3、温度测量
PCAP01支持内部和外部温度测量两种模式,在一般的应用场景下,内部的温度传感器已经符合要求。如图3-14所示为外部测量模式、该模式下需要外接一个热敏电阻PT1000以及一个超低温漂的参考电阻。如果使用内部模式、PCAP内部具有一个2800ppm/K的热敏电阻以及一个温漂接近0ppm/K的参考电阻,直接悬空PT0以及PT2REF即可。
1.4、PCAP典型测试电路
本电路为浮动模式电容测量以及内部温度测量、使用SPI进行通讯。
二、PCAP01的STM32驱动
PCAP01首先需要写入固件,芯片才能正常运行。官方提供了两个版本的固件给用户选择,有能力的也可以自己编写。固件地址:https://www.sciosense.com/pcap01-capacitance-to-digital-conversion-digital-signal-processor/
固件写入完成后,就可以开始寄存器的相关配置,PCAP01的寄存器配置表如下所示:
读寄存器表:
各个寄存器的每一位代表的配置详见官方手册。
2.1、SPI协议配置
如图所示为PCAP01的SPI模式要求,在进行STM32的SPI初始化的时候应当遵照表中要求对单片机的SPI外设进行相应的配置。
PCAP01的SPI为标准的四线全双工SPI通讯,SSN引脚输出一个短暂的高电平使能SPI传输,随后数据随着时钟线的嘀嗒移入移出。
在写时序中,只需要将待写入的数据依次移出即可,但这里需要遵循PCAP01的写入规则:
上述的意思是,在进行寄存器写入操作的时候,单帧数据的最高两位为11,紧接着跟上寄存器的地址,例如寄存器0(Register0)的地址为0,则输出数据前八位为11000000,即0xC0。其后再接上24位寄存器的配置值。
在读时序中,需要先发送需要读取的寄存器地址,然后等待一小段间隔再发送移位信号将PCAP01相关寄存器中的数据移出。需要注意的是,发送的起始两位为01,综上所述可知,如果要读取Status寄存器的数据,应当发送的数据为:0100 1000 0000 0000 0000 0000 0000 0000,转换为16进制为:0x48000000。
2.2、PCAP01浮空电容测量内部温度测量操作流程
- 首先测试SPI通讯是否正常:
- 写入PCAP01的固件
- 配置各个寄存器,下面给出本例中的寄存器配置值
寄存器0:0xc04200FF (关闭OTP模式、开启程序读保护)
寄存器1:0xC1201022 (设置内部晶振频率50KHz)
寄存器2:0xc2FF460B (开启所有电容测量通道、浮动模式、泄压电阻30kOhm,开启内外补偿)
寄存器3:0xc3030010 (CDC的循环基准20us,触发周期20*16,16次平均)
寄存器4:0xc4080111 (时钟触发电容测量,CDC cycle time 40us,温度测量280us,电容触发温度测量)
寄存器5:0xc500000A (温度测量不平均,十次电容测量触发一次温度测量)
寄存器6:0xc6004340
寄存器7:0xc71F0000 (固定)
寄存器8:0xc8800030 (设置程序空间,以及DSP的功耗)
寄存器9:0xc9FF000F (设置脉冲输出精度)
寄存器10:0xca180047 (设置DSP电压)
寄存器13:0xcd000007 (设置脉冲的输出数据)
寄存器14:0xce002ff0 (设置输出数据的斜率)
寄存器15:0xcf000000 (设置输出数据的偏置)
寄存器19:0xD3200000 (设置内部线性补偿,默认为1.0000,十六进制为200000)
寄存器20:0xD4000001 (芯片开始工作)
- 重置所有测量:SPI发送0x8A;
- 开始测量:SPI发送0x8C;
- 获取对应通道的测量值:例如:(c1/c0)SPI发送:0x41,随后开始读取
- 将获取的值除以0x1FFFFF,得到比例值的小数。
- 将小数值乘以参考电容值,得到被测电容值。
- 获取温度值(0x4E)(Rt/Rref);
- 根据公式:T=20+((Rt/Rref/0x1FFFFF)-0.824) /0.0023072;计算出温度
三、制定串口通讯协议
下位机发送协议,定长
Byte0 | Byte1 | Byte2-5 | Byte6-9 | Byte10-13 | Byte14-17 | Byte19 |
---|---|---|---|---|---|---|
帧头 | 数据长度 | 电容1数据 | 电容2数据 | 电容3数据 | 温度数据 | CRC校验 |
0x55 | 0x13 |
下位机接收,不定长
Byte0 | Byte1 | Byte2 | Byte XXX | Byte Final |
---|---|---|---|---|
帧头 | 数据长度 | 指令类型 | 指令内容 | CRC校验 |
0xAA |
四、LabView上位机
LabView使用的是G语言,其编程方式和C有很大的区别,编程效率个人感觉远低于C语言,但是其直观化的编程方式受到了许多科研人员的喜爱。上述为LabView的串口配置过程,通过VISA配置串口模块进行参数配置,随后进入顺序片段等待配置完成。随后就可以通过串口的VISA写入和VISA读取进行上位机与下位机的数据交互了。
获取到数据之后对数据协议进行解析,将解析出的数据进行校验后通过波形图进行显示。
点击采集和保存,通过上述的程序将传感器一段时间内的数据保存为CSV文件。
由于LabView是框图编程,程序的整体结构如下,
最终实现效果如图:
需要整个工程完整代码请私聊。
相关文章:

超高精电容传感器PCAP01调试+LABVIEW数据可视化调试手记
PCAP01超高精电容传感芯片STM32LabView可视化 文章目录 PCAP01超高精电容传感芯片STM32LabView可视化一、PCAP01介绍1.1、PCAP01引脚定义1.2、电容测量1.3、温度测量1.4、PCAP典型测试电路 二、PCAP01的STM32驱动2.1、SPI协议配置2.2、PCAP01浮空电容测量内部温度测量操作流程 …...

5.更多
发现一个项目与 MkDocs 类似的项目 PyMdown 拓展文档 ,等待探索。 1.排版模仿 以下网站使用 MkDocs 构建 Material for MkDocs 的美化 - Charles Les Notebook (charleschile.com) Documentation - Home Assistant (home-assistant.io) Godot Docs – master bra…...

ConditionalOnJndi注解使用介绍、应用场景以及示例代码
概述 ConditionalOnJndi 是 Spring Framework 中的一个条件注解,用于在特定的 JNDI (Java Naming and Directory Interface) 环境条件下决定是否创建一个 bean 或配置一个 bean。JNDI 是 Java EE 规范中定义的一种用于访问命名和目录服务的 API,它允许 …...

Spring Cloud 引入
1.单体架构: 定义:所有的功能实现都打包成一个项目 带来的后果: ①后端服务器的压力越来越大,负载越来越高,甚至出现无法访问的情况 ②业务越来越复杂,为了满足用户的需求,单体应用也会越来越…...

自定义波形图View,LayoutInflater动态加载控件保存为本地图片
效果图: 页面布局: <?xml version"1.0" encoding"utf-8"?><LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:la…...

每日一道算法题 求最小公倍数
题目 求最小公倍数_牛客题霸_牛客网 (nowcoder.com) Python 辗转相除法 dividend,divisormap(int,input().split()) #被除数,除数 # remainder0 余数 # 最小公倍数 def lcm(dividend,divisor):# 最大公约数def gcd(dividend,divisor):if 0divisor:return divid…...

【OCC学习18】三维几何对象工具包:TKG3d
【OCC学习18】三维几何对象工具包:TKG3d loveoobaby 已于 2022-08-26 10:10:32 修改 阅读量1.2k 收藏 10 点赞数 1 分类专栏: OpenCascade学习笔记 文章标签: 学习 版权 OpenCascade学习笔记 专栏收录该内容 24 篇文章60 订阅 订阅专栏…...

【Unix】SunOS/Oracle Solaris系统介绍
一.SunOS系统介绍 SunOS 是由 Sun Microsystems 开发的 Unix 操作系统。它最初是为 Sun 的 SPARC 架构计算机设计的,后来也支持了 Intel x86 架构。SunOS 是基于 UNIX System V 4.1 版本,并且随着时间的发展,SunOS 经历了多个版本迭代&#…...

氛围感视频素材高级感的去哪里找啊?带氛围感的素材网站库分享
亲爱的创作者们,大家好!今天我们来聊聊视频创作中至关重要的一点——氛围感。一个好的视频,不仅要有视觉冲击力,还要能够触动观众的情感。那我们应该去哪里寻找这些充满氛围感且高级的视频素材呢?别急,我这…...

基于Java的学生选课系统
第1章 系统概述 1.1概述 背景:随着计算机网络技术的发展,Web 数据库技术已成为应用最为广泛的网站架构基础技术。学生选课系统作为教育单位不可缺少的部分,其内容对于学校的决策者和管理者至关重要。传统的人工管理方式存在效率低、保密性差等…...

802.11漫游流程简单解析与笔记_Part2_05_wpa_supplicant如何通过nl80211控制内核开始关联
最近在进行和802.11漫游有关的工作,需要对wpa_supplicant认证流程和漫游过程有更多的了解,所以通过阅读论文等方式,记录整理漫游相关知识。Part1将记录802.11漫游的基本流程、802.11R的基本流程、与认证和漫游都有关的三层秘钥基础。Part1将包…...

STM32的 DMA(直接存储器访问) 详解
STM32的DMA(Direct Memory Access,直接存储器存取)是一种在单片机中用于高效实现数据传输的技术。它允许外设设备直接访问RAM,不需要CPU的干预,从而释放CPU资源,提高CPU工作效率,本文基于STM32F…...

14-65 剑和诗人39 - 打造你自己的 Devin
绝密 Devin 架构 更具体地说,构建您自己的 AI 代理。 Devin 使用 GPT-4 ,而人们已经开始用 Claude-3-Opus 构建替代方案 Devin 的 UI 体验更好。 例如,它甚至看不到浏览器,但它确实存在于用户面前 此外,你可以随时与它“交谈”,就像与人交谈一样,它会在后…...

JavaScript 把CSDN博客内容存成PDF
F12 - 控制台 -命令行 输入执行:允许粘贴输入执行代码: (function () {use strict;var articleBox $("div.article_content");articleBox.removeAttr("style");var head_str "";var foot_str "";var older…...

uniapp——银行卡号脱敏
样式 代码 {{bankNumber.replace(/(\d{4})(?\d)/g, "●●●● ").replace(/(\d{2})(?\d{2}$)/, " $1")}} 将银行卡号按照每四位一组的方式进行处理,前面的变成 剩下的正常显示...

基于Spring Boot框架的EAM系统设计与实现
摘 要:文章设计并实现一个基于Spring Boot框架的EAM系统,以应对传统人工管理模式存在的低效与信息管理难题。系统利用Java语言、JSP技术、MySQL数据库等技术栈,构建了一个B/S架构的高效管理平台,提升了资产管理的信息化水平。该系…...

不同编程范式中作用域和闭包概念概述
不同编程范式中作用域和闭包概念概述 作用域(Scope)是指变量或函数在程序中的可见性和生命周期范围。它决定了哪些部分的代码可以访问某个变量或函数。在所有编程语言中都用于管理变量和函数的可见性范围,但不同语言可能有不同的作用域级别和…...

ISO/OSI七层模型
ISO:国际标准化/ OSI:开放系统互联 七层协议必背图 1.注意事项: 1.上三层是为用户服务的,下四层负责实际数据传输。 2.下四层的传输单位: 传输层; 数据段(报文) 网络层: 数据包(报…...

Golang | Leetcode Golang题解之第226题翻转二叉树
题目: 题解: func invertTree(root *TreeNode) *TreeNode {if root nil {return nil}left : invertTree(root.Left)right : invertTree(root.Right)root.Left rightroot.Right leftreturn root }...

传感器标定(一)摄像头内参标定
一、使用ROS进行手动标定安装 1、安装 image-view &usb_cam ⽤于驱动相机 sudo apt-get install ros-melodic-image-view sudo apt-get install ros-melodic-usb-cam2、查看系统视频设备 v4l2- ctl -d /dev/video0 --all 查询所有相机具体的参数包括width和height ls /…...

基于门控循环单元 GRU 实现股票单变量时间序列预测(PyTorch版)
前言 系列专栏:【深度学习:算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域,讨论了各种复杂的深度神经网络思想,如卷积神经网络、循环神经网络、生成对…...

Apache tika 实现各种文档内容解析
Apache tika 实现各种文档内容解析 1、依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…...

Vue3 监听属性
Vue3 监听属性 Vue.js 是一个流行的前端框架,以其响应式系统和组件化开发而闻名。在 Vue3 中,监听属性(Watchers)是一个核心功能,允许开发者监控和响应数据的变化。本文将详细介绍 Vue3 中监听属性的使用方法、场景和最佳实践。 监听属性的基本概念 在 Vue3 中,监听属…...

Transformer模型论文解读、源码分析和项目实践
本文是ChatGPT系列的开篇之作,为什么吧Transformer放到这里呢,因为不管是chatgpt-1, chatgpt-2, chatgpt-3都是以Transformer作为底层基础来实现,相当于chatgpt系列的老祖先了。如果想要深入的了解清楚chatgpt的来龙去…...

前端部署自动上传资源文件到cdn/oss 解决路由和访问慢的问题
参考文档:webpack-aliyun-oss-plugin - npm 安装依赖,这是一个预编译环境下的包 npm install webpack-aliyun-oss-plugin --save-dev 以下代码的意思是: webpack中引入一个oss上传插件,并且给予其初始参数,插件根据p…...

Diffusion 公式推导 2
Diffusion 公式推导 中对 DDPM 进行了推导,本文接着对 DDIM 进行推导。 目录 六. 模型改进 六. 模型改进 从扩散模型的推理过程不难看出,DDPM 有一个致命缺点 —— 推理速度过慢,因为逆扩散是从 x T x_{T} xT 到 x 0 x_{0} x0 的完整过…...

layui-表单(输入框)
1.基本使用方法 先写一个表单元素块 form 加上layui-form 里面写行区块结构,如下: 2.输入框样式选项 input框 placeholder默认文本 autocomplete自动填充 lay-verify required必填 3.下拉菜单样式选项 默认选择第一项 select框 disable禁…...

中职网络安全B模块渗透测试server2380
使用nmap扫描添加参数-sV Flag:2.4.38 添加参数-A不然扫不全 (这两题可以直接加-sV -A) Flag: 4.3.11-Ubuntu 根据nmap扫描发现系统为ubuntu系统,ubuntu操作系统在某些版本中默认包含一个名为"ubuntu"的用户帐户。这是为了方…...

微信小程序毕业设计-教育培训系统项目开发实战(附源码+论文)
大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:微信小程序毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计…...

【面试题】正向代理和反向代理的区别?
正向代理(Forward Proxy)和反向代理(Reverse Proxy)是两种常见的代理服务器类型,它们在网络通信中扮演着不同的角色,具有不同的功能和应用场景。 一、正向代理 1. 定义与位置 正向代理是位于客户端和目标…...