AN3416外文翻译资料

 2022-08-10 16:57:06

英语原文共 26 页,剩余内容已隐藏,支付完成后下载完整资料


AN3416

2.STM Studio综述

STM Studio是一个免费的软件工具,它通过实时读取和显示STM8和STM32应用程序的变量来帮助调试和诊断它们。

STM Studio在PC上运行,STM Studio通过标准开发工具与STM8和STM32 MCUs接口,如低成本的ST-LINK和RLink以及高端的STM8仿真系统。

STM Studio是一个非侵入性工具,它保留了应用程序的实时行为。

STM Studio完美地补充了传统的调试工具来优化应用程序。它非常适合于调试无法停止的应用程序,如电机控制应用程序。

可以使用不同的图形视图来满足调试和诊断的需要,或者演示应用程序的行为。该工具通过SWIM(单线接口模块)与STM8微控制器一起工作,通过JTAG或SWD(串行线调试)接口与STM32微控制器一起工作。

它是一个图形用户界面,用于探测和可视化的实时应用程序的变量,而它正在运行。它的设计是运行在计算机与微软Windows操作系统。

请参阅STM Studio发行说明,了解主机PC系统需求和支持的硬件。

有关如何使用STM Studio的高级信息,请参阅其用户手册(UM1025;开始与STM工作室)。

3.使用STM Studio监视STMTouch驱动程序变量

修剪触摸传感应用程序的主要参数是:

  • 通道引用,TSL_ChannelData_T结构数组的“Ref”元素
  • 信道增量,TSL_ChannelData_T结构数组的“增量”元素
  • 对象状态,TSL ouchKeyData结构数组或TSL LinRotData结构数组的“StateId”元素

此列表并不详尽,将取决于具体应用。

以下过程提供了导入此类变量的简单方法:

  1. 打开STM Studio
  2. 右键单击“显示变量”选项卡并选择“导入hellip;”或选择“文件/导入变量”菜单
  3. 在“从可执行文件导入变量”窗口中,
  4. 使用“浏览”按钮通过“可执行文件”字段选择应用程序Elf文件(.Elf、.out或.axf)
  5. 选中“展开表格元素”复选框
  6. 选中“相对于用户设置文件存储可执行路径”复选框以使用相对路径。
  7. 在“显示包含hellip;的符号”文本框中输入“Ref”
  8. 在变量列表框中选择“将变量添加到显示变量表”
  9. 选择以“.Ref”结尾的变量,然后单击“导入”按钮或按Ctrl click操作不连续的多重选择
  10. 使用Delta重复步骤d)和f)
  11. 使用StateId重复步骤d)和f)
  12. 点击“关闭”按钮

图1.STM Studio变量选择窗口

一旦导入,必须将变量分配给查看器才能显示:

  1. 在“显示变量设置”表中,选择所有“Ref”项(可以使用Shift Click操作连续多选,也可以使用Ctrl Click操作不连续多选)
  2. 在表中单击鼠标右键,然后选择“Send To→VarViewer1”,或将它们直接拖动到右侧的查看器。
  3. 在“查看者设置”窗口中,右键点击灰色部分,选择“New VarViewer”。出现一个“VarViewer2”选项卡。
  4. 对“Delta”项重复步骤4、5和6
  5. 对“StateId”项重复步骤4和步骤5

为了简化导航,您可以通过右键单击和重命名所监视变量的名称来重命名VarViewer窗口。

变量可以显示为曲线、条形图或表格。对于变化非常缓慢的变量,建议使用表显示。曲线和柱状图适用于变化快的变量。

图2.变量名为的VarViewers

然后,调整每个varviewer的值范围:

  • 增量取决于应用程序的灵敏度,可以是正的,也可以是负的
  • 状态从0到19不等,对于值含义,请参阅TSL_types.h中的TSL_StateId_enum_T。
  • 参考取决于Cx/Cs

