一种含多协议通讯接口外设的微控制器芯片及其运行方法

文档序号:1963664 发布日期:2021-12-14 浏览:15次 >En<

阅读说明:本技术 一种含多协议通讯接口外设的微控制器芯片及其运行方法 (Microcontroller chip containing multi-protocol communication interface peripheral and operation method thereof ) 是由 王春华 于 2021-11-12 设计创作,主要内容包括:本发明公开了一种含多协议通讯接口外设的微控制器芯片及其运行方法,包括多协议通讯接口外设,所述多协议通讯接口外设连接到系统总线上,所述多协议通讯接口外设与I/O端口连接,所述多协议通讯接口外设包括专用RISC指令集微内核、代码存储器及存储在代码存储器上并可被RISC指令集微内核执行的代码程序,所述代码程序至少包括置1和清0两种位操作指令,所述指令为单周期指令,当RISC指令集微内核执行该代码程序时可实现I/O端口输出1或0。本发明使微控制器芯片的接口外设更加灵活,提高了微控制器芯片的通用性,其通讯协议可改版或升级,减少了部分冗余或备用通讯接口,节约了成本。(The invention discloses a micro-controller chip containing multi-protocol communication interface peripheral equipment and an operation method thereof, wherein the micro-controller chip comprises the multi-protocol communication interface peripheral equipment, the multi-protocol communication interface peripheral equipment is connected to a system bus, the multi-protocol communication interface peripheral equipment is connected with an I/O port, the multi-protocol communication interface peripheral equipment comprises a special RISC instruction set micro-kernel, a code memory and a code program which is stored on the code memory and can be executed by the RISC instruction set micro-kernel, the code program at least comprises two bit operation instructions of setting 1 and clearing 0, the instruction is a single-cycle instruction, and when the RISC instruction set micro-kernel executes the code program, the I/O port can output 1 or 0. The invention makes the interface of the microcontroller chip be more flexible, improves the universality of the microcontroller chip, can modify or upgrade the communication protocol, reduces partial redundancy or spare communication interfaces and saves the cost.)

一种含多协议通讯接口外设的微控制器芯片及其运行方法

技术领域

本发明属于微控制器芯片设计领域,尤其涉及一种含灵活多协议通讯接口外设的的微控制器芯片及其运行方法。

背景技术

32位高性能微控制器(俗称MCU)应用广泛,为了支持各类用户的多种应用环境,实现微控制器的通用化,如图1所示,一般微控制器芯片会支持对外通讯的多种接口,包括串口(UART)、4线SPI、两线I2C、两线USB等,并且有些接口还需要针对多元化应用提供多组冗余,导致MCU外设多、冗余。32位MCU例如CH32F103提供了3组串口、2组I2C、2组SPI,但在大多数实际应用中,通常只会用到其中部分通讯接口。

大部分通讯接口是业界有共识的、协议明确的,但仍有部分通讯协议是各厂家自定义的非共识通讯协议,例如1线通讯接口就缺乏足够的业界共识,多个芯片厂商各自定义了自家的1线通讯协议,另外,两线通讯接口也存在多个名称类似但实际通讯协议不同的情况。

作为通用微控制器芯片厂家,如果考虑一芯通用,就需要在系统总线上挂载上述多种协议的通讯接口的控制器,这些控制器由纯硬件数字逻辑实现,支持多种灵活参数,但对于协议不够明确的非共识通讯接口,就远不是参数的问题,而是同名但协议不同的问题。所以微控制器芯片一般不提供这类非共识协议的通讯接口,而是留给用户自行用软件控制I/O模拟实现。但软件实现存在缺点,这类非共识通讯协议一般比较低速,多数在几十到几百Kbit,传几个字节数据就可能需要数微秒到数百微秒,而高性能微控制器芯片的主处理器内核至少运行在几十或几百MHz,用于低速通讯非常占用CPU时间,也浪费了大量功耗,并且协议交互过程会被系统其它外设中断频繁打断。而如果采用中断方式实现,则会对微控制器芯片造成每隔数微秒就一次中断的频繁干扰,降低系统效率。

发明内容

