https://ariya.io/2012/08/real-time-clock
这个链接有一句话:
A crystal with a frequency of 32.768 KHz is particularly useful since it can be combined with a 15-bit prescaler to give a good 1 Hz signal for the clock.
这里说这个晶体的频率是32.768KHz(这里需要注意不用和内存里的K混掉,内存里的一遍又kb,KB)。然后说这个频率的晶体特别有用,因为可以和一个15-bit的预定标器(prescaler ,预先设置好的一个标量器,可以容忍32768个信号,然后再激发一个信号),这个15-bit的标量器,的最大值,也是32768。所以,可以给出一秒一个信号的效果:1Hz信号。
所以制造出这种卡着频率的水晶来,真是太重要了,就可以调整prescaler的值,来实现定时器的功能。定时触发中断。
Note that the prescaler can be programmed as well, specially to trigger IRQ (interrupt request) at a predefined frequency.
制造特定频率的水晶需要高度精密的工艺和技术,通常需要专业设备和实验室条件。水晶的频率取决于其晶体结构和化学成分,不同类型的水晶会有不同的频率。以下是一些一般性步骤,但请注意,具体的制造过程可能因水晶类型而异:
选择水晶材料: 首先,您需要选择适合您所需频率的水晶材料。常见的水晶材料包括石英、硅、锗等。每种材料都有其特定的频率特性。
水晶生长: 一种常见的水晶制造方法是通过水晶生长过程来制备水晶。这通常涉及将适当的原材料溶解在高温高压的环境中,然后让水晶在晶体种子上生长。这一过程需要非常严格的温度、压力和化学控制,以确保最终的水晶具有所需的频率。
晶体形状和切割: 制造后的水晶可能需要进一步形状加工和切割,以确保其频率满足要求。这通常由精密机械进行,以精确地控制水晶的形状和尺寸。
极化: 有些应用需要水晶是极化的,这意味着水晶的分子结构在一个特定方向上排列。这可以通过在特定温度和电场条件下处理水晶来实现。
测试和校准: 制造出的水晶需要进行频率测试和校准,以确保其性能满足要求。这通常需要使用专业的测试设备和实验室。
需要强调的是,制造水晶是一个高度专业化的过程,通常需要专门的知识和设备。如果您需要特定频率的水晶,建议与专业的水晶制造公司或实验室合作,他们可以根据您的要求定制水晶。同时,也需要遵循任何相关的法规和安全准则,特别是在处理高温高压或有害材料时。
4.99 KVM_REINJECT_CONTROL
:Capability: KVM_CAP_REINJECT_CONTROL
:Architectures: x86
:Type: vm ioctl
:Parameters: struct kvm_reinject_control (in)
:Returns: 0 on success,
-EFAULT if struct kvm_reinject_control cannot be read,
-ENXIO if KVM_CREATE_PIT or KVM_CREATE_PIT2 didn’t succeed earlier.
i8254 (PIT) has two modes, reinject and !reinject. The default is reinject, where KVM queues elapsed i8254 ticks and monitors completion of interrupt from vector(s) that i8254 injects. Reinject mode dequeues a tick and injects its interrupt whenever there isn’t a pending interrupt from i8254. !reinject mode injects an interrupt as soon as a tick arrives.
struct kvm_reinject_control {
__u8 pit_reinject;
__u8 reserved[31];
};
pit_reinject = 0 (!reinject mode) is recommended, unless running an old operating system that uses the PIT for timing (e.g. Linux 2.4.x).
这段话提到了i8254,它是Intel 8254 Programmable Interval Timer(可编程间隔计时器)的缩写,通常被称为PIT。PIT是计算机系统中的一种硬件定时器,用于产生固定时间间隔的脉冲信号,通常以特定的频率运行。在计算机体系结构中,PIT有两种模式,即"reinject"(重新注入)和"!reinject"(不重新注入)。
reinject(重新注入)模式: 在reinject模式下,PIT可以周期性地生成脉冲信号,并且在每次脉冲信号发出后,计时器会自动重新加载(reinject)计数值,以便再次开始倒计时。这个模式通常用于产生周期性的中断,例如操作系统的时钟中断或其他需要按照固定时间间隔执行的任务。计时器会自动重新触发,不需要外部干预。
!reinject(不重新注入)模式: 在!reinject模式下,PIT只会产生一次脉冲信号,然后停止计数。不会自动重新加载计数值,因此需要外部干预来重新启动计时器并重新触发脉冲信号的生成。这个模式通常用于一次性的定时任务,或者需要手动控制计时器的情况。
这两种模式允许计算机系统根据需要使用PIT来执行不同类型的定时操作。选择哪种模式取决于具体的应用需求。“reinject"模式通常更适合周期性任务,而”!reinject"模式则更适合一次性或手动控制的任务。
MC146818是一种实时时钟(RTC)芯片,而i8254是可编程间隔计时器(PIT)芯片。虽然它们都属于计时和计数领域的硬件设备,但它们在功能和用途上有明显的区别。
MC146818: MC146818是一种实时时钟(RTC)芯片,通常用于计算机系统中用来跟踪和维护日期和时间信息。它通常包括一个实时时钟和一个非易失性RAM(NVRAM)存储器,用于存储系统的时间和日期设置以及其他配置信息。RTC芯片用于维护系统的实时时钟,以确保计算机在断电或重新启动后仍能准确地跟踪时间。
i8254(PIT): i8254,或可编程间隔计时器,是一种硬件计时器芯片,用于生成周期性的时间间隔或脉冲信号。它通常用于计算机系统中的时间测量和中断生成,以及其他需要精确时间控制的应用。PIT芯片可以配置为不同的工作模式,以满足不同的计时需求,如单次触发、周期性触发等。
尽管MC146818和i8254都涉及时间和计时,但它们的功能和应用领域不同。MC146818主要用于维护系统的日期和时间,而i8254主要用于生成时间间隔和计时。它们通常在计算机系统中同时存在,但担任不同的角色。