随笔-84  评论-566  文章-1  trackbacks-4

 

                                                  

    继续上一篇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()是指喂看门狗操作。

                                   

                                                               图2 主调度循环流程图

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

 

                                                                                                                      

                                                                                                                      3  Windows Mobile设备应用程序流程图

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

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

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

 

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

Tag标签: Windows Mobile
posted on 2008-10-15 22:54 施炯 阅读(1185) 评论(6)  编辑 收藏 网摘

评论:
#1楼 2008-10-15 23:12 | 工业酒精      
好奢侈。。。ZigBee模块好贵大~~~~
  回复  引用  查看    
#2楼[楼主] 2008-10-15 23:16 | 施炯      
@工业酒精
呵呵,自己做ZigBee模块成本不高,如果不算上可充电锂电池,用干电池的话,每个节点成本可以做到100RMB以内(包括芯片+做板+焊接)

  回复  引用  查看    
#3楼 2008-10-16 00:21 | 工业酒精      
--引用--------------------------------------------------
施炯: @工业酒精
呵呵,自己做ZigBee模块成本不高,如果不算上可充电锂电池,用干电池的话,每个节点成本可以做到100RMB以内(包括芯片+做板+焊接)
--------------------------------------------------------
还没到那水平能做ZigBee模块。。。。。

我自己在玩Arduino

  回复  引用  查看    
#4楼[楼主] 2008-10-16 09:56 | 施炯      
@工业酒精:

Arduino 是啥东东,google了一下,说是一块开放源码的板子。好玩么?

  回复  引用  查看    
#5楼 2008-10-16 11:24 | 工业酒精      
--引用--------------------------------------------------
施炯: @工业酒精:

Arduino 是啥东东,google了一下,说是一块开放源码的板子。好玩么?

--------------------------------------------------------

蛮好玩大。。。。呵呵。。。。。。

可以去国外网站看看,有很多好玩的应用。。。。

  回复  引用  查看    
#6楼[楼主] 2008-10-16 12:55 | 施炯      
@工业酒精
不错呀,sensors,lights,motors都有,可以做个小机器人了,呵呵。

  回复  引用  查看    
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1312206




相关文章:

相关链接: