在通用异步收发机中检测波特率的装置和方法

文档序号:7967599阅读:299来源:国知局
专利名称:在通用异步收发机中检测波特率的装置和方法
技术领域
本发明涉及通用异步收发机,更具体地说,本发明涉及在通用异步收发机中检测波特率的装置和方法,该装置和方法可以在预定波特率的基础上利用为每个脉冲宽度计算的采样数目而检测最优的波特率。
背景技术
通常,便携式通信设备与外部通信设备相连,并且可以相互之间传输和接收数据。通用异步收发机(UART)转换两个通信设备之间的数字数据使其与各设备相应。
通常,UART提供以下的各种功能。第一,UART可以将通过并联电路从便携式通信设备输入的字节转换成串行的比特流,以将转换后的字节向外传输。第二,当比特流传输到UART内部时,UART可以将串行的比特流转换成字节,以在便携式通信设备中处理该比特流。第三,UART可以添加奇偶校验位以向外传输该数据,确认所接收到的字节的奇偶校验,以及去除奇偶校验位。第四,UART可以向要向外传输的数据添加起始位和终止位,以及从接收到的数据中去除起始位和终止位。第五,UART可以管理需要速度等于不同类型的中断的处理速度和便携式通信设备的操作速度的设备,使其速度等于外部通信设备的速度。
具有上述功能的UART是用于支持不同波特率的通信设备。在UART中支持的波特率包括,例如,75,150,300,600,1.2K,2.4K,3.6K,4.8K,7.2K,9.6K,14.4K,19.2K,28.8K,38.4K,57.6K,115.2K,以及230.4K。相应的,在接收到的数据的基础上,UART可以通过奇偶校验过程(下文中称作奇偶校验)选择最优的波特率。
但是这存在缺点,在现有的UART中,通过进行奇偶校验而在不同的波特率中搜索最优波特率要花费的时间太长,和/或需要重新接收新的数据,因为在奇偶校验中使用过的数据不能再使用。另外,在上述的操作中,经常会损失一部分的数据。
图1是说明现有的通用异步收发机的示意框图。参照图1,通过接收端子RX接收到固定数目的数据后,UART 10可以通过多个波特率的奇偶校验检测而为接收到的数据检测最优波特率。这里,所述的多个波特率包括,例如,75,150,300,600,1.2K,2.4K,3.6K,4.8K,7.2K,9.6K,14.4K,19.2K,28.8K,38.4K,57.6K,115.2K,以及230.4K,它们可以在UART 10中预先确定。通常由UART 10中的内置程序进行预知波特率的检测过程,其中初始波特率设定为最大波特率230.4K。这样,当固定块(constant block)的数据输入到UART 10时,在初始波特率的基础上进行错误检测,以确定是否存在错误。如果检测结果是没有错误,即数据是有效的,则确定初始波特率为最优波特率。但是如果有错误,则确定检测对象的波特率为下一个波特率115.2K,并以相同的方式检测再次接收数据后是否发生错误。如果继续出现错误,则可以把波特率依次确定为下一个波特率,直到最小波特率,并以同样的方式重复检测接收数据是否存在错误。
因此,现有的UART具有缺陷,因为检测相应的波特率时接收的数据不能再次使用,所以确定最优波特率时必须重复接收相同的数据。另外,现有的UART在不同波特率的基础上执行上述程序检测最优波特率所需的时间太长。
发明概述因此,本发明的一个目的是提供一种在通用异步收发机中检测波特率的装置和方法,以在从便携式通信设备接收到的数据的基础上检测最优波特率,同时在检测过程中暂时存储该数据。
本发明的另一个目的是提供一种在通用异步收发机中检测波特率的装置和方法,以在接收到的数据基础上以硬件的方式进行最优波特率检测,从而提高检测速度。
为了实现上述目的,提供了一种在通用异步收发机(UART)中检测波特率的方法,该方法包括以下步骤在由接收到的数据而生成的至少一个脉冲的基础上,为每个脉冲宽度计算采样数目;在每个脉冲宽度的采样数目基础上分别计算预测波特率和另一个对应于该波特率的采样数目;以及在计算的采样数目的基础上进行最优波特率的检测。
计算的采样数目(对每个脉冲宽度)被暂时存储并以FIFO(先入先出)的方式输入/输出。
采样数目的计算过程是通过至少一个预设波特率进行的,其中对第一脉冲宽度的采样数目的计算可以使用最大波特率进行。
当各脉冲宽度中第一脉冲宽度的采样数目是一个固定值或更小时,可以计算预测波特率和对应于该预测波特率的采样数目。
当最先输入的采样数目超过该固定值时,可以按照降序施加预设的波特率,从而控制采样数目达到该固定值或更小。
另外,提供了一种在通用异步收发机(UART)中检测波特率的方法,该方法还包括以下步骤提供采样数目,该采样数目是由对应于预测波特率的检测器在第一脉冲宽度的采样数目的基础上计算的;将当前和下一个采样数目相加,直到检测器中提供的数目变成或超过一个固定值;以及,如果该数目是该固定值或超过该固定值,则根据脉冲宽度的数目和/或是否有错误而存储字位,或者去除预先存储的字位然后存储字位。对应于预测波特率的检测器可以生成有效信号,并通过计数该有效信号的数目而确定是否检测到了最优波特率。
为了实现所述目的,提供了一种在通用异步收发机(UART)中检测波特率的装置,该装置包括采样计算装置,用于在由接收到的数据而生成的至少一个脉冲的基础上计算每个脉冲宽度的采样数目;可用波特率检测装置,用于在每个脉冲宽度的采样数目的基础上分别计算预测波特率和/或对应于该预测波特率的采样数目;以及最优波特率检测装置,用于将当前和下一个采样数目相加,直到对应于预测波特率的采样数目变成一个固定值,并且如果该采样数目超过了固定值,则根据脉冲宽度的数目和/或是否发生了错误而输出字位。
如果第一预测波特率不等于第二波特率,则可用波特率检测装置只在多个X波特率检测器中激活与第二波特率相匹配的X波特率检测器,其中第一波特率是由先前脉冲宽度的采样数目而计算出来的波特率。而第二波特率是由当前脉冲宽度的采样数目而计算出来的波特率。


