睿远研究院丨IO-Link设备开发指南(2)

Rasight 20241008

[ IO-Link 设备开发指南 ]

——  协议栈移植(2) ——



●●●



PART.01


 前情提要  


工博会和国庆节都结束啦,经历了热闹与闲暇,大家还需要重燃起斗志,快速恢复工作状态

本期将继续针对IO-Link从站开发过程进行分享,欢迎广大的技术大佬们阅读分享!市场和应用方面的童鞋们也稍安勿躁,咱们可以先看个热闹,捧个人场


IO-Link从站设备开发来到了关键步骤----MCU移植。

所谓移植(Porting)的过程,是将由C语言编写的协议栈代码或库文件,移植到所选MCU芯片中,调用接口与IO-Link专用phy芯片连接,从而输出IO-Link信号。



协议栈是IO-Link从站设备中的关键要素,简单、快速、好用的移植方式,对开发不同种类的IO-Link设备尤为重要。


PART.02

 移植例程  

上文提到,移植IO-Link协议栈总共分四步,今天咱们直接上代码,以极海APM32F103VB系列MCU为例,展示移植例程。


⭐️第一步,外设初始化


















                   GPIO初始化设置与UART初始化设置






















TIM定时器初始化设置







⭐️第二步,MCU硬件的适配函数:





















GPIO读写适配















UART收发报文适配







FLASH适配










⭐️第三步,用户程序:



初始化协议栈











注:CeresStack为睿远自主研发的IO-Link协议栈,且已获国家知识产权局版权认证







上述代码中,CeresStackBase_Init 是协议栈内部的初始化,接着是用户基础数据(UserBase_Init)的初始化,这部分包括了 DPP 参数的初始化,和基本ISDU的设置等。

紧接着协议栈部分的Application的初始化(CeresStackAPP_Init)开始,即把协议栈里的 AL层以上的模块初始化,这时候 DPP 参数,基础 ISDU参数都开始生效。

再下一步是用户应用的初始化(UserApp_Init),这里面用户可以自定义增加ISDU、自定义增加 EVENT 等模块。

全部初始化完毕,协议栈会把当前的缺省参数全部保存起来,用于需要的时候回滚参数;而后从 Flash 或EEPROM 中读取保存的持久化参数,用于覆盖缺省的参数,最后运行协议栈。














查看全文

点赞

Rasight

南京睿远工业互联专注于IO-Link研发、智能传感器方案应用

作者最近更新

  • 睿远研究院丨IO-Link规范解读(十五):CM配置管理模块详解
    Rasight
    06-10 17:30
  • 新闻中心丨睿远参加2025华南国际工业博览会
    Rasight
    06-06 17:01
  • 睿远研究院丨IO-Link规范解读(十):OD处理模块与DPP字节解析
    Rasight
    05-13 14:56

期刊订阅

相关推荐

  • 汉威科技:公司传感器已在国际具有一定的知名度和影响力,将力争在传感器行业领域产出更多的创新产品

    传感器专家网 2022-05-26

  • 从源头控制污染:甲烷传感器在油气回收中的应用

    四方光电 2024-09-12

  • 福州大学:可控超大孔结构和高延展性的明胶水凝胶传感器!

    传感器专家网 2022-05-24

  • 国产替代正当其时,四方光电引领柴油发动机氮氧传感器技术突破

    四方光电Cubic 03-14 16:00

评论0条评论

×
私信给Rasight

点击打开传感搜小程序 - 速览海量产品,精准对接供需

  • 收藏

  • 评论

  • 点赞

  • 分享

收藏文章×

已选择0个收藏夹

新建收藏夹
完成
创建收藏夹 ×
取消 保存

1.点击右上角

2.分享到“朋友圈”或“发送给好友”

×

微信扫一扫,分享到朋友圈

推荐使用浏览器内置分享功能

×

关注微信订阅号

关注微信订阅号,了解更多传感器动态

  • #{faceHtml}

    #{user_name}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 查看评论 回复

    共#{comment_count}条评论

    加载更多

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} #{reback} 回复

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 回复

  • 关闭
      广告