发明目的:为了解决现有高性能微控制器不便于支持非共识通讯协议的问题、以及现有通讯接口外设无法支持灵活协议、需要提供多组冗余固定协议通讯接口造成浪费的问题,本发明提供一种含多协议通讯接口外设的微控制器芯片及其运行方法。

技术方案:一种含多协议通讯接口外设的微控制器芯片,包括主处理器内核、系统总线、若干外设、I/O端口,所述外设包括多协议通讯接口外设,所述多协议通讯接口外设连接到系统总线上,所述多协议通讯接口外设与I/O端口连接,所述多协议通讯接口外设包括RISC指令集微内核、代码存储器及存储在代码存储器上并可被RISC指令集微内核执行的代码程序,所述代码程序至少包括置1和清0两种位操作指令,所述指令为单周期指令,当RISC指令集微内核执行该代码程序时可实现I/O端口输出1或0。

进一步地,所述主处理器内核的数据位宽为32位或64位,所述RISC指令集微内核的数据位宽为4位或8位。

进一步地,还包括选择器,所述多协议通讯接口外设、主处理器内核通过选择器连接I/O端口。

进一步地,所述代码存储器为SRAM,且所述代码存储器连接到系统总线上,所述代码存储器还可用于存储主处理器内核的数据。该SRAM便于动态加载不同协议的I/O端口控制程序的目标代码。该SRAM还可以在不需要多协议通讯接口外设时,作为主处理器的数据存储器使用。

进一步地,所述代码存储器为一次性可编程存储器OTP,所述代码存储器中的代码程序在出厂前由微控制器芯片厂商预置。

进一步地,所述主处理器内核包含多个外设数据交换寄存器,所述外设数据交换寄存器设置在多协议通讯接口外设一侧,所述外设数据交换寄存器对应于N个RISC指令集微内核的数据位宽的数据寄存器,N为主处理器内核的数据位宽除以RISC指令集微内核的数据位宽的值。

进一步地,所述主处理器内核还包括中断控制器,所述多协议通讯接口外设通过中断请求信号线与所述中断控制器连接。

进一步地,还包括DMA控制器、仲裁器中至少一种,所述多协议通讯接口外设通过若干信号线与DMA控制器、仲裁器中至少一种连接。

进一步地,多协议通讯接口外设所连接的I/O端口数量不超过4个。

一种上述含多协议通讯接口外设的微控制器芯片的运行方法,其特征在于,包括以下步骤:

向微控制器芯片的Flash存储器中烧录主程序目标代码,所述主程序目标代码包括I/O端口控制程序的目标代码,I/O端口控制程序的目标代码基于RISC指令集微内核开发而成;

芯片上电或复位,RISC指令集微内核默认处于禁用状态,主处理器内核将I/O端口控制程序的目标代码从芯片的Flash存储器加载到多协议通讯接口外设中的代码存储器中;

使能RISC指令集微内核运行。

本发明提供一种含多协议通讯接口外设的微控制器芯片及其运行方法,相比较现有技术,具有以下有益效果:

(1)灵活性和通用性。同样作为微控制器芯片内部的通讯接口外设,传统方案是针对单一通讯协议的,而依据本发明设计的多协议通讯接口外设,通过加载不同通讯协议的I/O端口控制程序的目标代码,就可以从容面对多元化的非共识通讯协议,进一步提高了微控制器芯片的通用性。

(2)可升级。一般微控制器芯片设计时已内置常用通讯接口控制器,制造完成后即无法新增,也无法适用通讯协议的较大改版和升级。而依据本发明设计的微控制器芯片制造完成后,仍然可以通过更新通讯协议的I/O端口控制程序去跟随第三方通讯协议的版本升级,提高了微控制器芯片的兼容性,以及适应技术和市场变化的能力。

