多模式虚拟串口芯片、实现方法、固件下载系统及其方法转让专利

申请号 : CN202111316629.3

文献号 : CN113760806B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王春华

申请人 : 南京沁恒微电子股份有限公司

摘要 :

本发明公开了一种多模式虚拟串口芯片、实现方法、固件下载系统及其方法,多模式虚拟串口芯片包含正常工作模式和增强工作模式,复用辅助信号脚根据是否连接有下拉电阻选择进入何种模式,正常工作模式与现有技术和应用兼容,增强工作模式下还可实现MCU固件一键自动下载。本发明无需外围电路,MCU也不会误进入其他模式,实现固件自动下载、提高下载效率、降低成本、降低功耗、减小产品体积等效果。

权利要求 :

1.一种多模式虚拟串口芯片,其特征在于,包括:复用辅助信号脚,内置了弱上拉电阻或弱上拉电流,根据复用辅助信号脚外部是否连接下拉电阻判断进入多模式虚拟串口芯片的正常工作模式或增强工作模式,正常工作模式下为既定的辅助信号输出或者第一调制解调器信号输出功能;增强工作模式下还可在不输出与第一调制解调器信号输出功能之间切换,用于控制MCU的BootMode脚;

第二调制解调器输出引脚,用于第二调制解调器信号输出,在增强工作模式下还可用于控制MCU的复位;

存储器、处理器及存储在存储器上并可被处理器执行的软件程序,在芯片处于增强工作模式的情况下,当接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,处理器执行该软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输出高电平;

在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令、或接收到上位机发出的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该软件程序使复用辅助信号脚不输出高电平;

在芯片处于增强工作模式的情况下,由睡眠状态被唤醒时,执行该软件程序将复位辅助信号脚恢复为睡眠前的功能。

2.根据权利要求1所述的多模式虚拟串口芯片,其特征在于,在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令、或接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该软件程序将复用辅助信号脚切换为不输出。

3.根据权利要求1所述的多模式虚拟串口芯片,其特征在于,在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令时,处理器执行该软件程序将复用辅助信号脚切换为不输出;当接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输出低电平。

4.根据权利要求1或2或3所述的多模式虚拟串口芯片,其特征在于,所述第二调制解调器输出引脚为引脚RTS,所述复用辅助信号脚在增强工作模式的调制解调器信号输出功能下为调制解调器引脚DTR。

5.一种多模式虚拟串口芯片的实现方法,其特征在于,包括以下步骤:步骤一、上电或复位后检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,执行步骤二;若有下拉电阻,芯片进入增强工作模式,执行步骤三;

步骤二、无论接受到上位机发送的打开串口命令还是关闭串口命令,复用辅助信号脚始终为既定的辅助信号输出或者第一调制解调器信号输出功能,并按照其固有辅助功能规则或者按照上位机发送的设置调制解调器输出命令输出所需电平;

步骤三、当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,复用辅助信号脚切换为调制解调器信号输出功能且根据设置输出高电平,用于控制MCU进入BOOT模式;

当进入睡眠状态、或接收到上位机发送的串口关闭命令、或接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,复用辅助信号脚不输出高电平;

当虚拟串口芯片由睡眠状态被唤醒时,复用辅助信号脚恢复为睡眠前的功能。

6.一种固件下载系统,其特征在于,包括上位机、MCU及如权利要求1至4任一所述的多模式虚拟串口芯片,多模式虚拟串口芯片的复用辅助信号脚连接MCU的BootMode脚,且多模式虚拟串口芯片的复用辅助信号脚连接下拉电阻,多模式虚拟串口芯片的第二调制解调器输出引脚连接MCU的复位引脚;上位机与多模式虚拟串口芯片连接;所述MCU的BootMode脚常态是低电平、高电平时进入MCU的BOOT模式。

7.根据权利要求6所述的固件下载系统,其特征在于,还包括MCU的外围电路,MCU的外围电路中BootMode脚连接有下拉电阻,所述复用辅助信号脚连接的下拉电阻与MCU外围电路中的BootMode脚下拉电阻共用。

8.根据权利要求6或7所述的固件下载系统,其特征在于,多模式虚拟串口芯片的第二调制解调器输出引脚与MCU的复位引脚直接连接或者通过二级管连接,二极管正极连接MCU的复位引脚,二极管负极连接第二调制解调器输出引脚。

