对芯片的IO端口进行功能配置的方法、装置、存储介质及芯片与流程

未命名 10-08 阅读:76 评论:0

对芯片的io端口进行功能配置的方法、装置、存储介质及芯片
技术领域
1.本技术涉及芯片领域,尤其涉及一种对芯片的io端口进行功能配置的方法、装置、存储介质及芯片。


背景技术:

2.目前的ic(integrated circuit,集成电路)芯片中,ic芯片的每个io端口和数字功能之间的映射关系是固定的,开发人员通过ic芯片的产品手册可查询ic芯片的io端口配置功能,例如:ic芯片中一个io端口的数字功能是定时器的pwm信号输出,另个一io端口的数字功能是uart的接收或者传输等。这种配置方式使得ic芯片的使用不方便或者说不好用,不够灵活,无法满足不同的应用场景。


技术实现要素:

3.本技术实施例提供了对芯片的io端口进行功能配置的方法、装置、存储介质及芯片,可以解决现有技术中芯片的io端口的功能配置不灵活的问题。所述技术方案如下:
4.第一方面,本技术实施例提供了一种对芯片的io端口进行功能配置的方法,所述方法包括:
5.接收配置指令;其中,所述配置指令携带io端口的标识信息和数字功能的标识信息;
6.响应于所述配置指令,对端口选择寄存器和功能选择寄存器进行解锁处理;
7.在所述端口选择寄存器中确定与所述io端口关联的比特位,以及将该比特位的值设置为预设值;
8.在所述功能选择寄存器中确定与所述数字功能关联的比特位,以及将该比特位的值设置为所述预设值;
9.设置完成后实现所述io端口和所述数字功能的绑定,以及对所述端口选择寄存器和所述功能选择寄存器进行加锁处理。
10.第二方面,本技术实施例提供了一种对芯片的io端口进行功能配置的装置,所述装置包括:
11.收发单元,用于接收配置指令;其中,所述配置指令携带io端口的标识信息和数字功能的标识信息;
12.解锁单元,用于响应于所述配置指令,对端口选择寄存器和功能选择寄存器进行解锁处理;
13.设置单元,用于在所述端口选择寄存器中确定与所述io端口关联的比特位,以及将该比特位的值设置为预设值;
14.所述设置单元,还用于在所述功能选择寄存器中确定与所述数字功能关联的比特位,以及将该比特位的值设置为所述预设值;
15.加锁单元,用于设置完成后实现所述io端口和所述数字功能的绑定,以及对所述
端口选择寄存器和所述功能选择寄存器进行加锁处理。
16.第三方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
17.第四方面,本技术实施例提供一种芯片,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
18.本技术一些实施例提供的技术方案带来的有益效果至少包括:
19.在需要对芯片的io端口和数字功能进行配置时,对端口选择寄存器和功能选择寄存器进行解锁,将io端口在端口选择寄存器中关联的比特位设置为预设值,以及将数字功能在功能选择寄存器中关联的比特位设置为预设值,设置后实现io端口和数字功能的绑定,然后对端口选择寄存器和功能选择寄存器进行锁定,本技术在两个寄存器中对指定的比特位进行赋值的方式绑定io端口和数字功能,实现芯片中io端口和数字功能的灵活绑定,提高芯片应用场景的兼容性。
附图说明
20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
21.图1是本技术实施例提供的系统架构示意图;
22.图2是本技术实施例提供的对芯片的io端口进行功能配置的方法的流程示意图;
23.图3是本技术实施例提供的数值矩阵的示意图;
24.图4是本技术实施例提供的对芯片的io端口进行功能配置的装置的结构示意图;
25.图5是本技术实施例提供的芯片的结构示意图。
具体实施方式
26.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
27.需要说明的是,本技术提供的对芯片的io端口进行功能配置的方法一般由芯片执行,相应的,芯片的测试装置一般设置于芯片中。
28.图1示出了可以应用于本技术的流片前对音频芯片进行验证的示例性系统架构。
29.如图1所示,系统架构可以包括:上位机101和电路板102。
30.其中,电路板102包括芯片和外围电路,上位机101通过有线方式或无线方式与电路板102的芯片连接进行通信,例如:无线方式包括:包括蓝牙通信链路、无线保真(wireless-fidelity,wi-fi)通信链路或微波通信链路等,有线方式包括串口线、usb线缆、光纤、双绞线或同轴电缆等。
31.其中,上位机可以为个人电脑,设置有显示设备,便于用户查看显示的文字、图片、视频等信息。
32.应理解,图1中的上位机、网络和芯片的数目仅是示意性的。根据实现需要,可以是任意数量的上位机、网络和芯片。
33.下面将结合附图2,对本技术实施例提供的对芯片的io端口进行功能配置的方法进行详细介绍。
34.请参见图2,为本技术实施例提供了一种对芯片的io端口进行功能配置的方法的流程示意图。如图2所示,本技术实施例的所述方法可以包括以下步骤:
35.s201、接收配置指令。
36.其中,配置指令用于根据用户需求将指定的io端口和数字功能进行绑定,配置指令携带io端口的标识信息和数字功能的标识信息,io端口的标识信息用于唯一表示io端口的身份,io端口的标识信息可以使用组号和序号来表示,芯片一般设置有多个io端口,多个io端口进行分组,每个组内的io端口具有不同的序号;数字功能表示io端口的具体功能,例如:包括uart传输功能、pwm输出功能等,数字功能的标识信息可以使用功能名称来表示,不同的数字功能具有不同的功能名称。
37.进一步的,上位机和芯片之间进行通信,上位机通过显示单元显示交互界面,用户通过交互界面进行配置操作,在交互界面上选择芯片的某个io端口和某个数字功能进行绑定,配置操作完成后生成配置指令,上位机向芯片发送配置指令,实现根据用户需求进行图形化配置,简化配置过程。
38.s202、响应于配置指令,对端口选择寄存器和功能选择寄存器进行解锁处理。
39.其中,解锁处理表示将端口选择寄存器和功能选择寄存器设置为写入状态,写入状态下可以修改寄存器中各个比特位的值,以便执行后面的io端口和数字功能的绑定操作。芯片的处理器向端口选择寄存器和功能选择寄存器发送解锁指令,以指示端口选择寄存器和功能选择寄存器开启写入状态。
40.s203、在端口选择寄存器中确定与io端口关联的比特位,以及将该比特位的值设置为预设值。
41.其中,端口选择寄存器包括多个比特位,功能选择寄存器包括多个比特位,比特位的数量可以根据实际需求而定。进一步的,端口选择寄存器和功能选择寄存器的比特位的数量相等,其数量和芯片的位宽或端口组的端口数量相等,例如:芯片的位宽为8位,端口选择寄存器包括8个比特位,功能选择寄存器包括8个比特位。芯片预存储或预配置有io端口和端口选择器中比特位的映射关系,根据该映射关系确定s301中指示的io端口关联的比特位,然后将确定的比特位的值设置为预设值,预设值可以为0或1。
42.s204、在功能选择寄存器中确定与数字功能关联的比特位,以及将该比特位的值设置为预设值。
43.其中,芯片预存储或预配置有功能选择寄存器中比特位和数字功能之间的映射关系,根据该映射关系确定s301中指示的数字功率关联的比特位,然后将确定的比特位设置为s303中相同的预设值,通过上述设置后,芯片就实现s301中的io端口和数字功能的绑定。
44.举例来说,配置指令用于指示对io端口p0_0和数字功能timer_pwm进行绑定,p0_0表示芯片中第0组的第0个引脚,timer_pwm表示数字功能为输出pwm信号。端口选择寄存器设置有8个比特位,分别为bit0~bit7;功能选择寄存器设置有8个比特位,分别为bit0~bit7。查询到io端口p0_0在端口选择寄存器中对应的比特位为bit0,查询到数字功能数字功能timer_pwm在功能选择寄存器中对应的比特位为bit5,将端口选择寄存器中的bit0和功能选择寄存器中的bit5的值均设置为1。
45.在本技术的实施例中,配置指令可以携带多组io端口的标识信息和数字功能的标识信息,实现对多个io端口进行数字功能配置,提高芯片的功能配置效率。
46.s205、设置完成后实现io端口和所述数字功能的绑定,以及对端口选择寄存器和所述功能选择寄存器进行加锁处理。
47.其中,加锁处理表示将端口选择寄存器和功能选择寄存器设置为只读状态,禁止对寄存器中的比特位进行修改,通过向寄存器发送加锁指令实现加锁处理。
48.在本技术的一些实施例中,所述方法还包括:
49.上电后,在所述端口选择寄存器中遍历各个比特位的值,以及在所述功能选择寄存器中遍历各个比特位的值;其中,所述端口选择寄存器设置有n个比特位,所述功能选择寄存器设置有m个比特位,m和n为大于1的整数;
50.根据遍历结果生成数值矩阵;其中,所述数值矩阵包含m
×
n个元素,每个元素包含两个参数值,数值矩阵的m个行与所述功能选择寄存器的m个比特位一一对应,所述数值矩阵的n个列与所述端口选择寄存器的n个比特位一一对应;
51.在所述数值矩阵中查询两个参数值都等于预设值的元素;
52.确定查询到的元素对应的io端口和数字功能具有绑定关系。
53.举例来说,参见图3所示的数值矩阵的示意图,功能选择寄存器px_fun_0设置有8个比特位:bit0~bit7,8个比特位分别与数字功能fun_0~fun_7呈一对一的映射关系。io端口选择寄存器px_fun_1设置有8个比特位:bit0~bit7,8个比特位分别与io端口px_0~px_7呈一对一的映射关系。芯片在上电后,遍历功能选择寄存器px_fun_0中8个比特位的值,以及遍历端口选择寄存器px_fun_1中8个比特位的值,根据遍历结果生成8
×
8的数值矩阵,数值矩阵的8个行分别与功能选择寄存器px_fun_0中的8个比特位呈一对一映射关系,数值矩阵的8个列分别与端口选择寄存器px_fun_1的8个比特位呈一对一的映射关系,数值矩阵共计8
×
8=64个元素,每个元素包含两个参数值(xi,yj),i=0、1、2

