当前位置:首页 > 通信技术 > 通信技术
[导读]GSM模块用于许多基于GSM(全球移动通信系统)技术的通信设备。它用于使用计算机与 GSM 网络进行交互。GSM 模块只理解AT 指令,并能做出相应的响应。

GSM模块用于许多基于GSM(全球移动通信系统)技术的通信设备。它用于使用计算机与 GSM 网络进行交互。GSM 模块只理解AT 指令,并能做出相应的响应。最基本的命令是“AT”,如果 GSM 响应 OK,那么它工作正常,否则它响应“ERROR”。AT 指令有很多种,例如 ATA 接听电话,ATD 拨打电话,AT+CMGR 读取信息,AT+CMGS 发送短信等。AT 指令后面应该有回车,即 \r(十六进制的 0D ),如“AT+CMGS\r”。我们可以使用这些命令来使用 GSM 模块。

GSM 与 8051 接口

我们可以不使用 PC,而是使用单片机与 GSM 模块进行交互,在LCD上显示 GSM 模块的响应。因此,我们将GSM 与 单片机(AT89S52) 连接。

GSM 与 8051 的连接非常简单,我们只需要从单片机发送 AT 命令并接收来自 GSM 的响应并显示在 LCD 上。我们可以使用单片机的串口与 GSM 通信,即使用 PIN 10(RXD)和 11(TXD)。

首先,我们需要将 LCD 连接到单片机,然后我们需要将GSM模块连接单片机。现在我们需要注意一下。首先,您需要检查您的 GSM 模块是否能够在 TTL 逻辑下工作,或者它只能与 RS232 一起工作。基本上,如果您的模块板上有 RX 和 TX(带 GND)引脚,那么它可以在 TTL 逻辑上工作。如果它没有任何RX,TX引脚并且只有一个RS232端口(9针的串行端口),那么您需要使用MAX232 IC将串行端口连接到微控制器。基本上MAX232用于将串行数据转换为 TTL 逻辑,因为微控制器只能在 TTL 逻辑上工作。但如果GSM模块有RX、TX引脚,则不需要使用MAX232或任何串口转换器,可以直接将GSM的RX连接到8051的TX(PIN 11),将GSM的TX连接到8051的RX(PIN 10) 。在我们的例子中,使用了 SIM900A 模块,它有 RX、TX 引脚,所以我没有使用 MAX232。

GSM 与 AT89S52单片机连接的电路图如上图所示。连接后,我们只需要编写程序将 AT 命令发送到 GSM 并在 LCD 上接收其响应。如上所述,AT 命令有很多,但本文的范围只是测试GSM 与 8051 连接,因此我们将发送命令“AT”,后跟“\r”(十六进制的 0D)。这会给我们一个“OK”的响应。但是您可以以此扩展此程序以使用 GSM 的其他功能。

GPRS模块和GSM模块的对比

GPRS模块其实是GSM模块的一种拓展,传输功能及分组数据承载是GPRS模块后续发展出来的。GPRS是通用分组无线业务,GSM是全球移动通讯系统,他们一个是电路交换,一个是分组交换属于两个不一样的系统。

下面我们在具体分析一下GSM模块和GPRS模块的几个不同点

1.计算方式的不同

GSM根据连接时间收费。如果对视频通话和互联网接入没有要求,7。成本比较。就成本而言,GSM模块更合适。

2.传输距离不同。

GPRS模块可以在一个数据包中传输1024字节,也可以传输更多数据。如果有自动分包协议,就传输距离而言,传输数据的大小是不同的。

3.传输模式的不同。

GSM模块传输相当于2G频段,包括主动模式和被动模式。可以看出,GPRS模块的传输速度很快。

4所使用的环境场景不同。

在仪表数据采集等应用环境方面,GPSR模块适用的应用环境是单数据量大、频率高的数据采集环境,GSM模块适用于数据量小、采集间隔大的环境。

5.访问速度不同。

超过十倍的速度一直受到大多数人的青睐。GPRS不仅具有更快的接入速度,而且GSM需要10-30秒。与GSM的9.6kbps接入速度相比,“快”。

GPRS模块与GSM模块的区别。

6.信号的不同。

就网络要求而言,GSM网络信号要求较低,一个网格信号发送信息没有问题。

前面讲解的都是单片机自身的一些功能,并未涉及单片机与其它单片机或者计算机之间通信。那么单片机与其它设备之间又是怎么通信的呢?通常来讲有两种通信方式,即并行通信与串行通信。

两个单片机之间的并口通信,以 8 位为例,直接将单片机 1 的 8 位 I/O 口 P0 与单片机 2 的 P1 相连接,在同步时钟信号的作用进行数据的传输。以单片机 1 向单片机 2 传输数据 0x7B 为例,单片机 1 只需将数据 0x7B 输出到 P0 口上,单片机 2 在同步时钟信号的步调下将 0x7B 直接读取。此时同步时钟信号的周期长短将决定数据传输的速度,周期越短,速度越快。并口通信的最大优点为速度快,一个时钟周期内可以传播一个字节,甚至多个字节,缺点为需要占用大量的 I/O 口资源,对于大多数资源紧张的应用场合来说,这种方法是不可取的,而串行通信有效的解决了资源问题。

