当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于VxWorks实现自动发送彩信嵌入式设计

   在ARM微处理器硬件平台上,应用WindRiver公司的Tornado集成开发环境,实现基于VxWorks的自动发送彩信的嵌入式应用系统。该系统使用现有CDMA网络,根据设定的参数发送彩信到特定的移动终端用户。

   随着嵌入式应用的发展和16/32位RISC处理器技术的成熟,以及支持各种高端处理器的嵌入式操作系统的涌现和完善,嵌入式无线设备可以利用CDMA网络实现许多新的应用。自动发送彩信的嵌入式系统就是这种新应用之一,在特定的条件下,系统自动发送彩信到指定的移动通信终端;该应用系统是由用户根据要求设定触发条件的自动发送彩信系统,当满足触发条件时,设备会自动控制捕获、压缩图像部件拍摄外部图像,经过模数转换、数字压缩等处理后,经处理器做MMS(Multimedia Message Service,多媒体短信服务)协议封装,封装后的数据经由手机模块发送到移动交换网络,最终转发到移动通信终端用户。

系统整体设计
  ● 系统主处理器

   系统选用Samsung公司的16/32位基于ARM7TDMI的微处理器,其最高主频可以达到130MIPS,同时支持16位的Thumb指令集,使用Thumb指令集可以以16位的系统开销得到32位的系统性能。
  ● 系统原理框图

  系统从逻辑上分成三部分:图像捕获和图像压缩模块用于捕获和压缩图像;MMS协议处理和主控制器模块处理图像数据和任务控制;手机模块可发送彩信和接收短消息。系统原理如图1所示。

图1 系统原理框图

  ● 系统工作原理步骤

  (1)系统上电启动后,手机模块读取UIM信息发送无线信号寻找CDMA网络,进行用户号码账户和身份验证后连接到网络;然后系统发起任务读取手机模块中的信息,确定是否有网络连接,若有网络连接则系统发起任务,等待满足触发自动发送彩信的条件。

  (2)设备软件可以接受SMS(Short Message Service,短信服务)信息,并对之进行解析,根据解析的结果进行动作。当接收到用户的触发后,系统发起任务控制串口UART对图像捕获、压缩模块进行命令控制和拍照;拍照后发起任务对串口进行读取,接收图像捕获、压缩模块回传的图像数据。

  (3)当接收到回传的图像数据后系统发起任务对图像数据进行MMS封装,封装格式完全符合MMS CLIENT端协议。

  (4)系统发起任务使用WAP协议与WAP信息网关建立连接,建立连接后由系统把封装的图像数据通过标准串口UART传送给手机模块,最后系统发起任务使用AT指令控制手机模块把彩色图片发送到移动交换网络,最终转发到设定的目标移动通信终端用户,从而完成了自动发送彩信的功能。

  ● 系统硬件设计
系统硬件设计技术要点包括以下部分。
  (1)图像压缩处理模块完成对数字图像信息的压缩,部分电路如图2所示。SDRAM用来缓存图像数据,FLASH用来存储压缩处理器执行程序映像。此外,图像压缩处理器模块提供一个UART接口,以便将压缩的图像文件传输到主控处理器模块。

图2 图像压缩处理电路

图3 系统串口连接电路

  (2)系统串口连接电路的部分电路如图3所示。ARM7处理器提供标准的UART接口连接手机模块,另外提供一个串行接口,与图像压缩处理器模块串行接口相连。

  系统软件设计
  ● 操作系统和开发环境
  VxWorks是目前世界上用户数量最大的实时操作系统,具有丰富的应用软件支持、良好的技术服务、可伸缩性(VxWorks提供了超过1800个应用编程接口供用户自行选择使用)、可裁减性(指用户可以根据自己的应用需求对VxWorks进行配置,产生具有各种不同功能的操作系统映像)和可靠的系统稳定性。本系统主要采用其实时性、多任务、基于优先级的抢占式调度、同优先级轮转调度和任务间的通信与同步机制、任务与中断之间的通信机制。

  VxWorks的开发环境是WindRiver(风河)公司提供的Tornado。Tornado采用主机-目标机开发方式,主机系统采用运行Windows2000/NT的工作站或PC,VxWorks则运行在ARM等目标处理器上。Tornado采用的主机-目标机连接方式为以太网、串行线等,主机与目标机之间的通信是通过运行各自处理器上的代理进程来完成的,使主机上的开发工具和目标机的操作系统可以完全脱离相互连接的方式。Tornado提供了友好的可视化开发界面、交叉编译环境、源码级调试工具、目标机命令解释器和目标机状态监视器等多种应用工具,为应用软件开发提供了一个高效而可靠的平台。

  ● 软件设计原理
  软件设计采用事件驱动机制;中断事件激活ISR,ISR将事件排队,并通过信号量的v 操作通知处理任务。处理任务进行p 操作,在没有事件需要处理时就会阻塞,如果得到信号量则根据事件队列的内容进行相应处理;事件处理任务为一永久循环。
