默れ

BF533视觉伺服控制的实现

0
阅读(1919)

  根据之前讲的,然后创建运动检测子系统的处理器在线仿真模块,用鼠标右键点击运动物体检测子系统,选择Real-Time Workshop > Build Subsystem,此时在新的模型中会生成一个处理器在线仿真模块,在VisualDSP++开发环境中会生成相应的DSP程序代码,将新生成的模块复制到原系统模型中,按如图4-19所示连线,点击编译运行按钮,通过数组示波器即可看出在MATLAB中运行的结果和DSP上所得到的结果是否相同,根据示波器显示结果为零,我们可知该算法在DSP上能够实现,同时也得到了相应代码。

处理器在线仿真即DSP代码生成

  但是完全由MATLAB生成的DSP代码,效率会较低,代码长度、运行速度可能达不到要求,这就必须对DSP代码进行优化,我们可以调用编译器优化开关函数对代码进行编译器级别的优化,也可以使用处理器所独有的函数功能库来简化计算,然后再次使用实时执行任务来评估在生成的代码的性能变化,经过优化后,生成的代码满足我们的设计要求。

 

检测结果D/A数据输出

  经过前面的图像处理与检测过程,我们已经获取了所需的目标物体的图像特征信息,接下来我们所要做的就是将所得到的检测结果输出给主控计算机上的视觉控制器,以便为后续的视觉伺服做准备。ADSP Blackfin533开发平台使用了ADT7516 ADDA一体芯片对平台的D/A模拟输出接口进行了扩展,所以我们采用了D/A转换的方式来进行图像位置数据的传输,由于我们所    采集到的图像为二维的,图像的大小为320*240,所以我采用了两个通道的D/A来完成对二维图像坐标的输出,D/A的电压输出范围为0-5V,所以我们只需将坐标范围0-240与0-320分别于输出范围线性化对应即可,然后主控计算机通过PC1117板卡对D/A输出电压进行采样,即可为视觉控制器提供视觉反馈信息。

数据D/A传输流程