主题中讨论的其他器件: TRF7970A
大家好、团队、
请问如何控制 RF430FRL152h 的采样率? 目前、我已将传感器连接到 ADC0、我正在从 Android 手机读取数据。 我目前正在接收数据。 我需要将其增加到数据/ms。 非常感谢您在这方面提出的建议。
此致
阿陶尔
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、团队、
请问如何控制 RF430FRL152h 的采样率? 目前、我已将传感器连接到 ADC0、我正在从 Android 手机读取数据。 我目前正在接收数据。 我需要将其增加到数据/ms。 非常感谢您在这方面提出的建议。
此致
阿陶尔
阿陶尔、您好!
请参阅"技术参考手册"第204页、了解根据精度可能的采样率:
http://www.ti.com/lit/ug/slau506/slau506.pdf
我假设您使用的是 RF430FRL152H 的内置 ROM 固件。 要加快采样速度、您必须配置"ADC0传感器配置寄存器(ADR. 0xF87A)"并设置滤波器参数、从而实现不同的采样速度。
采样开始可以通过在每次想要获得新值时设置 START 位来完成、也可以在启动时设置具有无限采样的调度程序。 在"中断控制寄存器"位0中设置无限采样。 在 这种情况下、必须将"通过的寄存器数量(ADR. 0xF86C)"设置为"2"、并将"频率寄存器(ADR. 0xF86B)"设置为所需的值以实现所需的速度。
固件用户指南:
http://www.ti.com/lit/pdf/slau603b
另请参阅以下涉及类似问题的主题:
https://e2e.ti.com/support/wireless-connectivity/other-wireless/f/667/p/956315/3535078
此致、
Helfried
您好、Helfried、
非常感谢您的快速回复。
是的、我正在使用 ROM 固件中的构建。
我根据您的优惠尝试了以下步骤、但不起作用;
i)在 GUI 界面的演示模式下、我启动了演示。
ii)在第1代配置中: 常规控制寄存器>已检查 开始采样过程>已检查 LPM3;传感器控制寄存器>已检查光传感器;通过数寄存器> 2;频率寄存器>自定义时间;然后检查无限采样。
III)、位于 Sensor Config:光传感器配置寄存器>增益(1)>滤波器类型(CIC)>过采样(32)
IV)在报警控件中:存储样本存储器>1
V)在传感器阈值配置中:自定义时间寄存器在块3中> 40ms。
然后我单击"全部写入设置"。 之后、我从 TI 读取器中删除了补丁并通过 Android 应用读取。 我仍在接收一个数据点 我在这里有什么问题吗? 芯片是否未配置这些步骤?
我是否还需要检查"System (系统)"选项卡上的任何内容? 以及如何选择 "Interept control register"位0?
期待您的回复。
此致
阿陶尔
阿陶尔、您好!
我采用了我的设置、与您一样、一切似乎都正常。
当您最后执行"写入所有设置"时、转到"通用器件配置"选项卡并执行"只读此选项卡"。 您应在状态寄存器中看到"Sampling in Progress"。 当您切换到"查看传感器数据"选项卡并反复 按"读取记录的数据"时、您将注意到光传感器 数据 会有所不同。
到目前为止一切都还可以。 但是、当您从 射频场中移除 RF430FRL152H 时 、需要 再次设置"Start Sampling Process"来启动它。 这就是您无法使用 Android 应用程序获取数据的原因。
如果在使用 Android 应用程序执行"读取单个块0"之前设置了起始位、并使用"写入单个块0"再次写入数据。
您也可以使用演示 GUI 尝试此操作。 从现场移除电路板后、写回"Gen device config"选项卡中的数据以 重新开始测量。
此致、
Helfried
尊敬的 Helfried:
感谢您的回复。 实际上、我们正在努力处理在 Android 应用中设置中断控制电阻器(0)、通过次数寄存器(2)和频率寄存器(达到所需值)的给定指令。 我们在代码中的命令 o 下找到以下初始设置。
初始设置:
(字节) 0x01、//通用控制寄存器
(字节) 0x00、//-状态寄存器
(字节) 0x07、//传感器控制寄存器
(字节) 0x03、//-频率寄存器
(字节) 0x01、//传递数寄存器
(字节) 0x01、//额外采样寄存器
(字节) 0x00、//功率模式
(字节) 0x40
结果:每秒获得1个数据点。
我们按如下方式更改了设置:
立即设置:
(字节) 0x00、//通用控制寄存器
(字节) 0x00、//-状态寄存器
(字节) 0x07、//传感器控制寄存器
(字节) 0x00、//频率寄存器
(字节) 0x02、//传递数寄存器
(字节) 0x01、//额外采样寄存器
(字节) 0x00、//功率模式
(字节) 0x40
结果:每秒获得大约5个数据点。
请告诉我命令0、命令1是什么意思。。 命令8? 以及如何设置您建议的指令。 我在给定代码中找不到中断控制寄存器。 如何将该位置于可实现40ms 采样周期的位置? 您能否指导我们进行上述寄存器设置、以获得所需的采样率?
提前感谢您的合作。
此致
阿陶尔
阿陶尔、您好!
您看到的采样速度来自"频率寄存器"中设置为"00"的设置、这意味着每秒4次。 当您需要更快的速度时、您必须将其设置为"Custom Time"并在"Custom Timer Value Register"(块3字节0)中定义时间。 请参阅固件用户指南。
如何使用 Android 应用程序对寄存器进行编程? 我假设您正在使用8字节块执行单个写入块。
我已经编写了一个小型 Windows GUI 、 这可能有助于更好地理解。 要将其与 TRF7970A 读取器和 RF430FRL152H EVM 配合使用、请在第一个选项卡中的第一个"Init Reader"处按。 在第二个选项卡中、您可以看到所有 RF430FRL152H 寄存器。 当选择一个寄存器时、块数据中的相关字节将被突出显示。 所有寄存器都位于0 - 8块中(每个都是8字节块)。
e2e.ti.com/.../RF430FRL152H_5F00_Util_5F00_V1_5F00_2_5F00_0F.zip
此致、
Helfried
您好、Helfried、
非常感谢。 GUI 应用在了解寄存器方面非常有帮助。
我的目标是实现40ms 的采样周期。 我理解的是、我们必须在 BlockNr -0的频率寄存 器中选择16 (根据固件用户指南)、然后在 BlockNr -3中设置自定义计时器 vaue、这是一个8位寄存器。
您能否指导我如何在8位自定义计时器值寄存器中设置时间?
实际上、我在上一封邮件中谈论的是 Android 应用程序的源代码。 我们发现、通过更改源代码中命令0的频率寄存器中的数字、我们可以根据固件用户指南在应用程序上更改采样率、但自定义计时器除外。 命令3是否反映了您提供的 GUI 应用程序的 BlockNr 3? 如果是这种情况、我们是否需要更改命令3中的自定义时间值?
此致
阿陶尔
阿陶尔、您好!
您的理解是正确的、您必须将"频率"寄存 器设置为16 (= 10十六进制)才能指定"自定义计时器值"。
使用 ISO15693命令"写入单个块"、BlockNumber = 3、Blockdata ="28000000FFFFFFFFF"、可以将"自定义时间值"设置为所需的40ms (= 28十六进制)、假设使用"低/高阈值参考 ADC1"寄存器、 它们是块数据的“FFFFFFFF”部分,不会被使用并保持其默认值。
此致、
Helfried
尊敬的 Helfried:
再次感谢。
我按照 ISO15693命令"写入单个块"块编号=3中的如下方式设置块数据。 我没有看到40ms 的采样。 请您进一步检查我是否有任何问题并进行相应的更正吗?
字节 Command0[]= 新字节[]{
(字节) 0x01、 //通用控制寄存器
(字节) 0x00、 //-状态寄存器
(字节) 0x07、 //传感器控制寄存器
(字节) 0x10、 //频率寄存器
(字节) 0x02、 //传递数寄存器
(字节) 0x01、 //额外采样寄存器、平均值计算寄存器
(字节) 0x00、 //功率模式、 中断 寄存器
(字节) 0x40 //错误控制寄存器
};
字节 Command1[]= 新字节[]{
(字节) 0x00、 //参考 ADC1传感器跳过计数器
(字节) 0x00、 //-热敏电阻 ADC2传感器跳过计数器
(字节) 0x00、 //-ADC0传感器跳过计数器
(字节) 0x00、 //频率寄存器、内部传感器跳过计数器
(字节) 0x00、 //-数字 Sensor1 跳过计数器
(字节) 0x00、 //数字传感器2跳过计数器
(字节) 0x00、 //数字传感器3跳过计数器
(字节) 0x00 //接收到的块数
};
字节 Command2[]= 新字节[]{
(字节) 0x19、 //参考 ADC1配置
(字节) 0x19、 //-热敏电阻 ADC2配置
(字节) 0x18、 //-ADC0传感器配置
(字节) 0x00、 //内部传感器配置
(字节) 0x00、 //初始延迟周期设置
(字节) 0x00、 //-JTAG 使能密码
(字节) 0x00、 //初始延迟周期
(字节) 0x00 //-JTAG
};
字节 Command3[]= 新字节[]{
(字节) 0x28、 //自定义定时器值
(字节) 0x00、 //自定义定时器值
(字节) 0x00、 //自定义定时器值
(字节) 0x00、 //自定义定时器值
(字节) 0xFF、 //-低阈值参考-ADC1
(字节) 0xFF、 //-低阈值参考-ADC1
(字节) 0xFF、 //-高阈值参考-ADC1
(字节) 0xFF //-高阈值参考- ADC1
};
字节 Command4[]= 新字节[]{
(字节) 0x00、 //低阈值热敏电阻-ADC2传感器
(字节) 0x00、 //低阈值热敏电阻-ADC2传感器
(字节) 0x00、 //高阈值热敏电阻-ADC2传感器
(字节) 0x00、 //高阈值热敏电阻-ADC2传感器
(字节) 0x00、 //-低阈值 ADC0传感器
(字节) 0x00、 //-低阈值 ADC0传感器
(字节) 0x00、 //高阈值 ADC0传感器
(字节) 0x00 //高阈值 ADC0传感器
};
字节 Command5[]= 新字节[]{
(字节) 0x00、 //低阈值内部温度传感器
(字节) 0x00、 //低阈值内部温度传感器
(字节) 0x00、 //高阈值内部温度传感器
(字节) 0x00、 //高阈值内部温度传感器
(字节) 0x00、 //-低阈值数字1传感器
(字节) 0x00、 //-低阈值数字1传感器
(字节) 0x00、 //-高阈值数字1传感器
(字节) 0x00 //高阈值数字1传感器
};
字节 Command6[]= 新字节[]{
(字节) 0x00、 //-低阈值数字2传感器
(字节) 0x00、 //-低阈值数字2传感器
(字节) 0x00、 //高阈值数字2传感器
(字节) 0x00、 //高阈值数字2传感器
(字节) 0x00、 //-低阈值数字3传感器
(字节) 0x00、 //-低阈值数字3传感器
(字节) 0x00、 //-高阈值数字3传感器
(字节) 0x00 //高阈值数字3传感器
};
字节 Command7[]= 新字节[]{
(字节) 0x00、 //参考或 ADC1警报配置
(字节) 0x00、 //-热敏电阻和 ADC2警报配置
(字节) 0x00、 //-ADC0报警配置
(字节) 0x00、 //-内部警报配置
(字节) 0x00、 //-数字1报警配置
(字节) 0x00、 //-数字2报警配置
(字节) 0x00、 //-数字3报警配置
(字节) 0x00
};
WriteSingleBlock 代码:
Iso15693WriteSingleBlock iso15693WriteSingleBlock = new Iso15693WriteSingleBlock (mContext、 mTag、 1、 1);
iso15693WriteSingleBlock.WriteSingleBlock ((字节) 1、 Command1、 mOnCommandExecutedCallBack);
iso15693WriteSingleBlock.WriteSingleBlock ((字节) 2、 Command2、 mOnCommandExecutedCallBack);
iso15693WriteSingleBlock.WriteSingleBlock ((字节) 3、 Command3、 mOnCommandExecutedCallBack);
iso15693WriteSingleBlock.WriteSingleBlock ((字节) 4、 Command4、 mOnCommandExecutedCallBack);
iso15693WriteSingleBlock.WriteSingleBlock ((字节) 5、 Command5、 mOnCommandExecutedCallBack);
iso15693WriteSingleBlock.WriteSingleBlock ((字节) 6、 Command6、 mOnCommandExecutedCallBack);
iso15693WriteSingleBlock.WriteSingleBlock ((字节) 7、 Command7、 mOnCommandExecutedCallBack);
iso15693WriteSingleBlock.WriteSingleBlock ((字节) 0、 Command0、 mOnCommandExecutedCallBack);
..................................................................................................
期待您的合作。
此致
阿陶尔