[发明专利]一种UART设备的数据DMA传输方法有效
| 申请号: | 201910358026.6 | 申请日: | 2019-04-30 |
| 公开(公告)号: | CN110059042B | 公开(公告)日: | 2023-02-07 |
| 发明(设计)人: | 马宇;刘卓;刘兵 | 申请(专利权)人: | 成都启英泰伦科技有限公司 |
| 主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F13/42 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 610041 四川省成都市高新区*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 uart 设备 数据 dma 传输 方法 | ||
一种UART设备的数据DMA传输方法,包括如下步骤:S1.初始化:初始化UART设备为DMA工作模式,建立DMA传输通道;S2.设置缓存链;S3.应用层数据打包:原始待发数据添加包头信息,包头信息包括包头同步标记;S4.链路层数据打包;S5.系统检测DMA是否处于空闲状态,是则发出DMA使能信号,开始发送数据。S6.计算缓存区数据量,解码数据。本发明通过设计DMA链表缓存,将发送数据进行链路层、应用层两次打包,通过查询方式检测DMA传输数据量,并对链表缓存数据进行完整数据包解析,提高了数据传输的效率以及准确率,提升了MCU的利用率。
技术领域
本发明属于软件技术领域,涉及数据传输技术,具体涉及一种UART设备的数据DMA传输方法。
背景技术
通用异步收发传输器通常称作UART(Universal Asynchronous Receiver/Transmitter)。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART设备通常被集成于其他通讯接口的连结上。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART设备用于主机与辅助设备通信。
通常情况下,UART设备以中断或者查询的形式来传输或者接收数据,是通过MCU控制UART的内部FIFO来实现的。但不论是以中断还是以查询的形式,传输过程中总是会占用到MCU的时间。这样,在传输大数据量时,如音频数据、升级固件数据时,串口数据包较大,UART设备的发送过程会触发大量中断,MCU需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,MCU对于其他的工作来说就无法使用,其中大多数时间可能是在等待数据包传输完成从而影响系统的运行速率,并且还可能出现数据丢失或者错误,从而导致数据传输的效率较低。
发明内容
为克服现有技术存在的技术缺陷,本发明公开了一种UART设备的数据DMA传输方法。
本发明所述UART设备的数据DMA传输方法,包括如下步骤:
S1.初始化:初始化UART设备为DMA工作模式,建立DMA传输通道;
所述工作模式中,设置DMA传输中每传输K 大小的数据触发一次中断,所述K可以整除L并小于L ,所述L为S2中链表缓存块的存储空间大小;
S2.设置缓存链:申请缓存空间,将缓存分成M个大小相等的链表缓存块,并将这些链表缓存块组成一个环形缓存链,初始化缓存空间,将环形缓存链中的数据源地址和目标地址作为DMA传输的数据源地址、数据目标地址,
S3. 应用层数据打包:原始待发数据添加包头信息,包头信息包括包头同步标记;
S4. 链路层数据打包:将应用层打包完成的数据在数据头部添加数据开始标记,在数据末尾添加结束标记;链路层数据打包完成后,返回打包后的数据长度,数据包传给UART传输用数据接口;
S5.系统检测DMA是否处于空闲状态,是则发出DMA使能信号,开始发送数据;
S6. 数据接收,通过读取DMA寄存器数据和DMA中断触发次数,计算目前缓存区数据量大小,并检测数据量变化,如果数据量增加,则进行数据解码;
步骤S4中,对数据进行转义,所述转义具体为:检测包头和包尾之间的数据是否有和所述开始标记或结束标记相同的字节段,如果有则将该字节段自动复制扩展一次;
步骤S6中对应的解码方式为:去掉开始标记和结束标记,检测剩余数据是否存在有和所述开始标记或结束标记相同的字节段,有则继续检测其临近字节是否存在有和所述开始标记或结束标记相同的字节段,如果临近字节存在有和所述开始标记或结束标记相同的字节段,则去掉一个和所述开始标记或结束标记相同的字节段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都启英泰伦科技有限公司,未经成都启英泰伦科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910358026.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:传输系统
- 下一篇:数据处理器及用于控制数据处理器的方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





