毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

单片机路灯控制系统组群控制件 第9页

更新时间:2010-4-11:  来源:毕业论文
单片机路灯控制系统组群控制件 第9页
3.43   短信数据的处理-ExecData函数
进入时钟中断调用SHELL函数时,如果接收到了返回的参数+CMTI,表明上位机模块向下位机模块发送了短信数据,可能是命令帧,也可能是确认帧或者非确认帧。在这种情况下,SHELL函数需要对短信内容进行分析,并根据短信的内容进行不同的处理,负责完成以上功能的就是ExecData函数,它是被SHELL函数调用的,用来分析并处理短信数据。
ExecData函数首先判断接收到的短信数据是否为有效帧,这里的有效帧仅仅指帧的格式是正确的,并不表明帧的内容也是正确的。判断的依据是判断帧头是否为规定的字符“WQ”。在有效帧的前提下,ExecData函数将根据帧的性质进行不同的处理。按照帧的性质来划分,有效帧分为信息帧和应答帧,这在3.2节有详细的介绍。因为接收的是上位机发送的短信数据,所以这里的有效帧只包括命令帧和应答帧。
第一种情况,如果接收到的有效帧的帧号为00H,则表明该帧为命令帧。ExecData函数的处理方式是,首先判断I2C总线是否被占用,如果没有被占用就抢占,如果I2C总线忙则丢弃该帧。抢占总线后需要判断命令帧的校验子是否正确,如果正确表明该帧数据无误,接着将数据写入E2PROM的指定区域,该指定区域位于E2PROM前两个数据块的119~134字节处,如表6所示,并修改相应的标志位f_ack,准备向上位机模块发送确认帧;如果校验子不正确,则表明该命令帧错误,ExecData函数将丢弃该命令帧,并置位f_nack,期待对方重发。
第二种情况,如果接收到的有效帧的帧号不是00H,则表明该帧一定是应答帧。ExecData函数首先判断帧号是否正确,从而确定该帧是否是本方期待的应答帧。如果帧号不正确,ExecData函数会丢弃该帧,表明此帧并非本方所发送数据帧相应的应答帧。帧号正确的应答帧,既可能是确认帧,也可能是非确认帧。如果收到的是确认帧,表明对方已经正确接收到了本方发送的数据帧,ExecData函数将会改变相应的标志位,并清除E2PROM中的块标记。接下来遍历E2PROM,看是否还有数据块需要发送。如果有,标志位f_sending被置位为1,反之,将会清除E2PROM中的发送标记,即将首字节清成00H,如表6所示;如果收到的是非确认帧,表明对方接收到了本方发送的数据帧,但是数据帧是无效的。这种情况ExecData函数处理起来比较简单,仅仅将标志位f_sending置为1即可,表明该数据帧需要重发。
通过以上的分析,我们不难发现,整个程序错综复杂,函数之间相互牵扯。标志位在程序的实现过程中扮演着非常重要的角色,正是依靠这些标志位,程序才能很好地实现各个功能之间的切换,而标志位的值是通过GSM模块返回的参数修改的。因此程序的实现过程应该是:阅读参数->修改标志位->发送指令。
主函数、时钟中断和串口中断程序、SHELL函数、ExecData函数是贯穿整个程序的主线和核心部分,对它们的分析可以理解程序的主体思想,这也正是笔者着重介绍的原因所在。然而这些函数和中断程序的实现,还需要依靠其它函数的配合,比如基于I2C总线的E2PROM操作函数、字符串操作函数、以及串口发送函数等,由于篇幅所限,在此不再介绍。GSM网络本身是不完全可靠的,可能会发生帧发送错误、帧丢失的现象,但是由于重发、延时重发机制的存在,程序可以最大程度避免上述情况的发生。在实际应用过程中,模块运行正常,性能稳定,实时性好。
 4.3电力载波通信模块
电力载波通信模块框图如图3所示。设计中采用AT89S52作为微控制器,电力线载波调制解调器采用专用芯片ST7536。AT89S52和ST7536之间采用通用串行通信接口,用I2C总线和串行EEPROM通信,EEPROM采用铁电的24C02,此芯片具有无限次可擦写功能。通过电力载波实现整个网络的通信,通过两总线实现模块与其它设备的通信。这样,通模块就可以通过软件及通信协议实现对多个实际设备通信与控制。所有的数据帧均采用CRC校验。AT89S52和ST7536均采用外部硬件上电复位,同时使用AT89S52的内部看门狗功能,对AT89S52和ST7536进行必要的复位,以防止系统死机造成网络通信中断。多路选择开关采用CD4052,通过其进行电力载波和两总线的选择,以实现电力载波通信和两总线通信的分时控制。
 >图3  通用通信模块框图 >图4  电力线接口图
通信模块电力线接口电路设计
国外很早对电力线载波通讯技术进行了研究,多家公司推出了自己的电力线载波modem芯片,并制定了电力线载波适用频率范围的标准。目前有针对北美地区电网(480Y/277V,208Y/120Vac)的标准频率范围100KHz-450KHz和针对欧洲地区电网(400Y/230Vac)的标准频率范围9KHz-150KHz。各家公司在标准频率范围下,针对本地区电网特点,采用各种特定专有技术,设计出各己的电力线载波modem芯片。由于国外电力线载波modem芯片是针对本地区电网特性、电网结构,且一般是针对家庭内部自动化而设计,在国内使用都难尽人意。目前,有一、两款电力线载波modem芯片在一定应用领域可勉强使用。本系统采用ST7536作为电力载波通信的调制解调器。
ST7536是STMicroelectronics公司专为电力线载波通讯而设计的modem芯片。它除有一般modem芯片的信号调制解调功能外,还针对电力线应用加入了许多特别的信号处理手段。目前,在国内电力线载波通信领域应用广泛,只是各公司应用水平不同。ST7536调制解调技术是较落后的FSK方式,它最高波特率只能达到1200 bps。另外它无CSMA(网络载波侦听)功能,这些限制了它的应用。目前,根据国内电网的实际情况,在电力线载波通信领域,ST7536是较适合的modem芯片。
从ST7536输出的信号幅度小、驱动能力弱而且还有各种谐波,因此必须经过放大和滤波,然后才能通过耦合电路将信号调制到电力线上。耦合电路将高压和低压隔离,以防止高压击穿通信电路。同样,从电力线来的载波信号又要由ST7536接收,

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

单片机路灯控制系统组群控制件 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。