一种串口调试装置及调试方法
技术领域
本发明涉及电子技术领域,特别是涉及一种串口调试装置及调试方法。
背景技术
串口也即异步收发接口(UART)是当前电子***中用得非常频繁的一种通信总线,通常场合只使用Tx和Rx两根线就能进行全双工通信,控制方式简单方便。在机器人应用领域,板载的微控制器(MCU)通过UART与板载的串口模块例如蓝牙模块、WIFI模块和机器人舵机等进行通信,即可实现对串口模块的控制。
在MCU***软件开发期间,对板载的串口模块的调试是必不可少的开发过程。在实际调试的过程中,比如在对某个板载的串口模块的开发调试中,不知什么原因,发现与板载的微控制器通信不成功,此时并不能确定是程序出了问题还是串口模块出了问题。
为了解决上述问题,现有技术的做法是:重新编写测试代码或者使用热风枪将串口模块卸载下来后针对卸载的串口模块进行调试,其均存在调试效率低的问题。
发明内容
本发明主要解决的技术问题是提供一种串口调试装置及调试方法,能够以较高的调试效率调试串口模块。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种串口调试装置,该装置包括:设置于电路板上的微控制器、串口模块和匹配电路,设置于电路板之外的可拆卸安装在电路板上的调试线;其中,微控制器包括第一异步收发接口,串口模块包括第二异步收发接口,第一异步收发接口通过匹配电路与第二异步收发接口连接;其中,调试线包括第三异步收发接口,当调试线安装在电路板上时,调试线的第三异步收发接口与第二异步收发接口连接,以通过第三异步收发接口调试串口模块。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种串口调试装置的调试方法,该方法包括:当微控制器通过第一异步收发接口与串口模块的第二异步收发接口之间通讯失败时,安装调试线;利用调试线的第三异步收发接口与串口模块的第二异步收发接口进行通讯以调试串口模块;若第三异步收发接口与第二异步收发接口通讯成功,则判定微控制器中的程序有问题;以及,若第三异步收发接口与第二异步收发接口通讯不成功,则判定串口模块有问题。
本发明的有益效果是:本发明的串口调试装置及调试方法通过当微控制器通过第一异步收发接口与串口模块的第二异步收发接口之间通讯失败时,安装调试线;利用调试线的第三异步收发接口与串口模块的第二异步收发接口进行通讯以调试串口模块;若第三异步收发接口与第二异步收发接口通讯成功,则判定微控制器中的程序有问题;以及,若第三异步收发接口与第二异步收发接口通讯不成功,则判定串口模块有问题。通过上述方式,本发明不需要重写测试代码,也不需要吹拆板载的串口模块即可确定串口模块是否有问题,极大提高了调试串口模块的工作效率。
附图说明
图1是本发明实施例的串口调试装置的结构示意图;
图2是图1所示的串口调试装置中的串口等效电路图;
图3是本发明实施例的串口调试装置的调试方法的流程图。
具体实施方式
在说明书及权利要求书当中使用了某些词汇来指称特定的组件,所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。下面结合附图和实施例对本发明进行详细说明。
图1是本发明实施例的串口调试装置的结构示意图。如图1所示,串口调试装置包括设置于电路板10上的微控制器11、串口模块12和匹配电路13,设置于电路板10之外的可拆卸安装在电路板10上的调试线14,以及PC机15。
其中,微控制器11包括第一异步收发接口111,串口模块12包括第二异步收发接口121,第一异步收发接口111通过匹配电路13与第二异步收发接口121连接。
其中,调试线14为USB转串口线,其包括第三异步收发接口141和USB接口142,当调试线14安装在电路板10上时,调试线14的第三异步收发接口141与第二异步收发接口121连接。另外,调试线14的USB接口142与PC机15的USB口151连接,其中,PC机15安装有串口调试工具152。
具体来说,第一异步收发接口111包括第一发送引脚TX1和第一接收引脚RX1,第二异步收发接口121包括第二发送引脚TX2和第二接收引脚RX2,匹配电路13包括匹配电阻R1和导电线131,第三异步收发接口141包括第三发送引脚TX3和第三接收引脚RX3。
匹配电阻R1的一端与第一发送TX1引脚连接,匹配电阻R1的另一端与第二接收引脚RX2连接,第三发送引脚TX3与第二接收引脚RX2连接。第一接收引脚RX1通过导电线131与第二发送引脚TX2连接,第三接收引脚RX3与第二发送引脚TX2连接。
请一并参考图2,图2是图1所示的串口调试装置中的串口等效电路图。如图2所示,微控制器11包括第一等效电阻Re1,调试线包括第二等效电阻Re2。
第一等效电阻Re1的一端与第一电源连接VDD,第一等效电阻Re1的另一端与第一发送引脚TX1连接;第二等效电阻Re2的一端与第三发送引脚TX3连接,第二等效电阻Re2的另一端接地GND。
在本实施例中,匹配电阻R1的阻值由第一等效电阻Re1和第二等效电阻Re2的阻值确定。
其中,匹配电阻R1的引入是为了解决调试线14以直连方式接入导致通信不成功的问题。
具体来说,当调试线14的第三发送引脚TX3为推挽式输出,且调试线14的第三发送引脚TX3直接接入电路板10与串口模块12的第二接收引脚RX2连接时,若微控制器11的第一发送引脚TX1也为推挽式输出,且微控制器11的第一发送引脚TX1与串口模块12的第二接收引脚RX2直接连接,其等同于Tx-Tx-Rx这样的拓扑结构相连在一起,导致无法进行通信。其中,推挽式输出连接数字器件,可以输出高、低电平,其中,推挽式结构是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。
其中,调试线14以直连方式接入导致通信不成功的原因是:调试线14的第三发送引脚TX3发送低电平时,微控制器11的第一发送引脚TX1也接在同一根电路布线上,由于第三发送引脚TX3采用推挽式输出,导致出现既不是低电平也不是高电平的中间电平,调试线14的第三发送引脚TX3的低电平没有真正被拉低,所以通信不成功。换个角度来说,调试线14的第三发送引脚TX3的推挽式输出中的一三极管导通到地GND,微控制器11的第一发送引脚TX1的推挽式输出中的一三极管上拉到第一电源VDD,由于UART这种信号类的芯片管脚的驱动电流在十几到几十mA,内部在三极管导通后的等效输出电阻一般有几十到几百欧姆,微控制器11和调试线14两端等效于两个分压电阻,也即第一等效电阻Re1和第二等效电阻Re2,分压后的电压输送到串口模块12的第二接收引脚RX2,这个不高不低的电平无法被串口模块12成功识别。
当匹配电阻R1引入后,匹配电阻R1可以把不高不低的电平拉低到一个可以被识别的低电平范围。具体来说,如果串口模块12的第二接收引脚RX2接收TTL电平,则需要下拉到0.8V以下,如果串口模块12的第二接收引脚RX2接收CMOS电平,则需要下拉到VDD*0.3以下。
换个角度来说,匹配电阻R1的阻值范围一般从几百欧姆到几千欧姆不等。当串口模块12的第二接收引脚RX2接收TTL电平时,匹配电阻R1需要大于VDD*Re2/0.8-Re1-Re2,当串口模块12的第二接收引脚RX2接收COM电平时,匹配电阻R1需要大于Re2/0.3-Re1-Re2。
优选地,在本实施例中,为了实现调试线14可拆卸地安装在电路板10上,电路板10进一步设置有焊盘16,焊盘16焊接有杜邦针(未图示),杜邦针与第二异步收发接口121连接;调试线14的第三异步收发接口141设置为杜邦线母口;其中,当杜邦线母口***杜邦针时,调试线14的第三异步收发接口141与第二异步收发接口121连接。
图3是本发明实施例的串口调试装置的调试方法的流程图,该方法基于图1所示的串口调试装置。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。如图3所示,该方法包括如下步骤:
步骤S101:当微控制器通过第一异步收发接口与串口模块的第二异步收发接口之间通讯失败时,安装调试线。
在步骤S101中,微控制器进一步包括另一异步收发接口,记为第四异步收发接口,第四异步收发接口与PC机连接。其中,第四异步收发接口可以直接与PC机的串口连接,也可以通过USB转串口线与PC机的USB口连接。
其中,第四异步收发接口用于打印串口模块的调试数据,具体来说,当微控制器通过第一异步收发接口调试串口模块时,若需要打印串口模块的调试数据,微控制器先通过第一异步收发接口从串口模块取回数据,再通过第四异步收发接口发送到PC机的串口调试工具上。
也就是说,从PC机的串口调试工具上显示的调试数据可以确定微控制器的第一异步收发接口与串口模块的第二异步收发接口之间的通讯是否失败。
其中,当微控制器的第一异步收发接口与串口模块的第二异步收发接口之间通讯失败时,断开第四异步收发接口与PC机的连接,安装调试线,
安装调试线的步骤具体为:将设置为杜邦线母口的调试线的第三异步收发接口***到电路板的杜邦针中,以使调试线的第三异步收发接口与串口模块的第二异步收发接口连接。与此同时,将调试线的USB接口接入PC机的USB接口中。步骤S102:利用调试线的第三异步收发接口与串口模块的第二异步收发接口进行通讯以调试串口模块。
在步骤S102中,利用PC机上串口调试工具将串口模块厂家提供的命令通过调试线的第三异步收发接口发送给串口模块,以确定第三异步收发接口与第二异步收发接口通讯是否成功。
步骤S103:判断第三异步收发接口与第二异步收发接口通讯是否成功,若成功,执行步骤S104,否则执行步骤S106。
在步骤S103中,当第三异步收发接口与第二异步收发接口通讯成功时,则判定微控制器中的程序有问题,继续执行步骤S104。当第三异步收发接口与第二异步收发接口通讯不成功时,则判定串口模块有问题,继续执行步骤S106。
步骤S104:拆卸调试线。
在步骤S104中,当判定微控制器中的程序有问题时,如果需要再次利用微控制器的第一异步收发接口与串口模块的第二异步收发接口进行通讯以调试串口模块,需要拆卸调试线,否者也会出现中间电平的问题。
也就是说,当微控制器的第一发送引脚发送低电平时,若调试线的第三发送引脚也接在同一根电路布线上,由于第一发送引脚采用推挽式输出,导致出现既不是低电平也不是高电平的中间电平。为了避免出现该问题,需要将调试线从杜邦针拔开。
步骤S105:修改微控制器中的程序以再次利用微控制器通过第一异步收发接口与串口模块的第二异步收发接口进行通讯以调试串口模块。
在步骤S105中,当调试线从杜邦针拔开后,修改微控制器中的程序以再次调试串口模块。
此时,可以将微控制器的第四异步收发接口与PC机连接,以利用PC机的串口调试工具打印调试信息。
步骤S106:修理串口模块。
在步骤S106中,当判定串口模块有问题时,修理串口模块。修理串口模块例如可以是吹拆串口模块后更换新的串口模块等等。
本发明的有益效果是:本发明的串口调试装置及调试方法通过当微控制器通过第一异步收发接口与串口模块的第二异步收发接口之间通讯失败时,安装调试线;利用调试线的第三异步收发接口与串口模块的第二异步收发接口进行通讯以调试串口模块;若第三异步收发接口与第二异步收发接口通讯成功,则判定微控制器中的程序有问题;以及,若第三异步收发接口与第二异步收发接口通讯不成功,则判定串口模块有问题。通过上述方式,本发明不需要重写测试代码,也不需要吹拆板载的串口模块即可确定串口模块是否有问题,极大提高了调试串口模块的工作效率。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。