软件设计流程如图4所示。

图4 软件流程图

  ● 软件关键设计的具体实现
  (1)当系统启动时等待一段时间,若超时则正常加载内核进行引导,若从串口UART接收到配置参数请求信息,则通过串口UART发送配置文件到PC端;PC端对配置参数进行处理后,再将参数通过串口发送到设备,设备再将参数以文件的形式进行存储。

  (2)初始化手机模块。先利用手机模块的硬复位线将手机进行硬复位,一直等到手机能响应AT指令,再将手机的信息通知功能打开,初始化短信处理到文本模式,激活CDMA,一直等待,手机信号要足够强。

  (3)当接收到满足触发条件的短信息后,发起中断处理任务,将UIM卡中的短消息读出到缓冲,将短消息删除,对缓冲中短消息的有效性进行判断,若为有效短消息则进行相应的处理,再将根据短消息配置后的参数保存。

  (4)系统根据触发参数发起任务进行拍照、封装,调用建立PPP连接的函数,先用AT指令ATD#777接通CDMA,然后初始化PPP连接,当PPP连接完成后设置好相应的IP参数。

  (5)然后初始化WAP相关参数,建立WAP连接,调用彩信发送函数将图片发送到目的移动通信终端用户,断开PPP连接。

  关键源代码如下。
STATUS mmsmain(viod)
{
int ioFd, i;
pSysInfo = (sysInfo_t *) calloc(1, sizeof(sysInfo_t));
pSysInfo->tickRate = SYS_TICK_RATE;
pSysInfo->pQueue = msgQCreate( SYS_MSG_COUNT, sizeof(sysMsg_t), MSG_Q_FIFO );
pSysInfo->pCamQueue = msgQCreate( SYS_MSG_COUNT, sizeof(sysMsg_t), MSG_Q_FIFO );
pSysInfo->pPhotoQueue = msgQCreate(SYS_MSG_COUNT, sizeof(sysMsg_t), MSG_Q_FIFO);
pSysInfo->pModemQueue = msgQCreate(SYS_MSG_COUNT, sizeof(sysMsg_t), MSG_Q_FIFO);
DEBUG_PRINT(("Now begin read config information... "));
if (readFlash() == ERROR)
{
initDefaultInfo();
readFlash();
}
DEBUG_PRINT(("Now end read config information... "));
#ifndef CDMA_MODULE
while(wavecomLibInit() == ERROR);
for (i=0; i<2; i++)
{
if (startPPP() == OK)
break;
pppDelete(0);
taskDelay(30);
wavecomLibInit();
}
if (i>= 2)
{
DEBUG_PRINT(("startPPP ERROR! "));
return ERROR;
}
if (wapInit()!= OK)
{
DEBUG_PRINT(("wapInit ERROR! "));
return ERROR;
}
#else
cdmaLibInit();
#endif
sysRecvLibInit();
taskSpawn("tCamera", 80, 0, 50 * 1024, cameraTask, pSysInfo->pCamQueue, pSysInfo->pPhotoQueue,2,3,4,5,6,7,8,9);
photoSendLibInit();
taskDelay(2);
irLibInit();
if (sysInitInfo->motionDetction)
camQSend(SYS_MOTION_PIC, NULL, 0x0200 + sysInitInfo->camPixel);
commCallBackFun = commStrHandle;
pSysInfo->initialized = TRUE;
return OK;
}

  主要实现的功能有:初始化系统参数,初始化捕获、图像压缩处理器模块,初始化手机modem,建立PPP连接,发送连接包,断开PPP连接并返回;建立检查modem信息接收任务,建立系统主循环任务,在主循环任务中处理modem信息接收任务和中断处理程序中发送到信息队列中的内容。

  这种实现自动发送彩信的系统可用于无线监控和实现智能家居安全,系统收发机制使用CDMA网络传输信息,目标移动通信终端用户不论在何地都可以接收由系统发送的彩信,从而能够实现远程监控等功能,为用户提供更多的安全和便利。

参考文献
1 VxWorks Programmer’s Guide 5.4. Wind
 River Systems, Inc
2 VxWorks Reference Manual. Wind River
 Systems, Inc
3 陈智育,温彦军,陈琪编著. VxWorks程序
 开发实践. 人民邮电出版社,2004.5
4 杜春雷. ARM体系结构与编程. 清华大
 学出版社,2004.4


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