为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于嵌入式Linux的短信收发系统设计

2012-05-13 3页 pdf 323KB 34阅读

用户头像

is_308454

暂无简介

举报
基于嵌入式Linux的短信收发系统设计 技 术 创 新 中文核心期刊 《微计算机信息》(嵌入式与 SOC)2007年第 23卷第 12-2期 360元/年 邮局订阅号:82-946 《现场总线技术应用 200例》 嵌入式软件应用 基于嵌入式Linux的短信收发系统设计 DesignofSMSReceivedandDispatchedSystemBasedonEmbeddedLinux (上海应用技术学院)沙 泉 SHAQUAN 摘要:移动通信中的短消息业务以其方便、可靠和价廉得到了广泛应用,本文在嵌入式 Linux系统中,通过西门子 MC35模 块...
基于嵌入式Linux的短信收发系统设计
技 术 创 新 中文核心期刊 《微计算机信息》(嵌入式与 SOC)2007年第 23卷第 12-2期 360元/年 邮局订阅号:82-946 《现场总线技术应用 200例》 嵌入式软件应用 基于嵌入式Linux的短信收发系统设计 DesignofSMSReceivedandDispatchedSystemBasedonEmbeddedLinux (上海应用技术学院)沙 泉 SHAQUAN 摘要:移动通信中的短消息业务以其方便、可靠和价廉得到了广泛应用,本文在嵌入式 Linux系统中,通过西门子 MC35模 块,实现了短信收发系统,该系统采用 PDU短信模式,能支持中文短信。程序设计采用异步事件驱动方式,提高了系统的运 行效率。嵌入式系统体积小巧,Linux资源开放,因此该系统经过二次开发,可方便地用于各种移动数据采集系统中。 关键词:嵌入式Linux;短信;PDU模式 中图分类号:TP391 文献标识码:A Abstract:TheapplicationofSMSispopularlyusedforitsconvenience,highreliabilityandlowcostinmobilecommunication. The SMSreceivedanddispatchedsystemisdesignedinthispaper,whichconsistsofembeddedLinuxsystemandSiemensGSMmodule MC35.ThePDUmodelisusedinthissystemtosupportChineseshortmessage.Theasynchronouseventdrivensoftwaremodelcan improvetheefficiency.Thissystemcanbeusedconvenientlyindataacquisitionfieldaftereasydevelopmentforthesmallvolumeof theembeddedsystemandfreeresourcesofLinux. Keywords:embeddedLinux,shortmessage,PDUmodel 文章编号:1008-0570(2007)12-2-0090-03 1引言 全球移动通信系统 GSM是我国范围最广、通信能力最强 的移动通信业务,而其中的短消息功能由于其使用方便、价格 低廉、可靠性高而得到广泛应用。嵌入式 Linux也是目前得到 广泛应用的技术,功能强大和资源丰富是其最大的优势。本文 在嵌入式 Linux系统中利用 GSM模块实现短信的收发,对不 方便架设通信线的偏远地区,提供了数据采集的新手段。同时 嵌入式系统体积小巧,Linux操作系统资源开放,所以本系统经 过二次开发,可方便地构成移动数据采集系统,用于远程数据 采集、监控。 2短信收发原理 短信服务业务 SMS(ShortMessageService)是 GSM系统提供 给用户的一种数字业务。它与话音传输及传真一样同为 GSM 数字蜂窝移动通信网络提供的主要电信业务。涉及SMS管理的 协议如图1所示。 图1SMS管理的协议 图中 SME为短信实体, SMSC为短信服务中心,SMCG- WMS为 SMS网关,HLR是归属位置寄存器,用于永久储存管理 用户和服务的数据库,MSC为移动交换中心,VLR为访问 位置寄存器,含有用户临时信息的数据库,交换中心服务访问 用户时需要这些信息。 短消息模块的接入方式支持两种模式:基于 AT指令的 TEXT模式和基于 AT指令的 PDU模式,它指的是短信息数据 的编码,文本模式只支持 7-bit编码,只能发送纯英文和数 字信息,而 PDU模式支持 7-bit编码、8-bit编码和 UCS-2编 码,其中后者可进行 Unicode编码,如中文,所以本系统采用 PDU模式。 GSM模块采用标准 AT指令集通信,其中本系统用到的 AT 指令如表1所示。 表1相关 AT指令 3GSM短信数据格式分析 3.1发送短信PDU字符串 由于短信模式选择的是 PDU格式,因此对 PDU的编码和 转码就变得很重要。中文短信息的实现需要将 GB2312的中文 编码转换为代码页为 CP936的 Unicode编码,PDU发送字符串 数据格式中主要由短信中心地址、文件头字节、信息类型、目的 地址、协议标识、数据编码方案、有效期、用户数据长度和用户 数据组成。例如:设置 PDU格式的编码为 08916831082001 05F011000D91683121436587F9000800044F6059沙 泉:讲师 硕士研究生 90- - 邮局订阅号:82-946360元/年 技 术 创 新 嵌入式软件应用 《PLC技术应用 200例》 您的得到两院院士关注 7DH,这组代码的含义如下所示: 08H:短信服务中心地址信息的长度,共 8个八位字节(包 括 91); 91H:短信服务中心地址格式,用国际格式号码,在前面加‘+’; 683108200105F0H:短信服务中心地址,86138002 10500,补‘F’凑成偶数个; 11H:基本参数,协议数据单元类型,表示发送,TP-VP用相 对格式; 00H:信息参考,00H表示参考本身号码 ; 0DH:对方手机号数字个数,共 13个十进制数 ; 91H:对方手机号,用国际格式号码,在前面加‘+’; 683121436587F9H:对方手机号 (TP-DA),86131234 56789,补‘F’凑成偶数个; 00H:协议标识(TP-PID),是普通GSM类型,点到点方式; 08H:用户信息编码方式(TP-DCS),主要用其 1个字节的第 2和第 3位表示编码方式,08H表示为 UCS-2编码,最多发 140 个字符;04H为 8-bit编码,最多发 140个字符;00H为 7-bit编 码,最多发160个字符; 00H:有效期(TP-VP),5分钟; 04H:短信长度(TP-UDL),实际长度4个字节; 4F60597DH:用户信息(TP-UD),“你好”的 Unicode编码 。 3.2短信接收PDU字符串 接收方 PDU字符串的含义和发送方不同,同样以“你好” 为例,接收方的 PDU字符串为:0891683108200105F024 0D91683167244763F0000870509131212523044F 60597DH,其含义如下: 0891683108200105F0H:短信服务中心,分析同发 送相同; 24H:协议数据单元类型基本参数(TP-MTI/VFP),发送,TP- VP用相对格式; 0DH:对方手机号数字个数; 91H:对方手机号(TON/NPI),用国际格式号码(在前面 加‘+’); 683167244763F0H :对 方 手 机 号 (TP-DA), 8613764274360,补‘F’凑成偶数个; 00H:协议标识(TP-PID),是普通 GSM类型,点到点方式; 08H:用户信息编码方式(TP-DCS),分析同发送方; 705091312125H:短信息发送时间(SCTS),07年 05月 19 日 13时 12分52秒; 23H:发送时间对应的时区; 04H:短信长度(TP-UDL),实际长度4个字节; 4F60597DH:用户信息(TP-UD),“你好”的Unicode编码。 4系统组成 4.1硬件组成 系统由嵌入式 Linux系统和西门子 MC35模块通过串行接 口三线制连接而构成,MC35模块通过串口 1与嵌入式系统相 连,嵌入式系统配置包括 50MHz主频的 MPC86032位处理器, 16MSDRAM内存,2个 RS232,操作系统采用嵌入式 Linuxfor PowerPC。MC35模块由 GSM基带处理器、电源专用集成电路、 射频电路和闪速存储器等部分组成,负责处理 GSM蜂窝设备 中的音频、数据信号,内嵌的软件部分执行应用接口和所有 GSM协议栈的功能。MC35模块支持中文短信,支持 GPRS功 能,便于将来功能的扩展。 4.2libcssl函数库 为了实现短信收发,需要在嵌入式 Linux下通过串口发送 一系列的 AT指令。串行通信是计算机与其它设备通信的常用 方法,在本系统中采用一个基于 Linux的串行通信函数库 libc- ssl,可实现串行接口的异步事件驱动并发。采用该方法,用户只 要在服务器和数据源之间建立异步连接,编写数据处理函数, 而对数据源事件的监测、数据读取、多事件的处理等操作是由 操作系统内部完成的,因而,很大程度上简化了编程者的工作, 同时保证了较高的资源利用率。 libcssl函数库提供给用户多种基于事件驱动方式的串行接 口函数。其主要的函数有 4类,分别进行串口初始化、收发数 据、错误信息和结束串口操作。在使用某个串口之前,应调用初 始化函数,为其设定相应的参数,使得收发双方遵循相同的通 信协议和数据格式,同时通过初始化操作,为串口数据源和采 集服务器之间建立异步连接,分配采集句柄。当数据源通过串 口向嵌入式系统发送数据时,该数据会被送入数据缓冲区,并 通过该数据源的采集句柄访问该串口的事件回调函数,在该函 数中完成数据的处理。这样,当用户使用多个串口时,不需要用 多个线程,只需为每个串口设置独立的回调函数,各回调函数 之间可方便地实现数据交换共享。程序中可通过获取错误信息 得知系统出现的错误状态,而采集程序结束,应关闭串口,释放 系统资源。相关的函数如表2所示。 表2libcssl函数库中的主要函数 4.3软件设计 使用了异步事件驱动函数库,程序设计简单而容易实现, 程序主要由 2部分组成,即主程序设计和回调函数程序设计, 主程序只需做初始化和发送短信,其余功能都放在回调函数 中完成。 在主程序中,各变量赋初值,调用 cssl_open函数打开串 口,设定的参数为采用串口 1,即嵌入式 Linux的 ttyS0设备,波 特率 9600bps,8位数据位,1位停止位,无奇偶校验,无数据流 控制,定义串口接收数据缓冲区有数据输入时,回调函数为 callback函数,该函数对数据缓冲区中的数据进行分析处理。通 过发送 AT+CMGF=0指令定义短信模式为 PDU模式,并判断是 否有短信需要发送。对待发送的短信按照 PDU发送字符串格 式进行编码。 回调函数中首先读取输入缓冲区内容,根据对标志和缓冲 区内容的判断,可以得知回调事件是由哪个事件引起,分别加 91- - 技 术 创 新 中文核心期刊 《微计算机信息》(嵌入式与 SOC)2007年第 23卷第 12-2期 360元/年 邮局订阅号:82-946 《现场总线技术应用 200例》 嵌入式软件应用 以处理,由于每次向GSM模块发送 AT指令后,模块会发送 OK 或 ERROR等响应表示操作成功或失败,所以在回调函数中一 个很重要的功能就是判断 AT指令是否发送成功,为了区分不 同 AT指令的响应,程序中采用状态标志,表征系统发送 AT指 令的类型。在收到新短信后,需要提取短信发送方电话号码、短 信发送时间和短信内容等相关信息,并加以存储,提取的依据 就是短信接收 PDU字符串的编码格式。为了避免由于短信满 而无法接收新短信,需要将处理过的短信删除。相关的图 如图 2和图 3所示。 图2主程序流程图 图3回调函数程序流程图 5结论 本文的创新之处在于提供了嵌入式 Linux下 GSM模块的 短信收发系统设计方法,程序设计中利用串行接口驱动函数库 libcssl,以串口 I/O事件驱动设备的数据采集。短信收发采用 PDU模式,能够处理中文、英文和中英文短信。异步事件驱动的 架构可以提高系统并发处理性能,程序能够执行多个异步操作 而不调用阻塞线程,降低系统开销。嵌入式系统加 GSM模块的 系统组成体积小巧,非常适合于偏远地区或移动的数据采集系 统。根据系统的需要,还可以充分利用 MC35模块的 GPRS功 能,实现高速的数据采集。 参考文献: [1]程全.李向东.基于GSM模块与AT98C51的接口设计及应用 [J]微计算机信息.2006:9-2:293-295 [2]吴琳艳.基于TC35模块和VB的短消息接入收发设计.武汉理 工大学学报.2006.28.11:153-155 作者简介:沙泉(1974—),女(蒙古族),内蒙古通辽人,上海应用 技术学院机电分院讲师,硕士研究生,主要从事过程控制、嵌入 式系统方面的研究。 Biography:ShaQuan(1974—), female(Mongolia), Tongliao Mogolia, prelectorinschoolofmechanicalandautomationof Shanghaiinstituteoftechnology,master’sdegree.Myresearch areaisaboutprocesscontrolandembeddedsystem. (200235上海 上海应用技术学院)沙泉 (ShanghaiInstituteofTechnology)ShaQuan 通讯地址:(201102上海 上海古美路675弄19号1202室)沙泉 (收稿日期:2007.9.11)(修稿日期:2007.11.12) (上接第 111页) temp=0; ad_i=ad_ii;} else { data_cl();//计算一组AD值 ad_end=0; data[temp-1]=adresult.adzhi;//存AD值 }} 5结束语 ATmega128微处理器本身带有多路 10位精度的逐次比较 式 A/D转换器,在该多回路数据采集器系统中可以显著地降低 成本。由于ATmega128的A/D转换器转换速度比较高,可以采 取一些数字滤波算法来得到较为精确和稳定的转换结果。利用 C语言编程,使该多回路数据采集器系统的硬件设计变得简单, AD采集处理编程也容易,大大缩短了开发周期。采集器样机经 厂家与标准 0.2级电流表对照试验,多路电流测量都已超过 0.5 级表的标准;由于它直接对交流信号波形进行采样运算,因此其 精度、响应速度比采用直流采样方法的高,而且系统更新、维护 方便,为今后开发系列化产品打下了良好的基础。 本文作者创新点:ATmega128微处理器内部资源非常丰 富,可以显著地降低仪器成本;芯片内的 A/D转换器转换速度 比较高,大大提高了数据采集处理的速度;经过与标准 0.2级电 流表对照试验,多路电流测量都已超过0.5级表的标准。 参考文献 [1]耿德根、宋建国,AVR高速嵌入式单片机原理及应用[M],北 京:北京航空航天大学出版社,2001. [2]常广、王毅,电力系统在数据采集系统的研制[J],微计算机信 息,2003,(2):31-32. [3]冯健、张化光,高速实时数据采集装置及其测量方法[J],仪器 仪表学报,2005,(8):256-257. 作者简介:顾耀林,男,汉族,硕士生导师,教授,主要从事计算机 图形学、虚拟现实与仿真技术研究;翁丽华,女,1982-,硕士研究 生,汉族,主要从事智能仪表及仿真技术研究;王正山,男,讲师, 汉族,主要从事自动化技术与智能仪表研究。 Biography:GuYaolin,Male,Directorofpostgraduate,Professor, Mainlyforresearchoncomputerfigure, virtualrealityandthe technologyofemulation. (214122江苏无锡 江南大学信息工程学院)顾耀林 翁丽华 王正山 通讯地址:(214122江苏无锡 江苏省无锡市蠡湖大道 1800# 青年教师公寓8(北)—613)翁丽华 (收稿日期:2007.9.23)(修稿日期:2007.11.15) 92- -
/
本文档为【基于嵌入式Linux的短信收发系统设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索