[go: up one dir, main page]

CN103064808A - Priority adjustable multiple-channel direct memory access (DMA) controller - Google Patents

Priority adjustable multiple-channel direct memory access (DMA) controller Download PDF

Info

Publication number
CN103064808A
CN103064808A CN201110324576XA CN201110324576A CN103064808A CN 103064808 A CN103064808 A CN 103064808A CN 201110324576X A CN201110324576X A CN 201110324576XA CN 201110324576 A CN201110324576 A CN 201110324576A CN 103064808 A CN103064808 A CN 103064808A
Authority
CN
China
Prior art keywords
data
channel
dma
module
priority
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
Application number
CN201110324576XA
Other languages
Chinese (zh)
Inventor
房远勇
吕俊
宋慧
于宏伟
袁怡诤
叶重林
丁竹生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING SPACE STAR TECHNOLOGY EQUIPMENT Co
TIANJIN AEROSPACE STAR NEW TECHNOLOGY EQUIPMENT CO LTD
China Academy of Launch Vehicle Technology CALT
Beijing Institute of Structure and Environment Engineering
Original Assignee
BEIJING SPACE STAR TECHNOLOGY EQUIPMENT Co
TIANJIN AEROSPACE STAR NEW TECHNOLOGY EQUIPMENT CO LTD
China Academy of Launch Vehicle Technology CALT
Beijing Institute of Structure and Environment Engineering
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING SPACE STAR TECHNOLOGY EQUIPMENT Co, TIANJIN AEROSPACE STAR NEW TECHNOLOGY EQUIPMENT CO LTD, China Academy of Launch Vehicle Technology CALT, Beijing Institute of Structure and Environment Engineering filed Critical BEIJING SPACE STAR TECHNOLOGY EQUIPMENT Co
Priority to CN201110324576XA priority Critical patent/CN103064808A/en
Publication of CN103064808A publication Critical patent/CN103064808A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明属于一种DMA控制器,具体公开一种优先级可调多通道DMA控制器,包括:数据输入通道数相等的数据缓冲存储及其控制模块和一组控制寄存器;用于所述数据缓冲存储及其控制模块通信的多路复用模块,该模块用于把数据缓冲存储及其控制模块中的信号和数据进行多路复用后传输到DMA引擎;DMA引擎根据各数据输入通道所配置的工作模式及预设优先级完成各种数据传输任务。该DMA控制器可以实现多数据输入通道共享一个DMA数据通道。

Figure 201110324576

The invention belongs to a DMA controller, and specifically discloses a multi-channel DMA controller with adjustable priority, including: data buffer storage with equal numbers of data input channels, its control module and a group of control registers; used for the data buffer The multiplexing module for communication between the storage and its control module, which is used to multiplex the signals and data in the data buffer storage and its control module and then transmit them to the DMA engine; the DMA engine is configured according to each data input channel Complete various data transmission tasks with specific working modes and preset priorities. The DMA controller can share one DMA data channel with multiple data input channels.

Figure 201110324576

Description

