分享
分销 收藏 举报 申诉 / 10
播放页_导航下方通栏广告

类型实验7—TI-Z-Stack协议栈入门实验模板.doc

  • 上传人:a199****6536
  • 文档编号:9513327
  • 上传时间:2025-03-29
  • 格式:DOC
  • 页数:10
  • 大小:1.52MB
  • 下载积分:8 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    实验 TI Stack 协议 入门 模板
    资源描述:
    试验题目: 试验7—TI Z-Stack协议栈入门试验 试验时间: .12.24 一、 试验目: 学习TI Z-Stack协议栈软件架构, 掌握TI Z-Stack协议栈软件开发步骤。相关Z-Stack协议栈具体内容, 请参考TI官方文档。 安装TI Z-Stack协议栈, 学习协议栈相关IAR工程配置, 及常见软件工具使用方法。 二、 试验原理及程序分析: a) Z-Stack概述 图1 ZigBee规范版本 现在TIZ-Stack协议栈实际上已经成为了ZigBee联盟认可并推广指定软件规范。所以, 掌握Z-Stack协议栈相关软件架构及开发步骤, 是我们学习ZigBee无线网络关键步骤。 b) Z-Stack软件架构 图2 Z-Stack软件架构 协议栈定义了通信硬件和软件在不一样层次怎样协调工作。在网络通信领域, 在每个协议层实体经过对信息打包与对等实体通信。在通信发送方, 用户需要传输数据包根据从高层到低层次序依次经过各个协议层, 每一层实体根据最初预定消息格式在数据信息中加入自己信息, 比如每一层头信息和校验等, 最终抵达最低层物理层, 变成数据位流, 在物理连接间传输。在通信接收方数据包依次向上经过协议栈, 每一层实体能够依据预定格式正确提取需要在本层处理数据信息, 最终用户应用程序得到最终数据信息并进行处理。 ZigBee无线网络实现, 是建立在ZigBee协议栈基础上, 协议栈采取分层结构。协议分层目是为了使各层相对独立, 每一层都提供部分服务, 服务由协议定义, 程序员只需关心与她工作直接相关那些层协议, 它们向高层提供服务, 并由底层提供服务。在ZigBee协议栈中, PHY、 MAC层位于最低层, 且与硬件相关; NWK、 APS, APL层以及安全层建立在PHY和MAC 层之上, 而且完全与硬件无关。分层结构脉络清楚、 一目了然, 给设计和调试带来极大方便。 整个Z-Stack采取分层软件结构, 硬件抽象层(HAL)提供多种硬件模块驱动, 包含定时器Timer, 通用I/O 口GPIO, 通用异步收发传输器UART, 模数转换ADC 应用程序接口API, 提供多种服务扩展集。操作系统抽象层OSAL实现了一个易用操作系统平台, 经过时间片轮转函数实现任务调度, 提供多任务处理机制。用户能够调用OSAL提供相关API进行多任务编程, 将自己应用程序作为一个独立任务来实现。 c) Z-Stack软件步骤 整个Z-stack关键工作步骤, 大致分为系统开启, 驱动初始化, OSAL初始化和开启, 进入任务轮循多个阶段。 图3 Z-Stack软件步骤图 系统初始化 系统上电后, 经过实施ZMain文件夹中ZMain.cint main()函数实现硬件初始化, 其中包含关总中止osal_int_disable(INTS_ALL)、 初始化板上硬件设置HAL_BOARD_INIT()、 初始化I/O 口InitBoard(OB_COLD)、 初始化HAL层驱动HalDriverInit()、 初始化非易失性存放器sal_nv_init( NULL )、 初始化MAC层ZMacInit()、 分配64位地址zmain_ext_addr()、 初始化操作系统osal_init_system()等。 硬件初始化需要依据HAL文件夹中hal_board_cfg.h文件配置寄存器8051寄存器。TI官方公布Z-Stack配置针对是TI官方开发板CC2530EB等, 如采取其她开发板, 则需依据原理图设计改变hal_board_cfg.h文件配置, 比如本文档配套硬件模块与TI官方I/O 口配置略有不一样, 需要参考硬件原理图进行对应修改。 当顺利完成上述初始化时, 实施osal_start_system()函数开始运行OSAL系统。该任务调度函数根据优先级检测各个任务是否就绪。假如存在就绪任务则调用tasksArr[]中相对应任务处理函数去处理该事件, 直到实施完全部就绪任务。假如任务列表中没有就绪任务, 则能够使处理器进入睡眠状态实现低功耗。程序步骤如图所表示。osal_start_system()一旦实施, 则不再返回Main()函数。 图4 OSAL任务循环 OSAL任务初始化 OSAL是协议栈关键, Z-Stack任何一个子系统都作为OSAL一个任务, 所以在开发应用层时候, 必需经过创建OSAL任务来运行应用程序。经过osalInitTasks()函数创建OSAL任务, 其中TaskID为每个任务唯一标识号。任何OSAL任务必需分为两步: 一是进行任务初始化; 二是处理任务事件。任务初始化关键步骤以下: (1) 初始化应用服务变量。 const pTaskEventHandlerFn tasksArr[]数组定义系统提供给用服务和用户服务变量, 如MAC 层服务macEventLoop、 用户服务SampleApp_ProcessEvent等。 (2) 分配任务ID和分配堆栈内存 void osalInitTasks(void)关键功效是经过调用osal_mem_alloc()函数给各个任务分配内存空间, 和给各个已定义任务指定唯一标识号。 (3) 在AF层注册应用对象 经过填入endPointDesc_t数据格式EndPoint变量, 调用afRegister()在AF层注册EndPoint应用对象。 经过在AF层注册应用对象信息, 通知系统afAddrType_t地址类型数据包路由端点, 比如用于发送周期信息SampleApp_Periodic_DstAddr和发送LED闪烁指令SampleApp_Flash_DstAddr。 (4) 注册对应OSAL或HAL系统服务 在协议栈中, Z-Stack提供键盘响应和串口活动响应两种系统服务, 不过任何Z-Stask任务均不自行注册系统服务, 二者均需要由用户应用程序注册。值得注意是, 有且仅有一个OSAL Task能够注册服务。比如注册键盘活动响应可调用RegisterForKeys()函数。 (5) 处理任务事件 处理任务事件经过创建“ApplicationName”_ProcessEvent()函数处理。一个OSAL任务除了强制事件(Mandatory Events)之外还能够定义15个事件。 SYS_EVENT_MSG(0x8000)是强制事件。该事件关键用来发送全局系统信息, 包含以下信息: AF_DATA_CONFIRM_CMD: 该信息用来指示经过唤醒AF DataRequest( )函数发送数据请求信息情况。ZSuccess确定数据请求成功发送。假如数据请求是经过AF_ACK_REQUEST 置位实现, 那么ZSuccess能够确定数据正确抵达目地。不然, ZSuccess仅仅能确定数据成功传输到了下一个路由。 AF_INCOMING_MSG_CMD: 用来指示接收到AF信息。 KEY_ CHANGE: 用来确定按键动作。 ZDO_ NEW_ DSTADDR: 用来指示自动匹配请求。 ZDO_STATE_CHANGE: 用来指示网络状态改变。 d) Z-Stack协议栈目录结构 正如前面所描述那样, 我们以Z-Stack协议栈安装后, 自带一个工程SampleApp样例为模板, 了解下协议栈目录结构及相关软件步骤。 图5 SampleApp 工程 e) ZigBee系统初始化步骤 Z-Stackmain函数在ZMain.c中: 系统初始化、 实施操作系统实体 Osal_int_disable(INTS_ALL):关闭全部中止 HAL_BOARD_INIT():初始化系统时钟 Zmain_vdd_check():检测芯片电压是否正常 Zmain_ram_init():初始化堆栈 InitBoard(OB_COLD):初始化LED, 配置系统定时器 HalDriverInit():初始化芯片各个硬件模块 Osal_nv_init():初始化FLASH存放 Zmain_ext_addr():形成节点MAC地址 zgInit():初始化部分非易失变量 zmacInit():初始化mac层 Afinit():初始化应用框架层 Osal_init_system():初始化操作系统 Osal_int_enabled(inis_all):使能全部中止 Initboard(ob_ready):初始化按键 Zmain_dev_info():在液晶上显示设备信息 Osal_start_system():实施操作系统 三、 试验步骤及结果: 1、 安装TI ZStack-2.3.0-1.4.0协议栈(根据第一章windows开发环境搭建ZigBee部分安装)。 2、 熟悉TI ZStack-2.3.0-1.4.0协议栈自带例程IAR工程配置。 3、 编译工程, 并下载调试 选择对应模板工程, 进行编译, 下载调试。 连接ZigBee 模块硬件, 使用ZigBee Debuger USB 仿真器连接ZigBee 模块, 上电后, 即可经过IAR工程Debug来下载并调试。 4、 使用ChipconFlashProgrammer软件更改MAC物理地址 四、 试验心得: 在试验中了解到Z-Stack协议栈结构, 在调试下载代码时, 会出现下载错误, 这时可能会是USB线接触不良, 需要把USB线拔出再重新插入。
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:实验7—TI-Z-Stack协议栈入门实验模板.doc
    链接地址:https://www.zixin.com.cn/doc/9513327.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork