应用于高速运动控制系统的pci从设备核心控制模块的制作方法

文档序号:6535894阅读:185来源:国知局
应用于高速运动控制系统的pci从设备核心控制模块的制作方法
【专利摘要】应用于高速运动控制系统的PCI从设备核心控制模块,涉及一种PCI从设备核心控制模块,本发明为解决现有PCI从设备占用空间大、功能不可定制、成本高、限制嵌入式系统设计的问题。本发明包括核心状态机、配置单元、输入输出控制器、校验块、RAM读写控制器和中断控制器,所述核心状态机包括空闲状态idle、配置操作等待状态con_wait、端口操作等待状态io_wait、存储操作等待状态状态mem_wait、读等待状态状态read_wait、配置读写进行状态con、端口或存储读写进行状态rw和结束态backoff。本发明用于PCI从设备的开发中。
【专利说明】应用于高速运动控制系统的PCI从设备核心控制模块
【技术领域】
[0001]本发明涉及一种PCI从设备核心控制模块。
【背景技术】
[0002]目前的PCI设备多采用PCI配置芯片,占用空间且功能不可定制,成本较高,极大地限制了嵌入式系统的单片化设计;
[0003]以Quartus II的为代表提供的IP核库中提供的PCI模块,即使是最小的从设备模块,也使用了大量的逻辑单元,极大地限制了该类模块在低成本可编程逻辑器件中的应用。

【发明内容】

[0004]本发明目的是为了解决现有PCI从设备占用空间大、功能不可定制、成本高、限制嵌入式系统设计的问题,提供了一种应用于高速运动控制系统的PCI从设备核心控制模块。
[0005]本发明所述应用于高速运动控制系统的PCI从设备核心控制模块,它包括核心状态机、配置单元、输入输出控制器、校验块、RAM读写控制器和中断控制器;
[0006]核心状态机根据PCI总线的时序信号产生不同的触发信号,从而控制其他模块进入相应的工作状态,并同时控制自己的下一状态;
[0007]配置单元用于完成配置空间寄存器的实现、资源配置、配置操作控制以及地址译码;
[0008]输入输出控制器用于接收PCI总线和二级总线上传的数据,并控制数据传输;
[0009]校验块用于提供PCI总线上的奇偶校验及其他错误校验,当出现奇偶错等错误时,通知核心状态机停止本次数据传输;
[0010]RAM读写控制器用于实现对RAM设备的读取功能,RAM读写控制器内部包括一个小型状态机和一个小型FIFO存储器,小型状态机用于实现RAM读写时序控制;FIF0存储器用于暂存数据;
[0011]中断控制器用于实现中断功能。
[0012]本发明的优点:本发明所述应用于高速运动控制系统的PCI从设备核心控制模块为PCI总线接口模块将PCI总线的协议解析、逻辑时序控制、高速缓存等全部实现在单片CPLD或FPGA器件中,实现基本的PCI从设备功能却占用很少的资源数量。一旦该方案应用到PCI从设备的开发中,能够极大地节省板卡空间、降低成本。
[0013]本发明所述应用于高速运动控制系统的PCI从设备核心控制模块为PCI总线接口模块在可编程器件中的应用提供了一种高效、低资源占用、定制化的新型实现方式,为PCI总线设备的单片化提供了一个新的方法和思路。该模块可编写在可编程逻辑器件中,省去了独立的PCI接口芯片,有如下优点和意义:
[0014]1、减少了外部器件和接线,提高了系统的可靠性,同时降低了开发成本;
[0015]2、缩短了开发周期,产品升级换代、增减功能时无需更改硬件系统设计;[0016]3、可实现通用硬件设计针对不同用户、设备的高度定制化,只需更改PCI总线控制模块的部分设计,强化、简化对应的特性和功能,即可设计出对不同设备有不同针对性的模块,而无需更改硬件设计;
[0017]4、将所有功能逻辑设计在单片可编程器件中,可一起加密。
【专利附图】

