CN113760806A - 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 - Google Patents
多模式虚拟串口芯片、实现方法、固件下载系统及其方法 Download PDFInfo
- Publication number
- CN113760806A CN113760806A CN202111316629.3A CN202111316629A CN113760806A CN 113760806 A CN113760806 A CN 113760806A CN 202111316629 A CN202111316629 A CN 202111316629A CN 113760806 A CN113760806 A CN 113760806A
- Authority
- CN
- China
- Prior art keywords
- pin
- modem
- output
- serial port
- mcu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/442—Shutdown
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Telephonic Communication Services (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种多模式虚拟串口芯片、实现方法、固件下载系统及其方法,多模式虚拟串口芯片包含正常工作模式和增强工作模式,复用辅助信号脚根据是否连接有下拉电阻选择进入何种模式,正常工作模式与现有技术和应用兼容,增强工作模式下还可实现MCU固件一键自动下载。本发明无需外围电路,MCU也不会误进入其他模式,实现固件自动下载、提高下载效率、降低成本、降低功耗、减小产品体积等效果。
Description
技术领域
本发明属于虚拟串口芯片设计领域,尤其涉及一种多模式虚拟串口芯片、实现方法、固件下载系统及其方法。
背景技术
串口(即UART)作为MCU固件(或称MCU内嵌软件)下载接口已很普及,MCU的启动模式也越来越多,随着MCU使用范围越来越广,行业对MCU固件下载效率和硬件电路的体积成本也更为关注,经济高效的固件下载方法变得尤为重要。
基于原生串口(通常是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以规避上电和复位后进入固件下载模式。
串口的应用非常广泛且便利,但当前电脑或者手机普遍不提供原生串口,一般是采用USB或BLE蓝牙等进行虚拟串口扩展,进而与MCU通讯或者进行固件下载。基于串口兼容的考虑,串口应用程序主要是支持原生串口的操作,例如串口收发、设置调制解调器输出、读取调制解调器输入。虚拟串口是指将以USB或者蓝牙进行物理连接扩展的串口通过驱动程序模仿出上位机(即电脑、服务器或者手机)中原生串口的功能和效果,使得虚拟串口的行为特性基本兼容原生串口。因为兼容,所以基于虚拟串口芯片实现MCU固件下载也会遇到原生串口同样的问题。如何基于虚拟串口芯片实现MCU固件经济高效地下载是急需解决的问题。
发明内容
发明目的:为了解决现有技术存在的问题,使虚拟串口芯片在不需要增加外围电路的情况下也可以解决MCU进入错误启动模式的问题,本发明提供多模式虚拟串口芯片、实现方法、固件下载系统及其方法。
技术方案:一种多模式虚拟串口芯片,包括:
复用辅助信号脚,内置了弱上拉电阻或弱上拉电流,根据是否连接下拉电阻判断进入正常工作模式或增强工作模式,正常工作模式下为既定的辅助信号输出或者第一调制解调器信号输出功能;增强工作模式下还可在不输出与第一调制解调器信号输出功能之间切换,用于控制MCU的BootMode脚;
第二调制解调器输出引脚,用于第二调制解调器信号输出,在增强工作模式下还可用于控制MCU的复位;
存储器、处理器及存储在存储器上并可被处理器执行的软件程序,在芯片处于增强工作模式的情况下,当接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,处理器执行该软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输出高电平;
在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令、或接收到上位机发出的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该软件程序使复用辅助信号脚不输出高电平;
在芯片处于增强工作模式的情况下,由睡眠状态被唤醒时,执行该软件程序将复位辅助信号脚恢复为睡眠前的功能。
进一步地,在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令、或接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该软件程序将复用辅助信号脚切换为不输出。
进一步地,在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令时,处理器执行该软件程序将复用辅助信号脚切换为不输出;当接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输出低电平。
进一步地,所述第二调制解调器输出引脚为引脚RTS,所述复用辅助信号脚在增强工作模式的调制解调器信号输出功能下为调制解调器引脚DTR。
一种多模式虚拟串口芯片的实现方法,包括以下步骤:
步骤一、上电或复位后检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,执行步骤二;若有下拉电阻,芯片进入增强工作模式,执行步骤三;
步骤二、无论接受到上位机发送的打开串口命令还是关闭串口命令,复用辅助信号脚始终为既定的辅助信号输出或者第一调制解调器信号输出功能,并按照其固有辅助功能规则或者按照上位机发送的设置调制解调器输出命令输出所需电平;
步骤三、当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,复用辅助信号脚切换为调制解调器信号输出功能且根据设置输出高电平,用于控制MCU进入BOOT模式;
当进入睡眠状态、或接收到上位机发送的串口关闭命令、或接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,复用辅助信号脚不输出高电平;
当多模式虚拟串口芯片由睡眠状态被唤醒时,复用辅助信号脚恢复为睡眠前的功能。
一种固件下载系统,包括上位机、MCU及上述的多模式虚拟串口芯片,多模式虚拟串口芯片的复用辅助信号脚连接MCU的BootMode脚,且多模式虚拟串口芯片的复用辅助信号脚连接下拉电阻,多模式虚拟串口芯片的第二调制解调器输出引脚连接MCU的复位引脚;上位机与多模式虚拟串口芯片连接;所述MCU为BootMode脚常态是低电平、高电平进入BOOT模式的MCU。
进一步地,还包括MCU的外围电路,MCU的外围电路中BootMode脚连接有下拉电阻,所述复用辅助信号脚连接的下拉电阻与MCU外围电路中的BootMode脚下拉电阻共用。
进一步地,虚拟串口芯片的第二调制解调器输出引脚与MCU的复位引脚直接连接或者通过二极管连接,二极管正极连接MCU的复位引脚,二极管负极连接第二调制解调器输出引脚。
一种固件下载方法,包括以下步骤:
步骤一、多模式虚拟串口芯片检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,复用辅助信号脚始终为既定的辅助信号输出或者第一调制解调器信号输出功能;若有下拉电阻,芯片进入增强工作模式,执行步骤二;
步骤二、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,在调制解调器输出命令中指定第一调制解调器信号为高电平,使复用辅助信号脚切换为调制解调器信号输出功能且输出高电平;设置第二调制解调器输出引脚输出与MCU有效复位信号相同的电平,MCU因复位时BootMode脚为高电平启动固件下载模式;
步骤三、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,设置第二调制解调器输出引脚输出与MCU有效复位信号相反的电平,MCU结束复位并自动执行固件下载程序;
步骤四、待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效复位信号,使复用辅助信号脚不输出高电平,MCU因复位时BootMode脚为低电平启动用户程序模式。
进一步地,步骤四包括:待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效复位信号,复用辅助信号脚切换为不输出,MCU因复位时BootMode脚为低电平启动用户程序模式;
或者包括:待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效复位信号,复用辅助信号脚输出低电平,MCU因复位时BootMode脚为低电平启动用户程序模式;上位机向多模式虚拟串口芯片发送串口关闭命令或芯片断开与上位机的连接进入睡眠状态,复用辅助信号脚切换为不输出。
本发明提供一种多模式虚拟串口芯片、实现方法、固件自动下载系统及其方法,相比较现有技术,具有以下有益效果:
(1)正常工作模式下,兼容现有虚拟串口和原生串口,兼容现有应用程序。而增强工作模式下,合用MCU外围电路中所带的BootMode脚下拉电阻,不增加任何器件就能实现MCU固件一件下载,并且仍然只使用了与原生串口兼容的设置调制解调器输出命令,便于应用程序兼容。
(2)增强工作模式可用于BootMode引脚常态为低电平、高电平进入BOOT模式的MCU。定义虚拟串口的两种应用环境:正常应用环境与现有技术兼容;下载应用环境即增强工作模式中可实现MCU固件一键自动下载。复用辅助信号脚无下拉电阻时,为正常应用环境,虚拟串口芯片进入正常工作模式,辅助信号脚根据芯片封装形式或者子型号的不同,既定为要么作为辅助信号输出例如TNOW、要么作为调制解调器信号输出引脚DTR,输出所需电平,以兼容现有技术和习惯。当需要实现MCU固件一件下载功能时,在辅助信号脚连接下拉电阻,为下载应用环境,虚拟串口芯片进入增强工作模式,在增强工作模式下,辅助信号脚可以在需要时切换为调制解调器信号输出引脚,可实现MCU固件一键下载功能。对于下拉电阻,可以直接使用MCU外围电路中所带的BootMode脚下拉电阻,不需要额外再增加下拉电阻。该下拉电阻在电路中同时具有判断进入何种模式以及在增强工作模式下且串口未打开时不进入BOOT模式的双重功能。
(3)增强工作模式下,只要上位机软件不操作,默认不影响MCU用户程序运行。MCU不会因自身及串口的上电、掉电、串口驱动未加载、串口未打开等情况误进入错误的启动模式,MCU启动方式自动切换,无需人工参与或电路辅助,产品稳定性更好;
(4)多模式虚拟串口芯片与MCU相关引脚直连,无需增加电阻、三极管等逻辑控制电路,免去调试和生产的难度;无外围电路,节省了器件成本、制造成本,大幅度地减小了产品体积,降低了多个电阻导致的功耗,降低产品的故障率;
(5)本技术方案仍然只利用了原生串口的操作命令,对于上位机操作用户而言无感知,正常工作模式下仍兼容现有上位机用户程序,无需更改用户应用程序。在保持向前兼容的前提下,实现了更多功能。
附图说明
图1为现有技术虚拟串口芯片CH340与MCU连接的电路原理图;
图2为实施例一多模式虚拟串口芯片与MCU连接的电路原理图;
图3为实施例四多模式虚拟串口芯片与MCU连接的电路原理图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步解释说明。
实施例一:
本实施例针对BootMode脚常态为低电平的MCU,当BootMode脚为高电平时,MCU复位进入固件下载模式,即BootMode脚进入BOOT模式的有效电平为高电平。
一种多模式虚拟串口芯片,定义两种工作模式:正常工作模式和增强工作模式,正常工作模式即为现有技术所使用的工作模式,以兼容现有的虚拟串口芯片。但是在此模式下,无法实现固件一键自动下载,因为MCU可能会因自身及串口的上电、掉电、串口驱动未加载、串口未打开等情况误进入错误的启动模式,若不想在辅助信号脚增加外围三极管等器件,只能靠手动复位等操作维持正常工作。虚拟串口芯片之所以设置两种工作模式,可以根据需要连接连接下拉电阻进一步选择进入何种模式,正常工作模式与现有技术兼容,增强工作模式下可实现MCU固件一键自动下载,避免MCU进入错误的启动模式。
一种多模式虚拟串口芯片包括:
复用辅助信号脚,如图2中的TNOW/DTR,复用辅助信号脚内部带弱上拉电阻或弱上拉电流,根据外部是否连接下拉电阻判断进入正常工作模式或增强工作模式。本实施例该复用辅助信号脚在正常工作模式下为既定的辅助信号输出(图中的TNOW),也可以是第一调制解调器信号(Modem)输出功能;增强工作模式下复用辅助信号脚可根据设置调制解调器输出命令、关闭串口命令或进入睡眠状态等切换为调制解调器信号输出功能或不输出,用于控制MCU的BootMode脚;
第二调制解调器输出引脚(Modem输出引脚),如图2中的引脚RTS,用于第二调制解调器信号输出,在增强工作模式下还可用于控制MCU的复位;
存储器、处理器及存储在存储器上并可被处理器执行的软件程序,
在芯片处于增强工作模式的情况下,
当接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,处理器执行该软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输出高电平;
在芯片处于增强工作模式的情况下,当进入睡眠状态、或接收到上位机发出的串口关闭命令、或接收到上位机发出的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该软件程序使复用辅助信号脚切换为不输出;
在芯片处于增强工作模式的情况下,由睡眠状态被唤醒时,执行该软件程序将复位辅助信号脚恢复为睡眠前的功能。
因为复用辅助信号脚接有下拉电阻,所以当其为不输出功能时,MCU的BootMode脚在下拉电阻的作用下为低电平,维持用户程序模式,不会进入BOOT固件下载模式。所以,下拉电阻在电路中同时具有判断进入何种模式以及在增强工作模式下且串口未打开时不进入BOOT模式的双重功能。
一种多模式虚拟串口芯片的实现方法,包括以下步骤:
步骤一、上电或复位后检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,执行步骤二;若有下拉电阻,芯片进入增强工作模式,执行步骤三;
步骤二、无论接受到上位机发送的打开串口命令还是关闭串口命令,复用辅助信号脚始终为既定的辅助信号输出或者调制解调器信号输出功能,并按照固有辅助功能规则或上位机发送的设置调制解调器输出命令输出所需电平;
步骤三、当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,复用辅助信号脚切换为调制解调器信号输出功能且根据设置输出高电平,用于控制MCU进入BOOT模式;
当进入睡眠状态、或接收到上位机发送的串口关闭命令、或接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,复用辅助信号脚切换为不输出;
当多模式虚拟串口芯片由睡眠状态被唤醒时,复用辅助信号脚恢复为睡眠前的功能。
一种固件下载系统,包括上位机、MCU及上述的多模式虚拟串口芯片,如图2所示,多模式虚拟串口芯片的复用辅助信号脚连接MCU的BootMode脚,且多模式虚拟串口芯片的复用辅助信号脚连接下拉电阻,多模式虚拟串口芯片的第二调制解调器输出引脚连接MCU的复位引脚;上位机与多模式虚拟串口芯片连接;所述MCU为BootMode脚常态是低电平、高电平进入BOOT模式的MCU。下拉电阻一般取值范围为1kΩ~20kΩ,本实施例中选用4.7kΩ。
一种固件下载方法,包括以下步骤:
步骤一、先判断进入何种工作模式:多模式虚拟串口芯片检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,复用辅助信号脚始终为既定的辅助信号输出或者第一调制解调器信号输出功能,复用辅助信号脚按照上位机发送的设置调试解调器输出命令输出所需电平,不实现MCU固件自动下载;若有下拉电阻,芯片进入增强工作模式,执行步骤二;
步骤二、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,在调制解调器输出命令中指定第一调制解调器信号为高电平,使复用辅助信号脚切换为调制解调器信号输出功能且输出高电平;设置第二调制解调器输出引脚输出与MCU有效复位信号相同的电平,MCU因复位时BootMode脚为高电平启动固件下载模式;
步骤三、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,设置第二调制解调器输出引脚输出与MCU有效复位信号相反的电平,MCU结束复位并自动执行固件下载程序;
步骤四、待固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效复位信号,复用辅助信号脚切换为不输出,MCU因复位时BootMode脚为低电平启动用户程序模式。
实施例二:
实施例二与实施例一相比,区别在于,复用辅助信号脚连接的下拉电阻可以与MCU外围电路中所带的下拉电阻共用,当MCU的外围电路中BootMode脚连接有下拉电阻时,就可以充分利用该下拉电阻作为多模式虚拟串口芯片进入增强工作模式的条件,无需再额外增加下拉电阻。
实施例三:
实施例三与实施例一或实施例二相比,区别在于,多模式虚拟串口芯片在接收到上位机的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,处理器执行该软件程序将复用辅助信号脚切换为第一调制解调器信号输出功能且输出低电平。通过实施例一,可知复用辅助信号脚不输出时,在外接的下拉电阻作用下,保证BootMode脚为低电平。而本实施例复用辅助信号脚输出低电平具有相同的效果。除此之外,在增强工作模式下,多模式虚拟串口芯片进入睡眠状态,或者接收到上位机发出的串口关闭命令时,复用辅助信号脚也可输出低电平,只要不是高电平均可。
对应的,多模式虚拟串口芯片的实现方法,包括以下步骤:
步骤一、上电或复位后检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,执行步骤二;若有下拉电阻,芯片进入增强工作模式,执行步骤三;
步骤二、无论接受到上位机发送的打开串口命令还是关闭串口命令,复用辅助信号脚始终为既定的辅助信号输出或者第一调制解调器信号输出功能,并按照其固有辅助功能规则或者按照上位机发送的设置调制解调器输出命令输出所需电平;
步骤三、当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为高电平时,复用辅助信号脚切换为调制解调器信号输出功能且根据设置输出高电平,用于控制MCU进入BOOT模式;
当进入睡眠状态、或接收到上位机发送的串口关闭命令时,复用辅助信号脚切换为不输出;当接收到上位机发送的设置调制解调器输出命令且指定第一调制解调器信号为低电平时,复用辅助信号脚输出低电平;
当多模式虚拟串口芯片由睡眠状态被唤醒时,复用辅助信号脚恢复为睡眠前的功能。
固件下载方法包括以下步骤:
步骤一、先判断进入何种工作模式:多模式虚拟串口芯片检测复用辅助信号脚是否连接有下拉电阻,若无下拉电阻,芯片进入正常工作模式,复用辅助信号脚始终为输出功能,当上位机向虚拟串口芯片发送打开串口命令时,复用辅助信号脚按照固有辅助功能规则或上位机发送的命令输出所需电平,不实现MCU固件自动下载;若有下拉电阻,芯片进入增强工作模式,执行步骤二;
步骤二、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,在调制解调器输出命令中指定第一调制解调器信号为高电平,使复用辅助信号脚切换为调制解调器信号输出功能且输出高电平;设置第二调制解调器输出引脚输出与MCU有效复位信号相同的电平,MCU因复位时BootMode脚为高电平启动固件下载模式;
步骤三、上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,设置第二调制解调器输出引脚输出与MCU有效复位信号相反的电平,MCU结束复位并自动执行固件下载程序;
步骤四、待MCU固件下载完成,上位机向多模式虚拟串口芯片发送设置调制解调器输出命令,指定第一调制解调器信号为低电平,且指定第二调制解调器输出引脚输出MCU有效复位信号,复用辅助信号脚输出低电平,MCU因复位时BootMode脚为低电平启动用户程序模式;上位机向多模式虚拟串口芯片发送串口关闭命令或芯片断开与上位机的连接进入睡眠状态,复用辅助信号脚切换为不输出。
实施例四:
实施例四与实施例一或实施例二或实施例三相比,区别在于,如图3所示,多模式虚拟串口芯片的调制解调器输出引脚RTS与MCU的复位引脚之间连接有二极管,二极管正极连接MCU复位引脚,二极管负极连接调制解调器输出引脚RTS。目的是为了在兼容原复位信号控制的基础上,增加虚拟串口芯片的RTS引脚直接作用NRST。
Claims (10)
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脚常态是低电平、高电平进入BOOT模式的MCU。
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脚为低电平启动用户程序模式;上位机向多模式虚拟串口芯片发送串口关闭命令或芯片断开与上位机的连接进入睡眠状态,复用辅助信号脚切换为不输出。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111316629.3A CN113760806B (zh) | 2021-11-09 | 2021-11-09 | 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 |
PCT/CN2022/072882 WO2023082469A1 (zh) | 2021-11-09 | 2022-01-20 | 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111316629.3A CN113760806B (zh) | 2021-11-09 | 2021-11-09 | 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113760806A true CN113760806A (zh) | 2021-12-07 |
CN113760806B CN113760806B (zh) | 2022-02-15 |
Family
ID=78784624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111316629.3A Active CN113760806B (zh) | 2021-11-09 | 2021-11-09 | 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113760806B (zh) |
WO (1) | WO2023082469A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023082469A1 (zh) * | 2021-11-09 | 2023-05-19 | 南京沁恒微电子股份有限公司 | 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487890A (zh) * | 2015-11-25 | 2016-04-13 | 天津航空机电有限公司 | 一种基于c51系列单片机内核的固件下载方法 |
CN109558359A (zh) * | 2018-11-29 | 2019-04-02 | 上海移芯通信科技有限公司 | 嵌入式芯片的串口加载装置及方法 |
CN109800012A (zh) * | 2019-03-01 | 2019-05-24 | 四川长虹电器股份有限公司 | 一种mcu固件升级方法 |
CN111273938A (zh) * | 2020-04-10 | 2020-06-12 | 威海市天罡仪表股份有限公司 | 一种基于单片机isp实现iap程序升级的电路及方法 |
CN111758088A (zh) * | 2020-02-07 | 2020-10-09 | 深圳市汇顶科技股份有限公司 | 芯片下载固件的方法和芯片 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100905795B1 (ko) * | 2008-01-17 | 2009-07-02 | (주)블루버드 소프트 | 단일 커넥터로 uart 및 usb 통신을 지원하는 휴대용단말기 및 그 동작 방법 |
CN102567071A (zh) * | 2010-12-15 | 2012-07-11 | 中兴通讯股份有限公司 | 一种虚拟串口系统及其通信方法 |
CN110413550B (zh) * | 2018-04-27 | 2022-02-25 | 北京天诚同创电气有限公司 | 一种芯片串口程序下载控制电路 |
CN111090605B (zh) * | 2019-10-10 | 2023-07-28 | 惠州市德赛西威汽车电子股份有限公司 | 一种用于mcu软件升级的usb转uart电路 |
CN113760806B (zh) * | 2021-11-09 | 2022-02-15 | 南京沁恒微电子股份有限公司 | 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 |
-
2021
- 2021-11-09 CN CN202111316629.3A patent/CN113760806B/zh active Active
-
2022
- 2022-01-20 WO PCT/CN2022/072882 patent/WO2023082469A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487890A (zh) * | 2015-11-25 | 2016-04-13 | 天津航空机电有限公司 | 一种基于c51系列单片机内核的固件下载方法 |
CN109558359A (zh) * | 2018-11-29 | 2019-04-02 | 上海移芯通信科技有限公司 | 嵌入式芯片的串口加载装置及方法 |
CN109800012A (zh) * | 2019-03-01 | 2019-05-24 | 四川长虹电器股份有限公司 | 一种mcu固件升级方法 |
CN111758088A (zh) * | 2020-02-07 | 2020-10-09 | 深圳市汇顶科技股份有限公司 | 芯片下载固件的方法和芯片 |
CN111273938A (zh) * | 2020-04-10 | 2020-06-12 | 威海市天罡仪表股份有限公司 | 一种基于单片机isp实现iap程序升级的电路及方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023082469A1 (zh) * | 2021-11-09 | 2023-05-19 | 南京沁恒微电子股份有限公司 | 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2023082469A1 (zh) | 2023-05-19 |
CN113760806B (zh) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2506114B1 (en) | Method and device for intelligent terminal reset | |
US8407495B2 (en) | Information processor and power supply method for an information processor | |
US8745417B2 (en) | Computer system and notebook computer, and method for controlling computer system | |
CN108304282B (zh) | 一种双bios的控制方法及相关装置 | |
US9696779B2 (en) | Integrated circuit, electronic device and operation method thereof | |
US11704072B2 (en) | Electronic device and method of utilizing storage space thereof | |
CN113760806B (zh) | 多模式虚拟串口芯片、实现方法、固件下载系统及其方法 | |
CN112181502B (zh) | 一体机设备的ops电脑控制方法、装置及存储介质 | |
KR950001418B1 (ko) | 세트업 기능 및 폽업 기능을 구비한 휴대용 컴퓨터의 폽업 제어 시스템 | |
EP2750034B1 (en) | Electronic device having updatable bios and bios updating method thereof | |
KR102256136B1 (ko) | 오프셋모드를 활용하여 코어전원을 제어하는 에너지 절감형 컴퓨터 시스템 및 그 제어 방법 | |
CN108628792B (zh) | 通信接口防电流泄漏系统及方法 | |
EP2079003A1 (en) | Computer system and power-saving method thereof | |
JPH10341199A (ja) | 無線携帯端末 | |
KR20060071985A (ko) | 파워다운 모드에서 레귤레이터에 의한 전력 소모를방지하는 전자장치 및 전력 소모 방지 방법 | |
CN108241361B (zh) | 一种车辆电源控制方法、控制器及车辆 | |
CN110908673B (zh) | 数字电源芯片烧录方法 | |
CN113672538B (zh) | Usb转串口芯片及其mcu固件自动下载系统与方法 | |
CN111610995A (zh) | 一种设备固件升级方法、装置、电子设备和存储介质 | |
KR102543053B1 (ko) | 인공지능 기반 자동화 kvm 스위칭 장치 및 이를 이용한 kvm 스위칭 방법 | |
US11741023B1 (en) | Pointing device and method capable of correcting its USB state by monitoring voltage/state of USB communication interface | |
CN213210986U (zh) | 一种多功能鼠标 | |
KR102264485B1 (ko) | 게이트 회로를 이용한 컴퓨터 시스템의 소비전력 절감 장치 및 방법 | |
US10007315B2 (en) | Electronic device and method of preventing electronic device from entering hibernation | |
CN111427719A (zh) | 一种提升soc系统可靠性和异常重启性能的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |