一种芯片引脚复用电路的制作方法

文档序号:23645576发布日期:2021-01-15 11:54阅读:111来源:国知局
一种芯片引脚复用电路的制作方法

本发明涉及芯片设计领域,尤其涉及一种芯片引脚复用电路。



背景技术:

在芯片设计过程中,芯片的引脚是一种稀缺资源,因此需要将多个功能复用到同一个引脚上。通常情况下,某一个引脚在同一时刻只能复用一个功能,例如gpio(通用型之输入输出)、adc(模数转换器)、cmp(单芯片多处理器)等,但在一些特殊场景下,需要在同一个引脚上复用2个或以上的功能,例如在线调试功能。当前引脚复用的方法有如下几种:1.某几个引脚固定用作在线调试功能,这种方法会浪费引脚资源;2.某几个引脚复用为在线调试和其他功能,系统启动时,默认为在线调试功能,软件可以根据需要,将这些引脚切换成其它功能,这种方法虽然会节省引脚资源,但系统启动时默认为在线调试功能,不能用作其他功能,软件切换功能后,不能再进行调试;3.某几个引脚复用为在线调试和其他功能,系统启动时,根据引脚的电平状态,确定是否复用为在线调试功能,这种方法虽然也节省引脚资源,但系统启动时对这些引脚的电平有要求,影响正常的功能使用,并且系统启动后不能切换调试功能。



技术实现要素:

本发明提供一种芯片引脚复用电路,解决的技术问题是,现有引脚复用方式存在浪费引脚资源,影响正常功能的使用的问题。为解决以上技术问题,本发明提供一种芯片引脚复用电路,包括一个复用引脚,所述复用引脚一端连接通用功能控制单元,一端连接特殊功能控制单元,所述通用功能控制单元与所述特殊功能控制单元相连接;

所述复用引脚用于与外部设备连接,接收通用功能信号与特殊功能信号;

所述通用功能控制单元用于检测所述通用功能信号输入以及控制是否输出所述通用功能信号;

所述特殊功能控制单元用于检测所述特殊功能信号输入以及控制是否输出所述特殊功能信号。

进一步地,所述通用功能控制单元包括:与所述复用引脚相连接的输入单元,第一输出单元,与所述第一输出单元连接的第一输出控制开关,所述第一输出控制开关还与所述复用引脚连接;

所述输入单元用于在任何时候检测所述复用引脚上的电平值,并存储所述电平值;

所述第一输出单元用于存储第一输出电平并向所述第一输出控制开关和所述特殊功能控制单元输出所述第一输出电平;

所述第一输出控制开关用于根据所述第一输出电平判断所述通用功能信号是否允许输出。

进一步地,所述特殊功能控制单元包括:与复用引脚和第一输出单元相连接的运算单元,与所述运算单元相连接的输入检测单元,第二输出单元,与所述第二输出单元连接的第二输出控制开关,所述第二输出控制开关还与所述复用引脚连接;

所述运算单元用于计算复用引脚电平与所述第一输出电平的差值,并将所述差值与所述第一输出电平进行比较,用于判断是否有特殊功能信号输入;

所述输入检测单元用于在任何时候检测所述运算单元的电平值,并存储所述电平值;

所述第二输出单元用于存储第二输出电平并向所述第二输出控制开关输出所述第二输出电平;

所述第二输出控制开关用于根据所述第二输出电平判断所述特殊功能信号是否允许输出。

更进一步地,所述输入单元包括一个施密特触发器,和与施密特触发器相连的第一输入数据寄存器;

所述第一输出单元包括第一输出数据寄存器,和与第一输出数据寄存器相连的第一输出驱动电路;

所述施密特触发器用于在任何时候检测所述复用引脚上的电平值,并将所述电平值存储至第一输入数据寄存器中;

所述第一输出数据寄存器用于存储所述第一输出电平;

所述第一输出驱动电路,用于向所述第一输出控制开关输出所述第一输出电平。

更进一步地,所述输入检测单元包括一个施密特触发器,和与所述施密特触发器相连的第二输入数据寄存器;

所述输出单元包括第二输出数据寄存器,和与第二输出数据寄存器相连的第二输出驱动电路;

所述施密特触发器用于在任何时候检测所述运算单元上的电平值,并将所述电平值存储至第二输入数据寄存器中;

所述第二输出数据寄存器用于存储所述第二输出电平;

所述第二输出驱动电路,用于向所述第二输出控制开关输出所述第二输出电平。

更进一步地,当所述差值与第一输出电平之差大于第一数值时,所述输入检测单元判断有特殊功能信号高电平输入;当所述通用功能单元输出电平与所述差值之差小于第二数值时,所述输入检测单元判断有特殊功能信号低电平输入,所述第一数值、第二数值通过芯片寄存器配置,有效范围为1v~3v。

