一种用于协议处理的微处理器及处理协议的方法与流程

文档序号:13004513阅读:436来源:国知局
一种用于协议处理的微处理器及处理协议的方法与流程

本发明涉及计算机通信技术领域,尤其涉及一种用于协议处理的微处理器及处理协议的方法。



背景技术:

计算机系统中具有各种通讯协议,用于在不同设备间进行通信。通讯协议往往需要特定的接口电路处理;处理后的信息存放在某块存储区,或者将某块存储区内的信息按照协议处理后,发送到对端设备。例如两线式串行总线(inter-integratedcircuit,i2c)、串行外设接口(serialperipheralinterface,spi)、通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)、外设部件互连标准接口(peripheralcomponentinterconnect,pci)等都需要相应的接口电路负责处理协议。

现有技术中存在一种利用微处理器实现串行通讯协议的方法及装置,该技术使用一组小型的通用处理器、可以编程的外部存储设备,以及和外部交互的缓冲器(pad)管脚,来实现集成电路总线(inter-integratedcircuit,iic)、uart以及spi等低速串行通信协议。该技术的应用仅局限于某几种协议,当需要处理某种特定协议时,该技术无法实现。

另有一种协议处理系统,使用微控制单元(microcontrollerunit,mcu)或者数字信号处理器(digitalsignalprocessing,dsp)作为处理器,该技术中协议处理代码保存在只读存储器中,不能动态改变存储器内容,无法改变适用的协议种类。

另有一种通讯协议处理器,用于监控主机与采用多种协议的监控外设之间的通讯,同样无法处理不同的协议。



技术实现要素:

本发明的目的在于克服现有技术的不足,本发明提供了一种用于协议处理的微处理器及处理协议的方法,可以通过执行不同的协议处理程序,动态改变适用的协议种类,处理不同的协议;极大地提升系统的灵活性,降低系统开发时间和开发成本。

为了解决上述问题,本发明提出了一种用于协议处理的微处理器,所述微处理器包括:

主控制器,用于读写发送fifo数据、接收fifo数据、指令存储器、状态寄存器、系统状态配置寄存器;

微处理器核,用于从指令存储器某一特定位置开始执行,从发送fifo模块读取fifo数据,将所接收的数据存储于接收fifo模块,发送中断消息或者状态消息给主控制器,改变协议信号状态,更改系统状态配置寄存器的相关位;

指令存储器,用于存储微处理器核所要执行的指令,当微处理器核启动后,从零地址开始执行指令;

状态寄存器,用于存储发送fifo数据、接收fifo数据的各种状态,以及协议信号的输入输出状态;

协议接口电路,用于根据协议要求进行相应操作,将状态寄存器发出的信号电平序列转换为符合协议要求的信号电平序列;

脉冲产生电路,用于根据所配置的周期、脉冲宽度、信号极性持续产生脉冲;

接收fifo模块,用于微处理器核处理从对端接收的协议信号后,存储相应的fifo数据,并发送通知信号给主控制器获取fifo数据;

发送fifo模块,用于存储待发送的数据。

优选地,所述微处理器还包括主控制器接口。

优选地,所述微处理器核通过所述主控制器接口发送中断消息或者状态消息给所述主控制器。

优选地,所述协议接口电路还用于根据协议要求进行电平变化、极性变化、信号保持。

优选地,所述主控制器还用于将协议处理程序通过主控制器接口写入所述指令存储器,并配置所述状态寄存器的相关位,将待发送的数据写入所述发送fifo模块。

优选地,当需要更新所述指令存储器内容时,所述主控制器通过主控制器接口或者所述状态寄存器停止所述微处理器核的工作,并更新所述指令存储器的内容。

优选地,所述脉冲产生电路还用于根据所配置的周期、脉冲宽度、信号极性持续产生uart发送时钟、spi时钟、pci时钟或者长时间重复的协议信号。

优选地,所述微处理器核为2级流水线处理器核。

相应地,本发明还提供一种处理协议的方法,所述方法包括:

主控制器将协议处理程序通过主处理器接口写入指令存储器,配置系统状态配置寄存器的相关位,并将待发送数据写入发送fifo模块;

主控制器启动微处理器核;

微处理器核从指令存储器某一特定位置开始执行;

执行过程中,微处理器核从发送fifo模块读取fifo数据,将所接收的数据存储于接收fifo模块,通过主控制器接口发送中断消息或者状态消息给主控制器,改变协议信号状态,更改系统状态配置寄存器的相关位;

当需要更新所述指令存储器内容时,所述主控制器通过主控制器接口或者所述系统状态配置寄存器停止所述微处理器核的工作,并更新所述指令存储器的内容;

再次启动微处理器从指令存储器某一特定位置开始执行指令。

优选地,所述方法还包括:

协议接口电路根据协议要求进行相应操作,将状态寄存器发出的信号电平序列转换为符合协议要求的信号电平序列。

实施本发明实施例,可以通过执行不同的协议处理程序,动态改变适用的协议种类,处理不同的协议;极大地提升系统的灵活性,降低系统开发时间和开发成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例的用于协议处理的微处理器的结构组成示意图;

图2是本发明实施例的处理协议的方法的流程示意图。

具体实施方式

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

