一种运算系统及相应的电子设备的制作方法

文档序号:15636639发布日期:2018-10-12 21:33阅读:196来源:国知局

本公开涉及电子技术领域,尤其是一种运算系统及相应的电子设备。



背景技术:

通用异步收发器uart串行总线协议是一种在低速率通信领域应用最广的协议,其电路简单,成本低。但是其只能是一对一的通信。但在一些特殊的应用场景,需要通信协议能支持一对多的通信,此时串口就无法满足需求。

串行总线通信是在单片机使用中常见的方式,但是由于其自身特性的限制,单片机自带的通用异步收发器uart串行总线协议进行数据通信往往只能实现一对一串行通信,无法实现一对多的通信方式。现有的串行通信一对多技术采用rs485总线进行拓展实现,rs485总线适用于工业现场等远端一对多通信的场合,对于近端通信使用rs485往往大材小用,既造成浪费,也占用额外的空间。另外,现有的近端一对多通信技术往往不支持热插拔,例如iic通信等,若在使用过程中需要移除设备,往往会引起总线通信错误从而影响全局的通信。所以对于一主多从的模块化设备来说,可以热插拔同时还可兼容串行通信的接口可以大大提高设备的易用性。

同时,支持一对多的通信协议有多种,比如iic,rs485等。iic通信电路也简单,但其通信效率较串口低,协议也比串口复杂。rs485通信电路也简单,而且速率相比串口和iic要高得多,传输距离也很远,适合于设备间的通信。但是绝大部分芯片都不直接支持rs485协议,而是需要使用串口转rs485芯片,因此其电路比串口复杂,成本也高得多,不适合板级通信。



技术实现要素:

为了解决上述现有技术中存在的问题,本公开提出一种运算系统及相应的电子设备。

根据本公开的一方面,提出所述运算系统包括运算板电路和控制板电路,其中:所述运算板电路包括两个或两个以上运算单元,控制板电路包括系统级芯片soc,所述系统级芯片soc和所述两个或两个以上运算单元分别具有数据接收端口和数据发送端口,所述系统级芯片soc的数据发送端口和所述两个或两个以上运算单元的数据接收端口分别相连,采用通用异步收发器uart串行总线协议进行数据通信;其特征在于,所述系统级芯片soc的数据接收端口和所述两个或两个以上运算单元的数据发送端口分别相连,也采用通用异步收发器uart串行总线协议进行数据通信。

可选地,所述系统级芯片soc向所述两个或两个以上运算单元发送广播信号,广播信号中包括所述两个或两个以上运算单元中一个运算单元的唯一标识,所述两个或两个以上运算单元接收广播信号,所述两个或两个以上运算单元根据所述唯一标识来确定是否响应广播信号向系统级芯片soc发送数据。

可选地,所述唯一标识可以是运算单元地址,或者运算单元编号。

可选地,所述两个或两个以上运算单元根据所述唯一标识来确定是否响应广播信号向系统级芯片soc发送数据具体为:所述两个或两个以上运算单元接收到广播信号,每个运算单元判断广播信号中包括所述唯一标识是否和本地唯一标识相同;如果相同,则由运算单元响应所述广播信号向所述系统级芯片soc发送数据;如果不同,则运算单元不发送数据。

可选地,所述系统级芯片soc的数据接收端口rxd外接上拉电阻。

可选地,所述两个或两个以上运算单元的数据发送端口txd信号线上串联一个二极管,二极管的阴极朝向运算单元的数据发送端口txd。

可选地,所述控制板电路进步包括与系统级芯片soc相连接的网络模块、存储模块、电源模块、风扇接口模块和运算板接口模块;其中,

所述电源模块用于为所述控制板电路供电;

所述存储模块用于存储所述系统级芯片soc运行所需的程序和变量,以及存储包括系统启动文件在内的系统文件;

所述网络模块用于连接外部网络,并将通过所述外部网络获取的工作任务传送给所述系统级芯片soc处理;

所述风扇接口模块用于连接风扇,并实现所述系统级芯片soc与风扇之间的通信;

所述外部运算板接口用于连接所述运算板电路,并实现所述系统级芯片soc与所述运算板电路上所述运算芯片之间的通信;

所述系统级芯片soc用于将所述网络模块传送的工作任务经过运算生成工作数据,传送给所述运算板电路上所述运算芯片进行计算,并将所述运算板电路上所述运算芯片计算得到的输出结果数据反馈给外部网络。

可选地,所述运算单元为运行芯片。

