CN102708079B - 应用于微控制器的控制数据传输的方法及*** - Google Patents
应用于微控制器的控制数据传输的方法及*** Download PDFInfo
- Publication number
- CN102708079B CN102708079B CN201210153597.4A CN201210153597A CN102708079B CN 102708079 B CN102708079 B CN 102708079B CN 201210153597 A CN201210153597 A CN 201210153597A CN 102708079 B CN102708079 B CN 102708079B
- Authority
- CN
- China
- Prior art keywords
- data
- transfer request
- data transfer
- data transmission
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Bus Control (AREA)
Abstract
本发明提供一种应用于微控制器的控制数据传输的方法及***。根据本发明所述的方法,先基于微控制器中数据处理单元输出每一个数据传输请求的端口的优先级选择一个数据传输请求;接着,控制微控制器中接口单元基于所选择数据传输请求来传输所述数据处理单元与***存储设备之间的数据,直至完成数据传输;重复前述两步骤,直至完成所有数据传输请求的数据传输。本发明能够通过输出各数据传输请求的端口的优先级来选择并控制接口单元基于一个数据传输请求来进行数据传输,由此能够有效提高微控制器的工作效率。
Description
技术领域
本发明涉及一种控制数据传输的方法及***,特别涉及一种应用在微控制器中,控制所述微控制器中的接口单元来传输所述微控制器与***存储设备之间的数据的方法及***。
背景技术
随着微控制器技术的发展,微控制器控制与***存储设备进行数据传输的模式已有单一模式转变为多种模式并存,这需要微控制器能够无冲突地在每一种数据传输模式下传输数据,目前常用的方式主要有基于时间的轮询技术,该技术是基于预估所述微控制器控制数据传输的每一种模式传输数据所需的时间来为每一种数据传输请求提供一定的数据传输时间,以便微控制器与***存储设备能够无冲突地实现数据传输,然而,该种数据传输的方式的缺陷在于,微控制器在每一种数据传输模式下的数据所需的时间与预设的传输时间不匹配,导致微控制器或者无法完成数据传输或者浪费时间的等待预设的剩余时间才能释放当前的数据传输资源,以递交给下一个数据传输模式。因此,需要对现有的轮询技术进行改进,以提高微控制器的工作效率。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种应用于微控制器的控制数据传输的方法及***,以提高微控制器的工作效率。
为实现上述目的及其他相关目的,本发明提供一种应用于微控制器的控制数据传输的方法,所述微控制器包括接口单元和数据处理单元,所述数据处理单元通过所述接口单元与***存储设备进行数据传输,其包括:1)基于所述数据处理单元输出每一个数据传输请求的端口的优先级选择一个数据传输请求;2)基于所选择数据传输请求,控制所述接口单元传输所述数据处理单元与所述***存储设备之间的数据,直至完成数据传输;重复步骤1)和步骤2),直至完成所有数据传输请求的数据传输。
优选地,当所述数据处理单元输出的多个数据传输请求中包括Master读/写请求时,所述步骤1)还包括:接收所述接口单元的对应所述Master读/写请求的响应信号,并当判断所述响应信息号为所述接口单元能够基于所述Master读/写请求来传输数据,则基于每一个输出数据传输请求的端口的优先级来选择一个数据传输请求;反之,则基于除输出所述Master读/写请求的端口以外的输出其余数据传输请求的端口的优先级来选择一个数据传输请求。
优选地,当所述数据处理单元输出各数据传输请求的端口属于同一优先级,则所述步骤1)还包括:基于循环仲裁机制从属于同一优先级的多个端口中选择一个端口所对应的数据传输请求。
优选地,所述步骤2)还包括:当控制所述接口单元基于所选择的数据传输请求完成数据传输,且下一个数据传输请求与所完成的数据传输请求来自同一端口时,不执行步骤1),而继续控制所述接口单元基于所述下一个数据传输请求传输所述数据处理单元与所述***存储设备之间的数据,反之,所述下一个数据传输请求与所完成的数据传输请求来自不同端口,则重复执行步骤1)。
优选地,当控制所述接口单元从所述***存储设备读取数据时,所述步骤2)还包括:将所述接口单元读取的数据进行异或运算后再传至所述数据处理单元。
优选地,所述数据处理单元包括:微处理器、hif接口、DMA单元、特殊功能寄存器、dmem单元和pmem单元中的一种或多种。
基于上述目的,本发明还提供一种数据传输的控制***,应用于微控制器中的接口单元,所述微控制器还包括数据处理单元,所述数据处理单元通过所述接口单元与***存储设备进行数据传输,其包括:数据传输选择模块,用于基于所述数据处理单元输出的每一个数据传输请求的端口的优先级选择一个数据传输请求;数据传输控制模块,用于基于所选择数据传输请求控制所述接口单元传输所述数据处理单元与所述***存储设备之间的数据,直至完成数据传输;重复操作数据传输选择模块和数据传输控制模块,直至完成所有数据传输请求的数据传输。
优选地,当所述数据处理单元输出的多个数据传输请求中包括Master读/写请求时,所述数据传输选择模块还包括:第一子数据传输选择单元,用于接收来自所述接口单元的对应所述Master读/写请求的响应信号,并当判断所述响应信息号为所述接口单元能够基于所述Master读/写请求来传输数据,则基于每一个输出数据传输请求的端口的优先级来选择一个数据传输请求;反之,则基于除输出所述Master读/写请求的端口以外的输出其余数据传输请求的端口的优先级来选择一个数据传输请求。
优选地,当所述数据处理单元输出各数据传输请求的端口属于同一优先级,则所述数据传输选择模块还包括:第二子数据传输选择单元,用于基于循环仲裁机制从属于同一优先级的多个端口中选择一个端口所对应的数据传输请求。
优选地,当控制所述接口单元基于所选择的数据传输请求完成数据传输,且下一个数据传输请求与所完成的数据传输请求来自同一端口时,所述数据传输控制模块还包括:子数据传输控制单元,用于继续控制所述接口单元基于所述下一个数据传输请求传输所述数据处理单元与所述***存储设备之间的数据,反之,所述下一个数据传输请求与所完成的数据传输请求来自不同端口,重复执行所述数据传输选择模块。
优选地,当控制所述接口单元从所述***存储设备读取数据时,所述控数据传输控制模块还包括:异或运算单元,用于将所述接口单元读取的数据进行异或运算后再传至所述数据处理单元。
优选地,所述数据处理单元包括:微处理器、hif接口、DMA单元、特殊功能寄存器、dmem单元和pmem单元中的一种或多种。
如上所述,本发明的应用于微控制器的控制数据传输的方法及***,具有以下有益效果:通过设定输出各数据传输请求的端口的优先级来控制多个数据传输请求的数据传输,能够有效提高微控制器的工作效率,同时能有效解决时间轮询技术中预估时间所带来的各种异常情况;另外,在当前数据传输完成,且下一个数据传输请求与所完成的数据传输请求来自同一端口时,判断是否重新选择一个数据传输请求,当无需退出当前数据传输请求时,能够高效的继续进行数据传输;此外,通过对所读取的***存储设备中的数据进行异或运算能够大大提高读入数据的安全性。
附图说明
图1显示为本发明的应用于微控制器的控制数据传输的方法流程图。
图2显示为本发明的微控制器与***存储设备进行数据传输的工作示意图。
图3显示为本发明的应用于微控制器的数据传输的控制***的结构示意图。
图4显示为本发明的应用于微控制器的数据传输的控制***的一实施例的结构示意图。
元件标号说明
1 微控制器
11 数据处理单元
111 微处理器
112 hif接口
113 dmem单元
114 pmem单元
115 DMA单元
12 数据传输的控制***
121 数据传输选择模块
122 数据传输控制模块
16 数据选择单元
17 特殊功能寄存器
18 接口单元
2 ***存储设备
S1-S2 步骤
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
图1显示为本发明的应用于微控制器的控制数据传输的方法流程图。本发明所述的方法主要由控制***来执行,如图2所示,所述控制***为安装在微控制器(Micro-Controller Unit,MCU)中的接口单元18中的应用模块,该微控制器1为一种能够按照事先存储的程序,自动、高速地进行大量数值计算和各种信号处理的现代化智能电子设备,且能与***存储设备2进行数据传输,其硬件还包括:与所述接口单元18连接的数据处理单元11,其中,所述数据处理单元11包括但不限于:微处理器111、hif接112(host interface主机接口)、dmem单元113(data memory数据存储单元)和pmem单元114(program memory程序存储单元)、DMA单元115(Direct Memory Access直接内存存取单元)、多个数据选择单元16(MUX)、以及通过所述数据选择单元16与所述微处理器111和所述hif接112连接的特殊功能寄存器17,其中,所述数据选择单元16还与所述dmem单元113和所述pmem单元114连接,所述数据选择单元16还与所述hif接112连接。所述特殊功能寄存器17包括但不限于:FLASH_CTRL寄存器、FLASH_DATA寄存器、FLASH_STATUS寄存器,优选地,所述微处理器111为R8051芯片,所述接口单元18用于基于预设的通信协议来实现所述数据处理单元11与***存储设备2的数据传输。所述***存储设备2包括但不限于:Flash存储芯片、EPROM存储芯片等。
在步骤S1中,所述控制***12基于所述数据处理单元输出的每一个数据传输请求的端口的优先级选择一个数据传输请求。其中,所述数据传输请求指所述数据处理单元11与***存储设备2准备进行数据交互的请求,其包括但不限于:Boot写数据请求(启动写数据请求)、Master读/写数据请求(主控度/写数据请求)、DMA读数据请求(直接内存存取读数据请求)、Target读数据请求(目标端读数据请求)和Mem读数据请求(内存读数据请求)。其中Boot写数据请求为微控制器上电后将***存储设备2中的数据写入所述dmem单元113和pmem单元114的请求;所述Master读/写数据请求指所述微处理器111或hif接口112通过特殊功能寄存器17与***存储设备2进行读/写数据的请求;所述DMA读数据请求指所述DMA单元115直接读取***存储设备2中的数据的请求;所述Target读数据请求指所述hif接口112直接读取***存储设备2中的数据的请求;Mem读数据指所述微处理器111直接读取***存储设备2中的数据的请求。所述数据处理单元11输出每一个数据传输请求的端口包括但不限于:dmem单元113和pmem单元114输出Boot写数据请求的端口、所述微处理器111或hif接口112通过特殊功能寄存器17输出Master读/写数据请求的端口、所述DMA单元115输出DMA读数据请求的端口、所述hif接口112输出直接读取***存储设备2数据的Target读数据请求的端口、所述微处理器111输出直接读取***存储设备2数据的Mem读数据请求的端口等。
例如,所述控制***12接收的多个数据传输请求包括:来自hif接口112的Target读数据请求、来自dmem单元113和pmem单元114的Boot写数据请求,预设输出Boot写数据请求的端口的优先级高于输出Target读数据请求的端口,则所述控制***12基于预设的优先级由高到低的顺序选择Boot写数据请求。
需要说明的是,本领域技术人员应该理解,上述基于端口的优先级由高到低来选择一个数据传输请求的方式仅为举例,事实上,任何基于每一个数据传输请求的端口的优先级来选择一个数据传输请求的方式均包含在本发明范围之内。
优选地,当所述数据处理单元输出的多个数据传输请求中包括Master读/写请求时,所述步骤S1还包括步骤S11(未予图示)。
在步骤S11中,所述控制***12接收所述接口单元的对应所述Master读/写请求的响应信号,并当判断所述响应信息号为所述接口单元能够基于所述Master读/写请求来传输数据,则基于每一个输出数据传输请求的端口的优先级来选择一个数据传输请求;反之,则基于除输出所述Master读/写请求的端口以外的输出其余数据传输请求的端口的优先级来选择一个数据传输请求。
具体地,当多个数据传输请求包括Maste读/写请求时,所述控制***12延时一个周期,以接收所述接口单元18内部确认的能够进行Maste读/写数据的响应信号,当判断所述响应信息号为所述接口单元18能够基于所述Master读/写请求来传输数据,则基于每一个输出数据传输请求的端口的优先级来控制所述接口单元18传输所述数据处理单元11与所述***存储设备2之间的数据;反之,则基于除输出所述Master读/写请求的端口以外的输出其余数据传输请求的端口的优先级来选择一个数据传输请求。
例如,所述控制***12接收的多个数据传输请求包括:来自hif接口112的经特殊功能寄存器17输出的Master写数据请求,以及来自DMA单元的DMA读数据请求,则所述控制***12延时一个周期,以供接口单元18输出mstr_mode_sync=1的响应信号,以表示所述接口单元18能够基于Master写数据的请求来通过特殊功能寄存器17向hif接口112进行写数据的操作;则所述控制***12基于预设的输出Master写数据请求的端口的优先级最高来选择Master写数据请求。
优选地,当所述数据处理单元输出各数据传输请求的端口属于同一优先级,则所述步骤S1还包括步骤S12(未予图示)。
在步骤S12中,所述控制***12基于循环仲裁机制从属于同一优先级的多个端口中选择一个端口所对应的数据传输请求。
例如,多个数据传输请求包括:来自DMA单元的DMA读数据请求、来自hif接口112的Target读数据请求和来自微处理器111的mem读数据请求,所述控制***12确定DMA读数据请求、Target读数据请求和mem读数据请求属于同一优先级,则所述控制***12基于预设的输出Target读数据请求的端口-输出DMA读数据请求的端口-输出mem读数据请求的端口-输出Target读数据请求的端口的循环仲裁机制选择Target读数据请求。
需要说明的是,本领域技术人员应该理解,上述基于预设的循环仲裁机制从输出每一个数据传输请求的端口中选择一个数据传输请求的方式仅为举例,事实上,任何基于循环仲裁机制从输出每一个数据传输请求的端口中选择一个数据传输请求的方式都包含在本发明范围之内。
在步骤S2中,所述控制***基于所选择数据传输请求控制所述接口单元18传输所述数据处理单元11与所述***存储设备2之间的数据,直至完成数据传输。重复步骤S1和步骤S2,直至基于所有数据传输请求完成数据传输。
例如,当所述控制***12基于所选择的Boot写数据请求来传输pmem单元114和dmem单元113与外部存储设备2之间的数据,当接收到所述数据处理单元11输出的boot-done信号来确定所述接口单元18完成Boot写数据的传输,则所述控制***12确定重新执行步骤S1,以便控制所述接口单元18基于其他数据传输请求来传输数据。
又如,所述数据处理单元11基于所选择的Master写数据请求来传输微处理器111与外部存储设备2之间的数据,当接收到所述FLASH_STATUS寄存器中的值变为0x03,则所述控制***12确定所述接口单元18完成基于Master写数据请求的数据传输,并重新执行步骤S1。
作为一种优选方案,当所述接口单元18从所述***存储设备2读取数据时,本发明所述步骤S2还包括:步骤S21(未予图示)。
在步骤S21中,所述控制***12将所述接口单元18读取的数据进行异或运算后传至所述数据处理单元11。
具体地,所述控制***12先将所述接口单元18读入的数据写入FLASH_MEMORY_XOR寄存器进行异或运算,再基于当前的数据传输请求将经异或运算的数据传输至所述数据处理单元11。
优选地,本发明所述步骤S2还包括步骤S22(未予图示)。
在步骤S22中,当控制所述接口单元18基于所选择的数据传输请求完成数据传输,且下一个数据传输请求与所完成的数据传输请求来自同一端口时,所述控制***12不执行步骤1),而继续控制所述接口单元18基于所述下一个数据传输请求传输所述数据处理单元11与所述***存储设备2之间的数据,反之,所述下一个数据传输请求与所完成的数据传输请求来自不同端口时,则重新执行步骤S1。
例如,所述接口单元18基于DMA读数据请求读取完最后一个数据,且下一个数据传输请求为来自hif接口112的Target读数据请求,则所述控制***12确定重新执行步骤S1以便重新选择一个数据传输请求。
又如,所述接口单元18基于DMA读数据请求读取了最后一个数据,且下一个数据传输请求仍为DMA读数据请求,则所述控制***12基于所述下一个DMA读数据请求控制所述接口单元18将***存储设备2中的相应数据读至所述DMA单元,而不执行步骤S1。
参见图3和图4,本发明还提供一种应用于微控制器的数据传输控制***12。所述控制***12包括:数据传输选择模块121、数据传输控制模块122。
所述数据传输选择模块121用于基于所述数据处理单元输出的每一个数据传输请求的端口的优先级选择一个数据传输请求。其中,所述数据传输请求指所述数据处理单元11与***存储设备2准备进行数据交互的请求,其包括但不限于:Boot写数据请求(启动写数据请求)、Master读/写数据请求(主控度/写数据请求)、DMA读数据请求(直接内存存取读数据请求)、Target读数据请求(目标端读数据请求)和Mem读数据请求(内存读数据请求)。其中Boot写数据请求为微控制器上电后将***存储设备2中的数据写入所述dmem单元113和pmem单元114的请求;所述Master读/写数据请求指所述微处理器111或hif接口112通过特殊功能寄存器17与***存储设备2进行读/写数据的请求;所述DMA读数据请求指所述DMA单元115直接读取***存储设备2中的数据的请求;所述Target读数据请求指所述hif接口112直接读取***存储设备2中的数据的请求;Mem读数据指所述微处理器111直接读取***存储设备2中的数据的请求。所述数据处理单元11输出每一个数据传输请求的端口包括但不限于:dmem单元113和pmem单元114输出Boot写数据请求的端口、所述微处理器111或hif接口112通过特殊功能寄存器17输出Master读/写数据请求的端口、所述DMA单元115输出DMA读数据请求的端口、所述hif接口112输出直接读取***存储设备2数据的Target读数据请求的端口、所述微处理器111输出直接读取***存储设备2数据的Mem读数据请求的端口等。
例如,所述数据传输选择模块121接收的多个数据传输请求包括:来自hif接口112的Target读数据请求、来自dmem单元113和pmem单元114的Boot写数据请求,预设输出Boot写数据请求的端口的优先级高于输出Target读数据请求的端口,则所述数据传输选择模块121基于预设的优先级由高到低的顺序选择Boot写数据请求。
需要说明的是,本领域技术人员应该理解,上述基于端口的优先级由高到低来选择一个数据传输请求的方式仅为举例,事实上,任何基于每一个数据传输请求的端口的优先级来选择一个数据传输请求的方式均包含在本发明范围之内。
优选地,当所述数据处理单元输出的多个数据传输请求中包括Master读/写请求时,所述数据传输选择模块121还包括第一子数据传输选择单元(未予图示)。
所述第一子数据传输选择单元用于接收所述接口单元的对应所述Master读/写请求的响应信号,并当判断所述响应信息号为所述接口单元能够基于所述Master读/写请求来传输数据,则基于每一个输出数据传输请求的端口的优先级来选择一个数据传输请求;反之,则基于除输出所述Master读/写请求的端口以外的输出其余数据传输请求的端口的优先级来选择一个数据传输请求。
具体地,当多个数据传输请求包括Maste读/写请求时,所述第一子数据传输选择单元延时一个周期,以接收所述接口单元18内部确认的能够进行Maste读/写数据的响应信号,当判断所述响应信息号为所述接口单元18能够基于所述Master读/写请求来传输数据,则基于每一个输出数据传输请求的端口的优先级来控制所述接口单元18传输所述数据处理单元11与所述***存储设备2之间的数据;反之,则基于除输出所述Master读/写请求的端口以外的输出其余数据传输请求的端口的优先级来选择一个数据传输请求。
例如,所述第一子数据传输选择单元接收的多个数据传输请求包括:来自hif接口112的经特殊功能寄存器17输出的Master写数据请求,以及来自DMA单元的DMA读数据请求,则所述控制***12延时一个周期,以供接口单元18输出mstr_mode_sync=1的响应信号,以表示所述接口单元18能够基于Master写数据的请求来通过特殊功能寄存器17向hif接口112进行写数据的操作;则所述第一子数据传输选择单元基于预设的输出Master写数据请求的端口的优先级最高来选择Master写数据请求。
优选地,当所述数据处理单元输出各数据传输请求的端口属于同一优先级,则所述数据传输选择模块还包括第二子数据传输选择单元(未予图示)。
所述第二子数据传输选择单元用于基于循环仲裁机制从属于同一优先级的多个端口中选择一个端口所对应的数据传输请求。
例如,多个数据传输请求包括:来自DMA单元的DMA读数据请求、来自hif接口112的Target读数据请求和来自微处理器111的mem读数据请求,所述第二子数据传输选择单元确定DMA读数据请求、Target读数据请求和mem读数据请求属于同一优先级,则所述第二子数据传输选择单元基于预设的输出Target读数据请求的端口-输出DMA读数据请求的端口-输出mem读数据请求的端口-输出Target读数据请求的端口的循环仲裁机制选择Target读数据请求。
需要说明的是,本领域技术人员应该理解,上述基于预设的循环仲裁机制从输出每一个数据传输请求的端口中选择一个数据传输请求的方式仅为举例,事实上,任何基于循环仲裁机制从输出每一个数据传输请求的端口中选择一个数据传输请求的方式都包含在本发明范围之内。
所述数据传输控制模块122用于基于所选择数据传输请求控制所述接口单元18传输所述数据处理单元11与所述***存储设备2之间的数据,直至完成数据传输。重复执行数据传输选择模块121和数据传输控制模块122,直至完成所有数据传输请求的数据传输。
例如,当所述数据传输控制模块122基于所选择的Boot写数据请求来传输pmem单元114和dmem单元113与外部存储设备2之间的数据,当接收到所述数据处理单元11输出的boot-done信号来确定所述接口单元18完成Boot写数据的传输,则所述数据传输控制模块122确定重新执行数据传输选择模块121,以便控制所述接口单元18基于其他数据传输请求来传输数据。
又如,所述数据处理单元11基于所选择的Master写数据请求来传输微处理器111与外部存储设备2之间的数据,当接收到所述FLASH_STATUS寄存器中的值变为0x03,则所述数据传输控制模块122确定所述接口单元18完成基于Master写数据请求的数据传输,并重新执行数据传输选择模块121。
作为一种优选方案,当所述接口单元18从所述***存储设备2读取数据时,本发明所述数据传输控制模块122还包括:异或运算单元(未予图示)。
所述异或运算单元用于将所述接口单元18读取的数据进行异或运算后传至所述数据处理单元11。
具体地,所述异或运算单元先将所述接口单元18读入的数据写入FLASH_MEMORY_XOR寄存器进行异或运算,再基于当前的数据传输请求将经异或运算的数据传输至所述数据处理单元11。
优选地,本发明所述数据传输控制模块122还包括子数据传输控制单元(未予图示)。
当控制所述接口单元18基于所选择的数据传输请求完成数据传输,且下一个数据传输请求与所完成的数据传输请求来自同一端口时,所述子数据传输控制单元继续控制所述接口单元18基于所述下一个数据传输请求传输所述数据处理单元11与所述***存储设备2之间的数据,反之,则重新执行数据传输选择模块121。
例如,所述接口单元18基于DMA读数据请求读取完最后一个数据,且下一个数据传输请求为来自hif接口112的Target读数据请求,则所述子数据传输控制单元不再控制接口单元18,而交由数据传输选择模块121重新选择一个数据传输请求。
又如,所述接口单元18基于DMA读数据请求读取了最后一个数据,且下一个数据传输请求仍为DMA读数据请求,则所述子数据传输控制单元基于所述下一个DMA读数据请求控制所述接口单元18将***存储设备2中的相应数据读至所述DMA单元。
综上所述,本发明所述的应用于微控制器的控制数据传输的方法及***能够通过设定输出各数据传输请求的端口的优先级来控制多个数据传输请求的数据传输,能够有效提高微控制器的工作效率,同时能有效解决时间轮询技术中预估时间所带来的各种异常情况;另外,在当前数据传输完成,且下一个数据传输请求与所完成的数据传输请求来自同一端口时,判断是否重新选择一个数据传输请求,当无需退出当前数据传输请求时,能够高效的继续进行数据传输;此外,通过对所读取的***存储设备中的数据进行异或运算能够大大提高读入数据的安全性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (12)
1.一种应用于微控制器的控制数据传输的方法,所述微控制器包括接口单元和数据处理单元,所述数据处理单元通过所述接口单元与***存储设备进行数据传输;其特征在于,所述控制数据传输的方法至少包括:
1)基于所述数据处理单元输出每一个数据传输请求的端口的优先级选择一个数据传输请求;
2)基于所选择的数据传输请求,控制所述接口单元传输所述数据处理单元与所述***存储设备之间的数据,直至完成数据传输;
重复步骤1)和步骤2),直至完成所有数据传输请求的数据传输。
2.根据权利要求1所述的控制数据传输的方法,其特征在于,当所述数据处理单元输出的多个数据传输请求中包括Master读/写请求时,所述步骤1)还包括:
接收所述接口单元的对应所述Master读/写请求的响应信号,并当判断所述响应信号为所述接口单元能够基于所述Master读/写请求来传输数据,则基于每一个输出数据传输请求的端口的优先级来选择一个数据传输请求;反之,则基于除输出所述Master读/写请求的端口以外的输出其余数据传输请求的端口的优先级来选择一个数据传输请求。
3.根据权利要求1所述的控制数据传输的方法,其特征在于,当所述数据处理单元输出的各个数据传输请求的多个端口属于同一优先级时,则所述步骤1)还包括:基于循环仲裁机制从属于同一优先级的多个端口中选择一个端口所对应的数据传输请求。
4.根据权利要求3所述的控制数据传输的方法,其特征在于,所述步骤2)还包括:当控制所述接口单元基于所选择的数据传输请求完成数据传输,且下一个数据传输请求与所完成的数据传输请求来自同一端口时,不执行步骤1),而继续控制所述接口单元基于所述下一个数据传输请求传输所述数据处理单元与所述***存储设备之间的数据,反之,所述下一个数据传输请求与所完成的数据传输请求来自不同端口,则重复执行步骤1)。
5.根据权利要求1、2、3或4所述的控制数据传输的方法,其特征在于,当控制所述接口单元从所述***存储设备读取数据时,所述步骤2)还包括:将所述接口单元读取的数据进行异或运算后再传至所述数据处理单元。
6.根据权利要求1所述的控制数据传输的方法,其特征在于,所述数据处理单元包括:
微处理器、hif接口、DMA单元、特殊功能寄存器、dmem单元和pmem单元中的一种或多种。
7.一种应用于微控制器的数据传输的控制***,应用于微控制器中的接口单元,所述微控制器还包括数据处理单元,所述数据处理单元通过所述接口单元与***存储设备进行数据传输,其特征在于,所述控制数据传输的控制***至少包括:
数据传输选择模块,用于基于所述数据处理单元输出的每一个数据传输请求的端口的优先级选择一个数据传输请求;
数据传输控制模块,用于基于所选择数据传输请求,控制所述接口单元传输所述数据处理单元与所述***存储设备之间的数据,直至完成数据传输;
重复数据传输选择模块和数据传输控制模块的执行,直至完成所有数据传输请求的数据传输。
8.根据权利要求7所述的数据传输的控制***,其特征在于,当所述数据处理单元输出的多个数据传输请求中包括Master读/写请求时,所述数据传输选择模块还包括:
第一子数据传输选择单元,用于接收来自所述接口单元的对应所述Master读/写请求的响应信号,并当判断所述响应信号为所述接口单元能够基于所述Master读/写请求来传输数据,则基于每一个输出数据传输请求的端口的优先级来选择一个数据传输请求;反之,则基于除输出所述Master读/写请求的端口以外的输出其余数据传输请求的端口的优先级来选择一个数据传输请求。
9.根据权利要求7所述的数据传输的控制***,其特征在于,当所述数据处理单元输出的各个数据传输请求的多个端口属于同一优先级时,则所述数据传输选择单元还包括:第二子数据传输选择单元,用于基于循环仲裁机制从属于同一优先级的多个端口中选择一个端口所对应的数据传输请求。
10.根据权利要求9所述的数据传输的控制***,其特征在于,当控制所述接口单元基于所选择的数据传输请求完成数据传输,且下一个数据传输请求与所完成的数据传输请求来自同一端口时,所述数据传输控制模块还包括:
子数据传输控制单元,用于继续控制所述接口单元基于所述下一个数据传输请求传输所述数据处理单元与所述***存储设备之间的数据,反之,重复执行所述数据传输选择模块。
11.根据权利要求7、8、9或10所述的数据传输的控制***,其特征在于,当控制所述接口单元从所述***存储设备读取数据时,所述数据传输控制模块还包括:异或运算单元,用于将所述接口单元读取的数据进行异或运算后再传至所述数据处理单元。
12.根据权利要求7所述的数据传输的控制***,其特征在于,所述数据处理单元包括:微处理器、hif接口、DMA单元、特殊功能寄存器、dmem单元和pmem单元中的一种或多种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210153597.4A CN102708079B (zh) | 2012-05-15 | 2012-05-15 | 应用于微控制器的控制数据传输的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210153597.4A CN102708079B (zh) | 2012-05-15 | 2012-05-15 | 应用于微控制器的控制数据传输的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102708079A CN102708079A (zh) | 2012-10-03 |
CN102708079B true CN102708079B (zh) | 2015-09-30 |
Family
ID=46900875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210153597.4A Active CN102708079B (zh) | 2012-05-15 | 2012-05-15 | 应用于微控制器的控制数据传输的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102708079B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469126B (zh) * | 2015-08-12 | 2020-07-07 | 北京忆恒创源科技有限公司 | 处理io请求的方法及其存储控制器 |
CN106649183A (zh) * | 2016-11-18 | 2017-05-10 | 深圳市博巨兴实业发展有限公司 | 一种基于mcu的低功耗串行通信芯片 |
CN106874225A (zh) * | 2017-01-22 | 2017-06-20 | 上海东软医疗科技有限公司 | 一种应用于mri***的通讯方法和设备 |
CN110069432B (zh) * | 2018-01-22 | 2023-03-24 | 小华半导体有限公司 | 带有数据处理功能的***电路互连***及其联动方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038571A (zh) * | 2007-04-19 | 2007-09-19 | 北京理工大学 | 一种块传输的多端口存储控制器 |
CN102236622A (zh) * | 2010-04-30 | 2011-11-09 | 中兴通讯股份有限公司 | 提高动态存储器带宽利用率的动态存储器控制器及方法 |
-
2012
- 2012-05-15 CN CN201210153597.4A patent/CN102708079B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101038571A (zh) * | 2007-04-19 | 2007-09-19 | 北京理工大学 | 一种块传输的多端口存储控制器 |
CN102236622A (zh) * | 2010-04-30 | 2011-11-09 | 中兴通讯股份有限公司 | 提高动态存储器带宽利用率的动态存储器控制器及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102708079A (zh) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228492B (zh) | 一种多通道ddr交织控制方法及装置 | |
CN1570907B (zh) | 多处理器*** | |
US8145805B2 (en) | Method for re-sequencing commands and data between a master and target devices utilizing parallel processing | |
CN105068951B (zh) | 一种具有非等时传输结构的片上***总线 | |
US20070240011A1 (en) | FIFO memory data pipelining system and method for increasing I²C bus speed | |
CN102841871B (zh) | 基于高速串行总线的DMA结构的pipeline读写方法 | |
US20140115209A1 (en) | Flow Control for a Serial Peripheral Interface Bus | |
CN102708079B (zh) | 应用于微控制器的控制数据传输的方法及*** | |
CN105224488A (zh) | 一种pci总线控制器及其控制方法 | |
CN102636987B (zh) | 双重化控制装置 | |
WO2017071429A1 (zh) | 一种数据访问方法及总线 | |
US20150268985A1 (en) | Low Latency Data Delivery | |
CN111679935A (zh) | 一种基于dma与中断融合的组态监控容错通信方法 | |
CN109189705B (zh) | 一种usb扩展方法、装置、设备、存储介质及*** | |
CN105718396B (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
CN102591817B (zh) | 一种多总线桥控制器及其实现方法 | |
CN113064709B (zh) | 一种适用于mcu芯片的任务调度方法及*** | |
US20120011295A1 (en) | Method and apparatus for wireless broadband systems direct data transfer | |
CN105068962A (zh) | I2c控制器访问方法及*** | |
CN112559403A (zh) | 一种处理器及其中的中断控制器 | |
CN102110066A (zh) | 一种税控加密卡的控制方法 | |
CN106326172B (zh) | 一种APB总线slave接口扩展电路及其使用方法 | |
CN114641763B (zh) | 协议转换器模块***和使用该协议转换器模块***的方法 | |
KR100644597B1 (ko) | 버스 시스템 및 그 커맨드 전달방법 | |
CN102591820B (zh) | 一种idma总线桥装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |