方法二、
根据MSP430单片机硬件特点,我们对上述同步方法进行了优化,并达到了良好的同步跟踪效果。
设置接收端恢复出的同步时钟的频率等于码元频率。每一个计数中点均为采样时刻。与5倍时钟法相同,它也需要捕获和同步跟踪两个步骤。捕获的过程与上述的方法相同。同步跟踪,可以使采样时刻基本稳定在码元中心位置。如果同步时钟不跟随码元相位的变化进行调整,则采样点必然相对于码元滑动,当向前或向后偏移半个码元周期时,采样值就出现错误。如图2,恢复出的同步时钟与码元同步时,数据跳变沿的发生时刻与前一采样时刻的距离(D)等于二分之一码元宽度(M)。在同步时钟与码元相对偏移时,则有D≠M,若D>M,同步时钟超前,就要将下一采样时刻滞后;若D<M,同步时钟超前,就要将下一采样时刻提前。在接收过程中,同步跟踪就是根据D与M的关系不断调整。
(二)、方法二的具体实现
MSP430单片机的Timer_A可支持同时进行的多种时序控制、多个捕获/比较功能、各模块独立编程,中断可以由计数器溢出引起,也可以来自捕获外部信号的跳变沿。
MC1和MC0选择计数器工作模式,MC1=0、MC0=1时定时器增计数至比较寄存器CCR0的值就会产生中断,用这种模式可以产生固定频率的中断信号作为同步时钟。当增大或减小寄存器CCR0的值时,即可改变定时的时间间隔,从而调整同步时钟的频率。由于定时计数器的调整精度为一个时钟周期1/4.3ms(外部时钟晶振4.3MHz),所以可以产生频率精确的同步时钟。
捕获模式用于确定事件发生的时刻,可用于速度计算或时间测量等场合。如果在选定的输入引脚(如图P1.2)上发生选定的脉冲触发沿(上升沿、下降沿、任意跳变),则定时器的计数值被复制到捕获寄存器CCR1中,并产生中断。因此,读出CCR1中的值就可以记录跳变沿发生的时刻,根据跳变沿发生时刻与前一采样点比较的结果,调整同步时钟,超前或滞后,重新预置CCR0。
<图2>