计算机多设备接口波特率不匹配的研究

[09-13 16:56:19]   来源:http://www.88dzw.com  接口定义   阅读:8711

文章摘要:我们的问题在于寻找一个分数,它能够尽可能地接近校准系数。那么可以使用这样一种多位小数的分数逼近法,该算法认为:任何一个多位小数,无论是无理数还是有理数,均可以用一个分数来近似表示它,并可用一定的程序使其误差越来越小,直至达到所需的精确度。根据该算法,可以通过程序来实现获取这两个参数的自动计算,该程序流程如图1所示。图1 程序流程初始化时要求找到A和B的值,使其满足B利用1 ≤ MulVal ≤ 15和0 ≤ DivAddVal ≤ 15的限制作为迭代退出条件,当A的分母超过16时,B就是最优解,B1即为MulVal,而DivAddVal则等于B2-B1;同理,当B的分母超过16时,MulVa

计算机多设备接口波特率不匹配的研究,标签:接口技术,微机原理与接口技术,http://www.88dzw.com

  我们的问题在于寻找一个分数,它能够尽可能地接近校准系数。那么可以使用这样一种多位小数的分数逼近法,该算法认为:任何一个多位小数,无论是无理数还是有理数,均可以用一个分数来近似表示它,并可用一定的程序使其误差越来越小,直至达到所需的精确度。

  根据该算法,可以通过程序来实现获取这两个参数的自动计算,该程序流程如图1所示。


  图1  程序流程

  初始化时要求找到A和B的值,使其满足B

  利用1 ≤ MulVal ≤ 15和0 ≤ DivAddVal ≤ 15的限制作为迭代退出条件,当A的分母超过16时,B就是最优解,B1即为MulVal,而DivAddVal则等于B2-B1;同理,当B的分母超过16时,MulVal=A1,DivAddVal=A2-A1。

  本例中程序计算出来MulVal=12,DivAddVal=1,与人工计算结果完全相同,所以使用这种算法,可以利用程序自动高效计算得出MulVal和DivAddVal整数值,不仅节省人力,而且更加科学可靠。

  结语

  计算机系统中的各种设备接口所要求的频率往往不同,当只配备一个晶振时,有一些设备频率完全匹配而另外一些设备则可能无法完全匹配。作者通过对使用12 MHz晶振的LPC214xCPU进行串口通信时产生的误差研究发现,当期望波特率在57 600 bps以下时,实际波特率与其误差较小,可以正常通信;而当期望波特率为115 200 bps时,实际波特率为125 000 bps,在这样大的误差下如果不修正实际波特率根本无法进行正确的通信;而当通过设置使用小数波特率发生器校准非标准频率晶振所引起的波特率误差时,可以让期望波特率高达115 200 bps的实际波特率为115 384 bps,误差仅为184,通信完全正常。另外,在计算小数分频寄存器中的设置值时首次引入了科学的数学算法,摒弃了传统工程师使用经验技巧和反复试验获取MulVal和DivAddVal值的人工方法,实现了由程序自动、正确、快速地获取设置寄存器参数值的目的,不仅提高了工作效率,更重要的是完全实现了自动化,无需再人工干预。(单片机与嵌入式系统应用 作者:柯铖 周琪云)


上一页  [1] [2] 


Tag:接口定义接口技术,微机原理与接口技术接口定义

《计算机多设备接口波特率不匹配的研究》相关文章

分类导航
最新更新
热门排行