一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种ZYNQ中多cpu之间的安全通信方法及系统与流程

2022-02-22 03:04:59 来源:中国专利 TAG:

一种zynq中多cpu之间的安全通信方法及系统
技术领域
1.本发明涉及一种zynq中多cpu之间的安全通信方法,属于zynq芯片技术领域。


背景技术:

2.zynq是一款双a9 cpu加 fpga的soc(系统级芯片)产品,目前在其应用中cpu0和cpu1分别跑不同的系统,这两个cpu之间往往需要进行通信,由此需要设计双cpu之间的通信方法。目前,zynq中有ocm(片上ram)资源,可实现双cpu之间的通信。
3.目前zynq中往往采用ocm(片上ram)实现双cpu之间的通信,但都是简单的将内存地址暴露给对方进行通信,这就造成了任何应用程序都可以访问该地址空间,从而带来安全问题。
4.而且目前通过ocm进行双cpu之间的通信,由于双cpu可能存在较为复杂的计算数据通信,使cpu进行计算复杂,造成cpu负荷加大,影响系统运行效率。
5.本发明通过设计驱动程序作为中间层对通信是双方身份进行校验,从而避免这种安全问题。
6.本发明利用zynq中fpga资源,将cpu通信的数据在fpga中进行计算后,传递给对方,从而提升cpu的运行效率。


技术实现要素:

