当前位置: 首页 > 专利查询>浙江大学专利>正文

基于FPGA的高速数据旋转控制装置和方法制造方法及图纸

技术编号:3748435 阅读:126 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于FPGA的高速数据旋转控制装置,包括数据接收器、数据输入分配器、数据缓存器、数据旋转器、数据输出分配器、数据输出器。本发明专利技术还提供了一种基于FPGA的高速数据旋转控制方法,包括块数据接收控制的步骤,块数据分流输入控制的步骤,数据处理的流水线控制的步骤,块数据选择输出控制的步骤和块数据输出控制的步骤。本发明专利技术通过实现数据的三级流水线的操作方式来提高数据的吞吐量,通过状态机的控制,来实现数据严格的循环操作,提高了系统的可靠性。

【技术实现步骤摘要】

本专利技术涉及数码印花控制领域及FPGA技术,尤其涉及一种基于FPGA的高速数据 旋转控制装置和方法。
技术介绍
随着数码印花机的飞速发展,数码打印产业的快速增长,对数码印花速度有了更 高的要求,需要有更快数据处理能力的控制装置来实现数码印花机的数据处理。近年来FPGA技术取得了飞速发展,已经从最初只能面向纯逻辑替代的应用转变 为能够面向复杂的计算密集型应用。最新推出的FPGA器件中,不仅集成有丰富的可配置逻 辑块资源(Configurable Logic Block, CLB),还包括大量面向计算密集应用的DSP单元、 块状RAM(BlockRAM,BRAM)和用于高速串行通信的RocketIO GTP收发器单元。同时为方便 FPGA的调试,各FPGA厂商还推出了片内逻辑分析测试工具(如Xilinx公司的ChipScope), 在软硬件上保证了在FPGA上实现高性能计算的可行性。针对数码印花机自定义接口及高速数据传输的要求,需要有专用系统作为数码印 花机的数据处理。相对与通用计算机对于数码印花机的数据处理,特别是要求数据按bit 位的旋转,通用计算机的处理速度远远无法达到印花机的要求,所以通过专用系统来实现 数据高速旋转来提高印花机的工作效率。
技术实现思路
本专利技术提供了一种高可靠性、高吞吐量的基于FPGA的高速数据旋转控制装置。一种基于FPGA的高速数据旋转控制装置,包括数据接收器,用于块数据的接收;数据输入分配器,连接数据接收器和三个数据缓存器,用于将数据接收器接收的 块数据进行分流输入控制;三个数据缓存器,连接数据输入分配器、数据输出分配器和各自对应的数据旋转 器,用于原始块数据和旋转后块数据的缓存;三个数据旋转器,连接各自对应的数据缓存器,用于数据的旋转;(每个数据缓存器和每个数据旋转器为一组,共三组)数据输出分配器,连接数据输出器和三个数据缓存器,用于将三个数据缓存器发 送的块数据进行选择输出控制;数据输出器,连接数据输出分配器,用于块数据的并行输出;尽管本专利技术基于FPGA的高速数据旋转控制装置的各个组成部分的功能可以通过 通用计算机的编程实现,但是本专利技术采用FPGA中的特定功能块来实现,可以完成更高的数 据旋转效率。本专利技术还提供了一种基于FPGA的高速数据旋转控制方法。一种基于FPGA的高速数据旋转控制方法,包括块数据接收控制的步骤,块数据分4流输入控制的步骤,数据处理的流水线控制的步骤,块数据选择输出控制的步骤和块数据 输出控制的步骤,其中,块数据接收控制的步骤,由数据接收器根据数据输入分配器的空闲状态来实现;块数据分流输入控制的步骤,在由数据接收器将块数据接收后,根据三个数据缓 存器空闲状态来决定块数据的分流输入控制;数据处理的流水线控制的步骤,三个数据缓存器分别对应有三个工作阶段,块数 据的写入,块数据的旋转和块数据的读出,数据处理的流水线工作如下第一阶段,第一数据缓存器开始块数据的写入,第二数据缓存器(和第三数据缓 存器处于空闲状态,不做任何动作;第二阶段,第一数据缓存器开始块数据的旋转,第二数据缓存器开始块数据的写 入,第三数据缓存器处于空闲状态不做任何动作;第三阶段,第一数据缓存器开始块数据的读出,第二数据缓存器开始块数据的旋 转,第三数据缓存器开始块数据的写入;第四阶段,第一数据缓存器开始块数据的写入,第二数据缓存器开始块数据的读 出,第三数据缓存器开始块数据的旋转;第五阶段,第一数据缓存器开始块数据的旋转,第二数据缓存器开始块数据的写 入,第三数据缓存器开始块数据的读出;......以此类推,循环操作,形成块数据的写入,块数据的旋转和块数据的读出三级流水线工作,以此提高数据的吞吐量。块数据选择输出控制的步骤,根据三个数据缓存器的块数据输出完成状态来决定 块数据的选择输出控制;块数据输出控制的步骤,由数据输出器根据数据输出分配器的完成状态来实现。数据接收器检查数据输入分配器是否处于空闲状态,若是,则进行块数据接收;若 否,则不进行块数据接收。输入分配器按照第一数据缓存器,第二数据缓存器和第三数据缓存器的次序判断 输入完成状态的步骤如下A.数据输入分配器检查第一数据缓存器是否处于数据输入完成状态,若是,则检 查第二数据缓存器的输入完成状态,若否,则将块数据分配至第一数据缓存器;B.数据输入分配器检查第二数据缓存器是否处于数据输入完成状态,若是,则检 查第三数据缓存器的输入完成状态,若否,则将块数据分配至第二数据缓存器;C.数据输入分配器检查第三数据缓存器是否处于数据输入完成状态,若是,则检 查第一数据缓存器的输入完成状态,若否,则将块数据分配至第三数据缓存器;数据分流输入控制循环A,B, C步骤。输出分配器按照第一数据缓存器,第二数据缓存器和第三数据缓存器的次序判断 输出完成状态的步骤如下D.数据输出分配器检查第一数据缓存器是否处于输出完成状态,若是,则检查第 二数据缓存器的输出完成状态,若否,则数据分配器将第一数据缓存器的数据输出送至数 据输出器;E.数据输出分配器检查第二数据缓存器是否处于输出完成状态,若是,则检查第5三数据缓存器的输出完成状态,若否,则数据分配器将第二数据缓存器的数据输出送至数 据输出器;F.数据输出分配器检查第三数据缓存器是否处于输出完成状态,若是,则检查第 一数据缓存器的输出完成状态,若否,则数据分配器将第三数据缓存器的数据输出送至数 据输出器;数据选择输出控制循环D,E,F步骤。本专利技术方法对块数据的处理的采用流水线控制,工作如下第一阶段,开始A步骤;第二阶段,开始第一数据缓存器的块数据旋转,开始B步骤;第三阶段,开始第二数据缓存期的块数据旋转,开始D步骤,开始C步骤;第四阶段,开始第三数据缓存器的块数据旋转,开始E步骤,开始A步骤;第五阶段,开始第一数据缓存器的块数据旋转,开始F步骤,开始B步骤;......以此循环开始三级流水线的工作流程。数据输出器检查数据输出分配器是否有数据输出状态,若是,则将数据输出分配 器发送的块数据由数据输出器输出,若否,则数据输出器不输出。采用通用计算机来完成图像数据的旋转,对于一个200MByte大小的数据,需要15 分钟的旋转时间,采用本专利技术处理系统和处理方法,需要9秒的旋转时间,可以明显看出, 本专利技术处理系统和处理方法可以实现数据的高速处理,采用并行的三级流水线处理模式, 数据旋转速度可以达到60Mbyte/s的平均处理速度。附图说明图1为本专利技术控制装置的结构示意框图;图2为本专利技术控制装置的三级流水线操作示意图;图3为本专利技术控制装置的缓存器内部操作有限状态机跳转图;图4为本专利技术控制方法的数据流控制流程图。具体实施例方式如图1所示,本专利技术控制装置的结构,包括数据接收器110,用于块数据的接收,块数据为数码印花机的一个待打印的扫描行 (现有数码印花技术中,根据打印机的喷头个数将完整的图像分割成若干个扫描行);在现 有数码印花机领域中,一般是工业计算机通过软件将待打印扫描行进行旋转,而本专利技术是 将待打印的扫描行从工业计算机传输至数据接收器110后再进行旋转。为了适应工业计算 机与数据接收器110之间的数据传输,可以是工业计算机先将待打印的扫描行进行打包, 再通过中间设备转发(其中包括对打包后数据的接收、解析等)本文档来自技高网...

【技术保护点】
一种基于FPGA的高速数据旋转控制装置,其特征在于,包括:数据接收器(110),用于块数据的接收;数据输入分配器(120),连接数据接收器(110),第一数据缓存器(130),第二数据缓存器(150)和第三数据缓存器(170),用于将数据接收器(110)接收的块数据进行分流输入控制;第一数据缓存器(130),连接数据输入分配器(120),第一数据旋转器(140)和数据输出分配器(190),用于原始块数据和旋转后块数据的缓存;第一数据旋转器(140),连接第一数据缓存器(130),用于数据的旋转;第二数据缓存器(150),连接数据输入分配器(120),第二数据旋转器(160)和数据输出分配器(190),用于原始块数据和旋转后块数据的缓存;第二数据旋转器(160),连接第二数据缓存器(150),用于数据的旋转;第三数据缓存器(170),连接数据输入分配器(120),第三数据旋转器(180)和数据输出分配器(190),用于原始块数据和旋转后块数据的缓存;第三数据旋转器(180),连接第三数据缓存器(170),用于数据的旋转;数据输出分配器(190),第一数据缓存器(130),第二数据缓存器(150)和第三数据缓存器(170)和数据输出器(200),用于将第一数据缓存器(130),第二数据缓存器(150)和第三数据缓存器(170)发送的块数据进行选择输出控制;数据输出器(200),连接数据输出分配器(190),用于块数据的并行输出。...

【技术特征摘要】

【专利技术属性】
技术研发人员:田翔陈耀武
申请(专利权)人:浙江大学
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1