当前位置:文档之家› 第25讲 485通信实验

第25讲 485通信实验

第25讲 485通信实验
第25讲 485通信实验

7.1RS-485总线收发实验

7.1.1485简介

485(一般称作RS485/EIA-485)是隶属于OSI(OSI:开放系统互连基本参考模型。开放,是指非垄断的。系统是指现实的系统中与互联有关的各部分。)模型物理层的电气特性规定为2线,半双工,多点通信的标准。它的电气特性和RS-232大不一样。用缆线两端的电压差值来表示传递信号。RS485仅仅规定了接受端和发送端的电气特性。它没有规定或推荐任何数据协议。

RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A 标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。

RS485的特点包括:

1)接口电平低,不易损坏芯片。RS485的电气特性:逻辑“1”以两线间的电压差为+(2~6)V 表示;逻辑“0”以两线间的电压差为-(2~6)V表示。接口信号电平比RS232降低了,不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL 电路连接。

2)传输速率高。10米时,RS485的数据最高传输速率可达35Mbps,在1200m时,传输速度可达100Kbps。

3)抗干扰能力强。RS485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。

4)传输距离远,支持节点多。RS485总线最长可以传输1200m以上(速率≤100Kbps)一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。

7.1.2RS485的通信概念

RS-485 是一个电气接口规范它只规定了平衡驱动器和接收器的电特性而没有规定接

插件传输电缆和通信协议。

RS-485建议性标准作为一种多点差分数据传输的电气规范,现已成为业界应用最为广泛的标准通信接口之一,这种通信接口允许在简单的一对双绞线上进行多点双向通信,它所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的,因此许多不同领域都采用RS-485作为数据传输链路,它是一种极为经济并具有相当高的噪声抑制、传输速率、传输距离和宽共模范围的通信平台。

RS-485是一种在工业上作为数据交换的手段而广泛使用的串行通信方式,数据信号采用差分传输方式,也称作平衡传输,因此具有较强的抗干扰能力。它使用一对双绞线,将其中一线定义为A,另一线定义为B。如下图所示:

通常情况下, RS-485的信号在传送出去之前会先分解成正负对称的两条线路(即我们常说的A 、B 信号线),当到达接收端后,再将信号相减还原成原来的信号。发送驱动器A 、B 之间的正电平在+2~+6V ,是一个逻辑状态;负电平在-2~-6V ,是另一个逻辑状态;另有一个信号地C ,在RS-485中还有一“使能”端。“使能”端是用于控制发送驱动器与传输线的切断与连接。当“使能”端起作用时,发送驱动器处于高阻状态,称作“第三态”,即它是有别于逻辑“1”与“0”的第三态。

接收器也与发送端相对的电平逻辑规定,收、发端通过平衡双绞线将AA 与BB 对应相连,当在接收端AB 之间(DT)=(D+) - (D-)有大于+200mV 的电平时,输出正逻辑电平,小于-200mV 时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在200mV 至6V 之间。

号在传送出去之前会先分解成正负对称的两条线路(即我们常说的A 、B 信

再将信号相减还原成原来的信号。如果将原来的信号标注为(DT),(D+)和(D-),则原始信号与分解后的信号在由传输端传送出去- (D-) 也按上式的关系将信号还原成原来的样子。如果此线D+)+Noise 和(D-)+Noise, 如果接收端接收此信号,它必须按照一定的方式将其合成,合成的方程式如下:

(DT)=[(D+

Noise)] - [(D-)+ Noise]=

(D+) - (D-)

RS-485的信号线),当到达接收端后,

而被分解后的信号分别标注为时的运算关系如下:

(DT)=(D+)

同样地,接收端在接收到信号后,路受到干扰时,在两条传输线上的信号会分别成为( 此方程与前一方程式的结果是一样的,干扰信号被抵消。因此在RS-485网络传输中要求两根信号线缆必须进行对绞,进一步降低信号的共模干扰。

7.1.3 RS485的连接方式

在每一个分支中采用一条双绞线电缆作总线,将各个通讯设备手拉手串接起来,到每个通讯设备的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。如图3所示为实际应用中常见的一些错误连接方式(a ,b ,c )和正确的连接方式f )。a 、b 、c 这三种网络连接尽管不正确,在短距离、低速率仍可能正常工作,从总线(d ,e ,但随着通信距离的延长或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反号质量下降。

7.刻都会感受到一个瞬态阻抗,这个阻抗可对于信号来说,它不会区分到底是什么,那么他就会正常向前传播,(可能是中途遇到的电阻,电容,电感,过孔,PCB 转角,接插件),信号都会发生反射。

射后与原信号叠加,会造成信

1.4 RS485通信电缆中的信号反射

什么信号反射:信号沿传输线向前传播时,每时每能是传输线本身的,也可能是中途或末端其他元件的。信号所感受到的只有阻抗。如果信号感受到的阻抗是恒定的,

只要感受到的阻抗发生变化,不论是什么引起的反射的影响: 如果负载阻抗小于传输线阻抗,反射电压为负,反之,如果负载阻抗大于传输线阻抗,反射电压为正。实际问题中,PCB 上传输线不规则的几何形状,不正确的信号匹配,经过连接器的传输及电源平面不连续等因素均会导致反射情况发生,而表现出诸如过冲

/

下冲以及振荡等信号失真的现象。

注意总线特性阻抗的连续性,在阻抗不连续和阻抗不匹配就会发生信号的反射(如图1所示)下列几种情况易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者是过长的分支线引出到总线。总之,应该提供一条单

一、

7.危及系统安全。RS-485传输网络

尤其是在工作环否则接口损坏率较高。很线将各个接口的“A”、“B”端连接起来。但却埋下了很大,支持多达32个节点,并且有输出短路保护。该芯片的框图如下图所示:

连续的信号通道作为总线。

消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻,如图2所示。从理论上分析,在传输电缆的末端只要跨接了与电缆特性阻抗相匹配的终端电阻,就再也不会出现信号反射现象。但是,在实现应用中,由于传输电缆的特性阻抗与通讯波特率等

应用环境有关,特性阻抗不可能与终端电阻完全相等,因此或多或少的信号反射还会存在。

1.5 RS485的接地问题

接地处理不当往往会导致电子系统不能稳定工作甚至的接地同样也是很重要的,因为接地系统不合理会影响整个网络的稳定性,

境比较恶劣和传输距离较远的情况下,对于接地的要求更为严格,多情况下,连接RS-485通信链路时只是简单地用一对双绞而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,的隐患。

7.1.6 RS485的应用

由于RS485具有传输距离远、传输速度快、支持节点多和抗干扰能力更强等特点,所以RS485有很广泛的应用。

SP3485芯片介绍

STM32神舟IV 号开发板采用SP3485作为收发器,该芯片支持3.3V 供电,最大传输速度可达

10Mbps

?A、B—— 485总线接口

?RO——接收输出端

?DI——发送数据收入端

?RE——接收使能信号(低电平有效)

?DE——发送使能信号(高电平有效)

?VCC、GND——电源与地

/RE和DE管脚控制RS-485的收发使能控制。在神舟IV号中,这两个管脚与处理器的PD7管脚连接,由PD7管脚控制神舟IV号STM32开发板的RS485作为发送端还是接收端。

查看《SP3485 RS-485收发器.pdf》可知,当PD7输出高电平,此时SP3485芯片的2脚(/RE),3脚(DE)都为高电平。SP3485工作与发送模式。逻辑关系如下表所示。

当PD7输出低电平,此时SP3485芯片的2脚(/RE),3脚(DE)都为低电平。SP3485工作与接收模式。逻辑关系如下表所示。

另外在RS-485总线网络中有个终端匹配电阻(神舟IV号开发板是原理图中的R43),终端匹配电阻主要作用是使总线的阻抗连续,减小信号的反射,提高信号的传输质量,一般RS485网络的终端匹配电路只需要在总线的最远端的节点并一个即可,其他接点不需要安装此匹配电阻。

在神舟IV号STM32开发板中,默认终端匹配电阻都是安装的(对应原理图的R43),请依

据实际情况,选择安装或去掉此电阻。

7.1.7原理图的连接

神舟IV号的开发板上有一个485接口。我们通过SP3485芯片连接STM32的串口2,实现两个开发板之间的485通信。板载的SP3485接口如图:

可以看到,该芯片有8个管脚。其中A、B为485总线接口。485_TX、485_RX和485_DIR分别对应引脚PD5、PD6和PD7。我们看一下这几个管脚:

485_TX发送数据端,该引脚和串口2的发送端引脚是一样的。485_RX是接收数据端,该引脚和串口2的接收引脚是一样的,通过JP4的跳冒选择是接收串口2接口来的数据还是485接口来的数据。

485_DIR对应的是PD7,当PD7输出低电平,此时SP3485芯片的2脚(/RE),3脚(DE)都为低电平。SP3485工作与接收模式。逻辑关系如下表所示。当PD7输出高电平,此时SP3485芯片的2脚(/RE),3脚(DE)都为高电平。SP3485工作与发送模式。

7.1.8软件设计

我们从主程序开始分析。

在本实验中,使用到两个神舟IV 号开发板,一个设置为发送端,另一个设置为接收端。程序运行以后,首先通过串口1打印提示信息,提示通过板上按键设置神舟IV 号为发送端或者接收端,设置完成后,发送端周期性的发送数据到RS-485网络上(神舟IV 号的RS485收发器与处理器的串口2连接),而接收端等待RS-485网络上的数据,并将接收到的完整

数据通过串口1打印出来。因此本实验需要用的资源有串口1,串口2,按键,LED,RS485收发器。

代码分析1:函数SZ_STM32_LEDInit(LED4)

该函数为普通的GPIO管脚配置函数。和我们一般的初始化LED的方式是完全一样的。注意的是:由于神舟IV号开发板的RS-485收发器方向控制管脚与LED4的相同,所以初始化LED4就是初始化RS-485收发器方向控制管脚。我们通过控制这个管脚的电平高低选择RS-485收发器是作为发送端还是接收端。:

代码分析2:函数RS485_SET_RX_Mode()

主程序进来,我们通过将LED4的管脚拉低,将RS485配置为接收模式。以免引起总线冲突。

代码分析3:函数SZ_STM32_KEYInit( )

该函数为按键的初始我们函数。本实验我们初始化了按键KEY1和按键KEY2。在后边我们通过按键选择开发板是做为发送端还是做为接收端。

代码分析4:函数SZ_STM32_COMInit(COM2, 115200)和函数xPrintf_Init()

函数中,首先配置的串口的波特率等信息。串口2的相关管脚配置在函数__SZ_STM32_COMInit(COM, &USART_InitStructure)中。注意:串口2使用的的管脚和RS485使用的管脚是一样的。配置了串口2的管脚,相当于配置了与RS485相关的管脚。

而函数xPrintf_Init()初始化的是串口1,我们初始化串口1是用于显示数据。本实验是485实验,占用了串口2的相关管脚。所以我们显示信息的时候,使用的是串口1。

代码分析5:选择开发板的模式(发送模式或者接收模式)。

这里是通过函数RS485_MODE_SET()来设置模式。

该函数中,首先是调用了函数SZ_STM32_KEYScan(),判断那个按键被按下。当KEY1被按下时开发板被配置为发送模式,KEY2被按下时开发板被配置为接收模式。

代码分析6:进来while主循环

如果为接收模式,则接收来自485接收到的数据并保存接收到的数据。接收完完整的一串数据后,将接收到的数据“RcvCh”打印出来。

如果为发送模式,则把“TxBuffer”里面的数据通过485发送出去给接收端,发送完完整的一串数据。并通过串口1打印发送的数据。延迟一段时间后,重复发送。

如果都不是发送或者接收的话,那么我们继续等待按键的按下再执行相对应的程序操作

7.1.9下载与验证

如果使用JLINK下载固件,请按错误!未找到引用源。错误!未找到引用源。下载固件到神舟IV号开发板小节进行操作。

7.1.10实验现象

在实验中,一块神舟IV号STM32开发板作为RS485发送端,一块神舟IV号STM32开发板作用RS485接收端。因此,进行本实验需要准备两块神舟IV号STM32开发板。

首先将固件分别下载到两块神舟IV号STM32开发板,按如下连接网络。

用两个杜邦线连接两块神舟IV号的RS-485接口(CN3),注意两块神舟IV号的RS-485接口(CN3)的第1脚和第1脚连接,第2脚和第2脚连接。开发板的反面有如下丝印标识:

如下图,使用杜邦线,将两个开发板的485接口连接。

由于485与USART2共用JPIO,所以首先请确认将JP4跳帽跳至1??2(右侧),选择串口2为RS485接口类型。

串口2可通过跳线选择接口定义如下:

JP4 串口2功能选择

1??2 串口2 RS-485接口

2??3 串口2 RS-232接口

用随板配带的串口线连接神舟IV号和PC机,打开超级终端,按如下配置超级终端参数。

上电运行神舟IV号,在串口1提示信息指示下,首先设置设置神舟IV号—A为RS-485接收端,然收设置神舟IV号—B为RS-485发送端。具体设置方法如下:

操作说明

按USER1按键神舟IV号作为RS485发送端

按USER2按键神舟IV号作为RS485接收端

上电后,神舟开发板串口1,有如下打印消息:

“--按USER1按键设置神舟IV号为RS485发送端”

“--按USER2按键设置神舟IV号为RS485接收端”

首先设置设置神舟IV号—A为RS-485接收端,按其“USER2”按键;然收设置神舟IV号—B为RS-485发送端,按其“USER1”按键。神舟IV号—A接收端会通过串口1打印接收或发送的数据。以下是串口1将RS485接收端接收到的信息打印出来。

单独传感器标准MODBUS485通讯协议

A、读取数据(标准modbus协议) 地址默认为0x01,可以更改 1、读取数据 主机呼: 0103 00 0000 01 840A 从机答: 0103 02 XX XX XX XX 上面02,XX等均为一个字节。数据为两个字节,高位字节在前。每帧的开头和结尾至少有3。5个字节时间的间隔. 2。读设备地址 0020 CRC (4个字节)(读取:00 20 0068) 00 20 Adress CRC (5个字节) 3.写设备地址 00 10 Adress CRC (5个字节)(地址设为01:00 10 01 BD C0) 00 10CRC?(4个字节)(返回:00 1000 7C) 说明: 1.读写地址命令的地址位必须是00。 2。Adress为1个字节,范围为0-255。 用户在为主机编程时,除了站号(地址)和CRC校验码之外,其它字节的字符均采用上面的内容不变。主机格式中的读取点数为01。从机回答帧中的功能码(03)和读单元字节数(01)不变。

计算CRC码的步骤: 1、预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器; 2、把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器; 3、把寄存器的内容右移一位(朝低位),用0填补最高位,并检查右移后的移出位; 4、如果最低位为0:重复第3步(再次移位) 如果最低位为1:CRC寄存器与多项式A001(10100000 0000 0001)进行异或; 5、重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理; 6、重复步骤2到步骤5,进行下一步8位数据的处理; 7、最后得到的CRC寄存器即为CRC码; 8、将CRC结果放入信息帧时,将高低位交换,低位在前。 //************************************************************************************************ //**名称:CRC16 //**说明:CRC效验函数 //**形参:*p效验帧的指针帧长 datalen //**返回值:效验字 //************************************************************************************************ unsignedint CRC16(unsigned char * p, uint16 datalen ) { unsigned char CRC16Lo,CRC16Hi,CL,CH,SaveHi,SaveLo; int i,Flag; CRC16Lo =0xFF; CRC16Hi= 0xFF; CL = 0x01; CH= 0xA0; for(i=0;i>= 1 ; //高位右移一位,低位右移一位if ((SaveHi &0x01) ==0x01) //如果高位字节最后一位为1 CRC16Lo|=0x80 ; //则低位字节右移后前面补1否则自动补0 if ((SaveLo&0x01) ==0x01) //如果LSB为1,则与多项式码进行异或 { CRC16Hi^= CH;CRC16Lo ^= CL;} } }

RS232串口通信实验报告

RS232串口通信实验报告 学院:电子信息学院 班级:08031102 姓名:张泽宇康启萌余建军 学号:2011301966 2011301950 2011301961 时间:2014年11月13日 学校:西北工业大学

一.实验题目: 设计一个简单的基于串口通信的信息发送和接受界面 二.实验目的: 1.熟悉并掌握RS232串口标准及原理。 2.实现PC机通过RS232串口进行数据的收发。 3.熟悉VC语言编写程序的环境,掌握基本的VC语言编程技巧。 三.实验内容 程序代码: P// PC1PC2Dlg.cpp : implementation file // #include "stdafx.h" #include "PC1PC2.h" #include "PC1PC2Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

实验四-串口通信实验

姓名:彭嘉乔 学号:3130104084 日期:2015.05 地点: ___________ 指导老师:弓 ________________ 成绩: 实验类型: 同组学生姓名:吴越 、实验内容和原理(必 填) 四、操作方法和实验步骤 六、实验结果与分析(必 填) 七、讨论、心得 一、实验目的 1、掌握80C51串行口工作方式选择、理解串行口四种通讯模式的区别、波特率发生器的作用及通讯过程屮的时 序关系。 2、 掌握串口初始化的设置方法和串行通信编程的能力。 3、 了解PC 机通讯的基本要求,掌握上位机和下位机的通讯方法。 4、 编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等) 二、 实验器材 1、 Micetek 仿真器一台。 2、 实验板一块。 3、 PC 机电脑一台。 4、 九针串口线一条。 別f 尹丿占实验报告 课程名称:彳 — 实验名称:实验四 串口通信实验 、实验目的和要求(必 填) 三、主要仪器设备(必 填) 五、实验数据记录和处理

