一种异步串行总线信号的解码与触发方法

文档序号:6011279阅读:212来源:国知局
专利名称:一种异步串行总线信号的解码与触发方法
技术领域
本发明涉及一种测量仪器中异步串行总线信号的解码与触发方法,尤其涉及数字示波器中异步串行总线信号的解码与触发。
背景技术
异步串行总线广泛运用于近距离设备之间的串行通信,嵌入式系统的调试端口等。由于在异步串行总线中,发送数据和接收数据都是以异步的方式传输,传统的测量仪器只能通过边沿等简单的触发方式触发采集异步串行总线信号,这样的采集方式不利于被测信号的捕获定位与后续分析。因此,有必要为测量仪器配备一种专门的异步串行总线信号解码与触发方式,用于分析和提取总线的数据信息和附加信息,以便做进一步的分析处理, 提高总线调试效率。

发明内容
技术问题本发明提出一种在测量仪器中的异步串行总线信号的解码与触发方法。根据异步串行总线协议,分析并提取出总线传输的数据信息和附加信息,并与用户设定的触发条件相比较,两者比较结果一致时输出触发信号,同时提取出的数据信息与附加信息还可以输出给测量仪器的其它模块,完成进一步的信号分析。技术方案本发明提出的异步串行总线信号的解码与触发方法包括以下步骤
1).根据用户设定的波特率,生成采样时钟;
2).采用同步状态机采样和判别异步串行总线中发送数据TX或接收数据RX信号线上的电平,检测出数据帧的起始位,同步状态机的工作时钟采用步骤1)生成的采样时钟;
3).同步状态机根据步骤2)检测出的起始位和用户设定的数据帧格式,进一步采样并解码出串行总线上的数据信息及校验位和停止位附加信息;
4).将上述数据信息和附加信息与用户设定的触发条件进行比较,当两者相符时,输出触发信号;数据信息和附加信息都被缓存起来,同时输送至测量仪器的后续分析模块。所述生成采样时钟,其频率为用户设定的波特率的N倍,N取值为8、16、32、64。所述的发送数据TX与接收数据RX相互独立,帧格式相同,采用相同的同步状态机分析TX或RX所包含的数据信息和附加信息。采用同步状态机采样和判别异步串行总线中发送数据TX或接收数据RX信号线上的电平的具体方法为用采样时钟对TX或RX信号连续采样N次,N取值为8、16、32、64 ;如果N次采样中有N/2或N/2以上次低电平,则判别电平为0 ;如果N次采样中有N/2以上次高电平,则判别电平为1。所述的同步状态机共有5种状态,分别为
状态1 空闲状态上电复位后,状态机即处于该状态,在当前状态为该状态时检测TX 或RX信号线上的电平,当判别到TX或RX线上电平由高到低变化时,状态机进入状态2进行起始位检测,否则状态机不跳转;状态2 起始位检测状态采样和判别TX或RX信号线上的电平,若电平为0,则输出起始位信息,同时状态机进入状态3,否则状态机进入状态1 ;
状态3 数据位检测状态采样和判别TX或RX信号线上的数据位并缓存,同时对缓存的数据位进行计数,并与用户设定的数据位数进行比较,如果小于用户设定的数据位数,则继续采样并缓存数据位;如果已等于用户设定的数据位数,则判断用户是否设定奇偶校验位,若用户设定了奇偶校验位,则状态机跳转到状态4,若用户没有设定奇偶校验位,则状态机跳转到状态5;
状态4 校验位检测状态采样和判别TX或RX信号线上的数据位并缓存,然后状态机跳转到状态5 ;
状态5 停止位检测状态采样和判别TX或RX信号线上的数据位并缓存,同时对缓存的数据位进行计数,并与用户设定的数据位数进行比较,如果小于用户设定的数据位数,则继续采样并缓存数据位;如果已等于用户设定的数据位数,则状态机跳转到状态1。用户设定的触发条件包括
1)“数据帧传送开始”触发,是指在起始位上触发;
2)“数据包传送的结束”触发,是指在数据包的最后一个数据帧上触发;
3)“数据帧触发”触发,是指检测到M个连续的与用户设定的长度和数据值相符的数据帧时触发,M为自然数,可设定;
4)“错误帧”触发,是指检测到错误的帧格式时触发;
5)“校验错误”触发,是指检测到校验错误时触发。将数据信息和附加信息与用户设定的触发条件进行比较时,总线上的数据信息和附加信息各自使用独立的比较器,可以同时工作而互不影响;在比较过程中,来自总线上的信息被保存在移位寄存器中,一旦得到新的信息就移入寄存器,并立即进行比较。有益效果在异步串行总线中,TX、RX信号都是以异步的方式进行传输,测量仪器传统的触发方式,不能有效的捕获总线事件(如数据传送的开始、数据包传送的结束、特定的数据等),并且触发后不能方便地解读总线信息。通过本发明提供的异步串行总线信号的解码与触发方法,用户可以通过专门为异步串行总线信号定制的触发方式对其进行信号的采集和分析,从而更容易捕获异步串行总线上感兴趣的事件(如数据传送开始、特定的数据等),增强了测量仪器对于异步串行总线信号的分析与触发能力,提高了用户调试异步串行总线信号的效率。


