-
题名基于DMA的高速UART串口通信设计与实现
被引量:26
- 1
-
-
作者
牛洪海
臧峰
周绪贵
-
机构
南京南瑞继保电气有限公司
-
出处
《自动化仪表》
CAS
2018年第9期45-48,共4页
-
文摘
使用直接内存存取(DMA)方式接收报文时,必须先向DMA控制器指定需要接收的字节。当DMA控制器接收到指定字节后,产生DMA传输中断。但是在实际应用时,串口接收报文的字节往往是不固定的。针对DMA必须接收固定长度的数据才产生传输中断的不足,设计了外部中断与定时器相结合的方法来解决这一问题。该方法兼顾了DMA传输不需要CPU干预的优点,又弥补了其不能传输不定长数据的缺陷。外部中断由一个与串口RXD引脚相连接的外部引脚产生。该中断产生的EVENT事件与定时器的输入事件相关联。设置定时器为Retrigger模式,接收到EVENT事件后清零定时器的累计时间;而当定时器一定时间内接收不到EVENT事件后就会超时产生中断,在超时中断服务程序中进行报文处理。由于使用了定时器超时中断进行报文处理,实现了不定长报文的接收和处理,满足了串口通常传输不定长报文的需求。
-
关键词
直接内存存取
不定长
外部中断
通用异步收发器
定时器
超时中断
-
Keywords
Direct memory access(DMA)
Indefinite length
External interrupt
Universal asynchronous receiver transmitter(UART)
Timer
timeout interrupt
-
分类号
TH865
[机械工程—精密仪器及机械]
TP27
[自动化与计算机技术—检测技术与自动化装置]
-