三、实验原理 串口通讯对单片机而言意义重大,不但可以实现将单片机(下位机)的数据传输到PC端(上位机),

便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是 RS232电平的,而单片机的 串口是TTL 电平的,两者Z 间必须有一个电平转换电路,本实验采用专用芯片 也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。 3. 1 RS232九针串口基本功能简介 九针串口即RS-232接口,是个人计算机上的通讯接口之一,由电子工业协会 Industries Association , EIA)所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25) 的型态出现,一般个人计算机上会有两组 RS-232接口,分别称为COM1和COM2。该接口分 为公头子和母头子。九针串口(母头)的功能如下,请见图 1 : 9 / \ 6 Ov 3v Ov Ov 图1 RS232九针串口母头功能说明 分别为1 :载波检测 (DCD) ; 2 :接收数据(RXD) ; 3 :发送数据(TXD) : 4 :数据终端准备 好(DTR) ; 5 :信号地(GND) ; 6 :数据准备好(DSR) ; 7 :发送请求(RTS) ; 8 :发送清除(CTS) ; 9 :振铃 指示(RI)接法。 本实验采用三线制连接串口,也就是说和电脑的 9针串口只需连接其屮的3根线:第5脚的GND 、 第2脚的RXD 、第3脚的TXD 。这是最简单的连接方法, 但是已满足本实验硬件需求, 电路如图2所示, MAX232的第11脚和单片机的11脚连接,通过MAX232芯片的电平转换,将T1OUT 输出连接板子上9针串口(母头)MAX232进行转换,虽然 (Electronic

通信原理心得体会

通信原理心得体会 篇一:通信原理学习心得 通信原理学习心得 一学期的通信原理课程结束了,但我对通信原理的学习永远不会结束。经过一个学期的学习我对通信原理有了深刻的认识,我知道这还远远不够,今后的日子里我要更加努力学习通信原理。学习是个艰难的过程,厌烦过,沮丧过,但同时也是充满着激情和快乐的。我想不管干什么都要自信,千万不要轻易的放弃,只要坚持不懈,一定会有结果的。 按照我的传统理解,通信就是信息的传输,在当今高度信息化的社会,信息和通信已经成为现代社会的命脉。所以我们要好好学习通信原理,可以预见,未来的通信系统对人们的生活方式和社会的发展将会产生更加重大和意义深远的影响。 通信原理是电子、通信、计算机络专业的一门理论性较强的专业基础课程,课程的重点是通信系统的性质、信号的传输、检测、处理的基本原理和方法以及信号调制,量化,编码,处理和传输的应用。该课程的特点是概念比较抽象,分析求解所用的数学知识较多。该课程的难点是理论性较强和比较抽象,然而我的数学基础并不够扎实,因此在数学分析与计算方面是一个难点,还有就是缺乏工程背景,而这门课又结合实际比较多,所以学这门课程并不容易,但我们要

好好学习通信原理。 对于通信原理这门课,一开始觉得很难,而且听学长们说通信原理是很难的课程,平时一定要好好学,不然自己学习习的日子根本就抓不到要点了。事实上好像也是如此,当然对于我这样的人,上课时 也不算是比较认真的,但是半学期的学习,我对通信原理确实有了一定的了解和认识。我知道学好通信原理需要一定的数学基础,所以我又翻阅了一下高数课本。翻阅高数课本之后,感觉轻松了一些。我认识到要完成通信,首先要对信号有一个充分的了解与认识,为了对这个信号进行传输我们要进行调制,并选择合适的信道,当然还要考虑噪声的干扰;在接收端我们通过解调把原始信号解调出来以完成我们的通信。 虽然该课程在学习上很困难,但我发现该课程在组织上遵循由特殊到一般、再由一般到特殊的符合认识规律的顺序,由通信系统性能分析到实际调制解调框图的设计等具体问题的应用的规律,后来又结合上机实验学习了MATLAB工具软件,通过Simulink或者MATLAB程序进行通信系统仿真,加深了我对通信系统的理解。 以上是我的学习心得,对于本门课程本想提出课程建议,但是老师讲的挺好的,基本没有什么建议可提。并且感觉老师讲的越来越好了,颜渊曾经这样评价自己的老师孔子,“仰

实验四基于单片机的串行通信

实验四基于单片机的串行通信 一、 实验目的 1.了解串行通信的基本知识; 2.掌握用单片机串行口实现串行通信的方法。 二、 实验器材 微机、示波器、万用表、电源、AEDK仿真开发系统,面包板一块,MAX202C芯片一块,电容、电阻、导线若干。 三、 实验原理 此处仅介绍与本实验内容密切相关的串行通信基本知识,其它有关基本知识介绍请见本讲义实验七。 1.串行通信的异步和同步传送方式 CPU与其外部设备之间的信息交换或计算机之间的信息交换均可被称为“通信”。 通信的基本方式可分为并行通信和串行通信两类。并行通信是指数据各位同时并行传送的通信方式,而串行通信是指数据逐位顺序串行传送的通信方式(如图4.1所示)。 在并行通信中,由于有多根传输线并行传送数据,因此传送速度快、通信速率高。但当多位数据远程传输时,传输线路的开销就成为突出问题。由于串行通信只需一对传输线,并且可以利用电话线等现有通信信道作为传输介质,因而可以大大降低传输线路的成本。一般而言,串行通信的传送速度明显低于并行通信。 (a)并行通信 (b)串行通信 图4.1 通信方式示意图

串行通信分为异步传送和同步传送两类。异步通信是一种字符再同步的通信方式,而同步通信是靠识别同步字符来实现数据的发送和接收的。 (1) 异步传送方式 异步传送的特点是:①数据以字符方式随机且断续地在线路上传送(但在同一字符的内部的传送是同步的)。各字符的传送依发送方的需要可连续,也可间断。②通信双方用各自的时钟源来控制发送和接收。③通信双方按异步通信协议传输字符。 异步通信格式如图4.2所示,每个字符由起始位、数据位、奇偶校验位和停止位四个部分顺序组成。这四个部分组成异步传输中的一个传输单元,即字符帧。 z 起始位:为“ 0”信号,占1位。起始位的作用有两个:①表示一个新字符帧的开始。 即线路上不传送字符时,应保持为“1”。接收端检测线路状态连续为“1”后或在停止位后有一个“0”,就知道将发来一个新的字符帧。②用以同步接收端的时钟,以保证后续的接收能正确进行。 z 数据位:紧接于起始位后面,它可以占5、6、7或8位不等,数据的位数依最佳传送 速率来确定。如所传数据为ASCII 码字符,则常取7位。数据位传输的顺序,总是最低位(LSB )D 0在先。 z 奇偶校验位:在数据位之后,占1位。它用来检验信息传送否有错。它的状态常由发 送端的奇偶校验电路确定。奇偶位的值取决于校验类型,若为偶校验,则数据位和校验位中逻辑“1”的个数必须是偶数;若为奇校验,则数据位和校验位中逻辑“1”的个数必须是奇数。也可以规定不用奇偶校验位,或用其它的校验方法来检验信息传送过程是否有错。 z 停止位:用“1”来表征一个字符帧的结束。停止位可以占1位、1.5位或2位不等。 接收端收到停止位时,表明这一字符已接收完毕,也表明下一个字符帧可能到来。若停止位以后不是紧接着传送下一个字符帧,则让线路上保持为“1”,即空闲等待状态。图4.2既表示一个字符紧接一个字符传送的情况,又表示两个字符间有空闲位的情况。 串行通信的一个重要指标是波特率。它定义为每秒钟传送二进制数码的位数(亦称波特率),以“位/秒”(bps )为单位。在异步通信中, 波待率=(每个字符帧的位数)×(每秒传送的字符数) 常用的波特率有600、1200、2400、4800、9600、19200(bps )等。 由于异步通信双方各用自己的时钟源,若时钟频率等于波特率,则频率稍有偏差就会产生接收错误。时钟频率应比波特率高,时钟频率与波特率的比一般选16:1或者64:1。采用较高频率的时钟,在一位数据内就有16或64个时钟,就可以保证捕捉正确的信号。 空闲位 起校停起校停空闲位 第n 个字符帧 第n +1个字符帧 图4.2异步通信的字符帧格式

通信原理实验报告

实验一常用信号的表示 【实验目的】 掌握使用MATLAB的信号工具箱来表示常用信号的方法。 【实验环境】 装有MATLAB6.5或以上版本的PC机。 【实验内容】 1. 周期性方波信号square 调用格式:x=square(t,duty) 功能:产生一个周期为2π、幅度为1 ±的周期性方波信号。其中duty表示占空比,即在信号的一个周期中正值所占的百分比。 例1:产生频率为40Hz,占空比分别为25%、50%、75%的周期性方波。如图1-1所示。 clear; % 清空工作空间内的变量 td=1/100000; t=0:td:1; x1=square(2*pi*40*t,25); x2=square(2*pi*40*t,50); x3=square(2*pi*40*t,75); % 信号函数的调用subplot(311); % 设置3行1列的作图区,并在第1区作图plot(t,x1); title('占空比25%'); axis([0 0.2 -1.5 1.5]); % 限定坐标轴的范围 subplot(312); plot(t,x2); title('占空比50%'); axis([0 0.2 -1.5 1.5]); subplot(313); plot(t,x3); title('占空比75%'); axis([0 0.2 -1.5 1.5]);

图1-1 周期性方波 2. 非周期性矩形脉冲信号rectpuls 调用格式:x=rectpuls(t,width) 功能:产生一个幅度为1、宽度为width、以t=0为中心左右对称的矩形波信号。该函数横坐标范围同向量t决定,其矩形波形是以t=0为中心向左右各展开width/2的范围。Width 的默认值为1。 例2:生成幅度为2,宽度T=4、中心在t=0的矩形波x(t)以及x(t-T/2)。如图1-2所示。 t=-4:0.0001:4; T=4; % 设置信号宽度 x1=2*rectpuls(t,T); % 信号函数调用 subplot(121); plot(t,x1); title('x(t)'); axis([-4 6 0 2.2]); x2=2*rectpuls(t-T/2,T); % 信号函数调用

ZNJC2 RS485通讯 modbus 协议

_ MODBUS 通讯协议说明 1. 通讯相关的参数 2.通讯说明 2.1 数据格式说明 控制器采用RS-485总线,协议符合ModBus 规约,数据格式有标准MODBUS-RTU 、 非标准MODBUS-RTU(16进制)和ASC(ASC Ⅱ码)3种格式。 数据传输均采用8位数据位、1位停止位、无奇偶校验位。波特率可设为2400、4800、9600和19200 bit/s 。 通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义与RTU 通讯规约相兼容: 2.2 非标准MODBUS-RTU(16进制)数据格式详细说明 下面以RTU(16进制)数据格式进行详细说明,ASC Ⅱ码数据格式只是把16进制代码 转换成ASC Ⅱ码字符。 地址码:这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。 功能码:通讯传送的第二个字节。ModBus 通讯规约定义功能号为01H 到7FH 。本控制器利用其中的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的

最高位 (比如功能码大于7FH),则表明从机没有响应操作或发送出错。 数据区:数据区是根据不同的功能码而不同。 CRC码:二字节的错误检测码。 当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。 2.2.2 信息帧格式: (1)地址码: 地址码是信息帧的第一字节(8位),从1到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的 从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 (2)功能码: 主机发送的功能码告诉从机执行什么任务。表2列出的功能码都有具体的含义及操作。 (3 数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器 的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。 (4)错误校验码: 主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程 中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用CRC-16校验方法。 注: 信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。 2.2.3 错误校验 参与冗余循环码(CRC)计算的包括:地址码、功能码、数据区的字节。 冗余循环码包含2个字节,即16位二进制。CRC码由发送设备计算,放置于发送信息的尾部。接收信息的设备再重新计算接收到信息的 CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。 CRC码的计算方法是,先预置16位寄存器全为1。再逐步把每8位数据信息进行处理。在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。 在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一字节,用0填补最高位。再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。 这个过程一直重复8次。第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与以上一样重复8次。当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。 计算CRC码的步骤为: (1).预置16位寄存器为十六进制FFFF(即全为1)。称此寄存器为CRC寄存器; (2).把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器; (3).把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(注意:这时的最低位指移位前 的最低位,不是移位后的最低位); (4).如果最低位为0:重复第3步(再次移位)

RS232串口通信详解

串口是计算机上一种非常通用的设备通信协议。 --------------------------------- 串口的引脚定义: 两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。--------------------------------- 串口的电气特性: 1)RS-232串口通信最远距离是50英尺 2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps 3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V 所以与单片机连接时常常需要加入电平转换芯片:

--------------------------------- 串口通信参数: a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、 4800、9600、19200波特。b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。 c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。 --------------------------------- 串口通信的传输格式:串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一 位一位的传输。示波器读数时,左边是数据的高位。 例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图 2(RS-232电平)所示。 55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为1010101010B; aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;

串行口通信实验 单片机实验报告

实验六串行口通信实验 一、实验内容 实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。 二、实验目的 掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。 三、实验原理 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V为1,小于- 0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。 为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows的超级终端。 单片机串行接口有两个控制寄存器:SCON和PCON。串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。 单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。在DOS操作环境下,要实现单片机与微机的通信,只要直接对微机接口的通信芯片8250进行口地址操作即可。WINDOWS的环境下,由于系统硬件的无关性,不再允许用户直接操作串口地址。如果用户要进行串行通信,可以调用WINDOWS的API 应用程序接口函数,但其使用较为复杂,可以使用KEILC的通信控件解决这一问题。 四、实验电路 [参考学习板说明书P27]

MODBUS协议(功能码及报文解析)

MODBUS协议 Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。事实上,它已经成为工业领域通信协议标准,并且现在是工业电子设备之间相当常用的连接方式。M odbus比其他通信协议使用的更广泛的主要原因有: 公开发表并且无版税要求 相对容易的工业网络部署 对供应商来说,修改移动原生的位或字节没有很多限制 Modbus允许多个设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。在数据采集与监视控制系统(SCADA)中,Modbus通常用来连接监控计算机和remote terminal unit (RTU)。 Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。 大多数Modbus设备通信通过串口EIA-485物理层进行[1]。 对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通讯(serial communication)方式。RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP 变种,这种方式不需要校验和的计算。 对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。 Modbus 有一个扩展版本 Modbus Plus(Modbus+或者MB+),不过此协定是Modicon专有的,和 Modbus不同。它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PCMCIA总线的板卡。 Modbus协议是一个 master/slave 架构的协议。有一个节点是master 节点,其他使用Modbus协议参与通信的节点是 slave 节点。每一个 slave 设备都有一个唯一的地址。在串行和MB+网络中,只有被指定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个Modbus命令,但是通常也只有一个主节点设备启动指令)。 一个ModBus命令包含了打算执行的设备的Modbus地址。所有设备都会收到命令,但只有指定位置的设备会执行及回应指令(地址 0例外,指定地址 0 的指令是广播指令,所有收到指令的设备都会执行,不过不回应指令)。所有的Modbus命令包含了检查码,以确定到达的命令没有被破坏。基本的ModBus命令能指令一个RTU改变