图1是具体实施模块图, 图2为本发明的模块框图,
图3是同步状态机的状态转移图。
具体实施例方式本发明可用于RS-232、RS-422、RS_485等异步串行总线的解码与触发。下面以RS-232为例结合

本发明的具体实施方法。假设用户设定的RS-232总线的波特率为9600位/秒,数据位数为8,校验方式为
5偶校验,停止位数为2,则其帧格式如附图1所示。首先根据用户设定的波特率,生成的采样时钟频率为9600X16=153. 61Ait/S,将其作为总线数据解码模块的工作时钟;然后根据用户设定的帧格式信息,解码出总线上的数据信息和附加信息并将上述信息送至存储器缓存起来,最后将缓存的信息送入比较触发模块进行比较,若满足用户设定的触发条件,则生成触发信号,然后将触发信号送往后续处理模块。附图2为本发明的模块框图,下面具体说明其原理
总线数据解码模块用一个同步状态机实现,该状态机共有5种状态(该状态机的状态转移图见附图2),分别为
状态1 空闲状态上电复位后,状态机即处于该状态,在当前状态为该状态时检测TX 或RX信号线上的电平,当判别到TX或RX线上电平由高到低变化时,状态机进入状态2进行起始位检测,否则状态机不跳转;
状态2 起始位检测状态采样和判别TX或RX信号线上的电平,若电平为0,则输出起始位信息,同时状态机进入状态3,否则状态机进入状态1 ;
状态3 数据位检测状态采样和判别TX或RX信号线上的数据位并缓存,同时对缓存的数据位进行计数,并与用户设定的数据位数进行比较,如果小于用户设定的数据位数,则继续采样并缓存数据位;如果已等于用户设定的数据位数,则判断用户是否设定奇偶校验位,若用户设定了奇偶校验位,则状态机跳转到状态4,若用户没有设定奇偶校验位,则状态机跳转到状态5;
状态4 校验位检测状态采样和判别TX或RX信号线上的数据位并缓存,然后状态机跳转到状态5 ;
状态5 停止位检测状态采样和判别TX或RX信号线上的数据位并缓存,同时对缓存的数据位进行计数,并与用户设定的数据位数进行比较,如果小于用户设定的数据位数,则继续采样并缓存数据位;如果已等于用户设定的数据位数,则状态机跳转到状态1。该状态机中采样和判别异步串行总线中发送数据TX或接收数据RX信号线上的电平的具体方法为用采样时钟对TX或RX信号连续采样16次,如果16次采样中有8次或8 次以上次低电平,则判别电平为0 ;如果16次采样中有8次以上高电平,则判别电平为1。上述状态机解码出的信息被立即送到存储器缓存起来。附加信息立即从存储器传到触发比较模块进行比较,数据位信息则完成串并转换后送往触发比较模块。用户可以设定的触发条件包括5种,下面具体说明
1)“数据帧传送开始”触发,是指在起始位上触发,即在数据帧的起始位上产生触发信号;
2)“数据包传送的结束”触发,是指在数据包的最后一个数据帧上触发,数据包可以以某个数据帧来表明数据的结尾,假设设定数据包尾数据位0000 1101,则检测到该数据时产生触发信号;
3)“数据帧触发”触发,是指检测到M个连续的与用户设定的长度和数据值相符的数据帧时触发,M为自然数,可设定,假设设定的数据帧触发为连续两帧数据1011 0011和 0000 1101,则连续检测到这两帧数据时产生触发信号;
4)“错误帧”触发,是指检测到错误的帧格式时触发,如前所述,假设设定的停止位为两位,如果没有检测到停止位或只检测到一位停止位,则数据帧出错,此时将产生触发信号;
5) “校验错误”触发,是指检测到校验错误时触发,当设为偶校验时,假设解码出的数据为1011 0011、校验位为0,则发生了校验错误,此时产生触发信号。将数据信息和附加信息与用户设定的触发条件进行比较时,总线上的数据信息和附加信息各自使用独立的比较器,可以同时工作而互不影响;在比较过程中,来自总线上的信息被保存在移位寄存器中,一旦得到新的信息就移入寄存器,并立即进行比较。触发生成模块接收各触发比较器的比较结果,根据用户设定的触发条件选择适当的触发比较器的结果作为输出的触发信号。当被选定的触发比较器的比较结果为相符时, 触发生成模块对外输出触发信号。最后将触发信号送至后续处理模块。控制器通过使能与复位信号来控制上述各模块的复位与工作,使整体工作流程与外围模块相配合。以上具体实施方式
仅用于说明本发明,而非用于限定本发明。
权利要求
1.一种异步串行总线信号的解码与触发方法,其特征在于该解码与触发方法包括以下步骤1).根据用户设定的波特率,生成采样时钟;2).采用同步状态机采样和判别异步串行总线中发送数据TX或接收数据RX信号线上的电平,检测出数据帧的起始位,同步状态机的工作时钟采用步骤1)生成的采样时钟;3).同步状态机根据步骤2)检测出的起始位和用户设定的数据帧格式,进一步采样并解码出串行总线上的数据信息及校验位和停止位附加信息;4).将上述数据信息和附加信息与用户设定的触发条件进行比较,当两者相符时,输出触发信号;数据信息和附加信息都被缓存起来,同时输送至测量仪器的后续分析模块。
2.按照权利要求1所述的一种异步串行总线信号的解码与触发方法,其特征在于所述生成采样时钟,其频率为用户设定的波特率的N倍,N取值为8、16、32、64。
3.按照权利要求1所述的一种异步串行总线信号的解码与触发方法,其特征在于所述的发送数据TX与接收数据RX相互独立,帧格式相同,采用相同的同步状态机分析TX或RX 所包含的数据信息和附加信息。
4.按照权利要求1所述的一种异步串行总线信号的解码与触发方法,其特征在于采用同步状态机采样和判别异步串行总线中发送数据TX或接收数据RX信号线上的电平的具体方法为用采样时钟对TX或RX信号连续采样N次,N取值为8、16、32、64 ;如果N次采样中有N/2或N/2以上次低电平,则判别电平为0 ;如果N次采样中有N/2以上次高电平,则判别电平为1。
5.按照权利要求1所述的一种异步串行总线信号的解码与触发方法,其特征在于所述的同步状态机共有5种状态,分别为状态1 空闲状态上电复位后,状态机即处于该状态,在当前状态为该状态时检测TX 或RX信号线上的电平,当判别到TX或RX线上电平由高到低变化时,状态机进入状态2进行起始位检测,否则状态机不跳转;状态2 起始位检测状态采样和判别TX或RX信号线上的电平,若电平为0,则输出起始位信息,同时状态机进入状态3,否则状态机进入状态1 ;状态3 数据位检测状态采样和判别TX或RX信号线上的数据位并缓存,同时对缓存的数据位进行计数,并与用户设定的数据位数进行比较,如果小于用户设定的数据位数,则继续采样并缓存数据位;如果已等于用户设定的数据位数,则判断用户是否设定奇偶校验位,若用户设定了奇偶校验位,则状态机跳转到状态4,若用户没有设定奇偶校验位,则状态机跳转到状态5 ;状态4 校验位检测状态采样和判别TX或RX信号线上的数据位并缓存,然后状态机跳转到状态5 ;状态5 停止位检测状态采样和判别TX或RX信号线上的数据位并缓存,同时对缓存的数据位进行计数,并与用户设定的数据位数进行比较,如果小于用户设定的数据位数,则继续采样并缓存数据位;如果已等于用户设定的数据位数,则状态机跳转到状态1。
6.按照权利要求1所述的一种异步串行总线信号的解码与触发方法,其特征在于用户设定的触发条件包括1) “数据帧传送开始”触发,是指在起始位上触发;2)“数据包传送的结束”触发,是指在数据包的最后一个数据帧上触发;3)“数据帧触发”触发,是指检测到M个连续的与用户设定的长度和数据值相符的数据帧时触发,M为自然数,可设定;4)“错误帧”触发,是指检测到错误的帧格式时触发;5)“校验错误”触发,是指检测到校验错误时触发。
7.按照权利要求1所述的一种异步串行总线信号的解码与触发方法,其特征在于将数据信息和附加信息与用户设定的触发条件进行比较时,总线上的数据信息和附加信息各自使用独立的比较器,可以同时工作而互不影响;在比较过程中,来自总线上的信息被保存在移位寄存器中,一旦得到新的信息就移入寄存器,并立即进行比较。
全文摘要
本发明提供了一种异步串行总线信号的解码与触发方法,可以为测量仪器采集、分析异步串行总线信号提供触发与解码功能。首先根据用户设置的波特率生成采样时钟;然后根据用户设置的数据帧格式,利用同步状态机采样串行总线上的电平事件,分析并解码出数据信息和附加信息;最后将上述解码出的信息输入到比较器,与用户设定的触发条件进行比较,如符合触发条件,则向外输出触发信号,并以此信号控制测量仪器的采集与存储。此外,上述解码出的信息还可以传送至测量仪器的后续模块,做进一步的分析处理。
文档编号G01R13/00GK102298565SQ201110151068
公开日2011年12月28日 申请日期2011年6月8日 优先权日2011年6月8日
发明者叶少朋, 罗伟, 高礼忠 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1