当前位置: 首页 > 专利查询>之江实验室专利>正文

一种可配置功能模式的DMA控制器运行方法技术

技术编号:33073352 阅读:12 留言:0更新日期:2022-04-15 10:08
本发明专利技术涉及数据传输技术领域,尤其涉及一种可配置功能模式的DMA控制器运行方法,该方法在保留现有DMA数据搬运模式的情况下,增加执行模式,执行模式运行时可自动多次从系统存储器中读取数据至特定内存映射外接设备,待外接设备完成数据处理后存储回特定系统存储空间,除进入及退出模式时,DMA控制器在执行模式运行时不需要处理器介入干预。运行时不需要处理器介入干预。运行时不需要处理器介入干预。

【技术实现步骤摘要】
一种可配置功能模式的DMA控制器运行方法


[0001]本专利技术涉及数据传输
,尤其涉及一种可配置功能模式的DMA控制器运行方法。

技术介绍

[0002]DMA(Direct Memory Access, 直接存储器访问)方式是一种直接完成系统存储器与外接设备之间数据搬运的数据传输方式,因传输过程通过硬件进行,仅传输开始与结束时需处理器介入处理,不需要大量的处理器干预调度,多用于大量数据的高速传输,可有效减少数据传输时间并减少处理器运行负荷。且DMA进行数据传输期间,处理器可执行其他任务,可提高处理器运行效率。
[0003]然而目前的DMA控制器在接收处理器的一次发起指令后,一般只可进行一次存储器至外接设备或外接设备至存储器的数据传输,因对图像及音频视频等处理需求的增长,对大量数据进行相同处理的需求日益增多,如需多次进行从存储器读取数据至特定外接设备,等外接设备完成数据处理后存回系统存储器的操作,以目前的DMA控制器设计仍需进行多次处理器发起/完成DMA数据传输指令,将影响处理器效率及数据传输速度。

技术实现思路