(3)低成本。多协议通讯接口外设中的RISC指令集微内核为专用RISC指令集微内核,专用于处理I/O接口协议,可以对此核进行性能和成本优化,减小位宽以降低成本,增加或优化单周期的位操作指令以提高I/O操作效率,减少不必要的地址空间和算法类指令以控制此内核的规模和成本,只需要2000到3500门的规模即可实现多协议的通讯接口外设。作为对比,常规的I2C协议两线接口专用外设控制器也需要2000多门的规模;作为主处理器内核的基本款32位M3内核约70000门规模,64位内核则成倍增加。可见,该专用RISC指令集微内核规模与专用协议的普通外设为同一档次,远远小于主处理器内核的规模,与追求运算性能而采用双核甚至多核的微控制器方案的目标和思路完全不同。另外,通用性使得系统方案可以减少一部分冗余或备用的通讯接口,进一步节约成本。

之所以能以低成本实现高灵活性,得益于方案的针对性和微内核设计目标的理解,针对I/O接口协议,尤其是几MHz以下的中低速的串行接口协议,其数据量小,速度慢,适合专用RISC指令集微内核用若干指令模拟接口通讯协议,以更多时间换取更小硬件规模和更高灵活性。相比之下,纯硬件数字逻辑专用控制器更适合协议确定的高速接口。

附图说明

图1为现有技术32位高性能微控制器架构图,外设冗余,通常无1线接口;

图2为实施例一含多协议通讯接口外设的微控制器架构图;

图3为实施例二含多协议通讯接口外设的微控制器架构图;

图4为实施例三含多协议通讯接口外设的微控制器架构图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步解释说明。

实施例一:

一种含多协议通讯接口外设的微控制器芯片,包括主处理器内核、系统总线、若干外设及I/O端口,所述外设包括多协议通讯接口外设,所述多协议通讯接口外设作为若干外设模块之一挂在于微控制器芯片的系统总线上,通过时钟信号线、复位信号线、地址信号线、数据信号线连接,地址信号线、数据信号线包含在系统总线中。所述多协议通讯接口外设与I/O端口连接,所述多协议通讯接口外设包括RISC指令集微内核、代码存储器及存储在代码存储器上并可被RISC指令集微内核执行的代码程序,所述代码程序至少包括置1和清0两种位操作指令,所述指令为单周期指令,当RISC指令集微内核执行该代码程序时可高效实现I/O端口输出1或0。进一步地,还可以包括左移、右移等移位操作指令,位复制、位插入、位测试、循环等指令等,以便更高效地支持I/O状态读取、输出设置操作及模仿接口协议。

本实施例中的主处理器内核的数据位宽为32位,也可以是超过32位,如64位;RISC指令集微内核的数据位宽为8位,也可以是不超过8位,如4位。

该RISC指令集微内核为专用RISC指令集微内核,专用于控制I/O端口的输出和输入,经过优化后,位宽小,速度高,位操作指令经过优化以提高I/O操作效率,减少不必要的较大地址空间和算法类指令以控制微内核规模以节约成本。与普通双核CPU中基本同等次并列的双核设计不同,该RISC指令集微内核仅仅作为系统总线的一个外设,表现出与普通硬件逻辑专用控制器类似的特性和权限,专用于处理I/O接口协议,其规模和所需资源远远小于主处理器内核。

本实施例的多协议通讯接口外设含1线外部连接,与一个I/O端口连接,也可以根据需要连接不同数量的I/O端口,一般不超过四个。多协议通讯接口外设可以直接与I/O端口连接,也可以通过选择器连接I/O端口。如图2,本实施例的多协议通讯接口外设、主处理器内核通过选择器连接I/O端口,选择器用于选择多协议通讯接口外设连接I/O还是主处理器内核连接I/O。当不需要此外设时,可以选择主处理器内核连接I/O,直接将该I/O当做普通GPIO使用。

本实施例中的代码存储器中存储有RISC指令集微内核的多条指令,本实施例中代码存储器采用512*32bit结构的SRAM,数据位宽为32位,便于高效连接到系统总线上。而在作为代码存储器提供指令时每32位舍弃4位,组合为1K*14bit的数据接口,可用于存储1024条14位宽的指令。SRAM允许用户自行编写通讯协议程序实现自定义通讯接口,当不使用多协议通讯接口外设时,该SRAM还可作为主处理器的数据存储器存储数据,不浪费资源。对于单口SRAM,系统总线和RISC指令集微内核的指令通道可以通过选择器或者仲裁器后连接SRAM;对于双端口SRAM,则系统总线和RISC指令集微内核的指令通道各自连接SRAM的一个端口。