进一步地,通用功能控制单元和特殊功能控制单元还连接其它功能模块,所述其它功能模块包括但不限于gpio通用输入/输出口、adc数模转换器、uart通用异步收发传输器、i2c总线。

本发明提供一种芯片引脚复用电路,通过设置通用功能控制单元、特殊功能控制单元与其它功能模块,在任何时候,复用引脚都可以当作正常功能使用;当需要特殊功能,例如在线调试功能的时候,接上硬件调试器后,可切换为调试功能,运行中的代码不会影响调试信号及功能;调试完成后,移除硬件调试器后,又可以恢复为正常功能。其有益效果为:实现了芯片引脚的复用,既节约了引脚资源,同时也不影响正常功能的使用。

附图说明

图1为本发明实施例提供的一种芯片引脚复用电路结构图;

图2为本发明实施例提供的输入单元电路结构图;

图3为本发明实施例提供的第一输出单元电路结构图;

图4为本发明实施例提供的输入检测单元电路结构图;

图5为本发明实施例提供的第二输出单元电路结构图;

图6为本发明实施例提供的通用功能使用场景图;

图7为本发明实施例提供的特殊功能使用场景图。

具体实施方式

下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。

如图1所示,为本发明实施例提供的一种芯片引脚复用电路结构图,包括一个复用引脚,所述复用引脚一端连接通用功能控制单元,一端连接特殊功能控制单元,所述通用功能控制单元与所述特殊功能控制单元相连接,所述通用功能控制单元与所述特殊功能控制单元还连接其他功能模块。

所述通用功能控制单元包括:与复用引脚相连接的输入单元,第一输出单元,与所述第一输出单元连接的第一输出控制开关,所述第一输出控制开关还与所述复用引脚连接。

所述特殊功能控制单元包括:与复用引脚和第一输出单元相连接的运算单元,与所述运算单元相连接的输入检测单元,第二输出单元,与所述第二输出单元连接的第二输出控制开关,所述第二输出控制开关还与所述复用引脚连接。

图2为通用功能控制单元中输入单元的电路结构图,所述输入单元包括一个施密特触发器,和与施密特触发器相连的第一输入数据寄存器。如图3所示,所述第一输出单元包括第一输出数据寄存器,和与第一输出数据寄存器相连的第一输出驱动电路。

图4为特殊功能控制单元的输入检测单元电路结构图,所述输入检测单元包括一个施密特触发器,和与施密特触发器相连的第二输入数据寄存器。如图5所示,所述输出单元包括第二输出数据寄存器,和与第二输出数据寄存器相连的第二输出驱动电路。

通用功能控制单元通过施密特触发器(其触发电平可以通过芯片寄存器配置),可以在任何时候检测引脚上的电平值,并存入芯片的第一输入数据寄存器中;通过第一输出驱动电路,可以根据第一输出寄存器中存储的第一输出电平,向引脚上输出第一输出电平,第一输出控制开关可以根据第一输出电平的数值(该数值可根据需求而定)控制是否允许输出通用功能信号,当复用引脚用作通用功能输出的时候,第一输出控制开关可以将输出功能开启,当复用引脚用于通用功能输入、特殊功能输入或特殊功能输出时,可以将输出功能关闭。

特殊功能控制单元包括类似的结构,通过施密特触发器(其触发电平可以通过芯片寄存器配置),可以在任何时候检测复用引脚上的电平值,并存入第二输入数据寄存器中。与通用功能控制单元不同的是,特殊功能控制单元包括一个额外的运算单元,该单元可以计算引脚电平和通用功能单元输出电平(记作vgo)的差值(记作vsi),以便在通用功能单元输出使能的情况下,也可以正确接收引脚上用于特殊功能的输入信号(如调试器发送的调试信号)。

当vsi大于vgo一定数值(该数值可以通过芯片寄存器配置,有效范围为1v~3v)时,认为外有特殊功能信号的高电平输入;

当vsi小于vgo一定数值时(该数值可以通过芯片寄存器配置,有效范围为1v~3v),认为外有特殊功能信号的低电平输入。

通过第二输出驱动电路,可以根据第二输出寄存器中存储的第二输出电平,向引脚上输出第二输出电平,第二输出控制开关可以根据第二输出电平的数值(该数值可根据需求而定)控制是否允许输出特殊功能信号,当复用引脚用作特殊功能输出的时候,第二输出控制开关可以将输出功能开启,当复用引脚用于特殊功能输入、通用功能输入或通用功能输出时,可以将输出功能关闭。当输出使能时,也可以通过控制通用功能控制单元的输出控制信号,禁止通用功能控制单元的输出功能,以便可以向外界输出正确的信号。

