一种基于MicroBlaze软核的多路SSI数据采集模块的制作方法

文档序号:6740746阅读:159来源:国知局
专利名称:一种基于MicroBlaze软核的多路SSI数据采集模块的制作方法
技术领域
本实用新型属于数据采集技术领域,尤其是一种基于MicroBlaze软核的多路SSI数据采集模块。
背景技术
数据采集技术是采集传感器的温度、压カ、流量、位移等模拟信号并转换成计算机能识别的数字信号,最后进行相应的计算存储和处理。利用数据采集技术能够实现对某些物理量的监测和控制功能。现有的数据采集系统一般是以移位寄存器+状态机的方式实现,主要由控制单元、接收单元、发送单元、总线、PC机组成,其特点如下1、接收数据从串行引脚接收数据 —将数据发送到移位寄存器一从移位寄存器将数据发送到数据缓冲区;2、发送数据从发送数据缓冲区取出数据一将数据发送到移位寄存器一将移位寄存器数据从串行引脚发出;3、数据运算采集后的数据不能自运算,必须发送到PC机,在PC机内进行数据运算。其存在的问题是1、数据传送过程比较慢,数据不能直接从移位寄存器发送到CPU,増加了移位寄存器一数据缓冲区一总线一PC机一CPU中间的三个环节;2、数据运算过程比较慢,数据不能从移位寄存器直接发送到CPU运算,还必须经过中间的数据缓冲区一总线一PC机,再由PC机的CPU进行计算,延长了数据运算过程的周期时间。
发明内容本实用新型的目的在于克服现有技术的不足,提供一种基于FPGA的多路SSI数据采集模块,解决了数据采集过程慢、运算周期长的问题。本实用新型解决其技术问题是采取以下技术方案实现的一种基于MicroBlaze软核的多路SSI数据采集模块,包括设置在FPGA内的CPU和SSI多路采集単元,该SSI多路采集単元由一个寄存器阵列和一个数据采集子单元连接构成,该寄存器阵列一方面通过PLB总线与CPU相连接,另ー方面与数据采集子単元相连接,该数据采集子単元通过信号线和编码器相连接用于采集编码器的数据并传输给寄存器阵列,该寄存器阵列将采集的数据通过PLB总线传送给CPU。而且,所述的寄存器阵列包括数据位寄存器SSI_BITS、控制寄存器SSI_CTL、状态寄存器SSI_STAT、分频系数寄存器SSI_CLKDIV和数据寄存器SSI_DATA,数据位寄存器SSI_BITS、控制寄存器SSI_CTL、状态寄存器SSI_STAT、分频系数寄存器SSI_CLKDIV作为控制信号与数据采集子単元相连接,数据寄存器SSI_DATA作为数据信号与数据采集子単元相连接。而且,所述的数据采集子単元包括分频单元、采样单元、格雷码转换単元,分频单元的输入端与输入控制信号相连接,分频单元的输出信号分别连接到采样单元和编码器,采用单元的采样输入端与编码器相连接进行数据采样,采样単元的输出端与格雷码转换单元相连接将采样数据传送给格雷码转换単元,格雷码转换单元进行数据转换后传送给寄存器阵列。而且,所述的输入控制信号包括CPU的时钟信号CLK、控制寄存器的启动信号START、分频系数寄存器的分频系数信号DIV。而且,所述的CPU为一个MicroBlaze软核。本实用新型的优点和积极效果是本实用新型设计合理,通过FPGA内置的CPU和SSI多路采集单元实现对多路编码器的数据采集和处理功能,全部数据采集处理过程均在FPGA内即可完成,缩短了数据传输途径和运算途径,从而提高了多路数据采集的速度,解决了数据采集过程慢、运算周期长的问题。

