TDC-GP22流量计(超声波水表)

本文介绍了AcamMesselectronic的TDC-GP22芯片,其具备高精度、宽动态范围和低功耗等特点,尤其在超声波测距和流量计中的应用。展示了如何通过SPI通信和示例代码操作TDC-GP22,测量顺逆流时间差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TDC-GP22 是一款由 Acam Messelectronic(现已被 ams AG 收购)开发的高精度时间测量芯片。TDC-GP22 是 Time-to-Digital Converter(时间-数字转换器,简称 TDC)系列产品中的一款。TDC 芯片被广泛应用于测量信号之间的时间间隔,例如在测距、流量计、光学传感器等领域。

TDC-GP22 的主要特点如下:

  1. 高精度和高分辨率:TDC-GP22 能够以 90 ps(皮秒)的分辨率进行时间间隔测量,提供非常高的精度。

  2. 宽动态范围:TDC-GP22 支持的时间测量范围很广,从几个皮秒到数毫秒,适用于各种应用场景。

  3. 集成度高:TDC-GP22 集成了许多功能,如温度传感器、电池电压监测、可编程 PLL(锁相环),以及 SPI(串行外设接口)等,使得整个系统具有较高的集成度。

  4. 低功耗:TDC-GP22 设计用于低功耗应用。在空闲模式下,功耗可以降低到纳安级别。这使得 TDC-GP22 适用于电池供电的应用场景,如便携式仪器和物联网设备。

  5. 灵活性:TDC-GP22 提供了可编程的参数设置,可以根据不同应用场景进行优化。例如,可以调整测量分辨率、积分时间、滤波器设置等参数以满足特定的性能要求。

TDC-GP22 是一款功能强大、高精度的时间测量芯片,适用于各种需要精确测量时间间隔的应用,如超声波测距、光学传感器、流量计等。

TDC-GP22元件,如图1所示。

图1 TDC-GP22元件图

超声波换能器与计时芯片连接后,运行代码,可用示波器得到来个表格换能器的波形图,如图2所示。

图2 发射脉冲及回波图

通过串口XCOM,导出静水中顺逆流时间差。

图3 顺逆流渡越时间

已调通TDC-GP22的SPI通信,配合两个1MHz收发一体的超声波换能器可以输出顺逆流时间。

部分代码:

#include "stdio.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"	
#include "lcd.h"
#include "spi.h"
#include "tdc.h"
	u16 byte;//变量类型声明
	float  bytes_Cal=0.00000f;//校准系数
	float  bytes_Up=0.00000f;
	float  time_one=0.00000f;
	float  time_two=0.00000f;
	float  time_three=0.00000f;
	float  time_four=0.00000f;
	float  temp=0.00000f;

	float  bytes_Up_Sum=0.00000f;
	float  bytes_Up_Ave=0.00000f;
	float  bytes_Down=0.00000f;
	float  bytes_Down_Sum=0.00000f;
	float  bytes_Down_Ave=0.00000f;
	float  t=0.00000f;
	float  t_abs=0.00000f;
	float  t_Ave=0.00000f;
    float  t2_Ave=0.00000f;
	float  t_Sum=0.00000f;
    float  Q = 0.00000000f;
	float  threshold=0.00000f;
    extern  u16 G_tdcStatusRegister;//状态寄存器
	char    bytes_Up_char[8];
	char    bytes_Up_Sum_char[8];
	char    bytes_Up_Ave_char[8];
	char    bytes_Down_char[8];
	char    bytes_Down_Sum_char[8];
	char    bytes_Down_Ave_char[8];
	char    t_char[8];
	char    t_Ave_char[8];
	char    t2_Ave_char[8];
	char    Q_char[8];
	char    i_char[16];
	char    bytes_V_char[8];
	
int main(void)
{ 
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2	
	delay_init(168);    
	uart_init(115200);	  //串口初始化波特率为38400
    SPI_TDC_Init();     //SPI通信初始化
    TDC_GPIO_Init();    
	TDC_Init_Reg();     
    EXTIX_Init(); 
  .
  .
  .
}

参考代码TDC-GP22已调通SPI通信_TDC-GP22-智慧城市文档类资源-CSDN下载

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力の小熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值