The adjustable multi-channel DMA controller of priority
Technical field
The invention belongs to a kind of dma controller, be specifically related to the adjustable multi-channel DMA controller of a kind of priority.
Background technology
In data handling system and SoC chip take microprocessor (microprocessor unit, MPU) as main control equipment, data transfer adopts 3 kinds of modes usually.1) polling mode: MPU periodically detects the state from equipment, takes out data and write destination device from source device at reasonable time.When adopting this mode, a large amount of processor time will be taken, and data rate is subjected to the MPU restriction of instruction time.2) interrupt mode: in the time need to carrying out data transmission from equipment, send interrupt request to MPU, performing data transmission task after the MPU response.When adopting this mode, MPU needn't active inquiry from equipment state, saved the segment processor time, but transmission course is controlled by MPU still, does not improve data rate.3) direct memory access (DMA) (direct memory access, DMA) mode: DMA is a kind of mechanism of fast transfer of data, realize that by dma controller the application of .DMA can effectively alleviate the burden of processor, can greatly improve the efficient of data transmission, thereby improve system performance.
DMA is as a kind of machine-processed fine data transmission that has solved between peripheral hardware and the storer of fast transfer of data, still often very limited take microprocessor (microprocessor unit, MPU) as main control equipment DMA number of channels.Being difficult to each data channel for the high-speed multiple channel data acquisition system (DAS) distributes a DMA passage to be used for the storage data.
Summary of the invention
The object of the present invention is to provide the adjustable multi-channel DMA controller of a kind of priority, this dma controller can be realized most according to the shared DMA data channel of input channel.
Realize the technical scheme of the object of the invention: the adjustable multi-channel DMA controller of a kind of priority, it comprises:
A plurality of data input channels, the corresponding channel control register group of the input end of each data input channel, the corresponding data buffer-stored of the output terminal of each data input channel and control module thereof, the output terminal of data buffering storage and control module thereof is communicated by letter with multiplexing module, and the output terminal of multiplexing module is communicated by letter with the DMA engine;
Data buffering storage and control module thereof are used for the data that buffered data input channel real-time Transmission is come, and carry out data transmission and data flow con-trol to transmitting the data of coming;
The control register group is communicated by letter with described data buffering storage and control module thereof, is used for according to the pre-configured data of described control register the data transmission of described data buffering storage and control module thereof being controlled;
Multiplexing module is communicated by letter with the storage of described data buffering and control module thereof, is used for described data buffering stored and the signal of control module and data carry out being transferred to the DMA engine after multiplexed;
The DMA engine is finished various data transfer tasks according to mode of operation and pre-setting priority that each data input channel disposes.
Directly communicate by letter by the passage arbitration modules between described channel control register group and the DMA engine, the passage arbitration modules is selected the next passage that carries out data transmission according to the logical priority of data input, directly is transferred to the DMA engine.
Communicate by letter by the passage arbitration modules between described channel control register group and the multiplexing module, the passage arbitration modules is selected the next passage that carries out data transmission according to the logical priority of data inputs, and the data of this passage carry out being transferred to the DMA engine after multiplexed.
Described passage arbitration modules adopts the arbitration mechanism of priority and the combination of wheel phase inversion, and the passage arbitration modules is divided into several groups with a plurality of data channel, and every group has two passages, two passages wheel flow transmission in every group.
Described multiplexing module contains the second buffered memory module, and the second buffered memory module is used for the data of storage DMA data transmission, avoids the DMA data from overflow.
Store the chained list descriptor in the described DMA engine buffer, form and the control information of each the descriptor definition data to be transmitted frame in the chained list cooperate dma controller to finish data transfer task; Simultaneously, the chained list descriptor is dynamically adjusted Frame and buffer size in transmission course, reduces MPU to the participation of DMA transmission course.
Described DMA engine is provided with two host device interface, respectively is provided with one group of hardware handshaking signal on each host device interface, and every group of hardware handshaking signal comprises 2 signals: i.e. dma request signal and DMA answer signal; When need to initiate the DMA transmission from equipment the time, the dma request signal of corresponding host device interface is effective, start the DMA engine after the dma controller response request, behind a Frame end of transmission, dma controller sends answer signal, receive from equipment to make request signal reset after replying, finish the DMA transformation task one time.
Useful technique effect of the present invention: this dma controller can be realized most according to the shared DMA data channel of input channel.Each DMA channel module comprises respectively data buffering storage and control module and the one group of control register that equates with data input channel number, the priority that control register can the control channel transmission.Data input channel input data are stored in first in the buffer zone, and the priority timesharing of setting according to control register takies the DMA data channel and carries out data transmission.The present invention can realize that by the setting to passage configuration register and passage arbitration modules the wheel of fixed priority, different service distribution ratio turns the multiple priorities arbitration algorithms such as priority, has strengthened the versatility of dma controller.
Description of drawings
Fig. 1 is the block diagram of system of the adjustable multi-channel DMA controller of a kind of priority provided by the present invention;
Fig. 2 is a kind of synoptic diagram that utilizes the address mask device to produce loop buffer provided by the present invention;
Fig. 3 is the synoptic diagram of a kind of FIFO buffer circle provided by the present invention;
Fig. 4 is the synoptic diagram of a kind of chained list descriptor structure provided by the present invention.
Among the figure: 1. register file, 101. first passage register group, 102. second channel register group, 103. third channel register group, 104. four-way register group, 105. Five-channel register groups, 106. the 6th channel register groups, 107. the 7th channel register group, 108. the 8th channel register groups;
2. data input channel, 201. the first data input channel, 202. the second data input channel, 203. the 3rd data input channel, 204. the 4th data input channel, 205. the 5th data input channels, 206. the 6th data input channels, 207. the 7th data input channel, 208. the 8th data input channels;
3. the first data buffering is stored and control module, 301. the storage of first passage data buffering and control module, 302. the storage of second channel data buffering and control module, 303. the storage of third channel data buffering and control module, 304. the storage of four-way data buffering and control module, 305. the storage of Five-channel data buffering and control module, 306. the storage of the 6th channel data buffer and control module, 307. the storage of the 7th channel data buffer and control module, the storage of 308. the 8th channel data buffers and control module;
4. multiplexing module, 401. second data buffering memory modules;
5. the second host device interface, 6.DMA engine, 7. the first host device interface, 8. passage arbitration modules.
Embodiment
Below in conjunction with drawings and Examples the present invention is described in further detail.
The block diagram of system of the adjustable multi-channel DMA controller of a kind of priority provided by the present invention as shown in Figure 1.MPU can by the register group of instruction setting and internal memory unified addressing, finish the dynamic-configuration to adjustable multi-channel DMA controller.
As shown in Figure 1:
Register file 1 comprises eight register groups: namely comprise first passage register group 101, second channel register group 102, third channel register group 103, four-way register group 104, Five-channel register group 105, the 6th channel register group 106, the 7th channel register group 107, the 8th channel register group 108.
Data input channel 2 comprises eight data passages: the first data input channel 201, the second data input channel 202, the 3rd data input channel 203, the 4th data input channel 204, the 5th data input channel 205, the 6th data input channel 206, the 7th data input channel 207, the 8th data input channel 208.
Eight register groups in the register file 1 respectively with data input channel 2 in a tunneling traffic, that is: first passage register group 101 is communicated by letter with the first data input channel 201, second channel register group 102 is communicated by letter with the second data input channel 202, third channel register group 103 is communicated by letter with the 3rd data input channel 203, four-way register group 104 is communicated by letter with the 4th data input channel 204, Five-channel register group 105 is communicated by letter with the 5th data input channel 205, the 6th channel register group 106 is communicated by letter with the 6th data input channel 206, the 7th channel register group 107 is communicated by letter with the 7th data input channel 207, the 8th channel register group 108 and the 8th data input channel 208.
The storage of the first data buffering and control module 3 comprise eight data buffer-stored and control module: the storage of first passage data buffering and control module 301, the storage of second channel data buffering and control module 302, the storage of third channel data buffering and control module 303, the storage of four-way data buffering and control module 304, the storage of Five-channel data buffering and control module 305, the storage of the 6th channel data buffer and control module 306, the storage of the 7th channel data buffer and control module 307, the storage of the 8th channel data buffer and control module 308.
Eight modules of the storage of the first data buffering and control module 3 all adopt fifo memory buffer.
Each passage of data input channel 2 respectively with the first data buffering storage and control module 3 in a module communication, that is: the first data input channel 201 is communicated by letter with the storage of first passage data buffering and control module 301, the second data input channel 202 is communicated by letter with the storage of second channel data buffering and control module 302, the 3rd data input channel 203 is communicated by letter with the storage of third channel data buffering and control module 303, the 4th data input channel 204 is communicated by letter with the storage of four-way data buffering and control module 304, the 5th data input channel 205 is communicated by letter with the storage of Five-channel data buffering and control module 305, the 6th data input channel 206 is communicated by letter with the storage of the 6th channel data buffer and control module 306, the 7th data input channel 207 is communicated by letter with the storage of the 7th channel data buffer and control module 307, and the 8th data input channel 208 is communicated by letter with the storage of the 8th channel data buffer and control module 308.
Eight modules of the storage of the first data buffering and control module 3 are all communicated by letter with a multiplexing module 4, eight modules that comprise the second data buffering memory module 401, the first data bufferings storage and control module 3 in the multiplexing module 4 are all communicated by letter with the second data buffering memory module 401.Multiplexing module 4 adopts multiplexer.The second data buffering memory module 401 adopts annular fifo buffer memory.
Multiplexing module 4 is communicated by letter with DMA engine 6.Two bus interface of DMA engine 6 are connected with the second host device interface 5, the first host device interface 7 respectively.
Also directly communicate by letter by passage arbitration modules 8 between register file 1 and the DMA engine 6.Also directly communicate by letter by passage arbitration modules 8 between register file 1 and the multiplexing module 4.Passage arbitration modules 8 adopts the arbitrate state register.
The function of main modular is as follows:
(1) register file 1:
Register file 1 is communicated by letter with the storage of the first data buffering and control module 3 by data input channel 2, and register file 1 is used for according to the pre-configured data of register the DMA data transmission of the storage of the first data buffering and control module 3 being controlled.
The invention provides 8 DMA data input channels 201,202...203, each data input channel has an independently register group, and a plurality of register groups consist of a register file 1.The register group comprises state of a control register, source/destination address register, source/destination address pointer register, source/destination address mask register, transmission length register, chained list descriptor pointer register.The transmission course of data element is as follows: the storage space reading out data that 1. points to from source address; 2. these data being write the storage space that destination address points to. the data transmission procedure of each passage is the repetition of data element transmission course, after the multiplicity of this process reaches the value of transmitting in the length register, namely finished a complete DMA data frame transfer process.
Can finish setting to each channel source address, destination address, the transmission of data frame sign, mode of operation and priority by writing register.
(2) a plurality of data input channels 2:
Can set by register file 1 priority of channel module.The data of the passage input of transmitting deposit first the storage of the first data buffering and control module 3 in, can control the priority of data input channel 2 transmission according to register file 1 and carry out data transmission.
The storage of (3) first data bufferings and control module 3:
Be used for the in real time data of input of buffering, wait for that dma controller carries out data transmission.
It comprises multichannel buffered memory module and buffering storage control module: the multichannel buffered memory module is used for the data storage of data input channel; The buffer-stored control module is used for control the data from outside DMA request module is write the storage of the first data buffering and control module 3, and the data in the first data buffering storage and control module 3 are when reaching certain capacity, produce written request signal, and written request signal is transferred to the bus interface of DMA engine 6 through multiplexing module 4; Also be used for controlling delivering to the DMA request module behind the data reading of the storage of the first data buffering and control module 3, and the data in the first data buffering storage and control module 3 are when reaching certain capacity, produce reading request signal, and reading request signal is sent to the bus interface of DMA engine 6 through described multiplexing module 4.
The first buffered memory module 3 adopts fifo memory buffers, deposits in the middle of the fifo memory buffer when the data input channel is continual when inputting data simultaneously to dma module with data.Application DMA transmission when the input data arrive some, the sequencing of the priority arbitration determination data transmission by passage arbitration modules 8.
(4) multiplexing module 4:
All modules of the storage of multiplexing module 4 and the first data buffering and control module 3 are all communicated by letter, and are used for a plurality of channel data buffers are stored and the signal of control module and data carry out being transferred to after multiplexed the bus interface of DMA engine 6.
(5) second buffered memory module 401:
The second buffered memory module 401 of multiplexing module 4 inside is all communicated by letter with all modules of the storage of the first data buffering and control module 3.
The second buffered memory module 401 adopts annular FIFO storer, is used for the data of storage DMA data transmission, avoids the DMA data from overflow.
For making the dma controller run time address not exceed DMA buffer storage space scope, utilize in the present invention the address mask device to produce loop buffer, as shown in Figure 2: source address or destination address register can be set to " constant ", automatic " adding 1 ", " subtracting 1 " or " value of indexing ", revised address enters selector switch, only having the corresponding position of address mask register is that 1 address bit can be made amendment, other position remains unchanged, and amended address will be written back into address register.For example, the buffer zone start address is 0x80, and the address mask register is set to 0x7f, and then the buffer zone address scope is that 0x80 to 0xff. has realized by this method the DMA buffer circle and circulates without expense, simplified the design of driver and hardware, but the capacity limit of buffer zone is 2 n side.
Fig. 3 is the corresponding FIFO type of dma controller buffer circle synoptic diagram.When design DMA buffer zone, need consider impact and data transmission time-delay on the MPU load: buffer zone is crossed senior general and is caused transmission delay to increase; Buffer zone is crossed the young pathbreaker makes interruption too frequent, cause the MPU Efficiency Decreasing. for onesize buffer zone, the sub-number of buffer of dividing is crossed the major general and is increased transmission delay, and sub-number of buffer is crossed at most can reduce the buffer zone service efficiency. during practical application, need make as the case may be balance.
(5) the DMA engine 6:
DMA engine 6 is nucleus modules of DMA, can finish various data transfer tasks according to mode of operation and pre-setting priority that each data input channel 2 disposes.
Priority is adjustable, and multi-channel DMA controller chained list descriptor is stored in the impact damper of DMA engine 6, can dynamically adjust Frame and buffer size in transmission course, reduces MPU to the participation of DMA transmission course.Form and the control information of each the descriptor definition data to be transmitted frame in the chained list cooperate dma controller to finish data transfer task.
The chained list descriptor structure is seen Fig. 4: descriptor is comprised of 4 32 word, comprise respectively control bit/transmission length, source address, destination address, pointing to the pointer of next descriptor. control bit comprises model selection position and equipment interface selection position. the descriptor pointer consists of single-track link table with each descriptor, the linked list head node is determined by chained list descriptor pointer register, tail node is determined by the chained list stop bit (EOL) in the descriptor. when adopting chained list descriptor mode the transmission of data, at first need the chained list descriptor pointer register assignment to transmission channel, the descriptor enable bit that arranges in the control register is effective, and starts DMA engine 6.DMA engine 6 will take out descriptor from the buffer address of the pointed of chained list descriptor, data in the descriptor are respectively charged into control register, source address register, destination address register and chained list descriptor pointer register. and after this, the DMA engine will begin the data transfer process.
Behind the transformation task of finishing a Frame, DMA will according to the value in the chained list descriptor pointer register, take out next descriptor automatically from the corresponding address of impact damper.If the EOL position in the descriptor is 1, then the DMA engine quits work, and sends interrupt request singal to MPU. in some application, data transmission is not to carry out according to linked list order fully.For example, in congested ethernet node occurs, if several IP grouping arrives router simultaneously, and expect to transmit through same output port, if this situation continues for some time, buffer memory is depleted, and router only has the low grouping of loss priority.At this moment, when the MAC module is sent the request of carrying out data transmission to dma controller, should abandon the processing to current descriptor, force to take out the next descriptor in the chained list.Realized this function by increase input signal in dma controller in the hardware handshaking pattern, if signal effectively also continued for 2 clock period, current descriptor will lose efficacy.After the DMA engine is finished the transmission of current data frame, next descriptor will be forced to take out in the chained list, and data wherein are written into corresponding registers.In the data transmission procedure, need the data of a specific region in the protection internal memory to be uncovered and when not knowing this area size, this function also has practical use.
(6) the passage arbitration modules 8:
Because hyperchannel 201,202...208 may initiate request at one time, when a plurality of data input channels are initiated the DMA request simultaneously, need to carry out the passage arbitration.Passage arbitration modules 8 can be selected the next passage that carries out data transmission according to the logical priority of each data input in the data input channel 2.
When directly communicate by letter by passage arbitration modules 8 between register file 1 and the DMA engine 6, passage arbitration modules 8 is carried out the passage of data transmission according to the logical priority selection next one of data input, directly is transferred to DMA engine 6.
When communicating by letter by passage arbitration modules 8 between register file 1 and the multiplexing module 4, passage arbitration modules 8 is selected the next passage that carries out data transmission according to the logical priority of data inputs, and the data of this passage carry out being transferred to DMA engine 6 after multiplexed.
Passage arbitration modules 8 has adopted the arbitration mechanism of priority and the combination of wheel phase inversion.Passage arbitration modules 8 is divided into 4 groups (I, II, III, IV) with eight passages, and every group has 2 passages, contains which 2 passage and can put register by 24 passage assembly and be configured.The passage group has 4 kinds of priority orders (A, B, C, D).Passage arbitration modules 8 is divided into 10 arbitrate states with system, and the corresponding a kind of priority orders of each state can arrange by 20 arbitrate state register.2 passages in every group are then taken turns flow transmission, suppose that the I group comprises passage 1 and passage 4, if passage 1 transmitted when this I group was obtained the authorization, then next I organizes when obtaining the authorization prioritised transmission passage 4.
(7) bus interface, i.e. equipment interface: the interface between dma controller and storer and the IO equipment is provided, adopts the design that meets the AMBA2.0 bus specification.Dma controller has 2 host device interface, and namely the second host device interface 5, the first host device interface 7 are used at 2 storage unit or IO equipment room swap data; One from equipment interface, and the data path of MPU access register heap is provided.
When dma controller is in running order, by the data in host device interface 5, the 7 playback buffer districts or data are write the buffer circle of the second buffered memory module 401.For realizing that processor and dma controller to the parallel work-flow of buffer zone, generally can adopt multi cache mechanism, buffer zone is divided into some sub-buffer zones.Be valid data for making the data of from buffer zone, reading, or write data untreated data of overriding processor not in the buffer zone, can be processor be read (writing) operation at every turn to a sub-buffer zone after, to purpose (source) address register and the transmission length register again assignment of dma controller.Make the design of driver more flexible, DMA device processed is realized circle queue by address pointer register is set in buffer zone.The each value of upgrading in rear and the address pointer register of value in the DMA address register compares, as equating that then the DMA engine quits work, processor is finished the value in the scheduler pointer register after the read-write of a Frame, and this moment, the DMA engine just can restart.
Multi-channel DMA controller hardware handshaking pattern that priority is adjustable: respectively designed one group of hardware handshaking signal in 2 host device interface 5,7 of dma controller, every group comprises 2 signals, i.e. DMA request and DMA reply.When need to initiate the DMA transmission from equipment the time, the dma request signal of corresponding host device interface is effective, start DMA engine 6 after the dma controller response request, behind a Frame (size is pre-if determined by the chained list descriptor by MPU) end of transmission, dma controller sends answer signal, receive from equipment to make request signal reset after replying, finish the DMA transformation task one time.The hardware handshaking pattern for carry out DMA transmission from equipment, have slow devices the time be particularly useful.
Priority is adjustable multi-channel DMA controller two-level pipeline: 2 host device interface 5 of dma controller, 7 each corresponding one group of data address bus, data transmission can be carried out one group of bus, also can carry out between 2 groups of buses.When one group of bus is transmitted, data need be carried out buffer memory, bus adopts the time division multiplex strategy, namely in address path, source address and destination address interval one-period alternately appear in the data transfer path on address bus, the DMA data bus is bidirectional bus, and its reading data from this dma controller is put into temporary register, this data communication device is crossed same bus in next cycle and is write in this this dma controller.Therefore, utilize one group of bus transfer data, data of every biography are near to take two clock period less.When dma controller during the transmission of data, is to improve data rate between two groups of buses, data can be without the buffer memory location of going directly to destination in transmission course.DMA engine 6 carries out read-write operation by read bus and write bus to this dma controller, and read-write motion can be carried out simultaneously, thereby has consisted of a two-level pipeline.
The data input channel 2 of the adjustable multi-channel DMA controller of a kind of priority provided by the present invention not only is confined to described eight passages 201 of above-described embodiment, 202...208, data input channel 2 can be any a plurality of passages, each data input channel is a corresponding data buffer-stored and control module and one group of control register group respectively, and is most according to the shared DMA engine of input channel.
The above has done detailed description to the present invention in conjunction with the accompanying drawings and embodiments, but the present invention is not limited to above-described embodiment, in the ken that those of ordinary skills possess, can also make various variations under the prerequisite that does not break away from aim of the present invention.The content that the present invention is not described in detail all can adopt prior art.

