20

蓝冠官网《Q374919 》时钟是硬件设计师的标准概念,蓝冠官网 但软件工程师不太熟悉。然而,在嵌入式编程(特别是实时嵌入式编程)中,软件开发人员必须在他们的软件程序中处理时钟。

时钟是硬件设计师的标准概念,但软件工程师不太熟悉。然而,在嵌入式编程(特别是实时嵌入式编程)中,软件开发人员必须在他们的软件程序中处理时钟。本文讨论了基于软件的时钟的基础。

什么是时钟

时钟是一种以固定频率交替的信号。

一个时钟信号

时钟的周期是信号连续上升边缘之间的时间。频率是上升边缘出现的速率(即1/周期)。周期或频率是时钟的特征。在软件中,为了跟踪时钟,蓝冠注册 你只需要存储这些值中的一个。在本文中,示例用它的周期来描述时钟,因为这使它们更容易编码。为了说明,让我们使用浮点类型来表示它(例如,C double类型)。实际上,任何可以表示时间的类型都可以使用。经常使用不动点表示法。

使用一个时钟

一旦一个时钟频率在软件中可用,蓝冠招商 你可以很容易地乘或除时钟简单地乘以或除以周期。有关时钟的信息可以发送到远程系统,以便远程重新创建,或者控制与时钟同步传输的数据流。

输出一个时钟

为了输出时钟,您需要对输出端口进行位击或高或低交替。下面的c风格伪代码展示了这个想法:

这里,get_current_time获取当前时间,output_at_time在指定的时间将值输出到端口。然而,这些功能只能精确到软件系统固有的某些分辨率。输出时钟的频率被量化到该分辨率,这意味着频率可以相当远离所需的值。您可以通过跟踪这种量化所导致的错误并在进行时进行调整来改进这一点。下面的代码显示了这一点:

这个算法跟踪误差,当误差大到足以并入输出时,它就会跟踪误差。使用这种方法,输出时钟将有正确的频率,但量化仍将导致一个可观察的抖动时钟。

相关文章
为您推荐
各种观点

报歉!评论已关闭.