睿远研究院丨IO-Link设备开发指南(2)
[ 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配置管理模块详解Rasight06-10 17:30
-
新闻中心丨睿远参加2025华南国际工业博览会Rasight06-06 17:01
-
睿远研究院丨IO-Link规范解读(十):OD处理模块与DPP字节解析Rasight05-13 14:56
评论0条评论