CN103164369A - 数据传输的控制方法及装置 - Google Patents
数据传输的控制方法及装置 Download PDFInfo
- Publication number
- CN103164369A CN103164369A CN2013100576810A CN201310057681A CN103164369A CN 103164369 A CN103164369 A CN 103164369A CN 2013100576810 A CN2013100576810 A CN 2013100576810A CN 201310057681 A CN201310057681 A CN 201310057681A CN 103164369 A CN103164369 A CN 103164369A
- Authority
- CN
- China
- Prior art keywords
- target address
- data transmission
- data
- address
- virtual target
- 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.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种数据传输的控制方法及装置,所述方法包括以下步骤:接收到数据传输指令时,根据数据大小配置虚拟目标地址;判断配置的虚拟目标地址是否大于第一预值;若是,则启动DMA机制控制数据传输,否则由CPU控制数据传输。本发明能够实现DMA机制自动启动,控制数据在存储设备与外部设备之间快速、高效传输,减少CPU资源占用,提高系统性能,并且实现简单。
Description
技术领域
本发明涉及数字通信技术领域,尤其涉及一种数据传输的控制方法及装置。
背景技术
USB3.0(Universal Serial BUS3.0)协议支持双工通信,理论带宽达到双向8Gb/s,要求很高的系统带宽。目前实现方式,存储数据与协议数据,在MCU控制下读入缓存buffer,然后被解析。由于协议数据很短,且读/写频率较高,因此,会造成带宽浪费,降低系统性能,不能最大发挥USB3.0的高速性能。而DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,在DMA控制器的控制下,数据在存储设备与外部设备之间直接传输,极大的提高了数据传输的效率。这样,如果将USB3.0与DMA控制器结合可实现数据更快速的传输,充分发挥USB3.0的最大性能。而目前,DMA控制器需要硬件电路识别存储数据然后向CUP发送指令请求获得系统总线控制权,CPU需要实时监测DMA控制器请求状态并在运行完当前周期后才响应DMA请求,再启动DMA控制数据传输,增加电路成本和硬件复杂度,且不够灵活。
发明内容
本发明的主要目的在于提供一种数据传输的控制方法,旨在通过虚地址软硬件结合实现DMA机制自动启动,控制数据在存储设备与外部设备之间快速、高效传输。
为了实现发明目的,本发明提出一种数据传输的控制方法,包括以下步骤:
S01、接收到数据传输指令时,根据数据大小配置虚拟目标地址;
S02、判断配置的虚拟目标地址是否大于第一预值;若是,则执行步骤S03,否则执行步骤S04;
S03、启动DMA机制控制数据传输;
S04、由CPU控制数据传输。
优选地,所述在执行步骤S03或S04之后还包括:
S05、将传输的数据存储至虚拟目标地址对应的实际目标地址中。
优选地,所述根据数据配置虚拟目标地址的同时还包括:配置一偏移地址。
优选地,所述在执行步骤S03或步骤S04之后还包括:
S06、将传输的数据存储至虚拟目标地址减去偏移地址后的新地址所对应的实际目标地址中。
本发明还提供一种数据传输的控制装置,其特征在于,包括:
分析控制模块,用于接收到数据传输指令时,根据数据大小配置虚拟目标地址;
判断模块,用于判断配置的虚拟目标地址是否大于第一预值;
处理模块,用于当虚拟目标地址大于第一预值时,启动DMA机制控制数据传输;当虚拟目标地址小于等于第一预值时,由CPU控制数据传输。
优选地,还包括:
第一存储模块,用于将传输的数据存储至虚拟目标地址对应的实际目标地址中。
优选地,所述根据数据配置虚拟目标地址的同时还包括:配置一偏移地址。
优选地,还包括:
第二存储模块,用于将传输的数据存储至虚拟目标地址减去偏移地址后的新地址所对应的实际目标地址中。
本发明通过接收到数据传输指令时,根据传输数据的大小配置虚拟目标地址,然后判断该虚拟目标地址是否大于第一预值,当虚拟目标地址大于第一预值时则启动DMA机制控制数据传输,当虚拟目标地址小于等于第一预值时则由CPU控制数据传输。本发明能够实现DMA机制自动启动,控制数据在存储设备与外部设备之间快速、高效传输,减少CPU资源占用,提高系统性能,并且实现简单。
附图说明
图1是本发明数据传输的控制方法第一实施例的流程图;
图2是本发明数据传输的控制方法第二实施例的流程图;
图3是本发明数据传输的控制装置第一实施例的结构示意图;
图4是本发明数据传输的控制装置第二实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1及图2,图1是本发明数据传输的控制方法第一实施例的流程图;图2是本发明数据传输的控制方法第二实施例的流程图。如图1及图2所示,该方法包括以下步骤:
步骤S01、接收到数据传输指令时,根据数据大小配置虚拟目标地址;
步骤S02、判断配置的虚拟目标地址是否大于第一预值;若是,则执行步骤S03,否则执行步骤S04;
步骤S03、启动DMA机制控制数据传输;
步骤S04、由CPU控制数据传输。
并且,所述在执行步骤S03或步骤S04之后还包括:
步骤S05、将传输的数据存储至虚拟目标地址对应的实际目标地址中。
本实施例中,当CPU接收到数据传输指令时,检测传输数据的大小,然后根据传输数据的大小来确定是否启动DMA机制控制数据传输,这里需要传输多大的数据时用DMA机制控制数据传输,可根据需求具体设置一个中间值来进行范围界定,例如可以设置传输的数据大于1M、10M或者50M时需要启动DMA都可以,一般较小为宜。这样当检测到需要传输的数据大于该设定的值时,就知道需要启动DMA机制控制数据传输,小于等于时则不需要启动DMA机制,由CPU直接控制数据传输。其中,所述第一预值为预先设置且用于与配置的虚拟目标地址进行比较以确定最终是由DMA机制还是CPU控制数据传输,当需要DMA机制控制数据传输时,则配置虚拟目标地址大于第一预值,当由CPU直接控制数据传输时,则配置虚拟目标地址小于等于第一预值,该第一预值一般设置为与上述设定的中间值相同,当然也可以设置为其他数值。这样可针对大小不同的数据采用合适的传输控制方式,以实现系统优化,提升性能。另外,将配置好的虚拟目标地址写入一个寄存器中,用于数据存储时提供存储地址信息,该配置的虚拟目标地址可认为是实际目标地址,存储数据时根据这个配置的虚拟目标地址去存储设备中查找与之对应的实际目标地址,查找到对应的实际目标地址后将传输的数据存储至该实际目标地址中。这样利用虚拟地址,软/硬件结合实现了数据DMA存储,且实现简洁,资源占用少。
上述根据数据配置虚拟目标地址的同时还包括:配置一偏移地址。
并且,所述在执行步骤S03或步骤S04之后还包括:
步骤S06、将传输的数据存储至虚拟目标地址减去偏移地址后的新地址所对应的实际目标地址中。
本实施例中若需要启动DMA机制传输目标数据时,那么配置的虚拟目标地址将大于第一预值,此时配置的偏移地址不等于零,可根据虚拟目标地址与第一预值的大小关系配置,这样可防止配置的虚拟目标地址过大超出存储设备最大内存时只要将虚拟目标地址减去偏移地址就能得到一个实际的新地址,然后根据这个新地址去存储设备中能够找到一个实际的目标地址。而不需要启动DMA机制时,那么配置的虚拟目标地址将小于等于第一预值,此时偏移地址的值无关紧要,一般配置为零,也是为了防止配置过大使虚拟目标地址减去偏移地址后找不到实际的目标地址。所以这里偏移地址的大小需要根据虚拟目标地址的大小和存储设备的内存大小关系进行配置。
本发明提出的数据传输的控制方法通过接收到数据传输指令时,根据数据的大小配置虚拟目标地址,然后判断该虚拟目标地址是否大于第一预值,当虚拟目标地址大于第一预值时则启动DMA机制控制数据传输,当虚拟目标地址小于等于第一预值时则由CPU控制数据传输。本发明能够实现DMA机制自动启动,控制数据在存储设备与外部设备之间快速、高效传输,减少CPU资源占用,提高系统性能,并且实现简单。
参照图3及图4,图3是本发明数据传输的控制装置第一实施例的结构示意图;图4是本发明数据传输的控制装置第二实施例的结构示意图。如图3及图4所示,本发明还提供一种用于实现上述方法的数据传输的控制装置,该装置包括:
分析控制模块100,用于接收到数据传输指令时,根据数据大小配置虚拟目标地址;
判断模块200,用于判断配置的虚拟目标地址是否大于第一预值;
处理模块300,用于当虚拟目标地址大于第一预值时,启动DMA机制控制数据传输;当虚拟目标地址小于等于第一预值时,由CPU控制数据传输;
并且,还包括:
第一存储模块400,用于将传输的数据存储至虚拟目标地址对应的实际目标地址中。
本实施例中,当CPU接收到数据传输指令时,检测传输数据的大小,然后根据传输数据的大小来确定是否启动DMA机制控制数据传输,这里需要传输多大的数据时用DMA机制控制数据传输,可根据需求具体设置一个中间值来进行范围界定,例如可以设置传输的数据大于1M、10M或者50M时需要启动DMA都可以,一般较小为宜。这样当检测到需要传输的数据大于该设定的值时,就知道需要启动DMA机制控制数据传输,小于等于时则不需要启动DMA机制,由CPU直接控制数据传输。其中,所述第一预值为预先设置且用于与配置的虚拟目标地址进行比较以确定最终是由DMA机制还是CPU控制数据传输,当需要DMA机制控制数据传输时,则配置虚拟目标地址大于第一预值,当由CPU直接控制数据传输时,则配置虚拟目标地址小于等于第一预值,该第一预值一般设置为与上述设定的中间值相同,当然也可以设置为其他数值。这样可针对大小不同的数据采用合适的传输控制方式,以实现系统优化,提升性能。另外,将配置好的虚拟目标地址写入一个寄存器中,用于数据存储时提供存储地址信息,该配置的虚拟目标地址可认为是实际目标地址,存储数据时根据这个配置的虚拟目标地址去存储设备中查找与之对应的实际目标地址,查找到对应的实际目标地址后将传输的数据存储至该实际目标地址中。这样利用虚拟地址,软/硬件结合实现了数据DMA存储,且实现简洁,资源占用少。
上所述根据数据配置虚拟目标地址的同时还包括:配置一偏移地址。
并且,还包括:
第二存储模块500,用于将传输的数据存储至虚拟目标地址减去偏移地址后的新地址所对应的实际目标地址中。
本实施例中若需要启动DMA机制传输目标数据时,那么配置的虚拟目标地址将大于第一预值,此时配置的偏移地址不等于零,可根据虚拟目标地址与第一预值的大小关系配置,这样可防止配置的虚拟目标地址过大超出存储设备最大内存时只要将虚拟目标地址减去偏移地址就能得到一个实际的新地址,然后根据这个新地址去存储设备中能够找到一个实际的目标地址。而不需要启动DMA机制时,那么配置的虚拟目标地址将小于等于第一预值,此时偏移地址的值无关紧要,一般配置为零,也是为了防止配置过大使虚拟目标地址减去偏移地址后找不到实际的目标地址。所以这里偏移地址的大小需要根据虚拟目标地址的大小和存储设备的内存大小关系进行配置。
本发明提出的数据传输的控制装置通过接收到数据传输指令时,根据数据的大小配置虚拟目标地址,然后判断该虚拟目标地址是否大于第一预值,当虚拟目标地址大于第一预值时则启动DMA机制控制数据传输,当虚拟目标地址小于等于第一预值时则由CPU控制数据传输。本发明能够实现DMA机制自动启动,控制数据在存储设备与外部设备之间快速、高效传输,减少CPU资源占用,提高系统性能,并且实现简单。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种数据传输的控制方法,其特征在于,所述数据传输的控制方法包括以下步骤:
S01、接收到数据传输指令时,根据数据大小配置虚拟目标地址;
S02、判断配置的虚拟目标地址是否大于第一预值;若是,则执行步骤S03,否则执行步骤S04;
S03、启动DMA机制控制数据传输;
S04、由CPU控制数据传输。
2.如权利要求1所述的数据传输的控制方法,其特征在于,所述在执行步骤S03或步骤S04之后还包括:
S05、将传输的数据存储至虚拟目标地址对应的实际目标地址中。
3.如权利要求1所述的数据传输的控制方法,其特征在于,所述根据数据配置虚拟目标地址的同时还包括:配置一偏移地址。
4.如权利要求1或3所述的数据传输的控制方法,其特征在于,所述在执行步骤S03或步骤S04之后还包括:
S06、将传输的数据存储至虚拟目标地址减去偏移地址后的新地址所对应的实际目标地址中。
5.一种数据传输的控制装置,其特征在于,包括:
分析控制模块,用于接收到数据传输指令时,根据数据大小配置虚拟目标地址;
判断模块,用于判断配置的虚拟目标地址是否大于第一预值;
处理模块,用于当虚拟目标地址大于第一预值时,启动DMA机制控制数据传输;当虚拟目标地址小于等于第一预值时,由CPU控制数据传输。
6.如权利要求5所述的数据传输的控制装置,其特征在于,还包括:
第一存储模块,用于将传输的数据存储至虚拟目标地址对应的实际目标地址中。
7.如权利要求5所述的数据传输的控制装置,其特征在于,所述根据数据配置虚拟目标地址的同时还包括:配置一偏移地址。
8.如权利要求5或7所述的数据传输的控制装置,其特征在于,还包括:
第二存储模块,用于将传输的数据存储至虚拟目标地址减去偏移地址后的新地址所对应的实际目标地址中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100576810A CN103164369A (zh) | 2013-02-22 | 2013-02-22 | 数据传输的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100576810A CN103164369A (zh) | 2013-02-22 | 2013-02-22 | 数据传输的控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103164369A true CN103164369A (zh) | 2013-06-19 |
Family
ID=48587467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100576810A Pending CN103164369A (zh) | 2013-02-22 | 2013-02-22 | 数据传输的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103164369A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713954A (zh) * | 2013-12-25 | 2014-04-09 | 华为技术有限公司 | 一种处理器模块及电子设备 |
CN113590512A (zh) * | 2021-07-30 | 2021-11-02 | 眸芯科技(上海)有限公司 | 可直连外设设备的自启动dma装置及应用 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1530844A (zh) * | 2003-01-17 | 2004-09-22 | ���ǵ�����ʽ���� | 利用直接存储器存取介质传输数据的方法和装置 |
US20070016629A1 (en) * | 2003-06-20 | 2007-01-18 | Matthias Reinsch | Processing software images and generating difference files |
CN1331070C (zh) * | 2004-02-21 | 2007-08-08 | 华为技术有限公司 | 数据通信的方法及设备 |
CN101764746B (zh) * | 2009-12-17 | 2012-07-18 | 中国电力科学研究院 | 一种发送数据的方法及装置 |
-
2013
- 2013-02-22 CN CN2013100576810A patent/CN103164369A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1530844A (zh) * | 2003-01-17 | 2004-09-22 | ���ǵ�����ʽ���� | 利用直接存储器存取介质传输数据的方法和装置 |
US20070016629A1 (en) * | 2003-06-20 | 2007-01-18 | Matthias Reinsch | Processing software images and generating difference files |
CN1331070C (zh) * | 2004-02-21 | 2007-08-08 | 华为技术有限公司 | 数据通信的方法及设备 |
CN101764746B (zh) * | 2009-12-17 | 2012-07-18 | 中国电力科学研究院 | 一种发送数据的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713954A (zh) * | 2013-12-25 | 2014-04-09 | 华为技术有限公司 | 一种处理器模块及电子设备 |
CN103713954B (zh) * | 2013-12-25 | 2017-07-14 | 华为技术有限公司 | 一种处理器模块及电子设备 |
CN113590512A (zh) * | 2021-07-30 | 2021-11-02 | 眸芯科技(上海)有限公司 | 可直连外设设备的自启动dma装置及应用 |
CN113590512B (zh) * | 2021-07-30 | 2023-09-29 | 眸芯科技(上海)有限公司 | 可直连外设设备的自启动dma装置及应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9009373B2 (en) | Method for implementing audio transmission and mobile terminal | |
JP5726240B2 (ja) | 無線インターネットアクセス装置、sd制御チップ、及びデータ通信の方法 | |
CN103036754B (zh) | 一种多联机空调通信系统及通信方法 | |
US10116753B2 (en) | System and method for supporting data communication in a heterogeneous environment | |
US8838865B2 (en) | Hot plug ad hoc computer resource allocation | |
CN105527881A (zh) | 一种指令处理方法及装置 | |
CN101937413B (zh) | 一种i2c总线的通信方法 | |
US9170976B2 (en) | Network efficiency and power savings | |
CN112711550B (zh) | Dma自动配置模块和片上系统soc | |
US8707071B2 (en) | Power management method for controlling communication interface to enter/leave power-saving mode and related device thereof | |
US20190369919A1 (en) | Task management method and host for electronic storage device | |
WO2017117396A1 (en) | Modular communication framework | |
US20240205170A1 (en) | Communication method based on user-mode protocol stack, and corresponding apparatus | |
CN107066413B (zh) | 一种用于处理多个总线设备数据的方法及其总线系统 | |
CN103019975B (zh) | 通用串行总线传输控制方法及主机设备 | |
CN103164369A (zh) | 数据传输的控制方法及装置 | |
CN111008169B (zh) | 一种低成本高速通信总线及其传输控制方法 | |
EP4383066A1 (en) | Data transmission method and apparatus, and data transmission device and storage medium | |
US8996737B1 (en) | Method for emulating communication standards of transceiver modules for native host devices | |
CN113961497A (zh) | 通信电路系统、方法、芯片以及存储介质 | |
CN113268358B (zh) | 数据通信方法、装置和系统及多设备级联系统 | |
KR20160036846A (ko) | 채널 연결 관리 방법 및 장치 | |
CN104850517A (zh) | 一种dma传输报文数据的方法及装置 | |
US9350600B2 (en) | Network responding method performed by an image forming apparatus that has a normal mode and a standby mode | |
CN113382094B (zh) | 一种模块地址确定方法及装置、电源模块与通信网络 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination |