一种基于UART接口信号的自动识别方法与流程

文档序号:30583307发布日期:2022-06-29 13:40阅读:162来源:国知局
一种基于UART接口信号的自动识别方法与流程
一种基于uart接口信号的自动识别方法
技术领域
1.本发明涉及uart通信技术领域,具体为一种基于uart接口信号的自动识别方法。


背景技术:

2.如今uart通信接口在整个电子行业使用极度广泛,特别是几乎所有的arm架构的芯片在开发阶段都是要使用uart接口来调试。实际调试中往往我们需要把芯片的uart接口连到调试板上,这时就需要格外注意uart接口的rx和tx信号连接的正确性,如果接反可能需要大量时间排查问题。
3.本发明公开一种自动识别uart接口的rx和tx信号,并自动调整rx和tx信号的方法,采用本方法,可以不需要分辨uart接口定义的情况下,任意连接上uart接口即可通讯正常,提高研发人员工作效率,降低工作量且节省人工成本。


技术实现要素:

4.(一)解决的技术问题
5.针对现有技术的不足,本发明提供了一种基于uart接口信号的自动识别方法,具备提高工作效率等优点,解决了研发人员工作效率低的问题。
6.(二)技术方案
7.为实现上述提高工作效率目的,本发明提供如下技术方案:一种基于uart接口信号的自动识别方法,包括uart接收端,其特征在于:
8.步骤一,打开uart接收端,通用异步收发传输器,通常称作uart,它将要传输的资料在串行通信与并行通信之间加以转换,作为把并行输入信号转成串行输出信号的芯片,uart通常被集成于其他通讯接口的连结上,具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备,作为连接外部设备的接口,然后关闭uart的中断功能,集成电路芯片内的调试状态机进入等待状态,等待上位机指令,集成电路芯片是包括一硅基板、至少一电路、一固定封环、一接地环及至少一防护环的电子元件;
9.步骤二,当集成电路芯片的uart接收端收到上位机指令后,uart接收fifo状态改变,触发调试状态机来主动读取指令,判断是否是有效的指令字头;
10.步骤三,若能收到目标设备的数据,那么这个uart端口就定义为目标设备的tx,而另一个端口就是rx;若对目标设备uart其中一个发送访问命令后,能从另一个端口接收到应答,那么这个端口就是rx,而另一个端口就是rx,rx是rx receive的简称,中文名为接收,与tx(指输出)相对应;
11.步骤四,若是判断为读操作,调试状态机就会发起内部总线读操作;读操作的单地址模式只会读取一次内部总线,并将读取数据通过uart发送出去;地址递增模式还会进行地址累加,继续发起内部总线读取操作,并将读取数据通过uart发送;若读取内部总线的数据长度等于操作数量乘以字节有效信息中为1的个数后,停止读操作,状态机回到初始状态,等待新指令。
12.优选的,所述uart接口提供了可选择的电平转换功能,所述目标设备能主动输出uart数据,算法直接识别,调整rx和tx信号,使uart通讯正常。
13.优选的,目标设备需要输入指令才能有应答,用户输入指定给到算法模块,算法开始识别,调整rx和tx信号,使uart通讯正常。
14.优选的,所述算法模块与目标设备的uart接口相连时,算法模块就能自动检测到外设的接入,并且开始触发自动识别算法。
15.优选的,所述设备是需要用户输入指令后才有响应,所述开始信号输出端与uart接口的输入端连接,所述uart接口的输出端与读取uart收到的数据的输入端连接,所述uart接口的输出端与开始的输入端连接。
16.优选的,读取uart收到的数据的输出端与是否有命令的输入端连接,所述是否有命令的输出端与开始的输入端连接,所述是否有命令的输出端与uart读取地址的输入端连接。
17.优选的,所述uart读取地址的输出端与uart读操作次数的输入端连接,所述uart读操作次数的输出端与uart读数据的输入端连接,所述uart读数据的输出端与总线写数据的输入端连接。
18.优选的,所述总线写数据的输出端与结束判断的输入端连接,所述结束判断的输出端与uart读数据的输入端连接。
19.优选的,所述读操作表示上位机读取集成电路芯片内部指定地址信息,写操作表示上位机向集成电路芯片内部指定地址写入数据;指令字头后跟随32位内部总线地址,地址递增操作情况下为起始地址。
20.(三)有益效果
21.与现有技术相比,本发明提供了一种基于uart接口信号的自动识别方法,具备以下有益效果:
22.1、该基于uart接口信号的自动识别方法,首先将uart信号电平必须设为高电平,然后当本算法模块与目标设备的uart接口相连时,算法模块就能自动检测到外设的接入,然后开始触发自动识别算法,通过检测目前设备的两个数据线哪一个会有发送数据,如果其中一个数据线有发送数据,那么这个数据线就是tx,而另一根数据线就是rx,如果目前设备是需要用户输入指令后才有响应,那么本算模块会把输入的指令分别对目标设备的两个数据线试探,如果能得到应答,这条数据线就是rx信号,另一个有应得的数据线就是tx信号,然后最后算法自动修正uart的rx和tx接口,uart接口正常通讯,本发明的目的在于提供一种自动识别uart信号接口定义,自动识别并调整uart接口定义,使通讯正常,实现降低工作量、节省人工和错误成本。
23.2、该基于uart接口信号的自动识别方法,先通过打开uart接收端,然后关闭uart的中断功能,集成电路芯片内的调试状态机进入等待状态,等待上位机指令,然后当集成电路芯片的uart接收端收到上位机指令后,uart接收fifo状态改变,触发调试状态机来主动读取指令,判断是否是有效的指令字头,若是有效的指令字头,开始操作读地址和数据,并继续读取uart接收端后续数据,若不是有效命令则会丢弃数据并继续监测接收端,后续数据包括:操作地址、操作次数和总线数据宽度字节有效信息,若判断指令为写操作,调试状态机发起一次内部总线写操作,状态机写操作的单地址模式只写一次内部总线,地址递增
模式还会进行地址累加,并继续将后续数据写入累加后地址,若写入数据长度等于操作数量乘以字节有效信息中为1的个数后,停止写操作,状态机回到初始状态,等待新指令,若是判断为读操作,调试状态机就会发起内部总线读操作,读操作的单地址模式只会读取一次内部总线,并将读取数据通过uart发送出去,地址递增模式还会进行地址累加,继续发起内部总线读取操作,并将读取数据通过uart发送,若读取内部总线的数据长度等于操作数量乘以字节有效信息中为1的个数后,停止读操作,状态机回到初始状态,等待新指令,通过命令字和步骤一至五的操作流程,可以编辑嵌入式系统内部总线上挂载的设备寄存器,实现嵌入式系统内部总线通路的调试,编辑嵌入式系统内部总线上挂载的设备寄存器的具体过程是:上位机发读命令启动调试状态机发起总线读操作,读取设备寄存器当前值返回上位机,或者上位机发写命令启动调试状态机发起总线写操作,将上位机发来的数据写入设备寄存器中。
附图说明
24.图1为本发明提出的一种基于uart接口信号的自动识别方法结构工作流程图;
25.图2为本发明提出的一种基于uart接口信号的自动识别方法结构算法工作流程;
26.图3为本发明提出的一种基于uart接口信号的自动识别方法结构读取工作流程。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.请参阅图1-3,一种基于uart接口信号的自动识别方法,包括uart接收端,
29.步骤一,打开uart接收端,然后关闭uart的中断功能,集成电路芯片内的调试状态机进入等待状态,等待上位机指令;
30.步骤二,当集成电路芯片的uart接收端收到上位机指令后,uart接收fifo状态改变,触发调试状态机来主动读取指令,判断是否是有效的指令字头;
31.步骤三,若能收到目标设备的数据,那么这个uart端口就定义为目标设备的tx,而另一个端口就是rx;若对目标设备uart其中一个发送访问命令后,能从另一个端口接收到应答,那么这个端口就是rx,而另一个端口就是rx;
32.步骤四,若是判断为读操作,调试状态机就会发起内部总线读操作;读操作的单地址模式只会读取一次内部总线,并将读取数据通过uart发送出去;地址递增模式还会进行地址累加,继续发起内部总线读取操作,并将读取数据通过uart发送,若读取内部总线的数据长度等于操作数量乘以字节有效信息中为1的个数后,停止读操作,状态机回到初始状态,等待新指令
33.在使用时,首先将uart信号电平必须设为高电平,然后当本算法模块与目标设备的uart接口相连时,算法模块就能自动检测到外设的接入,然后开始触发自动识别算法,通过检测目前设备的两个数据线哪一个会有发送数据,如果其中一个数据线有发送数据,那么这个数据线就是tx,而另一根数据线就是rx,如果目前设备是需要用户输入指令后才有
响应,那么本算模块会把输入的指令分别对目标设备的两个数据线试探,如果能得到应答,这条数据线就是rx信号,另一个有应得的数据线就是tx信号,然后最后算法自动修正uart的rx和tx接口,uart接口正常通讯。
34.综上所述,该基于uart接口信号的自动识别方法,先通过打开uart接收端,当本算法模块与目标设备的uart接口相连时,算法模块就能自动检测到外设的接入,然后开始触发自动识别算法,通过检测目前设备的两个数据线哪一个会有发送数据,如果其中一个数据线有发送数据,那么这个数据线就是tx,而另一根数据线就是rx,如果目前设备是需要用户输入指令后才有响应,那么本算模块会把输入的指令分别对目标设备的两个数据线试探,如果能得到应答,这条数据线就是rx信号,另一个有应得的数据线就是tx信号,然后最后算法自动修正uart的rx和tx接口,uart接口正常通讯,然后关闭uart的中断功能,集成电路芯片内的调试状态机进入等待状态,等待上位机指令,然后当集成电路芯片的uart接收端收到上位机指令后,uart接收fifo状态改变,触发调试状态机来主动读取指令,判断是否是有效的指令字头,若是有效的指令字头,开始操作读地址和数据,并继续读取uart接收端后续数据,若不是有效命令则会丢弃数据并继续监测接收端,后续数据包括:操作地址、操作次数和总线数据宽度字节有效信息,若判断指令为写操作,调试状态机发起一次内部总线写操作,状态机写操作的单地址模式只写一次内部总线,地址递增模式还会进行地址累加,并继续将后续数据写入累加后地址,若写入数据长度等于操作数量乘以字节有效信息中为1的个数后,停止写操作,状态机回到初始状态,等待新指令,若是判断为读操作,调试状态机就会发起内部总线读操作,读操作的单地址模式只会读取一次内部总线,并将读取数据通过uart发送出去,地址递增模式还会进行地址累加,继续发起内部总线读取操作,并将读取数据通过uart发送,若读取内部总线的数据长度等于操作数量乘以字节有效信息中为1的个数后,停止读操作,状态机回到初始状态,等待新指令,通过命令字和步骤一至五的操作流程,可以编辑嵌入式系统内部总线上挂载的设备寄存器,实现嵌入式系统内部总线通路的调试,编辑嵌入式系统内部总线上挂载的设备寄存器的具体过程是:上位机发读命令启动调试状态机发起总线读操作,读取设备寄存器当前值返回上位机,或者上位机发写命令启动调试状态机发起总线写操作,将上位机发来的数据写入设备寄存器中。
35.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
36.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1