PC机和激光没距雷达双路高速数据通信接口卡
发布时间:2008/5/27 0:00:00 访问次数:595
来源:《电子技术应用》
摘要:阐述了pc机和激光测距雷达双路高速串行数据通讯接口卡的系统构成。重点介绍了rs-422a高速串行通讯接口及收发控制、接口卡和pc机通信缓冲区的共享、卡上资源分配等关键性问题。 关键词:rs-422 高速串行通信 接口卡 双端口ram fpga
在我们智能自主式移动机器人项目的研制中,采用了两路二维激光雷达来完成障碍物检测、路标检测及地图匹配等工作。我们采用的激光雷达均提供了一种rs-422串行通讯接口。雷达通过与pc机的握手通信完成初始化工作之后,便分别以40ms和80ms为工作周期将测距结果以500kbps的速率发送至pc机。pc机收到每一帧数据后便开始随后的处理工作。工作周期为80ms的激光雷达每帧数据长度为812字节,工作周期为40ms的激光雷达每帧数据长度为412字节。
若采用目前市面上能提供的普通串行数据通信卡来完成pc机与激光雷达的数据通信有三个缺点:
·商用通信卡很少能达到如此高的通讯速率;
·商用通信卡只能一个字节一个字节的接收,即使启用卡上的fifo一次也只能收取16个字节,这样必然消耗pc机很多宝贵的数据处理时间;
·由于pc机运行的windows98系统是非任务抢断型的操作系统,在如此高的通讯速率要求下(两路雷达数据同时到来时对pc机来说瞬时通讯速率为1mbps,有时会导致系统丢失一帧数据中的某几个字节,从而使整帧数据成为废帧,影响了系统的可靠工作。
因此,必须根据应用要求,自行研制pc机和激光测距雷达双路高速数据通信接口卡。
1 接口卡研制目标和总体方案
针对激光测距雷达在智能自主式移动机器人中的应用要求,我们对接口卡的设计提出了如下的总体目标:能够顺利地接收并存储最多三帧的两路雷达数据,并按pc机命令要求,完成一定的简单数据预处理后将结果转送给pc机,由pc机做进一步的高级处理。
根据系统要求,板卡上的cpu决定选用80c196kd单片机。80c196kd是intel公司继mcs-96之后的一种高性能16位单片机,它功能强、速度快、使用方便、抗干扰性能好,在工业控制、智能仪表、家电中都得到了广泛应用[1]。系统总体方案见图1。
2 系统设计中的几项关键技术
2.1 rs-422通讯接口及收发控制
rs-422a通信接口标准使用单一+5v电源供电,是一个平衡型接口。它采用差动发送、差动接收的工作方式,发送和接收电路使用各自独立的平衡驱动器、接收器对,因而排除了各接收器地电势差带来的影响。使用rs-422a接口标准最大通信速率可达10mb/s(对应通信距离12m),最大通信距离可达1200m(对应通信速率为10kb/s。
对于500kb/s高速的串行通信,靠80c196kd自带的串行通信接口已无法承担,必须采用专用的异步串行通信收发器(uart)来实现。下面先简要介绍一下系统中采用的ti公司的uart产品16c550c。
ti公司生产的异步收发器(uart)tl16c550c是tl16c450的升级,它的主要功能与tl16c450完全相同,但是它片内多了一块16个字节的先进先出(fifo)存储部件,用于缓解高速通信场合下cpu的繁忙程度。当片内的fifo被激活时,最多允许在fifo中存储16个字节作为缓冲。为提高cpu读数据的速度,该片支持dma操作。
来源:《电子技术应用》
摘要:阐述了pc机和激光测距雷达双路高速串行数据通讯接口卡的系统构成。重点介绍了rs-422a高速串行通讯接口及收发控制、接口卡和pc机通信缓冲区的共享、卡上资源分配等关键性问题。 关键词:rs-422 高速串行通信 接口卡 双端口ram fpga
在我们智能自主式移动机器人项目的研制中,采用了两路二维激光雷达来完成障碍物检测、路标检测及地图匹配等工作。我们采用的激光雷达均提供了一种rs-422串行通讯接口。雷达通过与pc机的握手通信完成初始化工作之后,便分别以40ms和80ms为工作周期将测距结果以500kbps的速率发送至pc机。pc机收到每一帧数据后便开始随后的处理工作。工作周期为80ms的激光雷达每帧数据长度为812字节,工作周期为40ms的激光雷达每帧数据长度为412字节。
若采用目前市面上能提供的普通串行数据通信卡来完成pc机与激光雷达的数据通信有三个缺点:
·商用通信卡很少能达到如此高的通讯速率;
·商用通信卡只能一个字节一个字节的接收,即使启用卡上的fifo一次也只能收取16个字节,这样必然消耗pc机很多宝贵的数据处理时间;
·由于pc机运行的windows98系统是非任务抢断型的操作系统,在如此高的通讯速率要求下(两路雷达数据同时到来时对pc机来说瞬时通讯速率为1mbps,有时会导致系统丢失一帧数据中的某几个字节,从而使整帧数据成为废帧,影响了系统的可靠工作。
因此,必须根据应用要求,自行研制pc机和激光测距雷达双路高速数据通信接口卡。
1 接口卡研制目标和总体方案
针对激光测距雷达在智能自主式移动机器人中的应用要求,我们对接口卡的设计提出了如下的总体目标:能够顺利地接收并存储最多三帧的两路雷达数据,并按pc机命令要求,完成一定的简单数据预处理后将结果转送给pc机,由pc机做进一步的高级处理。
根据系统要求,板卡上的cpu决定选用80c196kd单片机。80c196kd是intel公司继mcs-96之后的一种高性能16位单片机,它功能强、速度快、使用方便、抗干扰性能好,在工业控制、智能仪表、家电中都得到了广泛应用[1]。系统总体方案见图1。
2 系统设计中的几项关键技术
2.1 rs-422通讯接口及收发控制
rs-422a通信接口标准使用单一+5v电源供电,是一个平衡型接口。它采用差动发送、差动接收的工作方式,发送和接收电路使用各自独立的平衡驱动器、接收器对,因而排除了各接收器地电势差带来的影响。使用rs-422a接口标准最大通信速率可达10mb/s(对应通信距离12m),最大通信距离可达1200m(对应通信速率为10kb/s。
对于500kb/s高速的串行通信,靠80c196kd自带的串行通信接口已无法承担,必须采用专用的异步串行通信收发器(uart)来实现。下面先简要介绍一下系统中采用的ti公司的uart产品16c550c。
ti公司生产的异步收发器(uart)tl16c550c是tl16c450的升级,它的主要功能与tl16c450完全相同,但是它片内多了一块16个字节的先进先出(fifo)存储部件,用于缓解高速通信场合下cpu的繁忙程度。当片内的fifo被激活时,最多允许在fifo中存储16个字节作为缓冲。为提高cpu读数据的速度,该片支持dma操作。
上一篇:FIFO用做并行数据延迟线