【技术实现步骤摘要】
本专利技术属于计算机及信息
,具体涉及一种在嵌入式系统的串行设备驱动程序中使用DMA方式替代中断方式提高串行数据处理能力的方法。
技术介绍
串行设备驱动程序是嵌入式系统中最常见的驱动程序。在嵌入式系统中,微控制器MCU一般通过中断方式与串行设备交换数据,当串行设备通信速率较高时,MCU的通用异步收发器UART单元往往设计足够大的先入先出单元FIFO用于串行数据的缓冲,串行数据先进入FIFO队列,当FIFO队列的数据达到一定数量时产生硬件中断请求,使MCU转入相应的中断服务程序。这样做的好处在于减少MCU中断请求的次数,提高串行数据处理能力,相应的串行设备驱动程序也比较简单。但是也有一些低成本MCU的UART硬件FIFO资源不足,导致在与高速串行设备通信时,使用常规的中断方式会产生过于频繁的中断请求,容易造成串行数据的丢失,无法满足系统要求。这类MCU的UART往往只有通过DMA传输通道才能获得更高的通信速率。
技术实现思路
本专利技术的目的为了克服上述现有技术存在的缺陷,提供,主要在嵌入式系统的串行设备驱动程序中,通过加入对直接存储器存取DMA传输方式的支持 ...
【技术保护点】
一种提高嵌入式系统的串行数据处理能力的方法,该方法按以下步骤进行:(1)在驱动装载模块中注册定时器中断,设置定时器时间间隔T;(2)在驱动卸载模块中注销定时器中断;(3)在打开串口模块中注册DMA中断,串口接收和发送分别采用不同的DMA通道;(4)设置DMA配置寄存器,确定DMA传输的源地址、目的地址和传输长度;对于串口DMA读操作,源地址为UART的数据寄存器,目的地址为接收缓冲区rcvbuf;对于串口DMA写操作,源地址为接收缓冲区transbuf,目的地址为UART的数据寄存器;(5)启动定时器中断和DMA中断;(6)在关闭串口模块中停止定时器和DMA中断,然后注销D ...
【技术特征摘要】
1.一种提高嵌入式系统的串行数据处理能力的方法,该方法按以下步骤进行(1)在驱动装载模块中注册定时器中断,设置定时器时间间隔T;(2)在驱动卸载模块中注销定时器中断;(3)在打开串口模块中注册DMA中断,串口接收和发送分别采用不同的DMA通道;(4)设置DMA配置寄存器,确定DMA传输的源地址、目的地址和传输长度;对于串口DMA读操作,源地址为UART的数据寄存器,目的地址为接收缓冲区rcvbuf;对于串口DMA写操作,源地址为接收缓冲区transbuf,目的地址为UART的数据寄存器;(5)启动定时器中断和DMA中断;(6)在关闭串口模块中停止定时器和DMA中断,然后注销DMA中断;(7)加入DMA收发中断处理函数,物理设备层与逻辑设备层使用异步读写机制交换数据;(8)加入定时器中断处理函数,完成定时检测POLL方法,DMA中断计数在步骤7中更新,DMA传输计数表示当前通过DMA通道收到的字节数。2.根据权利要求1所...
【专利技术属性】
技术研发人员:胡士毅,唐运刚,吴玲琦,赵勋,
申请(专利权)人:武汉虹信通信技术有限责任公司,
类型:发明
国别省市:83[中国|武汉]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。