CN104850527B - 通讯协议处理器 - Google Patents
通讯协议处理器 Download PDFInfo
- Publication number
- CN104850527B CN104850527B CN201510325756.8A CN201510325756A CN104850527B CN 104850527 B CN104850527 B CN 104850527B CN 201510325756 A CN201510325756 A CN 201510325756A CN 104850527 B CN104850527 B CN 104850527B
- Authority
- CN
- China
- Prior art keywords
- instruction
- data
- control
- protocol
- control unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种通讯协议处理器,用于监控主机与采用多种协议的监控外设之间的通信,该处理器包括:用于与监控主机连接的监控接口;用于与监控外设连接的控制接口;控制单元,配置为将来自监控接口的指令译码处理,以及生成控制处理器的各个部件的控制信号;与控制单元连接的波特率发生器,配置为根据基于协议的操作指令输出分频后的时钟;与波特率发生器连接的协议模块,配置为根据来自控制单元的控制信号和分频后的时钟,控制控制接口与监控接口之间的数据传输。本发明可以支持多种串行通讯协议,适用范围非常广,应用灵活便利。
Description
技术领域
本发明涉及计算机通讯技术,尤其涉及一种通讯协议处理器。
背景技术
随着工业自动化控制技术的高速发展,基于计算机通讯技术的实时监控***在工业生产过程中起到越来越重要的作用。目前,实时监控***广泛运用现场总线技术,这需要采用大量数字化的具有远程通讯功能的智能仪表或设备。而这些智能仪表或设备必须以某种标准的通讯协议与远程监控主机进行通讯。由于目前存在多种现场总线协议标准,智能仪表或设备相应采用了不同的协议标准,因此,当监控***进行监控时,就会遇到多种采用了不同协议标准的智能仪表或设备同时与监控计算机进行通讯的不兼容的问题。
发明内容
根据本发明的一个方面,提供了一种通讯协议处理器,用于监控主机与采用多种协议的监控外设之间的通信,该处理器包括:用于与监控主机连接的监控接口;用于与监控外设连接的控制接口;控制单元,配置为将来自监控接口的指令译码处理,并生成控制所述通讯协议处理器的各个部件的控制信号;与控制单元连接的波特率发生器,配置为根据基于上述协议的操作指令输出分频后的时钟;与波特率发生器连接的协议模块,配置为根据控制信号和上述协议的时钟,将来自监控接口的待发送的并行数据转换成串行数据后向所述控制接口传输,和/或将来自控制接口的串行数据转换成并行数据后向所述监控接口传输。
一方面,本发明的通讯协议处理器具备算数逻辑运算功能,可以进行复杂的运算,实现多种功能;另一方面,本发明的通讯协议处理器解决了监控***在监控过程中遇到多种采用了不同协议标准的智能仪表或设备同时与监控计算机进行通讯时的不兼容的问题,使得应用更便利,更灵活,适用范围更广。
附图说明
图1为本发明一实施方式的通讯协议处理器的结构示意图;
图2为本发明另一实施方式的通讯协议处理器的结构示意图;
图3为本发明一实施方式的通讯协议处理器执行指令集中的指令的流程示意图;
图4为本发明一实施方式的算数逻辑运算指令的格式示意图;
图5为图4中的算数逻辑运算指令的格式的位域的意义和功能示意图;
图6为本发明一实施方式的PRT_CTRL指令的格式示意图;
图7为本发明一实施方式的BR_CTRL指令的格式示意图;
图8为本发明一实施方式的TR指令的格式示意图;
图9为本发明一实施方式的RE指令的格式示意图;
图10为本发明一实施方式的V_STATE指令的格式示意图。
具体实施方式
本发明的上述以及其它的特征和优点将从以下结合附图对本发明的各种实施方式的说明中得到体现。这些附图和实施方式的提供仅是示例性,并非构成对本发明的范围的限制。
图1示意性地显示了本发明的一种实施方式的通讯协议处理器100的结构。该通讯协议处理器100可用于监控主机200与采用各种通讯协议的监控外设300之间的通信。其中,监控外设300可以是多台分别采用UART、I2S、I2C、CAN、SSI等多种串行通讯协议的智能仪表或设备。如图1所示,该通讯协议处理器100包括:用于与监控主机200通信的监控接口10;用于与监控外设300通信的控制接口8;控制单元1,配置为将来自监控接口10的监控指令译码处理,并生成控制通讯协议处理器100的各个部件(例如波特率发生器4、协议模块7、控制接口8等)的信号;与控制单元1连接的波特率发生器4,配置为根据基于协议的操作指令输出分频后的时钟;与波特率发生器4连接的协议模块7,配置为根据控制信号和协议的时钟,将来自监控接口10的待发送的并行数据转换成串行数据,以及将转换后的串行数据向控制接口8传输,和/或将来自控制接口8的串行数据转换成并行数据,以及将转换后的并行数据向监控接口10传输。
图2为本发明另一实施方式的通讯协议处理器的结构示意图。该通讯协议处理器100在上述图1的基础上增加了一些硬件,使其功能更加强大。如图2所示,该通讯协议处理器100包括:控制单元1、算数逻辑运算单元2、寄存器堆3、波特率发生器4、发送数据缓存器5、接收数据缓存器6、协议模块7、控制接口8、中断控制器9和监控接口10。
其中,控制单元1包括:用于指示指令的地址并进行指令计数的指令计数器11,用于存放从监控接口10读取的指令的指令寄存器12,根据指令寄存器12中的指令执行译码,生成具体操作信息的指令译码器13,根据具体操作信息,向该处理器的各个部件(如:算数逻辑运算单元2、寄存器堆3、波特率发生器4、发送数据缓存器5、接收数据缓存器6、协议模块7等)发出控制信号的操作控制器14。控制信号由指令集中的指令生成,该指令集包括:算数逻辑运算指令和串行协议操作指令。
算数逻辑运算单元2配置为根据控制信号执行算术运算和逻辑运算,使得该通讯协议处理器100可以进行复杂的运算,实现多种功能。
寄存器堆3用于存放待处理的数据和/或已经处理的数据和/或中断信息,本实施方式中寄存器堆3包括寄存器R0~R15。
波特率发生器4,配置为根据控制单元1发送的协议操作指令对时钟进行分频,以生成对应于该协议的时钟。该波特率发生器4包括与协议相对应的UART波特率发生器41、SSI波特率发生器42、I2C波特率发生器43、I2S波特率发生器44、CAN波特率发生器45等。
发送数据缓存器5分别与控制单元1和协议模块7连接,可以根据控制单元1的控制命令,缓存执行协议指令过程中所需要的数据(例如,该数据来自监控主机200中的RAM)。发送数据缓存器5包括与协议对应的UART发送数据缓冲器51、SSI发送数据缓冲器52、I2C发送数据缓冲器53、I2S发送数据缓冲器54、CAN发送数据缓冲器55等。
接收数据缓存器6分别与控制单元1和协议模块7连接,可用于缓存来自协议模块7的并行数据,直到接收到控制单元1,将接收数据缓存器6中的数据读到寄存器堆3中的命令为止。该接收数据缓存器6包括与各种协议对应的UART接收数据缓冲器61、SSI接收数据缓冲器62、I2C接收数据缓冲器63、I2S接收数据缓冲器64、CAN接收数据缓冲器65等。
协议模块7包括UART控制器71、SSI控制器72、I2C控制器73、I2S控制器74、CAN控制器75等,这些控制器中包含多个控制寄存器(例如,控制寄存器0、控制寄存器1、控制寄存器2、控制寄存器3等,这些控制寄存器未在图中表示),用来存放对应各种协议的(例如UART、SSI、I2C、I2S、CAN等协议)控制参数(例如串行时钟速率、帧格式、数据帧长度、发送/接收使能、主/从选择等)。该协议模块7主要的功能有两个:一是,根据控制单元1的命令,将来自发送数据缓存器5中的并行数据经过相应通讯协议的控制器模块(例如UART控制器71、SSI控制器72、I2C控制器73、I2S控制器74、CAN控制器75等)的并转串逻辑模块和发送控制逻辑等模块(图中未进行标示)将并行数据转换成串行数据后发送给控制接口8,最终发送给对应的各种监控外设300(例如,UART外设、SSI外设、I2C外设、I2S外设、CAN外设等);二是,将各种监控外设300中的数据通过相应协议模块7(例如,UART控制器71、SSI控制器72、I2C控制器73、I2S控制器74、CAN控制器75等)中的串转并逻辑模块和接收控制逻辑等模块(图中未进行标示)将串行数据转换成并行数据,以及将转换后的并行数据输出给对应各种协议的接收数据缓存器6(例如UART接收数据缓存器61、SSI接收数据缓存器62、I2C接收数据缓存器63、I2S接收数据缓存器64、CAN接收数据缓存器65等)。
控制接口8配置为检测和接收来自各种监控外设300的数据并发送到协议模块7,和/或接收协议模块7的输出的数据,将其输出到监控外设300。
中断控制器9分别与控制单元1和寄存器堆3连接,该中断控制器9配置为接收来自寄存器堆3的中断信息,并将这些中断信息发送给控制单元1,以及控制单元1根据中断信息向通讯协议处理器100的相应的部件发出中断处理信号。
本实施方式的通讯协议处理器不仅可以支持数据处理,而且可以支持UART、I2S、I2C、CAN、SSI等串行通讯协议,该处理器应用更便利,更灵活,适用范围更广。
图3为本发明一实施方式的通讯协议处理器执行指令集中的指令的流程示意图。如图3所示,该流程包括以下步骤:
步骤S11:通讯协议处理器100在空闲状态时等待执行指令的通知,在得到开始执行的指令后,将指令计数器11所指向的指令的地址对应的指令(例如发送数据的指令、接收数据的指令和查询状态的指令)从监控主机200的ROM中读至指令寄存器12中。
步骤S12:将指令寄存器12中的指令送入到指令译码器13中进行译码处理。
步骤S13:将译码后的指令发送到操作控制器14,操作控制器14根据该指令,向本实施方式的通讯协议处理器100的相应部件(例如:算数逻辑运算单元2、寄存器堆3、波特率发生器4、发送数据缓存器5、接收数据缓存器6、协议模块7等)发出控制信号。
步骤S14:根据操作控制器14发出的控制信号,调用上述相应部件发完成指令的执行。
步骤S15:指令执行完成后,修改指令计数器11,确定下一条指令的地址,跳转到步骤S11,继续执行下一条指令。
图4为本发明一实施方式的算数逻辑运算指令的格式示意图。本实施方式的通讯协议处理器100是通过的指令集来实现相关运算,以及和外部串行设备(即监控外设300)的通讯。本实施方式中,指令集相关指令可以包括:算数逻辑运算指令、串行协议操作指令。该串行协议操作指令可以包括:对协议模块进行操作的控制指令(PRT_CTRL)、波特率指令(BR_CTRL)、发送指令(TR)、接收指令(RE)、查询状态指令(V_STATE)等指令。在本实施方式中,每条指令的长度为32比特,如图4所示:
位[31]:为0,代表指令类型为算数逻辑运算指令;
位[30:27]:Opcode,代表指令编码字段;
位[26:19]:AddrSrc,代表源地址,操作数1;
位[18:8]:Resv,代表保留字段;
位[7:0]:AddrDst,代表目的地址,操作数2;
图5为图4中的算数逻辑运算指令的格式的位域的意义和功能示意图。如图5所示,例如,当逻辑运算指令名称为C_ADD时,其Opcode设置为0000,该指令的功能意义为:把源地址上的操作数1和目的地址上的操作数2进行加法操作,然后将结果写入目的地址处。
当逻辑运算指令名称为C_SUB时,其Opcode设置为0001,该指令的功能意义为:把源地址上的操作数1和目的地址上的操作数2进行减法操作,然后将结果写入目的地址处。
当逻辑运算指令名称为C_AND时,其Opcode设置为0010,该指令的功能意义为:把源地址上的操作数1和目的地址上的操作数2进行二进制与操作,然后将结果写入目的地址处。
当逻辑运算指令名称为C_OR时,其Opcode设置为0011,该指令的功能意义为:把源地址上的操作数1和目的地址上的操作数2进行二进制或操作,然后将结果写入目的地址处。
当逻辑运算指令名称为C_LDR时,其Opcode设置为0100,该指令的功能意义为:将内存中源地址上的操作数1读到目的地址处。
当逻辑运算指令名称为C_STR时,其Opcode设置为0101,该指令的功能意义为:将源地址上的操作数1写到内存中目的地址处。
当逻辑运算指令名称为C_EOR时,其Opcode设置为0110,该指令的功能意义为:把源地址上的操作数1和目的地址上的操作数2进行二进制异或操作,然后将结果写入目的地址处。
例如:通讯协议处理器100若要执行{[(0x5+0x4)&0x7]^0x2}计算,首先需要在监控主机200的RAM中的地址0x40处存放数据0x5,地址0x60处存放数0x4,地址0x68处上存放数据0x7,地址0x70处上存放数据0x2,然后依次执行以下指令:
(1)执行C_ADD指令,此时位[31:27]为2’b00000,位[26:19](源地址)为0x40,位[7:0](目的地址)为0x60,执行C_ADD指令时,指令经过译码后,将解码后的信息送入到操作控制器14,操作控制器14向算数逻辑运算单元2发出操作控制信号,调用算数逻辑运算单元2完成(0x5+0x4)加法运算,把运算结果0x9存放在地址0x60处;
(2)执行C_AND指令,此时位[31:27]为2’b00010,位[26:19](源地址)为0x60,位[7:0](目的地址)为0x68,执行C_AND指令时,指令经过译码后,将解码后的信息送入到操作控制器14,操作控制器14向算数逻辑运算单元2发出操作控制信号,调用算数逻辑运算单元2完成(9&7)按位与运算,把运算结果0x1存放在地址0x68处;
(3)执行C_EOR指令,此时位[31:27]为2’b00110,位[26:19](源地址)为0x68,位[7:0](目的地址)为0x70,执行C_EOR指令时,指令经过译码后,将解码后的信息送入到操作控制器14,操作控制器14向算数逻辑运算单元2发出操作控制信号,调用算数逻辑运算单元2完成(1^2)按位异或运算,把运算结果0x3存放在地址0x70上。
因此,本发明的通讯协议处理器100具备算数逻辑运算功能,从而可以进行复杂的运算,实现多种功能。
本发明还可以按实际需要设置其它逻辑运算的指令,以满足其它运算的要求。
图6-10为本发明各种指令的格式示意图。这些指令包括串行协议操作指令中的对协议模块进行操作的控制指令(PRT_CTRL)、波特率指令(BR_CTRL)、发送指令(TR)、接收指令(RE)和查询状态指令(V_STATE)等。
图6为本发明一实施方式的PRT_CTRL指令的格式示意图。控制指令PRT_CTRL:根据指令的编码格式,对相应协议(例如:UART、I2C、I2S、SSI、CAN等协议)的控制器(例如:UART控制器71、SSI控制器72、I2C控制器73、I2S控制器74和CAN控制器75等)中的控制寄存器(例如,控制寄存器0、控制寄存器1、控制寄存器2和控制寄存器3)执行写操作。该指令主要用来对相应协议的控制参数进行配置。如图6所示,PRT_CTRL指令格式:
位[31]:为1,代表指令类型为串行协议操作指令;
位[30:27]:Opcode 1,为串行协议类型选择指令编码字段,编码为0000(UART)/0001(I2C)/0010(I2S)/0011(SSI)/0100(CAN)等;
位[26:24]:Opcode 2,为操作类型选择指令编码字段,固定编码为000,代表对协议模块7中的相应协议的控制参数进行配置;
位[23:22]:Opcode 3,为控制寄存器序号编码字段,编码为00(控制寄存器0)/01(控制寄存器1)/10(控制寄存器2)/11(控制寄存器3);
位[21:16]:Resv,代表保留字段;
位[15:0]:Operand,代表操作数。
下面以UART协议的PRT_CTRL指令为例,即Opcode 1编码为0000,Opcode 2固定编码为000。
例如,Opcode 3的编码为01,操作数为0x16,表示对协议模块7中的UART控制器71中的控制寄存器执行写操作,即把操作数0x16写入到UART控制器71中的控制寄存器中,以配置UART相关的控制参数,如对帧格式、数据帧长度、发送/接收使能等参数进行设置。
图7为本发明一实施方式的BR_CTRL指令的格式示意图。控制指令BR_CTRL根据指令的编码格式,对相应协议(例如UART、I2C、I2S、SSI、CAN等协议)的波特率发生器4中(例如UART波特率发生器41)的波特率控制寄存器执行写操作。该指令主要用来对相应协议的时钟分频参数进行配置。如图7所示,BR_CTRL指令格式如下:
位[31]:为1,代表指令类型为串行协议操作指令;
位[30:27]:Opcode 1,为串行协议类型选择指令编码字段,编码为0000(UART)/0001(I2C)/0010(I2S)/0011(SSI)/0100(CAN)等;
位[26:24]:Opcode 2,为操作类型选择指令编码字段,固定编码为001,代表对波特率发生器4进行操作;
位[23:16]:Resv,代表保留字段;
位[15:0]:Operand,代表操作数。
如下是以UART协议的BR_CTRL指令为例,即Opcode 1编码为0000,Opcode 2固定编码为001。
例如,操作数为0x12,表示对UART波特率发生器41中的波特率控制寄存器执行写操作,即把操作数0x12写入到UART波特率发生器41中的波特率控制寄存器中,以配置UART波特率时钟的分频参数。
图8为本发明一实施方式的TR指令的格式示意图。控制指令TR根据指令的编码格式,选择相应协议(例如,UART、I2C、I2S、SSI、CAN等),对操作数执行发送操作。其中,执行该指令时,指令经过译码后将操作数送入相应的发送数据缓存器5中的某个发送数据缓冲器(例如:UART发送数据缓存器51、SSI发送数据缓存器52、I2C发送数据缓存器53、I2S发送数据缓存器54、CAN发送数据缓存器55等)中进行缓存。该发送数据缓存器的选择是根据串行协议类型选择指令编码字段位[30:27]进行的。若该字段位的编码为0000,则对应UART协议,就将选择UART发送数据缓存器51。缓存后的操作数发送到协议模块7中相应的控制器(例如:UART控制器71、SSI控制器72、I2C控制器73、I2S控制器74和CAN控制器75等)执行并转串操作。该控制器的选择是根据串行协议类型选择指令编码字段位[30:27]进行的。若其编码为0000,则对应UART协议,就选择UART控制器71。并转串操作后的数据经过控制接口8输出给相应的监控外设300(即:各种外部串行设备,例如UART外设、I2C外设、I2S外设、SSI外设、CAN外设等)。如图8所示,TR的指令格式如下:
位[31]:为1,代表指令类型为串行协议操作指令;
位[30:27]:Opcode 1,为串行协议类型选择指令编码字段,编码为0000(UART)/0001(I2C)/0010(I2S)/0011(SSI)/0100(CAN)等;
位[26:24]:Opcode 2,为操作类型选择指令编码字段,固定编码为010,代表执行发送操作;
位[23:16]:Resv,代表保留字段;
位[15:0]:Operand,代表操作数。
如下是以UART协议的TR指令为例,即Opcode 1编码为0000,Opcode 2固定编码为010。
例如,操作数为0x8,表示将操作数按照UART的协议发送到UART外设。执行该指令时,指令经过译码后,将解码后的信息送入到操作控制器14,操作控制器14向UART发送数据缓存器51、UART控制器71发出操作控制信号,调用UART发送数据缓存器51、UART控制器71、控制接口8完成数据的发送。这个过程如下:将操作数0x8送入UART发送数据缓存器51中进行缓存,之后送入到协议模块7中的UART控制器71,按照UART的协议执行并转串操作,并经过控制接口8输出给外设。
图9为本发明一实施方式的RE指令的格式示意图。控制指令RE:根据指令的编码格式,选择相应协议(例如,UART、I2C、I2S、SSI、CAN等),执行接收操作。即执行该指令时,相应的监控外设300的串行数据经过控制接口8输出到协议模块7中相应的控制器(例如UART控制器71、SSI控制器72、I2C控制器73、I2S控制器74和CAN控制器75等),上述控制器的选择是根据串行协议类型选择指令编码字段位[30:27],若编码为0000,则对应UART协议,那么将选择UART控制器71。),执行串转并操作之后,发送给相应接收数据缓存器6(例如,UART接收数据缓存器61、SSI接收数据缓存器62、I2C接收数据缓存器63、I2S接收数据缓存器64和CAN接收数据缓存器65等),上述接收数据缓存器的选择根据串行协议类型选择指令编码字段位[30:27],若编码为0000,则对应UART协议,那么将选择UART发送接收缓存器61。然后将数据从相应的接收数据缓存器中读到目的寄存器中,完成本实施方式的处理器通过相应协议接收外设的数据的过程。如图9所示,RE指令格式如下:
位[31]:为1,代表指令类型为串行协议操作指令;
位[30:27]:Opcode 1,为串行协议类型选择指令编码字段,编码为0000(UART)/0001(I2C)/0010(I2S)/0011(SSI)/0100(CAN)等;
位[26:24]:Opcode 2,为操作类型选择指令编码字段,固定编码为011,代表执行接收操作;
位[23:16]:Resv,代表保留字段;
位[15:0]:RegDst,代表目的寄存器。
下面以UART协议的RE指令为例,即Opcode 1编码为0000,Opcode 2固定编码为011。
例如,目的寄存器R0,表示按照UART的协议接收监控外设300(例如外部串行设备:UART外设)的指令。执行该指令时,将解码后的信息送入到操作控制器14,操作控制器14向UART接收数据缓存器61、协议模块7中的UART控制器71发出操作控制信号,调用UART接收数据缓存器61、UART控制器71、控制接口8完成数据的接收。这个过程如下:UART外设的串行数据经过控制接口8输出给UART控制器71,按照UART协议执行串转并操作之后,发送给UART接收数据缓存器6,然后将数据从UART接收数据缓存器61读到目的寄存器堆3中的寄存器R0中,完成处理器通过UART协议接收UART外设的数据的过程。
图10为本发明一实施方式的V_STATE指令的格式示意图。控制指令V_STATE:根据指令的编码格式,选择相应协议(例如,UART、I2C、I2S、SSI、CAN等),相应模块(例如发送数据缓存器5、接收数据缓存器6、协议模块7),读取这些模块的工作状态。如图10所示,V_STATE指令格式如下:
位[31]:为1,代表指令类型为串行协议操作指令;
位[30:27]:Opcode 1,为串行协议类型选择指令编码字段,编码为0000(UART)/0001(I2C)/0010(I2S)/0011(SSI)/0100(CAN)等;
位[26:24]:Opcode 2,为操作类型选择指令编码字段,固定编码为100,代表执行查询状态操作;
位[23:22]:Opcode 3,为模块类型选择指令编码字段,编码为00(发送数据缓存器状态)/01(接收数据缓存器状态)/10(协议模块的工作状态);
位[21:16]:Resv,代表保留字段;
位[15:0]:RegDst,代表目的寄存器。
下面以UART协议的V_STATE指令为例,即Opcode 1编码为0000,Opcode 2固定编码为100。
例如,Opcode 3编码为00,目的寄存器R0,该指令的意义是读取UART发送数据缓存器的状态,将状态结果存放到寄存器R0。
一方面,本发明的通讯协议处理器具备算数逻辑运算功能,可以进行复杂的运算,实现多种功能;另一方面,解决了监控***在监控过程中遇到多种采用了不同协议标准的智能仪表或设备同时与监控计算机进行通讯时的不兼容的问题,使得应用更便利,更灵活,适用范围更广。
本发明实施例可以应用于计算机***/服务器,其可与众多其他通用或专用计算***或配置一起操作。适于与计算机***/服务器一起使用的众所周知的计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***、大型计算机***和包括上述任何***的分布式云计算技术环境。
计算机***/服务器可以在由计算机***执行的计算机***可执行指令的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
以上的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (7)
1.一种通讯协议处理器,用于监控主机(200)与采用多种协议的监控外设(300)之间的通信,所述处理器包括:
用于与所述监控主机(200)连接的监控接口(10);
用于与所述监控外设(300)连接的控制接口(8);
控制单元(1),配置为将来自所述监控接口(10)的指令译码处理,以及生成控制所述处理器的各个部件的控制信号;
与所述控制单元(1)连接的波特率发生器(4),配置为根据基于所述协议的操作指令输出分频后的时钟;
与所述波特率发生器(4)连接的协议模块(7),配置为根据来自所述控制单元(1)的控制信号和所述分频后的时钟,控制所述控制接口(8)与所述监控接口(10)之间的数据传输;
与所述控制单元(1)连接的算数逻辑运算单元(2),所述算数逻辑运算单元(2)配置为根据所述控制信号执行算术运算和逻辑运算,并将所述运算结果向所述控制单元(1)传输;
与所述控制单元(1)连接的寄存器堆(3),所述寄存器堆(3)用于存放待处理的数据和/或已经处理的数据和/或中断信息;
分别与所述控制单元(1)和协议模块(7)连接的发送数据缓存器(5),所述发送数据缓存器(5)包括与所述协议对应的UART发送数据缓冲器(51)、SSI发送数据缓冲器(52)、I2C发送数据缓冲器(53)、I2S发送数据缓冲器(54)和CAN发送数据缓冲器(55)中的至少两种;
分别与所述控制单元(1)和协议模块(7)连接的接收数据缓存器(6),所述接收数据缓存器(6)包括与所述协议对应的UART接收数据缓冲器(61)、SSI接收数据缓冲器(62)、I2C接收数据缓冲器(63)、I2S接收数据缓冲器(64)和CAN接收数据缓冲器(65)中的至少两种。
2.根据权利要求1所述的处理器,其中,所述控制单元(1)包括:
指令计数器(11),用于指示指令的地址并进行指令计数,
指令寄存器(12),用于存放从所述监控接口(10)读取的指令,
指令译码器(13),根据所述指令寄存器(12)中的指令执行译码,生成操作信息,
操作控制器(14),根据所述操作信息,向所述处理器的各个部件发出控制信号,
所述协议包括以下串行通讯协议中的至少两种:UART通讯协议、I2S通讯协议、I2C通讯协议、CAN通讯协议和SSI通讯协议。
3.根据权利要求1所述的处理器,还包括分别与所述控制单元(1)和寄存器堆(3)连接的中断控制器(9),所述中断控制器(9)配置为接收来自寄存器堆(3)的中断信息,以及将中断信息发送给控制单元(1)。
4.根据权利要求2所述的处理器,其中,所述波特率发生器(4)包括与所述协议相对应的UART波特率发生器(41)、SSI波特率发生器(42)、I2C波特率发生器(43)、I2S波特率发生器(44)和CAN波特率发生器(45)中的至少两种;
其中,所述协议模块(7)包括与所述协议相对应的UART控制器(71)、SSI控制器(72)、I2C控制器(73)、I2S控制器(74)、CAN控制器(75)中的至少两种。
5.根据权利要求1-4任一项所述的处理器,其中,所述协议模块(7)配置为将来自所述监控接口(10)的待发送的并行数据转换成串行数据后向所述控制接口(8)传输,和/或将来自所述控制接口(8)的串行数据转换成并行数据后向所述监控接口(10)传输。
6.根据权利要求1-4任一项所述的处理器,其中,所述控制信号由指令集中的指令生成,所述指令集中的指令包括:算数逻辑运算指令和串行协议操作指令;
所述的算数逻辑运算指令至少包括以下指令中的一种:加法指令、减法指令、与运算指令、或运算指令、加载数据指令、存储数据指令和逻辑异或运算指令。
7.根据权利要求6所述的处理器,其中,所述的串行协议操作指令包括以下指令中的至少一种:控制指令、波特率指令、发送指令、接收指令、查询状态指令,其中,
所述控制指令用于对所述协议模块(7)中相应协议的控制参数进行配置;
所述波特率指令用于对所述波特率发生器(4)中相应协议的时钟分频参数进行配置;
所述发送指令用于向所述控制接口(8)发送数据;
所述接收指令用于接收来自所述控制接口(8)的数据;
所述查询状态指令用于查询所述处理器的各个部件的工作状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510325756.8A CN104850527B (zh) | 2015-06-12 | 2015-06-12 | 通讯协议处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510325756.8A CN104850527B (zh) | 2015-06-12 | 2015-06-12 | 通讯协议处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104850527A CN104850527A (zh) | 2015-08-19 |
CN104850527B true CN104850527B (zh) | 2017-11-03 |
Family
ID=53850177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510325756.8A Active CN104850527B (zh) | 2015-06-12 | 2015-06-12 | 通讯协议处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850527B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144915A (zh) * | 2017-06-13 | 2019-01-04 | 上海复旦微电子集团股份有限公司 | 数据传输方法、数据传输接口及计算机可读存储介质 |
CN107391406B (zh) * | 2017-07-14 | 2023-05-16 | 广东华芯微特集成电路有限公司 | 一种用于协议处理的微处理器及处理协议的方法 |
CN111723033A (zh) * | 2019-03-18 | 2020-09-29 | 华大半导体有限公司 | 一种多功能串行通信接口设备及其方法 |
CN110377554B (zh) * | 2019-07-27 | 2021-02-02 | 北京永佳消防技术有限公司 | 一种基于串行通信的多协议数据集成通信装置及方法 |
CN113271115B (zh) * | 2021-04-29 | 2023-03-21 | 思澈科技(上海)有限公司 | 一种射频电路控制方法及其*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055553A (zh) * | 2006-04-14 | 2007-10-17 | 乐金电子(昆山)电脑有限公司 | Pda与主机cpu和***设备之间的周边装置用串联接口通信方法及*** |
CN101673107A (zh) * | 2008-09-09 | 2010-03-17 | 上海轻工业研究所有限公司 | 多路串行通信转换器及其应用的集散控制*** |
CN102023952A (zh) * | 2009-09-18 | 2011-04-20 | 深圳Tcl新技术有限公司 | 通信***及其通信控制方法 |
CN102023945A (zh) * | 2009-09-22 | 2011-04-20 | 鸿富锦精密工业(深圳)有限公司 | 基于串行***设备接口总线的设备及其数据传输方法 |
CN102314405A (zh) * | 2011-06-13 | 2012-01-11 | 上海哈诚电子科技有限公司 | 一种ccid协议处理电路 |
CN103034603A (zh) * | 2012-12-07 | 2013-04-10 | 天津瑞发科半导体技术有限公司 | 多通道闪存卡控制装置及其控制方法 |
CN103389960A (zh) * | 2013-07-26 | 2013-11-13 | 山东康威通信技术股份有限公司 | 电力监控领域实现波特率自适应的方法及装置 |
CN103530252A (zh) * | 2012-10-17 | 2014-01-22 | 矽创电子股份有限公司 | 自动校正传输频率的传输接口装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2559394B2 (ja) * | 1987-02-16 | 1996-12-04 | 株式会社日立製作所 | 通信制御装置 |
-
2015
- 2015-06-12 CN CN201510325756.8A patent/CN104850527B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055553A (zh) * | 2006-04-14 | 2007-10-17 | 乐金电子(昆山)电脑有限公司 | Pda与主机cpu和***设备之间的周边装置用串联接口通信方法及*** |
CN101673107A (zh) * | 2008-09-09 | 2010-03-17 | 上海轻工业研究所有限公司 | 多路串行通信转换器及其应用的集散控制*** |
CN102023952A (zh) * | 2009-09-18 | 2011-04-20 | 深圳Tcl新技术有限公司 | 通信***及其通信控制方法 |
CN102023945A (zh) * | 2009-09-22 | 2011-04-20 | 鸿富锦精密工业(深圳)有限公司 | 基于串行***设备接口总线的设备及其数据传输方法 |
CN102314405A (zh) * | 2011-06-13 | 2012-01-11 | 上海哈诚电子科技有限公司 | 一种ccid协议处理电路 |
CN103530252A (zh) * | 2012-10-17 | 2014-01-22 | 矽创电子股份有限公司 | 自动校正传输频率的传输接口装置及方法 |
CN103034603A (zh) * | 2012-12-07 | 2013-04-10 | 天津瑞发科半导体技术有限公司 | 多通道闪存卡控制装置及其控制方法 |
CN103389960A (zh) * | 2013-07-26 | 2013-11-13 | 山东康威通信技术股份有限公司 | 电力监控领域实现波特率自适应的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104850527A (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104850527B (zh) | 通讯协议处理器 | |
CN105468563B (zh) | Spi从设备、spi通信***及spi通信方法 | |
US9524052B2 (en) | Efficient lossless compression for peripheral interface data transfer | |
RU2597556C2 (ru) | Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера | |
CN106257434B (zh) | 一种基于增强型外设互连协议总线的数据传输方法及装置 | |
TW200405208A (en) | A scalar/vector processor | |
CN105260339A (zh) | 一种基于Xilinx Zynq技术的大规模PLC*** | |
CN116635820B (zh) | 用于控制计算存储处理器的方法和装置 | |
CN100337217C (zh) | 存储控制芯片及数据存储控制方法 | |
JP6998991B2 (ja) | 情報処理用方法及び装置 | |
CN104698950A (zh) | 一种***设备控制方法、微控制器、上位机及*** | |
WO2022143536A1 (zh) | 基于APSoC的国密计算方法、***、设备及介质 | |
CN103473426B (zh) | 基于嵌入式***框架的星载相控阵信号处理架构设计方法 | |
CN113468090B (zh) | 一种PCIe通信方法、装置、电子设备及可读存储介质 | |
KR20220030196A (ko) | 계산 장치들에서 요청들을 배칭하기 위한 시스템 및 방법 | |
CN113454607A (zh) | 调试方法、装置及片上*** | |
CN213276640U (zh) | 智能计算卡、图像处理设备和智能计算*** | |
CN109361761B (zh) | 一种物联网通信终端操作*** | |
US10958597B2 (en) | General purpose ring buffer handling in a network controller | |
US11586443B2 (en) | Thread-based processor halting | |
CN111770173A (zh) | 一种基于网络控制器的归约方法及*** | |
JPH06301655A (ja) | 分散処理システム | |
CN105867866A (zh) | 一种kvm芯片、kvm控制***和方法 | |
CN110012014A (zh) | 一种加解密方法、***、装置及介质 | |
CN115664980B (zh) | 仿真模型生成方法、仿真方法和存储介质、终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |