[发明专利]DMA发送方法有效
申请号: | 201110404212.2 | 申请日: | 2011-12-07 |
公开(公告)号: | CN102420763A | 公开(公告)日: | 2012-04-18 |
发明(设计)人: | 楼俊荣 | 申请(专利权)人: | 中国航空无线电电子研究所 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/40 |
代理公司: | 上海和跃知识产权代理事务所 31239 | 代理人: | 孟建勇 |
地址: | 200233 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dma 发送 方法 | ||
技术领域
本发明涉及一种通信技术,特别是涉及一种DMA(Direct Memory Access,直接存储器存取)发送方法。
背景技术
随着航空电子系统架构的不断升级,计算机技术的飞速发展,单板计算机的处理能力大幅提高,系统的通信瓶颈将不再是处理模块,而是模块与模块间、系统与系统之间的数据通信带宽。航空电子总线技术正越来越被大家所关注。IEEE 1394B等一些高速串行总线正被逐渐应用到先进的航空电子系统设计中,它具有高速(最高支持3.2Gbps)、热插拔、点对点传输、易扩展、传输距离远等显著优点。
根据在军事和航空交通领域中的应用,在IEEE 1394B总线的基础上,SAE(Society of Automotive Engineers,美国机动车工程师学会)于2004年12月制定了AS5643标准,规范了1394B数据总线网络在军事和航空飞行器领域中的应用,定义了相关操作方式和信息流格式。AS5643标准定义了CC(Control Computer,控制计算机)节点和REMOTE(远程)节点。CC节点以固定的频率发送帧开始包(STOF,Start Of Frame)作为网络中所有节点收发数据的时间基准。其他的REMOTE节点以STOF包为时间基准,按照CC节点规定的发送偏移和接收偏移来时间触发该节点的收发操作。原有的模块间数据传输模式(如ARINC629总线传输速度2Mbps和1553B总线传输速度1Mbps,ARINC429总线传输速度100Kbps)存在速度慢、耗费系统资源和不易扩展的不足。
发明内容
本发明所要解决的技术问题是提供一种DMA发送方法,其实现了连续发送多个数据包,按照AS5643标准,实现AS5643网络的大容量数据的传输,并确保系统的确定性、实时性和可靠性。
本发明是通过下述技术方案来解决上述技术问题的:一种DMA发送方法,其特征在于,其包括以下步骤:
步骤301,根据应用层确定每个周期发送数据包长度和个数,个数记为N;
步骤302,为每个数据包创建描述符;
步骤303,判断是否为第一个描述符,是则转至步骤304,否则转至步骤311;
步骤304,把当前描述符作为新描述符队列的首尾;
步骤305,把链路层上下文控制寄存器中的RUN位清零,表示结束对描述符的处理;
步骤306,根据链路层上下文控制寄存器中的有效位来查看上一步骤执行的结果,表示是否已经结束描述符的处理,“1”表示正在处理,要继续等待,“0”表示已经结束处理,一直等到描述符处理结束;
步骤307,把描述符地址写入链路层命令指针寄存器中,用于通知DMA控制器首个描述符的地址;
步骤308,把链路层上下文控制寄存器中的RUN位置“1”,表示开始对描述符进行处理;
步骤309,判断N个数据包是否发送完成,是则转至步骤314直接退出,否则转至步骤310;
步骤310,集中准备DMA发送描述符,不再等待DMA发送完成中断;直接转至步骤302为下一个数据包准备描述符;
步骤311,如果不是第一个描述符,则把当前描述符添加到描述符队列中,作为描述符队列的尾;
步骤312,把描述符地址写入链路层命令指针寄存器中,用于通知DMA控制器描述符的地址;
步骤313,由于不是第一个描述符,把链路层上下文控制寄存器中的WAKE位置“1”,通知DMA控制器可以继续处理描述符;
步骤314,完成发送N个数据包,退出。
优选地,所述步骤301之前就对数据包长度进行优化。
优选地,所述步骤302将数据包地址赋给描述符。
优选地,所述每个数据包的发送都要调用链路层中的DMA控制器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空无线电电子研究所,未经中国航空无线电电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110404212.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体装置及其制造方法
- 下一篇:一种用于数字网报的精度更新系统