基于RS-232的串行通信设计外文翻译资料
2023-08-16 08:57:54
The Designing of Serial Communication Based on RS232
Abstract
This paper discussed the principle of serial communication mainly, proposed the design method based on RS232, designed the hard circuit of serial communication, and realized the programming to PC Microcomputer and single chip microcomputer by using assembly language and C Builder separately.
Keywords: serial communication; single chip microcomputer; program design.
I. INTRODUCTION
During working in the control system, the PC microcomputer sends instructions for step-by-step motor to collect the image information. Therefore the communication between the PC microcomputer and the driving system is needed for the communication system. In general, a complete communication system consists of transmitter, receiver, converting the data interface and transmitting data channel. The control of the step-by-step motor is realized through the pulse distribution by single chip microcomputer. On the motor control system, the PC microcomputer is called as upper computer, and the single chip microcomputer for driving step-by-step motor is called as lower computer. The communication between the upper computer and the lower computer has two methods, that is to say the parallel communication and serial communication. Parallel interface can transmit much data at the same time and has the fast speed, but when the transmission distance is far and the number of data is much, it needs more the number of transmission lines. In addition, the voltage level may be changed by the transmission line factor and electromagnetic interference. Serial communication is a one way that the data is transmitted by a bit in order, in which two transition lines is needed to realize bidirectional communication. It is taken into consideration that the data is much and the transmutation number is little, the serial communication is utilized in the control system so as to simplify the hardware and save the cost.
Serial communication is one of the oldest mechanisms for devices to communicate with each other. Starting with the IBM PC and compatible computers, almost all computers are equipped with one or more serial ports and one parallel port. As the name implies, a serial port sends and receives data serially, one bit at a time. In contrast, a parallel port sends and receives data eight bits at a time, using eight separate wires.
For serial communication to work, you just need a minimum of three wires—one to send, one to receive, and one signal ground. For parallel communication, you need eight wires.
Despite the comparatively slower transfer speed of serial ports over parallel ports, serial communication remains a popular connectivity option for devices because of its simplicity and cost-effectiveness. It shows some of the devices that use a serial port to connect to the computer. Using a serial port, you can connect to a modem, a mouse, or a device such as a bridge/router for configuration purposes.
II. THE BRIEF DESCRIPTION OF SERIAL PORT COMMUNITION
Serial communication is the communication between sender and receiver data transfer is in the single data line, to move each time a bit. The advantage is that only a pair of transmission lines to send information, so its low cost, suitable for long-distance communications; its disadvantage is that transmission speed is low.
As mentioned, a serial device sends and receives data one bit at a time. Some devices can send and receive data at the same time and are known as full-duplex devices. Others that can either send or receive at any one time are known as single-duplex.
To initiate transmission, a device first transmits a start bit, followed by the data bits. The data bits can be five, six, seven, or eight bits, depending on what has been agreed upon. Both the sender and the receiver must be set to the same data bits for communication to take place correctly. Once the data bits are sent, a stop bit is sent. A stop bit can be one, one and a half, and two bits. The baud rate is the speed of transmission of data from one device to another. Baud rate is usually measured in bits per second (bps).Most serial devices transmit in seven or eight bits.
To detect that the data has been sent correctly, an optional parity bit can be included together with the data bits. A parity bit can be one of the following: odd, even, mark, space, or none (mark and space parity are almost always used). Using a parity bit provides a basic mechanism to detect corruption of data that was sent and does not guarantee that the data received is free from error. Nevertheless, a parity bit is useful for improving the integrity of the data sent.
Most serial ports adhere to the RS232C standard, which specifies a connector either with 25 pins or with 9 pins. Most serial devices use the nine-pin connector.
Serial communication with asynchronous communication and synchronous communication are two basic means of communication. Synchronous communication for the case of high transmission speed, the hardware complexity. The asynchronous communication used in transmission speed between 50 and 19200 baud. Transmission is relatively common. In asynchronous communication, data is transmitted frame by frame, each frame of serial data format by a start bit, 5 to 8 data bits, a parity bit (optional) and a Stop bit of four parts. Before the serial communication, the sender and receiver to agree the specific data format and baud rate (communication protocol). PC-programmable serial asynchronous communication controller 8250 to implement asynchronous serial communication. By 8250 the initial programming, you can control serial data transmission format and speed. In the PC, in general there are two standard RS-232C serial interface COM1 and COM21MCS - 51 series microcontroller chip includes a full-duplex serial interface,
剩余内容已隐藏,支付完成后下载完整资料
译文
基于RS-232的串行通信设计
摘 要
论文抽象地论述了串行通信的主要原则,提出了在RS232的基础上,设计串行通讯硬电路的方法。实现了分别在PC微机和单片机中使用汇编语言和C Builder的编程。
关键词:串行通信;单片机;程序设计
一、绪论
在控制系统的工作中,PC微机通过发送指令到步进电机中来收集图像信息。因此,PC微机和驱动系统之间的通信是系统通信所必需的。一般来说,一个完整的通信系统由发射器,接收器,转换数据接口和传输数据通道所构成。该步进电机是通过单芯片来实现微机控制脉冲分配的。在电机的控制系统中,PC微机被称为上位机,而由单片机所控制的步进电机被称为下位机。上位机与下位机之间的通信有两个方法,它们分别是并行通信和串行通信。并行通信可以同时传输大量的数据,具有传送速度快的优点。但是当传输距离远,并且传输数据的数量很多时,它需要的传输线的数目也更多。此外,电压等级会因为输电线路的因素和电磁干扰而改变。串行通信是一个数据按一个个序位单向传输的通道,其中两个过渡线是实现双向通信传输的需要。正是考虑到在控制系统中需传递的数据量多,而单次传输的数量少,因此在控制系统中选择串口通信的方法,简化了硬件结构并节约了所需的成本。
串行通信是最古老的沟通机制之一。从IBM个人电脑和兼容式电脑的时代开始,几乎所有的计算机都配有一个或多个串行端口和一个并行端口。顾名思义,一个串行端口发送和接收串行数据,一次一位数据。相反,一个并行端口一次发送和接收8位数据,使用8个单独的电线。
要使串行通信工作,你只需要一根三根线的电缆——1根发送,1根用来接收,1根接地。对于并行通信,你需要采用8条导线。
尽管相对较慢的传输速度远低于并行端口,串行端口通信依然因为它简单的设备和高的成本效益而成为一个受欢迎的连接选项。它表现为一些设备使用串口连接到计算机。使用串行端口,你可以连接到调制解调器,鼠标或其它设备,如一个桥梁/路由器进行配置。
二、串口通讯的简述
串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动。它的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信;它的缺点是传送速度低。
如前所述,一个串行设备一次发送和接收一个位的数据。有些设备因为在同一时间发送和接收数据,被称为全双工设备。其他可以在任何时间发送或接收被称为单双工设备。
开始传输时,设备先发送一个起始位,其次是数据位。该数据位可以是五、六、七或八位,基于商定而定。发送器和接收器必须设置为相同的数据通信比特或正确的比特率。数据位被发送完后,就会发送一个停止位。一个停止位可以是一位,一个半位,或两位。波特率是数据从一个设备到另一个的传输速度。波特率通常以每秒的位数(bps)来计量。大多数串行设备传输七、八位数据。
为了检测数据已被正确发送,一个可选的校验位可以同数据位在一起。一个校验位可以是以下内容:奇数,偶数,标记,空白或无(空的奇偶位标志几乎总是被使用)。使用校验位提供了一个基本的机制,以检测已发送数据是否损坏,但不保证检查数据本身的错误。然而,校验位可用于改善完整数据的传送。
大多数串行端口使用RS232C标准,它指定了一个25针或9针的连接器。大多数系列设备使用9针连接器。
串行通信有异步通信和同步通信两种基本通信方式。同步通信适用于传送速度高的情况,其硬件复杂。而异步通信应用于传送速度在50到19200波特之间,是比较常用的传送方式。在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,5~8位的数据位,一位奇偶校验位(可省略)和一位停止位四部分组成。在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。PC机采用可编程串行异步通信控制器8250来实现异步串行通信。通过对8250的初始化编程,可以控制串行数据传送格式和速度。在PC机中一般有两个标准RS-232C串行接口COM1和COM2。MCS-51系列单片机片内含有一个全双工的串行接口,通过编程也可实现串行通信功能。
智能传感器的CMOS芯片因为其低成本,小型化,智能化和标准化的特点已得到广泛应用。在智能传感器IC设计中,在传感器和信号处理电路以外,通讯接口电路也可发挥重要角色。串行通信拥有很多的标准接口,如RS-232,RS-485,USB接口和IEEE-1394。它们都有着自身的特点,同时也分别适用于不同的的应用领域。RS-485的数据传输具有抗噪声的特点,因此它通常用于工业生产。USB接口和IEEE-1394具有传输速度快的优点,但是有一些电脑和操作系统并不支持这种接口。RS-232是在PC机中和通信行业中应用最广泛的的串行接口。RS-232C标准是异步串行协议沟通,并已广泛应用于个人电脑和通信产业。许多短距离打印机等电脑外设,所有磁盘和终端与PC机通过RS232串行接口通信。
RS-232C 标准
RS-232C是美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广的标准总线。该标准适用于DCE和DTE间的串行二进制通信,最高数据传送速率可达19.2kbps,最长传送电缆可达15米。RS-232C标准定义了25根引线,对于一般的双向通信,只需使用串行输入RXD,串行输出TXD和地线GND。RS-232C标准的电平采用负逻辑,规定 3V~ 15V之间的任意电平为逻辑“0”电平,-3V~-15V之间的任意电平为逻辑“1”电平,与TTL和CMOS电平是不同的。在接口电路和计算机接口芯片中大都为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232C标准的电平匹配。MAX232芯片可以完成电平转换这一工作。
RS-232被定义为单端标准,它具有许多的优点,如更低速的串行通信,通信距离远,适中的价格和良好的系统实用性,所以它是最适用的一个通信端口。RS-232是一个基本现代化的计算机接口,它包括COM1和COM2端口,该端口COM1有九针连接器。新一代的计算机有一个九针连接器(DB9),这样就可以通过这个九针连接器来连接RS-232串行端口。为了实现可靠的,实时的传输,该系统采用三线连接方式,即RS-232端口的GND引脚,RXD引脚和TXD的引脚与外部端口连接,如图1所示。
图1.RS-232的端口
三、串行通信端口的硬件设计
单片机应用的是TTL电平,而PC机的RS-232串行接口使用的是标准的串行接口标准,所以两者的电气性能规格是不一致的。为了沟通上位机和下位机,就需要将单片机输出的TTL电平进行转换。常见的TTL电平和RS-232电平之间的电平转换芯片是MCI1488和MCI1489。TTL电平可由MCI1488转换为RS-232电平,它需要plusmn;12V电源电压,而MCI1489可以将RS-232转换成标准级的TTL电平,它需要电源电压为 5V。由于适用三个电源电压,电路将不可避免地变得复杂,所以该电路采用标准的RS-232芯片MAX232。
MAX232芯片简介
MAX232是Maxim公司的产品,它是路径接收和驱动IC芯片。MAX232芯片是Maxim公司生产的低功耗、单电源双RS232发送/接收器,适用于各种EIA-232E和V.28/V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的 5V电源变换成RS-232C输出电平所需plusmn;10V电压,所以采用此芯片接口的串行通信系统只要单一的 5V电源就可以。
MAX232外围需要4个电解电容C1、C2、C3、C4,是内部电源转换所需电容。其取值均为1mu;F/25V,宜选用钽电容并且应尽量靠近芯片,C5为0.1mu;F的去耦电容。
MAX232的引脚T1IN、T2IN、R1OUT、R2OUT为接TTL/CMOS电平的引脚,引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232C电平的引脚。因此TTL/CMOS 电平的T1IN、T2IN 引脚应接MCS-51的串行发送引脚TXD;R1OUT、R2OUT应接MCS-51的串行接收引脚RXD,与之对应的RS-232C电平的T1OUT、T2OUT应接PC机的接收端RD;R1IN、R2IN应接PC机的发送端TD。MAX232芯片有一个电压转换器,它可以改变 5V的电压至所需的电压。因此,它适应了串行通信接口。不仅如此,它有许多优点,比如价格适中,硬件简单等等。因此,用它来作为电压转换器适用。串行通信模块的硬件电路如图2所示。
图2 串行通信模块的硬件电路
四、串口通信的软件设计
单片机的通信程序与PC机之间通过中断通信,PC机被称为主控制器。当单片机接收通过PC电脑发送的数据信号时,它就会调用中断服务程序。中断服务子程序流程图如图3所示。为了充分利用单片机,以减少CPU的占用时间,提高沟通效率,控制程序将是我们会及时响应和控制的对象,通讯程序将得到优化。子程序的串口接收数据,逐个发送脉冲,通过上升沿判断指令子程序和中断子程序发送的数据。
A串口中断子程序用于接收数据
用于接收数据的串行端口的中断子程序,主要是将PC微机接收和发送的数据存储到分配的内存中(不进行数据处理,以减少中断的时间)。由单片机接收到的数据包括一些信息,如速度,步骤和开/关指示,由于缓冲区的大小足够把这些数据发送到电脑中,所以省略了软件握手协议,以提高CPU利用率。当串口中断程序接收到指定的数据时,便退出串行口中断。
B发送步进脉冲子程序
使用反单晶片微控制器定时器0,作为固定的时间计时,能使P1.5端口电平被反转,从而产生周期性的驱动脉冲。定时器从0开始计数初始值65535,然后中断设定的定时器0被调用,在其中P1.5端口电平被反转产生驱动脉冲。同时,单片机重新载入由PC机通过串行通信微机发送的初始值。
图3 主要中断服务子程序流程图
C判断指令的子程序
PC微机发送数据到单片机。经过单片机接收数据,并调用串口中断子程序,它第一次发送的数据被处理。如果第一个数据是一个数字标记“48”,串行口中断分程序设置P1.4脚为高电平,那么接下来的五个字节的数据用于确保步进电机的速度和步骤。如果第一个数据是一个数字标记“49”,这意味着步进电机反转,则单片机接收到发送来的速度和步骤信息。否则,单片机判定接收到的数据是不是“停止”指令,如果是这样,它发出“停止”指令驱动系统,如果没有,它便退出中断。
D发送中断处理子程序
发送中断处理子程序负责将数据发送到计算机,中断状态一般为不允许中断。当通信方案完全由PC微机发送的数据交换,代码为“1”可写入发送缓冲区。随着计算机接收代码“1”,这表明,单片机上执行完全由PC微机发送的指令。因此,串口中断设置为“关闭”状态的单片机,将它设定为“开”状态的数据后再发送数据。这时,单片机返回到主程序和等待接收指令。
五、PC和单片机通信程序的设计
为了方便地实现系统软件移植和统一,上位机程序的设计使用作为控制系统编程工具C Builder 5.0 ,C Builder 5.0是一个PC的编程工具。串行口通信可以利用两种方式:一是注册组件,生成的C 本身并不提供单独的串行通讯组件,但是它可通过已注册的Microsoft MSComm32成分,生成相对简单的VB,VC代码。第二种方法是调用Windows API(应用程序接口)函数,此函数是由操作系统提供,以提供大量的功能。该设计的步骤如下:
(1)设置通信协议,打开串行端口,这是所谓的初始化,然后阻止其他程序使用串行端口。
(2)配置串口。
(3)传递串口转来的数据,验证数据的传输过程。
(4)关闭串口,供其他程序使用。
子接口很简单,其中的子接口的参数设置,如波特率通信模块的芯片已被设置为2400Bps,在计算机上的端口的默认设置2400Bps。微机具有两个串口,一般称为COM1和COM2,以便程序可以自动识别串行端口,利于端口成功的发送和接收数据和指令。
串行通信程序包括两部分,一部分是MCS-51单片机的通信程序,另一部分是PC机的通信程序。在编写程序之前,制定其双方通信协议是十分重要的,否则将无法保证通信数据的可靠性,从而失去通信的意义。现约定其通信协议如下:
(1)串行通信波特率为1200bps。
(2)帧格式为:一位起始位,八位数据位,一位可编程的第九位(此位为发送和接收的地址/数据的标志位),一位停止位。
(3)设定单片机的地址码为F1H。在传送数据前先联络地址码,如地址码正确则传送数据,否则继续联络地址码。
(4)无奇偶校验位。数据的通信采用累加和校验的方法,
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[606274],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。