CN111562946B - 一种数据处理方法及芯片 - Google Patents
一种数据处理方法及芯片 Download PDFInfo
- Publication number
- CN111562946B CN111562946B CN202010372265.XA CN202010372265A CN111562946B CN 111562946 B CN111562946 B CN 111562946B CN 202010372265 A CN202010372265 A CN 202010372265A CN 111562946 B CN111562946 B CN 111562946B
- Authority
- CN
- China
- Prior art keywords
- register
- chip
- type
- chip pin
- registers
- 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.)
- Active
Links
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
本发明公开了一种数据处理方法及芯片,在将芯片引脚与寄存器的设置关系设置为一对多,也即一个芯片引脚对应多个寄存器,根据预设的芯片引脚与寄存器的对应关系,可以准确、快速地查找到第一芯片引脚对应的第一寄存器;并且,根据第一数据信号,仅对确定出的第一寄存器进行写入处理即可,而无需进行回读处理,也即仅使用了一条命令即可完成第一寄存器的配置,有效优化了寄存器的配置过程,可以实现芯片引脚对应的寄存器的快速配置,大大提高了引脚的翻转效率,从而提高了芯片的性能。
Description
技术领域
本发明涉及通信技术领域,尤指一种数据处理方法及芯片。
背景技术
在MCU(Microcontroller Unit,微控制单元)芯片领域,芯片速率与芯片稳 定性有着同样重要的意义,在白电产品的MCU芯片实际应用中,软件应用层 经常使用GPIO(General-purpose input/output,通用型输入输出)引脚,模拟 I2C等外设接口的协议。
目前,在MCU芯片中,每个GPIO引脚对应设置有一个芯片引脚(也可 称之为PAD),且每个GPIO引脚对应设置有一个寄存器。随着MCU芯片中引 脚数量的增加,对应的PAD数量也随之增加,一个MCU芯片中可能会存在几 十个PAD,为了能够节省寄存器地址资源,通常将多个寄存器放在一位宽为 32bit的寄存器中。
在通过GPIO引脚配置来控制PAD的电位翻转时,需要首先寻址找到PAD 对应的寄存器,再配置寄存器的数值,以控制对应PAD的电位。那么,在MCU 芯片中处理器发出的单条指令固定速率的前提下,如何保证快速准确地找到 PAD对应的寄存器,且使用尽量少的命令来完成寄存器的配置,提高GPIO的 翻转效率,是本领域技术人员亟待解决的技术问题。
发明内容
本发明实施例提供了一种数据处理方法及芯片,用以快速准确地找到PAD 对应的寄存器,且使用尽量少的命令来完成寄存器的配置,提高GPIO的翻转 效率。
第一方面,本发明实施例提供了一种芯片,包括:数据处理模块、寄存器 控制模块、芯片引脚控制模块以及芯片引脚模块,所述寄存器控制模块设置于 所述数据处理模块与所述芯片引脚控制模块之间,所述芯片引脚控制模块与所 述芯片引脚模块电连接;
所述寄存器控制模块包括多个寄存器,所述芯片引脚模块包括多个芯片引 脚,每个所述芯片引脚对应多个所述寄存器;
所述数据处理模块用于:
在确定出通过所述芯片引脚模块向外输出第一数据信号时,从各所述芯片 引脚中确定待使用的第一芯片引脚;
所述寄存器控制模块用于:
根据预设的所述芯片引脚与所述寄存器的对应关系,确定所述第一芯片引 脚对应的第一寄存器,并根据所述第一数据信号,对确定出的所述第一寄存器 进行写入处理;
所述芯片引脚控制模块用于:
根据写入处理后的所述第一寄存器,调整所述第一芯片引脚的电位,以使 所述芯片引脚模块向外输出所述第一数据信号。
可选地,在本发明实施例中,所述寄存器控制模块包括:多个第一类寄存 器和多个第二类寄存器,所述第一类寄存器用于完成置位指令,所述第二类寄 存器用于完成清除指令;其中,所述第一数据信号包括第一数字和第二数字, 所述第一数字用于表示所述置位指令,所述第二数字用于表示所述清除指令;
每个所述芯片引脚对应一个所述第一类寄存器和一个所述第二类寄存器。
可选地,在本发明实施例中,所述对应关系为所述芯片引脚、所述第一类 寄存器、以及所述第二类寄存器之间的对应关系;
所述寄存器控制模块具体用于:
根据所述芯片引脚、所述第一类寄存器、以及所述第二类寄存器之间的对 应关系,确定所述第一芯片引脚对应的第一第一类寄存器、以及所述第一芯片 引脚对应的第一第二类寄存器;
在根据所述第一数据信号,确定出需要执行所述置位指令时,对确定出的 所述第一第一类寄存器进行写入处理;或,在根据所述第一数据信号,确定出 需要执行所述清除指令时,对确定出的所述第一第二类寄存器进行写入处理。
可选地,在本发明实施例中,所述对应关系为所述芯片引脚、所述第一类 寄存器、以及所述第二类寄存器之间的对应关系;
所述寄存器控制模块具体用于:
根据所述芯片引脚、所述第一类寄存器、以及所述第二类寄存器之间的对 应关系,确定所述第一芯片引脚对应的第一第一类寄存器、以及所述第一芯片 引脚对应的第一第二类寄存器;
在根据所述第一数据信号,确定出需要执行所述置位指令和所述清除指令 时,按照预设的所述置位指令和所述清除指令的优先级高低顺序,依次对所述 第一第一类寄存器和所述第一第二类寄存器进行写入处理。
可选地,在本发明实施例中,所述置位指令的优先级高于所述清除指令的 优先级。
可选地,在本发明实施例中,所述寄存器控制模块还包括多个第三类寄存 器,每个所述芯片引脚对应一个所述第一类寄存器、一个所述第二类寄存器和 一个所述第三类寄存器;
其中,所述第三类寄存器,用于表示对应所述芯片引脚对应的所述第一类 寄存器和/或所述第二类寄存器上一次的配置状态。
可选地,在本发明实施例中,所述对应关系中包括:所述芯片引脚、第一 寄存器组和第二寄存器组,所述第一寄存器组包括M个所述第一类寄存器, 所述第二寄存器组包括M个所述第二类寄存器;M为正整数;
其中,所述第一寄存器组和所述第二寄存器组的位宽均为M比特,所述 第一寄存器组中的每个所述比特对应一个所述第一类寄存器,所述第二寄存器 组中的每个所述比特对应一个所述第二类寄存器;
M个所述芯片引脚为一芯片引脚组,且每个所述芯片引脚组对应一个所述 第一寄存器组和一个所述第二寄存器组。
可选地,在本发明实施例中,所述芯片引脚设置有N个,所述芯片引脚组 设置有P个,其中P、M和N之间的关系为:且N和P均为 正整数。
第二方面,本发明实施例提供了一种数据处理方法,采用如本发明实施例 提供的上述芯片实现;该方法包括:
数据处理模块在确定出通过芯片引脚模块向外输出第一数据信号时,从各 芯片引脚中确定待使用的第一芯片引脚;
寄存器控制模块根据预设的所述芯片引脚与寄存器的对应关系,确定所述 第一芯片引脚对应的第一寄存器;
所述寄存器控制模块根据所述第一数据信号,对确定出的所述第一寄存器 进行写入处理;
芯片引脚控制模块根据写入处理后的所述第一寄存器,调整所述第一芯片 引脚的电位,以使所述芯片引脚模块向外输出所述第一数据信号。
第三方面,本发明实施例提供了一种可读性存储介质,所述可读性存储介 质存储有芯片可执行指令,所述芯片可执行指令用于使芯片执行上述数据处理 方法。
本发明有益效果如下:
本发明实施例提供的一种数据处理方法及芯片,在将芯片引脚与寄存器的 设置关系设置为一对多,也即一个芯片引脚对应多个寄存器时,根据预设的芯 片引脚与寄存器的对应关系,可以准确、快速地查找到第一芯片引脚对应的第 一寄存器;并且,根据第一数据信号,仅对确定出的第一寄存器进行写入处理 即可,而无需进行其他处理(例如但不限于回读处理),也即仅使用了一条命 令即可完成第一寄存器的配置,有效优化了寄存器的配置过程,可以实现芯片引脚对应的寄存器的快速配置,大大提高了引脚的翻转效率,从而提高了芯片 的性能。
附图说明
图1为本发明实施例中提供的芯片的结构示意图;
图2为本发明实施例中提供的芯片引脚的结构示意图;
图3为本发明实施例中提供的数据处理方法的流程图。
具体实施方式
下面将结合附图,对本发明实施例提供的一种数据处理方法及芯片的具体 实施方式进行详细地说明。需要说明的是,所描述的实施例仅仅是本发明一部 分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人 员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护 的范围。
在介绍本发明实施例之前,首先介绍一下GPIO。
GPIO是General-purpose input/output(通用型输入输出)的缩写,以下均 简称为GPIO。
GPIO为芯片中的引脚,用于连接芯片与外部设备,并实现芯片与外部设 备之间的通信。GPIO引脚可以通过配置寄存器的方式进行控制,以便于控制 对应芯片引脚(即PAD)的电位。
说明一点,以后面介绍的图1所示为例,GPIO引脚一般可以设置在寄存 器控制模块20内,芯片引脚(即PAD)一般可以设置在芯片引脚模块40内, 且GPIO引脚与芯片引脚(即PAD)一一对应设置。
GPIO引脚即可以做输入,又可以做输出,也即通过GPIO引脚,即可以 实现数据信号的输入,也可以实现数据信号的输出。
目前,一个GPIO引脚对应一个寄存器,且寄存器的数值配置方式,如表 1所示。
表1
参见表1所示可知:
在GPIO引脚输入数据信号时,寄存器可以用GPIO_INn表示,位宽为1bit, 可以通过采集GPIO引脚对应的PAD的高低电平(也即电位),确定GPIO_INn 的数值。
在GPIO引脚输出数据信号时,寄存器可以用GPIO_OUTn来表示,位宽 为1bit,可以通过对各寄存器的数值的回读处理,以及对GPIO_OUTn的数值 的写入处理,控制对应PAD的电平。
例如,若GPIO_OUTn的数值配置为1,则表示进行置位操作,所以控制 对应的PAD的电平拉高;若GPIO_OUTn的数值配置为0,则表示进行清除操 作,所以控制对应的PAD的电平拉低;同时,需要保证其他寄存器的数值不 变,以免影响其他寄存器对应的PAD的电位,从而避免对输出的数据信号的 影响。
然而,在实际情况中,为节省硬件寄存器的地址资源,通常将多个PAD 对应的寄存器设置在一位宽为32bit的寄存器(为了便于将每个PAD对应的那 个寄存器与位宽为32bit的寄存器区别开,可以将位宽为32bit的寄存器称之为 寄存器组)中,每一个bit对应一个PAD对应的寄存器。
此时,可能会存在以下问题:
当需要控制部分PAD的电平翻转而保持其余PAD状态时,即仅需要修改 位宽为32bit的寄存器内的部分bit的数值且保持其他bit不变,所以可以先对 32bit的寄存器进行回读,再将需要修改的bit的数值写进去,且其余bit保持 回读的数值。
因此,若要完成过程,需要执行两条指令:寄存器的回读和寄存器的写入, 如此可能会导致GPIO的翻转速率较慢。
在白电产品的MCU芯片的应用中,经常会使用GPIO模拟I2C等其他外 设接口,且通常要求使用频率在100KHz到400KHz,所以需要保证GPIO的 速率达到400KHz以上;然而,目前的寄存器配置方式,如表1所示的配置方式,GPIO的翻转速率是无法满足MCU芯片的应用需求的。
基于此,本发明实施例提供了一种芯片,用于快速准确地找到PAD对应 的寄存器,且使用尽量少的命令来完成寄存器的配置,提高GPIO的翻转效率。
具体地,本发明实施例提供的一种芯片,如图1所示,可以包括:数据处 理模块10、寄存器控制模块20、芯片引脚控制模块30以及芯片引脚模块40, 寄存器控制模块20设置于数据处理模块10与芯片引脚控制模块30之间,芯 片引脚控制模块30与芯片引脚模块40电连接;
寄存器控制模块20包括:控制单元22和多个寄存器21(图1中仅示出了 部分寄存器,且每个黑点填充的方块并不表示一个寄存器),芯片引脚模块40 包括多个芯片引脚41(图1中仅是出了部分芯片引脚),每个芯片引脚41对应 多个寄存器21;
数据处理模块10用于:
在确定出通过芯片引脚模块40向外输出第一数据信号时,从各芯片引脚 41中确定待使用的第一芯片引脚(如41a);
控制单元22与数据处理模块10电连接,用于:
根据预设的芯片引脚与寄存器的对应关系,确定第一芯片引脚41a对应的 第一寄存器(如21a),并根据第一数据信号,对确定出的第一寄存器21a进行 写入处理;
芯片引脚控制模块30用于:
根据写入处理后的第一寄存器21a,调整第一芯片引脚41a的电位,以使 芯片引脚模块40向外输出第一数据信号。
如此,在将芯片引脚与寄存器的设置关系设置为一对多,也即一个芯片引 脚对应多个寄存器时,根据预设的芯片引脚与寄存器的对应关系,可以准确、 快速地查找到第一芯片引脚对应的第一寄存器;并且,根据第一数据信号,仅 对确定出的第一寄存器进行写入处理即可,而无需进行其他处理(例如但不限 于回读处理),也即仅使用了一条命令即可完成第一寄存器的配置,有效优化了寄存器的配置过程,可以实现芯片引脚对应的寄存器的快速配置,大大提高 了引脚的翻转效率,从而提高了芯片的性能。
在具体实施时,在本发明实施例中,寄存器控制模块包括:多个第一类寄 存器和多个第二类寄存器,第一类寄存器用于完成置位指令,第二类寄存器用于完成清除指令;其中,第一数据信号包括第一数字和第二数字,第一数字用 于表示置位指令,第二数字用于表示清除指令;
每个芯片引脚对应一个第一类寄存器和一个第二类寄存器。
例如,如表2所示,表中示出了两类寄存器与对应芯片引脚(即PAD)的 关系,其中,第一类寄存器用GPIO_SET表示,第二类寄存器用GPIO_CLR 表示。
表2
参见表2所示可知:
每个PAD对应两个寄存器,分别为用于置位操作的第一类寄存器和用于 清除操作的第二类寄存器,不管是置位操作还是清除操作,只有在寄存器的数 值配置为1时,才说明操作有效,所以可以相应地控制对应PAD的电位,在 寄存器的数值配置为0时,说明操作无效,所以对应PAD的电位可以保持不 变,不发生任何变化。
也就是说,对于第一类寄存器而言,若写入1,则表示执行置位操作,并 拉高对应PAD的电位;若写入0,则表示无效操作,此时对应PAD的电位保 持不变;同理,对于第二类寄存器而言,若写入1,则表示执行清除操作,并 拉低对应PAD的电位;若写入0,则表示无效操作,此时对应PAD的电位保 持不变。
如此,不仅可以减少芯片的运算处理量,提高芯片的处理效率,同时还可 以根据需要进行的操作,准确有效地定位出PAD对应的寄存器,直接进行写 入处理即可,无需再对寄存器进行回读,提高了GPIO的翻转效率,从而提高 了芯片的性能。
可选地,在本发明实施例中,在对应关系为芯片引脚、第一类寄存器、以 及第二类寄存器之间的对应关系时,控制单元具体用于:
根据芯片引脚、第一类寄存器、以及第二类寄存器之间的对应关系,确定 第一芯片引脚对应的第一第一类寄存器、以及第一芯片引脚对应的第一第二类 寄存器;
在根据第一数据信号,确定出需要执行置位指令时,对确定出的第一第一 类寄存器进行写入处理;或,在根据第一数据信号,确定出需要执行清除指令 时,对确定出的第一第二类寄存器进行写入处理。
说明一点,在寄存器控制模块中,不仅包括寄存器,还可以包括引脚(即GPIO),数据处理模块在确定出需要向外输出第一数据信号时,可以确定出需 要哪些或哪个GPIO来完成第一数据信号的输出,因GPIO与PAD一一对应设 置,进而数据处理模块也就可以确定出需要控制哪些或哪个PAD的电位。
并且,在实际情况中,芯片输出的第一数据信号可以为数字信号,且该数 字信号可以由1和0构成,例如但不限于,第一数据信号为10101011;此时, 若将1看作第一数字,0看作第二数字时,第一数据信号则包括第一数字和第二数字,也即第一数据信号可以由第一数字和第二数字构成。
此时,若芯片通过一个第一芯片引脚向外输出第一数据信号时,需要根据 当前待发送的是1还是0,来依次控制第一芯片引脚的电位,也就是说,通过 串行控制第一芯片引脚的电位的方式,向外输出第一数据信号。
因此,对于寄存器控制模块中的控制单元而言,需要根据当前待发送的是 1还是0,依次对第一芯片引脚对应的寄存器进行写入处理。
例如,以第一数据信号为10101011为例,此时:
待发送的第一个信号为1,且1表示置位指令,那么:寄存器控制模块中 的控制单元对第一芯片引脚对应的第一类寄存器进行写入处理,也即将第一芯 片引脚对应的第一类寄存器写入1,同时并不需要对第二类寄存器进行处理, 并且其余的第一类寄存器可以均写入0;
待发送的第二个信号为0,且0表示清除指令,那么:寄存器控制模块中 的控制单元对第一芯片引脚对应的第二类寄存器进行写入处理,也即将第一芯 片引脚对应的第二类寄存器写入1,同时并不需要对第一类寄存器进行处理, 并且其余的第二类寄存器可以均写入0;
待发送的第三个信号为1,且1表示置位指令,那么:寄存器控制模块中 的控制单元继续对第一芯片引脚对应的第一类寄存器进行写入处理,也即将第 一芯片引脚对应的第一类寄存器写入1,同时并不需要对第二类寄存器进行处 理,并且其余的第一类寄存器可以均写入0;
待发送的第四个信号为0,且0表示清除指令,那么:寄存器控制模块中 的控制单元继续对第一芯片引脚对应的第二类寄存器进行写入处理,也即将第 一芯片引脚对应的第二类寄存器写入1,同时并不需要对第一类寄存器进行处 理,并且其余的第二类寄存器可以均写入0;
同理,依次根据待发送的信号,对第一芯片引脚对应的第一类寄存器或第 二类寄存器进行写入处理,直至完成第一数据信号的发送。
也就是说,对于第一类寄存器而言,若写入0,表示无效操作,只有写入 1才表示置位操作,同理第二类寄存器类似,若写入0表示无效操作,只有写 入1时才表示清除操作。
还需要说明的是,在对第一类寄存器或第二类寄存器进行写入处理时,仅 在当前一个处理周期内控制对应芯片引脚的电位,以确保芯片引脚上下拉次数 的正确性,避免在对芯片引脚的电位进行控制时出现混乱。
因此,在发送第一数据信号时,无需对所有寄存器的数值进行回读,也即 无需判断其他寄存器的配置状态,只需要找到第一芯片引脚对应的第一类寄存 器或第二类寄存器,且对找到的寄存器进行写入处理即可,可以实现仅通过一 条指令即可实现第一数据信号的输出,有效优化了寄存器的配置过程,进而可 以实现芯片引脚对应的寄存器的快速配置,大大提高了引脚的翻转效率,从而提高了芯片的性能。
当然,需要说明的是,在实际情况中,第一数字并不限于1,第二数字也 并不限于0,第一数据信号还可以是由其他数字组成;并且,在对寄存器进行 写入时,并不限于写入1和0,还可以是根据实际需要写入的其他数值或符号;只要能够实现写入处理,以及实现第一数据信号的传输即可,在此并不做具体 限定。
一般情况下,数据处理模块并不会同时第一类寄存器和第二类寄存器,也 即仅配置第一类寄存器或仅配置第二类寄存器。但是,在实际情况中,可能会 出现误操作,导致第一类寄存器和第二类寄存器需要同时配置的情况,此时:
可选地,在本发明实施例中,控制单元具体用于:
根据芯片引脚、第一类寄存器、以及第二类寄存器之间的对应关系,确定 第一芯片引脚对应的第一第一类寄存器、以及第一芯片引脚对应的第一第二类寄存器;
在根据第一数据信号,确定出需要执行置位指令和清除指令时,按照预设 的置位指令和清除指令的优先级高低顺序,依次对第一第一类寄存器和第一第 二类寄存器进行写入处理。
如此,在出现误操作,即出现同时第一类寄存器和第二类寄存器的情况时, 可以根据置位指令和清除指令的优先级顺序,依次对第一类寄存器和第二类寄 存器进行配置,在避免因误操作的出现而导致芯片的处理过程出现混乱的同时, 保证第一数据信号可以有效地输出。
可选地,在本发明实施例中,置位指令的优先级高于清除指令的优先级。
也就是说,在出现同时第一类寄存器和第二类寄存器的情况时,因置位指 令的优先级高于清除指令的优先级,所以可以首先对第一芯片引脚对应的第一 类寄存器进行配置,之后再对第一芯片引脚对应的第二类寄存器进行配置,从 而完成寄存器的配置过程,有利于实现第一数据信号的输出,保证芯片可以正 常有序地工作。
当然,在实际情况中,还可以设置为:清除指令的优先级高于置位指令的 优先级,此时:先对第一芯片引脚对应的第二类寄存器进行配置,再对第一芯 片引脚对应的第一类寄存器进行配置;也就是说,在具体实施时,可以根据实 际需要设置置位指令和清除指令的优先级顺序,以满足不同应用场景的需要, 提高设计的灵活性。
可选地,在本发明实施例中,寄存器控制模块还包括多个第三类寄存器, 每个芯片引脚对应一个第一类寄存器、一个第二类寄存器和一个第三类寄存器;
其中,第三类寄存器,用于表示对应芯片引脚对应的第一类寄存器和/或第 二类寄存器上一次的配置状态。
也就是说,在实际情况中,在进行芯片的调试过程中,根据测试需要,有 时需要查看寄存器已经配置过的数值,也即查看寄存器之前的配置状态。为了 实现该需求,同时提高寄存器的易用性,寄存器控制模块中可以包括第三类寄 存器,可以用GPIO_STATUS来表示,该第三类寄存器用于表示对应芯片引脚 对应的第一类寄存器和/或第二类寄存器上一次的配置状态。
例如,若第一类寄存器在上一次的配置结果为1,那么第三类寄存器的数 值即为1;若第二类寄存器在上一次的配置结果为1,那么第三类寄存器的数 值即为0。
如此,在测试过程中,则不需要回读第一类寄存器和第二类寄存器,以判 断上一次配置后的状态,仅需要读取第三类寄存器的数值,即可确定出第一类 寄存器和/或第二类寄存器上一次的配置状态,可以减少测试过程需要的时间, 简化测试过程,从而提高测试效率。
可选地,在本发明实施例中,对应关系中包括:芯片引脚、第一寄存器组 和第二寄存器组,第一寄存器组包括M个第一类寄存器,第二寄存器组包括 M个第二类寄存器;M为正整数;
其中,第一寄存器组和第二寄存器组的位宽均为M比特,第一寄存器组 中的每个比特对应一个第一类寄存器,第二寄存器组中的每个比特对应一个第 二类寄存器;
M个芯片引脚为一芯片引脚组,且每个芯片引脚组对应一个第一寄存器组 和一个第二寄存器组。
如此,不仅可以节省寄存器的地址资源,还可以保证芯片引脚与寄存器之 间的对应关系,有利于后续根据该对应关系确定出第一芯片引脚对应的寄存器, 实现第一数据信号的传输。
可选地,在本发明实施例中,芯片引脚设置有N个,芯片引脚组设置有P 个,其中P、M和N之间的关系为:且N和P均为正整数。
如此,可以保证每个芯片引脚对应一个第一类寄存器和一个第二类寄存器, 从而保证芯片引脚与寄存器之间的对应关系,有利于后续根据该对应关系确定 出第一芯片引脚对应的寄存器,实现第一数据信号的传输。
下面以表3和表4为例,对对应关系的设置进行解释和说明。
以M为32、N为128、P为8为例,在表3中,GPIO_SET_Gx表示编号 为x的第一寄存器组,例如GPIO_SET_G0表示编号为0的第一寄存器组; GPIO_CLR_Gy表示编号为y的第二寄存器组,例如GPIO_CLR_G0表示编号 为0的第二寄存器组。
表3
根据表3可知:每个芯片引脚组包括32个芯片引脚,且每个芯片引脚组 对应一个第一寄存器组和一个第二寄存器组。
对于每个第一寄存器组(或第二寄存器组)与第一类寄存器(或第二类寄 存器)的对应关系,可以如表4所示;其中,GPIO_SET_Gx表示编号为x的 第一寄存器组,GPIO_CLR_Gy表示编号为y的第二寄存器组,且x和y的取 值为0-3。
表4
根据表4可知:
对于GPIO_SET_Gx,以x取值为0为例,即GPIO_SET_G0,表示编号为 0的第一寄存器组,此时,根据表3可知,GPIO_SET_G0对应序号为1的芯 片引脚组,且该芯片引脚组中包括编号为0-31的32个芯片引脚,那么:
第(0+32x)个第一类寄存器对应编号为0的芯片引脚;
第(1+32x)个第一类寄存器对应编号为1的芯片引脚;
第(31+32x)个第一类寄存器对应编号为31的芯片引脚;
因此,GPIO_SET_G0中,每一个比特位对应一个芯片引脚。
同理,对于GPIO_CLR_Gy而言,与上述GPIO_SET_Gx相似,在此不再 详述。
因此,通过对上述表3和表4的设置,不仅可以保证芯片引脚与第一类寄 存器和第二类寄存器的对应关系,还可以减少寄存器的地址资源的占用,从而 有利于提高芯片的性能。
可选地,在本发明实施例中,第一寄存器组和第二寄存器组与基地址的对 应关系,可以如表5所示。
表5
其中,在确定第一芯片引脚对应的第一类寄存器和第二类寄存器时,结合 上述表3至表5,可以采用以下方式:
过程1:数据处理模块可以确定出第一芯片引脚的标识(例如但不限于ID 或序号);
过程2:寄存器控制模块中的控制单元根据第一芯片引脚的标识,可以从 表3中确定出第一芯片引脚对应的第一寄存器组的序号(如第一序号)和第二 寄存器组的序号(如第二序号);
过程3:寄存器控制模块中的控制单元可以从表5中确定出第一序号对应 的基地址和第二序号对应的基地址;
过程4:寄存器控制模块中的控制单元根据确定出的基地址,确定出第一 芯片引脚对应的第一寄存器组、以及第一芯片引脚对应的第二寄存器组;
过程5:寄存器控制模块中的控制单元从表4中确定出第一芯片引脚对应 的第一类存器、以及第一芯片引脚对应的第二类寄存器。
例如,以第一芯片引脚为序号为34为例,寄存器控制模块中的控制单元 可以从表3中查找到第一芯片引脚34对应的第一寄存器组的序号为 GPIO_SET_G1,第一芯片引脚34对应的第二寄存器组的序号为GPIO_CLR_G1;
之后,从表5中查找到GPIO_SET_G1的基地址为0x00000004, GPIO_CLR_G1的基地址为0x00000014;
然后,根据基地址可以获取对应的GPIO_SET_G1和GPIO_CLR_G1中的 内容,并从表4中查找到第一芯片引脚34对应的第一类寄存器在 GPIO_SET_G1中的比特位置(也即比特位置为bit 2)、以及查找到第一芯片引 脚34对应的第二类寄存器在GPIO_CLR_G1中的比特位置(也即比特位置为 bit 2),以确定出第一芯片引脚34对应的第一类存器和第二类寄存器。
此时,若需要将第一芯片引脚34的电位拉高,且进行置位操作时,可以 对GPIO_SET_G1中的bit 2的位置写入1,而对其他比特位置均写入0,并且 对GPIO_CLR_G1可以无需进行操作;
若需要将第一芯片引脚34的电位拉低,且进行清除操作时,可以对 GPIO_CLR_G1中的bit 2的位置写入1,而对其他比特位置均写入0,并且对 GPIO_SET_G1可以无需进行操作。
可选地,在本发明实施例中,数据处理模块可以为处理器,对于寄存器控 制模块和芯片引脚控制模块的具体结构并不限定,只要能够实现这两个模块的 功能即可。
对于每个芯片引脚而言,具体结构可以如图2所示,可以包括:
第一缓存器h1,控制端(如OE)和输入端(如DO)均与芯片引脚控制 模块电连接,输出端(如IO)与外部设备电连接;
第二缓存器h2,控制端(如IE)和输出端(如DI)均与芯片引脚控制模 块电连接,输入端(如IO)与外部设备电连接。
每个芯片引脚的具体工作过程为:
若需要芯片引脚向外输出信号时,寄存器控制模块中的控制单元可以生成 第一控制信号,通过芯片引脚控制模块传输至第一缓存器h1的控制端OE,以 控制第一缓存器h1将输入端DO输入的信号传输至外部设备;
若需要芯片引脚向芯片中输入信号时,寄存器控制模块中的控制单元可以 生成第二控制信号,通过芯片引脚控制模块传输至第二缓存器h2的控制端IE, 以控制第二缓存器h2将输入端IO输入的信号传输至芯片中。
如此,通过寄存器控制模块中的控制单元和芯片引脚控制模块的控制,可 以实现通过芯片引脚输入输出信号,实现芯片与外部设备之间的通信,从而实 现芯片的功能。
当然,在实际情况中,芯片引脚的结构并不限于上述图2所示,还可以是 本领域技术人员所熟知的其他可以实现芯片引脚功能的结构,在此不作限定。
需要说明的是,可选地,在本发明实施例中,对于需要通过芯片引脚输入 第二数据信号时,各模块的执行过程,可以包括:
过程1:数据处理模块在确定出通过芯片引脚模块输入第二数据信号时, 从各芯片引脚中确定待使用的第二芯片引脚;
过程2:寄存器控制模块中的控制单元向芯片引脚控制模块发送输入控制 信号;
过程3:芯片引脚控制模块控制第二芯片引脚向内输入信号;
过程4:数据处理模块对各寄存器的数值进行回读处理,以确定出第二芯 片引脚对应的寄存器的数值,确定第二数据信号。
说明一点,可选地,在本发明实施例中,数据处理模块的主要作用包括: 确定待输出的第一数据信号、输入的第二数据信号,需要使用的第一芯片引脚 和第二芯片引脚;
寄存器控制模块中的控制单元的主要作用包括:查找第一芯片引脚对应的 第一类寄存器和第二类寄存器、对第一类寄存器和第二类寄存器进行写入处理, 输出第一控制信号和第二控制信号;
芯片引脚控制模块的主要作用包括:控制芯片引脚的复用功能(也即控制 芯片引脚作为何种协议的接口(如I2C、UART或GPIO等)与外部设备传输 信号)、传输第一控制信号和第二控制信号、以及协助寄存器控制模块中的控 制单元调整芯片引脚的电位。
当然,数据处理模块、寄存器控制模块、以及芯片引脚控制模块,除了具 有上述作用之外,还具有其他用于实现芯片功能的作用,具体可参见现有技术, 在此不再详述。
并且,对于本发明实施例提供的上述芯片,除了包括数据处理模块、寄存 器控制模块、芯片引脚控制模块、以及芯片引脚模块之外,还可以包括其他用 于实现芯片功能的结构,具体可参见现有技术,在此不再详述。
基于同一发明构思,本发明实施例提供了一种数据处理方法,采用如本发 明实施例提供的上述芯片实现;如图3所示,该方法包括:
S301、数据处理模块在确定出通过芯片引脚模块向外输出第一数据信号时, 从各芯片引脚中确定待使用的第一芯片引脚;
S302、寄存器控制模块中的控制单元根据预设的芯片引脚与寄存器的对应 关系,确定第一芯片引脚对应的第一寄存器;
S303、控制单元根据第一数据信号,对确定出的第一寄存器进行写入处理;
S304、芯片引脚控制模块根据写入处理后的第一寄存器,调整第一芯片引 脚的电位,以使芯片引脚模块向外输出第一数据信号。
如此,在将芯片引脚与寄存器的设置关系设置为一对多,也即一个芯片引 脚对应多个寄存器时,根据预设的芯片引脚与寄存器的对应关系,可以准确、 快速地查找到第一芯片引脚对应的第一寄存器;并且,根据第一数据信号,仅 对确定出的第一寄存器进行写入处理即可,而无需进行其他处理(例如但不限 于回读处理),也即仅使用了一条命令即可完成第一寄存器的配置,有效优化了寄存器的配置过程,可以实现芯片引脚对应的寄存器的快速配置,大大提高 了引脚的翻转效率,从而提高了芯片的性能。
基于同一发明构思,本发明实施例提供了一种可读性存储介质,可读性存 储介质存储有芯片可执行指令,芯片可执行指令用于使芯片执行本发明实施例 提供的上述数据处理方法。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发 明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种芯片,其特征在于,包括:数据处理模块、寄存器控制模块、芯片引脚控制模块以及芯片引脚模块,所述寄存器控制模块设置于所述数据处理模块与所述芯片引脚控制模块之间,所述芯片引脚控制模块与所述芯片引脚模块电连接;
所述寄存器控制模块包括:控制单元和多个寄存器,所述芯片引脚模块包括多个芯片引脚,每个所述芯片引脚对应多个所述寄存器;
所述数据处理模块用于:
在确定出通过所述芯片引脚模块向外输出第一数据信号时,从各所述芯片引脚中确定待使用的第一芯片引脚;
所述控制单元与所述数据处理模块电连接,用于:
根据预设的所述芯片引脚与所述寄存器的对应关系,确定所述第一芯片引脚对应的第一寄存器,并根据所述第一数据信号,对确定出的所述第一寄存器进行写入处理;
所述芯片引脚控制模块用于:
根据写入处理后的所述第一寄存器,调整所述第一芯片引脚的电位,以使所述芯片引脚模块向外输出所述第一数据信号;
其中,所述寄存器控制模块包括:多个第一类寄存器和多个第二类寄存器,所述第一类寄存器用于完成置位指令,所述第二类寄存器用于完成清除指令;其中,所述第一数据信号包括第一数字和第二数字,所述第一数字用于表示所述置位指令,所述第二数字用于表示所述清除指令;
每个所述芯片引脚对应一个所述第一类寄存器和一个所述第二类寄存器。
2.如权利要求1所述的芯片,其特征在于,所述对应关系为所述芯片引脚、所述第一类寄存器、以及所述第二类寄存器之间的对应关系;
所述控制单元具体用于:
根据所述芯片引脚、所述第一类寄存器、以及所述第二类寄存器之间的对应关系,确定所述第一芯片引脚对应的第一第一类寄存器、以及所述第一芯片引脚对应的第一第二类寄存器;
在根据所述第一数据信号,确定出需要执行所述置位指令时,对确定出的所述第一第一类寄存器进行写入处理;或,在根据所述第一数据信号,确定出需要执行所述清除指令时,对确定出的所述第一第二类寄存器进行写入处理。
3.如权利要求1所述的芯片,其特征在于,所述对应关系为所述芯片引脚、所述第一类寄存器、以及所述第二类寄存器之间的对应关系;
所述控制单元具体用于:
根据所述芯片引脚、所述第一类寄存器、以及所述第二类寄存器之间的对应关系,确定所述第一芯片引脚对应的第一第一类寄存器、以及所述第一芯片引脚对应的第一第二类寄存器;
在根据所述第一数据信号,确定出需要执行所述置位指令和所述清除指令时,按照预设的所述置位指令和所述清除指令的优先级高低顺序,依次对所述第一第一类寄存器和所述第一第二类寄存器进行写入处理。
4.如权利要求3所述的芯片,其特征在于,所述置位指令的优先级高于所述清除指令的优先级。
5.如权利要求1所述的芯片,其特征在于,所述寄存器控制模块还包括多个第三类寄存器,每个所述芯片引脚对应一个所述第一类寄存器、一个所述第二类寄存器和一个所述第三类寄存器;
其中,所述第三类寄存器,用于表示对应所述芯片引脚对应的所述第一类寄存器和/或所述第二类寄存器上一次的配置状态。
6.如权利要求1所述的芯片,其特征在于,所述对应关系中包括:所述芯片引脚、第一寄存器组和第二寄存器组,所述第一寄存器组包括M个所述第一类寄存器,所述第二寄存器组包括M个所述第二类寄存器;M为正整数;
其中,所述第一寄存器组和所述第二寄存器组的位宽均为M比特,所述第一寄存器组中的每个所述比特对应一个所述第一类寄存器,所述第二寄存器组中的每个所述比特对应一个所述第二类寄存器;
M个所述芯片引脚为一芯片引脚组,且每个所述芯片引脚组对应一个所述第一寄存器组和一个所述第二寄存器组。
7.如权利要求6所述的芯片,其特征在于,所述芯片引脚设置有N个,所述芯片引脚组设置有P个,其中P、M和N之间的关系为:且N和P均为正整数。
8.一种数据处理方法,其特征在于,采用如权利要求1-7任一项所述的芯片实现;该方法包括:
数据处理模块在确定出通过芯片引脚模块向外输出第一数据信号时,从各芯片引脚中确定待使用的第一芯片引脚;
寄存器控制模块中的控制单元根据预设的所述芯片引脚与寄存器的对应关系,确定所述第一芯片引脚对应的第一寄存器;
所述控制单元根据所述第一数据信号,对确定出的所述第一寄存器进行写入处理;
芯片引脚控制模块根据写入处理后的所述第一寄存器,调整所述第一芯片引脚的电位,以使所述芯片引脚模块向外输出所述第一数据信号。
9.一种可读性存储介质,其特征在于,所述可读性存储介质存储有芯片可执行指令,所述芯片可执行指令用于使芯片执行权利要求8所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010372265.XA CN111562946B (zh) | 2020-05-06 | 2020-05-06 | 一种数据处理方法及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010372265.XA CN111562946B (zh) | 2020-05-06 | 2020-05-06 | 一种数据处理方法及芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111562946A CN111562946A (zh) | 2020-08-21 |
CN111562946B true CN111562946B (zh) | 2023-09-08 |
Family
ID=72068974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010372265.XA Active CN111562946B (zh) | 2020-05-06 | 2020-05-06 | 一种数据处理方法及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111562946B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836069B (zh) * | 2021-09-30 | 2023-04-14 | 龙芯中科技术股份有限公司 | 芯片、引脚操作方法、可读存储介质和电子设备 |
CN113947051A (zh) * | 2021-10-13 | 2022-01-18 | 深圳大普微电子科技有限公司 | 一种存储器管脚的寄存器分配方法、系统及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1305133A (zh) * | 1999-11-29 | 2001-07-25 | 德克萨斯仪器股份有限公司 | 适应性强的通用输入/输出系统 |
CN104011697A (zh) * | 2011-09-27 | 2014-08-27 | 密克罗奇普技术公司 | 微控制器的虚拟通用输入/输出 |
CN108027791A (zh) * | 2015-09-10 | 2018-05-11 | 高通股份有限公司 | 多节点网络中的输入/输出信号桥接和虚拟化 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180329837A1 (en) * | 2017-05-10 | 2018-11-15 | Qualcomm Incorporated | Input/output direction decoding in mixed vgpio state exchange |
US10509750B2 (en) * | 2017-07-24 | 2019-12-17 | American Megatrends International, Llc | System and method for controlling multi-function pins in management controller stack |
-
2020
- 2020-05-06 CN CN202010372265.XA patent/CN111562946B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1305133A (zh) * | 1999-11-29 | 2001-07-25 | 德克萨斯仪器股份有限公司 | 适应性强的通用输入/输出系统 |
CN104011697A (zh) * | 2011-09-27 | 2014-08-27 | 密克罗奇普技术公司 | 微控制器的虚拟通用输入/输出 |
CN108027791A (zh) * | 2015-09-10 | 2018-05-11 | 高通股份有限公司 | 多节点网络中的输入/输出信号桥接和虚拟化 |
Also Published As
Publication number | Publication date |
---|---|
CN111562946A (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568187C (zh) | 一种用于对调试消息进行掩码的方法和装置 | |
CN111562946B (zh) | 一种数据处理方法及芯片 | |
CN103744009A (zh) | 一种串行传输芯片测试方法、系统及集成芯片 | |
KR102675841B1 (ko) | 바이너리 벡터 기반의 테스트 장치 | |
CN104834620A (zh) | 串行外设接口spi总线电路、实现方法以及电子设备 | |
US7836240B2 (en) | Interface arrangement for a system on a chip suitable for outputting higher-frequency signals for operating peripheral devices, and use thereof | |
US20220309023A1 (en) | An inter-integrated circuit (i2c) apparatus | |
CN109656841A (zh) | 基于软件模拟i2c和硬件i2c的混合控制方法及装置 | |
US11455926B2 (en) | Drive control method and assembly, as well as display device | |
CN113075904A (zh) | 一种plc扩展系统、plc系统通信方法及存储介质 | |
CN104615558B (zh) | 一种数据传送方法及电子装置 | |
CN113485672B (zh) | 基于fifo存储器的信息生成方法、装置、设备及介质 | |
CN114253898B (zh) | 总线装置及数据读写电路 | |
CN112860495A (zh) | 一种i2c从设备的调试方法、i2c主设备及存储介质 | |
CN113064709B (zh) | 一种适用于mcu芯片的任务调度方法及系统 | |
CN117056274B (zh) | 一种用于单核处理器的并行数据通信架构及方法 | |
CN116610601A (zh) | 一种数据传输装置及其控制方法、装置、介质 | |
CN115563049A (zh) | Spi发送模式赋值结构的实现方法 | |
US20210265001A1 (en) | Method of testing slave device of Inter-Integrated Circuit bus | |
CN204706031U (zh) | 串行外设接口spi总线电路以及电子设备 | |
CN113671360B (zh) | I2c接口器件测试方法、装置及i2c接口器件 | |
CN103631749B (zh) | 扩充模块 | |
US20130304949A1 (en) | Computer and input/output control method of computer | |
CN107391406A (zh) | 一种用于协议处理的微处理器及处理协议的方法 | |
CN103699504A (zh) | Ddr物理层数据处理方法、装置及ddr物理层 |
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 |