基于DSP的多超声测距数据采集处理系统
值456075100125150175200测量值43.2661.4774.7治理发愣功0.17125.20149.84174.63200.78实际值225250275300325350测量值224.11251.7276.9297.8322.7352.5
由于受环境温度、湿度的影响,超声传感器的测量值与实际值总有一些误差,表1列出了本超声测距系统测量值与对应的实际值。采用最小二乘法对表1的数据进行拟合,结果为:
y=0.9986x+0.2111
式中,x为测量值,y为实际值。
3.2基于CAN总线的数据通信
超声数据采集板发送测距数据以中断的方式完成。TMS320LF2407A有专门的mailbox中断,用于响应发送/接收中断。每个超声传感器的测距值在DSP内用两个字节存储,而CAN总线传输标准要求每个数据帧最多只能传输8个字节的数据。本系统共有16个超声传感器,共有32个字节存储所有测距值。CAN总线传输所有测距值需要4个数据帧才能传送完。本系统的通讯过程为:中央控制器发送远程请求,超声数据采集板进入接收中断,在中断服务程序内,采用查询方式发送4帧数据,每帧数据包含4个超声传感器的测距值。本系统采用的滤特率是500kbps。TMS320LF2407A用mailbox0接收中央控制器的远程请求帖,用mailbox2发送测距数据值。图3是超声数据采集板的发送数据中断服务程序框图。其中,TA2是对应mailbox2发送数据帧完成标志位,RMP0是对应mailbox0接收数据帧的标志位。关于TMS320LF2407A的CAN模块的具体说明。
图4中央控制器接收子程序框图
中央控制器接收子程序由VC++编写。当机器人需要新的测距值时,即调用此子程序。程序框图见图4。接收程序收到一帧数据后,判断数据是否有错,若有错,则向采集板发送命令,要求重发此帧数据;若正确,发送确认命令,要求采集板发送下一组数据,直到所有的超声测距数据都接收完。
本文介绍的超声数据采集系统采用TMS320LF2407A为核心处理器,可以达到很高的采集速率和精度。通过CAN总线通讯,可以将测距值以很高的滤特率可靠地发送给机器人中央控制器。此系统已经在自行设计的智能移动机器人CASIA-I上得到了实际应用。实验验证了硬件系统的可靠性和算法的有效性。
《基于DSP的多超声测距数据采集处理系统(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/142062.html
由于受环境温度、湿度的影响,超声传感器的测量值与实际值总有一些误差,表1列出了本超声测距系统测量值与对应的实际值。采用最小二乘法对表1的数据进行拟合,结果为:
y=0.9986x+0.2111
式中,x为测量值,y为实际值。
3.2基于CAN总线的数据通信
超声数据采集板发送测距数据以中断的方式完成。TMS320LF2407A有专门的mailbox中断,用于响应发送/接收中断。每个超声传感器的测距值在DSP内用两个字节存储,而CAN总线传输标准要求每个数据帧最多只能传输8个字节的数据。本系统共有16个超声传感器,共有32个字节存储所有测距值。CAN总线传输所有测距值需要4个数据帧才能传送完。本系统的通讯过程为:中央控制器发送远程请求,超声数据采集板进入接收中断,在中断服务程序内,采用查询方式发送4帧数据,每帧数据包含4个超声传感器的测距值。本系统采用的滤特率是500kbps。TMS320LF2407A用mailbox0接收中央控制器的远程请求帖,用mailbox2发送测距数据值。图3是超声数据采集板的发送数据中断服务程序框图。其中,TA2是对应mailbox2发送数据帧完成标志位,RMP0是对应mailbox0接收数据帧的标志位。关于TMS320LF2407A的CAN模块的具体说明。
图4中央控制器接收子程序框图
中央控制器接收子程序由VC++编写。当机器人需要新的测距值时,即调用此子程序。程序框图见图4。接收程序收到一帧数据后,判断数据是否有错,若有错,则向采集板发送命令,要求重发此帧数据;若正确,发送确认命令,要求采集板发送下一组数据,直到所有的超声测距数据都接收完。
本文介绍的超声数据采集系统采用TMS320LF2407A为核心处理器,可以达到很高的采集速率和精度。通过CAN总线通讯,可以将测距值以很高的滤特率可靠地发送给机器人中央控制器。此系统已经在自行设计的智能移动机器人CASIA-I上得到了实际应用。实验验证了硬件系统的可靠性和算法的有效性。
《基于DSP的多超声测距数据采集处理系统(第3页)》