毕业设计(论文)一个Linux下基于电话线路的数据通信程序的设计与实现

上传人:m**** 文档编号:403419303 上传时间:2023-09-19 格式:DOC 页数:26 大小:354.53KB
返回 下载 相关 举报
毕业设计(论文)一个Linux下基于电话线路的数据通信程序的设计与实现_第1页
第1页 / 共26页
毕业设计(论文)一个Linux下基于电话线路的数据通信程序的设计与实现_第2页
第2页 / 共26页
毕业设计(论文)一个Linux下基于电话线路的数据通信程序的设计与实现_第3页
第3页 / 共26页
毕业设计(论文)一个Linux下基于电话线路的数据通信程序的设计与实现_第4页
第4页 / 共26页
毕业设计(论文)一个Linux下基于电话线路的数据通信程序的设计与实现_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《毕业设计(论文)一个Linux下基于电话线路的数据通信程序的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计(论文)一个Linux下基于电话线路的数据通信程序的设计与实现(26页珍藏版)》请在金锄头文库上搜索。

1、一个Linux下基于电话线路的数据通信程序的设计与实现摘 要本设计基于Linux操作系统,控制本地MODEM通过电话线网向异地终端机所带MODEM拨号,并实现两台MODEM之间数据传输,达到两台计算机之间数据通信的目的。 MODEM与计算机RS-232串行端口相连,Linux通过POSIX termios接口控制计算机串行端口,方便实现了对计算机串行端口的设置和数据读写。计算机(DTE)与MODEM(DCE)之间数据交换,以及计算机对MODEM的控制,就是计算机对串行端口的读写。本文作者完成了对RS-232串行端的设置和读写操作,利用AT命令控制MODEM拨号,和一个文件传输协议,实现了两台P

2、C机利用MODEM通过公用电话网,传送和接收文件。本设计旨在使没有安装网络的用户,利用56K MODEM,通过电话线网方便和对方传输数据。相比较Internet网络,电话线网更安全,分布更广泛。本设计就是利用了电话线网的广泛性和安全性。关键词:Linux;串行端口;MODEMThe Design and Implementation of Data Transportation through Telephone Line in LinuxAbstractThe purpose of the design is to control the local MODEM to dial remote

3、 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 POS

4、IX 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 acco

5、mplishes 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 install

6、ed 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目 录论文总页数:24页1引 言21.1设计

7、背景21.2本设计的意义21.3设计方法21.4理论依据22设计理论依据22.1Linux22.2串行端口简介22.2.1串行通迅22.2.2RS-232-C22.2.3异步通迅32.3MODEM简介42.3.1MODEM42.3.2AT命令43系统开发环境53.1系统开发环境53.2gcc简介54程序的设计64.1设计概要64.2RS-232-C建立与打开74.3串口设置与读写84.3.1c_cflag控制项设置84.3.2c_iflag、c_lflag和c_oflag设置94.3.3c_cc控制字符设置104.3.4读写串口114.4MODEM的控制124.4.1MODEM的两种工作状态1

8、24.4.2DTE与DCE的握手124.4.3MODEM拨号连接134.5文件传输协议的设计145编码实现165.1串口初始化实现165.2串口读写的实现175.3MODEM初始化的实现185.4MODEM状态读取的实现206程序测试206.1串口传输文件测试206.2MODEM拨号连接并传输数据测试21结 论21参考文献22致 谢23声 明24第 1 页 共24页1 引 言1.1 设计背景现在,随着计算机网络技术的发展,国民收入的提高,互联网走进了千家万户,但仍有很多计算机用户并没有安装宽带或其它网络设备。电话已经发展了一百多年,但互联网只出现了不到五十年,英特网所分布的范围远远比不上公用电

9、话网。1.2 本设计的意义如果想传送份文件给对方,却苦恼于无法上互联网,那么用MODEM通过电话线发送文件就变得非常有用处了。还有些特殊情况,当单位或工厂需要几台计算机之间数据共享时,进入互联网有安全隐患,配置局域网费用又很高,而且需要共享的数据很小,仅按字节计算,这时候利用MODEM通过公用电话网或电话专线传输数据,既经济,又安全,维护也非常简单。1.3 设计方法本设计基于Linux操作系统,用POSIX termios函数控制计算机串口,使用AT指令操作MODEM进行初始化及拨号连接,最后用一个自编的文件传输协议传输文件。整个程序使用C语言实现。此次设计之所以选择Linux,是因为Linu

