TDC-GP22 超声波水表和热表应用指南_第1页
TDC-GP22 超声波水表和热表应用指南_第2页
TDC-GP22 超声波水表和热表应用指南_第3页
TDC-GP22 超声波水表和热表应用指南_第4页
TDC-GP22 超声波水表和热表应用指南_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

时间数字转换器 TDC-GP22 的超声波水表和 热表应用 2013 年 7 月 10 日, 版本号 1.2 Document No.: AN032_cn.pdf ltrasonic low onverters 应用指南 ltrasonic- low- onverterAN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de Published by acam-messelectronic gmbh acam-messelectronic gmbh 2013 Disclaimer / Notes “Preliminary” product information describes a product which is not in full production so that full information about the product is not available yet. Therefore, acam-messelectronic gmbh (“acam”) reserves the right to modify this product without notice. The information provided by this data sheet is believed to be accurate and reliable. However, no responsibility is assumed by acam for its use, nor for any infringements of patents or other rights of third parties that may result from its use. The information is subject to change without notice and is provided “as is” without warranty of any kind (expressed or implied). acam is a registered trademark of acam. All other brand and product names in this document are trademarks or service marks of their respective owners. Support / Contact For a complete listing of Direct Sales, Distributor and Sales Representative contacts, visit the acam web site at: http:/www.acam.de/sales/distributors/ For technical support you can contact the acam support team in the headquarters in Germany or the Distributor in your country. The contact details of acam in Germany are: supportacam.de or by phone +49-7244-74190. AN032 1-3 内容 1 概述 . Fehler! Textmarke nicht definiert. 2 简介 . Fehler! Textmarke nicht definiert. 2.1 流量测量 . Fehler! Textmarke nicht definiert. 2.2 温度差测量 . 2-3 3 电路描述 . Fehler! Textmarke nicht definiert. 3.1 电源的注意事项 . Fehler! Textmarke nicht definiert. 3.2 外部时钟源 . Fehler! Textmarke nicht definiert. 3.3 发射器/接收器电路 . Fehler! Textmarke nicht definiert. 3.4 温度测量 . Fehler! Textmarke nicht definiert. 4 演示板的布局和电路图 . Fehler! Textmarke nicht definiert. 4.1 电路图 . Fehler! Textmarke nicht definiert. 4.2 布局图 . 4-2 5 配置示例 . Fehler! Textmarke nicht definiert. 6 软件 . Fehler! Textmarke nicht definiert. 7 示例代码 . Fehler! Textmarke nicht definiert. 8 历史文献 . Fehler! Textmarke nicht definiert. ltrasonic- low- onverterAN032 1-2acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 1 概述 在 2012 年 Acam 公司推出了 TDC-GP22 时间数字转换器。GP22 具有很多拓展功能, 并且给需要超高精度皮秒级的应用带来了很多优势,像超声波水表和超声波热表。尤 其是集成的模拟元器件,像斩波稳定的比较器和模拟开关,简化了硬件设计,将外部 元器件的数量降到最低。这个应用指南的目的是,作为一个 TDC-GP22 数据手册的补 充。它描述了用 TDC-GP22 实现超声波热表的前端电路。它提供的额外信息,有助于 减少设计时间,并避免由于错误的元件值或不正确的配置而导致的电路问题。我们建 议设计时遵循布局图和演示板的原理图,以便达到最好的性能。最后,应用指南包含 一个通用软件的例子,它展示了典型的测量流量。 AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 2-1 2 介绍 这个应用指南描述了一个基于 Acam 公司 TDC-GP22 时间数字转换器的超声波热量 表的前端电路。GP22 作为一个前端设备,可提供完全自动化的流量测量和温度测量。 热量计算是通过流速以及流入和流出的流体温度差而得到的。 图1.1: 对于超声波热量表的GP22前端电路 设计目标: 紧凑和节省成本的硬件设计,使外部元件降到最低。 超低电流消耗 (对于一个完整的测量周期,包括模拟部分,换能器和 PT 传感器, 全部功耗低至 2 A) 高分辨率的飞行时间测量,同样适用于紧凑型小管径管道。 高分辨率,低电流消耗的温度测量。 对于外部微控制器和一个模块化的系统设计来说,开放的系统架构提供了更高的灵 活性。 ltrasonic- low- onverterAN032 2-2acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 2.1 流量测量 超声波流量测量是基于超声波上下游非常时间的。两个超声波换能器将会连接到 GP22 的两个端口。这个两个换能器可以作为接受或者发射端。 图 1.2 基于时间间隔测量的超声波流量测量原理 GP22 可以交替发射出两路驱动换能器的1Mhz脉冲(例如20个脉冲),然后测量这个脉冲 经由液体的媒介从换能器a到b的飞行时间,然后反向测量从b到a。在顺流当中超声波的 飞行时间要比在逆流当中超声波的飞行时间短。 那么如下公式所示,流体的流动速度为v, 而测量管段的路径为 L,在液体当中的声速为 C0, 那么超声波将会有上有传播时间tup,以及下游传播时间tdown: AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 2-3 图1.3: 发送- / 接收 脉冲顺序 (发送脉冲=1V/Div.; 接受脉冲=200mV/Div.; 时基=10s) 对于测量结果的处理是通过外部单片机来进行的。在第一部当中,首先单片机将会计 算出上游和下游的飞行时间差。然后在计算出流体的流速 V 进而计算出流量 Q. A 为 测量管段内径,K 则代表测量仪表的系数,一般通过校准标定来确定的一个相关系数。 2.2 温度差的测量 为了测量进水口和出水口之间流体的温度差异,TDC-GP21 应用了其内部集成的 PICOSTRAIN 测量方式。由于温度传感器的电阻值与温度有直接关系,芯片将会直接 测量温度传感器 RTD 的电阻变化量,通过内部非常精确的时间测量完成。那么传感器 测量电阻和参考温度稳定电阻将会分别对于同一个电容进行充放电,那么放电的时间 发送的脉冲序列发送的脉冲序列 接受的脉冲序列接受的脉冲序列 ltrasonic- low- onverterAN032 2-4acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 将会通过内部的 TDC 测量单元以高精度 ps 级别的时间分辨率测量下来。图中显示了 一个温度测量的典型充放电曲线,带有 2 次热身的家测量充放电。 图 1.4: 温度测量充放电循环的示波器截图,在R9端获得 (周期=1V/Div.; 时基=500s) 测量结果将会存放进入 GP22 的结果寄存器 0-3 当中。放电时间测比率将会体现出传 感器电阻相对于温度稳定电阻的变化。从给出的 TRTD 和 TRef 比值结果单片机可以 计算出温度的差异如下: ( ) 内部比较器在 3.0 V 时,增益纠正系数为 0.9931。现在温度可以通过用于 RTD 温度 的相关方程来进行计算: ( ) ( ) 假测量的目的是通过在真正的温度测量进行前额外的充放电循来提供温度测量的稳定 性的. 最终温度的差值为: AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 2-5 AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 3-1 3 电路描述 对于整个测量电路以及 PCB 布线的完整描述可以在这个文档的 3.1 章节当中找到。为 了获得最佳的测量结果,我们推荐应用给出的电路作为您的参考设计电路。主要一些 相关因素将会在下面章节当中有描述。 3.1 电源部分的一些建议 TDC-GP22 需要两个供电电压。一个为核心电压 Vcc,另一个为 I/O 电压 Vio. 这两 个供电电压都可以通过同样的电压源产生。一般来说,通过一个线性的电压调节器给 出。在我们的设计中,应用的是 Torex Semiconductor 公司的 XC6206. 因为这个元 件有非常低的静态电流,它非常适合在对功耗要求很高的系统中应用,比如电池驱动 的超声波热量表应用。另外,我们推荐应用一个好的去藕双通滤波电路来降低系统噪 声。下面的原理图可以作为你设计中的一个参考: 图 2.1 经过双通去藕滤波的电源设计 重要注释: 请不要应用开关调节器作为您电源的设计。因为它们将会给您的测量的质量带来非常大 的干扰! ltrasonic- low- onverterAN032 3-2acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 3.2 外部时钟源 电池驱动的应用如热量表应用是需要非常低的功耗的。而 TDC-GP22 是可以供工作在 LVCMOS 和 LVTTL 两种兼容时钟源模式的。一个 32768Hz 石英晶振和 4MHz 的陶 瓷晶振。对于节省功耗的应用,4MHz 晶振通过 32kHz 石英晶振来控制,可以仅在测 量的时候才开启。 3.2.1 32,768 Hz 石英晶振 32.768 kHz 石英晶振是用于控制4MHz晶振的上电时间的参考。在章节2.2.2中有介 绍,10pf的电容和并联的10M电阻保证了震荡的稳定性。 图 2.2: 连接 32.768 kHz 石英晶振 AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 3-3 3.2.2 4MHz 高速时钟振荡器 4 MHz 时钟源可以选择一个标准的陶瓷晶振,并联一个560k的启振电阻。高速时钟 电路的推荐如图3.2所示: 图 2.3 4 MHz 陶瓷震荡的外部电路图 相比较高速的石英震荡来说,陶瓷晶振由于其启振时间很短,更加有效率,他可以工 作在芯片的低功耗切换模式下。那么整个启振停止的切换动作,完全可以由TDC- GP22 芯片内部来进行控制。GP22内部集成的时钟标定功能可以帮助解决克服由于陶 瓷晶振在不同电压温度下的漂移影响。这将会提供非常高准确的测量性能,尽快应用 的是陶瓷震荡。对于更多的时钟校准请参考TDC-GP22数据手册的章节5.1.4 3.2.3 提供外部单片机的时钟选择 为了节省外部元件, GP22可以提供给外部单片机4MHz或者32KHz的时钟源信号。 32KHz的时钟可以通过EN_START管脚通过设置寄存器1中的SEL_TST02 来提供给外 部。而4MHz晶振时钟可以通过配置寄存器1的SEL_TST01通过FIRE_IN管脚提供给外 部单片机。 ltrasonic- low- onverterAN032 3-4acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 3.3 发送/接收电路 一般来说,这个电路包含了两组一阶的高通滤波。他们连接到 TDC-GP22 的 Fire_ Up 和 Fire_Down 管脚,而其电阻的输出来压电驱动换能器。 在接收端,电容的输 出连接到了 GP22 的模拟输入上。那么这里,必须要使用 COG 类型电容来获得高的 温度稳定性。一个内部集成的模拟选择器控制操作了切换两个换能器作为发射或者接 收端。所有的控制都是通过 TDC-GP22 来完成的,整个系统仅在测量时消耗功耗。 图 2.4 发射接收路径的原理图 由于内部集成的比较器不能够以 GND 作为比较的阚值,那么在接收端的 LoadC (C4, C5)电容将会使整个信号的阚值提升到 1/3 Vcc,然后给到 TDC-GP22 的模拟输入端。 图 2.5 展示了相应的示波器图形。 AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 3-5 图 2.5: 非反相比较器输入的信号曲线 (发送脉冲=1V/Div.; 接受脉冲=200mV/Div.; 时基=50s) 最后内部集成的低噪声比较器将会根据回波序列产生相应的方波信号,给到 GP22 内 部时间测量单元的 Stop 通道作为 Stop 信号。 充电到 发射的脉冲序列 接收的脉冲序列 接受脉冲序列 比较器输出序列 ltrasonic- low- onverterAN032 3-6acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 图 2.6: 接收回波序列以及相应的比较器输出信号 (比较器输出信号=1V/Div.; 接收脉冲=200mV/Div.; 时基=1.0s) 关于 GP22 模拟部分的详细介绍您可以在 TDC-GP22 手册的 4.3 章节找到。 3.3.1 Stop 时间屏蔽窗口 TDC-GP22 相对于 TDC-GP21 的最大改进就是具有首波识别模式。 第一个 DELVAL1 时间屏蔽窗口用于抑制所有提前接收信号的噪声。噪声来源于发射 的脉冲序列。 下面的图像显示了一个带有 DELVAL1 = 5000 的典型配置。它应用了 一个带有 39062,50ns 秒延时( 4 MHz 高速晶振)的时间窗口,用于 stop1 通道中 第一个采样被触发前。DELVAL2 和 DELVAL 3 不被需要时,设置为零。DELVAL1 的 设置至少要大于脉冲串的时间 (e.g. 20s at 20 pulses with 1MHz) 更多详细的信息 可以在 TDC-GP22 的数据手册的 4.2.3 章节来获得。 AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 3-7 图 2.7: 发送和接受脉冲序列 (发送脉冲=1V/Div.; 接受脉冲=200mV/Div.; 时基=10s) 3.4 温度测量 应用一对 Pt 1000 传感器再带有温度稳定的 1k 参考电阻(R9,50ppm)可以用于冷 热的温度差测量。一个 100nF COG 类型的电容作为充放电的电容。为了消除 GP22 的外部元器件,GP21 内部集成了施密特触发器。 ltrasonic- low- onverterAN032 3-8acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 图 2.8 温度测量电路 AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 4-1 4 GP22 演示板的 Layout Fire1 和 是交替的进行应用,首先从下 游测量开始 EN_STARTNOISE = 0, 开光关闭 DIS_PHASESHIFT = 0, 噪声单元开启来提升系统误差特性 REPEAT_FIRE = 0, 不应用声环法 PHASE_FIRE = 0, 在脉冲序列中没有相位改变 ID5 = h00 Register 6 hC0C06100 EN_ANALOG = 1, 应用内部模拟电路 NEG_STOP_TEMP = 1, 应用内部施密特触发器作为温度测量 DA_KORR = 0, offset 设置在寄存器 4 中 TW2 = 3, 300 s 延迟来对高通电容进行充电 EN_INT = b1101, 中断是由 time out, ALU ready 或者 end of EEPROM action 给出(参见寄存器 2) START_CLKHS = 2, 陶瓷震荡的启振时间为 480 s (参见寄存器 0 的 设置) CYCLE_TEMP = 0, 应用系数 1.0 作为上下游温度之间的测量时间间隔 CYCLE_TOF = 0, 应用 1.0 作为超声波 TOF 上下游之间的时间间隔 HZ60 = 0, 选择 50 Hz 为基础 FIREO_DEF = 1, 不用的 fire 输出管脚为 High Z 状态, 在应用内部模拟 部分的时候是必须要这样设置的 QUAD_RES = 1, 应用 22 ps 精度 DOUBLE_RES = 0 当设置了 4 精度模式的时候这里必须设为 0 ltrasonic- low- onverterAN032 5-4acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de TEMP_PORTDIR = 0, 温度测量标准顺序 ANZ_FIRE = 20 (参见寄存器 0) ID6 = h00 AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 6-1 6 编程样例 下面的章节提供了用于超声波热量表的测量流程,应用了 Start_TOF_Restart 命令。 错误以及一些测量问题检测并没有在这个例子中给出详细参考。 ltrasonic- low- onverterAN032 6-2acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de Start Send power-on Reset via SPI S0 = 0 x50 (Reset) Initialize GP22 Send S0 = 0 x70 (Init) Load GP22 power-on configuration to Configuration registers 0 to 6 S0 = 0 x80430BE800 (Write ConfigReg0) S0 = 0 x8121444000 (Write ConfigReg1) S0 = 0 x82A0138800 (Write ConfigReg2) S0 = 0 x83D0A24800 (Write ConfigReg3) S0 = 0 x8410004000 (Write ConfigReg4) S0 = 0 x8540000000 (Write ConfigReg5) S0 = 0 x86C0C06100 (Write ConfigReg6) Calibrate high speed clock Send S0 = 0 x03 (Start_Cal_Resonator) Wait for Interrupt, with 1ms timeout No Yes Read Calibration Result Send S0 = 0 xB0, Read SI = RES_0 Calculate Correction factor Correction factor = 61.035/RES_0 Error routine: Clock does not start A AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 6-3 Start temperature measurement cycle Send S0 = 0 x02 (Start_Temp) Wait for Interrupt INTN = 0? No Check GP22 Status STAT printf(nTemp-Measurement are skippedn); else AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 7-3 /discharge time in s Temp_PT1 = gp22_read_n_bytes(Bus_Type, 4, 0 xB0, 0 x00, 16) / CLKHS_freq_cal; Temp_PT2 = gp22_read_n_bytes(Bus_Type, 4, 0 xB0, 0 x01, 16) / CLKHS_freq_cal; Temp_PT3 = gp22_read_n_bytes(Bus_Type, 4, 0 xB0, 0 x02, 16) / CLKHS_freq_cal; Temp_PT4 = gp22_read_n_bytes(Bus_Type, 4, 0 xB0, 0 x03, 16) / CLKHS_freq_cal; Temp_REF = (Temp_PT3 + Temp_PT4) / 2; / Calculate Temp_cold at PT1 Ratio_RT1_Rref = Temp_PT1/Temp_REF * corr_fact; R1 = Ratio_RT1_Rref * R0_at_0C; Temp_cold_in_Celcius = (-R0_at_0C *Coeff_A +sqrt( (R0_at_0C *Coeff_A)*(R0_at_0C *Coeff_A) -4*R0_at_0C *Coeff_B *(R0_at_0C - R1) ) ) /(2 *R0_at_0C *Coeff_B); / Calculate Temp_hot at PT2 Ratio_RT2_Rref = Temp_PT2/Temp_REF * corr_fact; R2 = Ratio_RT2_Rref * R0_at_0C; Temp_hot_in_Celcius = (-R0_at_0C *Coeff_A +sqrt( (R0_at_0C *Coeff_A)*(R0_at_0C *Coeff_A) -4*R0_at_0C *Coeff_B *(R0_at_0C - R2) ) ) /(2 *R0_at_0C *Coeff_B); / Print result printf(ntPT1= %6.3fs / PT2= %6.3fs ntPT3= %6.3fs / PT4= %6.3fs, Temp_PT1, Temp_PT2, Temp_PT3, Temp_PT4); printf(n Ratio RT1/Rref= %2.5f / Ratio RT2/Rref= %2.5f, Ratio_RT1_Rref, Ratio_RT2_Rref); printf(n Temp_cold= %3.3fC / Temp_hot= %3.3fCn, Temp_cold_in_Celcius, Temp_hot_in_Celcius); /- / Start Time Of Flight Measurement Cycle gp22_send_1byte(Bus_Type, Init); gp22_send_1byte(Bus_Type, Start_TOF_Restart); Error_Bit=0; / Wait for INT Slot_x, UPSTREAM if (Bus_Type=SPI1) while (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_4)=1); if (Bus_Type=SPI2) while (GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_11)=1); / Read the Status Register status_byte_UP = gp22_read_status_bytes(Bus_Type); Error_Bit += gp22_status_count_error(Bus_Type); / Result_UP, TOF in s / RES_0 to RES_2 to be displayed only for evaluation purposes / RES_3 will be used for e.g. flow calculation Result_0_up = gp22_read_n_bytes(Bus_Type,4,0 xB0,0 x00,16)/CLKHS_freq_cal; ltrasonic- low- onverterAN032 7-4acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de Result_1_up = gp22_read_n_bytes(Bus_Type,4,0 xB0,0 x01,16)/CLKHS_freq_cal; Result_2_up = gp22_read_n_bytes(Bus_Type,4,0 xB0,0 x02,16)/CLKHS_freq_cal; average_Result_up = gp22_read_n_bytes(Bus_Type,4,0 xB0,0 x03,16)/CLKHS_freq_cal; gp22_send_1byte(Bus_Type, Init); / Wait for INT Slot_x, DOWNSTREAM if (Bus_Type=SPI1) while (GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_4)=1); if (Bus_Type=SPI2) while (GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_11)=1); / Read the Status Register status_byte_DOWN = gp22_read_status_bytes(Bus_Type); Error_Bit += gp22_status_count_error(Bus_Type); / Result_DOWN, TOF in s / RES_0 to RES_2 to be displayed only for evaluation purposes / RES_3 will be used for e.g. flow calculation Result_0_down = gp22_read_n_bytes(Bus_Type,4,0 xB0,0 x00,16)/CLKHS_freq_cal; Result_1_down = gp22_read_n_bytes(Bus_Type,4,0 xB0,0 x01,16)/CLKHS_freq_cal; Result_2_down = gp22_read_n_bytes(Bus_Type,4,0 xB0,0 x02,16)/CLKHS_freq_cal; average_Result_down = gp22_read_n_bytes(Bus_Type,4,0 xB0,0 x03,16)/ CLKHS_freq_cal; if (Error_Bit 0) gp22_analyse_error_bit(Bus_Type); printf(nTOF-Measurement are skippedn); else /- / Result after two measurements (first UPSTREAM then DOWNSTREAM) / Calculate UP- / DOWNSTREAM transit time difference with MCU / Devider for multihit sum (1.3) average_Result_up /= 3; average_Result_down /= 3; / discharge time in ns Result_0_up *= 1000; Result_1_up *= 1000; Result_2_up *= 1000; average_Result_up *= 1000; Result_0_down *= 1000; Result_1_down *= 1000; Result_2_down *= 1000; average_Result_down *= 1000; TOF_up = average_Result_up; TOF_down = average_Result_down; PW1ST += gp22_read_n_bytes(Bus_Type, 1, 0 xB0, 0 x08, 7); / print results printf(nStatus Byte Up= 0 x%04X / Down= 0 x%04X, AN032 acam-messelectronic gmbh - Friedrich-List-Str.4 - 76297 Stutensee-Blankenloch - Germany - www.acam.de 7-5 status_byte_UP, status_byte_DOWN); printf(n Result_0 tUp= %6.3f ns / Down= %6.3f ns, Result_0_up, Result_0_down); printf(n Result_1 tUp= %6.3f ns / Down= %6.3f ns, Result_1_up, Result_1_down); printf(n Result_2 tUp= %6.3f ns / Down= %6.3f ns, Result_2_up, Result_2_down); printf(n Result_3 tUp= %6.3f ns / Down= %6.3f ns,TOF_up, TOF_down); Time_of_flight_diff = TOF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论