根据本公开的再一方面,提出一种电子设备,所述电子设备包括一个或多个如上所述的运算系统。

根据本公开的再一方面,提出一种在上述所述的运算系统中执行的数据传输方法,其特征在于:

步骤一、所述系统级芯片soc将第一广播信号通过数据发送端口发送给运算板电路上的两个或两个以上运算单元,所述第一广播信号中包括工作任务或数据;

步骤二、所述运算板电路上的两个或两个以上运算单元根据获得的工作任务或数据进行计算。

步骤三、所述系统级芯片soc将第二广播信号通过数据发送端口发送给运算板电路上的两个或两个以上运算单元,所述第二广播信号中包括一个运算单元的唯一标识。

步骤四、所述两个或两个以上运算单元接收所述第二广播信号,每个运算单元判断广播信号中包括所述唯一标识是否和本地唯一标识相同;如果相同,通过运算单元的数据发送端口向系统级芯片soc反馈运算结果;如果不同,则运算单元不发送运算结果。

根据本公开的技术方案,通过在系统级芯片soc的数据输入端口设置上拉电阻、在运算单元的数据输出端口设置二极管的方式,引入广播机制,实现了在电路板级使用通用异步收发器uart串行总线协议进行数据通信的一对多通信方式。

附图说明

图1是根据本公开一实施例的运算系统结构框图;

图2是根据本公开一实施例的改进串行总线通信一对多通信电路结构图;

图3是根据本公开一实施例的控制板电路的结构示意图;

图4是根据本公开一实施例的运算系统数据传输流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

图1是根据本公开一实施例的运算系统结构框图;如图1所示,运算系统包括运算板电路和控制板电路,控制板电路包括系统级芯片soc,soc(systemonchip)芯片级系统,也称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。运算板电路包括两个或两个以上运算单元,在附图1中运算单元具有4个运算单元,运算单元可以是运算芯片,该运算芯片可以执行hash256算法、卷积算法或者相关神经网络算法等。运算板电路,也称为算力板,属于电子的核心计算板。在电子设备中,控制板电路用于接收外部的数据或者命令,进而控制运算板上的运算单元进行特定运算,获得特定的运算结果。所述系统级芯片soc的数据端口和所述两个或两个以上运算单元的数据端口采用通用异步收发器uart串行总线协议进行数据通信。

通用异步收发器uart串行总线协议进行数据通信往往只能实现一对一串行通信,无法实现一对多的通信方式。而要在附图1中所示的运算系统中使用通用异步收发器uart串行总线协议进行数据通信,实现一个系统级芯片soc和两个或两个以上运算单元进行通信,需要对电路结构进行改进,具体的实现方式如图2所示。图2是根据本公开一实施例的改进串行总线通信一对多通信电路结构图。在图2中,运算系统包括一个系统级芯片soc和n个运算单元,当然系统级芯片soc设置在控制板电路上,运算单元设置在运算板电路上,在图2中并没有画出,n为大于等于2的正整数。所述系统级芯片soc和所述n个运算单元分别具有数据接收端口rxd和数据发送端口txd,所述系统级芯片soc的数据发送端口txd和所述n个运算单元的数据接收端口rxd分别相连,采用通用异步收发器uart串行总线协议进行数据通信。所述系统级芯片soc的数据发送端口txd的信号线可以直接和所述n个运算单元的数据接收端口rxd的引脚相连,其工作模式是系统级芯片soc发送数据,多个n个运算单元同时接收,由于在这种模式下是系统级芯片soc(相当于主机master)发送数据,n个运算单元(相当于从机slave)同时接收数据,数据不产生冲突,因此可以采用通用异步收发器uart串行总线协议进行数据通信。