基于VerilogHDL的RS-232串口通信在CPLD上的实现综述

基于Verilog的RS-232串口通信在CPLD上的实现 CPLD(Complex Programable Logic Device)是一种复杂的用户可编程逻辑器件。采用连续连接结构,延时可预测,从而使电路仿真更加准确。CPLD 是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。开发工具Quartus II、ISE等功能强大,编程语言灵活多样,使设计开发缩短了周期。 随着嵌入式的发展,对数据的传输和人机交互通信的要求越来越高。而串口通信因其资源消耗少、技术成熟而被广泛应用。系统中上位机与嵌入式芯片之间的交互通信可以通过专用集成芯片作为外设RS-232异步串行接口,如TI、EXAR、EPIC公司的550、452等系列UAWT集成电路,或在拥有Nios系统的FPGA上可以方便地嵌入UART模块。但是在设计中用户会提出自己的要求,如:数据加密或只使用UART部分功能等,即要求更灵活的UART。而且有时CPLD资源剩余,出于成本考虑也会要求设计一种模拟的UART。对于上述的两种情况,就可以在CPLD其丰富的资源上制作一款UART,实现PC机与嵌入式系统之间的数据交换。 1 串口通信协议 1.1 UART简介 通用异步收发器(Universal Asynchronous Receiver Transmitter,UART)。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小。具有相关工业标准提供的标准的接口电平规范等优点,在工业控制领域被广泛采用。 异步通信一帧字符信息由4部分组成:起始位、数据位、奇偶校验位和停止位。 本设计基于RS-232的数据帧结构,设置数据帧结构如图1所示:1 bit起始位,8 bit数据位,1 bit停止位,无校验位。每帧实质上传送1 Byte数据。 1.2 自定义数据包格式 多个上文所描述的帧就可以组成一个数据包。串口通信是在RS-232数据帧结构的基础上定义的,传输以数据包为单位进行。包结构如图2所示。 本文采用和校验的结构,一个数据包包含15 Byte。其中第1个字节是数据包头即握手字符。第2字节为控制字符,EE代表写命令,DD代表读命