所述主处理器内核包含多个外设数据交换寄存器,包括输入数据寄存器、输出数据寄存器、控制寄存器、状态寄存器等,所述外设数据交换寄存器设置在多协议通讯接口外设一侧,所述每个外设数据交换寄存器对应于不超过4个RISC指令集微内核的数据位宽的数据寄存器,4为主处理器内核的数据位宽32除以RISC指令集微内核的数据位宽8所得。4个8位宽的数据合并后按32位提交给系统总线,方便主处理器以单周期存取,可节约主处理器内核的CPU时间。

所述主处理器内核还包括中断控制器,所述多协议通讯接口外设通过中断请求信号线与所述中断控制器连接。

一种上述含多协议通讯接口外设的微控制器芯片的运行方法,包括以下步骤:

向微控制器芯片的Flash存储器中烧录主程序目标代码,所述主程序目标代码包括I/O端口控制程序的目标代码。I/O端口控制程序的目标代码基于RISC指令集微内核预先开发而成,可以预先发开若干种通讯协议的I/O端口控制程序,根据实际需要选择对应通讯协议的I/O端口控制程序,整合到微控制器芯片的主程序目标代码中;

芯片上电或复位,RISC指令集微内核默认处于禁用状态,主处理器内核先运行,主处理器内核将I/O端口控制程序的目标代码从芯片的Flash存储器加载到多协议通讯接口外设中的代码存储器中;

使能RISC指令集微内核运行。

其中,目标代码的加载以及RISC指令集微内核运行,也可以只在需要使用时执行。

另外,也可以在芯片上电或复位后,由硬件自动将I/O端口控制程序的目标代码从芯片的Flash存储器加载到多协议通讯接口外设中的代码存储器中并使能RISC指令集微内核运行。

此外,根据需要,在RISC指令集微内核运行期间,还可以随时更换I/O端口控制程序的目标代码,先将RISC指令集微内核禁用,主处理器内核将新的I/O端口控制程序的目标代码从芯片的Flash存储器加载到多协议通讯接口外设中的代码存储器中,重新运行RISC指令集微内核即可实现通讯协议的更新。

实施例二:

实施例二与实施例一相比,区别在于,实施例二的主处理器内核的数据位宽为32位,主频200MHz;RISC指令集微内核的数据位宽为8位,主频200MHz;其中代码存储器采用1K*32bit结构的双端口SRAM,在提供代码时由最低位地址信号选择32位数据的低16位或16位输出,构成2K*16bit的4KB指令存储空间;含2个外部IO连接及其模式控制,通过多个控制信号线和模式信号线及输入输出信号线与2个I/O端口连接,可实现串口、两线及一线协议通讯。

微控制器芯片还包括DMA控制器和/或仲裁器,所述多协议通讯接口外设通过若干信号线与DMA控制器和/或仲裁器连接,便于直接与系统主存储器交换数据,进一步减少对主处理器内核的CPU时间的占用。

实施例三:

实施例三与实施例一相比,区别仅在于,实施例三的主处理器内核为32位数据宽度,主频100MHz;RISC指令集微内核的数据位宽为4位,主频10MHz。RISC微内核侧的每8个数据寄存器组合成一个主处理器可高效存取的32位寄存器,包含多个这样的32位寄存器用于交换数据、控制位和状态;含1线外部IO连接及其模式控制,通过多个信号与1个I/O端口连接。代码存储器采用比Flash成本低的一次性可编程存储器OTP,具有1K*10bit的指令存储空间;该OTP中的代码可以在出厂前由微控制器芯片厂商预置,完全独立于微控制器的主程序,便于对用户保密,提高安全性。芯片出厂前预置接口协议的目标程序相比重新设计纯硬件控制器,节约了芯片后端布线、数据处理、制板、流片、封装等多个环节的时间,有利于快速升级协议、及时响应市场需求。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种具有自动切换信号源的分配板卡

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!