STC89C52 系列单片机配置了串行方式通信接口,对应单片机的管脚 P3.0/RxD,串行数据接收引脚、P3.1/TxD,串行数据发送引脚。如上图所示,单片机 1 的串行发送引脚 TxD 与单片机 2 的串行数据接收引脚 RxD 相连接,形成了一条单片机 1 发送、单片机 2 接收的数据通信链路。单片机 2 的 TxD 与单片机 1 的 RxD 连接,形成了一条单片机 2 发送、单片机 1 接收数据的通信链路。单片机 1 的 GND 与单片机 2 的 GND 相连接确保了两个单片机在同一电源基准下工作。接下来讲解单片机串行通信的工作原理。

同样以单片机 1 向单片机 2 发送数据 0x7B 为例,二进制表示为 01111011,单片机依次 01111011 的最低位‘1’到最高位‘0’依次发送出去。发送 1 的时候为将 TxD 拉高’一段时间’,发送 0 的时候为将 TxD 拉低‘一段时间’,即发送数据的时候后,每发送一位都持续‘一段时间’,发送 0x7B 的从低位到高位的顺序为:1->1->0->1->1->1->1->0。“一段时间”的长短决定了单片机的串口传输的速度,时间越短,传输速度越快。那么在同样位传输速率的情况下,并行通信速度为串行通信的 8 倍,显然串行通信以牺牲速度的方式换取了更多的资源,这就是时间换资源的概念。

上面讲解的“一段时间”实际上为单片机串口传输 1 位数据所耗费的时间,在应用中我们常常把 1 秒传输多少位来衡量单片机串口传输速率,这就是波特率的概念。例如通信双方约定波特率为:9600bps,即每秒传输 9600 位(bps:bit per second)。波特率在单片串口通信中为非常重要的参数指标,通信双方只有在约定共同的波特率下才能保证数据的正确传输。

在单片机串口通信中,并没有同步时钟信号来统一数据发送和接收,通过双方约定的波特率来保证数据的通信。以单片机 1 向单片机 2 发送数据为例,假设双方设定的波特率为 9600bps,那么单片机 2 是怎么知道单片机 1 什么时候给它发送数据,又是什么时候结束的呢?

这里我们引入两个重要的概念,起始位和停止位。单片机在没有进行串口通信的情况下,数据发送引脚 TxD 为高电平,当单片机 1 需要发送数据时,首先通过 TXD 发送一位“0”,即把单片机 TxD 从高电平拉低,当单片机 2 检测到数据接收引脚 RxD 的低电平后便开始接收数据了。那么这里单片机 1 发送的第一位“0”称为起止位。紧接着单片机 1 将 8 位数据依次发送出去,当 8 位数据发送完后,单片机发送一位“1”,单片机 2 接收完 8 位数据后,又接收到一位“1”,便知道停止发送数据了,至此便完成了一次数据的传输。这里单片机 1 发送的最后一位“1”称之为停止位。根据上面的步骤,完成一次数据的传输,包括起始位、8 位数据、停止位,总共 10 位数据,如下图所示。这里的 10 位数据称之为一帧数据。

下面讲解一下单片机串口的工作原理。STC89C52系列单片机串口内部模块有两个独立的串行口缓冲寄存器(SBUF),两个寄存器均为8位,一个为发送SBUF,只能往里写数据、另一个为接收SBUF、只能读取数据。当单片机要通过串口往外发送数据时,只需要将待发送的数据写入发送SBUF中,通过TxD引脚将数据发送出去。当一帧数据发送完成后,内部硬件自动置位TI,即TI=1,请求中断处理。前面讲过串口中断是单片机中断源的一种,产生中断后,程序进入串口中断函数。同样,当单片机接收到一帧数据后,内部硬件自动置位RI,即RI=1,请求串口中断处理,进入串口中断函数。读取接收SBUF可获得通过串口接收到的数据。

在单片机内部编程中两个寄存器共用 SBUF 这个名字,那么怎么区分是对发送还是接收 SBUF 进行操作呢?由于这两个寄存器一个只能读、另一个只能写。当程序中往 SBUF 中写入数据时,则代表操作发送 SBUF,当程序中读取 SBUF 的数据时,则代表操作接收 SBUF。

通过上面的介绍,无论是接收到一帧数据,还是发送完一帧数据,程序都会产生串口中断,那么在串口中断程序中是怎么区分来的是接收中断还是发送中断呢?在单片机串口中断程序开始的地方通过查询中断标志位 TI、RI 哪个为 1 来判断串口中断的类型。

声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