智能家居系统嵌入式软件说明.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
风尚智能家居集成系统嵌入式软件说明书 ——冯 泽 本系统以ARM7嵌入式开发板MAGICARM2200为硬件平台,实现了智能家居系统基本的控制功能。 硬件方面,开发板以LPC2210为嵌入式控制器核心,按键输入模块采用4×4键盘和驱动芯片ZLG7290,通过I2C总线接口与处理器连接;输出显示模块采用5.2英寸的LFUBK9111彩色点阵图形液晶屏,色彩为256色,点像素为320×240,内嵌驱动器及电源电路。外部通讯模块与开发板上的2个UART串行通信接口连接实现无线数据传输功能,UART0与ZigBee模块CC2430串口连接,UART1与GPRS模块M23相连作为远程数据传输;以CC2430作为ZigBee主节点和从节点控制芯片构建家庭内部短距离无线网络。 嵌入式软件开发环境采用ADS1.2,智能家居系统工程为smarthome.mcp,开发环境如下图所示。 工程内各文件详细说明如下: 嵌入式操作系统移植的是μC/OS-II操作系统,其文件夹为uC/OS-II文件夹。操作系统移植需修改三个文件,其中OS_CPU.H在*.h头文件夹里,OS_CPU_C.C和OS_CPU_A.S在arm文件夹里。 target文件夹内三个文件为目标板初始化文件target.c, .IRQ.s,Startup.s中断可在IRQ.s里添加修改。 lcddriver文件夹的两个文件lcddriver.h和lcddriver.c是液晶屏驱动。 GUI文件夹为移植的ZLG/GUI图形软件包,文件夹内的文件定义了各种GUI接口函数,由液晶屏驱动定义的基本画图函数编写,ZLG/GUI本身并不带汉字字库,为了精简程序代码,系统只对智能家居用户界面中出现的汉字编写字库文件HZlib.c以实现汉字显示。 user文件夹是用户应用程序文件夹, main.c是整个工程的主函数,系统由此处开始运行; gprs.c文件是开发板的UART1驱动程序文件,UART1与GPRS模块相连接,通过串口发送AT指令来实现GPRS模块的数据无线发送和接收; zigBee.c文件是开发板的UART0驱动程序文件,UART0与ZigBee主节点模块串口相连接,通过串口收发数据来控制ZigBee模块的数据无线传输。 guiapp.c是图形显示驱动程序文件,实现各级GUI界面的显示。 HZlib.c是智能家居系统所用的汉字字库文件。 i2c.c是I2C总线驱动文件,实现按键键值的读取。 keygui.c的函数实现按键解码和界面切换,通过赋给GUI状态标志gui_state不同值来调用guiapp.c中的不同界面显示函数,切换液晶屏当前的显示画面。 嵌入式操作系统的任务划分 在os_cfg.h文件可根据实际应用修改操作系统初始化配置项,针对本系统,主要配置项设置如表所示: 操作系统主要配置项 配置项 定义 参数 OS_MAX_EVENTS 系统可分配的事件控制块最大数目 10 OS_MAX_FLAGS 用户程序中需要的时间标志最大数目 5 OS_MAX_TASKS 用户程序中可以使用的最多任务数量 11 OS_LOWEST_PRIO 系统中可以使用的最低任务优先级 20 OS_TASK_STAT_EN 是否使用统计任务及其初始化函数 0 OS_TICKS_PER_SEC 设定调用OSTimeTick( )的频率 200 本系统中建立了五个任务实现应用功能: (1)初始化任务TaskStart( ),完成开发板软硬件及外部设备初始化工作并建立其余四个任务。此任务在主函数main( )中建立,优先级设置为2。其中初始化工作包括:中断向量和定时器初始化,处理器I/O口初始化,UART0、UART1初始化,I2C总线初始化,LCD显示屏初始化,GPRS模块初始化。在建立了其余四个任务后,初始化任务使命完成,调用OSTaskDel(OS_PRIO_SELF)函数将自己挂起。 (2)短消息检测任务TaskSMSCHECK( ),当GPRS模块正常工作后,操作系统循环检测是否有短消息提示标志。为方便以后应用中扩展更多任务,各任务优先级之间分隔设置,此任务优先级设置为5。 (3)短消息解码任务TaskMSGdecode ( ),由于短消息检测与短消息读取及解码程序执行时间不一致,因此将解码函数单独分离出来,以任务形式由操作系统调度,并建立信号量实现任务同步。当检测到新短息后,TaskSMSCHECK任务发出信号量NewMSGSem,TaskMSGdecode任务只有收到了该信号量后,才继续执行短消息解码,然后向UART0发送对应指令控制ZigBee模块。此任务优先级设置为8。 (4)人机接口任务TaskKEYGUI ( ),实现家居现场的人机交互功能。此任务初始化即挂起,系统一旦检测到按键按下

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档