linux的can总线与以太网通信互转模块开发【字数:11159】
在工业设备中,需要对多种信号进行采集。设备采集完成后,在工业中设备间常用CAN总线进行通信,但要将采集的数据汇聚到终端直观的反馈给用户,则一般都用以太网通信,比较便捷。所以在很多系统中,需要用到CAN总线与以太网通信转换模块。本文首先对CAN总线技术和以太网技术进行了简单介绍,接着简述了CAN总线技术和以太网技术在国内外的概况以及未来的发展趋势。随后探讨了CAN总线与以太网通信互转的方法。介绍了为完成此模块开发所用的硬件M3352_N128LI核心板和M3350_EV_BOARD V1.02底板,以及所用的软件基于Linux环境下的VMware Workstation Pro虚拟机。通过在Linux环境下编写出符合的程序,从而完成基于LINUX的CAN总线与以太网通信互转模块开发。
目 录
1.绪论 1
1.1引言 1
1.2 CAN总线技术 1
1.2.1 CAN总线技术简介 1
1.2.2 CAN总线技术应用 2
1.2.3 CAN总线技术现状与发展前景 2
1.3 以太网技术 2
1.3.1以太网技术简介 2
1.3.2以太网技术现状与发展前景 3
1.4 CAN与以太网互联技术概况 3
1.5 小结 4
2.方案设计 5
2.1任务描述 5
2.2 功能实现过程 5
2.3 原理描述 5
2.4具体步骤 7
2.5小结 7
3.硬件的选用与介绍 8
3.1项目硬件的选用 8
3.2 M3352_EV_Board底板的介绍 8
3.3 M3352核心板的介绍 10
3.3.1 M3352核心板的电路 10
3.4小结 12
4.嵌入式系统的环境搭建 13
4.1嵌入式系统 13
4.1.1嵌入式操作系统选用 13
4.1.2嵌入式Linux开发过程介绍 13
4.1.3 安装操作系统 14
4.1.4 构建交叉开发环境 15
4.2 *好棒文|www.hbsrm.com +Q: ¥351916072$
小结 16
5.NET_CAN互转程序编写 17
5.1 main函数的编写 17
5.2 socket can 程序的编写 18
5.2.1 CAN的波特率设置 18
5.2.2 套接字的创建 18
5.2.3 CAN接口的绑定 18
5.2.4 NET_CAN转换协议 18
5.3 看门狗程序的编写 20
5.3.1 设置超时时间 20
5.3.2 获取超时时间 20
5.3.3 关闭看门狗 20
5.4 小结 20
6.Linux程序的编译 22
6.1 测试程序的编译 22
6.2 NET_CAN互转程序的编译 23
6.3 小结 24
7.程序的测试 25
7.1 程序的上传 25
7.2 程序运行测试 25
7.2.1 程序测试的准备工作 25
7.2.2 CAN转UDP的测试 26
7.2.3 UDP转CAN的测试 27
7.3 小结 28
总结与展望 29
参考文献 30
致谢 31
附录 32
1.绪论
1.1引言
在工业设备中,需要收集多个信号。如今,在自动化和电子通信领域,工业设备联网己成为必然趋势。随着“3C”技术,即计算机、通信、控制技术的极速发展,工业控制系统有了一个新的发展方向——现场总线技术。现场总线技术是实现生产现场设备之间进行多点、双向、串行数字通信的一种技术,也被称为是一种开放式互联网络,拥有良好的互操作性和互换性。它被称为自动化领域的局域网,同时它也是工业测控领域新时代开始的一个重要标志,并且成为了自动化领域发展的热点技术之一。可以说,将现场总线技术与仪器仪表等设备之间进行结合使用的技术,将是未来工业控制领域发展的重要趋势。设备采集信号完成后,在工业中设备间常用CAN总线进行通信,与此同时,为了解决对现场设备的远程监控以及信息的高速传输等问题,将采集的数据汇聚到终端直观的反馈给用户,则一般要使用以太网通信,比较便捷。因次,在很多系统中,需要用到CAN总线与以太网通信转换这项技术。
1.2 CAN总线技术
1.2.1 CAN总线技术简介
CAN是一种初期专门为了汽车开发所研究的串行数据通信协议,由德国的博世公司 在上世纪八十年代开发形成,并很快形成了国际标准。这一通信协议很好的解决了许多汽车制造中的数据交换的问题。CAN总线技术是众多现场总线技术之中的一种,由于其具有稳定性高,成本低等优点,很快从一众的现场总线技术中脱颖而出,成为了一种应用广泛,前景可观的现场总线技术。CAN总线以报文作为传输单位,来进行数据的传输。它是一种短帧结构,每帧最多有8个字节,因此,CAN总线的传输时间很短,从而保证了其传输的实时性。报文的优先级通过11位标识符来控制,二进制数最低的标识符享有最高的优先级。数据块中的标识码可以由11位或29位的二进制数来组成。数字组合可以定义211或者229个不同的数据块,从而使不同的节点同时接收相同的数据。CAN协议通过使用CRC校验,从而确保了其数据通信的可靠性。因为CAN通信具有很好的实时性、极高的可靠性以及独特的设计性,所以在除汽车行业以外的其他行业也越来越受到了重视,例如工业过程中监控设备的互等。
1.2.2 CAN总线技术应用
作为一种初期专门为汽车开发的串行数据通信总线,CAN总线的第一用户自然是汽车行业。从上世纪八十年代博世公司开发出汽车的CAN协议至今,经过几十年的不断发展,CAN通信协议已经成为了被无数的汽车厂商所应用,并已经成为了欧洲汽车网络的标准协议。许多的汽车厂商都对CAN技术投入了大量的人力物力进行研究,并将研究的成果运用到了自身最新的车型研发制造之中。据相关资料可知,如奔驰、宝马、保时捷、劳斯莱斯等知名的汽车品牌,都已经开始将CAN总线的技术运用于汽车内部的数据通信。在现代汽车的设计之中,CAN已经成为一项必不可缺的技术,例如自动点火、注油、加速刹车控制(ASC)、抗锁定刹车系统(ABS)和抗滑系统等的设计中都需要用到CAN技术。
目 录
1.绪论 1
1.1引言 1
1.2 CAN总线技术 1
1.2.1 CAN总线技术简介 1
1.2.2 CAN总线技术应用 2
1.2.3 CAN总线技术现状与发展前景 2
1.3 以太网技术 2
1.3.1以太网技术简介 2
1.3.2以太网技术现状与发展前景 3
1.4 CAN与以太网互联技术概况 3
1.5 小结 4
2.方案设计 5
2.1任务描述 5
2.2 功能实现过程 5
2.3 原理描述 5
2.4具体步骤 7
2.5小结 7
3.硬件的选用与介绍 8
3.1项目硬件的选用 8
3.2 M3352_EV_Board底板的介绍 8
3.3 M3352核心板的介绍 10
3.3.1 M3352核心板的电路 10
3.4小结 12
4.嵌入式系统的环境搭建 13
4.1嵌入式系统 13
4.1.1嵌入式操作系统选用 13
4.1.2嵌入式Linux开发过程介绍 13
4.1.3 安装操作系统 14
4.1.4 构建交叉开发环境 15
4.2 *好棒文|www.hbsrm.com +Q: ¥351916072$
小结 16
5.NET_CAN互转程序编写 17
5.1 main函数的编写 17
5.2 socket can 程序的编写 18
5.2.1 CAN的波特率设置 18
5.2.2 套接字的创建 18
5.2.3 CAN接口的绑定 18
5.2.4 NET_CAN转换协议 18
5.3 看门狗程序的编写 20
5.3.1 设置超时时间 20
5.3.2 获取超时时间 20
5.3.3 关闭看门狗 20
5.4 小结 20
6.Linux程序的编译 22
6.1 测试程序的编译 22
6.2 NET_CAN互转程序的编译 23
6.3 小结 24
7.程序的测试 25
7.1 程序的上传 25
7.2 程序运行测试 25
7.2.1 程序测试的准备工作 25
7.2.2 CAN转UDP的测试 26
7.2.3 UDP转CAN的测试 27
7.3 小结 28
总结与展望 29
参考文献 30
致谢 31
附录 32
1.绪论
1.1引言
在工业设备中,需要收集多个信号。如今,在自动化和电子通信领域,工业设备联网己成为必然趋势。随着“3C”技术,即计算机、通信、控制技术的极速发展,工业控制系统有了一个新的发展方向——现场总线技术。现场总线技术是实现生产现场设备之间进行多点、双向、串行数字通信的一种技术,也被称为是一种开放式互联网络,拥有良好的互操作性和互换性。它被称为自动化领域的局域网,同时它也是工业测控领域新时代开始的一个重要标志,并且成为了自动化领域发展的热点技术之一。可以说,将现场总线技术与仪器仪表等设备之间进行结合使用的技术,将是未来工业控制领域发展的重要趋势。设备采集信号完成后,在工业中设备间常用CAN总线进行通信,与此同时,为了解决对现场设备的远程监控以及信息的高速传输等问题,将采集的数据汇聚到终端直观的反馈给用户,则一般要使用以太网通信,比较便捷。因次,在很多系统中,需要用到CAN总线与以太网通信转换这项技术。
1.2 CAN总线技术
1.2.1 CAN总线技术简介
CAN是一种初期专门为了汽车开发所研究的串行数据通信协议,由德国的博世公司 在上世纪八十年代开发形成,并很快形成了国际标准。这一通信协议很好的解决了许多汽车制造中的数据交换的问题。CAN总线技术是众多现场总线技术之中的一种,由于其具有稳定性高,成本低等优点,很快从一众的现场总线技术中脱颖而出,成为了一种应用广泛,前景可观的现场总线技术。CAN总线以报文作为传输单位,来进行数据的传输。它是一种短帧结构,每帧最多有8个字节,因此,CAN总线的传输时间很短,从而保证了其传输的实时性。报文的优先级通过11位标识符来控制,二进制数最低的标识符享有最高的优先级。数据块中的标识码可以由11位或29位的二进制数来组成。数字组合可以定义211或者229个不同的数据块,从而使不同的节点同时接收相同的数据。CAN协议通过使用CRC校验,从而确保了其数据通信的可靠性。因为CAN通信具有很好的实时性、极高的可靠性以及独特的设计性,所以在除汽车行业以外的其他行业也越来越受到了重视,例如工业过程中监控设备的互等。
1.2.2 CAN总线技术应用
作为一种初期专门为汽车开发的串行数据通信总线,CAN总线的第一用户自然是汽车行业。从上世纪八十年代博世公司开发出汽车的CAN协议至今,经过几十年的不断发展,CAN通信协议已经成为了被无数的汽车厂商所应用,并已经成为了欧洲汽车网络的标准协议。许多的汽车厂商都对CAN技术投入了大量的人力物力进行研究,并将研究的成果运用到了自身最新的车型研发制造之中。据相关资料可知,如奔驰、宝马、保时捷、劳斯莱斯等知名的汽车品牌,都已经开始将CAN总线的技术运用于汽车内部的数据通信。在现代汽车的设计之中,CAN已经成为一项必不可缺的技术,例如自动点火、注油、加速刹车控制(ASC)、抗锁定刹车系统(ABS)和抗滑系统等的设计中都需要用到CAN技术。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/945.html