由以下的详细说明,结合附图,可以更清楚地理解本发明的目的、特征和优点,附图中图1是一个示意框图,显示了现有的通用异步收发机;图2是一个示意框图,显示了根据本发明优选实施例的通用异步收发机;图3是一个框图,显示了根据本发明优选实施例的通用异步收发机的波特率检测装置;图4是存储在根据本发明优选实施例的通用异步收发机的预测波特率检测部分中的映象表;图5是一个流程图,显示了在根据本发明优选实施例的通用异步收发机的波特率检测装置中检测波特率的过程;图6是一个流程图,显示了在图5的波特率检测装置中检测预测波特率的过程;以及图7是一个流程图,显示了在图5的波特率检测装置中从多个预测波特率中检测最优波特率的过程。
优选实施例详细说明以下参照附图对本发明的优选实施例进行说明。在下面的说明中,即便在不同的图中也使用相同的标号标示相同的元件。在说明书中限定的内容,比如电路的详细结构和元件,仅仅是为了帮助更好地理解本发明。因此,很显然本发明可以不用这些限定的东西而实施。另外,不对公知的功能或结构进行详细说明,因为对它们进行不必要的详细说明会使本发明变得不清晰。
图2是一个示意框图,显示了根据本发明优选实施例的通用异步收发机。本发明包括一个原样的现有的异步收发机,还包括硬件型的波特率检测装置101,它可以装备在通用异步收发机(以下称为UART)100的接收部分的后面。如上所述,现有的UART通过执行它内部的程序而检测最优波特率,而本发明的UART 100可以利用硬件型波特率检测装置101而检测最优波特率。因此,可以在输入到UART 100的波特率检测装置101中的数据的基础上检测最优波特率。如果没有从该数据检测到最优波特率,则可以从下一个输入数据检测最优波特率。另外,因为在最优波特率的检测中使用的数据的字位存储在波特率检测装置101中,所以相同的数据不重复地输入到装置101中。图3显示了波特率检测装置101。
图3是一个框图,显示了根据本发明优选实施例的UART的波特率检测装置。参照图3,波特率检测装置101包括脉冲发生部分103,采样计算器105,寄存器107,预测波特率检测部分109,最优波特率检测部分111,缓存部分113,以及计数器115。
脉冲发生部分103在一个输入数据的基础上生成脉冲。因此,脉冲发生部分103在包含二进制位的数据基础上为从“0”位到“1”位,或从“1”位到“0”位的可变部分生成脉冲。这里,输入到脉冲发生部分103的数据的数据格式由起始位,字位、奇偶校验位和终止位组成。起始位为“0”,终止位为“1”。因此,因为起始位是“0”,终止位是“1”,所以虽然字位和奇偶校验位都是“0”,脉冲发生部分103也可以生成至少一个或更多的脉冲,在所确定的波特率的基础上,采样计算器105为至少一个或更多脉冲中的脉冲间隔进行采样操作。在本发明中,最初确定的波特率是最大波特率。如上所述,波特率为,例如,75,150,300,600,1.2K,2.4K,3.6K,4.8K,7.2K,9.6K,14.4K,19.2K,28.8K,38.4K,57.6K,115.2K,以及230.4K。因此,最大波特率可以一直到230.4K。因为这些波特率存储在预测波特率检测部分109中,在脉冲组输入采样计算器105后,随即将最大波特率首先提供给采样计算器105。采样计算器105利用该最大波特率计算采样数目。如果由最大波特率计算得到的第一脉冲宽度的采样数目超过了一个固定值(例如10),则预测波特率检测部分109通过向采样计算器105提供下一个波特率而再次计算第一脉冲宽度的采样数目。这里,所述下一个波特率为115.2K。该操作可以重复进行直到第一脉冲宽度的数目小于10。当然,当脉冲宽度至少为1个或更多时,采样计算器105应该为每个脉冲宽度计算采样数目。
在采样计算器中。例如,如果从脉冲发生部分103输出的脉冲数为8(八)个,脉冲宽度的数目就为7(七)个。如果利用以采样计算器105中7(七)个脉冲宽度为基础的最大波特率所计算出的采样数目从第一个脉冲宽度开始为8、4、6、4、8、2和6,那么4、6、4、8、2和6就可以按照从第一个脉冲宽度(八)的采样数目为8的顺序进行存储。然后把采样数目按顺序输出到预测波特率检测部分109。
预测波特率检测部分109接收第一脉冲宽度的采样数目,并利用图4所示的映象表计算预测的波特率和与各个预测的波特率相对应的采样数目P。预测波特率检测部分109把采样的数目提供给最优波特率检测部分111。这样,由于最优波特率检测部分111包括一组与预测波特率相应的X波特率检测器111a-111g,因此检测部分109便把所计算的采样数目提供给与预测的波特率相应的X波特率检测器111a-111g。同样,检测部分109通过顺序接收紧随第一个脉冲宽度的几个脉冲数目,把上述同样的操作中计算出的采样数目提供给X波特率检测器111a到111g。如上所述,预测波特率检测部分109把最初确定的最大波特率发送给采样计算器105,并接收每个脉冲宽度计算出的采样数目中与最大波特率相应的第一个脉冲宽度的采样数目。如果所接收的采样数目超出了固定数目,便设置下一个波特率并把它发送给采样计算器105。可以把这种操作重复执行下去一直到输入到预测波特率检测器部分109中的第一个脉冲宽度的采样数目小于固定数目为止。
最优波特率检测部分111包括一组X波特率检测器111a-111g,并接收预测波特率检测器部分109中计算的采样数目。如上所述,预测波特率检测部分109根据按顺序从寄存器107输入的采样数目计算预测波特率和与预测波特率相应的采样数目。因此,最优波特率检测部分111按顺序从预测波特率检测部分109接收采样数目。
例如,如果从寄存器107输入到预测波特率检测部分109中的采样数目为8、4、6、4、8、2和6,检测部分109参照图4的映象表检测预测波特率1X、2X、4X、8X,对于第一输入的采样数目8可以获得与该预测波特率相对应的数目8、4、2和1。当下一个输入数目4输入时,4作为一个采样数目就可以从预测波特率1X获得,2从2X获得,4从1X获得。剩下的采样数目可用于根据表1所示的映象表来获得预测波特率和采样数目。
表1