、7,j=0、1、2

、7,若元素的两个参数值均等于预设值,那么该元素所在行对应的数字功能和所在列对应的端口存在绑定关系,查找整个数值矩阵中的元素后得到芯片的端口功能映射信息,端口功能映射信息表示所有io端口与数字功能之间的绑定关系。本技术仅通过两个寄存器构成的数值矩阵实现io端口和数字功能的灵活配置,可以减少降低硬件成本。
54.在一些可能的实施例中,所述数值矩阵的每个行中仅有1个元素满足两个参数值均等于所述预设值,每个列中仅有1个元素满足两个参数值均等于所述预设值,即一个io端口仅与一个数字功能进行绑定。
55.举例来说参见图3所示,数值矩阵中(x0,y0)、(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)、(x5,y5)、(x6,y6)、(x7,y7)中7个元素的两个参数值均等于预设值1,即io端口px_0和数字功能fun_0绑定、io端口px_1和数字功能fun_1绑定、

io端口px_7和数字功能fun_7绑定。
56.需要说明的是,在另一些实施例中,一个io端口可能配置多个数字功能,具体可以根据设置两个寄存器中比特位的值来实现,此处不再赘述。
57.容易理解的是,在配置某个io端口和数字功能的绑定关系时,确定io端口和数字功能在数值矩阵中对应的元素,将元素的两个参数值设置为预设值,例如:预设值为1。
58.本技术的实施例,在需要对芯片的io端口和数字功能进行配置时,对端口选择寄存器和功能选择寄存器进行解锁,将io端口在端口选择寄存器中关联的比特位设置为预设
值,以及将数字功能在功能选择寄存器中关联的比特位设置为预设值,设置后实现io端口和数字功能的绑定,然后对端口选择寄存器和功能选择寄存器进行锁定,本技术在两个寄存器中对指定的比特位进行赋值的方式绑定io端口和数字功能,实现芯片中io端口和数字功能的灵活绑定,提高芯片应用场景的兼容性。
59.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
60.请参见图4,其示出了本技术一个示例性实施例提供的对芯片的io端口进行功能配置的装置的结构示意图,以下简称装置4。该装置4可以通过软件、硬件或者两者的结合实现成为芯片的全部或一部分。装置4包括:收发单元401、解锁单元402、设置单元403、加锁单元404。
61.收发单元401,用于接收配置指令;其中,所述配置指令携带io端口的标识信息和数字功能的标识信息;
62.解锁单元402,用于响应于所述配置指令,对端口选择寄存器和功能选择寄存器进行解锁处理;
63.设置单元403,用于在所述端口选择寄存器中确定与所述io端口关联的比特位,以及将该比特位的值设置为预设值;
64.所述设置单元403,还用于在所述功能选择寄存器中确定与所述数字功能关联的比特位,以及将该比特位的值设置为所述预设值;
65.加锁单元404,用于设置完成后实现所述io端口和所述数字功能的绑定,以及对所述端口选择寄存器和所述功能选择寄存器进行加锁处理。
66.在一个或多个可能的实施例中,还包括:
67.初始化单元,用于上电后,在所述端口选择寄存器中遍历各个比特位的值,以及在所述功能选择寄存器中遍历各个比特位的值;其中,所述端口选择寄存器设置有n个比特位,所述功能选择寄存器设置有m个比特位,m和n为大于1的整数;
68.根据遍历结果生成数值矩阵;其中,所述数值矩阵包含m
×
n个元素,每个元素包含两个参数值,数值矩阵的m个行与所述功能选择寄存器的m个比特位一一对应,所述数值矩阵的n个列与所述端口选择寄存器的n个比特位一一对应;
69.在所述数值矩阵中查询两个参数值都等于预设值的元素;
70.确定查询到的元素对应的io端口和数字功能具有绑定关系。
71.在一个或多个可能的实施例中,所述数值矩阵的每个行中仅有1个元素满足两个参数值均等于所述预设值,每个列中仅有1个元素满足两个参数值均等于所述预设值。
72.在一个或多个可能的实施例中,所述预设值为1。
73.在一个或多个可能的实施例中,所述配置指令是上位机基于用户的配置操作发送给芯片的。
74.在一个或多个可能的实施例中,所述io端口的标识信息包括io端口的组号和序号,所述数字功能的标识信息包括功能名称。
75.在一个或多个可能的实施例中,所述端口选择寄存器中比特位的数量和所述功能选择寄存器中比特位的数量与芯片的位宽相等。
76.需要说明的是,上述实施例提供的装置4在执行对芯片的io端口进行功能配置的
方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成上述的全部或者部分功能。另外,上述实施例提供的对芯片的io端口进行功能配置的装置与对芯片的io端口进行功能配置的方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
77.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
78.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。
79.本技术还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的对芯片的io端口进行功能配置的方法。
80.请参见图5,为本技术实施例提供了一种芯片的结构示意图。如图5所示,所述芯片500可以包括:至少一个处理器501,至少一个网络接口503,存储器504,至少一个通信总线502。
81.其中,通信总线502用于实现这些组件之间的连接通信。
82.其中,网络接口503可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
83.其中,处理器501可以包括一个或者多个处理核心,处理核心中设置有功能选择寄存器和端口选择寄存器。处理器501利用各种接口和线路连接整个芯片500内的各个部分,通过运行或执行存储在存储器504内的指令、程序、代码集或指令集,以及调用存储在存储器504内的数据,执行芯片500的各种功能和处理数据。可选的,处理器501可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logicarray,pla)中的至少一种硬件形式来实现。处理器501可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器501中,单独通过一块芯片进行实现。
84.其中,存储器504可以包括随机存储器(randomaccess memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器504包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器504可用于存储指令、程序、代码、代码集或指令集。存储器504可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器504可选的还可以是至少一个位于远离前述处理器501的存储装置。
85.在图5所示的芯片500中,处理器501可以用于调用存储器504中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
86.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
87.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。

技术特征:
1.一种对芯片的io端口进行功能配置的方法,其特征在于,包括:接收配置指令;其中,所述配置指令携带io端口的标识信息和数字功能的标识信息;响应于所述配置指令,对端口选择寄存器和功能选择寄存器进行解锁处理;在所述端口选择寄存器中确定与所述io端口关联的比特位,以及将该比特位的值设置为预设值;在所述功能选择寄存器中确定与所述数字功能关联的比特位,以及将该比特位的值设置为所述预设值;设置完成后实现所述io端口和所述数字功能的绑定,以及对所述端口选择寄存器和所述功能选择寄存器进行加锁处理。2.根据权利要求1所述的方法,其特征在于,还包括:上电后,在所述端口选择寄存器中遍历各个比特位的值,以及在所述功能选择寄存器中遍历各个比特位的值;其中,所述端口选择寄存器设置有n个比特位,所述功能选择寄存器设置有m个比特位,m和n为大于1的整数;根据遍历结果生成数值矩阵;其中,所述数值矩阵包含m
×
n个元素,每个元素包含两个参数值,数值矩阵的m个行与所述功能选择寄存器的m个比特位一一对应,所述数值矩阵的n个列与所述端口选择寄存器的n个比特位一一对应;在所述数值矩阵中查询两个参数值都等于预设值的元素;确定查询到的元素对应的io端口和数字功能具有绑定关系。3.根据权利要求2所述的方法,其特征在于,所述数值矩阵的每个行中仅有1个元素满足两个参数值均等于所述预设值,每个列中仅有1个元素满足两个参数值均等于所述预设值。4.根据权利要求1或2或3所述的方法,其特征在于,所述预设值为1。5.根据权利要求4所述的方法,其特征在于,所述配置指令是上位机基于用户的配置操作发送给芯片的。6.根据权利要求1或3或5所述的方法,其特征在于,所述io端口的标识信息包括io端口的组号和序号,所述数字功能的标识信息包括功能名称。7.根据权利要求6所述的方法,其特征在于,所述端口选择寄存器中比特位的数量和所述功能选择寄存器中比特位的数量与芯片的位宽相等。8.一种对芯片的io端口进行功能配置的装置,其特征在于,包括:收发单元,用于接收配置指令;其中,所述配置指令携带io端口的标识信息和数字功能的标识信息;解锁单元,用于响应于所述配置指令,对端口选择寄存器和功能选择寄存器进行解锁处理;设置单元,用于在所述端口选择寄存器中确定与所述io端口关联的比特位,以及将该比特位的值设置为预设值;所述设置单元,还用于在所述功能选择寄存器中确定与所述数字功能关联的比特位,以及将该比特位的值设置为所述预设值;加锁单元,用于设置完成后实现所述io端口和所述数字功能的绑定,以及对所述端口选择寄存器和所述功能选择寄存器进行加锁处理。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的方法步骤。10.一种芯片,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7任意一项的方法步骤。

技术总结
本申请实施例公开了一种对芯片的IO端口进行功能配置的方法、装置、存储介质及芯片,涉及芯片领域。本申请的方法包括:接收配置指令;响应于配置指令,对端口选择寄存器和功能选择寄存器进行解锁处理;在端口选择寄存器中确定与IO端口关联的比特位,以及将该比特位的值设置为预设值;在功能选择寄存器中确定与数字功能关联的比特位,以及将该比特位的值设置为预设值;设置完成后实现IO端口和数字功能的绑定,以及对端口选择寄存器和功能选择寄存器进行加锁处理,实现根据需求灵活绑定IC芯片的IO端口和数字功能,提升应用场景的兼容性。提升应用场景的兼容性。提升应用场景的兼容性。


技术研发人员:付国强
受保护的技术使用者:珠海泰芯半导体有限公司
技术研发日:2023.06.30
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