串口通信实验

实验报告(附页) 一、实验内容 1、串口通信设置: 波特率为115200bps, 数据位为8位,停止位为1位; 2、按键传输数据到串口助手显示; (1)按1,串口显示:“This is Key 1”; D5亮 (2)按2,串口显示:“This is Key 2”; D6亮 (3)按3,串口显示:“This is Key 3”; D7亮 (4)按4,串口显示:“This is Key 4”; D8亮 (5)按“*”Key ,串口显示“All LEDs is Closed” ; 灯全灭; (6)按其它Key,串口显示:”Wrong Key” 3、通过串口小肋手,向实验设备发送信息: 发送字符:”D5”、”D6”、”D7”、”D8” ,则对应的D5、D6、D7、D8亮;若发送“5”、“6”、“7”、“8”则对应的D5、D6、D7、D8灭,如发送其它字符,则在串口助手中显示:“Error Code”; 二、实验方法 (1)利用参考代码构建工程。 (2)编写实验要求的实现实验要求的功能。 (3)连接实验箱,写入程序,测试代码。 三、实验步骤 1)正确连接JLINK 仿真器到PC 机和stm32 板,用串口线一端连接STM32 开发板,另一端连接PC 机串口。 2)用IAR 开发环境打开实验例程:在文件夹05-实验例程\第2 章\2.3-uart 下双击打开工程uart.eww,Project->Rebuild All 重新编译工程。 3)将连接好的硬件平台通电(STM32 电源开关必须拨到“ ON”),接下来选择Project->Download and debug 将程序下载到STM32 开发板中。4)下载完后可以点击“Debug”->“Go”程序全速运行;也可以将STM32 开发板重新上电或者按下复位按钮让刚才下载的程序重新运行。 5)通过串口小助手检验实验结果 四、实验结果 Main函数 #include"stm32f10x.h"

