天富平台公司 - 天富平台APP下载|天富平台代理【官网登录】

【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》


当您需要在硬件中进行准确的时序测量而又不会使微控制器过载时,Microchip 16F1619 PIC单片机中的信号测量计时器模块(SMT)则是不二之选!它非常适合此应用,SMT模块可精准捕获信号的特征,例如周期和频率等。本设计测量的输入频率信号在8 Hz到10 MHz的范围内,周期信号在0.1 mog到125 ms的范围内。图1显示了原型电路

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

图1.这是与16F1619 PIC微控制器一起用来测量周期和频率的电路板。

该模块的操作包括读取24位定时器/计数器的数据并将其传输到三个寄存器,分别称为TMR,CPR和PR。SMT可以执行各种测量,例如门控计时器,周期和占空比采集,高低测量,窗口测量,门控窗口测量,飞行时间,捕获,计数器,门控计数器和窗口计数器。

在此应用程序中,我们在周期和占空比采集模式下使用SMT模块。图2显示了此设计的电子原理图。

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

图2.基于16F1619 PIC微控制器的周期/频率测量的电子原理图。

周期和占空比有两种操作模式。第一个模式可用作单次采集工作,可以获取计时器/计数器内容。您可以将其配置为信号的上升沿以开始读取,或者进行采集并将下降沿设置为中断。第二种模式只需配置SMTxGO寄存器即可读取和保存计数器值设置,GO和中断获取。在此设计中,我们使用第二种模式。为了了解该计数器及其寄存器的工作原理,我们需要检查时序图。

根据数据手册的时序图,出于同步目的,我们在启动计数器之前会有一个延迟。时间取决于内部或外部时钟。开始采集后,我们在软件中设置了50毫秒的延迟。  SMT模块作为周期和占空比采集的设置代码为:

SMT1CLK =%00000001; SMT时钟选择寄存器(我们选择Fosc / 4)

SMT1SIG = 0;  信号输入选择寄存器(我们几乎可以将每个引脚用作SMT输入;在这种情况下,默认情况下选择SMTSIG1)

这些寄存器仅用于初始化,即使在SMT寄存器中选择了它们,我们也必须选择时钟及其输入端口。SMT模块有两个控制寄存器。我们需要同时设置两者以进行测量。这些位的操作描述如下(STxCON是控制寄存器):

SMT1CON0:

BIT 7:  启用SMT模块;如果该位设置为0,则整个SMT被禁用。

BIT 6: 未实现。

BIT 5: 停止计数器;它用于中断选项。

BIT 4: 窗口输入极性,用于在上升沿或下降沿进行测量。

BIT 3: 输入信号极性;可以在上升沿或下降沿进行测量。

BIT 2: 时钟输入极性;在上升或下降沿递增计数器。

BIT 1&0:SMT模块预分频器

SMT1CON1:

BIT 7:开始从计数器时钟获取数据;如果禁用,则不计算在内。

BIT 6:该位使我们可以在两种操作方法之间进行选择:单次测量或重复测量。对于单次测量,您必须选择极性选项才能在上升沿进行测量或在下降沿停止。

BITS 5 & 4: 未实现。

BITS 3 to 0: 通过设置这些位来分配操作模式。

正如您在下面的代码清单中所看到的,我们使用20X2 LCD显示屏来显示周期测量值。这些测量值无法直接读取,因为计数器中的值为“频率”。因此,必须将其转换为期间。然后,使用外部晶振将时钟设置为16 MHz,在SMT模块中,将Prescaler值设置为4, 将周期标度设置为4 。确定我们得到的时间:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

【天富代理待遇怎样?】【天富平台最高奖金】

因此,每个时钟脉冲有1us,这意味着如果我们有一个1ms的周期,我们应该有1000个周期恒定的脉冲。为了得到频率,我们使用公式2:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

为了确定脉冲数量,我们需要将SMTF osc除以频率:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

如您所见,这些值是浮点型或double变量类型。我们不能在PBP3编译器中使用十进制数,因此我们需要寻找一个方程式来解决这个问题。在这种情况下,我们使用1 MHz内部时钟在SMT模块中读取250 Hz。这意味着对于公式1,该周期将为4000个脉冲-在这里,我们知道1 µs等于1个脉冲,相当于4 ms。如果时钟设置为 4 MHz,我们将获得16000个脉冲,这是一个16位数字。

对于周期测量,每个脉冲为250 µs,这意味着我们必须将SMT脉冲数据的值乘以一个常数。然后我们将得到400000。这不是16位数字,因此我们需要一个乘数。接近真实二进制数的数字为25-由于每个脉冲为250 µs,因此该数字将成为我们的乘数,从而得出公式4:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

通过在PBP3中使用DIV32命令,我们可以将内部结果中的所有31位都用作乘法函数的内部变量,该变量的工作方式为16-×16位,然后除以100。然后得到等式5:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

现在,我们有一个有效的16位数字,以毫秒为单位表示读数。这意味着,我们将数字4和数字3作为整数,另一个作为浮点值。但是,这仅对于此配置有效。

现在,我们必须将不同的周期值分成多个标度。我们分四个等级进行。例如,在第一个标度中,我们使用Fosc / 4和预分频器将SMT时钟配置为1:8。那么我们的SMTFosc等于500,000 Hz。如果使用公式1,则每个脉冲等于2 µs。由于周期测量的最大16位脉冲,在这种情况下,我们必须将标度值设置为8至100 Hz。

为了对其进行测试,我们将来自外部脉冲宽度调制(PWM)的50Hz输入信号施加到读取引脚。然后,通过方程式1和3,我们将10000个脉冲输入到SMT模块的数据寄存器中。要知道周期值,我们将脉冲乘以2 µs。因此,我们寻找乘积因子;在这种情况下,2 µs的最接近实数为2。

现在我们有了Period值:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

并使用Div32函数:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

现在我们有了一个常规的16位数字,我们将每个数字分开并乘以它的实际值。该数字以毫秒为单位给出“期间”值。随后,我们需要根据“周期”测量来计算“频率”。我们从数据寄存器中获取值-得到10000个脉冲-然后使用公式3求解频率:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

我们将除以10得到一个较小的数字1000,然后除以与SMTFosc相关的最接近的16位数字因子,在这种情况下为50000:

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

结果是50 Hz。我们可以根据每个标度的SMTFosc和周期因子重复此过程。

完整的软件代码在下面的代码清单中给出。

表1显示了每种秤的SMT模块配置。表2总结了输入频率及其各自的结果。

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

表1:每种秤的SMT模块和微控制器配置。

《【天富娱乐代理分红】使用Microchip 16F1619 微控制器可以更加精准地测量频率和周期!》

表2:方程和测量单位的周期和频率结果的测量范围。

【天富娱乐代理怎么注册】【天富娱乐可以代理吗】

【天富代理主管】​研究人员在光子和原子之间形成了超强的耦合

点赞