基于GPRS和单片机的串口通讯设计
单片机单片机课程设计-双机串行通信

单片机单片机课程设计-双机串行通信单片机课程设计双机串行通信在当今的电子信息领域,单片机的应用无处不在。
而双机串行通信作为单片机系统中的一个重要环节,为实现设备之间的数据交换和协同工作提供了关键的技术支持。
一、双机串行通信的基本原理双机串行通信是指两个单片机之间通过串行接口进行数据传输的过程。
串行通信相较于并行通信,具有线路简单、成本低、抗干扰能力强等优点。
在串行通信中,数据是一位一位地按顺序传输的。
常见的串行通信协议有 UART(通用异步收发器)、SPI(串行外设接口)和 I2C(内部集成电路)等。
在本次课程设计中,我们主要采用 UART 协议来实现双机串行通信。
UART 协议包括起始位、数据位、奇偶校验位和停止位。
起始位用于标识数据传输的开始,通常为逻辑 0;数据位可以是 5 位、6 位、7 位或 8 位,具体取决于通信双方的约定;奇偶校验位用于检验数据传输的正确性,可选择奇校验、偶校验或无校验;停止位用于标识数据传输的结束,通常为逻辑 1。
二、硬件设计为了实现双机串行通信,我们需要搭建相应的硬件电路。
首先,每个单片机都需要有一个串行通信接口,通常可以使用单片机自带的UART 模块。
在硬件连接方面,我们将两个单片机的发送端(TXD)和接收端(RXD)交叉连接。
即单片机 A 的 TXD 连接到单片机 B 的 RXD,单片机 B 的 TXD 连接到单片机 A 的 RXD。
同时,还需要共地以保证信号的参考电平一致。
此外,为了提高通信的稳定性和可靠性,我们可以在通信线路上添加一些滤波电容和上拉电阻。
三、软件设计软件设计是实现双机串行通信的核心部分。
在本次课程设计中,我们使用 C 语言来编写单片机的程序。
对于发送方单片机,首先需要对 UART 模块进行初始化,设置波特率、数据位、奇偶校验位和停止位等参数。
然后,将要发送的数据放入发送缓冲区,并通过 UART 发送函数将数据一位一位地发送出去。
对于接收方单片机,同样需要对 UART 模块进行初始化。
基于串口通信的控制系统设计

基于串口通信的控制系统设计引言:串口通信是一种常用的通信方式,广泛应用于控制系统中。
串口通信可以通过一根串行连接线来实现设备之间的数据交换,具有简单、可靠、成本低的特点。
本文将介绍一个基于串口通信的控制系统的设计,涵盖了硬件组成、通信协议、系统功能以及实现方法等方面。
一、硬件组成:1.主控板:主控板负责整个控制系统的运行和数据处理,通过串口与其他设备进行通信。
主控板可以使用单片机、嵌入式系统或者其他类似的控制器。
2.外设设备:外设设备可以包括传感器、执行器、显示器等,用于感知环境、执行控制命令以及显示系统状态等。
3.串口模块:串口模块用于实现主控板与其他设备之间的串口通信,可以是硬件串口(如UART)或者是通过软件模拟的串口。
4.串口连接线:串口连接线用于连接主控板与其他设备,通常采用DB9或者RJ45等接口标准。
二、通信协议:为了实现可靠的串口通信,需要定义一种通信协议。
通信协议包括数据格式、校验方法、命令集等。
1.数据格式:通信中的数据可以分为命令数据和应答数据两种类型。
命令数据是主控板发送给外设设备以执行控制命令;应答数据是外设设备发送给主控板以回应控制命令执行结果。
数据格式可以采用二进制、文本等形式。
通常,在数据头部定义标识位,用于标志数据的开始和结束。
2.校验方法:为了保证数据传输的可靠性,通信协议通常会采用一种校验方法来检测和纠正错误。
常见的校验方法有奇偶校验、循环冗余校验(CRC)等。
校验位的计算通常是在发送端进行,接收端通过比对校验位来判断数据是否正确。
3.命令集:通信协议中定义了一组命令,用于控制外设设备的行为。
命令可以包括读取传感器数值、设置执行器状态、查询系统状态等功能。
三、系统功能:1.数据采集:控制系统可以通过串口接收传感器的数据,并将数据发送给主控板进行处理。
主控板可以根据传感器数据进行控制决策,从而实现对外设设备的控制。
2.控制命令传输:主控板可以通过串口发送控制命令给外设设备,以改变其状态或执行特定的操作。
组态王与单片机多机串口通信的设计方案