图I是本实用新型的结构及其应用连接示意图;图2是本实用新型的数据采集子単元的电路方框图;图3是本实用新型的数据采集子単元的外部接ロ示意图。
具体实施方式
以下结合附图对本实用新型实施例做进ー步详述一种基于FPGA的多路SSI数据采集模块,如图I所示,包括设置在FPGA内的CPU和SSI多路采集单元,CPU与SSI多路采集单元通过PLB总线相连接进行双向通讯。所述的CPU为ー个MicroBlaze软核,其通过ISA单元与上位机控制单元相连接,所述的SSI多路采集単元由一个寄存器阵列和一个数据采集子単元连接构成,该寄存器阵列一方面通过PLB总线与CPU相连接,另ー方面与数据采集子単元相连接,该数据采集子単元通过信号线和四路编码器以并联方式相连接用于采集编码器的数据并传输给寄存器阵列,该寄存器阵列将采集的数据通过PLB总线传送给CPU。所述的寄存器阵列包括SSI_BITS数据位寄存器(此寄存器为IP核可配置參数,设有默认值)、SSI_CTL控制寄存器、SSI_STAT状态寄存器、SSI_CLKDIV分频系数寄存器和SSI_DATA数据寄存器,其功能分别为SSI_BITS数据位寄存器用于输出I个时钟周期内输出脉冲的数据位和结束位数量,该寄存器的前24位为数据位,第25位为结束位,当START信号启动分频单元后,分频单元产生SSI_BITS规定的脉冲个数。SSI_CTL控制寄存器用于启动分频、产生中断和清除中断、启用格雷码转换等当SSI_CTL接收到CPU信号后,将产生START信号,并发送给数据采集子单元;当SSI_CTL控制寄存器接收到采样COMPLETE信号后,将产生格雷码转换信号,并发送给数据采集子单兀(SSI—MoudelXSSI_STAT状态寄存器用于保存当前数据转换的状态,当格雷码转换完成后,在状态位保存ー个COMPLETE标志,当启动START信号时,清除COMPLETE标志。SSI_CLKDIV分频系数寄存器(也称除法寄存器):用来设置分频系数,即用初始状态的高频除以分频系数,以得到和编码器相匹配的低频,从而采集编码器数据。SSI_DATA数据寄存器每次转换成功的数据放在此寄存器。[0024]如图2所示,所述的数据采集子単元包括分频单元、采样单元、格雷码转换単元,分频单元与CPU的输入时钟信号CLK、控制寄存器的启动信号START、分频系数寄存器的分频系数信号DIV相连接。分频单元的输出信号分别连接到采样单元和编码器,采用单元的采样输入端与编码器相连接进行编码数据采样,采样単元的输出端与格雷码转换単元相连接将采样数据传送给格雷码转换単元,格雷码转换单元进行数据转换后通过SSI_DATA数据寄存器发给CPU。数据采集子単元的内部处理过程为I、分频单元接收到START信号后,产生并输出SSI_BITS寄存器的脉冲数量给编码器,同时,输出ー个时钟脉冲SSI_CLK给采样单元作为采样单元的输入时钟源。2、采样单元在分频单元的第2个脉冲的下降沿进入采样,当脉冲数量为第24个
吋,分频完成,并发出ー个STOP信号送给采样単元,此时,采样単元停止采样并输出ー个时钟脉冲给格雷码转换単元。3、格雷码转换单元通过SSI_USE_GRAY标志位判断编码器输出是ニ进制还是格雷码,如果SSI_USE_GRAY标志位为1,则进行格雷码转换,如果SSI_USE_GRAY标志位为0,则不进行格雷码转换。4、格雷码转换单元产生ー个COMPLETE信号给SSI_STAT状态寄存器并将数据传输给SSI_DATA数据寄存器。如图3所示,数据采集子单元(SSI_Moudel)包括以下输入信号和输出信号输入信号主要包括I、SSI_BITS SSI数据位,数据采集子単元根据这个数值输出一定数量的脉冲信号给编码器。该SSI_BITS为IP核可配置參数,设有默认值。2、SSI_CLK_DIV :分频系数,数据采集子単元根据分频系数进行分频;3、SSI_DATA :编码器原始数据。4、CLK :由CPU发出的时钟信号,作为数据采集子単元的输入时钟,数据采集子单元接收CLK信号后分频单元开始工作。5、SSI_START:启动信号,由SSI_CTL控制寄存器给出,数据采集子单元接收START信号后分频单元开始工作。6、SSI_USE_GRAY:判断格雷码标志位,标志位I时,进行格雷码转换,标志位O时,不转换。输出信号主要包括I、SSI_CLK:时钟输出信号,数据采集子单元输出此时钟信号给编码器,作为编码器的输入时钟源。2、SSI_C0MPLETE :采样完成标志,数据采集子单元完成了分频、采样、格雷码转换后,向SSI_STAT状态寄存器输出SSI_C0MPLETE信号,当下一个时钟到来,数据采集子単元重新接收START信号,此时SSI_STAT状态寄存器的SSI_C0MPLETE标志位被擦除。3、SSI_REG0 :转换成功的数据储存。数据采集子単元接收转换成功的数据,通过PLB总线发送给CPU。4、SSI_REG1 :转换成功的数据储存。数据采集子単元接收转换成功的数据,通过PLB总线发送给CPU。[0043]5、SSI_REG2 :转换成功的数据储存。数据采集子単元接收转换成功的数据,通过PLB总线发送给CPU。6、SSI_REG3 :转换成功的数据储存。数据采集子単元接收转换成功的数据,通过PLB总线发送给CPU。本实用新型的工作过程为UCPU向SSI多路采集单元中的SSI_CTL控制寄存器发送控制信号,SSI_CTL控制寄存器将START信号发送给分频单元;2、分频单元接收START信号(来自SSI_CTL控制寄存器)、时钟信号CLK(来自CPU)、DIV信号(来自SSI分频寄存器)后被启动;3、分频单元发送分频信号给多路编码器(通过信号线); 4、采样单元采集多路编码器数据(通过信号线);5、采样单元将采集后的数据发送给格雷码转换子模块(通过数据线);6、格雷码转换子模块转换数据为ニ进制;7、将转换后的数据发送给SSI数据寄存器(通过数据线);8、SSI数据寄存器将转换后的数据发送给CPU。需要强调的是,本实用新型所述的实施例是说明性的,而不是限定性的,因此本实用新型并不限于具体实施方式
中所述的实施例,凡是由本领域技术人员根据本实用新型的技术方案得出的其他实施方式,同样属于本实用新型保护的范围。
权利要求1.一种基于MicroBlaze软核的多路SSI数据采集模块,其特征在于包括设置在FPGA内的CPU和SSI多路采集单元,该SSI多路采集单元由一个寄存器阵列和一个数据采集子单元连接构成,该寄存器阵列一方面通过PLB总线与CPU相连接,另一方面与数据采集子单元相连接,该数据采集子单元通过信号线和编码器相连接用于采集编码器的数据并传输给寄存器阵列,该寄存器阵列将采集的数据通过PLB总线传送给CPU。
2.根据权利要求I所述的一种基于MicroBlaze软核的多路SSI数据采集模块,其特征在于所述的寄存器阵列包括数据位寄存器SSI_BITS、控制寄存器SSI_CTL、状态寄存器SSI_STAT、分频系数寄存器SSI_CLKDIV和数据寄存器SSI_DATA,数据位寄存器SSI_BITS、控制寄存器SSI_CTL、状态寄存器SSI_STAT、分频系数寄存器SSI_CLKDIV作为控制信号与数据采集子单元相连接,数据寄存器SSI_DATA作为数据信号与数据采集子单元相连接。
3.根据权利要求I所述的一种基于MicroBlaze软核的多路SSI数据采集模块,其特征在于所述的数据采集子单元包括分频单元、采样单元、格雷码转换单元,分频单元的输入端与输入控制信号相连接,分频单元的输出信号分别连接到采样单元和编码器,采用单元的采样输入端与编码器相连接进行数据采样,采样单元的输出端与格雷码转换单元相连接将采样数据传送给格雷码转换单元,格雷码转换单元进行数据转换后传送给寄存器阵列。
4.根据权利要求3所述的一种基于MicroBlaze软核的多路SSI数据采集模块,其特征在于所述的输入控制信号包括CPU的时钟信号CLK、控制寄存器的启动信号START、分频系数寄存器的分频系数信号DIV。
5.根据权利要求I至4任一项所述的一种基于MicroBlaze软核的多路SSI数据采集模块,其特征在于所述的CPU为一个MicroBlaze软核。
专利摘要本实用新型涉及一种基于MicroBlaze软核的多路SSI数据采集模块,其主要技术特点是包括设置在FPGA内的MicroBlaze软核和SSI多路采集单元,该SSI多路采集单元由一个寄存器阵列和一个数据采集子单元连接构成,该寄存器阵列一方面通过PLB总线与CPU相连接,另一方面与数据采集子单元相连接,该数据采集子单元通过信号线和编码器相连接用于采集编码器的数据并传输给寄存器阵列,该寄存器阵列将采集的数据通过PLB总线传送给CPU。本实用新型通过FPGA内置的MicroBlaze软核和SSI多路采集单元实现对多路编码器的数据采集和处理功能,全部数据采集处理过程均在FPGA内即可完成,缩短了数据传输途径和运算途径,从而提高了多路数据采集的速度,解决了数据采集过程慢、运算周期长的问题。
文档编号G11C11/56GK202632782SQ20122032255
公开日2012年12月26日 申请日期2012年7月5日 优先权日2012年7月5日
发明者赵哲 申请人:无锡普智联科高新技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1