System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及数据传输的,具体而言,涉及一种gpio模块、soc芯片、数据传输方法以及存储介质。
技术介绍
1、soc(system on chip,系统级芯片)是指将构成一个系统的软件和硬件集成在一个集成电路芯片中,主要包括总线、cpu(central processing unit,中央处理器)、ram(random access memory,随机存取存储器)、io(input/output,输入输出系统)等部分,集成数据获取、处理、存储和控制等功能。
2、soc系统中还包括gpio(general porposeintput output,通用输入输出端口)模块,gpio的管脚与外部设备端口之间相连接,可以实现soc芯片的cpu与外部通讯,具有功耗低、布线简单以及可复用等特点。
3、在目前的技术中,直接通过cpu来控制gpio端口电平的输入和输出,来实现soc芯片的cpu和外部设备之间的通讯,进而导致cpu的损耗较大,使得数据传输的效率低下。
技术实现思路
1、本申请实施例提供一种gpio模块、soc芯片、数据传输方法以及存储介质,旨在提高数据传输的效率。
2、第一方面本申请实施例提供一种gpio模块,应用于soc芯片,所述soc芯片中包括cpu和内部存储器,所述gpio模块包括寄存器配置单元、数据搬运单元以及数据传输单元,其中:
3、所述寄存器配置单元,用于响应于所述cpu发送的配置指令,设置待传输数据的传输方向和传输描述
4、所述数据搬运单元,用于根据所述寄存器配置单元设置的传输描述符,将所述内部存储器中的待传输数据传输至所述soc芯片连接的外部设备,或将所述soc芯片连接的外部设备中的待传输数据传输至所述内部存储器;
5、所述数据传输单元,用于根据所述寄存器配置单元设置的传输方向,将所述待传输数据发送至对应的gpio引脚,所述gpio引脚包括连接外部设备的外部引脚和连接soc芯片内部的内部引脚。
6、可选地,所述寄存器配置单元,还用于响应于所述cpu发送的传输模式设置指令,设置所述数据搬运单元的传输模式为fix模式或inc模式;
7、当所述数据搬运单元的传输模式为fix模式时,所述待传输数据的传输描述符包括目的地址、传输单位以及传输次数,所述数据搬运单元用于将所述待传输数据直接发送至所述待传输数据对应的目的地址;
8、当所述数据搬运单元的传输模式为inc模式时,所述待传输数据的传输描述符包括源地址、目的地址、传输单位以及传输次数,所述数据搬运单元用于在所述待传输数据对应的源地址中读取所述待传输数据,并将所述待传输数据发送至所述待传输数据对应的目的地址。
9、可选地,所述数据搬运单元还用于:
10、当所述待传输数据的传输方向为从soc芯片向外部设备时,所述数据搬运单元用于生成添加在所述待传输数据末端的校验位;
11、当所述待传输数据的传输方向为从外部设备向soc芯片内时,所述数据搬运单元用于根据所述待传输数据末端的校验位,对所述待传输数据进行校验。
12、可选地,所述gpio模块还包括安全单元,其中:
13、所述寄存器配置单元,还用于响应于所述cpu发送的安全指令,设置所述安全单元的目标加密模式,所述目标加密模式包括对称加密算法和分组密码算法;
14、当所述待传输数据的传输方向为从soc芯片向外部设备时,所述安全单元用于对所述数据搬运单元从所述内部存储器中获取的待传输数据,按照所述目标加密模式进行加密后发送至外部设备;
15、当所述待传输数据的传输方向为从外部设备向soc芯片内时,所述安全单元用于对所述数据搬运单元从外部设备获取的待传输数据,按照所述目标加密模式进行对应解密后再传输至所述内部存储器。
16、可选地,所述gpio模块还包括数据缓存单元,其中:
17、所述数据缓存单元,用于缓存所述数据搬运单元从所述内部存储器中读取的待传输数据,和/或缓存所述数据搬运单元从外部设备中获取的待传输数据;
18、当触发目标事件时,所述数据搬运单元将所述数据缓存单元中缓存的所述待传输数据发送至目标地址,所述目标事件包括基于先入先出顺序,待传输数据为所述数据缓存单元的当前数据。
19、可选地,所述gpio模块还包括数据缓存单元和安全单元,所述数据搬运单元、所述数据缓存单元、所述安全单元以及所述数据传输单元依次连接,其中:
20、所述寄存器配置单元,用于响应于所述cpu发送的安全模式设置指令,设置所述安全单元的当前加密模式;
21、当所述待传输数据的传输方向为从soc芯片向外部设备时,所述数据搬运单元用于根据所述待传输数据的传输描述符,在所述内部存储器中获取所述待传输数据,并存储在所述数据缓存单元中;
22、所述数据缓存单元按照先入先出的顺序,将自身存储的所述待传输数据发送至所述安全单元;
23、所述安全单元用于按照所述当前加密模式对所述待传输数据进行加密;
24、所述数据传输单元用于根据从soc芯片向外部设备的传输方向,将加密后的待传输数据发送至连接外部设备的外部引脚,以将所述内部存储器中的待传输数据发送至外部设备的目标地址;
25、当所述待传输数据的传输方向为从外部设备向soc芯片内时,所述数据搬运单元用于根据所述待传输数据的传输描述符,在外部设备中获取所述待传输数据,并将所述待传输数据发送至连接soc芯片内部的内部引脚;
26、所述安全单元用于按照所述当前加密模式对所述待传输数据进行对应解密,并将解密后的待传输数据存储在所述数据缓存单元中;
27、所述数据缓存单元按照先入先出的顺序,将自身存储的解密后的待传输数据发送至所述数据搬运单元;
28、所述数据搬运单元用于将解密后的待传输数据发送至所述内部存储器的目标地址。
29、可选地,所述gpio模块还包括gpio控制单元和引脚控制单元,其中:
30、所述gpio控制单元,用于配置gpio参数,所述gpio参数包括多个gpio引脚各自的传输方向、输出占空比以及中断触发模式;
31、所述引脚控制单元,用于控制gpio引脚的复用。
32、第二方面,本申请实施例提供一种soc芯片,所述soc芯片包括cpu、内部存储器以及实施例第一方面所述的gpio模块。
33、第三方面,本申请实施例提供一种数据传输方法,应用于soc芯片,所述soc芯片中包括cpu、内部存储器以及gpio模块,所述gpio模块包括寄存器配置单元、数据搬运单元以及数据传输单元,所述方法包括:
34、所述寄存器配置单元响应于所述cpu发送的配置指令,设置待传输数据的传输方向和传输描述符,所述传输描述符包括目的地址、传输单位以及传输次数;<本文档来自技高网...
【技术保护点】
1.一种GPIO模块,其特征在于,应用于SOC芯片,所述SOC芯片中包括CPU和内部存储器,所述GPIO模块包括寄存器配置单元、数据搬运单元以及数据传输单元,其中:
2.根据权利要求1所述的GPIO模块,其特征在于,
3.根据权利要求1所述的GPIO模块,其特征在于,所述数据搬运单元还用于:
4.根据权利要求1所述的GPIO模块,其特征在于,所述GPIO模块还包括安全单元,其中:
5.根据权利要求1所述的GPIO模块,其特征在于,所述GPIO模块还包括数据缓存单元,其中:
6.根据权利要求1所述的GPIO模块,其特征在于,所述GPIO模块还包括数据缓存单元和安全单元,所述数据搬运单元、所述数据缓存单元、所述安全单元以及所述数据传输单元依次连接,其中:
7.根据权利要求1所述的GPIO模块,其特征在于,所述GPIO模块还包括GPIO控制单元和引脚控制单元,其中:
8.一种SOC芯片,其特征在于,所述SOC芯片包括CPU、内部存储器以及权利要求1-7任一项所述的GPIO模块。
9.一种数据
10.一种非易失性可读存储介质,其特征在于,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行权利要求9所述的数据传输方法。
...【技术特征摘要】
1.一种gpio模块,其特征在于,应用于soc芯片,所述soc芯片中包括cpu和内部存储器,所述gpio模块包括寄存器配置单元、数据搬运单元以及数据传输单元,其中:
2.根据权利要求1所述的gpio模块,其特征在于,
3.根据权利要求1所述的gpio模块,其特征在于,所述数据搬运单元还用于:
4.根据权利要求1所述的gpio模块,其特征在于,所述gpio模块还包括安全单元,其中:
5.根据权利要求1所述的gpio模块,其特征在于,所述gpio模块还包括数据缓存单元,其中:
6.根据权利要求1所述的gpio模块,其特征在于,所述gpio模块还包括数据缓存单元和安全单元,所述数据搬运单元、所述数据缓存单元、...
【专利技术属性】
技术研发人员:苏丹丹,刘奇浩,沈艺,颜港,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。