ZigBee On Windows Mobile--2.硬件和软件设计

简介:                                                     继续上一篇”ZigBee On Windows Mobile--1.背景和结构”,今天来讲讲硬件和软件设计。


                                               

    继续上一篇ZigBee On Windows Mobile--1.背景和结构,今天来讲讲硬件和软件设计。硬件设计主要是做ZigBee模块,输出文件一般包括原理图和PCB图。PCB图是最终给制板厂商的文件,制板厂商将PCB文件转化为Gerb文件进行PCB板加工。软件设计包括两部分,即ZigBee模块中的嵌入式程序和Windows Mobile端的应用程序,这两个软件模块运行在不同的平台之上,硬件上通过UART口进行通信。

    硬件设计使用了比较传统的Protel99se,采用了MC13192+GB60的设计和单芯片MC13213的设计原理图下载链接如下:

      http://files.cnblogs.com/dearsj001/GB60+13192.pdf

      http://files.cnblogs.com/dearsj001/MC13213.pdf

    硬件设计也没有太多可以讲述的,只要按照Freescale给的参考设计,自己根据需求,做相应的小小修改就可以。比较关键的是天线的设计。我们自己没有测试设备(频谱仪一个就10W),一般而言,就使用给出的参考设计天线,有倒F天线(非平衡式)、双鞭天线(平衡式)等。另外就是板材的选择和板厚也和通信距离有相当大的关系。

    嵌入式软件的设计采用CodeWarrior for HCS08 V3.1 开发环境,运用“前后台系统”的模式,前后台系统的基本思想是:硬件中断函数中只做非常少量而且是绝对必须的操作:如设置中断寄存器、保存数据寄存器等,然后置后台标志位,随即退出中断。这些操作称为“前台操作”。而后台操作是一个开放中断的无限循环。在循环中检查各后台标志位,如果某一标志位被置位,则说明有中断发生,立即调用相应的中断服务任务,这些任务被称为“后台操作”。

主程序流程如下图1所示:

 

                                                        

                                                              图1主程序流程图

        TargetInit()执行系统初始化操作,主要包括HCS08IOUARTTimer等模块的初始化。ConfigInit()执行配置初始化操作,主要包括SMAC协议和串口通信协议配置。ScheduleLoop()为主调度循环,根据状态来执行不同的任务,如下图2所示。其中的SYS_FEED_DOG()是指喂看门狗操作。

                                   

                                                               图主调度循环流程图

    在Windows Mobile设备上运行的用户应用程序,主要执行信息交互和显示功能。进一步说,用户要通过UI将命令发送给ZigBee模块,同时,Windows Mobile设备将ZigBee模块的情况通过UI呈现给用户。在Microsoft Visual Studio 2005IDE下,安装一个最新的Windows Mobile 6 professional SDK,配合自带的Emulator就可以进行开发和调试。软件可以分为几个模块:串口通信部分、界面UI部分和数据处理部分。由于本人比较熟悉C++,所以我选用了native code进行开发,建立一个基于对话框的MFC工程,将需要的控件加入对话框。具体流程如下图3所示。

 

                                                                                                                      

                                                                                                                       Windows Mobile设备应用程序流程图

其中的对话框初始化包括了界面的初始化,要强调的是串口的初始化。我们这里采用的串口参数如下:速率9600bps1个停止位,无奇偶校验。

工程的运行环境:VS2005 with SP1+.NET CF SP2+windows mobile professional SDK

工程源代码下载:http://files.cnblogs.com/dearsj001/WirelessFutureWM5_Emulator.rar

 

好了,今天就啰嗦到这里,明天继续讲调试,包括设备调试和模拟器调试。Enjoy!



本文转自施炯博客园博客,原文链接:http://www.cnblogs.com/dearsj001/archive/2008/10/15/1312206.html,如需转载请自行联系原作者


相关文章
|
存储 数据可视化 中间件
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
125 0
操作系统和高级编程语言时硬件抽象化及Windows操作系统的特征
|
Windows
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
电脑故障由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)
1533 0
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
|
机器学习/深度学习 安全 Java
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊
313 0
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊
|
Windows
【Windows 逆向】OD 调试器工具 ( OD 调试数据时硬件断点对应的关键代码 | 删除硬件端点恢复运行 )
【Windows 逆向】OD 调试器工具 ( OD 调试数据时硬件断点对应的关键代码 | 删除硬件端点恢复运行 )
362 0
【Windows 逆向】OD 调试器工具 ( OD 调试数据时硬件断点对应的关键代码 | 删除硬件端点恢复运行 )
|
机器学习/深度学习 安全 Java
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊
微软解释 Windows 11 为何强制 TPM 2.0 硬件支持;华为 P50 标准版规格曝光 | 思否周刊
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
成功解决⑧NVIDIA安装程序无法继续 此NVIDL驱动程序与此Windows版本不兼容。 此图形驱动程序无法找到兼吝的图形硬件。
|
IDE Devops 程序员
去windows去PC,打造for程序员的碎片化programming pad硬件选型
本文关键字:混合,多合一OS,封闭应用,有限应用机器。程序员的硬件选型,程序员的7寸umpc programming pad,移动编程机器
202 0
去windows去PC,打造for程序员的碎片化programming pad硬件选型