Claims (7)

1.一种优先级可调多通道DMA控制器,其特征在于:它包括:1. A priority adjustable multi-channel DMA controller is characterized in that: it comprises: 多个数据输入通道,每个数据输入通道的输入端对应一个通道控制寄存器组,每个数据输入通道的输出端对应一个数据缓冲存储及其控制模块,数据缓冲存储及其控制模块的输出端与多路复用模块(4)通信,多路复用模块的输出端与DMA引擎(6)通信;Multiple data input channels, the input end of each data input channel corresponds to a channel control register group, the output end of each data input channel corresponds to a data buffer storage and its control module, and the output end of the data buffer storage and its control module is connected to The multiplexing module (4) communicates, and the output terminal of the multiplexing module communicates with the DMA engine (6); 数据缓冲存储及其控制模块用于缓冲数据输入通道实时传输来的数据,并对传输来的数据进行数据传输及数据流控制;The data buffer storage and its control module are used to buffer the data transmitted by the data input channel in real time, and perform data transmission and data flow control on the transmitted data; 控制寄存器组与所述数据缓冲存储及其控制模块通信,用于根据所述控制寄存器中预配置的数据对所述数据缓冲存储及其控制模块的数据传输进行控制;The control register group communicates with the data buffer storage and its control module, and is used to control the data transmission of the data buffer storage and its control module according to the pre-configured data in the control register; 多路复用模块(4)与所述数据缓冲存储及其控制模块通信,用于把所述数据缓冲存储及其控制模块中的信号和数据进行多路复用后传输到DMA引擎(6);The multiplexing module (4) communicates with the data buffer storage and its control module, and is used to multiplex the signals and data in the data buffer storage and its control module and transmit them to the DMA engine (6) ; DMA引擎(6)根据各数据输入通道所配置的工作模式及预设优先级完成各种数据传输任务。The DMA engine (6) completes various data transmission tasks according to the configured working mode and preset priority of each data input channel. 2.根据权利要求1所述的一种优先级可调多通道DMA控制器,其特征在于:所述的通道控制寄存器组与DMA引擎(6)之间直接通过通道仲裁模块(8)通信,通道仲裁模块(8)根据数据输入通的优先级选择下一个进行数据传输的通道,直接传输到DMA引擎(6)。2. a kind of priority adjustable multi-channel DMA controller according to claim 1, is characterized in that: directly communicate through channel arbitration module (8) between described channel control register group and DMA engine (6), The channel arbitration module (8) selects the next channel for data transmission according to the priority of the data input channel, and directly transmits to the DMA engine (6). 3.根据权利要求1所述的一种优先级可调多通道DMA控制器,其特征在于:所述的通道控制寄存器组与多路复用模块(4)之间通过通道仲裁模块(8)通信,通道仲裁模块(8)根据数据输入通的优先级选择下一个进行数据传输的通道,该通道的数据进行多路复用后传输到DMA引擎(6)。3. a kind of priority adjustable multi-channel DMA controller according to claim 1 is characterized in that: the channel arbitration module (8) is passed between the described channel control register group and the multiplexing module (4) For communication, the channel arbitration module (8) selects the next channel for data transmission according to the priority of the data input channel, and the data of the channel is multiplexed and then transmitted to the DMA engine (6). 4.根据权利要求2或3所述的一种优先级可调多通道DMA控制器,其特征在于:所述的通道仲裁模块(8)采用优先级和轮转相结合的仲裁机制,通道仲裁模块(8)将多个数据通道分为若干个组,每组有两个通道,每组中的两个通道轮流传输。4. a kind of priority adjustable multi-channel DMA controller according to claim 2 or 3, is characterized in that: described channel arbitration module (8) adopts the arbitration mechanism that priority and round-robin combine, channel arbitration module (8) Divide multiple data channels into several groups, each group has two channels, and the two channels in each group transmit in turn. 5.根据权利要求1所述的一种优先级可调多通道DMA控制器,其特征在于:所述的多路复用模块(4)内含有第二缓冲存储模块(401),第二缓冲存储模块(401)用于存储DMA数据传输中的数据,避免DMA数据溢出。5. A kind of priority-adjustable multi-channel DMA controller according to claim 1, characterized in that: said multiplexing module (4) contains a second buffer storage module (401), and the second buffer The storage module (401) is used for storing data in DMA data transmission to avoid DMA data overflow. 6.根据权利要求1所述的一种优先级可调多通道DMA控制器,其特征在于:所述的DMA引擎(6)缓冲器中存储有链表描述符,链表中的每个描述符定义待传输数据帧的格式和控制信息,配合DMA控制器完成数据传输任务;同时,链表描述符在传输过程中对数据帧和缓冲区大小进行动态调整,减少MPU对DMA传输过程的参与。6. a kind of priority adjustable multi-channel DMA controller according to claim 1 is characterized in that: linked list descriptor is stored in the described DMA engine (6) buffer, each descriptor definition in linked list The format and control information of the data frame to be transmitted cooperates with the DMA controller to complete the data transmission task; at the same time, the linked list descriptor dynamically adjusts the size of the data frame and buffer during the transmission process, reducing the participation of the MPU in the DMA transmission process. 7.根据权利要求1所述的一种优先级可调多通道DMA控制器,其特征在于:所述的DMA引擎(6)上设有两个主设备接口,每个主设备接口上各设有一组硬件握手信号,每组硬件握手信号包含2个信号:即DMA请求信号和DMA应答信号;当从设备需要发起DMA传输时,相应主设备接口的DMA请求信号有效,DMA控制器响应请求后启动DMA引擎(6),当一个数据帧传输完毕后,DMA控制器发出应答信号,从设备收到应答后令请求信号复位,完成一次DMA传输任务。7. a kind of priority-adjustable multi-channel DMA controller according to claim 1 is characterized in that: described DMA engine (6) is provided with two main equipment interfaces, respectively sets on each main equipment interface There is a set of hardware handshake signals, and each set of hardware handshake signals contains 2 signals: DMA request signal and DMA response signal; when the slave device needs to initiate DMA transfer, the DMA request signal of the corresponding master device interface is valid, and the DMA controller responds to the request. Start the DMA engine (6), after a data frame has been transmitted, the DMA controller sends a response signal, and the request signal is reset after the slave device receives the response, completing a DMA transmission task.
CN201110324576XA 2011-10-24 2011-10-24 Priority adjustable multiple-channel direct memory access (DMA) controller Pending CN103064808A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110324576XA CN103064808A (en) 2011-10-24 2011-10-24 Priority adjustable multiple-channel direct memory access (DMA) controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110324576XA CN103064808A (en) 2011-10-24 2011-10-24 Priority adjustable multiple-channel direct memory access (DMA) controller

