系统级DMA安全机制方法、系统芯片、电子设备及介质与流程
未命名
09-23
阅读:57
评论:0
系统级dma安全机制方法、系统芯片、电子设备及介质
技术领域
1.本技术涉及数据传输技术领域,特别是涉及一种系统级dma安全机制方法、系统芯片、电子设备及介质。
背景技术:
2.在高安全等级的车载芯片工作中,若芯片内部dma数据搬运过程中出现异常逻辑翻转,会导致dma(direct memory access,直接存储器访问)执行异常,进而致使整个芯片数据传输出现灾难性后果。
3.传统技术中,可以对dma数据传输过程中的异常进行监控,但无法避免数据传输的源头异常对系统级dma安全性能的影响。因此,如何避免数据传输的源头异常对系统级的dma安全性能的影响,成为亟待解决的问题。
技术实现要素:
4.为了解决现有技术中存在的至少一个问题,本技术的目的在于提供系统级dma安全机制方法、系统芯片、电子设备及介质,能够实现对dma数据传输的源头异常的检测,有效避免了数据传输的源头异常对dma安全性能的影响,大幅提高了系统级dma安全性能。
5.为实现上述目的,本技术提供的系统级dma安全机制方法,应用于系统芯片,所述系统芯片包括dma功能电路,所述dma功能电路包括第一通道传输电路和第二通道传输电路,所述方法包括:
6.响应于获取到dma功能电路待搬运数据的数据传输路径信息,所述第一通道传输电路触发对应的第二通道传输电路使能;
7.所述第二通道传输电路对所述待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对所述寄存器信息的比对;
8.响应于所述比对的结果一致,所述第一通道传输电路基于所述数据传输路径信息进行数据搬运。
9.进一步地,所述第二通道传输电路对所述待搬运数据对应源头的寄存器信息进行读安全扫描的步骤,包括:
10.所述第二通道传输电路对所述待搬运数据的数据传输路径和指令配置路径上的寄存器存储信息、指令寄存器配置信息、接口配置寄存器信息、电路状态寄存器信息进行读安全信息扫描。
11.进一步地,在所述数据搬运的过程中,所述方法还包括:
12.所述第二通道传输电路对所述待搬运数据对应源头的寄存器信息进行所述读安全扫描,以触发对所述寄存器信息的比对;
13.响应于所述比对的结果不一致,进行中断报警处理。
14.进一步地,所述dma功能电路包括第一dma逻辑电路、第二dma逻辑电路和第一比对电路,所述第一dma逻辑电路和所述第二dma逻辑电路均包括所述第一通道传输电路和所述
第二通道传输电路,所述方法包括:
15.所述第二通道传输电路对所述dma功能电路中所述待搬运数据对应源头的寄存器信息进行读安全扫描,以触发所述第一比对电路对所述第一dma逻辑电路和所述第二dma逻辑电路之间的寄存器信息进行锁步比对,其中,所述第一dma逻辑电路和所述第二dma逻辑电路被配置为接收相同的dma读写指令;
16.响应于所述锁步比对的结果不一致,进行中断报警处理。
17.更进一步地,所述dma功能电路还包括第二比对电路,所述方法包括:
18.所述数据搬运的dma功能电路写出,触发所述第二比对电路对所述第一dma逻辑电路和所述第二dma逻辑电路之间的搬运数据进行锁步比对;
19.响应于所述锁步比对的结果不一致,进行中断报警处理。
20.更进一步地,所述dma功能电路中所述待搬运数据对应源头的寄存器信息,包括在所述dma功能电路中的数据传输路径和指令配置路径上,所述待搬运数据的寄存器存储信息、指令寄存器配置信息、接口配置寄存器信息、电路状态寄存器信息;
21.其中,所述数据传输路径上设置有仲裁处理电路和第一通道传输电路,所述指令配置路径上设置有地址寻址电路、第一通道配置电路、第二通道配置电路和仲裁配置电路;
22.所述第一通道配置电路用于配置所述第一通道传输电路,所述第二通道配置电路用于配置所述第二通道传输电路,所述仲裁配置电路用于配置所述仲裁处理电路,所述地址寻址电路用于向所述第一通道配置电路、所述第二通道配置电路和所述仲裁配置电路提供寻址服务,所述仲裁处理电路用于向所述第一通道传输电路和所述第二通道传输电路提供传输仲裁服务。
23.进一步地,所述触发所述第一比对电路对所述第一dma逻辑电路和所述第二dma逻辑电路之间的寄存器信息进行锁步比对的步骤,包括:
24.响应于所述dma功能电路接收到apb总线写入数据,所述第一dma逻辑电路无延时写入,所述第二dma逻辑电路延时第一预设时长写入;
25.响应于所述dma功能电路被读取apb总线数据,所述第一比对电路对所述第一dma逻辑电路延时第一预设时长的读取数据和所述第二dma逻辑电路无延时的读取数据进行锁步比对。
26.进一步地,所述数据搬运的dma功能电路写出,触发所述第二比对电路对所述第一dma逻辑电路和所述第二dma逻辑电路之间的搬运数据进行锁步比对的步骤,包括:
27.响应于所述dma功能电路读取到axi总线数据,所述第一dma逻辑电路无延时读入,所述第二dma逻辑电路延时第二预设时长读入;
28.响应于所述dma功能电路被读取axi总线数据,所述第二比对电路对所述第一dma逻辑电路延时第二预设时长的写出数据和所述第二dma逻辑电路无延时的写出数据进行锁步比对。
29.进一步地,在所述第一通道传输电路获取所述数据传输路径信息前,所述方法还包括:
30.所述系统芯片的cpu对dma通道配置电路进行功能安全配置,其中,所述dma通道配置电路包括对应所述第一通道传输电路设置的第一通道配置电路和对应所述第二通道传输电路设置的第二通道配置电路。
31.更进一步地,所述dma通道配置电路被配置为包括第一寄存器组、寄存器更新电路、第二寄存器组和第三寄存器组,所述方法还包括:
32.所述cpu对所述第一寄存器组配置高安全等级工作配置寄存器和锁指令寄存器;所述锁指令寄存器存储有锁指令信息;
33.所述寄存器更新电路控制是否将所述第一寄存器组中的存储信息映射更新至所述第二寄存器组;
34.响应于所述第一寄存器组中的存储信息映射更新至所述第二寄存器组,根据所述第二寄存器组中基于所述锁指令信息映射更新的低安全等级锁控制信息,控制是否锁死所述cpu对所述第三寄存器组的配置。
35.更进一步地,所述寄存器更新电路控制是否将所述第一寄存器组中的存储信息映射更新至所述第二寄存器组的步骤,包括:
36.读取所述寄存器更新电路的当前计数值;
37.响应于所述第一寄存器组被配置完成,且被所述cpu写入增加预设值的新计数值,则所述寄存器更新电路控制将所述第一寄存器组中的存储信息映射更新至所述第二寄存器组;
38.否则,所述寄存器更新电路控制不将所述第一寄存器组中的存储信息映射更新至所述第二寄存器组,并触发中断报警处理。
39.进一步地,所述根据所述第二寄存器组中映射更新的低安全等级锁控制信息,控制是否锁死所述cpu对所述第三寄存器组的配置的步骤,包括:
40.响应于所述第二寄存器组中映射更新的低安全等级锁控制信息为置0,所述低安全等级锁控制信息不限制所述cpu对所述第三寄存器组进行配置;
41.响应于所述第二寄存器组中映射更新的低安全等级锁控制信息为置1,锁死所述cpu对所述第三寄存器组的配置。
42.更进一步地,所述方法还包括:
43.在dma功能电路配置状态下,配置所述第一寄存器组中的所述锁指令信息为置0,并配置所述通道使能信息为置0;
44.在dma功能电路使能状态下,配置所述第一寄存器组中的所述锁指令信息为置1,并配置所述通道使能信息为置1。
45.进一步地,所述dma通道配置电路被配置为还包括第四寄存器组,所述方法还包括:
46.所述第四寄存器组实时获取相应通道传输电路的基本电路状态信息,以供所述第二通道传输电路扫描。
47.进一步地,所述cpu对dma通道配置电路进行功能安全配置的步骤之前,所述方法还包括:
48.所述cpu被配置所述系统芯片的第一存储器和第二存储器的读写权限;
49.所述dma功能电路被配置所述第一存储器和所述第二存储器的只读权限;
50.所述cpu配置第一传输描述符信息写入所述第一存储器,并配置第二传输描述符信息写入所述第二存储器,其中,所述第一传输描述符信息被配置为所述第一通道传输电路传输的dma数据传输描述符信息,所述第二传输描述符信息被配置为所述第二通道传输
电路传输的dma功能安全传输描述符信息。
51.进一步地,所述系统芯片的外设设备包括第三比对电路和两个外设逻辑电路,所述方法还包括:
52.所述第二通道传输电路基于所述读安全扫描确定的扫描路径信息,对对应外设设备中所述待搬运数据的寄存器信息进行读安全扫描,以触发所述第三比对电路对所述两个外设逻辑电路之间的寄存器信息进行锁步比对,其中,所述两个外设逻辑电路被配置为接收相同的外设读写指令;
53.响应于所述锁步比对的结果不一致,进行中断报警处理。
54.更进一步地,所述系统芯片的外设设备还包括第四比对电路,所述方法还包括:
55.所述数据搬运的外设写出,触发所述第四比对电路对两个外设逻辑电路之间的搬运数据进行锁步比对;
56.响应于所述锁步比对的结果不一致,进行中断报警处理。
57.为实现上述目的,本技术还提供的系统级dma安全机制的系统芯片,包括:dma功能电路,所述dma功能电路包括:
58.第一通道传输电路,所述第一通道传输电路的使能信号输出端,连接对应的第二通道传输电路的使能信号输入端;所述第一通道传输电路,响应于获取到所述dma功能电路的待搬运数据的数据传输路径信息,触发对应的第二通道传输电路使能;
59.第二通道传输电路,用于对所述待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对所述寄存器信息的比对;
60.所述第一通道传输电路,还响应于所述比对的结果一致,基于所述数据传输路径信息进行数据搬运。
61.为实现上述目的,本技术还提供的电子设备,包括存储器和处理器,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行如上所述的系统级dma安全机制方法。
62.为实现上述目的,本技术还提供的计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行如上所述的系统级dma安全机制方法的步骤。
63.本技术的系统级dma安全机制方法、系统芯片、电子设备及介质,通过第一通道传输电路响应于获取到dma功能电路待搬运数据的数据传输路径信息,触发对应的第二通道传输电路使能,并通过第二通道传输电路对待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对寄存器信息的比对,以及通过第一通道传输电路响应于比对的结果一致,基于数据传输路径信息进行数据搬运。由此,能够实现对dma数据传输的源头异常的检测,有效避免了数据传输的源头异常对dma安全性能的影响,大幅提高了系统级dma安全性能。
64.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。
附图说明
65.附图用来提供对本技术的进一步理解,并且构成说明书的一部分,并与本技术的实施例一起,用于解释本技术,并不构成对本技术的限制。在附图中:
66.图1为根据本技术实施例的系统芯片结构示意图;
67.图2为根据本技术实施例的系统级dma安全机制方法流程图;
68.图3为根据本技术实施例的dma功能电路结构示意图;
69.图4为根据本技术实施例的dma通道配置电路结构示意图;
70.图5为根据本技术实施例的dma通道配置安全机制流程图;
71.图6为本技术实施例的外设设备结构示意图;
72.图7为本技术实施例的系统级dma安全机制的系统芯片的结构框图;
73.图8为本技术实施例的电子设备的结构框图。
具体实施方式
74.下面将参照附图更详细地描述本技术的实施例。虽然附图中显示了本技术的某些实施例,然而应当理解的是,本技术可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本技术。应当理解的是,本技术的附图及实施例仅用于示例性作用,并非用于限制本技术的保护范围。
75.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
76.需要注意,本技术中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或数据进行区分,并非用于限定这些装置、模块、单元或数据所执行的功能的顺序或者相互依存关系。
77.需要注意,本技术中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
78.下面,将参考附图详细地说明本技术的实施例。
79.首先需要说明的是,本技术的系统级dma安全机制方法应用于系统芯片。该系统芯片包括dma功能电路。dma功能电路包括第一通道传输电路和第二通道传输电路。其中,第一通道传输电路用于基于数据传输路径信息进行数据搬运。第二通道传输电路用于对待搬运数据对应源头的寄存器信息进行读安全扫描。
80.对于系统芯片的结构来说,示例性地,参考图1所示,系统芯片1000可以分为不同的区域(domin)。区域编号(domain id)分别为0至5的区域中可以分别对应配置有cpu 10、总线仲裁电路20、dma功能电路30、ram(random access memory,随机存取存储)存储器40、内存储器50和外设设备60。在具体示例中,dma功能电路30可以包括用于锁步比对的第一dma逻辑电路和第二dma逻辑电路。cpu 10可以包括用于锁步比对的第一cpu逻辑电路和第二cpu逻辑电路。外设设备60可以包括用于锁步比对的第一外设逻辑电路和第二外设逻辑电路。ram存储器40可以包括第一存储器、第二存储器和权限控制电路。
81.对于系统芯片的相关访问路径配置来说,示例性地,cpu 10通过总线仲裁电路20的访问路径可以配置如下:
82.第一访问路径被配置为:cpu 10通过axi总线至总线仲裁电路20,而后总线仲裁电路20通过apb(advanced peripheral bus,先进外围总线)访问dma功能电路30的所有寄存
器。
83.第二访问路径被配置为:cpu 10通过axi总线至总线仲裁电路20,而后总线仲裁电路20通过axi(advanced extensible interface,高级可扩展接口)总线访问ram存储器40的第一存储器和第二存储器。
84.第三访问路径被配置为:cpu 10通过axi总线至总线仲裁电路20,而后总线仲裁电路20通过axi总线访问外设设备60的所有寄存器。
85.dma功能电路30通过总线仲裁电路20的访问路径可以配置如下:
86.第四访问路径被配置为:dma功能电路30通过axi总线至总线仲裁电路20,而后总线仲裁电路20通过apb总线访问dma功能电路30的所有寄存器。
87.第五访问路径被配置为:dma功能电路30通过axi总线至总线仲裁电路20,而后总线仲裁电路20通过axi总线访问ram存储器40的第一存储器和第二存储器。
88.第六访问路径被配置为:dma功能电路30通过axi总线至总线仲裁电路20,而后总线仲裁电路20通过apb总线访问外设设备60的状态寄存器。
89.第七访问路径被配置为:dma功能电路30通过axi总线至总线仲裁电路20,而后总线仲裁电路20通过axi总线访问内存储器50。
90.可以理解的是,对于系统芯片的结构、相关访问路径配置以及总线类型,本技术并不局限于采用上述示例性的具体方式。另外,上述电路模块之间的数据传输,可以是带纠错码(ecc)的,也可以是不带纠错码的,本技术对此不作具体限制。
91.图2为根据本技术实施例的系统级dma安全机制方法流程图,下面将参考图2,对本技术的系统级dma安全机制方法进行详细描述。
92.在步骤201,响应于获取到dma功能电路待搬运数据的数据传输路径信息,第一通道传输电路触发对应的第二通道传输电路使能。
93.具体地,当第一通道传输电路获取到待搬运数据的数据传输路径信息时,通过与对应的第二通道传输电路之间的通道链接,可以触发该第二通道传输电路使能。在具体示例中,参考图3所示,第一通道传输电路310的使能信号输出端,连接对应的第二通道传输电路320的使能信号输入端,形成通道链接。第一通道传输电路310,通过其第一输入端连接第一通道配置电路330的第一输出端,接收待搬运数据的数据传输路径信息。
94.需要说明的是,数据传输路径信息,可以包括dma功能电路待搬运数据的数据传输路径。其中,待搬运数据的数据传输路径,参考图1所示,具体可以是dma功能电路30通过总线仲裁电路20将待搬运数据从内存储器50搬运至外设设备60;也可以是dma功能电路30通过总线仲裁电路20将待搬运数据从外设设备60搬运至内存储器50;还可以是dma功能电路30通过总线仲裁电路20将待搬运数据从内存储器50一处搬运至内存储器50另一处。
95.在步骤202,第二通道传输电路对待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对寄存器信息的比对。
96.也就是说,第二通道传输电路对待搬运数据对应源头的寄存器信息(即待搬运数据所涉及所有功能电路的寄存器信息)进行读取扫描,并通过该读取扫描,来触发对寄存器信息的比对。
97.需要说明的是,待搬运数据对应源头的寄存器信息,包括数据传输源头所涉及待搬运数据安全的所有功能电路的所有寄存器信息。
98.其中,数据传输的源头,包括待搬运数据的整个搬运路径中的每一个子搬运路径的数据传输源头。示例性地,参考图1所示,对于dma功能电路30从内存储器50搬运向外设设备60搬运的场景来说,整个搬运路径依次经过内存储器50、总线仲裁电路20、dma功能电路30和外设设备60。该搬运路径上的电路或其内部的待搬运数据的传输电路,除外设设备60的传输目的电路外,均为待搬运数据的数据传输源头。例如,参考图3所示,对于从dma功能电路30中的第一通道传输电路310至仲裁处理电路20的子搬运路径来说,该第一通道传输电路为该子搬运路径对应的数据传输源头。
99.此外,在具体示例中,寄存器信息的比对,可以是在dma功能电路中,寄存器与对应的冗余寄存器之间的寄存器信息锁步比对;也可以是在外设设备中,寄存器与对应的冗余寄存器之间的寄存器信息锁步比对;还可以是对于总线仲裁电路,寄存器信息的特定值与dma功能电路内部预设值进行比对。
100.本技术实施例中,第二通道传输电路对待搬运数据对应源头的寄存器信息进行读安全扫描的步骤,包括:第二通道传输电路对待搬运数据的数据传输路径和指令配置路径上的寄存器存储信息、指令寄存器配置信息、接口配置寄存器信息、电路状态寄存器信息进行读安全信息扫描。
101.也就是说,待搬运数据对应源头的寄存器信息,可以包括:待搬运数据所涉及所有功能电路的数据传输路径和指令配置路径上的寄存器存储信息、指令寄存器配置信息、接口配置寄存器信息、电路状态寄存器信息。
102.具体地,寄存器存储信息包括寄存器中原始配置指令的寄存器存储信息。寄存器存储信息具体可以是,对dma功能电路或外设设备中的通道配置电路,cpu所配置的高安全等级工作配置信息、锁指令信息、低安全等级工作控制信息等。指令寄存器配置信息,为基于功能安全获取的、用于直接配置的寄存器信息。指令寄存器配置信息具体可以是,对上述高安全等级工作配置信息和锁指令信息的功能安全权限更新,用来直接配置相应的通道传输电路。接口配置寄存器信息具体可以是,针对传输总线的,dma功能电路的仲裁处理电路的接口配置寄存器信息,或总线仲裁电路的接口配置寄存器信息。电路状态寄存器信息可以是,该数据搬运所涉及的所有工作电路触发器的状态信息。
103.待搬运数据的指令配置路径是指,对待搬运数据的数据传输路径上的电路进行配置的路径。
104.示例性地,如图3所示,dma功能电路30的数据传输路径上设置有仲裁处理电路360、第一通道传输电路310和对应的第二通道传输电路320。并且,dma功能电路30的指令配置路径上设置有地址寻址电路350、第一通道配置电路330、第二通道配置电路340和仲裁配置电路370。
105.其中,第一通道配置电路330,通过其第一输出端,连接对应的第一通道传输电路310的第一输入端,用以配置第一通道传输电路310。
106.第二通道配置电路340,通过其第一输出端,连接对应的第二通道传输电路320的第一输入端,用以配置第二通道传输电路320。
107.仲裁配置电路370,通过其第一输出端,连接仲裁处理电路360的配置信号输入端,用以配置通道传输的仲裁处理电路360。
108.地址寻址电路350,通过其多个寻址输出端,分别连接第一通道配置电路330的第
一输入端、第二通道配置电路340的第一输入端和仲裁配置电路370的第一输入端,用以向第一通道配置电路330、第二通道配置电路340和仲裁配置电路370提供寻址服务。
109.仲裁处理电路360,通过其多个仲裁输出端,连接第一通道传输电路310的第二输入端和第二通道传输电路320的第二输入端,用以向第一通道传输电路310和第二通道传输电路320提供通道传输仲裁服务。
110.在步骤203,响应于比对的结果一致,第一通道传输电路基于数据传输路径信息进行数据搬运。
111.也就是说,参考图3所示,在数据搬运前,第二通道传输电路320先进行上述读安全扫描,通过该读安全扫描触发对寄存器信息的比对。若比对结果一致,则第一通道传输电路310按照数据传输路径进行数据搬运。若比对结果不一致,则可以进行中断报警处理。本技术中的中断报警处理可以是中断数据搬运处理由软件根据情况,确定暂停或停止或继续传输并记录等操作。从而能够有效预防dma数据传输的源头异常,提高dma安全性能。
112.根据本技术实施例的系统级dma安全机制方法,通过第一通道传输电路响应于获取到dma功能电路待搬运数据的数据传输路径信息,触发对应的第二通道传输电路使能;并通过第二通道传输电路对待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对寄存器信息的比对;以及通过第一通道传输电路响应于比对的结果一致,基于数据传输路径信息持续进行数据搬运。由此,能够实现对dma数据传输的源头异常的检测,有效避免了数据传输的源头异常对dma安全性能的影响,大幅提高了系统级dma安全性能。
113.本技术实施例中,在数据搬运的过程中,方法还包括:第二通道传输电路对待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对寄存器信息的比对;应于比对的结果不一致,进行中断报警处理。
114.也就是说,不仅在数据搬运前进行读安全扫描及比对检测,而且在数据搬运过程中也进行相应的读安全扫描及比对检测。从而能够实现对数据搬运的源头异常的有效预防和过程监控,进一步提高了系统级dma安全性能。
115.图3为本技术实施例的dma功能电路结构示意图,参考图3所示,dma功能电路30包括第一dma逻辑电路31、第二dma逻辑电路32、第一比对电路33、第二比对电路34、第一延时电路35、第二延时电路36、第三延时电路37和第四延时电路38。
116.具体地,对于第一dma逻辑电路31来说,第一dma逻辑电路31的apb写入端,连接总线仲裁电路20的第一apb输出端。第一dma逻辑电路31的apb读出端,连接总线仲裁电路20的第一apb输入端,并通过第二延时电路36,连接第一比对电路33的第一输入端。第一dma逻辑电路31的axi读入端,连接总线仲裁电路20的第一axi输出端。第一dma逻辑电路31的axi写出端,连接总线仲裁电路20的第一axi输入端,并通过第四延时电路38,连接第二比对电路34的第一输入端。
117.对于第二dma逻辑电路32来说,第二dma逻辑电路32的apb写入端,通过第一延时电路35,连接总线仲裁电路20的第一apb输出端。第二dma逻辑电路32的apb读出端,连接第一比对电路33的第二输入端。第二dma逻辑电路32的axi读入端,通过第三延时电路37,连接总线仲裁电路20的第一axi输出端。第一dma逻辑电路31的axi写出端,连接第二比对电路34的第二输入端。
118.并且,在第一dma逻辑电路31和第二dma逻辑电路32中,均包括第一通道传输电路
310、第二通道传输电路320、第一通道配置电路330、第二通道配置电路340、地址寻址电路350、仲裁处理电路360和仲裁配置电路370。这些电路的作用可以参见上述实施例,此处不作赘述。
119.作为具体示例,如图3所示,第一dma逻辑电路31和第二dma逻辑电路32均包括两个通道传输组(每个通道传输组中,分别包括相应的第一通道传输电路310、第二通道传输电路320、第一通道配置电路330和第二通道配置电路340)。
120.需要说明的是,每个dma逻辑电路可以包括多个通道传输组,一个通道传输组可以与一个外设设备对应配置,用于对相应外设设备进行数据搬运,其具体搬运策略参照上述实施例,此处不作赘述。
121.可以理解的是,第一dma逻辑电路31和第二dma逻辑电路32中,可以均包括一个通道传输组;也可以均包括多个通道传输组。本技术对此不作限制。
122.具体地,如图3所示,以第一dma逻辑电路31中的一个通道传输组为例:
123.第一通道配置电路330的第一输入端,通过地址寻址电路350,连接第一dma逻辑电路31的apb写入端,可以向第一通道配置电路330写入相关寄存器信息(如高安全等级工作配置寄存器信息、锁指令寄存器信息)。第一通道配置电路330的第一输出端,连接对应的第一通道传输电路310的第一输入端,可以对第一通道传输电路310进行配置。第一通道配置电路330的第二输入端,连接对应的第一通道传输电路310的第一输出端,可以读取对应的第一通道传输电路310的状态寄存器信息和功能安全状态寄存器信息。第一通道配置电路330的第二输出端,通过地址寻址电路350,连接第一dma逻辑电路31的apb读出端,可以将该第一通道配置电路330的相关寄存器信息(如高安全等级工作配置寄存器信息、锁指令寄存器信息、低安全等级工作配置寄存器信息、相应第一通道传输电路310的基本电路状态信息)读出至总线仲裁电路20,而后由相应的第二通道传输电路320通过axi总线读入。
124.第二通道配置电路340的第一输入端,通过地址寻址电路350,连接第一dma逻辑电路31的apb写入端,可以向第二通道配置电路340写入相关寄存器信息(如高安全等级工作配置寄存器信息、锁指令寄存器信息)。第二通道配置电路340的第一输出端,连接对应的第二通道传输电路320的第一输入端,可以对第二通道传输电路320进行配置。第二通道配置电路340的第二输入端,连接对应的第二通道传输电路320的第一输出端,可以读取对应的第二通道传输电路320的状态寄存器信息和功能安全状态寄存器信息。第二通道配置电路340的第二输出端,通过地址寻址电路350,连接第一dma逻辑电路31的apb读出端,可以将该第二通道配置电路340的相关寄存器信息(如高安全等级工作配置寄存器信息、锁指令寄存器信息、低安全等级工作配置寄存器信息、相应第二通道传输电路320的基本电路状态信息)读出至总线仲裁电路20,而后由相应的第二通道传输电路320通过axi总线读入。
125.第一通道传输电路310的第二输入端,通过仲裁处理电路360,连接第一dma逻辑电路31的axi读入端,可以将待搬运数据读入第一通道传输电路310。第一通道传输电路310的第二输出端,通过仲裁处理电路360,连接第一dma逻辑电路31的axi写出端,可以将待搬运数据,从第一通道传输电路310写出至总线仲裁电路20。
126.第二通道传输电路320的第二输入端,通过仲裁处理电路360,连接第一dma逻辑电路31的axi读入端,可以将待搬运数据对应源头的寄存器信息,读入第二通道传输电路320。
127.仲裁配置电路370的第一输入端,通过地址寻址电路350,连接第一dma逻辑电路31
的apb写入端,可以向仲裁配置电路370写入相关寄存器信息。仲裁配置电路370的第一输出端,连接仲裁处理电路360的配置信号输入端,可以向仲裁处理电路360配置相关寄存器信息。仲裁配置电路370的第二输出端,通过地址寻址电路350,连接第一dma逻辑电路31的apb读出端,可以将仲裁配置电路370的相关寄存器信息读出至总线仲裁电路20,而后由相应的第二通道传输电路320通过axi总线读入。
128.本技术实施例中,该系统级dma安全机制方法包括:第二通道传输电路对dma功能电路中待搬运数据对应源头的寄存器信息进行读安全扫描,以触发第一比对电路对第一dma逻辑电路和第二dma逻辑电路之间的寄存器信息进行锁步比对;响应于锁步比对的结果不一致,进行中断报警处理。
129.其中,如图3所示,第一dma逻辑电路31和第二dma逻辑电路32被配置为接收相同的dma读写指令。在具体示例中,第一dma逻辑电路31和第二dma逻辑电路32可以具有相应的结构和配置。
130.进一步地,触发第一比对电路对第一dma逻辑电路和第二dma逻辑电路之间的寄存器信息进行锁步比对的步骤,包括:响应于dma功能电路接收到apb总线写入数据,第一dma逻辑电路无延时写入,第二dma逻辑电路延时第一预设时长写入;响应于dma功能电路被读取apb总线数据,第一比对电路对第一dma逻辑电路延时第一预设时长的读取数据和第二dma逻辑电路无延时的读取数据进行锁步比对。
131.作为一个示例,如图1和图3所示,当cpu 10通过第一访问路径,访问dma功能电路30的所有寄存器时,通过apb总线直接将对应的配置信息无延时写入第一dma逻辑电路31,并延时两个工作时钟周期写入第二dma逻辑电路32。
132.并且,在dma功能电路30通过第四访问路径,环回访问dma功能电路30的寄存器时,即第二通道传输电路340进行读安全扫描时,通过apb总线将对应源头的寄存器信息分别从第一dma逻辑电路31和第二dma逻辑电路32读取。读取后,通过第一比对电路33进行锁步比对。该比对的对象,一个是经第二延时电路36延时的读自第一dma逻辑电路31的寄存器信息;另一个是无延时读自第二dma逻辑电路32的对应寄存器信息。若该锁步比对的结果不一致,则第一比对电路33上报至soc系统,进行中断报警处理。即通过对dma功能电路30的寄存器信息的锁步比对,避免了dma功能电路30配置异常对系统安全性能的影响。
133.在该示例中,第二通道传输电路320的读安全扫描机制如下:
134.对应源头的寄存器信息,从总线仲裁电路20通过axi总线输出至相应的仲裁处理电路360,经仲裁处理电路360进行仲裁后,被相应的第二通道传输电路320读入扫描。
135.具体地,第二通道传输电路320读入的寄存器信息,部分是源于dma功能电路30,部分是通过总线仲裁电路20源于其他源头。其中,源于dma功能电路30的相关寄存器信息,由于已通过apb总线读出,完成了第一比对电路33的锁步比对(参考上述dma功能电路30通过第四访问路径的环回访问),因此读入第二通道传输电路320后可以直接丢弃。源于其他源头的相关寄存器信息,其特定值可以与预设值进行比对,并在比对完成后丢弃。
136.可以理解的是,锁步比对的延时时长,如上述的第一预设时长、下文中的第二预设时长,可以是两个工作时钟周期;也可以是其他时长。本技术对此不作具体限制。
137.本技术实施例中,参考图3所示,该方法还包括:数据搬运的dma功能电路写出,触发第二比对电路对第一dma逻辑电路和第二dma逻辑电路之间的搬运数据进行锁步比对;响
应于锁步比对的结果不一致,进行中断报警处理。
138.进一步地,数据搬运的dma功能电路写出,触发第二比对电路对第一dma逻辑电路和第二dma逻辑电路之间的搬运数据进行锁步比对的步骤,包括:响应于dma功能电路读取到来自axi总线数据,第一dma逻辑电路无延时读入,第二dma逻辑电路延时第二预设时长读入。响应于dma功能电路写出到axi总线数据,第二比对电路对第一dma逻辑电路延时第二预设时长的写出数据和第二dma逻辑电路无延时的写出数据进行锁步比对。
139.示例性地,如图3所示,在dma功能电路30进行数据搬运的过程中:当dma功能电路30通过axi总线读入外部数据时,第一dma逻辑电路31直接无延时读入数据,第二dma逻辑电路32通过第三延时电路37延时两个工作时钟周期后读入对应数据。在dma功能电路30通过axi总线写出对应数据时,将对应数据分别从第一dma逻辑电路31和第二dma逻辑电路32写出。写出后,通过第二比对电路34进行锁步比对。该比对的对象,一个是由第一dma逻辑电路31写出的、通过第四延时电路38延时两个工作时钟周期后的数据;另一个是由第二dma逻辑电路32无延时写出的对应数据。若该锁步比对的结果不一致,则进行中断报警处理。即通过对dma功能电路30的搬运数据的锁步比对,避免了dma功能电路数据搬运异常对系统安全性能的影响。
140.本技术实施例中,在第一通道传输电路获取数据传输路径信息前,方法还包括:系统芯片的cpu对dma通道配置电路进行功能安全配置。
141.具体地,参考图3所示,dma通道配置电路包括第一通道配置电路330和第二通道配置电路340。其中,第一通道配置电路330用于对相应的第一通道传输电路310进行配置;第二通道配置电路340用于对相应的第二通道传输电路320进行配置。
142.进一步地,图4为本技术实施例dma通道配置电路的结构示意图,参考图4所示,dma通道配置电路被配置为包括第一寄存器组331、寄存器更新电路332、第二寄存器组333和第三寄存器组334。
143.其中,第一寄存器组331包括至少一个高安全等级工作配置寄存器3311和锁指令寄存器3312。第二寄存器组333与第一寄存器组331对应设置,以便于基于第一寄存器组331的寄存器信息进行映射更新。即第二寄存器组333包括与高安全等级工作配置寄存器3311数量对应的高安全等级工作控制寄存器3331(用于基于对应高安全等级工作配置寄存器3311进行映射更新),以及低安全等级锁控制寄存器3332(用于基于锁指令寄存器3312进行映射更新,以控制低安全等级寄存器更新权限)。在具体示例中,高安全等级工作控制寄存器3331用于控制dma功能电路的启动、数据传输范围及数据量大小。该类高安全等级工作若出现异常配置,对soc系统的影响较大。第三寄存器组334包括至少一个低安全等级工作控制寄存器3341。在具体示例中,低安全等级工作控制寄存器3341用于控制dma性能相关配置。该类低安全等级工作若出现异常配置,对soc系统的影响相对较小。由此,对不同的安全等级需求,采用不同功能安全系统保护机制。从而有助于兼顾减小dma功能电路面积和满足系统功能安全高要求。
144.本技术实施例中,参考图5所示,该方法还包括以下步骤:
145.在步骤401,cpu对第一寄存器组配置高安全等级工作配置寄存器和锁指令寄存器。
146.也就是说,如图4所示,cpu通过apb总线配置第一寄存器组331中的至少一个高安
全等级工作配置寄存器3311和锁指令寄存器3312。
147.在步骤402,寄存器更新电路控制是否将第一寄存器组中的存储信息映射更新至第二寄存器组。
148.具体地,如图4所示,寄存器更新电路332控制是否将第一寄存器组331中cpu新配置的存储信息映射更新至第二寄存器组333。进一步地,步骤402包括以下步骤:
149.在步骤4021,读取寄存器更新电路的当前计数值。
150.在步骤4022,响应于第一寄存器组被配置完成,且被cpu写入增加预设值的新计数值,则寄存器更新电路控制将第一寄存器组中的存储信息映射更新至第二寄存器组;否则,寄存器更新电路控制不将第一寄存器组中的存储信息映射更新至第二寄存器组,并触发中断报警处理。
151.在具体示例中,cpu通过apb总线读取寄存器更新电路332的当前存储数值,而后通过apb总线配置第一寄存器组331。配置完成后,cpu将对所读取的数值加1的数值通过apb总线写入寄存器更新电路332,作为寄存器更新电路332新的当前存储数值。若寄存器更新电路332检测到有当前存储数值加1后写入的操作,则将第一寄存器组331的配置值全部对应更新至第二寄存器组333。其中,第一寄存器组331的配置值,即高安全等级工作配置寄存器3311和锁指令寄存器3312中配置的信息。若寄存器更新电路332未检测到当前存储数值加1后写入的操作,则寄存器更新电路332控制第二寄存器组333不进行更新,并触发中断报警处理。
152.也就是说,cpu通过apb电路配置第一寄存器组331,可以没有读写限制。但是,第一寄存器组331并不直接控制dma功能电路工作,而是在寄存器更新电路332的安全保护下,通过将第一寄存器组331信息的更新映射更新至第二寄存器组333,并通过第二寄存器组333来控制dma功能电路工作。由此,构建了dma寄存器高功能安全系统保护机制。
153.在步骤403,响应于第一寄存器组中的存储信息映射更新至第二寄存器组,根据第二寄存器组中基于锁指令信息映射更新的低安全等级锁控制信息,控制是否锁死cpu对第三寄存器组的配置。
154.本技术实施例中,根据第二寄存器组中基于锁指令信息映射更新的低安全等级锁控制信息,控制是否锁死cpu对第三寄存器组的配置的步骤,包括:响应于第二寄存器组中映射更新的低安全等级锁控制信息置为0,即锁不使能,低安全等级锁控制信息不限制cpu对第三寄存器组进行配置。响应于第二寄存器组中映射更新的低安全等级锁控制信息置为1,即锁使能,锁死cpu对第三寄存器组的配置。
155.也就是说,在高安全等级工作控制正常的情况下,第一寄存器组中的存储信息映射更新至第二寄存器组。此时,若第二寄存器组333中映射更新的低安全等级锁控制信息置为0,即锁不使能,则cpu可以对第三寄存器组334进行正常配置。即通过apb总线将低安全等级工作控制信息写入对应的低安全等级工作控制寄存器3341。若第二寄存器组333中映射更新的低安全等级锁控制信息置为1,即锁使能,则通过寄存器组写控制锁,锁死cpu对第三寄存器组334的配置。从而使得cpu无法通过apb总线更新第三寄存器组334,以防cpu对第三寄存器组334进行异常篡改。
156.进一步地,方法还包括:在dma功能电路配置状态下,配置第一寄存器组中的锁指令信息为置0,并配置通道使能信息为置0;在dma功能电路使能状态下,配置第一寄存器组
中的锁指令信息为置1,并配置通道使能信息为置1。
157.需要说明的是,dma功能电路配置状态,是指通过cpu对第一寄存器组331和第三寄存器组334中的至少一个进行配置信息写入的状态。在该状态下,可以配置第一寄存器组中的锁指令信息置为0,即存储锁不使能原始指令,并配置第一寄存器组331中通道使能置为0,即存储通道不使能原始指令。而后通过更新规则,使第二寄存器组中的低安全等级锁控制信息更新为0,即锁不使能指令生效,并更新第二寄存器组333中通道使能置为0,即不使能指令生效。此时,第三寄存器组334没有锁死写权限,且第二寄存器组333时刻受到寄存器更新电路332的更新规则保护。即使配置状态下cpu异常更新第三寄存器组334,由于第二寄存器组333中通道使能信息为置0,第二寄存器组333和第三寄存器组334对dma功能电路的配置通道处于关闭状态。从而,能够有效防止配置异常导致的异常扩散。
158.dma功能电路使能状态,是指在第二寄存器组333更新完成后,第二寄存器组333和第三寄存器组334对dma功能电路的配置通道处于被保护状态。由此,使得dma功能电路能够安全地进行相应的数据搬运。在dma功能电路使能状态下,通过配置第一寄存器组和更新规则后,第二寄存器组中的低安全等级锁控制信息为置1,并且第二寄存器组333中的配置通道使能为置1。此时,第三寄存器组334锁死写权限,从而确保dma功能电路正常工作时,第二寄存器组333和第三寄存器组334不会被cpu异常更新。
159.本技术实施例中,参考图4所示,dma通道配置电路被配置为还包括第四寄存器组335。该方法还包括:第四寄存器组实时获取相应通道传输电路的基本电路状态信息,以供第二通道传输电路扫描。
160.具体地,第四寄存器组335中可以配置有多个只读寄存器3351。通过实时获取相应通道传输电路的基本电路状态信息,能够减小电路面积,有助于在有限面积的条件下实现更全面的检测。
161.本技术实施例中,cpu对dma通道配置电路进行功能安全配置的步骤之前,方法还包括:cpu被配置系统芯片的第一存储器和第二存储器的读写权限;dma功能电路被配置第一存储器和第二存储器的只读权限;cpu配置第一传输描述符信息写入第一存储器,并配置第二传输描述符信息写入第二存储器。
162.其中,第一传输描述符信息被配置为第一通道传输电路传输的dma数据传输描述符信息,第二传输描述符信息被配置为第二通道传输电路传输的dma功能安全传输描述符信息。
163.作为一个具体实施例,对于通过dma功能电路,将内存储器的数据搬运至外设设备的具体场景,可以采用以下步骤:
164.在步骤501:系统初始化,对ram存储器进行指令存储区域读写权限配置。
165.其中,ram存储器包括第一存储器和第二存储器。第一存储器用于存储第一传输描述符信息,第二存储器用于存储第二传输描述符信息。
166.具体地,cpu通过axi总线经总线仲裁电路配置ram存储器的权限控制电路(access permission)的配置读写权限表格。具体读写权限配置为:
167.第一,cpu具有对第一存储器和第二存储器的读写访问权限。即cpu通过总线仲裁电路,能够以axi总线读写第一存储器和第二存储器。第二,dma功能电路具有对第一存储器和第二存储器的只读访问权限,而不具有写权限。即dma功能电路通过总线仲裁电路,以axi
总线仅能读取而不能写入第一存储器和第二存储器。第三,系统芯片中的其他功能电路对第一存储器和第二存储器不具有读写权限。
168.在步骤502,cpu配置第一传输描述符信息写入第一存储器,并配置第二传输描述符信息写入第二存储器。
169.在该示例中,第一传输描述符信息包括:传输源(内存储器作为传输开始地址:4000_0000)、传输目的(外设设备作为传输目的地址:8000_0000)、传输数据量(1000比特)和传输模式(传输开始触发第二通道传输电路工作)。
170.第二传输描述符信息包括:
171.传输源1(dma功能电路的第一通道配置电路作为传输开始地址:1000_1000)、传输目的1(无,即作数据丢弃处理)、传输数据量(50比特)和传输模式(传输完成后,执行从传输源2至传输目的2的传输);
172.传输源2(dma功能电路对应的仲裁配置电路作为传输开始地址:3000_1000)、传输目的2(无,即作数据丢弃处理)、传输数据量(20比特)和传输模式(传输完成后,执行从传输源3至传输目的3的传输);
173.传输源3(对应的外设设备的寄存器作为传输开始地址:8000_1000)、传输目的3(无,即作数据丢弃处理)、传输数据量(80比特)和传输模式(传输完成后,执行从传输源1至传输目的1的传输)。
174.在该示例中,第一通道传输电路被配置为数据搬运通道,用于将待搬运数据从内存储器搬运至外设设备。第二通道传输电路被配置为在搬运前和搬运过程中,对对应的第一通道传输电路、外设设备和总线仲裁电路的寄存器进行读安全扫描。第二通道传输电路还被配置为通过扫描全部寄存器,结合对应的apb总线锁步比对,来逐一检测是否存在异常,实现系统功能安全检测功能。
175.需要说明的是,在cpu配置完成第一存储器和第二存储器的传输描述符信息后,ram存储器的权限控制装置可以将cpu对第一存储器和第二存储器的写权限取消,直至读安全扫描结束。从而,防止后续cpu出现异常时误写入第一存储器和第二存储器。
176.在步骤503,cpu对dma功能电路和外设设备的功能寄存器进行配置。
177.具体地,可以使dma功能电路获取第一存储器和第二存储器中的传输描述符信息,并配置相关数据传输的路径和数据量。比如配置将内存储器的数据搬运到外设设备;又如配置外设设备与dma功能电路中对应的第一通道传输电路通过握手协议来协同工作。
178.在步骤504,使能dma功能电路,而后使能外设设备。
179.在步骤505,在数据搬运前和数据搬运过程中,进行比对,检测是否需要中断报警处理,直至数据搬运完成。
180.图6为本技术实施例的外设设备结构示意图。参考图6所示,系统芯片的外设设备60包括两个外设逻辑电路(即第一外设逻辑电路61和第二外设逻辑电路62)、第三比对电路63、第五延时电路65和第六延时电路66。具体来说,外设设备基于锁步比对设计设有第一外设逻辑电路61和第二外设逻辑电路62,二者均至少包括外设地址寻址电路610、外设功能寄存器620、外设状态寄存器630和外设处理电路640。
181.在每个外设逻辑电路中,外设地址寻址电路610用于向外设功能寄存器620和外设状态寄存器630提供寻址服务;外设功能寄存器620用于配置外设功能指令;外设状态寄存
器630用于存储外设工作状态信息;外设处理电路640用于向外设功能寄存器620和外设状态寄存器630提供传输仲裁服务。
182.本技术实施例中,该方法还包括:第二通道传输电路基于读安全扫描确定的扫描路径信息,对对应外设设备中待搬运数据的寄存器信息进行读安全扫描。由此,触发第三比对电路对两个外设逻辑电路之间的寄存器信息进行锁步比对。
183.其中,两个外设逻辑电路被配置为接收相同的外设读写指令,并响应于锁步比对的结果不一致,进行中断报警处理。
184.具体地,参考图6所示,类似于dma功能电路,外设设备60的寄存器信息锁步比对检测机制可以为:cpu在访问外设设备60的寄存器时,通过apb总线直接将寄存器信息无延时写入第一外设逻辑电路61,并通过第五延时电路65延时两个工作时钟周期后写入第二外设逻辑电路62。dma功能电路的第二通道传输电路在读安全扫描外设设备60的寄存器时,通过apb总线分别从第一外设逻辑电路61和第二外设逻辑电路62读取对应的寄存器信息,并通过第三比对电路63进行锁步比对。该比对的对象,一个是读自第一外设逻辑电路61的、通过第六延时电路66延时两个工作时钟周期后的寄存器信息;另一个是无延时读自第二外设逻辑电路62的对应寄存器信息。若该锁步比对的结果不一致,则进行中断报警处理。即通过对外设设备60的寄存器信息的锁步比对,避免了外设设备配置功能异常对系统安全性能的影响。
185.进一步地,系统芯片的外设设备还包括第四比对电路,该方法还包括:数据搬运的外设设备写出,触发第四比对电路对两个外设逻辑电路之间的搬运数据进行锁步比对;响应于锁步比对的结果不一致,进行中断报警处理。
186.具体地,类似于dma功能电路30,参考图6所示,外设设备60的搬运数据锁步比对检测机制可以为:在dma功能电路30对外设设备60进行数据搬运的过程中,当外设设备60通过axi总线读取外部数据时,第一外设逻辑电路61直接无延时读取对应数据,第二外设逻辑电路62通过第七延时电路67延时两个工作时钟周期读取数据;当外设设备60通过axi总线写出对应数据时,通过axi总线将对应数据分别从第一外设逻辑电路61和第二外设逻辑电路62写出,并通过第四比对电路64进行锁步比对。该比对的对象,一个是由第一外设逻辑电路61写出,而后通过第八延时电路68延时两个工作时钟周期后的数据;另一个是由第二外设逻辑电路62无延时写出的对应数据。若该锁步比对的结果不一致,则进行中断报警处理。即通过对外设设备60的搬运数据的锁步比对,避免了外设设备数据搬运功能异常对系统安全性能的影响。
187.下面通过一个对外设设备进行数据搬运的具体实施例,对本技术作进一步说明。
188.在该具体实施例中,如图3所示,dma功能电路30内部工作硬件电路触发器全部映射更新到相应的状态只读寄存器。具体地,对于第一dma逻辑电路31和第二dma逻辑电路32,二者的第一通道传输电路310、第二通道传输电路320和仲裁处理电路360内部全部硬件电路的触发器全部映射更新至相应的状态只读寄存器。对于这些状态只读寄存器,dma功能电路30可以通过地址寻址电路350进行选择,并通过apb总线来逐一读取,从而获取dma功能电路30全部硬件电路的触发器的状态。
189.并且,如图6所示,外设设备60内部工作硬件电路触发器也全部映射更新到相应的状态寄存器。具体地,第一外设逻辑电路61和第二外设逻辑电路62内部全部硬件电路的触
发器,全部映射更新至相应的状态寄存器。对于这些状态寄存器,可以通过外设设备60的地址寻址电路610进行选择,并通过apb总线来逐一读取,从而获取外设设备60全部硬件电路的触发器状态。
190.而后,如图1所示,cpu 10通过第三访问路径,或dma功能电路30通过第六访问路径,逐一读取外设设备60的全部功能寄存器和全部状态寄存器。cpu 10通过第一访问路径,或dma功能电路30通过第四访问路径,逐一读取dma功能电路30的全部功能寄存器和全部状态寄存器。
191.如图3和图6所示,在逐一读取外设设备60和dma功能电路30的全部寄存器时,dma功能电路30的第一比对电路33和外设设备60的第三比对电路63会通过apb总线进行锁步比对。
192.其中,dma功能电路30对第一dma逻辑电路31和第二dma逻辑电路32的寄存器逐一读取检测。具体方式为:对dma功能寄存器逐一读取检测,确认第一dma逻辑电路31和第二dma逻辑电路32的配置完全一致;对dma状态寄存器逐一读取检测,确认第一dma逻辑电路31和第二dma逻辑电路32内部全部硬件电路的触发器工作状态是否保持一致。若上述检测结果存在不一致,则确定dma功能电路30存在异常。在这种情况下,第一比对电路33随即向soc系统发出报警,进行中断报警处理。
193.相应地,dma功能电路30对外设设备60中的第一外设逻辑电路61和第二外设逻辑电路62的寄存器逐一读取检测。具体方式为:对外设功能寄存器620逐一读取检测,确认第一外设逻辑电路61和第二外设逻辑电路62的配置完全一致;对外设状态寄存器630逐一读取检测,确认第一外设逻辑电路61和第二外设逻辑电路62内部全部硬件电路的触发器工作状态是否保持一致。若上述检测结果存在不一致,则确定外设设备60存在异常。在这种情况下,第三比对电路63随即向soc系统发出报警,进行中断报警处理。
194.本技术实施例中,在数据搬运前,和/或,在数据搬运的过程中,该方法还包括:第二通道传输电路对系统芯片的总线仲裁电路的接口配置寄存器信息和电路状态寄存器信息进行扫描;响应于扫描结果为异常,进行中断报警处理。
195.也就是说,参考图1和图3所示,在数据搬运前,或在数据搬运的过程中,或在数据搬运前及数据搬运的过程中,第二通道传输电路320还对系统芯片的总线仲裁电路20的寄存器信息进行读安全扫描。其中,总线仲裁电路20的寄存器信息,可以包括总线仲裁电路20的接口配置寄存器信息和电路状态寄存器信息。完成上述读安全扫描后,可以通过特定值比对确定总线仲裁电路20是否存在异常。比如,第二通道传输电路320读取接口配置寄存器信息的全部信息做校验运算,得到校验运算结果,与第二寄存器组中的预设校验运算值做比对。若比对一致,则判断为正常;若比对不一致,则判断为异常,并进行中断报警处理。又如,第二通道传输电路320读取电路状态寄存器信息,若检测有任意位为1,即表示特定功能异常,则判断为异常,并进行中断报警处理。即通过对电路进行动态的功能安全检查,确保了该检测的实时性。由此,通过第二通道传输电路320对总线仲裁电路20的读安全扫描,能够避免总线仲裁电路异常对系统安全性能的影响。
196.综上所述,根据本技术实施例的系统级dma安全机制方法,通过第一通道传输电路响应于获取到dma功能电路待搬运数据的数据传输路径信息,触发对应的第二通道传输电路使能;并通过第二通道传输电路对待搬运数据对应源头的寄存器信息进行读安全扫描,
以触发对寄存器信息的比对;以及通过第一通道传输电路响应于比对的结果一致,基于数据传输路径信息进行数据搬运。由此,能够实现对dma数据传输的源头异常的检测,有效避免了数据传输的源头异常对dma安全性能的影响,大幅提高了系统级dma安全性能。
197.图7为本技术实施例的系统级dma安全机制的系统芯片的结构框图。参考图1-7所示,系统级dma安全机制的系统芯片1000包括dma功能电路30,dma功能电路30包括第一通道传输电路310和第二通道传输电路320。
198.其中,第一通道传输电路310的使能信号输出端,连接对应的第二通道传输电路320的使能信号输入端。第一通道传输电路310,响应于获取到dma功能电路30的待搬运数据的数据传输路径信息,触发对应的第二通道传输电路320使能。
199.第二通道传输电路320,用于对待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对寄存器信息的比对。
200.第一通道传输电路310,还响应于比对的结果一致,基于数据传输路径信息进行数据搬运。
201.本技术实施例中,第二通道传输电路320具体用于,对待搬运数据的数据传输路径和指令配置路径上的寄存器存储信息、指令寄存器配置信息、接口配置寄存器信息、电路状态寄存器信息进行读安全信息扫描。
202.本技术实施例中,系统芯片1000还包括比对电路。在数据搬运的过程中,第二通道传输电路320用于,对待搬运数据对应源头的寄存器信息进行读安全扫描,以触发比对电路对寄存器信息的比对。比对电路,响应于比对的结果不一致,进行中断报警处理。
203.本技术实施例中,dma功能电路30包括第一dma逻辑电路31、第二dma逻辑电路32和第一比对电路33。第一dma逻辑电路31和第二dma逻辑电路32,均包括第一通道传输电路310和第二通道传输电路320。
204.第二通道传输电路320具体用于,对dma功能电路30中待搬运数据对应源头的寄存器信息进行读安全扫描。第一比对电路33用于,在读安全扫描的触发下对第一dma逻辑电路31和第二dma逻辑电路32之间的寄存器信息进行锁步比对。第一比对电路33,还响应于锁步比对的结果不一致,进行中断报警处理。第一dma逻辑电路31和第二dma逻辑电路32,被配置为接收相同的dma读写指令。
205.进一步地,dma功能电路30还包括第二比对电路34。第二比对电路34用于,在数据搬运的dma功能电路30写出的触发下,对第一dma逻辑电路31和第二dma逻辑电路32之间的搬运数据进行锁步比对。第二比对电路34,还响应于锁步比对的结果不一致,进行中断报警处理。
206.本技术实施例中,第一dma逻辑电路31,响应于dma功能电路30接收到apb总线写入数据,无延时写入。第二dma逻辑电路32,响应于dma功能电路30接收到apb总线写入数据,延时第一预设时长写入。第一比对电路33,响应于dma功能电路30被读取apb通信数据,对第一dma逻辑电路31延时第一预设时长的读取数据和第二dma逻辑电路32无延时的读取数据进行锁步比对。
207.本技术实施例中,第一dma逻辑电路31,响应于dma功能电路30读取到axi总线数据,无延时写入。第二dma逻辑电路32,响应于dma功能电路30读取到axi总线数据,延时第二预设时长写入。第二比对电路34,响应于dma功能电路30被读取axi总线数据,对第一dma逻
辑电路31延时第二预设时长的读取数据和第二dma逻辑电路32无延时的读取数据进行锁步比对。
208.本技术实施例中,系统芯片1000还包括cpu 10。cpu 10用于,在第一通道传输电路310获取数据传输路径信息前,对dma通道配置电路进行功能安全配置。其中,dma通道配置电路,包括对应第一通道传输电路310设置的第一通道配置电路330和对应第二通道传输电路320设置的第二通道配置电路340。
209.进一步地,dma通道配置电路被配置为,包括第一寄存器组331、寄存器更新电路332、第二寄存器组333和第三寄存器组334。cpu 10具体用于,对第一寄存器组331配置高安全等级工作配置寄存器3311和锁指令寄存器3312,锁指令寄存器3312存储有锁指令信息。寄存器更新电路332用于,控制是否将第一寄存器组331中的存储信息映射更新至第二寄存器组333。第二寄存器组333,响应于第一寄存器组331中的存储信息映射更新至第二寄存器组333,根据第二寄存器组333中基于锁指令信息映射更新的低安全等级锁控制信息,控制是否锁死cpu 10对第三寄存器组334的配置。
210.进一步地,寄存器更新电路332具体用于,读取寄存器更新电路332的当前计数值,并响应于第一寄存器组331被配置完成,且被cpu 10写入增加预设值的新计数值,则寄存器更新电路332控制将第一寄存器组331中的存储信息映射更新至第二寄存器组333。寄存器更新电路332,还响应于第一寄存器组331未被配置完成,或未被cpu 10写入增加预设值的新计数值,则寄存器更新电路332控制不将第一寄存器组331中的存储信息映射更新至第二寄存器组333,并触发中断报警处理。
211.本技术实施例中,第二寄存器组333,响应于第二寄存器组333中映射更新的低安全等级锁控制信息为置0,低安全等级锁控制信息不限制cpu 10对第三寄存器组334进行配置。第二寄存器组333,还响应于第二寄存器组333中映射更新的低安全等级锁控制信息为置1,锁死cpu 10对第三寄存器组334的配置。
212.进一步地,cpu 10还用于,在dma功能电路配置状态下,配置第一寄存器组331中的锁指令信息为置0,并配置通道使能信息为置0。cpu 10还用于,在dma功能电路使能状态下,配置第一寄存器组331中的锁指令信息为置1,并配置通道使能信息为置1。
213.本技术实施例中,dma通道配置电路被配置为,还包括第四寄存器组335。第四寄存器组335用于,实时获取相应通道传输电路的基本电路状态信息,以供第二通道传输电路320扫描。
214.本技术实施例中,在cpu 10对dma通道配置电路进行功能安全配置之前,cpu 10还用于,被配置系统芯片1000的第一存储器和第二存储器的读写权限。dma功能电路30还用于,在cpu 10对dma通道配置电路进行功能安全配置之前,被配置第一存储器和第二存储器的只读权限。cpu 10还用于,配置第一传输描述符信息写入第一存储器,并配置第二传输描述符信息写入第二存储器。其中,第一传输描述符信息被配置为第一通道传输电路310传输的dma数据传输描述符信息;第二传输描述符信息被配置为第二通道传输电路320传输的dma功能安全传输描述符信息。
215.本技术实施例中,系统芯片1000的外设设备60包括第三比对电路63和两个外设逻辑电路。第二通道传输电路320具体用于,基于读安全扫描确定的扫描路径信息,对对应外设设备60中待搬运数据的寄存器信息进行读安全扫描。第三比对电路63用于,在该读安全
扫描的触发下,对两个外设逻辑电路之间的寄存器信息进行锁步比对,并响应于锁步比对的结果不一致,进行中断报警处理。两个外设逻辑电路,被配置为接收相同的外设读写指令。
216.进一步地,系统芯片1000的外设设备60,还包括第四比对电路64。第四比对电路64,用于在数据搬运的外设写出的触发下,对两个外设逻辑电路61之间的搬运数据进行锁步比对,并响应于锁步比对的结果不一致,进行中断报警处理。
217.本技术实施例中,第二通道传输电路320还用于,在数据搬运前,或在数据搬运的过程中,或在数据搬运前和数据搬运的过程中,对系统芯片1000的总线仲裁电路20的接口配置寄存器信息和电路状态寄存器信息进行扫描。第一比对电路33还响应于扫描结果为异常,向soc系统发出报警,以便soc系统进行中断报警处理。
218.需要说明的是,上述实施例中对系统级dma安全机制方法的解释说明也适用于上述实施例中的系统级dma安全机制的系统芯片,此处不再赘述。
219.图8为本技术实施例的电子设备的结构框图。参考图8所示,电子设备80,包括存储器81和处理器82。存储器81中存储有计算机指令,处理器82被设置为运行指令以执行如上的系统级dma安全机制方法。
220.本技术一个实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的系统中所包含的;也可以是单独存在,而未装配入该系统中。上述计算机可读存储介质承载有一个或者多个计算机指令。当上述一个或者多个计算机指令被执行时,实现上述实施例的系统级dma安全机制方法的步骤。
221.本技术的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。计算机可读存储介质可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质。该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
222.本领域普通技术人员可以理解:以上仅为本技术的优选实施例而已,并不用于限制本技术。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种系统级dma安全机制方法,其特征在于,应用于系统芯片,所述系统芯片包括dma功能电路,所述dma功能电路包括第一通道传输电路和第二通道传输电路,所述方法包括:响应于获取到dma功能电路待搬运数据的数据传输路径信息,所述第一通道传输电路触发对应的第二通道传输电路使能;所述第二通道传输电路对所述待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对所述寄存器信息的比对;响应于所述比对的结果一致,所述第一通道传输电路基于所述数据传输路径信息进行数据搬运。2.根据权利要求1所述的系统级dma安全机制方法,其特征在于,所述第二通道传输电路对所述待搬运数据对应源头的寄存器信息进行读安全扫描的步骤,包括:所述第二通道传输电路对所述待搬运数据的数据传输路径和指令配置路径上的寄存器存储信息、指令寄存器配置信息、接口配置寄存器信息、电路状态寄存器信息进行读安全信息扫描。3.根据权利要求1所述的系统级dma安全机制方法,其特征在于,在所述数据搬运的过程中,所述方法还包括:所述第二通道传输电路对所述待搬运数据对应源头的寄存器信息进行所述读安全扫描,以触发对所述寄存器信息的比对;响应于所述比对的结果不一致,进行中断报警处理。4.根据权利要求1所述的系统级dma安全机制方法,其特征在于,所述dma功能电路包括第一dma逻辑电路、第二dma逻辑电路和第一比对电路,所述第一dma逻辑电路和所述第二dma逻辑电路均包括所述第一通道传输电路和所述第二通道传输电路,所述方法包括:所述第二通道传输电路对所述dma功能电路中所述待搬运数据对应源头的寄存器信息进行读安全扫描,以触发所述第一比对电路对所述第一dma逻辑电路和所述第二dma逻辑电路之间的寄存器信息进行锁步比对,其中,所述第一dma逻辑电路和所述第二dma逻辑电路被配置为接收相同的dma读写指令;响应于所述锁步比对的结果不一致,进行中断报警处理。5.根据权利要求4所述的系统级dma安全机制方法,其特征在于,所述dma功能电路还包括第二比对电路,所述方法包括:所述数据搬运的dma功能电路写出,触发所述第二比对电路对所述第一dma逻辑电路和所述第二dma逻辑电路之间的搬运数据进行锁步比对;响应于所述锁步比对的结果不一致,进行中断报警处理。6.根据权利要求5所述的系统级dma安全机制方法,其特征在于,所述dma功能电路中所述待搬运数据对应源头的寄存器信息,包括在所述dma功能电路中的数据传输路径和指令配置路径上,所述待搬运数据的寄存器存储信息、指令寄存器配置信息、接口配置寄存器信息、电路状态寄存器信息;其中,所述数据传输路径上设置有仲裁处理电路和第一通道传输电路,所述指令配置路径上设置有地址寻址电路、第一通道配置电路、第二通道配置电路和仲裁配置电路;所述第一通道配置电路用于配置所述第一通道传输电路,所述第二通道配置电路用于配置所述第二通道传输电路,所述仲裁配置电路用于配置所述仲裁处理电路,所述地址寻
址电路用于向所述第一通道配置电路、所述第二通道配置电路和所述仲裁配置电路提供寻址服务,所述仲裁处理电路用于向所述第一通道传输电路和所述第二通道传输电路提供传输仲裁服务。7.根据权利要求5所述的系统级dma安全机制方法,其特征在于,所述触发所述第一比对电路对所述第一dma逻辑电路和所述第二dma逻辑电路之间的寄存器信息进行锁步比对的步骤,包括:响应于所述dma功能电路接收到apb总线写入数据,所述第一dma逻辑电路无延时写入,所述第二dma逻辑电路延时第一预设时长写入;响应于所述dma功能电路被读取apb总线数据,所述第一比对电路对所述第一dma逻辑电路延时第一预设时长的读取数据和所述第二dma逻辑电路无延时的相应读取数据进行锁步比对。8.根据权利要求5所述的系统级dma安全机制方法,其特征在于,所述数据搬运的dma功能电路写出,触发所述第二比对电路对所述第一dma逻辑电路和所述第二dma逻辑电路之间的搬运数据进行锁步比对的步骤,包括:响应于所述dma功能电路读取到axi总线数据,所述第一dma逻辑电路无延时读入,所述第二dma逻辑电路延时第二预设时长读入;响应于所述dma功能电路写出axi总线数据,所述第二比对电路对所述第一dma逻辑电路延时第二预设时长的写出数据和所述第二dma逻辑电路无延时的写出数据进行锁步比对。9.根据权利要求1所述的系统级dma安全机制方法,其特征在于,在所述第一通道传输电路获取所述数据传输路径信息前,所述方法还包括:所述系统芯片的cpu对dma通道配置电路进行功能安全配置,其中,所述dma通道配置电路包括对应所述第一通道传输电路设置的第一通道配置电路和对应所述第二通道传输电路设置的第二通道配置电路。10.根据权利要求9所述的系统级dma安全机制方法,其特征在于,所述dma通道配置电路被配置为包括第一寄存器组、寄存器更新电路、第二寄存器组和第三寄存器组,所述方法还包括:所述cpu对所述第一寄存器组配置高安全等级工作配置寄存器和锁指令寄存器;所述锁指令寄存器存储有锁指令信息;所述寄存器更新电路控制是否将所述第一寄存器组中的存储信息映射更新至所述第二寄存器组;响应于所述第一寄存器组中的存储信息映射更新至所述第二寄存器组,根据所述第二寄存器组中基于所述锁指令信息映射更新的低安全等级锁控制信息,控制是否锁死所述cpu对所述第三寄存器组的配置。11.根据权利要求10所述的系统级dma安全机制方法,其特征在于,所述寄存器更新电路控制是否将所述第一寄存器组中的存储信息映射更新至所述第二寄存器组的步骤,包括:读取所述寄存器更新电路的当前计数值;响应于所述第一寄存器组被配置完成,且被所述cpu写入增加预设值的新计数值,则所
述寄存器更新电路控制将所述第一寄存器组中的存储信息映射更新至所述第二寄存器组;否则,所述寄存器更新电路控制不将所述第一寄存器组中的存储信息映射更新至所述第二寄存器组,并触发中断报警处理。12.根据权利要求10所述的系统级dma安全机制方法,其特征在于,所述根据所述第二寄存器组中基于所述锁指令信息映射更新的低安全等级锁控制信息,控制是否锁死所述cpu对所述第三寄存器组的配置的步骤,包括:响应于所述第二寄存器组中映射更新的低安全等级锁控制信息为置0,所述低安全等级锁控制信息不限制所述cpu对所述第三寄存器组进行配置;响应于所述第二寄存器组中映射更新的低安全等级锁控制信息为置1,锁死所述cpu对所述第三寄存器组的配置。13.根据权利要求12所述的系统级dma安全机制方法,其特征在于,所述方法还包括:在dma功能电路配置状态下,配置所述第一寄存器组中的所述锁指令信息为置0,并配置所述通道使能信息为置0;在dma功能电路使能状态下,配置所述第一寄存器组中的所述锁指令信息为置1,并配置所述通道使能信息为置1。14.根据权利要求10所述的系统级dma安全机制方法,其特征在于,所述dma通道配置电路被配置为还包括第四寄存器组,所述方法还包括:所述第四寄存器组实时获取相应通道传输电路的基本电路状态信息,以供所述第二通道传输电路扫描。15.根据权利要求9所述的系统级dma安全机制方法,其特征在于,所述cpu对dma通道配置电路进行功能安全配置的步骤之前,所述方法还包括:所述cpu被配置所述系统芯片的第一存储器和第二存储器的读写权限;所述dma功能电路被配置所述第一存储器和所述第二存储器的只读权限;所述cpu配置第一传输描述符信息写入所述第一存储器,并配置第二传输描述符信息写入所述第二存储器,其中,所述第一传输描述符信息被配置为所述第一通道传输电路传输的dma数据传输描述符信息,所述第二传输描述符信息被配置为所述第二通道传输电路传输的dma功能安全传输描述符信息。16.根据权利要求1所述的系统级dma安全机制方法,其特征在于,所述系统芯片的外设设备包括第三比对电路和两个外设逻辑电路,所述方法还包括:所述第二通道传输电路基于所述读安全扫描确定的扫描路径信息,对对应外设设备中所述待搬运数据的寄存器信息进行读安全扫描,以触发所述第三比对电路对所述两个外设逻辑电路之间的寄存器信息进行锁步比对,其中,所述两个外设逻辑电路被配置为接收相同的外设读写指令;响应于所述锁步比对的结果不一致,进行中断报警处理。17.根据权利要求16所述的系统级dma安全机制方法,其特征在于,所述系统芯片的外设设备还包括第四比对电路,所述方法还包括:所述数据搬运的外设设备写出,触发所述第四比对电路对两个外设逻辑电路之间的搬运数据进行锁步比对;响应于所述锁步比对的结果不一致,进行中断报警处理。
18.一种系统级dma安全机制的系统芯片,其特征在于,包括dma功能电路,所述dma功能电路包括:第一通道传输电路,所述第一通道传输电路的使能信号输出端,连接对应的第二通道传输电路的使能信号输入端;所述第一通道传输电路,响应于获取到所述dma功能电路的待搬运数据的数据传输路径信息,触发所述对应的第二通道传输电路使能;第二通道传输电路,用于对所述待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对所述寄存器信息的比对;所述第一通道传输电路,还响应于所述比对的结果一致,基于所述数据传输路径信息进行数据搬运。19.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行权利要求1-17任一项所述的系统级dma安全机制方法。20.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,当计算机指令运行时执行权利要求1至17中任一项所述的系统级dma安全机制方法的步骤。
技术总结
一种系统级DMA安全机制方法、系统芯片、电子设备及介质,其中系统级DMA安全机制方法包括:响应于获取到DMA功能电路待搬运数据的数据传输路径信息,第一通道传输电路触发对应的第二通道传输电路使能;第二通道传输电路对待搬运数据对应源头的寄存器信息进行读安全扫描,以触发对寄存器信息的比对;响应于比对的结果一致,第一通道传输电路基于数据传输路径信息进行数据搬运。通过本申请提供的系统级DMA安全机制方法,能够实现对DMA数据传输的源头异常的检测,有效避免了数据传输的源头异常对DMA安全性能的影响,大幅提高了系统级DMA安全性能。全性能。全性能。
技术研发人员:雷超方
受保护的技术使用者:南京芯驰半导体科技有限公司
技术研发日:2023.06.20
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种无线局放在线监测系统的制作方法 下一篇:一种自走式坚果振动采收机的制作方法