7.本发明所要解决的技术问题: zynq芯片中,在双cpu之间的通信过程中,需要保证数据安全,防止非法程序窃取数据;本发明进一步需要解决的技术问题是:由于双cpu存在较为复杂的计算数据通信,造成cpu负荷大,影响系统运行效率。
8.为解决上述技术问题,本发明提供一种zynq中多cpu之间的安全通信方法,包括以下步骤:当cpu0需要获取cpu1中的数据时,利用ioctl函数将需要发送的数据及验证信息通过字符驱动程序将数据结构传入ocm中,并通过软中断int0通知cpu1有数据交互;cpu1中的字符驱动程序通过解析cpu0传来的数据信息,重新组织数据结构,将数据字段发送至cpu0,并触发软中断int1通知cpu0,此时cpu0中的字符驱动程序将数据挂接在数据链表中,等待cpu0的用户程序读取操作,如果通过身份认证,则cpu0的用户程序从字符驱动读取数据成功。
9.一种zynq中多cpu之间的安全通信系统,其特征在于,包括以下程序模块:cpu0需求发送模块:当cpu0需要获取cpu1中的数据时,利用ioctl函数将需要发送的数据及验证信息通过字符驱动程序将数据结构传入ocm中,并通过软中断int0通知cpu1有数据交互;cpu1数据发送模块:cpu1中的字符驱动程序通过解析cpu0传来的数据信息,重新组织数据结构,将数据字段发送至cpu0,并触发软中断int1通知cpu0,此时cpu0中的字符驱
动程序将数据挂接在数据链表中,等待cpu0的用户程序读取操作,如果通过身份认证,则cpu0的用户程序从字符驱动读取数据成功。
10.本发明所达到的有益效果:本发明的方法基于zynq的应用程序与内核驱动程序的整体设计架构,通过cpu0与cpu1在内核驱动程序中对双方pid值的鉴权,以及用户程序中对key值的鉴权机制,保证cpu0与cpu1的数据安全,防止非法程序窃取数据,有效解决ocm方式带来的安全问题。
11.内核驱动程序作为中间层,通过normal数据至ocm,以及ac数据通过fpga进行fft计算处理再传至ocm方式,两种方式相结合,提升双cpu之间数据通信速率,以及减轻cpu运行负荷。
附图说明
12.图1为zynq中多cpu之间的安全通信方法的整体流程图;图2表示ocm中组织的数据结构一;图3为cmd_normal模式下多cpu间安全通信过程的示意图;图4为数据报文组织格式;图5为cmd_ac模式下多cpu间安全通信过程的示意图。
具体实施方式
13.以下结合附图和具体实施例对本发明的技术方案作进一步说明。
14.实施例1本发明的zynq中多cpu之间的安全通信方法的整体流程如图1所示,zynq中cpu0和cpu1分别运行双linux系统,设计字符驱动程序作为中间层;一种zynq中多cpu之间的安全通信方法,包括以下步骤:当cpu0需要获取cpu1中的数据时,利用ioctl函数将需要发送的数据及验证信息通过字符驱动程序将数据结构传入ocm中,并通过软中断int0通知cpu1有数据交互;cpu1中的字符驱动程序通过解析cpu0传来的数据信息,重新组织数据结构,将数据字段发送至cpu0,并触发软中断int1通知cpu0,此时cpu0中的字符驱动程序将数据挂接在数据链表中,等待cpu0的用户程序读取操作,如果通过身份认证,则cpu0的用户程序从字符驱动读取数据成功。
15.所述字符驱动程序组织的数据结构一如图2所示,包括:send_pid表示发送进程pid; pid是各进程的身份标识;recv_pid表示接收进程pid,在接收数据时,对进程进行鉴权;key是应用程序在发送请求时的随机值,在接收数据时用于对进程安全检查;cmd_type表式请求类型:包括cmd_normal和cmd_ac;所述cmd_normal表示直接数据传输,数据存储在ocm的data area中;所述cmd_ac表示是ad交流数据,需要将数据传递给fpga,经过fpga处理后,fpga将数据存储至data area;data_addr表式数据在ocm中的地址;data_len表式数据长度;valid表式数据是否有效。
16.如图3所示,在cmd_normal模式下,cpu间安全通信方法包括以下步骤:1)当cpu0的linux系统中有应用程序有数据需要发送至cpu1时,应用程序首先在初始化时调用rand()函数获取随机key值;按照图4所示设定的数据报文组织格式,即依次将cpu1中的进程pid、本进程的pid、key值、cmd_normal、数据长度以及需要发送的数据通过ioctl函数发送至内核驱动程序,内核驱动程序将用户程序中的数据字段填充到数据缓冲区data area1中;然后按照图2内核驱动程序中的组织数据结构一,将数据填充完毕,并将valid字段置1,然后触发软中断int0,告知cpu1有数据交互;2)cpu1的应用程序通过ioctl函数读取数据时,首先驱动程序通过current-》pid获取用用户进程的pid值,并与cpu0发过来的recvpid进程比对,如果一致,表示鉴权成功,可以接收,如果不一致则返回失败;在接收成功的情况下,内核驱动程序将valid字段的值清0表示已接收完毕,同时在cpu1将数据在应用程序中进行处理,处理过程是应用程序根据报文内容解析,解析出cpu0需要获取的数据,cpu1中的用户态程序解析收到的报文,获取cpu0需要获取的数据,然后将所需数据按照图4设定的格式组织数据报文,其中key值为cpu0发送过来的key值,然后通过ioctl函数下发至内核驱动程序,内核驱动程序组织图2所示的数据结构一,并将valid置1,同时触发软中断int1,告知cpu0,数据已返回;3)此时,cpu0应用程序读取数据时,cpu0的内核驱动程序首先检查current-》pid与cpu1发送过来的recvpid是否一致,如果一致则接收数据,不一致则返回失败;当鉴权完成后,应用程序获取cpu1通过内核驱动发送到cpu0的数据中的key值,并与自己初始化过程中的key值比对,如果一致,则认为返回数据可信按正常处理,如不一致,则数据不可信直接丢弃。
17.通过上述过程完成了cpu0和cpu1之间cmd_normal的鉴权与数据交互。
18.在cmd_ac模式下,如图5所示,cpu间安全通信方法包括以下步骤:1)cpu0侧外接信号采集芯片,如ad7606芯片,所述信号采集芯片负责采集ct、pt中的交流信号,cpu0将信号采集芯片的采样数据经过fft算法后,发送频域数据到cpu1;2)cpu0按照图4所示数据报文组织格式,依次将cpu1中的进程pid、本进程的pid、key值、cmd_ac、数据长度以及要发送的数据通过ioctl函数发送至内核驱动程序,内核驱动程序根据cmd_ac将数据字段下发至fpga,由fpga进行fft(时域向频域转换算法)程序计算,并将计算结果添至data area1中,内核驱动程序将valid字段置1,并触发软中断通知cpu1;3)cpu1的应用程序通过ioctl函数读取数据时,首先内核驱动程序通过current-》pid获取用用户进程的pid值,并和cpu0发过来的recvpid进程比对,如果一致,鉴权成功则接收,如果不一致则返回失败;在接收成功的情况下,内核驱动程序将valid字段的值清0表式已接收完毕,同时在cpu1中将数据在应用程序中进行处理。
19.一种zynq中多cpu之间的安全通信系统,其特征在于,包括以下程序模块:cpu0需求发送模块:当cpu0需要获取cpu1中的数据时,利用ioctl函数将需要发送的数据及验证信息通过字符驱动程序将数据结构传入ocm中,并通过软中断int0通知cpu1有数据交互;cpu1数据发送模块:cpu1中的字符驱动程序通过解析cpu0传来的数据信息,重新组织数据结构,将数据字段发送至cpu0,并触发软中断int1通知cpu0,此时cpu0中的字符驱
动程序将数据挂接在数据链表中,等待cpu0的用户程序读取操作,如果通过身份认证,则cpu0的用户程序从字符驱动读取数据成功。
20.所述ct为电流互感器,是依据电磁感应原理将一次侧大电流转换成二次侧小电流来测量的仪器。
21.所述pt为电压互感器,是依据电磁感应原理将一次侧大电压转换成二次侧小电压来测量的仪器。
22.以上实施例仅用以说明发明的技术方案而非对其限制,所属领域的研发人员参照上述实施例依然可以对本发明的具体实施方式进行修改或者等同替换,这些没有脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围以内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献