此时,您必须通过USB电缆和适当的硬件工具(如ST-Link)将PC与应用程序连接,并使用微控制器中下载的选定二进制代码。

要开始监视,请单击绿色箭头或选择“运行/开始”菜单。

数据可以存储在一个文件中:

  1. 打开“选项”和“采集设置”窗口。
  2. 选中“日志到文件”复选框并设置日志文件路径。

图3.数据日志设置

4. 阈值的调整

本节提供有关如何选择可靠阈值的建议。根据应用程序用例,必须对一些建议进行调整。

电容触摸传感应用对大地耦合非常敏感。参数调优必须在与最终应用程序相同的环境中进行。连接到应用程序的硬件工具可能会更改接地耦合。尤其是在电池供电的应用中。ST正在提供一种电绝缘硬件工具(ST-Link/ISOL),以尽量减少这种影响。

4.1使用标准的测试手指

为了构建一个应用程序使用广泛的人手指的特点,我们建议使用一个标准的测试手指,将坏的情况下也将允许重复测试没有人类依赖,比如手指大小,压力和接触面积,皮肤导电性等hellip;hellip;进行重复性测试时,建议使用带平橡胶头的导电笔形工具。平端由导电橡胶制成,允许接触接触键与一个恒定的接触面。

执行验证的操作员将负责将接触区域集中在touchkey上。

此外,与一组用户一起计划最终验证是有意义的。

下面提供了一个标准手指的图片

图4.标准8mm直径的手指

有关推荐的标准测试手指,请参阅附录A。

4.2阈值定义

4.2.1Touchkeys阈值

调整检测阈值,首先要确定每个触摸键的灵敏度。为了做到这一点:

  1. 通过ST-Link将最终硬件连接到PC上,并为应用程序供电
  2. 下载固件,该固件将与STMT ouch驱动程序的最终参数一起在最终应用程序中使用。默认的检测阈值可以设置为一个较低的值,但保持高于噪声级。
  3. 启动STM Studio并按照第5页第2节:STM Studio概述中的说明进行配置。
  4. 使用第4.1节中描述的标准手指:使用第11页中的标准测试手指。
  5. 触摸触摸键并移动手指以找到最大增量并记下该值,然后对每个触摸键重复此操作。如果在最大增量附近度量值仍然存在显著的抖动,则计算平均值并将其用作基线。

这些值将是所有阈值的基线。如果应用程序触摸键的基线之间存在显著差异,建议为每个触摸键设置特定阈值。

检测阈值必须设置在基线的55%到65%之间,必须超过该阈值才能报告检测到的触摸键。检测结束阈值必须设置在基线的35%到45%之间,低于该阈值的密钥将不再被检测。

图5.阈值位置

阈值固件调整的示例,基线在80处测量,阈值在基线的~65%和~55%之间调整,如下所示:

MyTKeys[0].p_Param-gt;DetectInTh = 50; // Key 1 检测阈值

MyTKeys[0].p_Param-gt;DetectOutTh = 30; // Key 1 检测结束阈值

校准阈值(TSLPRM_TKEY_CALIB_TH)可以对所有键通用,并设置为最大基线的60%。

如果其中一个阈值必须大于255,则必须设置TSLPRM_COEFF_TH,以便使值处于正确的范围[0;255]。这是通过除校准阈值外的所有阈值除以2的TSLPRM_COEFF_TH次方得到的。在这种情况下,分割系数值(校准阈值除外)是需要在固件中配置的值。然后,固件将对所有系数(校准阈值除外)应用TSLPRM_COEFF_TH功率的补偿系数2。

4.2.2线性和旋转触摸传感器阈值

对于这种类型的传感器,方法是不同的,因为这些传感器是由几个通道组成的。标准测试手指必须沿着整个传感器移动,并且必须使用STM Studio记录增量日志。

检测阈值调整

一个旋转传感器日志的例子如下:

图6.旋转传感器的日志

必须将上图所示的最坏情况delta作为基线来计算该传感器的阈值。必须达到此阈值才能触发位置计算并报告对此传感器的检测。

