基于CAN总线的数据采集与处理系统的设计
1 引言
现场总线及其应用技术日益成为国际自动控制领域关注的一个焦点。CAN总线是目前公认的几种最有前途的现场总线之一。通信介质可以是双绞线、同轴电缆和光纤,其通信速率可达1mbps。can国际标准的制定更加推动了它的发展和应用,基于can总线的工业应用系统业大量涌现。其主要应用领域包括大型仪器设备、传感器技术及数据采集系统和工业现场监控系统等[1][2]。本文结合can总线的特点,介绍了基于can总线的数据采集与处理的一种设计方法。
2 系统设计
2.1 can系统概要
图1 结构简图
本系统由两个cpu通过双口 ram相互连接组成,一片cpu(p87c591)负责can信号的发送与接收,另一片cpu(p89c58ba)负责 rs-485 信号的发送与接收。设计中通讯控制器选用了集成有can控制器的p87c591单片机。它自带的can控制器完全具有sja1000的功能,可完成can协议中规定的所有数据链路层和物理层的功能。且p87c591自带了15个中断源和看门狗定时器(wdt),应用十分方便。系统结构简图如图1所示。图中各部分所完成的主要功能如下:
(1) cpu-1:该芯片带有can接口,故可与下位机进行can通讯。通过can总线发送上位机的设定信息给下位机,同时接收下位机提供的数据信息,将其存入双口ram中,以供cpu-2来查询。
(2) cpu-2:该芯片连接有max491和max485 芯片,故可与外部进行422或485通讯,上位机的信息通过485通讯读入cpu-2之中,cpu-2再将其存入双口ram之中,以供cpu-1来查询,cpu-1再通过can总线将此设定信息传送给上位机。反之,下位机的所有已存入双口ram的检测值信息,也是通过该单片机的读取,并通过485通讯,将所有显示信息在人机界面上显示。
(3) 双口ram:双口ram用于存储系统的设置信息和状态信息,完成各种信息存储与交换。选用存储容量为16k的idt7006系列,并采用后备电池支持,保证掉电时存储的信息不丢失。双口ram按存储内容不同,分为设置区、状态区和预留区。设置区用来存储上位机的信息;状态区用来存储从下位机收集的系统状态信息;预留区则作为预留备用。
2.2 p87c591单片机概要
在系统中采用philips公司生产的p87c591单片机,该单片机是一个8 位高性能微控制器具有片内can控制器[3],大大简化了硬件电路的设计,提高了can接口的稳定性。p87c591 采用了强大的80c51指令集,并集成了sja1000 can控制器的pelican功能。主要有以下功能特点:can2.0b控制器,支持11位标准标识符和29位扩展标识符,4个可独立配置的验收滤波器,都可“在运行中改变”。can控制器的发送缓冲区能够保存一个完整的can信息帧(标准或扩展帧格式),只要通过cpu启动发送,信息字节就从发送缓冲区传输到can内核模块完成发送。can接口包含5个实现cpu与can控制器连接的特殊功能寄存器,对重要can寄存器的访问通过快速自动增加的寻址和对特殊功能寄存器的位寻址实现。接收一个信息时,can内核模块将串行位流转换成并行数据输入到验收滤波器,通过该可编程滤波器,p87c591可以确定实际接收到的信息。
相关文章
- 2021-12-05基于ARM的2M测试系统
- 2023-12-06阴极弧离子镀磁过滤器
- 2023-08-17计量光栅空间位姿参数光场输出模型与仿真
- 2022-07-17光纤密封转接的氦质谱检漏技术研究
- 2022-01-20LabVIEW在全自动点胶机中的应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。