一种基于双总线结构的协同系统及其通信方法

文档序号:6549515阅读:164来源:国知局
一种基于双总线结构的协同系统及其通信方法
【专利摘要】本发明提供一种基于双总线结构的协同系统及其通信方法,所述系统包括主控模块、安全协处理模块和存储器;所述主控模块应用程序、数据与安全协处理模块应用程序、数据分别存储于两块存储器中,分别挂载在主控总线与安全模块总线上。所述方法包括(1)主控模块与安全协处理模块通过SPI总线进行通信;(2)主控模块发起安全加解密或签名验签操作;(3)发送安全处理命令;(4)送入命令操作数据对象并等待处理后的数据反馈。本发明双总线结构适用于对于安全运算频繁调用的应用之中,减少了总线拥塞程度,提高了访存带宽,提供了安全性,通过对于安全协处理模块的通信方式的约定以及访问控制保障系统关键数据的安全完整。
【专利说明】一种基于双总线结构的协同系统及其通信方法
【技术领域】
[0001]本发明涉及一种电子信息技术,具体讲涉及一种基于双总线结构的协同系统及其通信方法。
【背景技术】
[0002]信息通信技术的进步加速了智能电网的进化和发展。在智能电网概念逐步清晰,应用日益丰富的背景下,对于通讯设备和动作装置的时效性、可靠性以及保密性的要求也越发苛刻。电网的坚强是国民经济发展的重要保障。继电保护装置从接收命令到动作执行的时间越短,电网装置得到保护的程度也就越高,这就要求主控处理单元对于解析信息和命令下发的速度要足够块,亦即主控模块的性能需要满足一定要求,同时还要有足够的计算能力和与外设的通信带宽。另外,由于电网上的载荷、用电数据以及动作命令下达的信息要求安全可靠传输,保证信息完整、对于第三方不可见、信息接收方可以验证来源身份,信息来源不可抵赖命令发布动作历史。因此需要提供一种在控制装置中引入签名验签等一系列安全机制的技术方案。

【发明内容】

[0003]针对现有技术的不足,本文提出了一种基于双总线结构的协同系统及其通信方法。主控模块(CPU)负责片上系统(SoC)上的一般数据处理、外设配置、中断响应、任务调度等。安全协处理模块(Security-MCU)主要负责安全算法的硬件加速。其中主控模块与安全协处理模块各挂载在一条独立的总线(主总线Main - Bus/M - Bus与Security - Bus/S - Bus安全总线)上。安全协处理模块成为S - Bus上唯一主设备;主控模块、直接访存控制器(DMAC, Direct Memory Access Controller)等成为 M-Bus 上的主设备。主控模块 AMBA高速总线通过总线桥挂接AMBA低速总线,低速总线上挂接众多外设控制器。
[0004]本发明的目的是采用下述技术方案实现的:
[0005]—种基于双总线结构的协同系统,其改进之处在于,所述系统包括主控模块、安全协处理模块和存储器;
[0006]所述主控模块应用程序、数据与安全协处理模块应用程序、数据分别存储于两块存储器中,分别挂载在主控总线与安全模块总线上。
[0007]优选的,所述安全协处理模块为安全总线Security-Bus/S-Bus上唯一主设备;
[0008]所述主控模块为主总线Main-Bus/M-Bus上的主设备;
[0009]所述总线使用AMBA AHB/AXI。
[0010]优选的,所述主控模块AMBA的高速总线通过总线桥挂接AMBA低速总线;所述低速总线上挂接外设控制器。
[0011]进一步地,所述外设控制器包括I2C总线控制器、CAN总线控制器、UART控制器、片外NAND Flash控制器、实时时钟和看门狗。
[0012]优选的,所述直接访存控制器用于负责在外设与主存间搬运成块数据。[0013]优选的,所述主控模块包括通用处理器、片上Flash、只读存储器、静态随机访问存储器、同步动态随机访问存储器、直接访存控制器、USB和以太网控制器;
[0014]所述安全协处理模块与主控模块同构。
[0015]优选的,所述主控模块与安全协处理模块通过FIFO进行数据缓冲,从而实现时钟域的隔离。
[0016]优选的,所述主控模块与安全协处理模块使用SPI接口连接。
[0017]本发明基于另一目的提供的一种基于双总线结构的协同系统的通信方法,其特征在于,所述方法包括
[0018](I)主控模块与安全协处理模块通过SPI总线进行通信;
[0019](2)主控模块发起安全加解密或签名验签操作;
[0020](3)发送安全处理命令;
[0021](4)送入命令操作数据对象并等待处理后的数据反馈。
[0022]优选的,所述步骤(I)包括主控模块与安全协处理模块通过SPI总线进行半双工方式通信。
[0023]优选的,所述步骤(2)包括主控模块发起安全加解密或签名验签操作,首次或复位后进行安全相关操作需要查询安全协处理模块的可用性。
[0024]优选的,所述步骤(3)包括主控模块收到来自安全协处理模块的可用性反馈同时证实相关命令被支持后发送具体的安全处理命令。
[0025]优选的,所述步骤(4)包括主控模块收到来自安全协处理模块的命令接受反馈后,送入命令操作数据对象并等待处理后的数据反馈。
[0026]进一步地,所述安全协处理模块使用安全总线上存储器中的事先固化好的程序以及密钥数据进行安全相关计算,同时更新安全总线存储器中的用户数据等敏感数据,或给出消息身份真伪指示主控模块根据安全验证结果进行下一步动作。
[0027]优选的,所述安全协处理模块对于从主控模块发送而来非法运算或访存命令可以不响应或者返回错误代码。
[0028]与现有技术比,本发明的有益效果为:
[0029](I)本发明双总线结构适用于对于安全运算频繁调用的应用之中。主控模块与安全协处理模块之间使用FIFO进行数据交换,二者的工作时钟可按照应用需求设置成不同频率。典型案例为主控模块将待加密的明文推入FIFO,待一定周期(协议规定)后在从另一 FIFO中将安全协处理模块产生的密文取回,送给响应数据存储器或外设端口。
[0030](2)由于主控模块所需访问的存储模块分别挂载在两条总线上,减少了总线拥塞程度,提高了访存带宽。同时安全模块的应用程序以及运算中间结果可以根据需要设置访存保护权限,而安全模块与外部接口仅是与主控模块的通信接口,因此进一步提供了安全性。
[0031](3)通过对于安全协处理模块的通信方式的约定以及访问控制保障系统关键数据的安全完整。
【专利附图】