9.一种固件下载方法,其特征在于,包括以下步骤:步骤一、多模式虚拟串口芯片检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,复用辅助信号脚始终为既定的辅助信号输出或者第一调制解调器信号输出功能;若有下拉电阻,芯片进入增强工作模式,执行步骤二;

步骤二、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,在调制解调器输出命令中指定第一调制解调器信号为高电平,使复用辅助信号脚切换为调制解调器信号输出功能且输出高电平;设置第二调制解调器输出引脚输出与MCU有效复位信号相同的电平,MCU因复位时BootMode脚为高电平启动固件下载模式;

步骤三、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,设置第二调制解调器输出引脚输出与MCU有效复位信号相反的电平,MCU结束复位并自动执行固件下载程序;

步骤四、待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效复位信号,使复用辅助信号脚不输出高电平,MCU因复位时BootMode脚为低电平启动用户程序模式。

10.根据权利要求9所述的固件下载方法,其特征在于,步骤四包括:待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效复位信号,复用辅助信号脚切换为不输出,MCU因复位时BootMode脚为低电平启动用户程序模式;

或者包括:待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效复位信号,复用辅助信号脚输出低电平,MCU因复位时BootMode脚为低电平启动用户程序模式;上位机向多模式虚拟串口芯片发送串口关闭命令或芯片断开与上位机的连接进入睡眠状态,复用辅助信号脚切换为不输出。

说明书 :

多模式虚拟串口芯片、实现方法、固件下载系统及其方法

技术领域

[0001] 本发明属于虚拟串口芯片设计领域,尤其涉及一种多模式虚拟串口芯片、实现方法、固件下载系统及其方法。

背景技术

[0002] 串口(即UART)作为MCU固件(或称MCU内嵌软件)下载接口已很普及,MCU的启动模式也越来越多,随着MCU使用范围越来越广,行业对MCU固件下载效率和硬件电路的体积成
本也更为关注,经济高效的固件下载方法变得尤为重要。
[0003] 基于原生串口(通常是16C450/550型号)的要求,在通用的串口芯片的IO引脚类型的默认状态中,调制解调器(即MODEM)输入信号CTS/DSR/RI/DCD引脚为输入方向,调制解调
器输出信号RTS/DTR引脚为输出方向且默认为高电平状态(对应于RS232电平逻辑0)。现有
技术中,使用RTS/DTR作为模式选择引脚控制MCU的BootMode(或称引导模式、或称下载模
式)脚,在MCU复位时根据模式选择引脚的高低电平状态判断进入何种启动模式。针对模式
引脚常态为低电平、高电平进入BOOT模式的MCU,如STM32F、CH32F、GD32F等系列的MCU,若需
使用串口进行固件下载,此引脚应为高电平;若需运行用户程序,此引脚应为低电平。由于
串口默认是高,因此会导致MCU上电后直接进入BOOT模式,并且MCU启动模式会随着串口和
MCU上电、掉电、串口驱动未加载、串口未打开时进入非预期模式,影响MCU的使用。如图1所
示,以虚拟串口芯片CH340为例,为避免上述问题,现有技术普遍采用增加电阻、三极管等逻
辑电路辅助串口输出脚RTS/DTR的电平互斥和电平保持,见图1中的三极管Q2、Q3、电阻R69、
R70、R71以规避上电和复位后进入固件下载模式。
[0004] 串口的应用非常广泛且便利,但当前电脑或者手机普遍不提供原生串口,一般是采用USB或BLE蓝牙等进行虚拟串口扩展,进而与MCU通讯或者进行固件下载。基于串口兼容
的考虑,串口应用程序主要是支持原生串口的操作,例如串口收发、设置调制解调器输出、
读取调制解调器输入。虚拟串口是指将以USB或者蓝牙进行物理连接扩展的串口通过驱动
程序模仿出上位机(即电脑、服务器或者手机)中原生串口的功能和效果,使得虚拟串口的
行为特性基本兼容原生串口。因为兼容,所以基于虚拟串口芯片实现MCU固件下载也会遇到
原生串口同样的问题。如何基于虚拟串口芯片实现MCU固件经济高效地下载是急需解决的
问题。

发明内容

