background image

况,计算出各矢量的夹角以确定加工此矢量的初始速度及终止速度。表 1 为工作头进行不
同角度转弯时的极限速度。

  3 FPGA 的内部逻辑设计
  从 DSP 的角度看,FPGA 加工模块类似于一个存储器,DSP 只需将计算结果写入此存
储器中,以后的工作将全部由 FPGA 来完成。在 FPGA 加工模块中主要采用了不同类别数
据并行读取和双存储器组交替工作的技术。
  3.1 数据并行读取
  传统的数据存储器受限于处理器的单任务特性,通常采用单片大容量存储单元,这种
结构使得系统需要耗费多个读取周期才能得到一组完整的数据。而 FPGA 的并行工作特性
可以突破这种传统的设计形式,将不同类别数据存放于独立的存储单元中。只要在定义数
据时将地址对齐就可以在一个读取周期中获得全部数据。运用这种方式可以在读数时间最
小化的同时简化编程,也可以使整体程序的结构更加明了。
  3.2 双存储器交替工作
  市场上已有的同类 FPGA 产品大多采用写入 1 条数据、执行 1 条数据的工作方式,这将
在数据传输时产生停顿。本系统虽然采用了存储器作为加工数据的缓存,但仅仅依靠这种
方式仍然不能解决问题,在 DSP 写入数据时依然会造成加工停顿。
  图 4 为双存储器组结构示意图,当系统在执行其中一组存储器中的数据时,DSP 可将
计算结果写入另一组存储器。由于 DSP 的运算速度远远高于加工速度,所以双存储器架构
可以保证加工不被间断。

  图 5 为 FPGA 加工程序流程图。可见,在地址对齐的前提下更换存储器组需要改变存
储器组选择信号并将地址计数器清零。此时,FPGA 还将用中断的形式通知 DSP,使得 DSP
可以填充新的数据。