图1是本发明实施例的用于协议处理的微处理器的结构组成示意图,如图1所示,该微处理器包括:

主控制器1,用于读写发送fifo数据、接收fifo数据、指令存储器、状态寄存器、系统状态配置寄存器;

微处理器核2,用于从指令存储器3某一特定位置开始执行,从发送fifo模块8读取fifo数据,将所接收的数据存储于接收fifo模块7,发送中断消息或者状态消息给主控制器1,改变协议信号状态,更改系统状态配置寄存器10的相关位;

指令存储器3,用于存储微处理器核2所要执行的指令,当微处理器核2启动后,从零地址开始执行指令;

状态寄存器4,用于存储发送fifo数据、接收fifo数据的各种状态,以及协议信号的输入输出状态;包括但不仅限于i2cscl/sda、uarttx/rx等;

协议接口电路5,用于根据协议要求进行相应操作,将状态寄存器4发出的信号电平序列转换为符合协议要求的信号电平序列;

脉冲产生电路6,用于根据所配置的周期、脉冲宽度、信号极性持续产生脉冲;

接收fifo模块7,用于微处理器核2处理从对端接收的协议信号后,存储相应的fifo数据,并发送通知信号给主控制器1获取fifo数据;

发送fifo模块8,用于存储待发送的数据;由主控制器或者其他外围电路写入,微处理器核根据fifo数据内容,设置协议信号。

其中,主控制器1分别与指令存储器3、微处理器核2、系统状态配置寄存器10、接收fifo模块7、发送fifo模块8相连接;微处理器核2分别与指令存储器3、状态寄存器4、接收fifo模块7、发送fifo模块8相连接。

如图1所示,该微处理器还包括主控制器接口9。进一步地,主控制器1通过主控制器接口9分别与指令存储器3、微处理器核2、系统状态配置寄存器10、接收fifo模块7、发送fifo模块8相连接。

具体地,微处理器核1通过主控制器接口9发送中断消息或者状态消息给主控制器1。

脉冲产生电路6通过系统状态配置寄存器10与主控制器接口9相连接。脉冲产生电路6另一端分别与状态寄存器4、协议接口电路5相连接。

指令存储器3分别与主控制器接口9、微处理器核2相连接。

协议接口电路5分别与脉冲产生电路6、状态寄存器4相连接。

接收fifo模块7分别与主控制器接口9、微处理器核2相连接。

发送fifo模块8分别与主控制器接口9、微处理器核2相连接。

在本发明实施例中,主控制器1是指在soc或者mcu系统中的主处理器核,或者当本发明的微处理器作为外围电路工作时所连接的主机。主控制器1还用于将协议处理程序通过主控制器接口写入指令存储器3,并配置状态寄存器4的相关位,将待发送的数据写入发送fifo模块8。

具体实施中,微处理器核2进一步包括:取指令单元、执行单元、通用寄存器单元、运算单元,本发明实施例中以2级流水线处理器核为例,但不仅限于2级流水线处理器核。

进一步地,协议接口电路5还用于根据协议要求进行电平变化、极性变化、信号保持等操作。

当需要更新指令存储器内容时,主控制器1通过主控制器接口9或者状态寄存器4停止微处理器核2的工作,并更新指令存储器3的内容。

脉冲产生电路6还用于根据所配置的周期、脉冲宽度、信号极性持续产生uart发送时钟、spi时钟、pci时钟或者长时间重复的协议信号。

相应地,本发明实施例还提供一种处理协议的方法,如图2所示,该方法包括:

s1,主控制器将协议处理程序通过主处理器接口写入指令存储器,配置系统状态配置寄存器的相关位,并将待发送数据写入发送fifo模块;

s2,主控制器启动微处理器核;

s3,微处理器核从指令存储器某一特定位置开始执行;如零地址;

s4,执行过程中,微处理器核从发送fifo模块读取fifo数据,将所接收的数据存储于接收fifo模块,通过主控制器接口发送中断消息或者状态消息给主控制器,改变协议信号状态,更改系统状态配置寄存器的相关位;

s5,当需要更新指令存储器内容时,主控制器通过主控制器接口或者系统状态配置寄存器停止微处理器核的工作,并更新指令存储器的内容;

s6,再次启动微处理器从指令存储器某一特定位置开始执行指令。

具体实施中,该方法还包括:

协议接口电路根据协议要求进行相应操作,将状态寄存器发出的信号电平序列转换为符合协议要求的信号电平序列。具体地,根据协议要求进行电平变化、极性变化、信号保持等操作。

本发明实施例中所描述的微处理器至少能够执行以下指令集,指令集描述如下:

1、每条指令长度为16bits,具体格式如下表所示:

2、指令包括运算,访存和控制三大类

3、指令可以通过地址码直接方法访问fifo,接收fifo,状态寄存器,系统状态配置寄存器和通用寄存器

4、对于单操作数指令,第6位到第0位组合作为地址格式,地址格式为yyxxxx-每一个字母代表一个二进制位。

实施本发明实施例,可以通过执行不同的协议处理程序,动态改变适用的协议种类,处理不同的协议;极大地提升系统的灵活性,降低系统开发时间和开发成本。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。

另外,以上对本发明实施例所提供的用于协议处理的微处理器及处理协议的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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