通用功能控制单元以及特殊功能控制单元输出使能场景如表一所示:

表一

通用功能控制单元和特殊功能控制单元均可以和其它功能模块配合,完成更为复杂的功能,例如加入调试器,用于debugger调试。

本发明实施例提供的一种芯片引脚复用电路的工作原理为:

所述通用功能控制单元检测所述复用引脚的电平值判断是否有所述通用功能信号输入,所述特殊功能控制单元检测所述复用引脚电平值判断是否有所述特殊功能信号输入;

若所述特殊功能控制单元判断有特殊功能信号高电平输入,则所述第二输出控制开关接收所述第二输出电平并控制所述特殊功能信号输出,同时第一输出控制开关控制所述通用功能信号禁止输出;

若所述通用功能控制单元判断有通用功能信号输入,而特殊控制单元判断特殊功能信号低电平输入,则第一输出控制开关控制所述通用功能信号输出,同时所述运算单元计算复用引脚电平与第一输出电平的差值,并将所述差值与第一输出电平进行比较,判断是否有特殊功能信号高电平输入,若有特殊功能信号高电平输入,则所述第二输出控制开关接收所述第二输出电平并控制所述特殊功能信号输出,同时第一输出控制开关控制所述通用功能信号禁止输出,若有特殊功能信号低电平输入,则通用功能控制单元保持所述通用功能信号输出;

当所述特殊功能信号输出完毕后,第二输出控制开关禁止所述特殊功能信号输出,同时第一输出控制开关允许所述通用功能信号输出。当所述差值与所述通用功能单元输出电平数值之差大于第一数值时,所述输入检测单元判断有特殊功能信号高电平输入;当所述通用功能单元输出电平与所述差值之差小于第二数值时,所述输入检测单元判断有特殊功能信号低电平输入,所述第一数值、第二数值通过芯片寄存器配置,有效范围为1v~3v。

通过本发明,可以在通用功能控制单元正常工作的任何时候,由外部设备(如硬件调试器)通过向特殊功能控制单元发送特定的信息(例如自定义的一段高、低、高、低脉冲,可以当做一种通信协议,由特殊功能模块定义),以激活特殊功能控制单元。当特殊功能控制单元识别到特殊功能模块定义的协议信息,可以禁止掉通用功能控制单元的输出,以便自己可以正确输出外界可以识别的信号。

实施例一

以mcu在线调试功能为例,该发明可以让芯片在任何时候都可以进入调试状态,并在调试结束后自动释放对引脚的占用。

a)当通用功能控制单元为输入模式时:

i.特殊功能控制单元也处于输入模式,在该模式下,该单元实时接收并解析复用引脚上的输入信号,以确定是否有在线调试有关的信号和协议输入,此时特殊功能控制单元直接检测是否有在线调试有关的信号和协议输入,运算单元无需计算差值;

ii.如果解析到协议输入,特殊功能控制单元将复用引脚(不限于该引脚)切换成输出模式,以便和调试器进行协议沟通;

iii.输出结束后,把特殊功能控制单元输出模式禁用,以便不影响通用功能。

b)当通用功能控制单元为输出模式时:

i.特殊功能控制单元处于输入模式,在该模式下,该单元实时接收并解析复用引脚上的输入信号,并和通用功能控制单元的输出电平比较,以确定是否有在线调试有关的信号和协议输入;

ii.如果解析到协议输入,特殊功能控制单元将复用引脚(不限于该引脚)切换成输出模式,必要时可以禁用通用功能控制单元的输出功能,以便和调试器进行协议沟通;

iii.输出结束后,把特殊功能控制单元输出模式禁用,然后把通用功能的输出功能解禁,以便不影响通用功能。

以上场景可用于如图6和图7所示的技术方案中,当正常功能时,两个引脚可用作通用的gpio输出,控制led灯;需要在线调试时,接入硬件调试器,在引脚上输入一段协议(由芯片定义好),即可将通用的gpio输出功能关闭,转而支持debugger功能。

本发明提供一种芯片引脚复用电路,通过设置通用功能控制单元、特殊功能控制单元与其它功能模块,在任何时候,复用引脚都可以当作正常功能使用;当需要特殊功能,例如在线调试功能的时候,接上硬件调试器后,可切换为调试功能,运行中的代码不会影响调试信号及功能;调试完成后,移除硬件调试器后,又可以恢复为正常功能。其有益效果为:实现了芯片引脚的复用,既节约了引脚资源,同时也不影响正常功能的使用。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1