10、x有着丰富的应用程序和开发工具,可以支持各种硬件平台和外部设备;Linux又是完全开放的操作系统,很大程度上,Linux的开放性,赋予了其无穷的生命力。GCC的发展与Linux发展息息相关,相辅相承。所以在Linux平台的基础上,选用GCC编绎代码。AT指令做为MODEM的标准化语言,提供了丰富的MODEM初始化、拨号、挂机等等命令,AT命令简单的操作方式,使MODEM控制变得很方便。1.4 理论依据本次设计所需要的开发环境的搭建并不复杂,可是因为程序直接对计算机硬件进行操作,需要对RS-232串行端口有比较深入的了解,必须清楚各引脚电信号的作用,串口的工作方式,针对不同工作的方式,进行不同的

11、设置。MODEM的功能非常丰富,这给程序的实现也带来一定难度。通过完成本设计,既有助于深入了解计算机接口,又为硬件控制编程打下了一定基础,而且还能熟悉Linux程序设计。2 设计理论依据2.1 LinuxLinux操作系统核心最早是由芬兰的Linus Torvalds 1991年8月在芬兰赫尔辛基大学上学时发布的那年Torvals 25岁,后来经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势,并以每年100%的用户递增数量显示了Linux强大的力量。本设计中使用的POSIX

12、(UNIX可移植标准)终端控制函数,少量修改就可以运行于IRIX, HP-UX, SunOS, Solaris, Digital UNIX, Linux,和许多其它的类UNIX操作系统。在不同的类UNIX操作系统之间的最大差别是串口设备和锁定文件的名字。并且Linux支持各种体系结构的计算机,所以本设计虽然仅在个人PC机上实现,但它对于不同体系结构的计算机,或者不同的类UNIX操作系统,都有很好的可移植性。2.2 串行端口简介2.2.1 串行通迅计算机一次传输一位或多位的信息(数据),串行是指一次传输一位数据。串行通讯包括了大多数的网络设备、键盘、 麦克风,调制解调器和终端。当进行串行通讯时,

13、传送或接收的每个字(例如:字节或字符)是以每次一位传输的。 每位或者为on 或者 off。有时也能听到以mark 表示 on 状态和 space 表示 off 状态。串行数据的速度常表示为比特每秒 (bps) 或波特率 (波特)。这只是用于表示每秒能够传送的1和0的数量。追溯到计算机时代的早期,300波特被认为是很快的速度,但今天的计算机能够控制RS-232速度高达115,200波特!当波特率超过1,000,通常将看到速度被表示为千波特,或kbps (例如9.6k, 19.2k等等)。对于超过1,000,000的速度表示为兆波特,或者Mbps (例如1.5Mbps)。2.2.2 RS-232-

14、CRS-232-C是标准的串行通讯电气接口,是由美国EIA(电子工业联合会)与BELL等公司一起开发并于1969年公布的通信协议,这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定,它适合于数据传输速率在020 000bit/s范围内的通信。由于通信设备厂商都生产与RS-232-C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信中广泛采用,它不仅已被内置于每一台计算机,同时也已被内置于从微控制器到主机的多种类型的计算机及其相连接的设备。RS-232-C常用于连接到一个MODEM,其他拥有RS-232接口的设备包括打印机、数据采模块、测试装置和控制回路。另外,RS-

15、232也可以直接应用于任何类型计算机之间的简单连接。EIA-RS-232-C对电器特性、逻辑电平和各种信号线功能都作了规定。在TxD和RxD上:逻辑1(MARK) = -3V-15V。逻辑0(SPACE) = +3V+15V。在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压) = +3V+15V。信号无效(断开,OFF状态,负电压) = -3V-15V。由于RS-232-C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同,现在最常见的是DB-9连接器。DB-9的信号引脚说明如表1所示:表1 RS-232 各引脚含义RS-232 SignalsPin描述Pin描述1DCD - Data Carrier Detect6DSR - Data Set Ready2RXD - Received Data7RTS - Request To Send3TXD - Transmitted Data8CTS -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号