《基于MICROBLAZE软核的多路SSI数据采集模块.pdf》由会员分享,可在线阅读,更多相关《基于MICROBLAZE软核的多路SSI数据采集模块.pdf(8页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102968512 A (43)申请公布日 2013.03.13 CN 102968512 A *CN102968512A* (21)申请号 201210230844.6 (22)申请日 2012.07.05 G06F 17/40(2006.01) (71)申请人 无锡普智联科高新技术有限公司 地址 214135 江苏省无锡市新区震泽路 18 号无锡 (国家) 软件园鲸鱼座 A 区 4 楼 (72)发明人 赵哲 (74)专利代理机构 天津盛理知识产权代理有限 公司 12209 代理人 王利文 (54) 发明名称 基于MicroBlaze软核的多路SSI数据采集模 块 。
2、(57) 摘要 本发明涉及一种基于 MicroBlaze 软核的多 路 SSI 数据采集模块, 其主要技术特点是 : 包括设 置在 FPGA 内的 MicroBlaze 软核和 SSI 多路采集 单元, 该 SSI 多路采集单元由一个寄存器阵列和 一个数据采集子单元连接构成, 该寄存器阵列一 方面通过 PLB 总线与 CPU 相连接, 另一方面与数 据采集子单元相连接, 该数据采集子单元通过信 号线和编码器相连接用于采集编码器的数据并传 输给寄存器阵列, 该寄存器阵列将采集的数据通 过 PLB 总线传送给 CPU。本发明通过 FPGA 内置的 MicroBlaze软核和SSI多路采集单元实现对。
3、多路 编码器的数据采集和处理功能, 全部数据采集处 理过程均在 FPGA 内即可完成, 缩短了数据传输途 径和运算途径, 从而提高了多路数据采集的速度, 解决了数据采集过程慢、 运算周期长的问题。 (51)Int.Cl. 权利要求书 1 页 说明书 4 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 4 页 附图 2 页 1/1 页 2 1.一种基于MicroBlaze软核的多路SSI数据采集模块, 其特征在于 : 包括设置在FPGA 内的 CPU 和 SSI 多路采集单元, 该 SSI 多路采集单元由一个寄存器阵列和一个数据采集子 单。
4、元连接构成, 该寄存器阵列一方面通过PLB总线与CPU相连接, 另一方面与数据采集子单 元相连接, 该数据采集子单元通过信号线和编码器相连接用于采集编码器的数据并传输给 寄存器阵列, 该寄存器阵列将采集的数据通过 PLB 总线传送给 CPU。 2. 根据权利要求 1 所述的基于 MicroBlaze 软核的多路 SSI 数据采集模块, 其特征在 于 : 所述的寄存器阵列包括数据位寄存器 SSI_BITS、 控制寄存器 SSI_CTL、 状态寄存器 SSI_ STAT、 分频系数寄存器 SSI_CLKDIV 和数据寄存器 SSI_DATA, 数据位寄存器 SSI_BITS、 控制 寄存器 SSI。
5、_CTL、 状态寄存器 SSI_STAT、 分频系数寄存器 SSI_CLKDIV 作为控制信号与数据 采集子单元相连接, 数据寄存器 SSI_DATA 作为数据信号与数据采集子单元相连接。 3. 根据权利要求 1 所述的基于 MicroBlaze 软核的多路 SSI 数据采集模块, 其特征在 于 : 所述的数据采集子单元包括分频单元、 采样单元、 格雷码转换单元, 分频单元的输入端 与输入控制信号相连接, 分频单元的输出信号分别连接到采样单元和编码器, 采用单元的 采样输入端与编码器相连接进行数据采样, 采样单元的输出端与格雷码转换单元相连接将 采样数据传送给格雷码转换单元, 格雷码转换单元进。
6、行数据转换后传送给寄存器阵列。 4. 根据权利要求 3 所述的基于 MicroBlaze 软核的多路 SSI 数据采集模块, 其特征在 于 : 所述的输入控制信号包括CPU的时钟信号CLK、 控制寄存器的启动信号START、 分频系数 寄存器的分频系数信号 DIV。 5.根据权利要求1至4任一项所述的基于MicroBlaze软核的多路SSI数据采集模块, 其特征在于 : 所述的 CPU 为一个 MicroBlaze 软核。 权 利 要 求 书 CN 102968512 A 2 1/4 页 3 基于 MicroBlaze 软核的多路 SSI 数据采集模块 技术领域 0001 本发明属于数据采集技。
7、术领域, 尤其是一种基于MicroBlaze软核的多路SSI数据 采集模块。 背景技术 0002 数据采集技术是采集传感器的温度、 压力、 流量、 位移等模拟信号并转换成计算机 能识别的数字信号, 最后进行相应的计算存储和处理。利用数据采集技术能够实现对某些 物理量的监测和控制功能。 0003 现有的数据采集系统一般是以移位寄存器 + 状态机的方式实现, 主要由控制单 元、 接收单元、 发送单元、 总线、 PC 机组成, 其特点如下 : 1、 接收数据 : 从串行引脚接收数据 将数据发送到移位寄存器从移位寄存器将数据发送到数据缓冲区 ; 2、 发送数据 : 从发 送数据缓冲区取出数据将数据发送。
8、到移位寄存器将移位寄存器数据从串行引脚发出 ; 3、 数据运算 : 采集后的数据不能自运算, 必须发送到 PC 机, 在 PC 机内进行数据运算。其存 在的问题是 : 1、 数据传送过程比较慢, 数据不能直接从移位寄存器发送到 CPU, 增加了移位 寄存器数据缓冲区总线 PC 机 CPU 中间的三个环节 ; 2、 数据运算过程比较慢, 数据 不能从移位寄存器直接发送到 CPU 运算, 还必须经过中间的数据缓冲区总线 PC 机, 再 由 PC 机的 CPU 进行计算, 延长了数据运算过程的周期时间。 发明内容 0004 本发明的目的在于克服现有技术的不足, 提供一种基于FPGA的多路SSI数据采。
9、集 模块, 解决了数据采集过程慢、 运算周期长的问题。 0005 本发明解决其技术问题是采取以下技术方案实现的 : 0006 一种基于 MicroBlaze 软核的多路 SSI 数据采集模块, 包括设置在 FPGA 内的 CPU 和 SSI 多路采集单元, 该 SSI 多路采集单元由一个寄存器阵列和一个数据采集子单元连接 构成, 该寄存器阵列一方面通过 PLB 总线与 CPU 相连接, 另一方面与数据采集子单元相连 接, 该数据采集子单元通过信号线和编码器相连接用于采集编码器的数据并传输给寄存器 阵列, 该寄存器阵列将采集的数据通过 PLB 总线传送给 CPU。 0007 而且, 所述的寄存器。
10、阵列包括数据位寄存器 SSI_BITS、 控制寄存器 SSI_CTL、 状态 寄存器SSI_STAT、 分频系数寄存器SSI_CLKDIV和数据寄存器SSI_DATA, 数据位寄存器SSI_ BITS、 控制寄存器SSI_CTL、 状态寄存器SSI_STAT、 分频系数寄存器SSI_CLKDIV作为控制信 号与数据采集子单元相连接, 数据寄存器 SSI_DATA 作为数据信号与数据采集子单元相连 接。 0008 而且, 所述的数据采集子单元包括分频单元、 采样单元、 格雷码转换单元, 分频单 元的输入端与输入控制信号相连接, 分频单元的输出信号分别连接到采样单元和编码器, 采用单元的采样输入端。
11、与编码器相连接进行数据采样, 采样单元的输出端与格雷码转换单 元相连接将采样数据传送给格雷码转换单元, 格雷码转换单元进行数据转换后传送给寄存 说 明 书 CN 102968512 A 3 2/4 页 4 器阵列。 0009 而且, 所述的输入控制信号包括 CPU 的时钟信号 CLK、 控制寄存器的启动信号 START、 分频系数寄存器的分频系数信号 DIV。 0010 而且, 所述的 CPU 为一个 MicroBlaze 软核。 0011 本发明的优点和积极效果是 : 0012 本发明设计合理, 通过 FPGA 内置的 CPU 和 SSI 多路采集单元实现对多路编码器 的数据采集和处理功能,。
12、 全部数据采集处理过程均在 FPGA 内即可完成, 缩短了数据传输途 径和运算途径, 从而提高了多路数据采集的速度, 解决了数据采集过程慢、 运算周期长的问 题。 附图说明 0013 图 1 是本发明的结构及其应用连接示意图 ; 0014 图 2 是本发明的数据采集子单元的电路方框图 ; 0015 图 3 是本发明的数据采集子单元的外部接口示意图。 具体实施方式 0016 以下结合附图对本发明实施例做进一步详述 : 0017 一种基于 FPGA 的多路 SSI 数据采集模块, 如图 1 所示, 包括设置在 FPGA 内的 CPU 和 SSI 多路采集单元, CPU 与 SSI 多路采集单元通过。
13、 PLB 总线相连接进行双向通讯。所述 的 CPU 为一个 MicroBlaze 软核, 其通过 ISA 单元与上位机控制单元相连接, 所述的 SSI 多 路采集单元由一个寄存器阵列和一个数据采集子单元连接构成, 该寄存器阵列一方面通过 PLB 总线与 CPU 相连接, 另一方面与数据采集子单元相连接, 该数据采集子单元通过信号线 和四路编码器以并联方式相连接用于采集编码器的数据并传输给寄存器阵列, 该寄存器阵 列将采集的数据通过 PLB 总线传送给 CPU。 0018 所述的寄存器阵列包括 SSI_BITS 数据位寄存器 (此寄存器为 IP 核可配置参数, 设有默认值) 、 SSI_CTL 。
14、控制寄存器、 SSI_STAT 状态寄存器、 SSI_CLKDIV 分频系数寄存器和 SSI_DATA 数据寄存器, 其功能分别为 : 0019 SSI_BITS 数据位寄存器 : 用于输出 1 个时钟周期内输出脉冲的数据位和结束位数 量, 该寄存器的前 24 位为数据位, 第 25 位为结束位, 当 START 信号启动分频单元后, 分频单 元产生 SSI_BITS 规定的脉冲个数。 0020 SSI_CTL 控制寄存器 : 用于启动分频、 产生中断和清除中断、 启用格雷码转换等 : 当 SSI_CTL 接收到 CPU 信号后, 将产生 START 信号, 并发送给数据采集子单元 ; 当 S。
15、SI_CTL 控制寄存器接收到采样 COMPLETE 信号后, 将产生格雷码转换信号, 并发送给数据采集子单 元 (SSI_Moudel) 。 0021 SSI_STAT 状态寄存器 : 用于保存当前数据转换的状态, 当格雷码转换完成后, 在 状态位保存一个 COMPLETE 标志, 当启动 START 信号时, 清除 COMPLETE 标志。 0022 SSI_CLKDIV 分频系数寄存器 (也称除法寄存器) : 用来设置分频系数, 即 : 用初始状 态的高频除以分频系数, 以得到和编码器相匹配的低频, 从而采集编码器数据。 0023 SSI_DATA 数据寄存器 : 每次转换成功的数据放在。
16、此寄存器。 说 明 书 CN 102968512 A 4 3/4 页 5 0024 如图 2 所示, 所述的数据采集子单元包括分频单元、 采样单元、 格雷码转换单元, 分频单元与 CPU 的输入时钟信号 CLK、 控制寄存器的启动信号 START、 分频系数寄存器的分 频系数信号 DIV 相连接。分频单元的输出信号分别连接到采样单元和编码器, 采用单元的 采样输入端与编码器相连接进行编码数据采样, 采样单元的输出端与格雷码转换单元相连 接将采样数据传送给格雷码转换单元, 格雷码转换单元进行数据转换后通过 SSI_DATA 数 据寄存器发给 CPU。 0025 数据采集子单元的内部处理过程为 :。
17、 0026 1、 分频单元接收到START信号后, 产生并输出SSI_BITS寄存器的脉冲数量给编码 器, 同时, 输出一个时钟脉冲 SSI_CLK 给采样单元作为采样单元的输入时钟源。 0027 2、 采样单元在分频单元的第 2 个脉冲的下降沿进入采样, 当脉冲数量为第 24 个 时, 分频完成, 并发出一个 STOP 信号送给采样单元, 此时, 采样单元停止采样并输出一个时 钟脉冲给格雷码转换单元。 0028 3、 格雷码转换单元通过 SSI_USE_GRAY 标志位判断编码器输出是二进制还是格雷 码, 如果 SSI_USE_GRAY 标志位为 1, 则进行格雷码转换, 如果 SSI_US。
18、E_GRAY 标志位为 0, 则 不进行格雷码转换。 0029 4、 格雷码转换单元产生一个COMPLETE信号给SSI_STAT状态寄存器并将数据传输 给 SSI_DATA 数据寄存器。 0030 如图 3 所示, 数据采集子单元 (SSI_Moudel) 包括以下输入信号和输出信号 : 0031 输入信号主要包括 : 0032 1、 SSI_BITS : SSI 数据位, 数据采集子单元根据这个数值输出一定数量的脉冲信 号给编码器。该 SSI_BITS 为 IP 核可配置参数, 设有默认值。 0033 2、 SSI_CLK_DIV : 分频系数, 数据采集子单元根据分频系数进行分频 ; 0。
19、034 3、 SSI_DATA : 编码器原始数据。 0035 4、 CLK : 由 CPU 发出的时钟信号, 作为数据采集子单元的输入时钟, 数据采集子单 元接收 CLK 信号后分频单元开始工作。 0036 5、 SSI_START:启动信号, 由SSI_CTL控制寄存器给出, 数据采集子单元接收START 信号后分频单元开始工作。 0037 6、 SSI_USE_GRAY: 判断格雷码标志位, 标志位 1 时, 进行格雷码转换, 标志位 0 时, 不转换。 0038 输出信号主要包括 : 0039 1、 SSI_CLK: 时钟输出信号, 数据采集子单元输出此时钟信号给编码器, 作为编码 器。
20、的输入时钟源。 0040 2、 SSI_COMPLETE : 采样完成标志, 数据采集子单元完成了分频、 采样、 格雷码转换 后, 向 SSI_STAT 状态寄存器输出 SSI_COMPLETE 信号, 当下一个时钟到来, 数据采集子单元 重新接收 START 信号, 此时 SSI_STAT 状态寄存器的 SSI_COMPLETE 标志位被擦除。 0041 3、 SSI_REGO : 转换成功的数据储存。数据采集子单元接收转换成功的数据, 通过 PLB 总线发送给 CPU。 0042 4、 SSI_REG1 : 转换成功的数据储存。数据采集子单元接收转换成功的数据, 通过 PLB 总线发送给 。
21、CPU。 说 明 书 CN 102968512 A 5 4/4 页 6 0043 5、 SSI_REG2 : 转换成功的数据储存。数据采集子单元接收转换成功的数据, 通过 PLB 总线发送给 CPU。 0044 6、 SSI_REG3 : 转换成功的数据储存。数据采集子单元接收转换成功的数据, 通过 PLB 总线发送给 CPU。 0045 本发明的工作过程为 : 0046 1、 CPU 向 SSI 多路采集单元中的 SSI_CTL 控制寄存器发送控制信号, SSI_CTL 控制 寄存器将 START 信号发送给分频单元 ; 0047 2、 分频单元接收START信号 (来自SSI_CTL控制寄。
22、存器) 、 时钟信号CLK (来自CPU) 、 DIV 信号 (来自 SSI 分频寄存器) 后被启动 ; 0048 3、 分频单元发送分频信号给多路编码器 (通过信号线) ; 0049 4、 采样单元采集多路编码器数据 (通过信号线) ; 0050 5、 采样单元将采集后的数据发送给格雷码转换子模块 (通过数据线) ; 0051 6、 格雷码转换子模块转换数据为二进制 ; 0052 7、 将转换后的数据发送给 SSI 数据寄存器 (通过数据线) ; 0053 8、 SSI 数据寄存器将转换后的数据发送给 CPU。 0054 需要强调的是, 本发明所述的实施例是说明性的, 而不是限定性的, 因此本发明并 不限于具体实施方式中所述的实施例, 凡是由本领域技术人员根据本发明的技术方案得出 的其他实施方式, 同样属于本发明保护的范围。 说 明 书 CN 102968512 A 6 1/2 页 7 图 1 图 2 说 明 书 附 图 CN 102968512 A 7 2/2 页 8 图 3 说 明 书 附 图 CN 102968512 A 8 。