Publications (1)

Publication Number Publication Date
CN103064808A true CN103064808A (en) 2013-04-24

Family

ID=48107439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110324576XA Pending CN103064808A (en) 2011-10-24 2011-10-24 Priority adjustable multiple-channel direct memory access (DMA) controller

Country Status (1)

Country Link
CN (1) CN103064808A (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424114A (en) * 2013-08-26 2015-03-18 展讯通信(上海)有限公司 Multiplexing device with priority and working method thereof
CN104679702A (en) * 2013-11-28 2015-06-03 中国航空工业集团公司第六三一研究所 Multi-path high-speed serial interface controller
CN106663074A (en) * 2014-09-03 2017-05-10 高通股份有限公司 Multi-channel audio communication in serial low-power inter-chip media bus (SLIMbus) system
CN106683694A (en) * 2016-12-19 2017-05-17 西安微电子技术研究所 Rate-adaptive storer interface circuit
CN107193767A (en) * 2017-05-25 2017-09-22 北京计算机技术及应用研究所 A kind of double controller storage system caches the data transmission system of mirror image
CN107220200A (en) * 2017-06-15 2017-09-29 西安微电子技术研究所 Time triggered Ethernet data management system and method based on dynamic priority
CN107426180A (en) * 2017-06-15 2017-12-01 西安微电子技术研究所 A kind of monitoring device to ethernet data frame spreadability
CN108259368A (en) * 2018-01-11 2018-07-06 郑州云海信息技术有限公司 A kind of data transmission system and method based on FPGA
CN108462651A (en) * 2016-12-12 2018-08-28 中国航空工业集团公司西安航空计算技术研究所 A method of the 1394 asynchronous steaming transfer realized using DMA chain
CN109379296A (en) * 2018-10-25 2019-02-22 盛科网络(苏州)有限公司 A kind of chip realizes the method and device of upper CPU protocol massages stratification flow control
CN109408428A (en) * 2018-10-29 2019-03-01 京信通信系统(中国)有限公司 Control method, device and the physical layer accelerator card of direct memory access
CN110178344A (en) * 2017-02-07 2019-08-27 欧姆龙株式会社 Control device and communication device
CN110362347A (en) * 2019-07-18 2019-10-22 成都夸克光电技术有限公司 A kind of real-time priority band-wise processing device and control method
CN110727619A (en) * 2019-10-16 2020-01-24 中科睿微(宁波)电子技术有限公司 Communication system based on SDIO interface and data transmission method
CN110737614A (en) * 2017-06-15 2020-01-31 北京忆芯科技有限公司 Electronic equipment with DMA accelerator and DMA command processing method thereof
CN113468084A (en) * 2021-05-28 2021-10-01 北京时代民芯科技有限公司 Multi-mode DMA data transmission system
CN114730301A (en) * 2020-04-17 2022-07-08 西部数据技术公司 Storage system and method for multi-protocol processing
CN114817098A (en) * 2022-04-28 2022-07-29 重庆大学 A sensory data processing system and method
CN116233036A (en) * 2023-03-14 2023-06-06 上海耀芯电子科技有限公司 DMA transmission control method and device
CN116756066A (en) * 2023-08-21 2023-09-15 北京紫光芯能科技有限公司 A direct memory access control method and controller
CN117312200A (en) * 2023-11-27 2023-12-29 沐曦集成电路(南京)有限公司 Multi-channel data DMA system based on ring buffer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040141516A1 (en) * 2003-01-18 2004-07-22 Samsung Electronics Co., Ltd. System and method for allocating a plurality of sources to a plurality of channels
CN101504633A (en) * 2009-03-27 2009-08-12 北京中星微电子有限公司 Multi-channel DMA controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040141516A1 (en) * 2003-01-18 2004-07-22 Samsung Electronics Co., Ltd. System and method for allocating a plurality of sources to a plurality of channels
CN101504633A (en) * 2009-03-27 2009-08-12 北京中星微电子有限公司 Multi-channel DMA controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
梁科等: "《通用多通道高性能DMA控制器设计》", 《天津大学学报》, vol. 41, no. 5, 31 May 2008 (2008-05-31), pages 621 - 626 *

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424114A (en) * 2013-08-26 2015-03-18 展讯通信(上海)有限公司 Multiplexing device with priority and working method thereof
CN104424114B (en) * 2013-08-26 2018-03-30 展讯通信(上海)有限公司 A kind of multiplexer and its method of work with priority
CN104679702A (en) * 2013-11-28 2015-06-03 中国航空工业集团公司第六三一研究所 Multi-path high-speed serial interface controller
CN104679702B (en) * 2013-11-28 2018-01-12 中国航空工业集团公司第六三一研究所 Multipath high-speed serial interface controller
CN106663074A (en) * 2014-09-03 2017-05-10 高通股份有限公司 Multi-channel audio communication in serial low-power inter-chip media bus (SLIMbus) system
CN108462651A (en) * 2016-12-12 2018-08-28 中国航空工业集团公司西安航空计算技术研究所 A method of the 1394 asynchronous steaming transfer realized using DMA chain
CN106683694A (en) * 2016-12-19 2017-05-17 西安微电子技术研究所 Rate-adaptive storer interface circuit
CN110178344A (en) * 2017-02-07 2019-08-27 欧姆龙株式会社 Control device and communication device
CN107193767A (en) * 2017-05-25 2017-09-22 北京计算机技术及应用研究所 A kind of double controller storage system caches the data transmission system of mirror image
CN110737614A (en) * 2017-06-15 2020-01-31 北京忆芯科技有限公司 Electronic equipment with DMA accelerator and DMA command processing method thereof
CN107426180A (en) * 2017-06-15 2017-12-01 西安微电子技术研究所 A kind of monitoring device to ethernet data frame spreadability
CN107220200A (en) * 2017-06-15 2017-09-29 西安微电子技术研究所 Time triggered Ethernet data management system and method based on dynamic priority
CN107220200B (en) * 2017-06-15 2020-02-14 西安微电子技术研究所 Dynamic priority based time-triggered Ethernet data management system and method
CN107426180B (en) * 2017-06-15 2020-05-05 西安微电子技术研究所 Detection apparatus for data frame coverage of ethernet
CN108259368A (en) * 2018-01-11 2018-07-06 郑州云海信息技术有限公司 A kind of data transmission system and method based on FPGA
CN109379296A (en) * 2018-10-25 2019-02-22 盛科网络(苏州)有限公司 A kind of chip realizes the method and device of upper CPU protocol massages stratification flow control
CN109408428B (en) * 2018-10-29 2021-05-28 京信通信系统(中国)有限公司 Control method and device for direct memory access and physical layer accelerator card
CN109408428A (en) * 2018-10-29 2019-03-01 京信通信系统(中国)有限公司 Control method, device and the physical layer accelerator card of direct memory access
CN110362347A (en) * 2019-07-18 2019-10-22 成都夸克光电技术有限公司 A kind of real-time priority band-wise processing device and control method
CN110362347B (en) * 2019-07-18 2023-02-28 成都夸克光电技术有限公司 Real-time priority multichannel processor and control method
CN110727619A (en) * 2019-10-16 2020-01-24 中科睿微(宁波)电子技术有限公司 Communication system based on SDIO interface and data transmission method
CN110727619B (en) * 2019-10-16 2021-05-18 中科睿微(宁波)电子技术有限公司 Communication system based on SDIO interface and data transmission method
CN114730301A (en) * 2020-04-17 2022-07-08 西部数据技术公司 Storage system and method for multi-protocol processing
CN113468084A (en) * 2021-05-28 2021-10-01 北京时代民芯科技有限公司 Multi-mode DMA data transmission system
CN113468084B (en) * 2021-05-28 2023-08-29 北京时代民芯科技有限公司 A Multi-mode DMA Data Transmission System
CN114817098A (en) * 2022-04-28 2022-07-29 重庆大学 A sensory data processing system and method
CN116233036A (en) * 2023-03-14 2023-06-06 上海耀芯电子科技有限公司 DMA transmission control method and device
CN116233036B (en) * 2023-03-14 2023-08-25 上海耀芯电子科技有限公司 DMA transmission control method and device
CN116756066A (en) * 2023-08-21 2023-09-15 北京紫光芯能科技有限公司 A direct memory access control method and controller
CN116756066B (en) * 2023-08-21 2024-01-02 北京紫光芯能科技有限公司 Direct memory access control method and controller
CN117312200A (en) * 2023-11-27 2023-12-29 沐曦集成电路(南京)有限公司 Multi-channel data DMA system based on ring buffer
CN117312200B (en) * 2023-11-27 2024-02-02 沐曦集成电路(南京)有限公司 Multi-channel data DMA system based on ring buffer

Similar Documents

Publication Publication Date Title
CN103064808A (en) Priority adjustable multiple-channel direct memory access (DMA) controller
CN202404581U (en) Priority adjustable multi-channel dma controller
US7970960B2 (en) Direct memory access controller and data transmitting method of direct memory access channel
CN102231142B (en) Multi-channel direct memory access (DMA) controller with arbitrator
CN101504633B (en) Multi-channel DMA controller
US4470114A (en) High speed interconnection network for a cluster of processors
CN103793342A (en) Multichannel direct memory access (DMA) controller
US4744078A (en) Multiple path multiplexed host to network data communication system
CN113468084B (en) A Multi-mode DMA Data Transmission System
CN105005546A (en) Asynchronous AXI bus structure with built-in cross point queue
CN108279927A (en) The multichannel command control method and system, controller of adjustable instruction priority
CN109656851B (en) System with time determination and comprising multiple high-speed bus channels and shared interface
CN109145397B (en) External memory arbitration system supporting parallel running water access
KR20020008955A (en) Bus system and execution scheduling method for access commands thereof
EP1187028B1 (en) Immediate grant bus arbiter for bus system
JP2008541276A (en) Simultaneous read response confirmation extended direct memory access unit
JP2010520519A (en) Data transfer network and controller for systems with autonomously or commonly controlled PE arrays
EP0618537B1 (en) System and method for interleaving status information with data transfers in a communications adapter
CN103927125B (en) Timesharing buffer accesses system and Memory Controller
CN115114215B (en) High-speed peripheral component interconnect interface device and operation method thereof
JP2006072592A (en) Radio with a dedicated data bus
CN116204465A (en) Design of multi-channel DDR and PCIE data exchange module
CN1191530C (en) PCI bridge with improved structure
CN1366250A (en) Synchronous serial ports controller
TWI724608B (en) Microcontroller architecture and data reading method in architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130424