[0005] 发明目的:为了解决现有技术存在的问题,使虚拟串口芯片在不需要增加外围电路的情况下也可以解决MCU进入错误启动模式的问题,本发明提供多模式虚拟串口芯片、实
现方法、固件下载系统及其方法。
[0006] 技术方案:一种多模式虚拟串口芯片,包括:
[0007] 复用辅助信号脚,内置了弱上拉电阻或弱上拉电流,根据是否连接下拉电阻判断进入正常工作模式或增强工作模式,正常工作模式下为既定的辅助信号输出或者第一调制
解调器信号输出功能;增强工作模式下还可在不输出与第一调制解调器信号输出功能之间
切换,用于控制MCU的BootMode脚;
[0008] 第二调制解调器输出引脚,用于第二调制解调器信号输出,在增强工作模式下还可用于控制MCU的复位;
[0009] 存储器、处理器及存储在存储器上并可被处理器执行的软件程序,在芯片处于增强工作模式的情况下,当接收到上位机的设置调制解调器输出命令且指定第一调制解调器
信号为高电平时,处理器执行该软件程序将复用辅助信号脚切换为第一调制解调器信号输
出功能且输出高电平;
[0010] 在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令、或接收到上位机发出的设置调制解调器输出命令且指定第一调制解调器信号
为低电平时,处理器执行该软件程序使复用辅助信号脚不输出高电平;
[0011] 在芯片处于增强工作模式的情况下,由睡眠状态被唤醒时,执行该软件程序将复位辅助信号脚恢复为睡眠前的功能。
[0012] 进一步地,在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令、或接收到上位机的设置调制解调器输出命令且指定第一调制解调器
信号为低电平时,处理器执行该软件程序将复用辅助信号脚切换为不输出。
[0013] 进一步地,在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令时,处理器执行该软件程序将复用辅助信号脚切换为不输出;当接收
到上位机的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行
该软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输出低电平。
[0014] 进一步地,所述第二调制解调器输出引脚为引脚RTS,所述复用辅助信号脚在增强工作模式的调制解调器信号输出功能下为调制解调器引脚DTR。
[0015] 一种多模式虚拟串口芯片的实现方法,包括以下步骤:
[0016] 步骤一、上电或复位后检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,执行步骤二;若有下拉电阻,芯片进入增强工作模式,执行步骤三;
[0017] 步骤二、无论接受到上位机发送的打开串口命令还是关闭串口命令,复用辅助信号脚始终为既定的辅助信号输出或者第一调制解调器信号输出功能,并按照其固有辅助功
能规则或者按照上位机发送的设置调制解调器输出命令输出所需电平;
[0018] 步骤三、当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,复用辅助信号脚切换为调制解调器信号输出功能且根据设置输出高电
平,用于控制MCU进入BOOT模式;
[0019] 当进入睡眠状态、或接收到上位机发送的串口关闭命令、或接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,复用辅助信号脚不输出
高电平;
[0020] 当多模式虚拟串口芯片由睡眠状态被唤醒时,复用辅助信号脚恢复为睡眠前的功能。
[0021] 一种固件下载系统,包括上位机、MCU及上述的多模式虚拟串口芯片,多模式虚拟串口芯片的复用辅助信号脚连接MCU的BootMode脚,且多模式虚拟串口芯片的复用辅助信
号脚连接下拉电阻,多模式虚拟串口芯片的第二调制解调器输出引脚连接MCU的复位引脚;
上位机与多模式虚拟串口芯片连接;所述MCU为BootMode脚常态是低电平、高电平进入BOOT
模式的MCU。
[0022] 进一步地,还包括MCU的外围电路,MCU的外围电路中BootMode脚连接有下拉电阻,所述复用辅助信号脚连接的下拉电阻与MCU外围电路中的BootMode脚下拉电阻共用。
[0023] 进一步地,虚拟串口芯片的第二调制解调器输出引脚与MCU的复位引脚直接连接或者通过二极管连接,二极管正极连接MCU的复位引脚,二极管负极连接第二调制解调器输
出引脚。
[0024] 一种固件下载方法,包括以下步骤:
[0025] 步骤一、多模式虚拟串口芯片检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,复用辅助信号脚始终为既定的辅助信号输出或者第一调
制解调器信号输出功能;若有下拉电阻,芯片进入增强工作模式,执行步骤二;
[0026] 步骤二、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,在调制解调器输出命令中指定第一调制解调器信号为高电平,使复用辅助信号脚切换为调制解调器
信号输出功能且输出高电平;设置第二调制解调器输出引脚输出与MCU有效复位信号相同
的电平,MCU因复位时BootMode脚为高电平启动固件下载模式;
[0027] 步骤三、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,设置第二调制解调器输出引脚输出与MCU有效复位信号相反的电平,MCU结束复位并自动执行固件下
载程序;
[0028] 步骤四、待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有
效复位信号,使复用辅助信号脚不输出高电平,MCU因复位时BootMode脚为低电平启动用户
程序模式。
[0029] 进一步地,步骤四包括:待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输
出引脚输出MCU有效复位信号,复用辅助信号脚切换为不输出,MCU因复位时BootMode脚为
低电平启动用户程序模式;
[0030] 或者包括:待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU
有效复位信号,复用辅助信号脚输出低电平,MCU因复位时BootMode脚为低电平启动用户程
序模式;上位机向多模式虚拟串口芯片发送串口关闭命令或芯片断开与上位机的连接进入
睡眠状态,复用辅助信号脚切换为不输出。
[0031] 本发明提供一种多模式虚拟串口芯片、实现方法、固件自动下载系统及其方法,相比较现有技术,具有以下有益效果:
[0032] (1)正常工作模式下,兼容现有虚拟串口和原生串口,兼容现有应用程序。而增强工作模式下,合用MCU外围电路中所带的BootMode脚下拉电阻,不增加任何器件就能实现
MCU固件一件下载,并且仍然只使用了与原生串口兼容的设置调制解调器输出命令,便于应
用程序兼容。
[0033] (2)增强工作模式可用于BootMode引脚常态为低电平、高电平进入BOOT模式的MCU。定义虚拟串口的两种应用环境:正常应用环境与现有技术兼容;下载应用环境即增强
工作模式中可实现MCU固件一键自动下载。复用辅助信号脚无下拉电阻时,为正常应用环
境,虚拟串口芯片进入正常工作模式,辅助信号脚根据芯片封装形式或者子型号的不同,既
定为要么作为辅助信号输出例如TNOW、要么作为调制解调器信号输出引脚DTR,输出所需电
平,以兼容现有技术和习惯。当需要实现MCU固件一件下载功能时,在辅助信号脚连接下拉
电阻,为下载应用环境,虚拟串口芯片进入增强工作模式,在增强工作模式下,辅助信号脚
可以在需要时切换为调制解调器信号输出引脚,可实现MCU固件一键下载功能。对于下拉电
阻,可以直接使用MCU外围电路中所带的BootMode脚下拉电阻,不需要额外再增加下拉电
阻。该下拉电阻在电路中同时具有判断进入何种模式以及在增强工作模式下且串口未打开
时不进入BOOT模式的双重功能。
[0034] (3)增强工作模式下,只要上位机软件不操作,默认不影响MCU用户程序运行。MCU不会因自身及串口的上电、掉电、串口驱动未加载、串口未打开等情况误进入错误的启动模
式,MCU启动方式自动切换,无需人工参与或电路辅助,产品稳定性更好;
[0035] (4)多模式虚拟串口芯片与MCU相关引脚直连,无需增加电阻、三极管等逻辑控制电路,免去调试和生产的难度;无外围电路,节省了器件成本、制造成本,大幅度地减小了产
品体积,降低了多个电阻导致的功耗,降低产品的故障率;
[0036] (5)本技术方案仍然只利用了原生串口的操作命令,对于上位机操作用户而言无感知,正常工作模式下仍兼容现有上位机用户程序,无需更改用户应用程序。在保持向前兼
容的前提下,实现了更多功能。