【附图说明】
[0032]图1为本发明提供的双总线结构的主控模块与安全协处理模块协同工作架构示意图。
[0033]图2为本发明提供的主控模块与安全协处理模块存储组织示意图。
[0034]图3为本发明提供主控模块与安全协处理模块通信流程图。
【具体实施方式】
[0035]下面结合附图对本发明的【具体实施方式】作进一步的详细说明。
[0036]本发明主控模块和安全协处理模块所使用的存储器(包括指令存储与数据存储)分开实现,分别挂载在各自总线上,这样的存储组织消除了两处理器对存储器带宽的竞争,同时降低了分布式设计中主控模块两个子设计的设计耦合性。而在协处理模块作为从设备的单总线设计中,在进行安全相关计算时,主控模块需要持续将指令通过总线发送给协处理模块,而同时主控模块自身也需要持续进行取值访存,从而对总线带宽提出了较高要求。而且对于安全协处理模块使用独立的存储模块,对于安全协处理模块端的存储和计算资源的访问调用只能通过特定接口和特定的通信方式,提高了安全处理器端对于非法访存以及溢出攻击等行为的抵抗力。
[0037]如图1所示,其中:
[0038]主控模块包含通用处理器(CPU)、片上闪存(Flash)、只读存储器(ROM,Read-OnlyMemory)、静态随机访问存储器(SRAM, Static Random Access Memory)、同步动态随机访问存储器等,直接访存控制器(DMAC)负责在外设与主存间搬运成块数据。通用处理器与DMA为主控模块总线上唯一的主设备。其他外设控制器如通用串行总线(USB,Universal Serial Bus)控制器、以太网(ETHERNET)控制器、串行外设接口 (SPI, SerialPeripheral)控制器作为总线上的从设备,每次通信由主设备发起,从设备响应。总线为AMBA(Advanced Microcontroller Bus Architecture)AHB(Advanced High-performanceBus)/AXI (Advanced extensible Interface)总线,可配置为 32/64/128 位。
[0039]主控模块AMBA高速总线通过总线桥挂接AMBA低速总线,低速总线上挂接众多外设控制器,包括I2C总线控制器、CAN总线控制器、UART控制器、片外NAND Flash控制器、实时时钟、看门狗等。
[0040]安全协处理模块模块与主控模块基本同构,总线使用AMBA AHB/AXI,可根据应用需求配置为不同位宽。安全协处理模块模块只有极少量的外设接口,主要用于与主控模块的通信。主模块与安全模块间通过FIFO进行数据缓冲,从而实现了时钟域的隔离。如果主控模块与安全模块数据交互容量相当,推荐使用SPI接口连接,接口信号数量少且协议轻量。
[0041]如图3所示,主控模块与安全协处理模块通过SPI总线进行半双工方式通信。
[0042]由主控模块发起安全加解密或签名验签操作,如果是第一次进行安全相关操作需要查询安全协处理模块的可用性(复位后需要重新查询)。
[0043]当主控模块收到来自安全协处理模块的可用性反馈同时证实相关命令被支持后可以发送具体的安全处理命令,如对称加密、公钥加密、数字签名、身份验证及消息完整性验证等。
[0044]在主控模块收到来自安全协处理模块的命令接受反馈后,可以送入命令操作数据对象(通常为待加密的明文、待解密的密文、待验证身份的消息等),并等待处理后的数据反馈。
[0045]安全协处理模块使用安全总线上存储器中的事先固化好的程序,以及密钥等数据进行安全相关计算,同时更新安全总线存储器中的用户数据等敏感数据,或给出消息身份真伪指示主控模块根据安全验证结果进行下一步动作。
[0046]最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员参照上述实施例依然可以对本发明的【具体实施方式】进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。
【权利要求】
1.一种基于双总线结构的协同系统,其特征在于,所述系统包括主控模块、安全协处理模块和存储器; 所述主控模块应用程序、数据与安全协处理模块应用程序、数据分别存储于两块存储器中,分别挂载在主控总线与安全模块总线上。
2.如权利要求1所述的一种基于双总线结构的协同系统,其特征在于,所述安全协处理模块为安全总线Security-Bus/S-Bus上唯一主设备; 所述主控模块为主总线Main-Bus/M-Bus上的主设备; 所述总线使用AMBA AHB/AXI。
3.如权利要求1所述的一种基于双总线结构的协同系统,其特征在于,所述主控模块AMBA的高速总线通过总线桥挂接AMBA低速总线;所述低速总线上挂接外设控制器。
4.如权利要求3所述的一种基于双总线结构的协同系统,其特征在于,所述外设控制器包括I2C总线控制器、CAN总线控制器、UART控制器、片外NAND Flash控制器、实时时钟和看门狗。
5.如权利要求1所述的一种基于双总线结构的协同系统,其特征在于,所述直接访存控制器用于负责在外设与主存间搬运成块数据。
6.如权利要求1所述的一种基于双总线结构的协同系统,其特征在于,所述主控模块包括通用处理器、片上Flash、只读存储器、静态随机访问存储器、同步动态随机访问存储器、直接访存控制器、USB和以太网控制器; 所述安全协处理模块与主控模块同构。
7.如权利要求1所述的一种基于双总线结构的协同系统,其特征在于,所述主控模块与安全协处理模块通过FIFO进行数据缓冲,从而实现时钟域的隔离。
8.如权利要求1所述的一种基于双总线结构的协同系统,其特征在于,所述主控模块与安全协处理模块使用SPI接口连接。
9.一种权利要求1-8任一项的基于双总线结构的协同系统的通信方法,其特征在于,所述方法包括 (1)主控模块与安全协处理模块通过SPI总线进行通信; (2)主控模块发起安全加解密或签名验签操作; (3)发送安全处理命令; (4)送入命令操作数据对象并等待处理后的数据反馈。
10.如权利要求9所述的一种基于双总线结构的协同通信方法,其特征在于,所述步骤(1)包括主控模块与安全协处理模块通过SPI总线进行半双工方式通信。
11.如权利要求9所述的一种基于双总线结构的协同通信方法,其特征在于,所述步骤(2)包括主控模块发起安全加解密或签名验签操作,首次或复位后进行安全相关操作需要查询安全协处理模块的可用性。
12.如权利要求9所述的一种基于双总线结构的协同通信方法,其特征在于,所述步骤(3)包括主控模块收到来自安全协处理模块的可用性反馈同时证实相关命令被支持后发送具体的安全处理命令。
13.如权利要求9所述的一种基于双总线结构的协同通信方法,其特征在于,所述步骤(4)包括主控模块收到来自安全协处理模块的命令接受反馈后,送入命令操作数据对象并等待处理后的数据反馈。
14.如权利要求13所述的一种基于双总线结构的协同通信方法,其特征在于,所述安全协处理模块使用安全总线上存储器中的事先固化好的程序以及密钥数据进行安全相关计算,同时更新安全总线存储器中的用户数据等敏感数据,或给出消息身份真伪指示主控模块根据安全验证结果进行下一步动作。
15.如权利要求9所述的一种基于双总线结构的协同通信方法,其特征在于,所述安全协处理模块对于从主控模块发送而来非法运算或访存命令可以不响应或者返回错误代码。
【文档编号】G06F13/40GK104021104SQ201410262251
【公开日】2014年9月3日 申请日期:2014年6月12日 优先权日:2014年6月12日
【发明者】张威龙, 袁玉湘, 于坤山, 姜学平 申请人:国家电网公司, 国网智能电网研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1