基于P87C591的CAN总线超声测距系统设计方案
[09-11 23:03:29] 来源:http://www.88dzw.com 单片机学习 阅读:8329次
文章摘要:图5 CAN总线设计部分① TJA1040作为CAN总线收发器,与CAN总线的接口部分也采取了抗干扰措施。TJA1040的CAN_H和CAN_L引脚各自通过一个5 Ω电阻与CAN总线连接,电阻可以起到一定的限流作用,保护TJA1040不受过流的冲击。② CAN_H和CAN_L与地之间并联了2个30 pF的电容,可以过滤掉总线上的高频干扰和一定的电磁辐射。③ 2根CAN总线接入端与地之间分别反接了一个保护二极管。当CAN总线有较高的负电压时,通过二极管的续流可起到一定的过压保护作用。④ 总线两端接的120 Ω电阻起匹配总线阻抗的作用,忽略掉它会使数据通信的抗干扰性能及可靠性大大降低甚至无法通信
基于P87C591的CAN总线超声测距系统设计方案,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com
图5 CAN总线设计部分
① TJA1040作为CAN总线收发器,与CAN总线的接口部分也采取了抗干扰措施。TJA1040的CAN_H和CAN_L引脚各自通过一个5 Ω电阻与CAN总线连接,电阻可以起到一定的限流作用,保护TJA1040不受过流的冲击。
② CAN_H和CAN_L与地之间并联了2个30 pF的电容,可以过滤掉总线上的高频干扰和一定的电磁辐射。
③ 2根CAN总线接入端与地之间分别反接了一个保护二极管。当CAN总线有较高的负电压时,通过二极管的续流可起到一定的过压保护作用。
④ 总线两端接的120 Ω电阻起匹配总线阻抗的作用,忽略掉它会使数据通信的抗干扰性能及可靠性大大降低甚至无法通信。
1.5 其他
除以上提到的几个主要部分之外,还有单片机的复位电路、外部时钟电路和电源等几个部分,本文只提供了一种最简单方案。在实际应用中,对于较为复杂的现场环境可以相应添加看门狗复位电路和独立电源设计等复杂电路。值得注意的是,对于复位电路和电源电路应该给予足够的重视。
2 超声波智能节点控制系统的软件编写
软件的编写工作主要有两个部分:超声波测距部分和CAN总线的通信部分。
2.1 超声波测距部分的软件设计
超声波发射部分的软件设计相对简单。在软件编写工作中,需要将超声波持续发射一段时间以便被接收器准确接收。以下程序可作参考:
START:MOV TH0, #00H;将定时器初值设为0,产生一个方波即产生一次中断
MOV TL0, #00H
MOV 10H, #4D;将10H单元做一个计数器实现200 ms定时
SETB TR0;启动定时器T0
FS:CPL P2.0;P2.0口产生方波,对于6 MHz晶振频率近似为40 kHz
REPEAT:MOV R0,#12
DJNZ R0,REPEAT
DJNZ 10H,FS
RET
……
END
图6 超声波测距部分程序流程
当超声波接收器接收到回波时,硬件电路产生低电平触发P87C591的外部中断0口。软件编写的主要思想是,在中断服务程序中由寄存器预先设定一个数值,这个数值是机器人避障的最短距离。从超声波发射头发射方波开始,到超声波接收头接收到回波为止,把这段时间换算成为距离,与上述最短距离相比较。如大于最短距离,则不作处理,跳出中断服务程序;如等于或小于最短距离,则执行相应动作。图6是这部分程序的流程。
2.2 CAN总线通信部分的软件编写
这部分软件编写主要由以下几部分组成:初始化、接收处理、发送处理、中断处理及错误处理函数。由于系统中任意节点在任意时刻均可主动与其他节点通信,故各个
节点通信程序大致相同。具体程序的编写可参考P87C591的用户手册。
结语
本文论述了以CAN总线扩展多路超声波传感器的基本思想,介绍了一种以Philips公司P87C591作为超声波传感器控制核心及CAN总线控制器和以TJA1040作为CAN总线收发器的CAN总线智能超声波测距系统。与以往移动机器人超声波传感器测距系统相比,这个设计增加了CAN总线部分的设计,将多路超声波传感器的扩展转移到智能节点部分上完成,简化了移动机器人系统控制核心的工作;采取了比较简单的硬件设计,主要是将超声波传感器的控制核心和CAN总线控制器集中到一起,采用P87C591一个器件完成两种芯片的工作,大大节省硬件。另外,CAN总线的扩展也会令后续的移动机器人系统的进一步开发变得更为灵活。实践证明这个设计可行,只是对于实际工作中不同应用场合的有些电路(比如复位电路、电源电路等外围电路)在设计细节上还有待进一步细化。另外,软件编写方面还应特别注意多超声波传感器的抗干扰问题。
《基于P87C591的CAN总线超声测距系统设计方案》相关文章
- › 基于P87LPC761单片机控制的时间控制器系统简介
- › 基于P89C51RD2 IAP功能的数据存取与软件升级
- › 基于P87LPC764型单片机的延时型漏电继电器设计
- › 基于P87LPC764型单片机延时型漏电继电器
- › 基于P89LPC932单片机的夫兰克-赫兹
- › 基于P87C591的CAN总线超声测距系统设计方案
- 在百度中搜索相关文章:基于P87C591的CAN总线超声测距系统设计方案
- 在谷歌中搜索相关文章:基于P87C591的CAN总线超声测距系统设计方案
- 在soso中搜索相关文章:基于P87C591的CAN总线超声测距系统设计方案
- 在搜狗中搜索相关文章:基于P87C591的CAN总线超声测距系统设计方案