【附图说明】
[0018]图1是本发明所述应用于高速运动控制系统的PCI从设备核心控制模块的结构示意图;
[0019]图2是核心状态机的状态转换图;
[0020]图3是PCI设备配置读操作的时序仿真结果示意图;
[0021]图4是PCI设备配置写操作的时序仿真结果示意图;
[0022]图5是设备端口读操作的仿真结果示意图;
[0023]图6是设备端口写操作的时序仿真结果示意图;
[0024]图7是设备存储读操作的时序仿真结果示意图;
[0025]图8是设备存储写操作的时序仿真结果示意图。
【具体实施方式】
[0026]【具体实施方式】一:下面结合图1说明本实施方式,本实施方式所述应用于高速运动控制系统的PCI从设备核心控制模块,它包括核心状态机、配置单元、输入输出控制器、校验块、RAM读写控制器和中断控制器;
[0027]核心状态机根据PCI总线的时序信号产生不同的触发信号,从而控制其他模块进入相应的工作状态,并同时控制自己的下一状态;
[0028]配置单元用于完成配置空间寄存器的实现、资源配置、配置操作控制以及地址译码;
[0029]输入输出控制器用于接收PCI总线和二级总线上传的数据,并控制数据传输;
[0030]校验块用于提供PCI总线上的奇偶校验及其他错误校验,当出现奇偶错等错误时,通知核心状态机停止本次数据传输;
[0031]RAM读写控制器用于实现对RAM设备的读取功能,RAM读写控制器内部包括一个小型状态机和一个小型FIFO存储器,小型状态机用于实现RAM读写时序控制;FIF0存储器用于暂存数据;
[0032]中断控制器用于实现中断功能。
[0033]本实施方式中,FIFO存储器表示先入先出队列存储器,起到数据缓冲的作用;输入输出控制器用于防止发生总线冲突。
[0034]【具体实施方式】二:下面结合图2说明本实施方式,本实施方式对实施方式一作进一步说明,所述核心状态机包括空闲状态idle、配置操作等待状态con_wait、端口操作等待状态io_wait、存储操作等待状态状态mem_wait、读等待状态状态read_wait、配置读写进行状态con、端口或存储读写进行状态rw和结束态backoff ;
[0035]空闲状态idle,从设备不占用PCI总线,等待主设备发起的读或写请求;当接收到总线命令为读命令、FRAME#低电平信息时,跳转到读等待状态read_wait ;当接收到总线命令为写命令,FRAME#低电平信息时,同时跳转到配置操作等待状态con_wait、端口操作等待状态io_wait和存储操作等待状态状态mem_wait ;其中:FRAME#表示一个传输帧开始;
[0036]配置操作等待状态con_wait,表示主设备已向从设备发起配置空间操作请求,包括配置读操作和配置写操作,从设备开始准备接受主设备的读或写请求;当接收到IRDY#信号线为低电平信号或后端数据已准备好信号时,跳转到配置读写进行状态con;当接收到的信号是IRDY#信号线为低电平信号时,进行写操作,当接收到的信号是后端数据已准备好时,进行读操作;其中:IRDY#表示主设备已准备好;
[0037]端口操作等待状态io_wait,表示主设备已向从设备发起IO空间操作请求,包括端口读操作和端口写操作,从设备开始准备接受主设备的读或写请求;当接收到IRDYi^f号线为低电平信号或后端数据已准备好信号时,跳转到端口或存储读写进行状态rw ;当接收到的信号是IRDY#信号线为低电平时,进行写操作,当接收到的信号是后端数据已准备好时,进行读操作;
[0038]存储操作等待状态mem_wait,表示主设备已向从设备发起内存空间操作请求,包括内存读操作和内存写操作,从设备开始准备接受主设备的读或写请求;当接收到IRDY#信号线为低电平信号或后端数据已准备好信号时,跳转到端口或存储读写进行状态rw ;当接收到的信号是IRDY#信号线为低电平时,进行写操作,当接收到的信号是后端数据已准备好时,进行读操作;
[0039]读等待状态reacLwait,读操作特有的等待状态,维持一个周期,用于实现从主设备驱动总线到从设备驱动总线的过渡;配置读、端口读、存储读都包含该状态;同时无条件跳转到配置操作等待状态con_wait、端口操作等待状态io_wait和存储操作等待状态状态mem—wait ;
[0040]配置读写进行状态con,该状态的开始阶段进行了一次配置数据的传输,该状态结束时,从设备开始准备结束本次传输;无条件转换到结束态backoff ;
[0041]端口或存储读写进行状态rw,该状态的开始阶段进行端口数据或内存数据的传输;当进行端口访问时,该状态无条件转换到结束态backoff ;当进行内存访问时,如果正在进行的是突发传输,则该状态结束后还是端口或存储读写进行状态rw,如果正在进行的是非突发传输,则无条件转换到结束态backoff ;
[0042]结束态backoff,一次传输结束后的一个状态,维持一个周期,用于满足s/t/s型信号的使用要求,保证该类信号维持一个周期的高电平再将其释放;无条件转换到空闲状态 idle。
[0043]本实施方式中,所述从设备为数据采集卡。read_wait状态的目的是防止总线冲关。
[0044]本实施方式中,主要读写操作中的状态转换如表1所示:
[0045]表1主要读写操作中状态机的状态转换
[0046]
【权利要求】
1.应用于高速运动控制系统的PCI从设备核心控制模块,其特征在于,它包括核心状态机、配置单元、输入输出控制器、校验块、RAM读写控制器和中断控制器; 核心状态机根据PCI总线的时序信号产生不同的触发信号,从而控制其他模块进入相应的工作状态,并同时控制自己的下一状态; 配置单元用于完成配置空间寄存器的实现、资源配置、配置操作控制以及地址译码; 输入输出控制器用于接收PCI总线和二级总线上传的数据,并控制数据传输; 校验块用于提供PCI总线上的奇偶校验及其他错误校验,当出现奇偶错等错误时,通知核心状态机停止本次数据传输; RAM读写控制器用于实现对RAM设备的读取功能,RAM读写控制器内部包括一个小型状态机和一个小型FIFO存储器,小型状态机用于实现RAM读写时序控制;FIF0存储器用于暂存数据; 中断控制器用于实现中断功能。
2.根据权利要求1所述应用于高速运动控制系统的PCI从设备核心控制模块,其特征在于,所述核心状态机包括空闲状态idle、配置操作等待状态con_wait、端口操作等待状态io_wait、存储操作等待状态状态mem_wait、读等待状态状态read_wait、配置读写进行状态con、端口或存储读写进行状态rw和结束态backoff ; 空闲状态idle,从设备不占用PCI总线,等待主设备发起的读或写请求;当接收到总线命令为读命令、FRAME#低电平信息时,跳转到读等待状态read_wait ;当接收到总线命令为写命令,FRAME#低电平信息时,同时跳转到配置操作等待状态con_wait、端口操作等待状态io_wait和存储操作等待状态状态mem_wait ;其中:FRAME#表示一个传输帧开始; 配置操作等待状态con_wait,表示主设备已向从设备发起配置空间操作请求,包括配置读操作和配置写操作,从设备开始`准备接受主设备的读或写请求;当接收到IRDY#信号线为低电平信号或后端数据已准备好信号时,跳转到配置读写进行状态con;当接收到的信号是IRDY#信号线为低电平信号时,进行写操作,当接收到的信号是后端数据已准备好时,进行读操作;其中:IRDY#表示主设备已准备好; 端口操作等待状态io_wait,表示主设备已向从设备发起IO空间操作请求,包括端口读操作和端口写操作,从设备开始准备接受主设备的读或写请求;当接收到IRDY#信号线为低电平信号或后端数据已准备好信号时,跳转到端口或存储读写进行状态rw ;当接收到的信号是IRDY#信号线为低电平时,进行写操作,当接收到的信号是后端数据已准备好时,进行读操作; 存储操作等待状态mem_wait,表示主设备已向从设备发起内存空间操作请求,包括内存读操作和内存写操作,从设备开始准备接受主设备的读或写请求;当接收到IRDY#信号线为低电平信号或后端数据已准备好信号时,跳转到端口或存储读写进行状态rw ;当接收到的信号是IRDY#信号线为低电平时,进行写操作,当接收到的信号是后端数据已准备好时,进行读操作; 读等待状态read_wait,读操作特有的等待状态,维持一个周期,用于实现从主设备驱动总线到从设备驱动总线的过渡;配置读、端口读、存储读都包含该状态;同时无条件跳转到配置操作等待状态con_wait、端口操作等待状态io_wait和存储操作等待状态状态mem_wait ;配置读写进行状态con,该状态的开始阶段进行了一次配置数据的传输,该状态结束时,从设备开始准备结束本次传输;无条件转换到结束态backoff ; 端口或存储读写进行状态rw,该状态的开始阶段进行端口数据或内存数据的传输;当进行端口访问时,该状态无条件转换到结束态backoff ;当进行内存访问时,如果正在进行的是突发传输,则该状态结束后还是端口或存储读写进行状态rw,如果正在进行的是非突发传输,则无条件转换到结束态backoff ; 结束态backoff,一次传输结束后的一个状态,维持一个周期,用于满足s/t/s型信号的使用要求,保证该类信号维持一个周期的高电平再将其释放;无条件转换到空闲状态idle。
3.根据权利要求1所述应用于高速运动控制系统的PCI从设备核心控制模块,其特征在于,所述配置单元包括配置空间寄存器、资源配置模块、控制配置读写操作模块和地址译码模块; 配置空间寄存器用于在配置单元中实现设备的配置空间,设置PCI从设备所需的配置寄存器; 资源配置模块:在上电后,读取PCI设备的配置信息,并获取PCI设备的资源请求,然后分配资源; 控制配置读写操作模块:当PCI的FRAME#信号线被拉低,且IDSEL信号被置高时,系统将对设备的配置空间进行读写操作;此时,配置单元在核心状态机的控制下配合主设备的访问操作;其中=IDSEL信号表示设备选中信号; 地址译码模块:当PCI的FRAME#信号线被拉低,且IDSEL信号保持低电平时,配置单元对AD总线上的地址进行译码;如果该地址在该设备的资源范围内,则表明系统将对该设备的端口空间或存储空间进行读写操作,配置单元将通知核心状态机该设备已被选中,需要立即进入访问状态。
4.根据权利要求3所述应用于高速运动控制系统的PCI从设备核心控制模块,其特征在于,所述资源配置模块获取PCI设备的资源请求,然后分配资源通过基址寄存器实现,基址寄存器的中间几位锁定为“0”,锁定的位数取决于资源区的大小;上电后,输入输出控制器先向基址寄存器中写入全“1”,再将其读回,通过读回的数值获取设备所请求的资源区大小;资源分配好后,再将资源区的基址信息写入设备上的基址寄存器中。
【文档编号】G06F9/22GK103729165SQ201410020066
【公开日】2014年4月16日 申请日期:2014年1月16日 优先权日:2014年1月16日
【发明者】高会军, 张增杰, 孙光辉, 余洋, 邱搏博 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1