摘 要
本设计基于Linux操作系统,控制本地MODEM通过电话线网向异地终端机所带MODEM拨号,并实现两台MODEM之间数据传输,达到两台计算机之间数据通信的目的。 MODEM与计算机RS-232串行端口相连,LINUX通过POSIX termios接口控制计算机串行端口,方便实现了对计算机串行端口的设置和数据读写。计算机(DTE)与MODEM(DCE)之间数据交换,以及计算机对MODEM的控制,就是计算机对串行端口的读写。
本文作者完成了对RS-232串行端的设置和读写操作,利用AT命令控制MODEM拨号,和一个文件传输协议,实现了两台PC机利用MODEM通过公用电话网,传送和接收文件。本设计旨在使没有安装网络的用户,利用56K MODEM,通过电话线网方便和对方传输数据。相比较Internet网络,电话线网更安全,分布更广泛。本设计就是利用了电话线网的广泛性和安全性。(毕业设计网 )
关键词:LINUX;串行端口;MODEM
The Design and Implementation of Data Transportation through Telephone Line in LINUX
Abstract
The purpose of the design is to control the local MODEM to dial remote terminal by telephone line base on Linux operating system. At the same time,it can make the data transmit between two MODEMs to achieve the purpose of data transportation. the MODEM is connected to the computer through the serial port RS-232. LINUX can control the serial port of the computer by POSIX termios interface. That can carry out the setting and data reading/writing of the serial port, the data transmit between computers (DTE) and MODEM (DCE), and the control from the computer to the MODEM, namely, the reading/writing of the serial port from the computer.
The author of this paper accomplishes the setting and reading/writing operation, using the AT commands to control the MODEM dialing, and a transport protocols for files. All of these make two PCs send and receive files from the public telephone line by using the MODEM. The design is intended to make the user who has not installed the network to transmit data with others by telephone lines using the 56k MODEM. Compared with the Internet, the telephone line is safer and widely distributed. The design makes use of the universality and the safety of the telephone line.
Key words: LINUX; serial port; MODEM
设计背景
现在,随着计算机网络技术的发展,国民收入的提高,互联网走进了千家万户,但仍有很多计算机用户并没有安装宽带或其它网络设备。电话已经发展了一百多年,但互联网只出现了不到五十年,英特网所分布的范围远远比不上公用电话网。(毕业设计网 )
本设计的意义
如果想传送份文件给对方,却苦恼于无法上互联网,那么用MODEM通过电话线发送文件就变得非常有用处了。还有些特殊情况,当单位或工厂需要几台计算机之间数据共享时,进入互联网有安全隐患,配置局域网费用又很高,而且需要共享的数据很小,仅按字节计算,这时候利用MODEM通过公用电话网或电话专线传输数据,既经济,又安全,维护也非常简单。(毕业设计网 )
设计方法
本设计基于LINUX操作系统,用POSIX termios函数控制计算机串口,使用AT指令操作MODEM进行初始化及拨号连接,最后用一个自编的文件传输协议传输文件。
整个程序使用C语言实现。此次设计之所以选择Linux,是因为Linux有着丰富的应用程序和开发工具,可以支持各种硬件平台和外部设备;Linux又是完全开放的操作系统,很大程度上,Linux的开放性,赋予了其无穷的生命力。GCC的发展与Linux发展息息相关,相辅相承。所以在LINUX平台的基础上,选用GCC编绎代码。AT指令做为MODEM的标准化语言,提供了丰富的MODEM初始化、拨号、挂机等等命令,AT命令简单的操作方式,使MODEM控制变得很方便。
理论依据
本次设计所需要的开发环境的搭建并不复杂,可是因为程序直接对计算机硬件进行操作,需要对RS-232串行端口有比较深入的了解,必须清楚各引脚电信号的作用,串口的工作方式,针对不同工作的方式,进行不同的设置。MODEM的功能非常丰富,这给程序的实现也带来一定难度。通过完成本设计,既有助于深入了解计算机接口,又为硬件控制编程打下了一定基础,而且还能熟悉LINUX程序设计。
LINUX
Linux操作系统核心最早是由芬兰的Linus Torvalds 1991年8月在芬兰赫尔辛基大学上学时发布的[那年Torvals 25岁],后来经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势,并以每年100%的用户递增数量显示了LINUX强大的力量。
本设计中使用的POSIX(UNIX可移植标准)终端控制函数,少量修改就可以运行于IRIX®, HP-UX, SunOS®, Solaris®, Digital UNIX®, Linux®,和许多其它的类UNIX操作系统。在不同的类UNIX操作系统之间的最大差别是串口设备和锁定文件的名字。并且LINUX支持各种体系结构的计算机,所以本设计虽然仅在个人PC机上实现,但它对于不同体系结构的计算机,或者不同的类UNIX操作系统,都有很好的可移植性。
目 录
1 引 言 2
1.1 设计背景 2
1.2 本设计的意义 2
1.3 设计方法 2
1.4 理论依据 2
2 设计理论依据 2
2.1 LINUX 2
2.2 串行端口简介 2
(毕业设计网 )
2.2.1 串行通迅 2
2.2.2 RS-232-C 2
2.2.3 异步通迅 3
2.3 MODEM简介 4
2.3.1 MODEM 4
2.3.2 AT命令 4
3 系统开发环境 5
3.1 系统开发环境 5
3.2 gcc简介 5
4 程序的设计 6
4.1 设计概要 6
4.2 RS-232-C建立与打开 7
4.3 串口设置与读写 8
4.3.1 c_cflag控制项设置 8
4.3.2 c_iflag、c_lflag和c_oflag设置 9
4.3.3 c_cc控制字符设置 10
4.3.4 读写串口 11
4.4 MODEM的控制 12
4.4.1 MODEM的两种工作状态 12
4.4.2 DTE与DCE的握手 12
4.4.3 MODEM拨号连接 13
4.5 文件传输协议的设计 14
5 编码实现 16
5.1 串口初始化实现 16
5.2 串口读写的实现 17
5.3 MODEM初始化的实现 18
5.4 MODEM状态读取的实现 20
6 程序测试 20
6.1 串口传输文件测试 20
6.2 MODEM拨号连接并传输数据测试 21
结 论 21
参考文献 22
致 谢 23
声 明 24
Linux(10)L(1)
·站内提供的所有资源均是由网上搜集或网友上传,任何涉及商业盈利目的均不得使用,仅能作为学习研究目的使用,否则产生的一切后果将由您自己承担!请您于24小时内自觉将其删除并向著者购买使用许可证。 ·站内提供的所有资源均是由网上搜集,若侵犯了您的权益,敬请来信通知我们! |