[0004]为了解决现有技术中存在的上述技术问题,本专利技术提供了一种可配置功能模式的DMA控制器运行方法,其具体技术方案如下:一种可配置功能模式的DMA控制器运行方法,运用于SOC片上系统,包括以下步骤:步骤一,初始化系统后,处理器通过写入配置信息到对应内存映射寄存器完成对搬运及执行模式所需信息的配置;步骤二,处理器通过写入运行信息到对应内存映射寄存器发起指令,DMA控制器判断自身是否处于配置模式,若不是则反馈访存成功,后进行搬运及执行模式的判断;步骤三,若进入搬运模式,所述DMA控制器则首先通过读取数据传输方向寄存器确定数据输入,根据输入方向完成从外设向存储器或相反方向的数据搬运;步骤四,若进入执行模式,将存储器初始地址写入当前存储器地址寄存器,将目标存储器初始地址写入目标当前地址寄存器,所述DMA控制器根据已写入配置信息控制存储器与外设进行数据交互,并启动外设进行数据处理,直到存储器中全部目标数据经过外设处理,并将全部结果写回存储器目标地址。
[0005]进一步的,所述步骤一,具体包括:步骤1.1,将系统初始化后,所有配置信息寄存器将初始化为0,处理器尝试进入配置模式;步骤1.2,为进入配置模式,处理器向配置进行状态寄存器写入1;步骤1.3,尝试写入时,所述DMA控制器将判断自身闲置状态,即读取运行状态寄存器现存数值,若数值为0,则反馈访存写入成功,进入配置模式;若数值为1,则所述DMA控制
器向处理器反馈访存写入失败。
[0006]步骤1.4,进入配置模式后,处理器按需向相应内存映射寄存器写入配置信息,不需要的地址空出,完成后,向配置进行状态寄存器写入0,退出配置模式。
[0007]进一步的,所述步骤二,具体包括:步骤2.1,处理器通过写入运行信息对应内存映射寄存器发起指令,进行时所述DMA控制器判断自身是否处于配置模式,即查看配置进行状态寄存器现存数值,若数值为0,则反馈访存写入成功;若数值为1,则所述DMA控制器向处理器反馈访存写入失败;步骤2.2,若反馈访存写入成功,处理器向数据有效状态寄存器写入1,所述DMA控制器进入模式判断,将完成状态寄存器拉低,错误状态寄存器写入0,并激活比较模块;步骤2.3,进入模式判断后,所述DMA控制器查看外设对应内存起始地址或目标存储器初始地址为0,则进入搬运模式判断,向模式判断寄存器写入0;反之,进入执行模式判断,向模式判断寄存器写入1。
[0008]进一步的,所述进入搬运模式判断,具体为:所述比较模块进行以下条件的判断:首先查看所有搬运模式寄存器数值,若任一数值为0,所述DMA控制器向处理器发送中断,将错误状态寄存器改为1,完成状态寄存器拉高;以上判断通过后,搬运模式系统存储器内存起始地址与系统存储器初始地址进行比较,前者应小于或等于后者;之后使用加法器计算系统存储器初始地址与初始数据大小之和,与搬运模式系统存储器内存末尾地址,前者应小于或等于后者;如上述任一条件不满足,所述DMA控制器向处理器发送中断,将错误状态寄存器改为2,完成状态寄存器拉高;若以上条件满足,则查看初始数据大小寄存器,若数值为0,所述DMA控制器向处理器发送中断,将错误状态寄存器改为4,完成状态寄存器拉高。
[0009]进一步的,所述进入执行模式判断,具体为:所述比较模块进行以下判定:首先查看所有执行模式寄存器数值,若所有类型均存在至少一项数值为0,所述DMA控制器向处理器发送中断,将错误状态寄存器改为1,完成状态寄存器拉高;外设对应内存起始地址,与执行模式外设对应内存起始地址进行依次匹配,若该地址不能与其中任一配置地址匹配,则所述DMA控制器向处理器发送中断,将错误状态寄存器改为3,完成状态寄存器拉高;若成功匹配,假设匹配成功类型为1,则对匹配类型寄存器写入1,以下步骤中相关信息均对应类型1;之后,查看初始数据大小及目标数据大小寄存器,若任一数值为0,所述DMA控制器向处理器发送中断,将错误状态寄存器改为4,完成状态寄存器拉高;若通过上述判定,则查看系统存储器地址是否符合配置预设范围。
[0010]进一步的,所述步骤三,具体为:若进入搬运模式,所述DMA控制器则通过读取数据传输方向寄存器确定数据输入,即:如状态为0,则为外设向存储器传输;如状态为1,则为存储器向外设传输,将存储器初始地址写入当前存储器地址寄存器,将初始数据大小写入存储器及外设剩余数据大小寄存器。
[0011]进一步的,若为外设向存储器传输状态,则在外设接口数据有效且FIFO不全满时将数据写入FIFO缓存,更新外设剩余数据大小,并在FIFO不为空时以当前存储器地址为目标将缓存中尾端数据依次写入存储器,DMA控制器在FIFO不全满时向外设接口发出ready信号,同时当存储器反馈写入成功时,将对应数据清出FIFO,并更新当前存储器地址及存储器剩余数据大小,同时判断剩余数据大小是否为0,如不是,则重复上述过程;反之,DMA控制器
向处理器发送中断,将完成状态寄存器拉高,所有除配置信息的地址内存映射寄存器清零,DMA控制器恢复闲置状态。
[0012]进一步的,若为存储器向外设传输状态,则在FIFO不全满时向存储器以当前存储器地址为目标发出读取请求,如读取成功,将获取数据写入FIFO,并更新当前存储器地址及存储器剩余数据大小,同时判断剩余数据大小是否为0,如不是,则重复上述过程;反之,停止数据读取;同时,在FIFO不全空时且外设界面收到ready信号时将尾端数据清出FIFO,写入外设接口并拉高接口valid信号,并更新外设剩余数据大小并判断其是否为0,如不是,则重复上述过程;反之,DMA控制器向处理器发送中断,将完成状态寄存器拉高,所有除配置信息的地址内存映射寄存器清零,DMA控制器恢复闲置状态。
[0013]进一步的,所述步骤四,具体包括:步骤4.1,进入执行模式配置状态后,通过匹配类型寄存器寻找到该外设对应的配置信息,将该信息通过内存访问指令依次写入本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可配置功能模式的DMA控制器运行方法,运用于SOC片上系统,其特征在于,包括以下步骤:步骤一,初始化系统后,处理器通过写入配置信息到对应内存映射寄存器完成对搬运及执行模式所需信息的配置;步骤二,处理器通过写入运行信息到对应内存映射寄存器发起指令,DMA控制器判断自身是否处于配置模式,若不是则反馈访存成功,后进行搬运及执行模式的判断;步骤三,若进入搬运模式,所述DMA控制器则首先通过读取数据传输方向寄存器确定数据输入,根据输入方向完成从外设向存储器或相反方向的数据搬运;步骤四,若进入执行模式,将存储器初始地址写入当前存储器地址寄存器,将目标存储器初始地址写入目标当前地址寄存器,所述DMA控制器根据已写入配置信息控制存储器与外设进行数据交互,并启动外设进行数据处理,直到存储器中全部目标数据经过外设处理,并将全部结果写回存储器目标地址。2.如权利要求1所述的一种可配置功能模式的DMA控制器运行方法,其特征在于,所述步骤一,具体包括:步骤1.1,将系统初始化后,所有配置信息寄存器将初始化为0,处理器尝试进入配置模式;步骤1.2,为进入配置模式,处理器向配置进行状态寄存器写入1;步骤1.3,尝试写入时,所述DMA控制器将判断自身闲置状态,即读取运行状态寄存器现存数值,若数值为0,则反馈访存写入成功,进入配置模式;若数值为1,则所述DMA控制器向处理器反馈访存写入失败;步骤1.4,进入配置模式后,处理器按需向相应内存映射寄存器写入配置信息,不需要的地址空出,完成后,向配置进行状态寄存器写入0,退出配置模式。3.如权利要求2所述的一种可配置功能模式的DMA控制器运行方法,其特征在于,所述步骤二,具体包括:步骤2.1,处理器通过写入运行信息对应内存映射寄存器发起指令,进行时所述DMA控制器判断自身是否处于配置模式,即查看配置进行状态寄存器现存数值,若数值为0,则反馈访存写入成功;若数值为1,则所述DMA控制器向处理器反馈访存写入失败;步骤2.2,若反馈访存写入成功,处理器向数据有效状态寄存器写入1,所述DMA控制器进入模式判断,将完成状态寄存器拉低,错误状态寄存器写入0,并激活比较模块;步骤2.3,进入模式判断后,所述DMA控制器查看外设对应内存起始地址或目标存储器初始地址为0,则进入搬运模式判断,向模式判断寄存器写入0;反之,进入执行模式判断,向模式判断寄存器写入1。4.如权利要求3所述的一种可配置功能模式的DMA控制器运行方法,其特征在于,所述进入搬运模式判断,具体为:所述比较模块进行以下条件的判断:首先查看所有搬运模式寄存器数值,若任一数值为0,所述DMA控制器向处理器发送中断,将错误状态寄存器改为1,完成状态寄存器拉高;以上判断通过后,搬运模式系统存储器内存起始地址与系统存储器初始地址进行比较,前者应小于或等于后者;之后使用加法器计算系统存储器初始地址与初始数据大小之和,与搬运模式系统存储器内存末尾地址,前者应小于或等于后者;如上述任一条件不满足,所述
DMA控制器向处理器发送中断,将错误状态寄存器改为2,完成状态寄存器拉高;若以上条件满足,则查看初始数据大小寄存器,若数值为0,所述DMA控制器向处理器发送中断,将错误状态寄存器改为4,完成状态寄存器拉高。5.如权利要求3所述的一种可配置功能模式的DMA控制器运行方法,其特征在于,所述进入执行模式判断,具体为:所述比较模块进行以下判定:首先查看所有执行模式寄存器数值,若所有类型均存在至少一项数值为0,所述DMA控制器向处理器发送中断,将错误状态寄存器改为1,完成状态寄存器拉高;外设对应内存起始地址,与执行模式外设对应内存起始地址进行依次匹配,若该地址不能与其中任一配置地址匹配,...

【专利技术属性】
技术研发人员:曹玥杨建国张文君
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1