[发明专利]基于GPIO管脚实现MDIO从机功能的方法及终端有效
| 申请号: | 201910887579.0 | 申请日: | 2019-09-19 |
| 公开(公告)号: | CN110795369B | 公开(公告)日: | 2023-05-30 |
| 发明(设计)人: | 杨超;吴闽华;孟庆晓;梁栋;戴瑜 | 申请(专利权)人: | 深圳震有科技股份有限公司 |
| 主分类号: | G06F13/12 | 分类号: | G06F13/12;G06F13/24 |
| 代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文;刘文求 |
| 地址: | 518057 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 gpio 管脚 实现 mdio 功能 方法 终端 | ||
1.一种基于GPIO管脚实现MDIO从机功能的方法,其特征在于,所述基于GPIO管脚实现MDIO从机功能的方法包括:
在从机CPU上设置GPIO1用于传递时钟信号,并设置GPIO2用于传递数据信号;
主机MCU发送所述时钟信号给从机CPU,所述数据信号在所述主机MCU和所述从机CPU之间进行双线传递;
当所述主机MCU读取所述从机CPU的数据时,所述数据信号由所述从机CPU控制,当所述主机MCU写所述从机CPU的数据时,所述数据信号由所述主机MCU控制;
所述基于GPIO管脚实现MDIO从机功能的方法还包括:
当所述主机MCU将所述时钟信号拉高为高电平后,所述从机CPU通过GPIO1发出中断,所述从机CPU进入中断处理程序,在中断处理程序中读取GPIO2的MDIO管脚的电平高低并保存;
所述在从机CPU上设置GPIO1用于传递时钟信号,并设置GPIO2用于传递数据信号,之前还包括:
设置GPIO1具有输入功能,设置GPIO2具有输入输出功能,设置GPIO1具有边缘中断属性;
挂载GPIO1中断处理函数;
接收比特个数为0,发送比特个数为0;
使能GPIO1中断,设置MDIO设备地址为0x08;
所述中断处理函数用于处理所述主机MCU发来的读写请求;
当所述主机MCU写所述从机CPU时,则在所述中断处理函数中读取所述时钟信号的电平高低,每次中断读取一个比特,并且按照协议PHY地址读取5比特为设备地址和5比特寄存器内部地址;
预先定义两个状态,分别为空闲状态和忙状态;
所述空闲状态表示当前没有任何请求,总线为空,等待32个同步帧;
所述忙状态表示当前状态已经进入MDIO时序中;
所述基于GPIO管脚实现MDIO从机功能的方法还包括:
当进入所述中断处理函数的入口时,判断当前状态是否为空闲状态;
当处于空闲状态时,读取GPIO2电平到接收缓冲,并接收比特数,判断所述比特数是否为46;
当是时,判断是否有32个比特的同步帧、2个开始比特、2个操作码和2个比特读写位,当任意一个为否时,则整个状态机进入空闲状态,当为是时,则进入忙状态,并接收比特长度为0,发送比特长度为0;
所述判断当前状态是否为空闲状态,之后还包括:
当不处于空闲状态时,进入读操作或者写操作;
所述读操作为:将A地址的寄存器值按比特写入GPIO2,发送比特长度加1,最终状态进入空闲状态,并接收比特长度为0;
所述写操作为:读取GPIO2高低电平值到接收缓冲,接收比特数加1,将接收缓冲16比特数据写入寄存器地址A,最终状态进入空闲状态,并接收比特长度为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳震有科技股份有限公司,未经深圳震有科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910887579.0/1.html,转载请声明来源钻瓜专利网。