用于触摸键的相同比率可以应用于此基线,因此65%到55%之间的比率可以进入检测,35%到45%之间的比率可以停止报告检测。

通道之间的平衡

当通道上出现明显的灵敏度差异时,STM Touch驱动器提供了一种平衡delta的方法,以最小化位置计算的误差。

灵敏度由每个通道上的最大增量确定。

下图显示了来自一个灵敏度差异过大的旋转传感器的日志。

图7.平衡前的传感器日志

为了得到平衡的通道,将对每个通道delta应用一个系数。这个系数是每个通道的最大增量之比。参考通道是delta值最高的通道(A表示通道1),其他通道的delta值最大的是B表示通道0,C表示通道2。通道0的系数设为A/B,通道2的系数设为A/C。通道1没有改变,系数是1。

这些系数必须乘以255,因为它们是255的一部分。

例如:

  • A/B = 1.75 系数是 488 = 0x1C0
  • A/C = 3 系数是 768 = 0x300 那么代码就是:

CONST uint16_t MyLinRot0_DeltaCoeff[LINROT_CHANNELS] =

{

0x1C0, 0x100, 0x300,// CH0, CH1, CH2

};

MyLinRot0_DeltaCoeff将在TSL_LinRot_T或TSL_LinRotB_T结构的声明中由p_DeltaCoeff项指向。

CONST TSL_LinRotB_T MyLinRots[TSLPRM_TOTAL_LNRTS] =

{

{

amp;MyLinRots_Data[0],

amp;MyLinRots_Params[0],

amp;MyChannels_Data[CHANNEL_16_DEST],

(TSL_tNb_T)LINROT_CHANNELS,

MyLinRot0_DeltaCoeff,

(TSL_tsignPosition_T *)TSL_POSOFF_3CH_LIN_INTERLACED,

(TSL_tIndex_T) TSL_SCTCOMP_3CH_LIN_INTERLACED,

(TSL_tIndex_T) TSL_POSCORR_3CH_LIN_INTERLACED

}

};

4.2.3邻近

在确定接近阈值时,设计者必须考虑噪声的灵敏度和期望的检测距离,还要考虑最小的待检测表面。

4.3去燥设置

为了提高应用程序的健壮性,STMT ouch驱动程序提供了去噪特性。为了验证触控检测,delta必须在一定数量的连续采样期间超过阈值,如图8所示。这是为了避免由于噪声峰值而导致的错误检测。

图8.去噪示例

由于使用向下计数器,在触发检测之前,必须将去噪预处理器常数设置为n1,而n个连续样本必须测量到低于检测阈值。

#define TSLPRM_DEBOUNCE_DETECT(2)//3个需要输入检测的连续样本。

可为每个状态转换配置去噪功能:

  • TSLPRM_DEBOUNCE_PROX:从释放状态切换到接近状态时
  • TSLPRM_DEBOUNCE_DETECT:从释放状态或接近触摸检测状态切换时
  • TSLPRM_DEBOUNCE_RELEASE:从触摸或接近状态切换到释放状态时
  • TSLPRM_DEBOUNCE_CALIB:从释放状态切换到校准状态时(再次计算参考)
  • TSLPRM_DEBOUNCE_ERROR:从任何状态切换到错误状态时

5.电荷转移周期调谐

采集基于传感器通道电容的测量(或线性和旋转传感器的一组传感器)。此传感器电容充电越多,测量越精确,抗噪性越好。

为确保电容正确充电,有必要监测连接到传感器板的引脚或通过传感器上的金属硬币。

图9.金属硬币探针

信号必须显示一个方波,表示满负载电容。图10显示了一个理想电荷转移的例子,图11显示了一个非理想电荷转移的例子。

图10.理想电荷转移

图11.非理想电荷转移

如果发生未完成的电荷,用户必须增加电荷转移期。

根据产品和获得类型,需要进行不同的调整。所

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[238163],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。