所述系统级芯片soc的数据接收端口rxd和n个运算单元的数据发送端口txd分别相连时需要对连接电路进行改进。所述n个运算单元(slave)的数据发送端口txd信号线上串联一个二极管,二极管的阴极朝向运算单元(slave)的数据发送端口。因为运算单元(slave)的数据发送端口txd在空闲期间保持高电平,在具有发送数据时,根据通用异步收发器uart串行总线协议,其要将数据发送端口txd的电平变为一段时间低电平,表示要发送数据。在这时,这里以运算单元(slave)1要发送数据为例,运算单元(slave)1的数据发送端口txd为低电平,而运算单元(slave)2至n的数据发送端口txd为高电平,这样就形成了运算单元(slave)2至n的数据发送端口txd到运算单元(slave)1的数据发送端口txd的电流电路,存在一个电源到地的低阻抗通路,此时运算单元(slave)1有大电流流过,极易烧毁芯片。通过增加阴极朝向运算单元(slave)的数据发送端口txd二极管,在运算单元(slave)1要发送数据和发送数据时,使得运算单元(slave)2至n数据发送端口txd的信号线阻断,实现了保护运算单元(slave)1的作用,并且使得运算单元(slave)1发送的数据电平不受到其他运算单元(slave)的干扰。优选的采用锗二极管,因为其正向电压为0.3v左右,也就是可以保证系统级芯片soc的数据接收端口rxd信号低电平时是0.3v左右,低于0.7v,可以正确识别。系统级芯片soc的数据接收端口rxd要外接一个上拉电阻,上拉电阻的作用是保证系统级芯片soc的数据接收端口rxd信号的默认电平为高电平。如果没有上拉电阻,当所有运算单元slave数据发送端口txd信号都处于默认状态的高电平时,系统级芯片soc的数据接收端口rxd信号处于悬空状态,不符合通用异步收发器uart串行总线协议规定的默认状态为高电平。

所述n个运算单元的数据发送端口txd向所述系统级芯片soc的数据接收端口rxd发送数据时,存在多对一的情况,因此为了符合通用异步收发器uart串行总线协议,所述系统级芯片soc向所述n个运算单元发送广播信号,广播信号中包括一个运算单元的唯一标识,所述唯一标识可以是运算单元地址,或者运算单元编号等等。所述n个运算单元接收到所述广播信号,所述n个运算单元根据所述唯一标识来确定是否响应广播信号向系统级芯片soc发送数据。所述n个运算单元接收到广播信号时,每个运算单元判断广播信号中包括所述唯一标识是否和本地唯一标识相同;如果相同,则说明该运算单元可以发送数据,由运算单元响应所述广播信号向所述系统级芯片soc发送数据;如果不同,则运算单元不发送数据。通过引用广播机制,使得所述n个运算单元的数据发送端口txd向所述系统级芯片soc的数据接收端口rxd发送数据时符合了通用异步收发器uart串行总线协议。

图3为本发明实施例的控制板电路的结构示意图。具体的,如图3所示,本发明实施例的控制板电路包括系统级芯片soc以及与其相连接的网络模块、存储模块、电源模块、风扇接口模块和运算板接口模块。

其中,所述电源模块用于为所述控制板电路供电;所述存储模块用于存储所述系统级芯片soc运行所需的程序和变量,以及存储包括系统启动文件在内的系统文件;所述网络模块用于连接外部网络,并将通过所述外部网络获取的工作任务或数据传送给所述系统级芯片soc处理;所述风扇接口模块用于连接风扇,并实现所述系统级芯片soc与风扇之间的通信;所述外部运算板接口用于连接外部运算板,并实现所述系统级芯片soc与n个运算单元之间的通信;所述系统级芯片soc用于将所述网络模块传送的工作任务或数据经过运算生成工作数据,通过外部运算板接口传送给外部运算板中的n个运算单元进行计算,并将所述外部运算板上的n个运算单元计算得到的输出结果数据反馈给外部网络。

下面将结合附图4,对本发明的运算系统数据传输流程进行说明。

步骤一、控制板电路的网络模块通过外部网络获取的工作任务或数据传送给系统级芯片soc处理;

步骤二、所述系统级芯片soc将第一广播信号通过数据发送端口发送给运算板电路上的两个或两个以上运算单元,所述第一广播信号中包括工作任务或数据。

步骤三、运算板电路上的两个或两个以上个运算单元根据获得的工作任务或数据进行计算。

步骤四、所述系统级芯片soc将第二广播信号通过数据发送端口发送给运算板电路上的两个或两个以上运算单元,所述第二广播信号中包括一个运算单元的唯一标识。

步骤五、两个或两个以上个运算单元接收到所述第二广播信号,每个运算单元判断广播信号中包括所述唯一标识是否和本地唯一标识相同;如果相同,通过运算单元的数据发送端口向系统级芯片soc反馈运算结果;如果不同,则运算单元不发送运算结果。

步骤六、系统级芯片soc根据反馈的结果或者数据,执行下一步操作,例如:向网络返回运算结果、执行结果,或者向两个或两个以上个运算单元发送广播信号,继续获取运算单元的运算结果、执行结果或者中间数据。

根据本公开的另一方面,还提出一种电子设备,所述电子设备包括一个或多个如上所述的运算系统。

以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1