附图说明

[0037] 图1为现有技术虚拟串口芯片CH340与MCU连接的电路原理图;
[0038] 图2为实施例一多模式虚拟串口芯片与MCU连接的电路原理图;
[0039] 图3为实施例四多模式虚拟串口芯片与MCU连接的电路原理图。

具体实施方式

[0040] 下面结合附图和具体实施例对本发明做进一步解释说明。
[0041] 实施例一:
[0042] 本实施例针对BootMode脚常态为低电平的MCU,当BootMode脚为高电平时,MCU复位进入固件下载模式,即BootMode脚进入BOOT模式的有效电平为高电平。
[0043] 一种多模式虚拟串口芯片,定义两种工作模式:正常工作模式和增强工作模式,正常工作模式即为现有技术所使用的工作模式,以兼容现有的虚拟串口芯片。但是在此模式
下,无法实现固件一键自动下载,因为MCU可能会因自身及串口的上电、掉电、串口驱动未加
载、串口未打开等情况误进入错误的启动模式,若不想在辅助信号脚增加外围三极管等器
件,只能靠手动复位等操作维持正常工作。虚拟串口芯片之所以设置两种工作模式,可以根
据需要连接连接下拉电阻进一步选择进入何种模式,正常工作模式与现有技术兼容,增强
工作模式下可实现MCU固件一键自动下载,避免MCU进入错误的启动模式。
[0044] 一种多模式虚拟串口芯片包括:
[0045] 复用辅助信号脚,如图2中的TNOW/DTR,复用辅助信号脚内部带弱上拉电阻或弱上拉电流,根据外部是否连接下拉电阻判断进入正常工作模式或增强工作模式。本实施例该
复用辅助信号脚在正常工作模式下为既定的辅助信号输出(图中的TNOW),也可以是第一调
制解调器信号(Modem)输出功能;增强工作模式下复用辅助信号脚可根据设置调制解调器
输出命令、关闭串口命令或进入睡眠状态等切换为调制解调器信号输出功能或不输出,用
于控制MCU的BootMode脚;
[0046] 第二调制解调器输出引脚(Modem输出引脚),如图2中的引脚RTS,用于第二调制解调器信号输出,在增强工作模式下还可用于控制MCU的复位;
[0047] 存储器、处理器及存储在存储器上并可被处理器执行的软件程序,
[0048] 在芯片处于增强工作模式的情况下,
[0049] 当接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,处理器执行该软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输
出高电平;
[0050] 在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令、或接收到上位机发出的设置调制解调器输出命令且指定第一调制解调器信号
为低电平时,处理器执行该软件程序使复用辅助信号脚切换为不输出;
[0051] 在芯片处于增强工作模式的情况下,由睡眠状态被唤醒时,执行该软件程序将复位辅助信号脚恢复为睡眠前的功能。
[0052] 因为复用辅助信号脚接有下拉电阻,所以当其为不输出功能时,MCU的BootMode脚在下拉电阻的作用下为低电平,维持用户程序模式,不会进入BOOT固件下载模式。所以,下
拉电阻在电路中同时具有判断进入何种模式以及在增强工作模式下且串口未打开时不进
入BOOT模式的双重功能。
[0053] 一种多模式虚拟串口芯片的实现方法,包括以下步骤:
[0054] 步骤一、上电或复位后检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,执行步骤二;若有下拉电阻,芯片进入增强工作模式,执行步骤三;
[0055] 步骤二、无论接受到上位机发送的打开串口命令还是关闭串口命令,复用辅助信号脚始终为既定的辅助信号输出或者调制解调器信号输出功能,并按照固有辅助功能规则
或上位机发送的设置调制解调器输出命令输出所需电平;
[0056] 步骤三、当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,复用辅助信号脚切换为调制解调器信号输出功能且根据设置输出高电
平,用于控制MCU进入BOOT模式;
[0057] 当进入睡眠状态、或接收到上位机发送的串口关闭命令、或接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,复用辅助信号脚切换为
不输出;
[0058] 当多模式虚拟串口芯片由睡眠状态被唤醒时,复用辅助信号脚恢复为睡眠前的功能。
[0059] 一种固件下载系统,包括上位机、MCU及上述的多模式虚拟串口芯片,如图2所示,多模式虚拟串口芯片的复用辅助信号脚连接MCU的BootMode脚,且多模式虚拟串口芯片的
复用辅助信号脚连接下拉电阻,多模式虚拟串口芯片的第二调制解调器输出引脚连接MCU
的复位引脚;上位机与多模式虚拟串口芯片连接;所述MCU为BootMode脚常态是低电平、高
电平进入BOOT模式的MCU。下拉电阻一般取值范围为1kΩ 20kΩ,本实施例中选用4.7kΩ。
~
[0060] 一种固件下载方法,包括以下步骤:
[0061] 步骤一、先判断进入何种工作模式:多模式虚拟串口芯片检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,复用辅助信号脚始终为既定的
辅助信号输出或者第一调制解调器信号输出功能,复用辅助信号脚按照上位机发送的设置
调试解调器输出命令输出所需电平,不实现MCU固件自动下载;若有下拉电阻,芯片进入增
强工作模式,执行步骤二;
[0062] 步骤二、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,在调制解调器输出命令中指定第一调制解调器信号为高电平,使复用辅助信号脚切换为调制解调器
信号输出功能且输出高电平;设置第二调制解调器输出引脚输出与MCU有效复位信号相同
的电平,MCU因复位时BootMode脚为高电平启动固件下载模式;
[0063] 步骤三、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,设置第二调制解调器输出引脚输出与MCU有效复位信号相反的电平,MCU结束复位并自动执行固件下
载程序;
[0064] 步骤四、待固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效
复位信号,复用辅助信号脚切换为不输出,MCU因复位时BootMode脚为低电平启动用户程序
模式。
[0065] 实施例二:
[0066] 实施例二与实施例一相比,区别在于,复用辅助信号脚连接的下拉电阻可以与MCU外围电路中所带的下拉电阻共用,当MCU的外围电路中BootMode脚连接有下拉电阻时,就可
以充分利用该下拉电阻作为多模式虚拟串口芯片进入增强工作模式的条件,无需再额外增
加下拉电阻。
[0067] 实施例三:
[0068] 实施例三与实施例一或实施例二相比,区别在于,多模式虚拟串口芯片在接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该
软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输出低电平。通过实施
例一,可知复用辅助信号脚不输出时,在外接的下拉电阻作用下,保证BootMode脚为低电
平。而本实施例复用辅助信号脚输出低电平具有相同的效果。除此之外,在增强工作模式
下,多模式虚拟串口芯片进入睡眠状态,或者接收到上位机发出的串口关闭命令时,复用辅
助信号脚也可输出低电平,只要不是高电平均可。
[0069] 对应的,多模式虚拟串口芯片的实现方法,包括以下步骤:
[0070] 步骤一、上电或复位后检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,执行步骤二;若有下拉电阻,芯片进入增强工作模式,执行步骤三;
[0071] 步骤二、无论接受到上位机发送的打开串口命令还是关闭串口命令,复用辅助信号脚始终为既定的辅助信号输出或者第一调制解调器信号输出功能,并按照其固有辅助功
能规则或者按照上位机发送的设置调制解调器输出命令输出所需电平;
[0072] 步骤三、当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,复用辅助信号脚切换为调制解调器信号输出功能且根据设置输出高电
平,用于控制MCU进入BOOT模式;
[0073] 当进入睡眠状态、或接收到上位机发送的串口关闭命令时,复用辅助信号脚切换为不输出;当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为
低电平时,复用辅助信号脚输出低电平;
[0074] 当多模式虚拟串口芯片由睡眠状态被唤醒时,复用辅助信号脚恢复为睡眠前的功能。
[0075] 固件下载方法包括以下步骤:
[0076] 步骤一、先判断进入何种工作模式:多模式虚拟串口芯片检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,复用辅助信号脚始终为输出功
能,当上位机向虚拟串口芯片发送打开串口命令时,复用辅助信号脚按照固有辅助功能规
则或上位机发送的命令输出所需电平,不实现MCU固件自动下载;若有下拉电阻,芯片进入
增强工作模式,执行步骤二;
[0077] 步骤二、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,在调制解调器输出命令中指定第一调制解调器信号为高电平,使复用辅助信号脚切换为调制解调器
信号输出功能且输出高电平;设置第二调制解调器输出引脚输出与MCU有效复位信号相同
的电平,MCU因复位时BootMode脚为高电平启动固件下载模式;
[0078] 步骤三、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,设置第二调制解调器输出引脚输出与MCU有效复位信号相反的电平,MCU结束复位并自动执行固件下
载程序;
[0079] 步骤四、待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有
效复位信号,复用辅助信号脚输出低电平,MCU因复位时BootMode脚为低电平启动用户程序
模式;上位机向多模式虚拟串口芯片发送串口关闭命令或芯片断开与上位机的连接进入睡
眠状态,复用辅助信号脚切换为不输出。
[0080] 实施例四:
[0081] 实施例四与实施例一或实施例二或实施例三相比,区别在于,如图3所示,多模式虚拟串口芯片的调制解调器输出引脚RTS与MCU的复位引脚之间连接有二极管,二极管正极
连接MCU复位引脚,二极管负极连接调制解调器输出引脚RTS。目的是为了在兼容原复位信
号控制的基础上,增加虚拟串口芯片的RTS引脚直接作用NRST。