[发明专利]一种外设主动实现与CPU间数据交换的方法有效
申请号: | 201810078793.7 | 申请日: | 2018-01-26 |
公开(公告)号: | CN108388529B | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 郑容;王晓斌;陈伯芳;袁成伟;詹万鹏;危必波 | 申请(专利权)人: | 武汉中元华电电力设备有限公司 |
主分类号: | G06F13/32 | 分类号: | G06F13/32 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 唐正玉 |
地址: | 430223 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种外设主动实现与CPU间数据交换的方法,该方法是基于PCIE+DMA架构的快速实现CPU和外设之间数据通信,外设主动读写循环内存,以信元计算的策略保证传输可靠性,并主动向CPU发起中断,通知CPU操作内存,CPU无需参与地址管理,传输控制,仅需按外设的中断信息访问内存数据。此方法可用于希望减小CPU负荷,外设主动完成内存读写操作的场合。 | ||
搜索关键词: | 一种 外设 主动 实现 cpu 数据 交换 方法 | ||
【主权项】:
1.一种外设主动实现与CPU间数据交换的方法,包括PCIE+DMA架构,所述的DMA具有主动实现地址维护、中断生成、消息报文生成、读写指令生成、读返回数据整理和信元管理功能;其特征在于按以下步骤进行:(1)在初始化过程中,CPU分配一片固定的连续缓存空间给外设进行循环读写数据的操作,将该连续缓存空间分成若干等长度的小片缓存空间,并将该连续缓存空间的起始地址及小片缓存空间的长度以参数配置的方式告知外设,这样外设在进行数据的读写操作时,每一个待处理的数据报文的地址就已经固定下来;上述连续等长的小片缓存空间即构成读/写循环存储结构;(2)当外设需向内存写入数据时,外设对每个报文进行递增式的循环编号,将代表报文序号的编号值嵌入到访问数据中,同时根据写循环存储结构计算的地址,在外设计算的写信元条件满足时,向循环存储结构的当前地址发起DMA写请求操作,DMA写信元机制保证即将发起的DMA写操作不会覆盖已有的,且未被CPU处理的数据,在DMA写请求操作过程中,对写入的报文数量和时间进行计数,当访问数量或超时条件满足时,外设需向固定的消息内存中写入消息报文,且向CPU发起中断报文,CPU收到中断报文后,读取消息报文的内容,并根据消息报文的内容管理内存;(3)当外设需从内存中读取数据时,根据外设计算的读信元决定是否发起读请求,DMA读信元包含接收数据信元和发起读请求信元两种信元;两种信元都满足时才能发起请求,再根据读循环存储结构计算的地址,再向读循环存储结构的当前地址发起DMA读请求操作,外设信元机制保证有足够的空间来接收读应答数据;在DMA进行读请求操作过程中,对读出的报文数量和时间进行计数,当收到包数或超时条件满足时,需向固定的消息内存发起消息报文,且向CPU发起中断报文,CPU收到中断报文后,更新并释放内存空间。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉中元华电电力设备有限公司,未经武汉中元华电电力设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810078793.7/,转载请声明来源钻瓜专利网。