其中,表1中的数目代表了在寄存器107中存储采样数目的顺序。例如,第一个脉冲宽度的采样数目存储在第1号中,下一个脉冲宽度的采样数目按顺序存储在第2号中。采样数目是从采样计算器105中计算出的值。通过参照检测部分109中的映象表,可以生成按顺序从寄存器107输入的采样数目的预测波特率和所计算的采样数目。
如表1所示,应当了解计算出的预测波特率由于寄存器107的采样数目不同而彼此不同。例如,8作为第一个脉冲宽度的采样数目提供四个预测波特率,而4作为第二个脉冲宽度的采样值则产生三个预测波特率。
因此,最优波特率检测部分111的1X波特率检测器111a按顺序接收采样数目8、4、6、4、8、2和6,而1.5X检测器111b则接收采样数目4和4。类似地,2X检测器111c接收采样数目4、3、4、3、4、1和3,而3X检测器111d则接收2和2。根据第一个脉冲宽度的预测波特率,把检测部分109所计算的采样数目输入到相应的检测器中。这样,可以把所计算的采样数目8、4、2和1输入到各个检测器如1X检测器111a,2X检测器111c,4X检测器111e和8X检测器111g。对于第二个脉冲宽度,生成的预测波特率为1X、2X和4X。但是,这里需要注意的是,如果从第一个和第二个脉冲宽度获得的两个预测波特率不相等,则预测波特率检测部分109只启动与从检测器111a-111g中的第二个脉冲的采样数目计算出的预测波特率相同的X波特率检测器。例如,因为第一脉冲宽度的预测波特率1X、2X,4X和8X中的8X与从第二个脉冲宽度获得的预测波特率1X、2X、4X不匹配,检测部分109就可以停止8X波特率检测器111g的运行。因此波特率检测器111g并不检测最优波特率。类似地,如果在第二个脉冲宽度之后执行相同的程序,只有检测器111a-111g中的一两个检测器检测最优波特率检测部分111中的最优波特率。
随后,最优波特率检测部分111接收与根据如上所述的各个脉冲宽度的采样数目计算出的预测波特率相应的采样数目,并进行累计,当数目超出一固定条件时确定沿第一脉冲宽度或脉冲宽度的数目的缓冲器113是否已经清除并通过了校错过程。在这方面,检错指的是要根据数据中包含的奇偶校验位执行的奇偶校验。如果这样,应当注意最优波特率检测部分111必须接收与预测波特率检测部分109的采样数目一起的字位和奇偶校验位。这样,检测部分111确定是否接收到了第一脉冲宽度,脉冲宽度的数目是否为奇数,以及/或是否出现了错误等等。根据上述判断,如果结果是第一脉冲宽度,或者脉冲宽度的数目是没有错误的奇数,那么最优波特率检测部分111便把字位存储在缓冲器部分113中。换句话说,字位可以从任何一个X波特率检测器111a-111g中输出并存储在相应的缓冲器部分113的X模式FIFO113a-113g中。否则,如果结果不是第一脉冲宽度或者脉冲宽度的数目是一个有错误的偶数,那么最优波特率检测部分111就向缓冲器部分113发送信号以清除以前存储的字位。下面将根据本发明参照设备的操作说明详细解释上述实施例。
同时,每次把从一组X波特率检测器111a-111g来的字位沿要对应的X模式FIFO 113a-113g存储时,计数器115都从检测器111a-111g接收当前信号。计数器115根据当前信号输出所计的数。也就是说,因为每当输入一个当前信号,计数器115便计数为1,因此计数器115便可以确认是否从X波特率检测器111a-111g接收到了当前信号。例如,如果从计数器115输出的是0,错误便出在最优波特率检测器部分111,而如果生成了一个输出,表示在检测部分111中检测到了最优波特率。因此,如果从计数器115生成了至少两个输出,表示则是最优波特率尚未检测到。因此,如果计数器115的输出数目为“0”,信号便会被输入到预测波特率检测部分109,然后,参照输入到采样计数器105中的数据,根据最优波特率来计算采样的数目。否则,如果计数器115的输出数目为“1”,信号便会被输入到预测波特率检测部分109,就可以停止检测最优波特率。同样,如果输出数目存在至少两个信号,信号便会被输入到检测部分109并存储在寄存器107中。然后,检测部分10会根据第一脉冲宽度的采样数目再次计算预测波特率。
图5为一流程图,描述了根据本发明的一个优选实施例在通用异步收发机的波特率检测设备中检测波特率的过程。参照图5,根据脉冲发生部分的输入数据生成脉冲(步骤201)。如上所述,该数据包括起始位、字位、奇偶校验位和终止位,其中每当位值根据连续的至少一个或多个位输入而变化时,脉冲发生部分都会产生脉冲。这样,如果输入位为“00”或“11”,脉冲发生部分不产生脉冲,而输入位为“01”或“10”时,它就会产生脉冲。
把从脉冲发生部分输出的脉冲输入到采样计算器中,以计算每个脉冲宽度的采样数目,并发送给寄存器(步骤203)。计算器把输入脉冲和下一个脉冲之间的间隙称为脉冲宽度,把下一个脉冲和再下一个脉冲之间的间隙称为下一个脉冲宽度。计算器可以根据最大波特率而生成该脉冲宽度的采样数目,而最大波特率是根据用于如上所述而选择的每个脉冲宽度的预测波特率检测部分确定的。如相关技术中所公知的,波特率与采样数目是成反比的,这样如果波特率增加,所计算出的某一脉冲宽度的采样数目就会减少。
把由计算器输出的每一脉冲宽度的采样数目按输入顺序存储在寄存器中(步骤205)。换句话说,寄存器可以以类似于FIFO的方式按照从计算器输入的顺序移动和存储每个脉冲宽度的多个采样。当然,寄存器可以提前把以前对脉冲宽度的采样输入到预测波特率检测部分。采样数目一输入到寄存器,它就可以被输入到检测部分,否则采样数目按照输入顺序一个接一个地输入到检测部分,某一数据各个脉冲宽度的采样数目也被输入。
预测波特率检测部分接收第一个脉冲宽度的采样数目,并根据多个采样的数目来检测预测波特率(步骤210)。下面参照图6来详细描述步骤210。
图6为一流程图,它描述了利用图5的检测设备检测预测波特率的过程。参照图6,如上所述,当把脉冲输入到采样计算器中时,检测部分会在已存储的波特率中确定出最优波特率(步骤212),并把所确定的最大波特率的信息发送给采样计算器。然后,在最大波特率的基础上,采样计算器可以计算出每个脉冲宽度的采样数目。
预测波特率检测部分从由计算器计算出并存储在寄存器中的每个脉冲宽度的采样数目中接收第一脉冲宽度的采样数目(步骤214)。判定部分确定第一脉冲宽度的采样数目是否超过了10(步骤216),如果为是(即第一脉冲宽度的采样数目超过了10),判定部分便确定下一个波特率并把它发送给计算器(步骤217)。然后,如果计算器根据下一个波特率再次计算每个脉冲宽度的采样数目,检测部分便会再次从每个脉冲宽度的采样数目中接收第一个脉冲宽度的采样数目,并确定它是否超过了10。这种操作要重复执行到10或小于第一脉冲宽度的采样数目。
如果该数目为10或小于10,预测波特率检测部分会利用预先存储的映象表计算预测波特率和与该波特率相应的采样数目(步骤218)。例如如表1所示,当第一脉冲宽度的采样数目为8时,由检测部分预测波特率如1X、2X、4X和8X这样分别计算,这样就会分别生成相应的采样数目8、4、2和1。因此,与1X相应的八(8)个采样的数目被输入到1X波特率检测器,与2X相应的四(4)个采样数目被输入到2X波特率检测器,与4X相应的二(2)个采样数目被输入到4X波特率检测器,与8X相应的一(1)个采样数目被输入到8X波特率检测器。如上所述,这样的1X、2X、4X和8X检测器可用于检测最优波特率。
把至少一个利用映象表计算出的采样数目输入到X型检测器中(步骤220)。
当然,第一个脉冲宽度的采样数目等于10或小于10以结束对预测波特率的计算,并计算出与预测波特率相应的采样数目,检测部分在第一个脉冲宽度之后按顺序接收采样数目,计算出它们的预测波特率以及与该波特率相应的采样数目,并把它们发送给各个X检测器。
再次参照图5,包括X波特率检测器的最优波特率检测部分接收由预测波特率检测部分计算的采样数目、文字和奇偶校验位。最优波特率检测部分可以通过执行对奇偶校验位的检错来检测最优波特率(步骤230)。下面将参照图7详细描述步骤230。
图7为一流程图,描述了在图5的波特率检测部分中从一组预测波特率中检测最优波特率的过程。参照图7,最优波特率,首先接收采样数目(步骤232)并确定该数目是否超过了10(步骤234)。在这点上,采样数目代表了第一脉冲宽度的采样数目,最优波特率可以是几个X波特率检测器中的一个。如果该数目没有超过10,则最优波特率检测部分接收下一个采样数目(步骤236),并通过把当前的采样数目与下一个采样数目累加而生成总计数目(步骤238)。
然后,检测部分再次确定该总计数目是否超过了10,如果采样数目没有超过10,便重复执行步骤236和238。
如果在步骤234,采样数目超过了10,则最优波特率检测部分确定采样数目是否为第一脉冲宽度(步骤240)。如果该数目为多个脉冲宽度的和,而不是第一脉冲宽度,则最优波特率检测部分确定多个脉冲宽度的数目是否为奇数(步骤242)。此处,采样数目可以是第一脉冲宽度的采样数目的和或紧随第一脉冲宽度采样数目之后输入的多个脉冲宽度的采样数目。脉冲宽度的采样数目是否为奇数可以通过对多个脉冲宽度的采样数目进行统计来确定。
如果在步骤240和步骤242中采样数目为第一脉冲宽度的采样数目或多个脉冲宽度的采样数目为奇数,则最优波特率检测部分根据奇偶校验位来确定错误的存在(步骤244)。
作为确定结果,若奇偶校验位没有出错,则最优波特率检测部分就把字位存储在缓冲区部分中。在这点上,可以把字位存储在与最优波特率检测部分中的X波特率检测部分相应的缓冲区部分中安装的X模式FIFO中。例如,如果最优波特率的检测是在4X波特率检测器中执行的,可以把从4X波特率检测器来的输出字位存储在缓冲器部分的4X模式FIFO中。
如果在步骤242和步骤244中,多个脉冲宽度的采样数目为一偶数或奇偶校验位有错,最优波特率检测部分会利用任意控制信号清除已经存储在缓冲器部分中的字位(步骤246)。
如上所述,如果没有出现错误,最优波特率检测部分(也就是每个X波特率检测器)会把字位存储在缓冲器部分。此时,错误发生处的检测部分会保持有效信号,而有错误的检测部分不会保持有效信号。重复执行步骤232到步骤248一直到检测到最优波特率。
再次参照图5,计数器根据从X波特率检测器输入的现有信号计算采样数目、并根据所计算的数目确定是否检测到了最优波特率(步骤251)。换句话讲,如果从多个X波特率检测部分输入的现有信号的数目为“0”,则计算器便把与“0”相应的信号发送给预测波特率检测部分,并由预测波特率检测部分执行步骤201,即计算与下一个数据相关的每个脉冲宽度的采样数目。此处,现有信号数目“0”表示没有多个X波特率检测器正常操作。
如果现有信号数目为“1”,计数器会通过向预测波特率检测部分发送另一个与“1”相应的信号而停止最优波特率的检测过程。
同样,如果现有信号的数目为“2”或更多,计数器就产生信号并把它发送给预测波特率检测部分,这样便再次根据下一个数据执行最优波特率检测过程。
当在步骤251中检测到最优波特率,也就是计数器中的现有信号数目为“1”时,便结束最优波特率的检测过程和/或把检测到的最优波特率发送给主控制器(未显示)。
如上所述,根据本发明的设备和方法,可以执行数据存储并同时只利用接收到的一个数据来检测最优波特率,这样便减少了检测最优波特率所需时间,并防止了数据丢失。
通过根据本发明的设备和方法,将会意识到检测最优波特率除了现有的软件模式以外还可以以硬件模式中的方法来实施,这样便实现了更优良更快捷的检测过程。
尽管本发明是参照某些优选实施例来进行显示和描述的,但是本领域的技术人员应当理解只要不脱离所附权利要求所限定的本发明的范围和精神,可以进行任何形式和细节上的各种变化。
权利要求
1.一种在通用异步收发机(UART)中检测波特率的方法,该方法包括以下步骤在由接收数据生成的至少一个脉冲的基础上为每个脉冲宽度计算采样数目;在每个脉冲宽度的采样数目的基础上计算预测波特率以及对应于该波特率的另一个采样数目;在所计算的采样数目的基础上进行最优波特率的检测。
2.根据权利要求1所述的方法,其特征在于,为每个脉冲宽度进行的采样数目的计算是利用至少一个预定的波特率进行的。
3.根据权利要求1所述的方法,其特征在于,所述预测波特率以及对应于预测波特率的采样数目是在多个脉冲宽度采样数目中第一输入脉冲宽度的采样数目为一个固定值或更小的时候计算的。
4.根据权利要求3所述的方法,其特征在于,如果所述第一输入脉冲宽度的采样数目超过所述固定值,则从最大波特率开始由大到小利用预定的波特率调整采样数目,直到采样数目变成所述固定值或更小为止。
5.根据权利要求1所述的方法,其特征在于,所述预测波特率的计算是利用预定的映象表进行的。
6.根据权利要求1所述的方法,其特征在于,至少计算两个所述的预测波特率。
7.根据权利要求1所述的方法,其特征在于,所述检测步骤还包括以下步骤提供由对应于预测波特率的检测器在第一脉冲宽度的采样数目的基础上计算出来的采样数目;将检测器中当前和下一个采样数目相加,直到所提供的数目变成或超过一个固定值;以及,如果采样数目超过所述固定值,则根据脉冲宽度的数目和/或是否有错误而存储字位或去除预先存储的字位。
8.根据权利要求7所述的方法,其特征在于,还包括以下步骤在存储所述字位的过程中生成有效信号;以及通过计算所述有效信号的数目而确定是否检测到了最优波特率。
9.一种在通用异步收发机中检测波特率的装置,该装置包括采样计算装置,用于在由接收数据而生成的至少一个脉冲的基础上为每个脉冲宽度计算采样数目;可用波特率检测装置,用于在每个脉冲宽度的采样数目的基础上,分别计算预测波特率和/或对应于该预测波特率的采样数目;以及最优波特率检测装置,用于将当前的和下一个的采样数目相加,直到对应于预测波特率的采样数目变成一个固定值,并且如果采样数目超过了一个固定值,则根据脉冲宽度的数目和/或是否发生了错误而输出字位。
10.根据权利要求9所述的装置,其特征在于,所述最优波特率检测装置包括1X波特率检测器,1.5X波特率检测器,2X波特率检测器,3X波特率检测器,4X波特率检测器,6X波特率检测器,以及8X波特率检测器.
11.根据权利要求10所述的装置,其特征在于,当输出各字位时,所述多个波特率检测器分别生成有效信号。
12.根据权利要求9所述的装置,其特征在于,还包括存储装置,用于储存所述字位;以及信号计数计算装置,用于利用根据各波特率而生成的有效信号确认是否检测到了最优波特率。
13.根据权利要求9所述的装置,其特征在于,还包括暂时存储装置,用于按照FIFO方式输入/输出所述采样计算装置计算的各脉冲宽度。
14.根据权利要求9所述的装置,其特征在于,所述可用波特率检测装置利用预定的波特率调整脉冲宽度的采样数目。
15.根据权利要求9所述的装置,其特征在于,所述可用波特率检测装置利用映象表计算所述预测波特率和对应于预测波特率的采样数目。
16.根据权利要求9所述的装置,其特征在于,当多个脉冲宽度采样数目中的第一输入脉冲宽度采样数目变成一个固定值或更小的时候,所述可用波特率检测装置计算所述预测波特率。
17.根据权利要求9所述的装置,其特征在于,当第一预测波特率不等于第二预测波特率时,所述可用波特率检测装置只激活与第二预测波特率相应的X波特率检测器,其中第一预测波特率是根据先前脉冲宽度而计算出来的波特率,而第二预测波特率是根据下一个脉冲宽度而计算出来的波特率。
全文摘要
本发明涉及一种通用异步收发机,具体涉及一种用于加速检测波特率的设备和方法,这里应用的是硬件方式而不是已知的软件方式并且没有数据丢失。根据本发明的方法包括:根据至少一个从所接收的数据中产生的脉冲计算每个脉冲宽度的采样数目;分别根据每个脉冲宽度的采样数目计算预测波特率以及与此波特率相应的另一个采样数目;根据所计算的采样数目检测最优波特率。
文档编号H04L25/02GK1362792SQ0114527
公开日2002年8月7日 申请日期2001年12月29日 优先权日2000年12月29日
发明者李东淳 申请人:Lg电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1