一种网口硬件流控实现方法、智能终端及存储介质技术

技术编号:24707776 阅读:70 留言:0更新日期:2020-06-30 23:56
本发明专利技术公开了一种网口硬件流控实现方法、智能终端及存储介质,所述方法包括:设置GPIO1为输出功能,设置GPIO2为输入功能,创建一个网口接收BD空闲个数的检测任务;读取GPIO2的电平,根据GPIO2的电平发送报文或者等待发送报文,并反馈发送结果;获取BD空闲个数,根据所述BD空闲个数设置GPIO2的电平以控制报文发送。本发明专利技术通过用两个通用的IO管脚来实现输入输出功能,用IO脚实现网口流控,通讯的两端都在一个设备内,整个流控过程都是软件可控,并且不需要特殊的报文。

【技术实现步骤摘要】
一种网口硬件流控实现方法、智能终端及存储介质
本专利技术涉及嵌入式驱动
,尤其涉及一种网口硬件流控实现方法、智能终端及存储介质。
技术介绍
在以太网中,如果发送端发送过快,接收端接收不了那么大流量,就会造成丢包的问题。那么就需要进行流量控制,在半双工模式中,使用背压法,由于收发双方遵从CSMA/CD算法,如果接收方发现自己的接收缓冲区快要满了,于是它向信道发送一个信号,发送方感知到之后,就会停止发送一段时间;在全双工模式中,使用PAUSE帧(PAUSE帧是以太网在全双工模式下,MAC控制子层发出的流量控制帧),当收方端口缓存超过设定门限时,收方节点向远端节点发送延迟发送帧,收到帧后远端节点启动延迟计时;如果远端节点在本次计时期间内又收到延时帧,则重新开始计时;若收方的缓存低于设定值时,本节点发送0延时的帧到远端节点,远端节点收到帧后重新启动发送信息。以上方法不管全双工还是半双工,都是通过发送标准的以太网报文实现的;现在半双工的网络已经很少见,大部分都是全双工。PAUSE帧的帧长为64字节,结构非常简单,目的MAC地址是保留的MAC本文档来自技高网...

【技术保护点】
1.一种网口硬件流控实现方法,其特征在于,所述网口硬件流控实现方法包括:/n设置GPIO1为输出功能,设置GPIO2为输入功能,创建一个网口接收BD空闲个数的检测任务;/n读取GPIO2的电平,根据GPIO2的电平发送报文或者等待发送报文,并反馈发送结果;/n获取BD空闲个数,根据所述BD空闲个数设置GPIO2的电平以控制报文发送。/n

【技术特征摘要】
1.一种网口硬件流控实现方法,其特征在于,所述网口硬件流控实现方法包括:
设置GPIO1为输出功能,设置GPIO2为输入功能,创建一个网口接收BD空闲个数的检测任务;
读取GPIO2的电平,根据GPIO2的电平发送报文或者等待发送报文,并反馈发送结果;
获取BD空闲个数,根据所述BD空闲个数设置GPIO2的电平以控制报文发送。


2.根据权利要求1所述的网口硬件流控实现方法,其特征在于,所述设置GPIO1为输出功能,设置GPIO2为输入功能,创建一个网口接收BD空闲个数的检测任务,之前还包括:
预先设定GPIO1为通用IO并且为输出功能。


3.根据权利要求1所述的网口硬件流控实现方法,其特征在于,所述设置GPIO1为输出功能,设置GPIO2为输入功能,创建一个网口接收BD空闲个数的检测任务,之前还包括:
预先设定GPIO2为通用IO并且为输入功能。


4.根据权利要求1所述的网口硬件流控实现方法,其特征在于,所述设设置GPIO1为输出功能,设置GPIO2为输入功能,创建一个网口接收BD空闲个数的检测任务,具体包括:
设置GPIO1为输出功能,初始值为低电平,用于表示对端允许发送报文给本端;
设置GPIO2为输入功能;
创建接收BD空闲个数的任务。


5.根据权利要求4所述的网口硬件流控实现方法,其特征在于,所述读取GPIO2的电平,根据GPIO2的电平发送报文或者等待发送报文,并反馈发送结果,具体包括:
读取GPIO2的电平,判断GPIO2的电平是否为低电平;
如果GPIO2为低电平,则表示对端允许接收报文,直接发送当前报文,发送完成后返回成功发送的信息;
如果GPIO2为高电平,则表示对端没有足够空间继续接收报文,对端已发送流...

【专利技术属性】
技术研发人员:秦金昆吴闽华孟庆晓杨超戴瑜
申请(专利权)人:深圳震有科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1