组态王与单片机多机串口通信的设计1 引言随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。
现在组态软件繁多,比如KingVieW(组态王>、MCGS、W inCC等。
KingView软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。
由于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成本。
而单片机接口丰富,与A/D转换模块组合可以完成相同的工作,并且系统可靠、成本低。
2 组态王与单片机的串口通讯方法目前,组态王与单片机的通信多是通过动态数据交换(DDE>或通过自己开发通讯驱动程序完成。
DDE是Windows平台上的一个完整的通信协议,组态王通过该协议与其他应用程序交换数据。
但不可靠和非实时。
而自己开发通讯驱动程序会带来设计困难,增加系统开发周期,可行性不高。
组态王专门提供一种与单片机多机串口通信方法,可满足大多数系统需求。
3 PC机与单片机的硬件接口电路图1为上位PC机与下位单片机80C51的连接电路。
PC机与单片机本身都自带串行通讯接口,但由于在分布式系统中PC机与各单片机的分布不集中,不能利用RS-232通讯传输,只能改用RS-485。
RS-485采用差分式传输信号,最大传输距离为1 219 m.最大传输速率为10 Mb/s.对同时出现的两条信号线A、B的干扰有较强的抑制能力。
当两条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上,因此对RS-485的差分式传输线路而言,用双绞线可获得较强的抗干扰能力。
RS-485采用二线与四线平衡传输方式,二线制可实现真正的多点双向通信,但需要在传输线上接电阻(约120 Ω>。
由于80C51系列单片机STC89C52串行接口的,TTL电气特性与RS-485电气特性不相符,STC89C52不能与RS-485直接连接,需要电气转换。
GPRS通信模块中无线传输系统的协议设计

李 姣
【 摘要 】 目前的消 防通信 指挥系统 能完成火警受理、话 音数据和 图像通信 等功能。但 是消防员在现场救援 时却为信 息孤 岛 ,在执行救 护任务 时,各级指 挥员无法
单片机登陆G P R S 网关 ( G G S N ) 与 网 定 义为 0 X 7 D 。 基 于 上 述 的 情 况 , 构 建 一 个 无 线 传 ( 5 ) 报 文总 长度 输 系 统 极 为重 要 。利 用 嵌入 式 系 统和 G P R S 关协商L C P 、P A P 、I P C P 协 议 。L C P 、P A P 报文 总长度= 1 ( 报文头) + 1 ( 命令符) 网络 ,实 现监 控 系统 中的G P R S 无 线 数据 终 与 I P C P 协 议 的 帧 结 构 最 常 用 的 是 请 求 R E Q )、 同 意 ( A C K )和 拒 绝 ( N A K )三 十 1 ( S I M 卡 号 长度 ) + n ( S I M 卡号 ) + 1 ( G P R S 编 端 。通 过 采集 、传 输 、控 制 消 防员 的生 命 ( G S N 各 为 一方 进 行 协商 ,任 号) + 1 ( 终 端编 号 ) + 1 ( 消 防 员编 号 ) + l ( 控 制 体特 征 和 环境 信 息 , 实现 远程 监 测 后 台服 种 。单 片机 与G E Q 帧 请 求 某 方 面 的配 符) + m ( 数据) + 2 ( C R C 校验) + l ( 报文尾 ) = 1 0 + n + m 务 。根 据 无 线 网的 结 构和 功 能 设计 通信 协 何 一 方 都 可 以发 送 R 3 . 自定义 协议 指 令和 命令 字定 义 议 。 协议 设 计 主要 是 应用 层 自定义 设 计 , 制 , 另一 方 觉 得 配 置 不 接 受 回应 N A K 帧, 为便 于 查 找 ,按 功 能分 类 ,分 别 描述 根 据 需 求 自定 义 G P R S 协 议 和 数 据 结 构 定 接 受 则 回应A C K 帧 。过 程 如下 : 义 。通过 自定 义协 议 报 文格 式 ,制 定 出一 ( 1 ) 在 拨 号 成 功 连 接 后 ,G G S N 首 先返 各 协 议指 令 和命 令 字 的含 义 。采用 一 条 请 个 完 善 的协 议 ,确 保 系 统 稳 定 可 靠 地 工 回 一 个 P A P R E Q 数据帧。发送一个空L C P 求 ,多 条 返 回的 形 式 。控 制 符 按 照 成 功 / 作 ,是本 系 统 研制 工 作 中 一个 十 分 重要 的
单片机串口通信设计方案

单片机串口通信设计方案1.绪论1.1课题背景及意义目前,单片机的发展速度大约每两、三年要更新一代,集成度增加一倍,功能翻一番。
其发展速度之快、应用范围之广已达到了惊人的地步,它已渗透到生产和生活的各个领域,应用非常广泛。
在汽车、通信、智能仪表、家用电器和军事设备的智能化以及实时过程控制等方面,单片机都扮演着非常重要的角色[1]。
因此单片机的设计开发具有广阔的前景。
所以,对于电气类学生而言,学习一种单片机的开发是十分必要的。
而51系列的单片机,随着半导体技术的发展,其处理速度更快,性能更优越,在工业控制领域上占据十分重要的地位,通过对51系列单片机的学习而掌握单片机开发的过程是一种不错的选择。
然而单片机是一门综合性、实践性都很强的学科,其学习涉及的实验环节比较多,硬件设备投入比较大,对于大多数人而言很难投入大笔资金去购买实验器件。
而且要进行硬件电路测试和调试,必须在电路板制作完成、元器件焊接完毕之后进行,但这些工作费时费力。
因此引入EDA软件仿真系统建立虚拟实验平台,不仅可以大大提高单片机的学习效率,而且大大减少硬件设备的资金投入,同时降低对硬件设备的维护工作。
EDA设计思路是:从元器件的选取到连接、直至电路的调试、分析和软件的编译,都是在计算机中完成,所用的工作都是虚拟的。
虽然现在的电路设计软件已经很多,诸如PROTEL、ORCAD、EWB 、Multisim等,不过这些软件之间的差别都不大:都有原理图和PCB制作功能,都能进行诸如频率响应,噪音分析等电路分析,主要用于模拟电路、数字电路、模数混合电路的性能仿真与分析,但对于单片机设计及软件编程,最重要的是两者的联调,这些软件都无法实现,所以造成了单片机系统设计周期长、设计费用高等缺点[2]。
新款的EDA软件Proteus解决了上述软件的不足,成为目前最好的一款单片机学习仿真软件。
Proteus 软件是由英国Lab Center Electronics 公司开发的EDA 工具软件。
电子信息专业毕业设计题目汇总表(硬件方向)

通过软件模拟实现对I2C总线协议的解释;利用I2C总线 进行多路温度的采集、存储、显示及相关硬件电路设 计。 51单片机
21
基于单片机的自行车测速系统的设计与实现 程明月,董哲 实现速度的检测;键盘输入;显示时间速度;硬件电 路的设计。 51单片机 实现强、弱两种洗涤工作状态和4种洗衣工作程序, 即标准程序、经济程序、单独程序和排水程序及硬件 电路设计。 51单片机
13
基于单片机的MP3播放器的设计与实现
齐树雄
以单片机为主控芯片和VS1003B硬件音频解码芯片, 加LCD、U盘等组成一部MP3,主要实现功能:音乐 播放、图片浏览、电子书阅读、万年历支持SD卡和U 盘的访问。包括单片机电路,U盘模块电路,SD卡接 口电路,时钟电路,字库存储电路,USB供电及电压 转换电路,音频解码电路。软件部分包括主程序和各 模块底层电路。 单片机编程,下载,调试;音频编码解码技 建立交叉编译环境;系统启动bootloader的编写;采 用GNU交叉编译内核;Linux2.6内核的移植和根文件 系统的移植。 操作系统Linux2.6核心代码,ARM
预期成果
硬件实物
技术论文与相关测试 文档
技术论文与相关文档
技术论文与相关测试 文档
技术论文与相关测试 文档
技术论文与核心/扩展 电路板(原理图)
2
基于单片机无线遥控的电动智能小车的设计与实现
张立茹,阎艺芝
3
基于单片机的电铃系统的设计与实现
王宏宇,姚营,蔡青超
应用单片机、语音芯片、数码管及电子元件等技术来 单片机、语音控制、数字电子钟 实现对自动电铃系统的实时显示时间、根据设置好的 、数码显示 时间点控制电铃的产生。 应用单片机、阵列按键、数码管及电子元件等技术来 单片机、阵列按键、数码显示、 实现对于篮球比赛计时、计分和设置功能。 声音控制 接收GPS信号,传送给单片机,实现经度、纬度、时 间、海拔数据的实时显示 GPS、51单片机
单片机实验系统中GSM_GPRS实验模块的设计与应用_柳青

第16卷第2期广州航海高等专科学校学报V o.l 16 N o .22008年6月J OURNAL OF GUANGZ HOU MARI TI M E COLLEGEJ un .2008文章编号:1009-8526(2008)02-0043-04单片机实验系统中GS M 、GP RS 实验模块的设计与应用柳 青1,戴立坤2(1.广州航海高等专科学校计算机与信息工程系,广东广州510725;2.江苏海事职业技术学院信息工程系,江苏南京211170)摘 要:以单片机实验系统中GSM 、GPRS 模块的应用为例,介绍单片机应用于移动通信教学实验的一个解决方案.关键词:无线通信;单片机实验系统;GS M;GPRS中图分类号:TN915 文献标识码:A收稿日期:2007-09-24作者简介:柳 青(1949)),男,教授,主要从事计算机网络技术、计算机应用、数据与信息管理的教学与研究.目前的数字蜂窝通信系统GS M 包括2个并行的系统:GS M 900和DCS1800,2个系统功能相同,主要是频率不同.GS M 系统主要由移动台(M S)、基站子系统(BS)和基站控制器(BSC)等部份组成[1].其中1)移动台:便携台(手机)或车载台,由用户识别模块(SI M 卡)和硬件设备(GS M 模块)组合而成;2)基站子系统(BS):由传输无线信号的各种硬件设备和软件组成,如发射机、接收机、天线等.一个城市内通常设有许许多多的基站;3)基站控制器(BSC ):基站收发台和移动交换中心之间的连接点,并为基站收发台和操作维修中心之间交换信息提供接口.一个基站控制器通常控制几个基站收发台,主要功能是进行无线信道管理、实施呼叫、通信链路的建立和拆除,并为本控制区内移动台的过区切换进行控制等.本文介绍利用单片机实验系统进行移动通信实验,该产品已在/汽车防盗实时监控报警系统0的产品开发中得到应用.本实验局限于移动台的物理设备,包括无线通信模块和SI M 卡两部份.其中,无线通信模块可以进行的通信实验包括GSM 和GPRS 两部份.1 GS M 与GP R SGPRS (Genera l Packet Rad i o Ser v ice ,通用无线分组业务)是一种基于GSM 系统的无线分组交换技术,提供端到端的、广域的无线I P 连接.GS M 采用拨号的电路交换数据传送方式,GPRS 采用分组交换技术,具有/实时在线0、/按量计费0、/快捷登录0、/高速传输0、/自如切换0的优点.从应用的角度看,GS M 与GPRS 主要有以下区别:¹访问速度:GS M 为9.6kbps ,GPRS 大于56kb -ps ;º建立通信的连接时间:GS M 需要10~30s ,GPRS 只需要极短的时间;»计费:GS M 按连接时间计费,GPRS 按数据流量计费.可见,GPRS 对网络资源的利用率远远高于GS M.GPRS 的优点:¹高速数据传输,GPRS 的数据传送速度是GS M 的10倍,且可以稳定地传送大容量的音频与视频信号.GS M 移动通信网的传输速度一般为每秒9.6K 字节,GPRS 的传输速度可以达到115Kbps ,是常用56Kmode m 理想速率的2倍.ºGPRS 建立连接后永远保持连接,无需为每次数据访问再建立呼叫连接,使用户随时与网络保持联系.通俗地说,GPRS 可以做到/通话、上网两不误0.»GPRS 按数据流量计费,GS M 按接通时间计费.GPRS 支持用户在进行数据传输的同时进行语音通话.2 G S M 、GPRS 实验电路[2-3]GS M 、GPRS 模块的接线图如图1所示,实验电路由GS M 、GPRS 模块U2和右边的SI M 卡两部份电路组合而成.设计要点如下:44 广州航海高等专科学校学报第16卷图1 GS M 、G PR S 实验电路图1)GS M 、GPRS 模块U2的选型要点:主要考虑的模块的典型性、可靠性、兼容性、节电性和降低成本等因素.为此,选用国产的H ua W e iGTM 900模块.除此之外,还可以采用SI M E M S 公司的TC35、M C35等模块,以提高实验板的适应性和实用性.2)GS M 、GPRS 模块的外围电路设计要点:¹模块的电源应具有不小于1.5A 的供电能力.虽然模块正常工作电流为50mA 左右(3.9V),但模块建立连接时需要不小于1.5A 的瞬间电流.为此,电源供给电路必须有大容量的滤波电解电容.根据经验,该电容不能小于2000L F .º多数应用场合中,模块的串口只有RXD 、TXD 引脚有用,其它引脚一般不用.不用的串口引脚可以悬空处理,但RTS 、DTR 引脚不能悬空,必需用电阻R7、R8接地,如图2所示.»模块的启动信号I G T.GS M 、GPRS 模块的充电过程要求I GT 引脚提供一个正脉冲的启动信号,该信号由单片机的I/O 线提供.为便于实验,设计了图2所示的启动电路,实现/向模块通电即可启动0.实践证明这是行之有效的.图2 SI M 卡的结构及引脚定义图3)SI M 接口电路,S I M 卡是GSM 、GPRS 通信系统中的/用户识别模块0,用于识别用户、存储各种数据以及计费.实质上,SI M 卡是一个微型的单片机控制的I C 卡,由CPU 、随机存储器RAM 、程序存储器ROM 、数据存储器EEPROM 和串行通信口等组成,工作电压为2.8V.图2是SI M 卡的结构和引脚定义图.其中,引脚1和4为单片机的电源供给,引脚2为复位信号,引脚3为时钟脉冲,引脚5为编程电压,引脚6为输入/输出线,引脚7和8通常不用(可用于SI M 卡是否接入的识别信号).SI M 卡上的各个触点与GSM 、GPRS 模块本身的SI M 接口线连接(见图1).图中,C13、C14、C15、C16为滤波电容.4)辅助电路,图1中LED2是GS M 模块是否已经建立连接的指示灯,由模块引脚SYNC 提供的脉冲信号通过Q 1(NP N )点亮,R9可以调节LED2的亮度.LED2的电源电压VDD 为2.8V.必需说明,如果不安装该部分电路,不会影响GS M 、GPRS 模块U2的正常工作.3 G S M 语音通话实验的电路图GS M 语音通话实验的电路图如图3所示,任务是把GSM 模块天线上接收到的语音信号转变为可第2期柳青等:单片机实验系统中GS M、G PR S实验模块的设计与应用45以用耳机接听的音频信号.图中,J5选用一个标准的电话手柄插座,以便把普通电话机手柄直接插入J5中进行语音通话.电话机手柄M I C中的偏置电压由+5V电源通过电阻R22、R25、R23、R24提供, L2、L3是语音接听电路中的滤波电感.4与微机超级终端连接的电平转换电路图4所示电平转换电路图是GS M、GPRS模块实验必不可少的.其中,U3(MAX202)为电平换器蕊片,任务是把实验板上GS M模块的TTL电平转变为微机串口所需的RS232电平.U3的第10、9脚分别与GS M模块的RXD、TXD连接(TTL电平),U2的第14、8脚为RS232电平,分别与微机串口COM1中的TXD、RXD连接;J3为微机串口COM2,用于/网络串口实验0.46广州航海高等专科学校学报第16卷5实验电路的应用以上实验电路可进行GS M模块实验与GPRS 模块实验.5.1GS M实验要点GS M模块实验主要包括两部份:语音通信实验和收发短信SM S实验.1)GS M模块的上电过程:为便于观察,使用带电流表的12V稳压电源.GS M模块刚刚上电时,由于模块要/拔号上GS M网络0,拔号上网过程的瞬间电流很大(约1.5A),维持时间很短(约200m s),称为/瞬间脉冲电流0.上网建立连接后,GS M模块的维持工作电流约50mA左右.GS M模块的上电过程可以从电流表的电流变化中得到证实.2)检查GS M模块正常工作的基本参数:检查GS M模块的供电电压是否+3.9V,检查S I M卡第二脚的工作电压是否+2.8V.3)检查GS M模块是否与微机超级终端建立了连接.主要检查GS M模块与微机超级终端的电平转换电路(图4)是否正常工作.方法:在微机键盘上键入AT并按回车键,如果在显示器上可以看到AT和OK,表示GS M模块与微机超级终端的连接正常,这是进行实验的重要保证.所有GS M模块都通过模块上的串口引脚RXD、TXD进行工作,且所有GS M模块都用AT命令进行控制,不同品牌和型号的GS M模块,其GS M 通信的AT命令基本相同,不同部分只是涉及有关GPRS通信的AT命令.4)语音通信实验方法:从微机键盘键入语音通信的AT命令/ATDxxxxxxxxxxx;0,按回车键.其中, /xxxxxxxxxxx0为对方的十一位手机号,/;0为手机号的结束符.5)短信通信的实验方法:从微机键盘键入发送短信的AT命令/AT+C MGS=-xxxxxxxxxxx.0,按回车键.其中,/xxxxxxxxxxx0为对方的十一位手机号.接收短信的方法:从微机键盘键入接收短信的AT命令/AT+C MGR=10,按回车键.其中,/10为短信索引号.5.2GPRS通信实验的有关AT命令(适用于H ua W ei GT M900模块)a t+cgdcont=1,/ip0,/c m net0<CR>a%t etcp i p<CR>a%t i o m ode=0<CR>a%t ioopen=/udp0,/xxx.xx.xx.xx0,9999<CR >(xxx.xx.xx.xx为I P地址)a%t i p send=/<aaaa>0<CR>a%t i p close=1<CR>说明:GPRS通信实验需要建立TCP/I P连接.参考文献:[1]魏红.移动通信技术[M].北京:人民邮电出版社,2005:30-150.[2]文志成.GP RS网络技术[M].北京:电子工业出版社,2005:1-30.[3]钟章队.GPRS通用分组无线业务[M].北京:人民邮电出版社,2001:1-20.DESI GN AND APPLICATI ON OF EXPER IM ENTAL MODULE OF GS M AND GPR S IN ONE-CH IP COM PUTER TEST S YSTE MLIU Q i n g1,DA I L-i kun2(1.D epart m ent o f Co m puter Sc ience and Infor m a ti o n Techno l o gy,GuangzhouM ariti m e Co llege,Guangzhou Guangdong510725,Ch i n a;2.D epart m en t o f Infor m ati o n and Eng i n eering,JiangsuM ariti m e Instit u te,Nan ji n g Jiangsu211170,Ch i n a)Abst ract:Taking the app li c ation o f experi m entalm odu le of GS M and GPRS i n One-ch i p Co m puter test syste m for exa m ple,a so lution of apply i n g One-chip Co m puter to i n struction experi m ent ofm ob ile co mmunicati o n is intr oduced hereby.K ey w ords:w ireless co mmunication;One-chip Co m puter test syste m;GSM;GPRS。
基于单片机的多串口实现方案

