基于Linux的嵌入式Internet应用(含项目代码)
摘 要
随着计算机技术的发展,嵌入式系统也越来越广泛的被应用于工业控制,信息家电和个人通信设备等方面。如果能把嵌入式终端像PC一样接入Internet,就可以方便、低廉的对嵌入式设备进行访问和控制。但是由于嵌入式设备的资源有限,如何利用有限的资源处理好复杂的Internet协议如TCP/IP就成为嵌入式Internet的一大难题。尤其对于已经部署使用的嵌入式设备而言,如果希望能够将它们接入Internet,选择重新对其进行开发设计的代价是巨大的。
本文就是以上述内容为背景,为现有的嵌入式设备如何接入Internet提出了一个模型,研究了如何通过个人计算机经由局域网访问通过CAN现场总线连接的嵌入式设备网络,控制网络中的节点设备,模拟实现Internet范围上的设备远程管理和控制,为嵌入式Internet在现有设备中的应用提出并实现了一种解决方案,即在现有的CAN总线网络上面挂载一个TCP/IP协议网关,通过此网关实现现有嵌入式设备和Internet网络的直接数据传输。这种解决方案在满足将现有的嵌入式设备接入Internet的同时,降低了开发和部署的成本,具有良好的应用前景。
本文使用基于S3C2410X ARM微处理器的JXARM9-2410 ARM嵌入式教学实验系统作为嵌入式设备硬件平台,采用Linux作为嵌入式设备的操作系统,来实现上述网关系统。 [资料来源:http://Doc163.com]
关键词:嵌入式Internet,Linux,CAN总线
Application of Embedded Internet based on Linux
Abstract
With the development of computer technology, embedded systems are increasingly being used in a wide range area, such as industrial control, information appliance and personal communication equipment. If accessing or controling the embedded devices on the Internet like PC, it would be convenient and low-cost. However, because of the limited resources, it has been a big problem for embedded Internet that how to use the resources to implement the complex protocols such as TCP/IP. Especially for devices that have been deployed, choosing to re-design will cost a lot.
Based on the above, this paper proposed a model trying to solve the problem that how embedded devices connect to the Internet, and made a research on how to access and control the CAN devices which connected with CAN-bus through LAN. The solution is mounting a TCP/IP gateway on the CAN network. It not only satisfied the demand that connecting the device to the Internet, but also reduced the cost.
[资料来源:http://doc163.com]
The dissertation will realize the system which consists of S3C2410X as MCU, Linux as OS, and campus network as the Internet.
Key Words: Embedded Internet, Linux, CAN-bus
本文重点对模型中的嵌入式设备网关进行了设计,包括硬件设计和软件设计,并按照设计对系统进行了实现,完成了操作系统的配置和移植,在Linux下实现了套接字编程,开发了CAN总线设备驱动程序,最终将套接字通信和CAN总线通信相结合,实现了TCP/IP协议报文和CAN协议报文的转换和封装发送。在完成这些工作的同时,对相关的技术内容也进行了介绍。
本文最后使用了两台PC机和两台实验箱对模型进行了模拟测试,最后的测试结果表明本文所提出的实验模型可以满足将已经应用的CAN设备接入Internet的需求。
本文所研究的内容是嵌入式Internet的一种具体应用方法,因此对理论和底层的内容并没有做过多的涉及,重点研究的是如何应用。同时由于专业所限,嵌入式设备网关的硬件设备并没有自己动手设计,而是使用实验箱模拟。本文最后虽然实现了TCP/IP协议到CAN协议转换,但是实现层次是在网络协议模型的最顶层——应用层,导致转换效率不高,同时对网关设备的硬件要求也高,不利于大规模推广应用。在下一步的工作中,将会继续研究如何将实现层次下移,把最终的实现放在传输层或者更低一层。
测试环境
本文使用两台PC,两台实验箱作为测试环境。连接方法见图4.1。其中PC1既作为网关设备的交叉开发环境中的主机,又模拟模型中的控制主机,使用telnet来访问CAN网关设备。智能设备则是模拟模型中工业控制现场对生产进行操作的设备,在其上面只是简单的运行步进电机。PC2则是为了监测智能设备的运行状态。本文测试的目标是通过PC1经由CAN网关设备访问并控制智能设备。
[来源:http://www.doc163.com]
目 录 13000字
1 绪论 1
1.1 课题背景及目的 1
1.2 研究现状 1
1.3 论文构成 2
2 实验模型 4
2.1 模型简介 4
2.2 模型搭建平台 4
2.2.1 硬件平台 4
2.2.2 操作系统 8
2.2.3 开发工具及开发环境 8
3 嵌入式设备网关设计与实现 10
3.1 嵌入式设备网关设计方案 10
3.2 嵌入式设备网关实现 10
3.2.1操作系统的移植和配置 10
3.2.2 嵌入式Internet网络技术 12
3.2.3 Linux下CAN驱动的实现 15 [资料来源:http://Doc163.com]
3.2.4数据的转换和封装发送 22
4 模拟测试 24
4.1 测试环境 24
4.2智能设备程序实现 24
结论 26
致谢 28
参考文献 29
参考文献
[1] 吕京建,肖海桥.面向21世纪的嵌入式系统综述[EB/OL].
[2] Wilson A. The challenge of embedded internet[J]. Electronic Product Design, 1998, 12(3): 1~2, 34
[3] Jacek W. Embedded Internet technology in process control devices[J]. IEEE Internet Computing, 2000, 34(3): 301~308
[4] 王楠,邓依群.嵌入式Internet的实现技术与安全问题分析[J].微计算机信息(嵌入式与SOC),2006,22(9-2):45-49.
[5] 阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社.1999:5-13.
[6] 史九根.CAN现场总线系统设计技术[M].北京:国防工业出版社.2004:8-9.
[7] 邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社.1999:12-23.
[8] 苟广鹏,孙泽昌.控制器局域网技术在汽车中的应用研究[J].汽车工程,2000,22(6):409-412. [资料来源:Doc163.com]
[9] Robert F. Embedded Internet systems come home[J]. IEEE Internet Computing, 2001,40(14): 52~53.
[10] 陈真勇.CAN网关设计[D].合肥:中国科学技术大学,2004.
[11] 陈赜.ARM9嵌入式技术及Linux高级实践教程[M].北京:北京航空航天大学出版社.2005:11-12.
[12] 钟锡昌.嵌入式操作系统在中国的发展现状与前景[J].信息技术与标准化,2006,6:6-10.
[13] Gregory Haerr. Overview of Linux for the Embedded Application[EB/OL].
[14] Bill Weinberg.Embedded Linux Is A Hit In Wireless Entertainment[J].Wire less System Design, Jan 2003:29-32.
[15] 万永波,张根宝,田泽.基于ARM的嵌入式系统Bootloader启动流程分析[J].微计算机信息.2005,21:90-93.
[16] 王亚刚.嵌入式Linux系统移植与裁剪技术研究[D].西安:西北大学,2003.
[17] 大夜创作室.Linux网络编程技术[M].北京:人民邮电出版社.2001:23-25.
[18] 林宇, 郭凌云.Linux网络编程[M].北京:人民邮电出版社.2000年10月:56-57.
[19] 王中.嵌入式Linux设备驱动程序的研究与开发[D].沈阳:中国科学院沈阳计算技术研究所,2003.
[20] Alessandro Rubini, Jonathan Corbet. Linux device drivers[M].2nd.Edition.O'Reilly. 2001:57-88.
[版权所有:http://DOC163.com]
[21] 钟汉如,王创生.嵌入式Linux的中断处理与实时调度的实现机制[J].计算机工程,2002.28 (10):41-42.
[22] 武翠琴,杨金岩,李艾华. CAN控制器MCP2510及其应用[J].国外电子元器件,2001,10:1-5
[资料来源:http://Doc163.com]