通信原理课程设计报告2

¥ 课程设计报告? < 课程名称通信原理 设计题目 DSB与2ASK调制与解调 专业通信工程 班级 学号 姓名 完成日期 …

课程设计任务书 设计题目:DSB与2ASK调制与解调 设计内容与要求: 设计内容: 1.根据DSB的调制原理设计线路,进行仿真模拟调制DSB的调制和解调过程,并通过仿真软件观察信号以及的调制过程中信号波形和频谱的变化。 2. 根据ASK的调制原理设计线路,进行仿真模拟调制DSB的调制和解调过程,并通过仿真软件观察信号以及的调制过程中信号波形和频谱的变化。 3.在设计过程中分析信号变化的过程和思考仿真过程的设计原理。 ; 设计要求: 1.独立完成DSB与ASK的调制与解调; 2.运用仿真软件设计出DSB与ASK的调制线路 3.分析信号波形和频谱 指导教师:范文 2012年12月16日 课程设计评语 ( 成绩: 指导教师:_______________

年月日

一.调制原理: 调制: 将各种数字基带信号转换成适于信道传输的数字调制信号(已调信号或频带信号); 时域定义:调制就是用基带信号去控制载波信号的某个或几个参量的变化,将信息荷载在其上形成已调信号传输,而解调是调制的反过程,通过具体的方法从已调信号的参量变化中将恢复原始的基带信号。 频域定义:调制就是将基带信号的频谱搬移到信道通带中或者其中的某个频段上的过程,而解调是将信道中来的频带信号恢复为基带信号的反过程. 根据所控制的信号参量的不同,调制可分为: 调幅,使载波的幅度随着调制信号的大小变化而变化的调制方式。 调频,使载波的瞬时频率随着调制信号的大小而变,而幅度保持不变的调制方式。 调相,利用原始信号控制载波信号的相位。 调制的目的是把要传输的模拟信号或数字信号变换成适合信道传输的信号,这就意味着把基带信号(信源)转变为一个相对基带频率而言频率非常高的代通信号。该信号称为已调信号,而基带信号称为调制信号。调制可以通过使高频载波随信号幅度的变化而改变载波的幅度、相位或者频率来实现。调制过程用于通信系统的发端。在接收端需将已调信号还原成要传输的原始信号,也就是将基带信号从载波中提取出来以便预定的接受者(信宿)处理和理解的过程。该过程称为解调。

嵌入式系统实验报告-串行通信实验-答案

《嵌入式系统实验报告》 串行通信实验 南昌航空大学自动化学院050822XX 张某某 一、实验目的: 掌握μC/OS-II操作系统的信号量的概念。 二、实验设备: 硬件:PC机1台;MagicARM2410教学实验开发平台台。 软件:Windows 98/2000/XP操作系统;ADS 1.2集成开发环境。 三、实验内容: 实验通过信号量控制2个任务共享串口0打印字符串。为了使每个任务的字符串信息(句子)不被打断,因此必须引入互斥信号量的概念,即每个任务输出时必须独占串口0,直到完整输出字符串信息才释放串口0。 四、实验步骤: (1)为ADS1.2增加DeviceARM2410专用工程模板(若已增加过,此步省略)。 (2)连接EasyJTAG-H仿真器和MagicARM2410实验箱,然后安装EasyJTAG-H仿真器(若已经安装过,此步省略),短接蜂鸣器跳线JP9。 (3)启动ADS 1.2,使用ARM Executable Image for DeviceARM2410(uCOSII)工程模板建立一个工程UART0_uCOSII。(本范例在ADS文件夹中操作) (4)在ADS文件夹中新建arm、Arm_Pc、SOURCE文件夹。将μC/OS 2.52源代码添加到SOURCE文件夹,将移植代码添加到arm文件夹,将移植的PC服务代码添加到Arm_Pc文件夹。 (5)在src组中的main.c中编写主程序代码。 (6)选用DebugRel生成目标,然后编译链接工程。 (7)将MagicARM2410实验箱上的UART0连接跳线JP1短接,使用串口延长线把MagicARM2410实验箱的CZ11与PC机的COM1连接。 注意:CZ11安装在MagicARM2410实验箱的机箱右侧。 (8)PC机上运行“超级终端”程序(在Windows操作系统的【开始】->【程序】->【附件】->【通讯】->【超级终端】),新建一个连接,设置串口波持率为115200,具体设置参考图3.5,确定后即进入通信状态。 (9)选择【Project】->【Debug】,启动AXD进行JTAG仿真调试。 (10)全速运行程序,程序将会在main.c的主函数中停止(因为main函数起始处默认设置有断点)。 (11)可以单步运行程序,可以设置/取消断点,或者全速运行程序,停止程序运行,在超级终端上观察任务0和任务1的打印结果。 五、实验结论与思考题(手写,打印无效): 1、如果任务0删除语句“OSSemPost(UART0_Sem);”,那么程序还能否完全正常无误运行? 答:OSSemPost (OS_EVENT *pevent),这个函数是释放资源,执行后资源数目会加1。在该函数中,删除对应语句则使串口资源UART0_Sem始终无法释放。

通信原理课程设计心得体会

通信原理课程设计心得体会 、时分解复用原理 为了提高信道利用率,使多路已抽样的信号组合起来沿同一信道传输而互相不干扰,称时分多路复用。时分复用的解调过程称为时分解复用。目前采用较多的是频分多路解复用和时分多路解复用。频分多路解复用用于模拟通信,而时分多路解复用用于数字通信。为了实现TDM传输,要把传输时间分成若干个时隙,在每个时隙内传输一路信号,将若干个原始的脉冲调制信号在时间上进行交错排列,从而形成一个复合脉冲串,该脉冲串扰码后经信道传输到达接收端。时分解复用通信,是把各路信号在同一信道上占有不同时间间隙进行通信分离出原来的模拟信号。由抽样定理可知,将时间上离散的信号变成时间上连续的信号,其在信道上占用时间的有限性,为多路信号沿同一信道传输提供了条件。时分解复用是建立在抽样定理的基础上的,因为抽样定理连续的基带信号由可能被在时间上离散出现的抽样脉冲所代替.具体说,就是把时间分成一些均匀的时间间隙,将各路信号的传输时间分配在不同的时间间隙,以达到互相分开,互不干扰的目的。抽样脉冲占据时间一般较短,在抽样脉冲之间就留出间隙.利用这些空隙便可以传输其他信号的抽样,因此,就可能用一条信道同时传送若干个基带信号,并且每一个抽

样值占用的时间越短,能够传输的数据也就越多.时分解复用信号在接收端只要在时间上恰当地进行分离,各个信号就能分别互相分开,互不干扰并不失真地还原出原来的模拟信号。 在通信系统中,同步具有相当重要的地位。通信系统能否具有有效、可靠地工作,在很大程度上依赖有无良好的同步系统。同步可分为载波同步、位同步、帧同步和网同步几大类型。他们在通信系统中都具有相当重要的作用。时分解复用通信中的同步技术包括位同步和帧同步,这是数字通信的又一个重要特点。时分解复用的电路原理就是先通过帧同步信号和位同步信号把各路信号数据分开,然后通过移位寄存器构成的并/串转换电路输出串行的数据,把时分复用的调制信号不失真的分离出来。 位同步 位同步的目的是确定数字通信中的个码元的抽样时刻,即把每个码元加以区分,使接受端得到一连串的码元序列,这一连串的码元列代表一定的信息。位同步是最基本的同步,是实现帧同步的前提。位同步的基本含义是收、发两端机的时钟频率必须同频、同相,这样接收端才能正确接收和判决发送端送来的每一个码元。因此,接收端必须提供一个确定抽样判决时刻的定时脉冲序列.

RS485通信和Modbus协议实例分析

18.1 RS485通信 实际上在RS485之前RS232就已经诞生,但是RS232有几处不足的地方: 1、接口的信号电平值较高,达到十几V,容易损坏接口电路的芯片,而且和TTL电平不兼容,因此和单片机电路接起来的话必须加转换电路。 2、传输速率有局限,不可以过高,一般到几十Kb/s就到极限了。 3、接口使用信号线和GND与其他设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。 4、传输距离有限,最多只能通信几十米。 5、通信的时候只能两点之间进行通信,不能够实现多机联网通信。 针对RS232接口的不足,就不断出现了一些新的接口标准,RS485就是其中之一,他具备以下的特点:1、我们在讲A/D的时候,讲过差分信号输入的概念,同时也介绍了差分输入的好处,最大的优势是可以抑制共模干扰。尤其工业现场的环境比较复杂,干扰比较多,所以通信如果采用的是差分方式,就可以有效的抑制共模干扰。而RS485就是一种差分通信方式,它的通信线路是两根,通常用A和B或者D+和D-来表示。逻辑“1”以两线之间的电压差为+(0.2~6)V表示,逻辑“0”以两线间的电压差为-(0.2~6)V来表示,是一种典型的差分通信。 2、RS485通信速度快,最大传输速度可以达到10Mb/s以上。 3、RS485内部的物理结构,采用的是平衡驱动器和差分接收器的组合,抗干扰能力也大大增加。 4、传输距离最远可以达到1200米左右,但是他的传输速率和传输距离是成反比的,只有在100Kb/s 以下的传输速度,才能达到最大的通信距离,如果需要传输更远距离可以使用中继。 5、可以在总线上进行联网实现多机通信,总线上允许挂多个收发器,从现有的RS485芯片来看,有可以挂32、64、128、256等不同个设备的驱动器。 RS485的接口非常简单,和RS232所使用的MAX232是类似的,只需要一个RS485转换器,就可以直接和我们单片机的UART串行接口连接起来,并且完全使用的是和UART一致的异步串行通信协议。但是由于RS485是差分通信,因此接收数据和发送数据是不能同时进行的,也就是说它是一种半双工通信。那我们如何判断什么时候发送,什么时候接收呢? RS485类的芯片很多,这节课我们以MAX485为例讲解RS485通信,如图18-1所示。 图18-1 MAX485硬件接口 MAX485是美信(Maxim)推出的一款常用RS485转换器。其中5脚和8脚是电源引脚,6脚和7脚就是485通信中的A和B两个引脚,而1脚和4脚分别接到我们单片机的RXD和TXD引脚上,直接使用单片机UART进行数据接收和发送。而2脚和3脚就是方向引脚了,其中2脚是低电平使能接

相关主题
文本预览
相关文档 最新文档