当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] 在arm微处理器硬件平台上,应用windriver公司的tornado集成开发环境,实现基于vxworks的自动发送彩信的嵌入式应用系统。该系统使用现有cdma网络,根据设定的参数发送彩信到

 在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卡中的短消息读出到缓冲,将短消息删除,对缓冲中短消息的有效性进行判断,若为有效短消息则进行相应的处理,再将根据短消息配置后的参数保存。[!--empirenews.page--]

(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网络传输信息,目标移动通信终端用户不论在何地都可以接收由系统发送的彩信,从而能够实现远程监控等功能,为用户提供更多的安全和便利。

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

Arm CPU正在从根本上推动AI变革,并造福地球。Arm架构是未来AI计算的基石。​

关键字: ARM AI

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

近日,Arm推出了Arm® Ethos™-U85神经网络处理器(NPU)和Arm Corstone™-320物联网参考设计平台,旨在满足海量的数据处理和大规模计算,加速推进边缘AI的发展进程。

关键字: ARM

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

为了赶超云计算市场上的竞争对手,谷歌正试图通过定制的Arm服务器芯片降低云计算服务成本。

关键字: 谷歌 ARM 定制芯片

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM
关闭
关闭