基于单片机的多串口实现方案摘要:针对pc和cpu通常只有一个串行接口的问题,本文介绍了基于单片机的多串口实现方案,该方案能扩展出5个不同电平标准的通用串口,并且选用了一种应用到实践当中,试验证明,设计可靠,性能稳定,解决了单片机单个串口的局限性。
关键词:单片机串行接口多串口串口通信协议中图分类号:tp334.7 文献标识码:a 文章编号:1007-9416(2012)01-0082-031、总述随着控制技术的发展,控制系统的数字化在生产过程中的应用越来越普遍。
作为控制核心的cpu需要和多个检测及控制的相关设备进行通信。
这就给控制系统带来一个问题,一般的cpu都是只有1个串口(单片机最多的有4个),如果外界串行口设备过多,设计上就会出现许多困难。
笔者因此论述了几个多串口实现方案,并采用其中一种实现了5个全双工串口,并且可以兼容多种串行通信电平标准(rs232/rs485/rs422)。
2、几种多串口扩展实现方式扩展串口的方法归纳起来主要分为两类:一是软件实现方式,二是硬件实现方式。
2.1 软件实现方式软件实现方式一般有两种,一种是读写i/o,另外一种是读写端口。
软件模拟法可根据串行通讯的传送格式,利用定时器和主机的i/o口来模拟串行通讯的时序,以达到扩展串口的目的。
接收过程中需要检测起始位,这可以使用查询方式,或者,在端口具有中断功能的主机中也可以使用端口的中断进行处理。
接收和发送过程中,对定时的处理既可以使用查询方式也可以使用定时器中断方式。
如今软件模拟以其价格低廉,使用方便,已经成为一种潮流。
但同时也存在着通讯波特率低(一般不能超过4800bps),可靠性差(尤其是对于实时性要求很高的情形下)等缺点,并且不是所有的单片机都支持串口软件扩展。
2.2 硬件实现方式硬件扩展方法主要是通过增加一个器件来实现,具体实现方法有2种:其一是采用串口扩展芯片实现,就是一个主串口带多个从串口,如gm8125(每个串口波特率必须是一致的)、视普科技的sp3539(各个串口可以设置为不同的波特率)等;其二是分时复用将一个串口分时切换成多个串口使用,就是把并行数据转换成串行数据,器件有ti等的tl16c754等,该器件可与mcu的p0口和p2口及4个中断对接,经过扩展后,系统对外接口可增加4个,且均可设置为全功能的串行接口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于GPRS和单片机的串口通讯设计马保国1 ,贾寅波2 ,乔玲玲31.武汉理工大学材料科学与工程学院,武汉 (430070)2.武汉理工大学计算机科学与技术学院,武汉 (430070)3.武汉理工大学计算机科学与技术学院,武汉 (430070)摘要: 提出了一种从PLC中实时读取数据, 传送给上位计算机,实现无线通讯的墙体外表面数据采集系统的设计。
设计中从实际情况出发,选用了工作稳定可靠的无线通讯芯片和先进的温/湿度传感器, 工作子站选用MSP430F149作为处理芯片,采用SHTlX系列中的SHT10传感器用于现场的实时温/湿度数据采集。
并将所采集的数据发送给GPRS(通用分组无线业务)无线传输模块,GPRS传输模块再将数据以无线方式发送到数据采集服务器。
上位机监控程序采用java程序进行编写,调用功能强大的串口通讯API-javacomm20-win32。
关键词: 数据采集; 无线通讯; 上位机; 通用分组无线业务;Based On The Serial Port CommunicationDesign of GPRS & SCMMA Bao Guo1, JIA Yin Bo2 ,QIAO Ling Ling31.School of Materials Science and Engineering, Wuhan Univertsity of Technology, Wuhan(430070), China2.Dept.of Computer, Wuhan Univertsity of Technology, Wuhan (430070), China3.Dept. of Computer, Wuhan Univertsity of Technology, Wuhan (430070), ChinaAbstract:This paper proposed one kind of wall outside surface data acquisition system's design which is from PLC real-time read data andtransmits for the superior computer, realizing the wireless communication .The design embarks from the actual situation, selecting the wireless communication chip of stability andreliability and the advanced temperature or humidity sensor.The sub-station is select ed for MSP430F149 to take the processing chip, and used the SHT10 of SHT1X series to acquire the real-time temperature/humidity data and send the data to the GPRS wireless transmission module, and then it transmits again the data by the wireless way to the data acquisition server. The monitor routine of superior machine uses the java procedure to be compiled,by transferring formidable serial port communication API fuction— javacomm20-win32.Key word:collecting data; wireless communication; superior machine;GPRS;1. 引言 (3)2. 数据采集系统 (3)2.1 模拟量采集模块 (3)2.2 GPRS无线通讯模块 (4)2.3 电源供电 (5)2.4 复位电路 (5)3. PC机程序设计 (5)4. 实验总结: (7)1. 引言随着计算机网络技术、数据库技术、现代通信技术,尤其是无线通信技术的高速发展,信息采集系统与计算机网和通信网的结合正成为趋势. 传统的通信技术是通过数据线和PC 机串口直接相连,这样就存在布线困难和其他不方便的因素。
而且传统的RS232串口通讯存在传输速度低、接口连接复杂、数据丢失等不足。
在此数据采集系统中,嵌入先进GPRS 无线通信模块构成自动数据、快速有效传输体系。
它实现了基于GPRS无线通信技术和Internet的远程数据采集、无线数据传输和控制等功能。
这不但降低了数据采集的成本,而且保证数据的准确性,更为后期的数据处理带来方便[3]。
2. 数据采集系统整个采集系统由传感器模拟量采集模块、GPRS无线通信模块和电源供电及复位模块组成。
传感器模块主要采集模拟量,由于接的是标准的传感器,传感器送过来的是标准电流信号,因此模拟量采集部分具有一定的通用性,只要接不同的传感器,就可以采集不同信号源的数据。
GPRS无线通信模块主要是把SHT10传感器采集的数据转发到Internet。
电源及复位模块主要是为整个系统提供可靠的电源,另外考虑到系统工作需要有复位功能,因此提供复位信号。
2.1 模拟量采集模块模拟量采集模块于SHT10传感器相连,由于从SHT10传感器送来的是标准信号(即4mA~20mA),所以需要A/D转换,把电流信号转换为电压信号。
模拟量采集电路通过一个高精度电阻将电流转换成电压信号,这样可以提高采集的精度。
电路中采用二极管作为ESD保护电路,考虑到干扰问题,采用电容进行滤波处理。
模拟量采集模块的流程如图2-1:定时器A中断到来停止A/D转换读取数据启动A/D转换设置标志图2-1模拟量采集流程图该模块主要涉及到A/D转换和定时器A的操作:采集8通道模拟数据,并通过定时器A来控制采集的频率,另外也设置一个标志来通知主程序已经获得新的数据,通过全局变量来实现与主处理程序实现数据的交互。
这部分采用中断来实现,在定时器A里先停止A/D 转换,读取数据后再启动A/D转换,然后再等待下一次中断的到来[1]。
A/D转换的初始化程序如下:V oid Init_ADC(viod){P6SEL=0XFF; //设置P6.0为模拟输入通道ADC12CTL0 &=~(ENC); //设置ENC为0,从而修改ADC12寄存器的值ADC12CTL1 |=CSTARTADD_0; //转换的起始地址为:ADCMEM0ADC12MCTL0 =INCH_0; //设置参考电压分别为A VSS和A VCC,输入通道为A0 ADC12MCTL1 =INCH_1; //设置参考电压分别为A VSS和A VCC,输入通道为A1 ADC12MCTL2 =INCH_2; //设置参考电压分别为A VSS和A VCC,输入通道为A2 ADC12MCTL3 =INCH_3; //设置参考电压分别为A VSS和A VCC,输入通道为A3 ADC12MCTL4 =INCH_4; //设置参考电压分别为A VSS和A VCC,输入通道为A4 ADC12MCTL5 =INCH_5; //设置参考电压分别为A VSS和A VCC,输入通道为A5 ADC12MCTL6 =INCH_6; //设置参考电压分别为A VSS和A VCC,输入通道为A6 ADC12MCTL7 =INCH_7+EOS;//设置参考电压分别为A VSS和A VCC,输入通道为A7 ADC12CTL0 |=ADC12ON;ADC12CTL0 |=MSC; //上升沿触发ADC12CTL1 |=CONSEQ_1; //转换模式为:多通道、单次转换ADC12CTL1 |=ADC12SSEL_1; //SMCLKADC12CTL1 |=ADC12DIV_0; //时钟分频为1ADC12CTL1 |=(SHP); //采样脉冲由采用定时器产生ADC12CTL0 |=ENC; //使能ADC转换Return;}2.2 GPRS无线通讯模块单片机通过串口和GPRS模块交换数据,所以首先要编写串口驱动程序,包括串口初始化(Init_Comm)、写串口数据(PrintChar)等函数。
读串口数据是通过中断来完成的。
串口初始化的代码如下:void Init_Comm(void){TMOD=TMOD&0x0F;TMOD=TMOD|0x20;//定时器1采用方式2,用于产生串口1的波特率TL1=0xFD,TH1=0xFD;//32MHz-57600bpsWDCON=0x80;//SMOD1=1SCON1=0x50;//串口1采用方式1TR1=1;//启动定时器 1}[2]在这些串口函数的基础上编写GPRS模块的驱动函数。
单片机通过A T命令进行拨号后,GPRS模块就转入在线模式,此时通过PPP协议取得一个IP地址,就可以连接到互联网了。
其流程如图2-2:数据采集终端GPRS传输Internet监控服务器图2-2数据传输流程图2.3 电源供电整个系统采用3.3V供电,考虑到硬件系统对电源要求具有稳压功能和纹波小、低功耗等特点,因此采用TI公司的TPS76033芯片实现。
该芯片具有个很小的封装,因此能有效节约PCB板的面积[1]。
2.4 复位电路该系统采用MAX809芯片来实现复位电路。
用复位芯片复位代替R-C复位电路,保证了复位电路的可靠性。
3. PC机程序设计本实验室承接的项目是墙体外表面保温材料监测及评估系统。
需求:针对全国不同地区(南北方不同气候)的墙体外表面保温材料在四季气候影响下是否符合标准及人体舒适度问题解决方案:在墙体外表面安装恒温箱、热流计和传感器等设备,捕获数据后,经过MSP430F149芯片处理转发后,由编写的上位机java程序获得数据,并存入数据库。
再从数据库中调出数据处理,进行相关验证及评价。
实验通过加载串口通讯java API--javacomm20-win32包编写上位机程序,在此仅以COM1口数据捕获部分代码为例。
(只略写出主要部分,省略了异常捕获的代码):串口定义部分:/* 检测系统中可用的通讯端口类 */static CommPortIdentifier portId;static Enumeration portList;InputStream inputStream;/* 声明RS-232串行端口的成员变量*/SerialPort serialPort;/* 线程*/Thread readThread;数据捕获部分:通过按钮的点击事件打开串口之后,由串口数据触发数据捕获程序:/* 点击按扭所触发的事件:打开串口,并监听串口. */public void actionPerformed(ActionEvent event){if(event.getSource()==btnOpen){/* 获取系统中所有的通讯端口*/portList = CommPortIdentifier.getPortIdentifiers();/* 用循环结构找出串口*/while (portList.hasMoreElements()){/* 强制转换为通讯端口类型*/portId = (CommPortIdentifier) portList.nextElement();if(portId.getPortType()==CommPortIdentifier.PORT_SERIAL){if (portId.getName().equals("COM1")){……/* 设置串口监听器*/try{serialPort.addEventListener(this);}……/* 侦听到串口有数据,触发串口事件*/serialPort.notifyOnDataA vailable(true);} // if end} // if end} // while endreadThread = new Thread(this);readThread.start(); // 线程负责每接收一次数据休眠20秒钟}}// actionPerformed() end/* 串口监听器触发的事件,设置串口通讯参数,读取数据并写到文本区中*/ public void serialEvent(SerialPortEvent event){/* 设置串口通讯参数:波特率、数据位、停止位、奇偶校验*/try{serialPort.setSerialPortParams(9600, SerialPort.DA TABITS_8,SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);}……byte[] readBuffer = new byte[20];try{inputStream = serialPort.getInputStream();}……try{/* 从线路上读取数据流*/while (inputStream.available()>0){int numBytes = inputStream.read(readBuffer);} //while endstr = new String(readBuffer);/*接收到的数据存放到文本区中*/in_message.append(str + "\n");in_message.setLineWrap(true);//激活自动换行功能in_message.setWrapStyleWord(true);//激活断行不断字功能}……} //serialEvent() end4. 实验总结:该系统采用MSP430F149芯片、温/湿度传感器实现的数据采集系统具有一定的通用性,它通过片内的A/D转换通道与外部的采集传感器进行连接,由于外部与传感器进行连接,获得是标准的电流信号,这样使采集系统具有很大的通用性,只要接不同的传感器就可以采集不同数据源的数据,做到系统与数据源的无关性[1]。