KR101128898B1 - Direct memory access controller, system and method for transferring a data using the same - Google Patents

Direct memory access controller, system and method for transferring a data using the same Download PDF

Info

Publication number
KR101128898B1
KR101128898B1 KR1020050028587A KR20050028587A KR101128898B1 KR 101128898 B1 KR101128898 B1 KR 101128898B1 KR 1020050028587 A KR1020050028587 A KR 1020050028587A KR 20050028587 A KR20050028587 A KR 20050028587A KR 101128898 B1 KR101128898 B1 KR 101128898B1
Authority
KR
South Korea
Prior art keywords
dma
data
delete delete
register
request
Prior art date
Application number
KR1020050028587A
Other languages
Korean (ko)
Other versions
KR20060106142A (en
Inventor
김정연
Original Assignee
매그나칩 반도체 유한회사
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 매그나칩 반도체 유한회사 filed Critical 매그나칩 반도체 유한회사
Priority to KR1020050028587A priority Critical patent/KR101128898B1/en
Publication of KR20060106142A publication Critical patent/KR20060106142A/en
Application granted granted Critical
Publication of KR101128898B1 publication Critical patent/KR101128898B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47CCHAIRS; SOFAS; BEDS
    • A47C21/00Attachments for beds, e.g. sheet holders, bed-cover holders; Ventilating, cooling or heating means in connection with bedsteads or mattresses
    • A47C21/04Devices for ventilating, cooling or heating
    • A47C21/048Devices for ventilating, cooling or heating for heating
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47CCHAIRS; SOFAS; BEDS
    • A47C27/00Spring, stuffed or fluid mattresses or cushions specially adapted for chairs, beds or sofas
    • A47C27/12Spring, stuffed or fluid mattresses or cushions specially adapted for chairs, beds or sofas with fibrous inlays, e.g. made of wool, of cotton
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47CCHAIRS; SOFAS; BEDS
    • A47C31/00Details or accessories for chairs, beds, or the like, not provided for in other groups of this subclass, e.g. upholstery fasteners, mattress protectors, stretching devices for mattress nets
    • A47C31/02Upholstery attaching means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C65/00Joining or sealing of preformed parts, e.g. welding of plastics materials; Apparatus therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B5/00Layered products characterised by the non- homogeneity or physical structure, i.e. comprising a fibrous, filamentary, particulate or foam layer; Layered products characterised by having a layer differing constitutionally or physically in different parts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B68SADDLERY; UPHOLSTERY
    • B68GMETHODS, EQUIPMENT, OR MACHINES FOR USE IN UPHOLSTERING; UPHOLSTERY NOT OTHERWISE PROVIDED FOR
    • B68G7/00Making upholstery
    • CCHEMISTRY; METALLURGY
    • C04CEMENTS; CONCRETE; ARTIFICIAL STONE; CERAMICS; REFRACTORIES
    • C04BLIME, MAGNESIA; SLAG; CEMENTS; COMPOSITIONS THEREOF, e.g. MORTARS, CONCRETE OR LIKE BUILDING MATERIALS; ARTIFICIAL STONE; CERAMICS; REFRACTORIES; TREATMENT OF NATURAL STONE
    • C04B14/00Use of inorganic materials as fillers, e.g. pigments, for mortars, concrete or artificial stone; Treatment of inorganic materials specially adapted to enhance their filling properties in mortars, concrete or artificial stone
    • C04B14/02Granular materials, e.g. microballoons
    • C04B14/04Silica-rich materials; Silicates
    • C04B14/10Clay
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F24HEATING; RANGES; VENTILATING
    • F24DDOMESTIC- OR SPACE-HEATING SYSTEMS, e.g. CENTRAL HEATING SYSTEMS; DOMESTIC HOT-WATER SUPPLY SYSTEMS; ELEMENTS OR COMPONENTS THEREFOR
    • F24D3/00Hot-water central heating systems
    • F24D3/12Tube and panel arrangements for ceiling, wall, or underfloor heating
    • F24D3/16Tube and panel arrangements for ceiling, wall, or underfloor heating mounted on, or adjacent to, a ceiling, wall or floor

Abstract

본 발명은 특정한 주기마다 한번씩 데이터 전송이 이루어지는 입출력 장치에서도 직접 메모리 접근(Direct Memory Access, DMA) 동작을 안정적으로 수행할 수 있도록 하는 DMA 제어장치를 이용한 데이터 전송 시스템 및 전송 방법을 제공하기위한 것으로, 이를 위해 본 발명에서는 MCU 내부의 타이머로부터 입력되는 DMA 요청에 응답하여 DMA 요청신호를 생성하는 DMA 요청부와, 상기 DMA 요청신호에 따라 메모리와, 상기 타이머의 값에 대응하여 일정 주기 동안 데이터 송수신이 이루어지는 외부 입출력 장치 간에 DMA 전송을 수행하는 DMA 제어부를 포함하는 DMA 제어장치를 제공한다. The present invention is to provide a data transmission system and a transmission method using a DMA control device for stably performing a direct memory access (Direct Memory Access, DMA) operation even in the input and output device that the data transmission once every specific period, To this end, the present invention provides a DMA request unit for generating a DMA request signal in response to a DMA request input from a timer inside the MCU, a memory according to the DMA request signal, and data transmission / reception for a predetermined period in response to the value of the timer. Provided is a DMA control apparatus including a DMA control unit for performing DMA transfer between external input / output devices.

DMA, LCD, MCU, 타이머, FSM, 런렝쓰 데이터 DMA, LCD, MCU, Timer, FSM, Run Length Data

Description

직접 메모리 접근 제어장치, 및 이를 이용한 데이터 전송 시스템 및 그 전송 방법{DIRECT MEMORY ACCESS CONTROLLER, SYSTEM AND METHOD FOR TRANSFERRING A DATA USING THE SAME}DIRECT MEMORY ACCESS CONTROLLER, SYSTEM AND METHOD FOR TRANSFERRING A DATA USING THE SAME}

도 1은 본 발명의 바람직한 실시예에 따른 직접 메모리 접근 제어장치를 설명하기 위하여 도시한 데이터 전송 시스템의 구성을 도시한 블록도. 1 is a block diagram showing a configuration of a data transmission system shown for explaining a direct memory access control apparatus according to a preferred embodiment of the present invention.

도 2a 및 도 2b는 도 1에 도시된 DMA 요청신호 및 채널 선택부를 도시한 도면.2A and 2B illustrate a DMA request signal and a channel selector shown in FIG. 1;

도 3은 DMA 요청신호(DRQ)와 레지스터 DMA 요청신호(DMRQR)가 할당되는 첫번째 채널(채널0)과 두번째 채널(채널1)의 DMA 데이터 전송 방법을 설명하기 위하여 도시한 흐름도. FIG. 3 is a flowchart illustrating a DMA data transfer method of a first channel (channel 0) and a second channel (channel 1) to which a DMA request signal DRQ and a register DMA request signal DMRQR are allocated.

도 4는 DMA 요청신호(Timer0 내지 Timer7)와 레지스터 DMA 요청신호(DMRQR)가 할당되는 세번째 채널(채널2)과 네번째 채널(채널3)을 이용한 런렝쓰 데이터 처리방법을 설명하기 위하여 도시한 흐름도. 4 is a flowchart illustrating a runlength data processing method using a third channel (channel 2) and a fourth channel (channel 3) to which the DMA request signals Timer0 to Timer7 and the register DMA request signal DMRQR are allocated.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

10 : MCU10: MCU

20 : 타이머20: timer

30 : DMA 제어장치30: DMA controller

40 : 메모리40: memory

50 : 입출력 장치50: input / output device

31 : 우선순위 생성부31: priority generation unit

32 : DMA 요청신호 및 채널 선택부32: DMA request signal and channel selector

33 : DMA 제어부33: DMA control unit

34 : 레지스터 카운팅부34: register counting unit

35 : 레지스터부35: register

본 발명은 직접 메모리 접근(Direct Memory Access, DMA) 제어장치를 이용한 데이터 전송 시스템 및 전송 방법에 관한 것으로, 특히 SOC(System On Chip)에서 내부 메모리 또는 외부 메모리에 저장된 데이터를 독출(read)하여 칩 내부의 특정 블록에 데이터를 전송하거나, 칩 내부의 특정 블록의 데이터를 독출하여 메모리에 기입(write)하는 직접 메모리 접근 제어장치를 이용한 데이터 전송 시스템 및 전송 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transmission system and a transmission method using a direct memory access (DMA) control device. In particular, a SOC (System On Chip) reads data stored in an internal memory or an external memory, The present invention relates to a data transmission system and a transmission method using a direct memory access control apparatus which transmits data to a specific block inside, or reads and writes data of a specific block inside a chip into a memory.

일반적으로, 직접 메모리 접근(이하, DMA라 함) 제어장치는 내부 또는 외부 의 블록, 예컨대, 입출력(Input/Output, I/O) 장치의 요구에 따라 요청 블록의 내부 버퍼에서 설정된 메모리로 데이터를 전송하거나, 메모리로부터 요청 블럭의 버퍼로 데이터를 전송한다. 요청 블록은 내부에 여러 개의 데이터를 저장할 수 있도록 버퍼(buffer)로 FIFO(First In First Out)가 구성된다. FIFO 버퍼에 메모리로 전송할 만큼의 데이터가 저장되어 있거나, 메모리로부터 데이터를 가져와 데이터를 저장할 수 있을 만큼 비어있을 때, 요청 블록은 DMA 제어장치로 데이터 전송을 요구한다.In general, a direct memory access (hereinafter, referred to as DMA) controller is configured to transfer data into an internal or external block, for example, a memory set in an internal buffer of a request block in response to a request of an input / output (I / O) device. Transfer data from the memory to the buffer of the request block. The request block is configured with a FIFO (First In First Out) as a buffer to store several data inside. When enough data is stored in the FIFO buffer for transfer to memory, or empty enough to retrieve data from memory and store the data, the request block requests data transfer to the DMA controller.

이러한 DMA 동작은 미리 DMA 제어장치에 설정된 크기 만큼의 데이터를 모두 전송할 때까지 계속적으로 이루어진다. DMA 제어장치를 통해 모든 데이터의 전송이 완료되면, DMA 제어장치는 인터럽트(interrupt)를 발생하여 CPU(Central Processing Unit) 또는 MCU(Micro Controller Unit)에게 미리 설정된 크기 만큼의 데이터 전송이 완료되었음을 알려준다. CPU는 이 인터럽트를 받아서 이후에 DMA 제어장치로 데이터를 더 전송할 건지, 아니면 연속적으로 일어나는 다른 동작을 수행할 건지를 판단해서 분기한다. This DMA operation is continued until all the data of the size set in advance in the DMA controller is transmitted. When all data is transferred through the DMA controller, the DMA controller generates an interrupt to notify the central processing unit (CPU) or the micro controller unit (MCU) that the data transfer of the preset size is completed. The CPU receives this interrupt and branches to determine whether to send further data to the DMA controller or to perform another sequence of operations.

이러한 일반적인 DMA 제어장치는 특정 시간 마다 한번씩 주기적으로 특정한 크기의 데이터를 송수신하는 블록, 예컨대 LCD(Liquid Crystal Display) 장치 또는 전광판과 같이 일정한 주기마다 데이터를 송수신하여야 하는 블록과의 데이터 전송에는 사용하는 경우 효율이 감소한다. 이에 따라, DMA 제어장치 대신에 LCD 장치와 같은 블록과의 데이터 처리를 수행하기 위해 CPU를 사용하는 경우에는 카운터(counter)의 출력을 받아 특정 시간(또는, 주기) 마다 한번씩 데이터를 송수신하므 로, 그 동안 중앙처리부는 다른 동작을 수행할 수가 없어 전체적으로 동작특성이 저하되는 문제가 발생한다, Such a general DMA controller is used for data transmission with a block that periodically transmits and receives data of a specific size once every specific time, such as a liquid crystal display (LCD) device or a block that needs to transmit and receive data at regular intervals, such as an electronic sign. The efficiency is reduced. Accordingly, when the CPU is used to perform data processing with a block such as an LCD device instead of the DMA controller, it receives a counter output and transmits and receives data once every specific time (or period). In the meantime, the central processing unit cannot perform any other operation, which causes a problem of deteriorating the overall operating characteristics.

따라서, 중앙처리부의 부담을 감소시키기 위해 DMA 제어장치를 이용하여 DMA 동작을 수행하고자 하는 경우에는 DMA 동작을 요구하는 블록 내부에 자체적으로 카운터(또는, 타이머)를 구성하고, 이 카운터를 이용하여 주기적으로 메모리에 저장된 데이터를 DMA 제어부를 통해 FIFO 버퍼로 전송하거나, 주기적으로 블럭 내의 데이터를 FIFO 버퍼에 저장한 후 DMA 제어부를 이용하여 FIFO 버퍼에 저장된 데이터를 메모리로 옮겨야 한다. 그러나, 이 경우에도 요청 블록 내부에 카운터가 구성되어야 함과 아울러, 카운터를 이용하여 FIFO 버퍼를 제어하기 위한 별도의 제어회로가 필요하게 된다. Therefore, in order to reduce the burden on the central processing unit, if a DMA operation is to be performed by using the DMA controller, a counter (or timer) is configured in the block requiring the DMA operation, and this counter is used periodically. In other words, data stored in the memory should be transferred to the FIFO buffer through the DMA controller, or periodically the data in the block should be stored in the FIFO buffer and then the data stored in the FIFO buffer should be transferred to the memory using the DMA controller. However, even in this case, a counter must be configured inside the request block, and a separate control circuit for controlling the FIFO buffer by using the counter is required.

또한, 전광판에서는 문자를 제외한 대부분의 배경 데이터가 같은 값을 갖는다. 그럼에도 불구하고, 종래에서는 매번 같은 데이터를 전송하여 왔다. 이에 따라, 메모리 영역을 차지하고, 버스를 점유하게 되는 문제가 발생한다. 그리고, 여러개의 전광판을 함께 사용하고자 하는 경우 여러개의 외부 장치와 DMA 제어장치가 요구되는 문제점이 있다. 그리고, DMA 장치 대신에 CPU 또는 MCU와 같은 프로세서를 사용하여 구현하는 경우, 프로세서는 계속 주기적으로 데이터 전송을 관장해야 하므로 다른 작업을 수행할 때 계속 인터럽트가 걸려 처리 성능을 저하시키는 원인이 될 수 있다.Also, in the electronic board, most background data except for characters have the same value. Nevertheless, conventionally, the same data has been transmitted every time. This causes a problem of occupying the memory area and occupying the bus. In addition, when using a plurality of electronic plates together, there is a problem that a plurality of external devices and a DMA control device are required. In addition, if the processor is implemented using a processor such as a CPU or an MCU instead of the DMA device, the processor must continuously manage data transmission periodically, which may cause interruption when performing other tasks, which may cause a decrease in processing performance. .

따라서, 본 발명은 상기한 종래기술의 문제점을 해결하기 위해 제안된 것으로서, 특정한 주기마다 한번씩 데이터 전송이 이루어지는 입출력 장치에서도 DMA 동작을 안정적으로 수행할 수 있도록 하는 DMA 제어장치를 제공하는데 그 목적이 있다. Accordingly, an object of the present invention is to provide a DMA control apparatus that can stably perform a DMA operation even in an input / output device in which data transmission is performed once every specific period. .

또한, 본 발명은 동일한 데이터가 반복적으로 이루어진 런렝쓰 인코딩(run length encoding) 데이터의 처리를 가능하게 하여 반복적인 데이터의 전송에 의한 성능저하 및 전력손실을 감소시킬 수 있는 DMA 제어장치를 제공하는데 다른 목적이 있다. In addition, the present invention provides a DMA control apparatus capable of processing run length encoded data in which the same data is repeated, thereby reducing performance degradation and power loss due to repetitive data transmission. There is a purpose.

또한, 본 발명은 하나의 소스 어드레스(source address)에 대한 한번의 DMA 요청에 대해 최대 4개의 목적 어드레스를 갖는 목적지로의 데이터 전송을 가능하게 하여 동일 주기로 서로 다른 데이터를 필요로 하는 외부 장치를 최대 4개까지 연결하여 데이터 전송을 처리할 수 있는 DMA 제어장치를 제공하는데 다른 목적이 있다.In addition, the present invention enables data transfer to a destination having up to four destination addresses for one DMA request for one source address, thereby maximizing external devices requiring different data in the same period. Another object is to provide a DMA controller capable of handling data transfer by connecting up to four.

또한, 본 발명은 다양하게 설정 가능한 소스 어드레스 및 목적 어드레스를 갖는 MCU 내의 어떤 장치라도 DMA 전송이 가능하도록 제어하여 폭넓은 소스 어드레스 및 목적 어드레스에 대해 높은 활용도를 갖는 DMA 제어장치를 제공하는데 다른 목적이 있다. In addition, the present invention is to provide a DMA control device having a high utilization for a wide range of source address and destination address by controlling any device in the MCU having a configurable source address and destination address to enable DMA transfer. have.

또한, 본 발명은 상기한 DMA 제어장치를 이용한 데이터 전송 시스템 및 전송 방법을 제공하는데 또 다른 목적이 있다. Another object of the present invention is to provide a data transmission system and a transmission method using the DMA control apparatus.

상기한 목적을 달성하기 위한 일측면에 따른 본 발명은, MCU 내부의 타이머로부터 입력되는 DMA 요청에 응답하여 DMA 요청신호를 생성하는 DMA 요청부와, 상기 DMA 요청신호에 따라 메모리와, 상기 타이머의 값에 대응하여 일정 주기 동안 데이터 송수신이 이루어지는 외부 입출력 장치 간에 DMA 전송을 수행하는 DMA 제어부를 포함하는 DMA 제어장치를 제공한다. According to an aspect of the present invention, a DMA request unit generates a DMA request signal in response to a DMA request input from a timer inside the MCU, a memory according to the DMA request signal, Provided is a DMA control apparatus including a DMA control unit for performing a DMA transfer between the external input and output devices for data transmission and reception for a predetermined period corresponding to the value.

또한, 상기한 목적을 달성하기 위한 다른 측면에 따른 본 발명은, 데이터가 저장된 메모리와, 상기 메모리와 설정된 일정 주기 마다 DMA 전송을 수행하는 제1 입출력 장치와, 상기 메모리 또는 상기 제1 입출력 장치와 제1 DMA 요청에 따라 DMA 전송이 이루어지는 제2 입출력 장치와, 내부의 타이머를 통해 상기 주기에 대응되는 카운터값을 설정하고, 상기 주기 마다 상기 메모리와 상기 제1 입출력 장치 간에 DMA 전송을 수행하기 위하여 DMA 어드레스를 설정하는 MCU와, 상기 제1 DMA 요청과, 상기 타이머로부터 입력되는 제2 DMA 요청을 입력받고, 상기 제1 및 제2 DMA 요청에 각각 채널을 할당한 후 우선순위에 따라 상기 채널 중 어느 하나의 채널을 선택하여 선택된 채널의 DMA 요청신호를 출력하는 DMA 요청부와, 상기 DMA 요청신호에 응답하여 선택된 상기 채널을 통해 상기 DMA 어드레스를 이용하여 상기 메모리, 상기 제1 및 제2 입출력 장치 간에 DMA 전송을 수행하는 DMA 제어부를 포함하는 데이터 전송 시스템을 제공한다. According to another aspect of the present invention, there is provided a memory including: a memory in which data is stored, a first input / output device for performing DMA transfers at predetermined intervals with the memory, and the memory or the first input / output device; In order to set a counter value corresponding to the period through the internal timer and the second input-output device in which the DMA transfer is made according to the first DMA request, and perform the DMA transfer between the memory and the first input-output device every cycle. An MCU for setting a DMA address, the first DMA request, and a second DMA request input from the timer, and assigning channels to the first and second DMA requests, respectively, according to a priority of the channels; A DMA request unit which selects one channel and outputs a DMA request signal of the selected channel, and the channel selected in response to the DMA request signal; Wherein using the DMA address provides a data transfer system including the memory, DMA controller for performing DMA transfers between the first and second input-output device.

또한, 상기한 목적을 달성하기 위한 다른 측면에 따른 본 발명은, 일정 주기마다 데이터 전송이 이루어지는 제1 입출력 장치와, 요청에 의해 데이터 전송이 이루어지는 제2 입출력 장치와, 메모리의 DMA 어드레스를 내부 레지스터에 셋팅시키 는 단계와, 상기 제1 입출력 장치에 대응하여 MCU 내부의 타이머로부터 입력되는 제1 DMA 요청과, 제2 입출력 장치로부터 입력되는 제2 DMA 요청과, 내부 레지스터로부터 입력되는 제3 DMA 요청을 DMA 요청부를 통해 입력받고, 우선순위에 따라 상기 제1 내지 제3 DMA 요청 중 어느 하나의 요청을 선택하여 채널선택 신호 및 DMA 요청신호를 생성하는 단계와, 상기 DMA 요청신호와 상기 채널선택 신호에 따라 DMA 제어부를 통해 상기 DMA 어드레스를 이용하여 메모리, 제1 및 제2 입출력 장치 간에 DMA 전송을 수행하는 단계를 포함하는 데이터 전송 방법을 제공한다. According to another aspect of the present invention, there is provided an internal register including a first input / output device in which data is transmitted at regular intervals, a second input / output device in which data is transmitted on request, and a DMA address of a memory. Set to a second DMA request input from a timer inside the MCU corresponding to the first input / output device, a second DMA request input from a second input / output device, and a third DMA request input from an internal register. Receiving an input through a DMA request unit, selecting one of the first to third DMA requests according to priority, and generating a channel selection signal and a DMA request signal, and the DMA request signal and the channel selection signal. And performing a DMA transfer between a memory, a first and a second input / output device using the DMA address through a DMA controller. It provides a data transmission method.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention.

실시예Example

도 1은 본 발명의 바람직한 실시예에 따른 DMA 제어장치를 설명하기 위하여 도시한 블록도로서, 여기서는 설명의 편의를 위해 4개의 채널을 갖는 데이터 전송 시스템을 도시하였다. FIG. 1 is a block diagram illustrating a DMA control apparatus according to a preferred embodiment of the present invention. Here, a data transmission system having four channels is illustrated for convenience of description.

도 1을 참조하면, 본 발명의 바람직한 실시예에 따른 DMA 제어장치는 우선순위 생성부(31), DMA 요청신호 및 채널 선택부(32), DMA 제어부(33), 레지스터 카운팅부(34) 및 레지스터(35)를 포함한다. Referring to FIG. 1, a DMA control apparatus according to a preferred embodiment of the present invention includes a priority generator 31, a DMA request signal and channel selector 32, a DMA controller 33, a register counting unit 34, and A register 35.

우선순위 생성부(31)는 MCU(10) 및 외부의 칩(또는, 장치)로부터 내부 버스를 통해 DMA 요청신호 및 채널 선택부(32)로 DMA 요청신호(DRQ0 및 DRQ1, Timer0 내지 Timer7)가 동시에 입력되는 경우 이들 중 어느 하나의 DMA 요청신호를 받아들여 데이터 처리를 수행할지를 결정한다. 이를 위해, 우선순위 생성부(31)는 4개의 채널에 대응되는 4개의 우선순위 결정신호(pr0 내지 pr3)를 생성하여 DMA 요청신호 및 채널 선택부(32)로 출력한다. 여기서, 'DRQ0 및 DRQ1'는 MCU(10)의 외부에 설치된 칩 또는 외부 장치로부터 입력되는 DMA 요청신호이고, 'Timer0 내지 Timer7'은 MCU(10) 내부의 타이머(20)에 의해 미리 설정되어 일정 주기마다 발생하는 DMA 요청신호이다. The priority generator 31 receives the DMA request signals DRQ0 and DRQ1 and Timer0 to Timer7 from the MCU 10 and an external chip (or device) to the DMA request signal and the channel selector 32 through an internal bus. When input at the same time, one of these DMA request signals is accepted to determine whether to perform data processing. To this end, the priority generation unit 31 generates four priority determination signals pr0 to pr3 corresponding to four channels, and outputs them to the DMA request signal and the channel selector 32. Here, 'DRQ0 and DRQ1' are DMA request signals input from a chip or an external device installed outside the MCU 10, and 'Timer0 to Timer7' are preset by the timer 20 inside the MCU 10 and are fixed. It is a DMA request signal that occurs every cycle.

DMA 요청신호 및 채널 선택부(32)는 우선순위 생성부(31)로부터 입력되는 우선순위 결정신호(pr0 내지 pr3)에 따라 내부 버스를 통해 입력되는 DMA 요청신호(DRQ0 및 DRQ1, Timer0 내지 Timer7) 중 어느 하나의 DMA 요청신호를 선택하여 선택된 내부 DMA 요청신호(dma_req)와 DMA 요청신호의 채널선택 신호(ch-sel) 생성하여 출력한다.The DMA request signal and the channel selector 32 are the DMA request signals DRQ0 and DRQ1 and Timer0 to Timer7 input through the internal bus according to the priority determination signals pr0 to pr3 input from the priority generation unit 31. One of the DMA request signals is selected to generate and output a selected internal DMA request signal dma_req and a channel select signal (ch-sel) of the DMA request signal.

내부 DMA 요청신호(dma_req)는 도 2a에 도시된 바와 같은 구성을 통해 얻을 수 있다. The internal DMA request signal dma_req can be obtained through the configuration as shown in FIG. 2A.

먼저, DMA 요청신호(DRQ0 및 DRQ1, Timer0 내지 Timer7)는 4개의 채널에 각각 할당된다. 외부 DMA 요청신호(DRQ0 및 DRQ1)는 MCU(10)와 무관하게 외부 장치로 입력되는 DMA 요청신호로서, 4개의 채널 중 첫번째 채널과 두번째 채널에 각각 할당된다. 외부 DMA 요청신호(DRQ0 및 DRQ1)에 의한 DMA 동작은 일반적인 DMA 동작과 동일하게 이루어짐에 따라 여기서는 설명의 편의를 위해 간략하게 설명하기로 한다. First, the DMA request signals DRQ0 and DRQ1 and Timer0 to Timer7 are assigned to four channels, respectively. The external DMA request signals DRQ0 and DRQ1 are DMA request signals input to an external device regardless of the MCU 10 and are allocated to the first channel and the second channel of the four channels, respectively. Since the DMA operation by the external DMA request signals DRQ0 and DRQ1 is performed in the same manner as the general DMA operation, it will be briefly described for convenience of description.

DMA 요청신호(Timer0 내지 Timer7)는 4개의 채널 중 첫번째 채널과 두번째 채널을 제외한 세번째 채널과 네번째 채널에 할당되는 신호로서, 타이머(20)를 통해 미리 설정된 주기동안 MCU(10)를 통해 입력되는 DMA 요청신호이다. 일례로, 동도면에 도시된 바와 같이 8개의 DMA 요청신호(Timer0 내지 Timer7)가 각각 두개의 채널을 할당받고, 이 8개의 DMA 요청신호(Timer0 내지 Timer7) 중 레지스터 설정신호(DMICR1 및 DMICR2)에 의해 각각 어느 하나가 선택되어 세번째 채널과 네번째 채널에 할당된다. 여기서, 레지스터 설정신호(DMICR1 및 DMICR2)는 미리 사용자에 의해 설정되어 레지스터(35)에 저장된 신호로서, DMA 요청신호(Timer0 내지 Timer7) 중 어느 하나를 선택하기 위한 신호이다. The DMA request signals Timer0 to Timer7 are signals allocated to the third and fourth channels except for the first and second channels of the four channels, and are input through the MCU 10 through a timer 20 for a predetermined period. Request signal. For example, as shown in the drawing, eight DMA request signals Timer0 to Timer7 are allocated to two channels, and among the eight DMA request signals Timer0 to Timer7, the register setting signals DMICR1 and DMICR2 are assigned. Each one is selected and assigned to the third and fourth channels. Here, the register setting signals DMICR1 and DMICR2 are signals set in advance by the user and stored in the register 35, and are signals for selecting any one of the DMA request signals Timer0 to Timer7.

동작특성을 살펴보면, DMA 요청신호(DRQ0 및 DRQ1, Timer0 내지 Timer7)가 동시에 입력되는 경우, 먼저 타이머(20)에 의한 DMA 요청신호(Timer0 내지 Timer7) 중 어느 하나의 DMA 요청신호를 레지스터 설정신호(DMICR1, DMICR2)를 이용하여 먹스(multiplexer, MUX1, MUX2)를 통해 선택한다. 먹스(MUX1, MUX2)를 통해 선택된 DMA 요청신호는 각각 먹스(MUX3, MUX4)로 입력된다. 먹스(MUX3, MUX4)는 내부 레지스터 설정신호(DMICR1, DMICR2)를 이용하여 선택된 DMA 요청신호와 내부 레지스터의 요청신호인 DMA 요청신호(DMRQR) 중 어느 하나를 선택하여 세번째 채널과 네번째 채널에 할당한다. 여기서, 세번째 채널과 네번째 채널은 단일전송 모드만을 지원한다. Referring to the operation characteristics, when the DMA request signals DRQ0 and DRQ1 and Timer0 to Timer7 are simultaneously input, the DMA request signal of the DMA request signals Timer0 to Timer7 by the timer 20 is first converted into a register setting signal ( DMICR1, DMICR2) are used to select through the mux (multiplexer, MUX1, MUX2). The DMA request signals selected through the muxes MUX1 and MUX2 are input to the muxes MUX3 and MUX4, respectively. The mux (MUX3, MUX4) selects one of the selected DMA request signal and the DMA request signal (DMRQR), which is a request signal of the internal register, by using the internal register setting signals (DMICR1, DMICR2) and assigns them to the third channel and the fourth channel. . In this case, the third channel and the fourth channel support only a single transmission mode.

한편, 외부 DMA 요청신호(DRQ0 및 DRQ1)는 각각 오아 게이트(OR1, OR2)로 입력된다. 오아 게이트(OR1)는 DMA 요청신호(DRQ0)와 내부 레지스터 설정에 의한 DMA 요청신호(DMRQR)를 입력받아 논리합하여 출력한다. 오아 게이트(OR2)는 DMA 요청신호(DRQ1)와 내부 레지스터에 의한 DMA 요청신호(DMRQR)를 입력받아 논리합하여 출력한다. 이때, 오아 게이트(OR1, OR2)의 출력신호는 각각 첫번째 채널과 두번째 채널에 할당된다. 첫번째 채널과 두번째 채널은 각각 외부 DMA 요청신호(DRQ0 및 DRQ1) 또는 DMA 요청신호(DMRQR)를 받아서 메모리와 입출력 장치 간의 DMA 동작을 수행하거나, 두개의 채널을 묶어서 메모리와 메모리 간 DMA 동작을 수행하기 위하여 제공된다. On the other hand, the external DMA request signals DRQ0 and DRQ1 are input to OR gates OR1 and OR2, respectively. The OR gate OR1 receives the DMA request signal DRQ0 and the DMA request signal DMRQR by internal register setting, and outputs the result of the OR operation. The OR gate OR2 receives the DMA request signal DRQ1 and the DMA request signal DMRQR by an internal register, and outputs the result of the OR operation. At this time, the output signals of the OR gates OR1 and OR2 are allocated to the first channel and the second channel, respectively. The first and second channels respectively receive external DMA request signals DRQ0 and DRQ1 or DMA request signals DMRQR to perform DMA operations between the memory and the input / output device, or bind two channels to perform DMA operations between the memory and the memory. Is provided for.

이러한 이유는, 각 채널당 하나의 어드레스만이 할당되기 때문이다. 일반적으로, 메모리와 입출력 장치 간에는 소스 어드레스 및 목적 어드레스 중 어느 하나의 어드레스만 필요하기 때문에 하나의 채널만으로도 DMA 전송이 가능하다. 그러나, 메모리와 메모리 간의 DMA 전송은 소스 어드레스 및 목적 어드레스와 같이 두개의 어드레스가 필요하기 때문에 하나의 채널만 가지고는 DMA 전송이 불가능하다. 따라서, 두개의 채널을 묶어서 메모리와 메모리 간의 DMA 전송을 수행하는 것이 가능하다. This is because only one address is allocated to each channel. In general, since only one address of the source address and the destination address is required between the memory and the input / output device, DMA transfer is possible using only one channel. However, the DMA transfer between the memory requires two addresses, such as a source address and a destination address, and therefore, DMA transfer is impossible with only one channel. Therefore, it is possible to perform DMA transfer between the memory by tying two channels together.

또한, 첫번째 채널 및 두번째 채널은 단일전송, 블록전송, 요구전송의 세가지 기능에 사용될 수 있다. 단일전송은 DMA 요청 발생시에 해당 어드레스 하나의 데이터만 전송한 후 DMA 요청이 종료되어 다음 DMA 요청을 기다리는 동작으로 이루어진다. 블록전송은 DMA 전송이 시작되면, DMA 제어장치의 내부의 레지스터에 설정된 DMA 데이터 전송 크기만큼 연속적인 데이터 블록을 전송하는 동작으로 이루어진다. 요구전송은 외부 DMA 요청신호(DRQ0 및 DRQ1)에 의해서만 동작하고, 이 외부 DMA 요청신호(DRQ0 및 DRQ1)가 디스에이블될 때까지 계속 DMA 동작을 수행하는 동작으로 이루어진다. In addition, the first channel and the second channel can be used for three functions of single transmission, block transmission, and request transmission. In the single transmission, when only one data is transmitted when a DMA request is generated, the DMA request is terminated and waits for the next DMA request. When the DMA transfer is started, the block transfer consists of an operation of transferring a continuous data block by the size of the DMA data transfer set in a register inside the DMA controller. The request transmission is performed only by the external DMA request signals DRQ0 and DRQ1, and continues to perform the DMA operation until the external DMA request signals DRQ0 and DRQ1 are disabled.

오아 게이트(OR1, OR2)와 먹스(MUX3, MUX4)를 통해 선택된 DMA 요청신호는 각각 해당 앤드 게이트(AND1 내지 AND4)로 입력된다. 앤드 게이트(AND1 내지 AND4)는 채널선택 인에이블신호(DMER)에 따라 DMA 요청신호 중 어느 하나를 선택하게 된다. 즉, 채널선택 인에이블신호(DMER)가 하이레벨(HIGH level, '1')로 인에이블되는 경우 DMA 요청신호는 모두 선택되고, 로우레벨(LOW level, '0')로 디스에이블되면, DMA 요청신호는 모두 선택되지 않는다. 그러나, 이는 일례로서, 적절히 회로를 변경하여 4개의 채널 중 어느 하나 만을 선택하여 그 채널에 할당된 DMA 요청신호만 선택되도록 할 수도 있다. 여기서, 채널선택 인에이블신호(DMER)는 사용자에 의해 설정된다. The DMA request signals selected through the OR gates OR1 and OR2 and the mux MUX3 and MUX4 are input to the corresponding AND gates AND1 to AND4, respectively. The AND gates AND1 to AND4 select one of the DMA request signals according to the channel select enable signal DMER. That is, when the channel select enable signal DMER is enabled at the high level '1', all of the DMA request signals are selected, and when the channel selection enable signal DMER is enabled at the low level '0', the DMA All request signals are not selected. However, this is an example, and the circuit may be changed appropriately so that only one of the four channels is selected so that only the DMA request signal assigned to that channel is selected. Here, the channel select enable signal DMER is set by the user.

앤드 게이트(AND1 내지 AND4)를 통해 선택된 DMA 요청신호는 4개의 먹스(MUX5 내지 MUX8)로 각각 입력되고, 먹스(MUX5 내지 MUX8)는 우선순위 생성부(31)로부터 입력되는 우선순위 결정신호(pr0 내지 pr3)에 따라 각각 어느 하나를 선택하여 출력한다. The DMA request signals selected through the AND gates AND1 to AND4 are input to the four muxes MUX5 to MUX8, respectively, and the muxes MUX5 to MUX8 are the priority determination signals pr0 inputted from the priority generation unit 31. To pr3) to select and output each one.

오아 게이트(OR3)는 먹스(MUX5 내지 MUX8)로부터 각각 선택된 요청신호(pr0_req 내지 pr3_req)를 논리합하여 출력한다. 오아 게이트(OR3)는 우선순위 결정신호(pr0 내지 pr3)에 의해 우선순위가 결정된 요청신호(pr0_req 내지 pr3_req) 중 어느 하나라도 하이레벨로 출력되는 경우 내부 DMA 요청신호(dma_req)를 인에이블시켜 출력한다. The OR gate OR3 logically outputs the request signals pr0_req to pr3_req selected from the muxes MUX5 to MUX8, respectively. The OR gate OR3 enables and outputs the internal DMA request signal dma_req when any one of the request signals pr0_req to pr3_req whose priority is determined by the priority determination signals pr0 to pr3 is output at a high level. do.

한편, 채널선택 신호(ch_sel)는 도 2b에 도시된 바와 같은 구성을 통해 생성한다. Meanwhile, the channel selection signal ch_sel is generated through the configuration as shown in FIG. 2B.

도 2b에 도시된 바와 같이, 우선순위 결정신호(pr0 내지 pr3)에 의해 선택된 요청신호(pr0_req 내지 pr3_req)(도 2a참조)를 이용하여 채널선택 신호(ch_sel)를 생성한다. As shown in FIG. 2B, the channel selection signal ch_sel is generated using the request signals pr0_req to pr3_req (see FIG. 2A) selected by the priority determination signals pr0 to pr3.

먹스(MUX9 내지 MUX12)는 요청신호(pr0_req 내지 pr3_req)에 따라 어느 하나가 선택된다. 요청신호(pr0_req 내지 pr3_req)에 의해 선택된 먹스는 우선순위 결정신호(pr0 내지 pr3)와 '00' 데이터 중 어느 하나를 선택하여 출력한다. 먹스(MUX9 내지 MUX12)에 의해 선택된 데이터는 오아 게이트(OR4)로 입력된다. 오아 게이트(OR4)는 먹스(MUX9 내지 MUX12)로부터 입력되는 데이터를 논리합하여 출력한다. Any one of the muxes MUX9 to MUX12 is selected according to the request signals pr0_req to pr3_req. The mux selected by the request signals pr0_req to pr3_req selects and outputs any one of the priority determination signals pr0 to pr3 and '00' data. Data selected by the mux MUX9 to MUX12 is input to the OR gate OR4. OR gate OR4 outputs the OR of data input from mux MUX9 to MUX12.

예컨대, 먹스(MUX9)에 의해 우선순위 결정신호(pr0)가 선택되어 출력되는 경우 오아 게이트(OR4)는 우선순위 결정신호(pr0)에 대응되는 채널을 선택하기 위한 채널선택 신호(ch_sel)를 출력한다. 물론, 모든 먹스(MUX9 내지 MUX12)에서 동시에 모든 채널이 선택되지는 않는다. 이는, 동도면에 도시된 바와 같이 각 먹스(MUX9 내지 MUX12)가 서로 다른 요청신호(pr0_req 내지 pr3_req), 즉 먹스(MUX9는 'pr0_req' 신호를 이용하고, 먹스(MUX10)는 '!pro_req&pr1_req' 신호를 이용하고, 먹스(MUX11)는 '!pr0_req&!pr1_req&pr2_req' 신호를 이용하며, 먹스(MUX12)는 '!pr0_req&pr1_req&!pr2_req&pr3_req'를 이용하기 때문에 어느 하나만 선택되게 된다. For example, when the priority determination signal pr0 is selected and output by the mux MUX9, the OR gate OR4 outputs a channel selection signal ch_sel for selecting a channel corresponding to the priority determination signal pr0. do. Of course, not all channels are selected simultaneously in all muxes MUX9 to MUX12. As shown in the drawing, each of the muxes MUX9 to MUX12 use different request signals pr0_req to pr3_req, that is, the mux 9 uses the 'pr0_req' signal, and the mux MUX10 uses the '! Pro_req & pr1_req' signal. MUX11 uses '! Pr0_req &! Pr1_req & pr2_req' signal, and MUX12 uses '! Pr0_req & pr1_req &! Pr2_req & pr3_req' so that only one is selected.

DMA 제어부(33)는 FSM(Finite State Machine)의 기능을 포함하며, DMA 요청신호 및 채널 선택부(32)로부터 내부 DMA 요청신호(dma_req)와 채널선택 신호(ch_sel)를 입력받아 DMA 전송의 전반적인 동작을 제어한다. 물론, DMA 제어부(33)는 도시되진 않았지만, 별도의 내부 버스를 통해 칩 내에 구현된 다른 소자들과 소정의 신호를 주고 받을 수도 있다. 이러한 신호에 의해 그 동작이 제어될 수도 있다. The DMA controller 33 includes a function of a finite state machine (FSM), and receives the internal DMA request signal dma_req and the channel select signal ch_sel from the DMA request signal and the channel selector 32, and overall the DMA transmission. Control the operation. Of course, although not shown, the DMA controller 33 may exchange a predetermined signal with other elements implemented in the chip through a separate internal bus. The operation may be controlled by this signal.

이러한 DMA 제어부(33)는 DMA 요청신호 및 채널 선택부(32)로 내부 DMA 요청신호(dma_req)와 채널선택 신호(ch_sel)가 입력되면, DMA 요청신호(dma_req)가 외부 장치로부터의 요청신호인지 아니면 타이머(20) 설정에 의한 요청신호인지를 판단한 후 선택된 채널을 통해 DMA 데이터 전송을 수행하도록 전반적인 동작을 제어한다. When the internal DMA request signal dma_req and the channel select signal ch_sel are input to the DMA request signal and the channel selector 32, the DMA controller 33 determines whether the DMA request signal dma_req is a request signal from an external device. Otherwise, after determining whether the request signal is set by the timer 20, the overall operation is controlled to perform DMA data transmission through the selected channel.

또한, DMA 제어부(33)는 런렝쓰 데이터의 인코딩 또는 디코딩을 포함하는 전반적인 처리를 관장한다. 런렝쓰 데이터는 전광판에서 문자를 제외한 대부분의 배경 데이터와 같이 일정 시간동안 동일한 값을 갖는 데이터로서, MCU(10)를 통해 인코딩된 상태로 레지스터(35)의 런렝쓰 레지스터(미도시)에 저장된다. 이렇게 인코딩된 런렝쓰 데이터를 이하에서는 런렝쓰 인코딩 데이터라 칭한다. 런렝쓰 레지스터에 저장된 런렝쓰 인코딩 데이터에 대한 요청신호가 들어오는 경우 DMA 제어부(33)는 런렝쓰 레지스터로부터 런렝쓰 인코딩 데이터를 독출하여 목적지로 전송한다. In addition, the DMA control unit 33 manages the overall processing including encoding or decoding of run length data. The run-length data is data having the same value for a predetermined time, such as most background data except characters in the electronic display board, and is stored in the run-length register (not shown) of the register 35 in the state encoded by the MCU 10. . The encoded run length data is hereinafter referred to as run length encoded data. When the request signal for the run length encoded data stored in the run length register is received, the DMA controller 33 reads the run length encoded data from the run length register and transmits the received length encoded data to the destination.

예컨대, 외부 장치에 의한 DMA 요청신호인 경우에는 일반적인 방법으로 단일 전송, 블록전송, 요구전송을 수행한다. 타이머(20)에 의한 DMA 요청신호인 경우에는 단일전송으로 타이머(20)에 설정된 주기동안 데이터를 메모리(40)로부터 입출력 장치(50)로, 입출력 장치(50)로부터 메모리(40)로 또는 메모리에서 메모리로 데이터를 전송하도록 전반적인 동작을 제어한다. 여기서, 입출력 장치(50)는 레지스터와 같은 메모리가 내장된 장치이거나, 메모리가 내장되어 있지 않은 장치이거나, 또는 메모리 장치이다. 또한, 입출력 장치(50)는 일정한 주기 동안 데이터 송수신을 수행하는 장치이다. For example, in the case of a DMA request signal from an external device, a single transmission, block transmission, and request transmission are performed in a general manner. In the case of the DMA request signal by the timer 20, data is transferred from the memory 40 to the input / output device 50, the input / output device 50 to the memory 40, or the memory for the period set in the timer 20 in a single transmission. Controls overall operation to transfer data from memory to memory. Here, the input / output device 50 is a device with a built-in memory such as a register, a device without a built-in memory, or a memory device. In addition, the input / output device 50 is a device that performs data transmission and reception for a predetermined period.

한편, 입출력 장치(50)가 메모리 맵드(memory mapped) 장치인 경우에는 DMA 요청신호(DRQ0 및 DRQ1)에 의해 첫번째 채널과 두번째 채널이 할당되어 해당 메모리와 DMA 동작을 수행하게 된다. 4개 채널의 우선순위는 각 채널에 대해 상위 우선순위와 하위 우선순위 두 단계로 나뉘어 지도록 설정될 수 있다. 이때, DMA 요청신호(DRQ0 및 DRQ1)가 입력되기 전에 MCU(10)에 의해 주변 입출력 장치(50)의 어드레스가 레지스터(35)에 미리 셋팅된다. 이렇게 셋팅된 어드레스를 통해 해당 메모리(40)와 입출력 장치(50) 간에 DMA 데이터 전송이 이루어진다. 이러한 DMA 동작은 단일전송, 블록전송, 요구전송 방식으로 이루어진다.Meanwhile, when the input / output device 50 is a memory mapped device, the first channel and the second channel are allocated by the DMA request signals DRQ0 and DRQ1 to perform the corresponding memory and DMA operations. The priority of the four channels may be set to be divided into two levels of high priority and low priority for each channel. At this time, before the DMA request signals DRQ0 and DRQ1 are input, the address of the peripheral input / output device 50 is preset in the register 35 by the MCU 10. The DMA data transfer is performed between the memory 40 and the input / output device 50 through the address set as described above. This DMA operation is performed by single transmission, block transmission, and request transmission.

또한, 입출력 장치(50)가 일정 주기동안 데이터 송수신이 이루어지는 장치일 경우에는 타이머(20)에 의해 일정 주기동안 설정되어 입력되는 요청신호(Timer0 내지 Timer7)에 의해 세번째 채널과 네번째 채널이 할당되어 일정 주기마다 해당 메모리와 DMA 동작을 수행하게 된다. MCU(10)에 의해 초기 셋팅된 소스 어드레스와 목적지 어드레스를 통해 해당 메모리와 해당 입출력 장치가 결정되면, 해당 어드레 스에 대해서만 내부 버스를 이용하여 해당 메모리와 해당 입출력 장치 간의 데이터 전송을 수행하도록 한다. 즉, 이 경우에는 단일전송 방식으로 DMA 동작이 수행된다. In addition, when the input / output device 50 is a device that transmits and receives data for a predetermined period, the third channel and the fourth channel are allocated by the request signals Timer0 to Timer7 that are set and input for a predetermined period by the timer 20. Each cycle performs the memory and DMA operation. When the corresponding memory and the corresponding input / output device are determined through the source address and the destination address initially set by the MCU 10, data transmission between the corresponding memory and the corresponding input / output device is performed using an internal bus only for the corresponding address. That is, in this case, the DMA operation is performed in a single transmission method.

레지스터 카운팅부(34)는 레지스터(35)의 전반적인 동작을 제어하는 장치로서, MCU(10)로부터 입력되는 제어신호 또는 타이머(20)에 의한 제어신호에 의해 레지스터(35)에 셋팅된 어드레스값을 카운팅한다. 본 발명의 바람직한 실시예에 따른 DMA 제어장치는 하나의 채널에 4개의 I/O 장치와의 DMA 전송이 수행되도록 제공한다. 이 경우, 레지스터(35)에 셋팅된 목적 어드레스는 레지스터 카운팅부(34)에 의해 카운팅되어 순차적으로 선택된다. 따라서, 한개의 소스 어드레스에 의해 4개의 목적 어드레스가 선택되어, 각각의 목적 어드레스를 갖는 I/O 장치로의 데이터 전송이 가능하다. 이때, I/O 장치들은 동일한 데이터 전송 타이밍을 갖는 장치여야만 한다. 이로써, 별도의 제어기의 개수를 최대 4개에서 1개로 감소시키는 것이 가능하다. The register counting unit 34 is an apparatus for controlling the overall operation of the register 35. The register counting unit 34 may control an address value set in the register 35 by a control signal input from the MCU 10 or a control signal by the timer 20. Counting. A DMA control apparatus according to a preferred embodiment of the present invention provides DMA transfer with four I / O devices in one channel. In this case, the destination address set in the register 35 is counted by the register counting section 34 and sequentially selected. Therefore, four destination addresses are selected by one source address, and data transmission to the I / O device having each destination address is possible. At this time, the I / O devices should be devices having the same data transmission timing. In this way, it is possible to reduce the number of separate controllers from a maximum of four to one.

레지스터(35)에는 MCU(10)에 의해 주변 입출력 장치(50)들의 각 어드레스가 셋팅되어 저장된다. 이러한 어드레스들은 레지스터 카운팅부(34)에 의해 카운팅되어 적절히 선택된다. 또한, DMA 제어부(33)로부터 내부 DMA 요청신호(33)가 입력되면, 이를 받아 해당 메모리와 해당 I/O 장치 간에 DMA 데이터 전송을 수행한다. 예컨대, I/O 장치로부터 DMA 요청신호(DRQ0)가 입력되면, DMA 제어부(33)로부터 선택된 내부 DMA 요청신호에 따라 레지스터(35)는 해당 소스 어드레스를 갖는 메모리(40)를 선택한 후 선택된 메모리(40)의 데이터를 목적 어드레스를 갖는 I/O 장치로 전송한다. In the register 35, the addresses of the peripheral input / output devices 50 are set and stored by the MCU 10. These addresses are counted by the register counting section 34 and appropriately selected. In addition, when the internal DMA request signal 33 is input from the DMA control unit 33, the DMA data transmission is performed between the memory and the I / O device. For example, when the DMA request signal DRQ0 is input from the I / O device, the register 35 selects the memory 40 having the corresponding source address according to the internal DMA request signal selected from the DMA controller 33, and then selects the selected memory ( The data of 40) is transferred to the I / O device having the destination address.

이하에서는, 도 3를 참조하여 도 1, 도 2a 및 도 2b에 도시된 본 발명의 바람직한 실시예에 따른 DMA 제어장치를 이용한 데이터 전송 방법을 설명하기로 한다. 여기서, 도 3은 DMA 요청신호(DRQ)와 레지스터 DMA 요청신호(DMRQR)가 할당되는 첫번째 채널(채널0)과 두번째 채널(채널1)의 DMA 데이터 전송 방법을 설명하기 위하여 도시한 흐름도이다. Hereinafter, a data transmission method using a DMA control apparatus according to a preferred embodiment of the present invention shown in FIGS. 1, 2A and 2B will be described with reference to FIG. 3. 3 is a flowchart illustrating a DMA data transfer method of a first channel (channel 0) and a second channel (channel 1) to which a DMA request signal DRQ and a register DMA request signal DMRQR are allocated.

도 3을 참조하면, 먼저 DMA 제어장치는 DMA 요청 대기 상태에서 입력되는 DMA 요청신호(DRQ, DMRQR)를 입력받고, 입력된 DMA 요청신호가 메모리와 I/O 장치 간의 DMA 요청신호인지 또는 메모리와 메모리 간의 DMA 요청신호인지를 판단한다(S31 내지 S33). Referring to FIG. 3, first, a DMA controller receives DMA request signals DRQ and DMRQR input in a DMA request standby state, and whether the input DMA request signal is a DMA request signal between the memory and the I / O device, It is determined whether the DMA request signal between the memories (S31 to S33).

만약, 단계 'S33'에서 DMA 요청신호가 메모리와 I/O 장치 간의 DMA 요청신호인 경우, DMA 어드레스를 이용하여 단일 채널을 통해 메모리와 I/O 장치 간에 DMA 전송을 수행한다(S34). 여기서, DMA 어드레스는 MCU(10)에 의해 미리 레지스터(35)에 저장된다. 이러한 DMA 어드레스는 I/O 장치의 어드레스 또는 메모리의 어드레스가 된다. If the DMA request signal is a DMA request signal between the memory and the I / O device in step S33, DMA transfer is performed between the memory and the I / O device through a single channel using the DMA address (S34). Here, the DMA address is stored in the register 35 in advance by the MCU 10. This DMA address becomes an address of an I / O device or an address of a memory.

만약, DMA 전송이 단일전송, 또는 요구전송 및 외부 요청이 없는 경우, 하나의 DMA 요청신호 발생시 하나의 어드레스에 해당하는 데이터만을 단일 전송한 후 전송을 종료한다(S35, S42). 반면, 블록전송인 경우에는 잔여되는 데이터가 존재하지 않을 때까지 DMA 전송을 수행한 후 데이터가 모드 전송되면 전송을 종료한다(S35, S36, S42). If the DMA transmission is a single transmission, or there is no request transmission and an external request, when one DMA request signal is generated, only one data corresponding to one address is transmitted and then the transmission is terminated (S35 and S42). On the other hand, in the case of block transmission, after the DMA transmission is performed until there is no remaining data, the transmission is terminated when the data is transmitted in mode (S35, S36, S42).

한편, 단계 'S33'에서 DMA 요청신호가 메모리와 메모리 간의 DMA 요청신호인 경우, DMA 소스 어드레스 및 목적 어드레스를 이용하여 두개의 채널(채널0, 채널1)을 통해 메모리와 메모리 간에 DMA 전송을 수행한다(S38, S39). 메모리와 메모리 간의 DMA 전송은 소스 어드레스와 목적 어드레스와 같이 두개의 어드레스가 필요함에 따라 이를 위해 2개의 채널, 즉 첫번째 채널(채널0)과 두번째 채널(채널1)이 사용된다. On the other hand, when the DMA request signal is a DMA request signal between the memory and the memory in step S33, the DMA transfer is performed between the memory and the memory through two channels (channels 0 and 1) using the DMA source address and the destination address. (S38, S39). Since the DMA transfer between the memory requires two addresses, such as a source address and a destination address, two channels are used for this purpose, that is, the first channel (channel 0) and the second channel (channel 1).

먼저, 출발지 메모리와 목적지 메모리 간에 데이터를 전송하고자 하는 경우, 첫번째 채널(채널0)을 통해 미리 MCU(10)에 의해 레지스터(35)에 셋팅된 소스 어드레스를 이용하여 출발지 메모리를 선택하여 그 메모리에 데이터를 입력한다. 이후, 두번째 채널(채널1)을 통해 미리 MCU(10)에 의해 레지스터(35)에 셋팅된 목적지 어드레스를 이용하여 목적지 메모리를 선택하여 단일전송, 요구전송 또는 블록전송을 수행한다(S38 내지 S40). First, when data is to be transferred between the source memory and the destination memory, the source memory is selected by using the source address set in the register 35 by the MCU 10 in advance through the first channel (channel 0), and stored in the memory. Enter the data. Thereafter, the destination memory is selected using the destination address set in the register 35 by the MCU 10 through the second channel (channel 1) to perform single transmission, request transmission or block transmission (S38 to S40). .

만약, 단계 'S40'에서 단일전송, 또는 요구전송 및 외부 요청이 없는 경우에는, 두번째 채널(채널1)을 통해 목적지 메모리로 DMA 데이터를 전송한다. 이러한 DMA 데이터 전송은 잔여 전송이 존재하지 않을 때까지 실시된 후 종료한다(S40 내지 S42). 반면, 블록전송인 경우에는 두번째 채널(채널1)을 통해 목적지 메모리로 데이터를 전송한 후 다시 첫번째 채널(채널0)를 통해 입력되는 소스 어드레스를 이용하여 출발지 메모리를 선택하여 DMA 데이터 전송을 수행한다. 이러한 DMA 데이터 전송은 블록 내의 모든 데이터가 모두 전송될 때까지 반복적으로 실시된다(S40, S43, S44). If there is no single transmission or request transmission and external request in step S40, the DMA data is transmitted to the destination memory through the second channel (channel 1). This DMA data transfer is carried out until no residual transfer exists (S40 to S42). On the other hand, in the case of block transmission, data is transferred to the destination memory through the second channel (channel 1) and then the source memory is selected using the source address inputted through the first channel (channel 0) to perform DMA data transfer. . This DMA data transfer is repeatedly performed until all data in the block is transferred (S40, S43, S44).

상기에서, 메모리와 I/O 장치 또는 메모리와 메모리 간에 DMA 데이터 전송이 완료되면, DMA 제어부(33)는 인터럽트 신호를 생성하여 MCU(10)로 전송하여 DMA 전송이 완료되었음을 알린다(S37). When the DMA data transfer is completed between the memory and the I / O device or the memory and the memory, the DMA controller 33 generates an interrupt signal and transmits the signal to the MCU 10 to inform that the DMA transfer is completed (S37).

이하에서는, 도 4를 참조하여 도 1, 도 2a 및 도 2b에 도시된 본 발명의 바람직한 실시예에 따른 DMA 제어장치를 이용한 런렝쓰 데이터 처리방법을 설명하기로 한다. 여기서, 도 4은 DMA 요청신호(Timer0 내지 Timer7)와 레지스터 DMA 요청신호(DMRQR)가 할당되는 세번째 채널(채널2)과 네번째 채널(채널3)을 이용한 런렝쓰 데이터 처리방법을 설명하기 위하여 도시한 흐름도이다. 또한, 이러한 동작은 DMA 제어부(33)에서 이루어진다. Hereinafter, a run length data processing method using a DMA control apparatus according to a preferred embodiment of the present invention shown in FIGS. 1, 2A, and 2B will be described with reference to FIG. 4. 4 illustrates a run length data processing method using a third channel (channel 2) and a fourth channel (channel 3) to which the DMA request signals Timer0 to Timer7 and the register DMA request signal DMRQR are allocated. It is a flow chart. This operation is also performed by the DMA controller 33.

도 4를 참조하면, 먼저 DMA 제어부(33)는 DMA 요청 대기 상태에서 DMA 요청신호(DMRQR, Timer0 내지 Timer7)가 발생했는지를 판단한다. 그런 다음, 사용자 설정에 의해 해당 채널이 런렝쓰 데이터 처리를 위한 채널로 할당되었는지를 판단한다(S51 내지 S53).Referring to FIG. 4, first, the DMA controller 33 determines whether the DMA request signals DMRQR (Timer0 to Timer7) are generated in the DMA request wait state. Then, it is determined whether the corresponding channel is allocated as a channel for run length data processing by user setting (S51 to S53).

만약, 단계 'S53'에서 해당 채널이 런렝쓰 데이터 처리를 위한 채널로 활성화된 경우, 런렝쓰 레지스터에 저장된 런렝쓰 인코딩 데이터를 분석하여 인코딩 부분이 존재하는지를 판단한다(S54). 예컨대, 런렝쓰 데이터 'aaaaaabbbcdeffffghiii'를 인코딩하여 런렝쓰 인코딩 데이터로 전환하면, '-6a-3b3cde-4f2gh-3i'가 된다. 여기서, '-'는 연속적으로 반복되는 데이터로서 인코딩되는 부분으로서 연속적으로 반복되는 데이터의 반복회수를 나타낸다. '+'는 연속적으로 반복되지 않는 일반 데이터로서 일반 데이터의 길이를 나타낸다. 이처럼, 런렝쓰 데이터의 1비트를 이용해서 연속적인 데이터의 반복회수를 나타내는지, 일반 데이터 길이를 나타내는지를 표현하는데, 여기서는 최하위 비트가 사용되어 '0'이면 일반 데이터 길이를, '1'이면 동일 데이터의 반복회수를 나타낸다. 이 최하위 비트를 뺀 나머지 값이 실제로 일반 데이터나 반복되는 동일한 데이터의 발생회수를 표현하게 되고, 내부 레지스터에 저장된다. 이 값이 '0'이 아닌 동안, DMA 제어부(33)는 DMA 요청에 따라 일반 데이터인 경우 메모리와 메모리 간의 전송을 수행한 후 레지스터 값을 감소시키거나, 반복 데이터인 경우 데이터 전송없이 런렝쓰 데이터 레지스터값을 감소시키는 동작을 수행한다. 상기에서와 같이, 런렝쓰 데이터를 인코딩하지 않고, DMA 전송하는 경우에는 총 21 바이트의 전송이 요구되지만, 런렝쓰 인코딩하여 전송하는 경우 총 15 바이트의 전송이 요구된다. 그 만큰 전송되는 바이트 수를 감소시킬 수 있다. If the corresponding channel is activated as a channel for processing the run length data in step S53, it is determined whether the encoding portion exists by analyzing the run length encoding data stored in the run length register (S54). For example, when the run length data 'aaaaaabbbcdeffffghiii' is encoded and converted into the run length encoded data, it becomes '-6a-3b3cde-4f2gh-3i'. Here, '-' represents the number of repetitions of data that is continuously repeated as a portion encoded as data that is continuously repeated. '+' Is general data that is not repeated continuously and indicates the length of the general data. In this way, one bit of run-length data is used to represent the number of consecutive data repetitions or the general data length. In this case, the least significant bit is used so that the normal data length is equal to '0' and the same is equal to '1'. The repeat count of the data is shown. The remaining value minus this least significant bit actually represents the number of occurrences of the normal data or the same repeated data, and is stored in an internal register. While this value is not '0', the DMA controller 33 decreases the register value after performing a memory-to-memory transfer in case of normal data according to a DMA request, or runs data without data transfer in case of repeated data. Decreases the register value. As described above, a total of 21 bytes are required for DMA transmission without encoding run length data, but a total of 15 bytes is required for transmission with run length encoding. That can reduce the number of bytes transmitted.

한편, 단계 'S54'에서는 런렝쓰 데이터 레지스터(DMRLR)를 확인하여 레지스터(DMRLR)에 저장된 데이터가 연속적으로 반복되는 런렝스 인코딩 데이터인지를 파악한다. In operation S54, the run length data register DMRLR is checked to determine whether the data stored in the register DMRLR is run length encoded data.

만약, 단계 'S54'에서 반복적이지 않은 일반 데이터인 경우 데이터를 독출하여 일단 한번의 DMA 데이터 전송을 수행하기 위하여 독출한 값을 레지스터에 저장한다. 여기서, 일반 데이터의 판독방법은 상기에서 설명한 바와 같이, 런렝쓰 데이터의 최하위 비트가 '0'인지 '1'인지를 비교하여 판단한다. 예컨대, 최하위비트가 '0'인 경우 일반 데이터로 판단하고, '1'인 경우에는 연속적으로 반복되는 데이터로 판단한다.In the case of general data that is not repetitive in step S54, the data is read and the read value is stored in a register to perform a single DMA data transfer. Herein, as described above, the general data reading method determines whether the least significant bit of the run length data is '0' or '1'. For example, when the least significant bit is '0', it is determined as normal data, and when it is '1', it is determined as data that is continuously repeated.

반면, 단계 'S54'에서 연속적으로 반복되는 런렝스 데이터인 경우, 런렝쓰 데이터가 인코딩된 데이터인지를 판단한다(S57). 만약, 인코딩된 데이터인 경우 런렝쓰 데이터를 전송하지 않고, 런렝스 데이터 레지스터(DMRLR)의 값을 하나 증가시킨다(S58). On the other hand, in the case of run length data that is continuously repeated in step S54, it is determined whether the run length data is encoded data (S57). In the case of the encoded data, the run length data is not transmitted and the value of the run length data register DMRLR is increased by one (S58).

한편, 단계 'S53'에 런렝쓰 인코딩이 활성되는 경우 또는 단계 'S57'에서 인코딩 데이터가 아닌 경우에는 일반적인 데이터와 동일한 방법으로 DMA 전송을 수행한다(S61 내지 S65). 이러한 DMA 전송은 세번째 채널(채널2)과 네번째 채널(채널3)을 이용하여 도 3에서 설명한 방법과 동일한 방법으로 수행됨에 따라 그에 따른 설명은 생략하기로 한다. On the other hand, when run length encoding is activated in step S53 or not encoding data in step S57, DMA transfer is performed in the same manner as general data (S61 to S65). Since the DMA transfer is performed in the same manner as described in FIG. 3 using the third channel (channel 2) and the fourth channel (channel 3), a description thereof will be omitted.

상기에서, DMA 전송이 완료되면, 인터럽트 신호를 생성하여 DMA 전송이 완료되었음을 알린다(S60).In the above, when the DMA transfer is completed, an interrupt signal is generated to inform that the DMA transfer is completed (S60).

본 발명의 기술 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 이 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예들이 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention has been described in detail in the preferred embodiments, it should be noted that the above-described embodiments are for the purpose of description and not of limitation. In addition, it will be understood by those skilled in the art that various embodiments are possible within the scope of the technical idea of the present invention.

이상에서 설명한 바와 같이, 본 발명에 의하면, MCU 내부 타이머 출력을 DMA 요청으로 사용함으로써 DMA 제어장치를 단순한 데이터 전송뿐만 아니라, LED/LCD 제어 등 주기적인 데이터 전송의 용도로 프로세서의 간섭없이 사용할 수 있는 이점 이 있다.As described above, according to the present invention, by using the MCU internal timer output as a DMA request, the DMA controller can be used without the processor's interference not only for data transmission but also for periodic data transmission such as LED / LCD control. There is an advantage.

또한, 본 발명에 의하면, DMA 전송 데이터를 DMA 제어부를 통해 분석하여 런렝쓰 인코딩 데이터를 처리함으로써 동일한 데이터가 반복적으로 이루어진 런렝쓰 인코딩 데이터의 처리를 가능하게 하여 반복적인 데이터의 전송에 의한 성능저하 및 전력손실을 감소시킬 수 있다. In addition, according to the present invention, by analyzing the DMA transfer data through the DMA control unit to process the run-length encoded data enables processing of the run-length encoded data in which the same data is repeatedly performed, thereby reducing performance due to repeated data transfer and Power loss can be reduced.

또한, 본 발명에 의하면, 메모리와 메모리 간의 DMA 전송시에 단일 소스 어드레스에 대한 다중 목적 어드레스를 사용할 수 있게 함으로써, 다양한 조합을 통해 여러개의 데이터 요청 장치들에 서로 다른 또는 동일한 데이터를 전송할 수 있다. In addition, according to the present invention, by enabling the use of multiple destination addresses for a single source address in the DMA transfer between the memory and the memory, it is possible to transfer different or identical data to multiple data requesting apparatuses through various combinations.

Claims (42)

MCU 내부의 타이머로부터 입력되는 복수의 DMA 요청에 응답하되 상기 복수의 DMA 요청에 대한 우선 순위를 판단하여 상기 우선 순위에 따르는 DMA 요청신호를 생성하는 DMA 요청부; 및A DMA request unit that responds to a plurality of DMA requests input from a timer inside the MCU, and determines a priority of the plurality of DMA requests to generate a DMA request signal according to the priorities; And 상기 DMA 요청신호에 따라 메모리와, 상기 타이머의 값에 대응하여 일정 주기 동안 데이터 송수신이 이루어지는 외부 입출력 장치 간에 DMA 전송을 수행하는 DMA 제어부A DMA controller for performing DMA transfer between a memory and an external input / output device that transmits and receives data for a predetermined period in response to a value of the timer according to the DMA request signal; 를 포함하는 DMA 제어장치.DMA controller comprising a. 제 1 항에 있어서, The method of claim 1, 상기 DMA 요청부는 상기 복수의 DMA 요청 중 어느 하나를 선택하여 한개의 채널을 할당하는 DMA 제어장치.And the DMA request unit selects one of the plurality of DMA requests and allocates one channel. 제 2 항에 있어서, The method of claim 2, 상기 DMA 요청부는 사용자에 의해 설정되어 제1 레지스터에 저장된 레지스터 설정신호에 따라 상기 타이머에 의한 상기 복수의 DMA 요청 중 어느 하나를 선택하는 DMA 제어장치. And the DMA request unit selects one of the plurality of DMA requests by the timer according to a register setting signal set by a user and stored in a first register. 제 3 항에 있어서, The method of claim 3, wherein 상기 DMA 요청부는 상기 레지스터 설정신호를 이용하여 선택된 상기 DMA 요청과 상기 MCU 내에 구성된 제2 레지스터의 DMA 요청 중 어느 하나를 선택하는 DMA 제어장치.And the DMA request unit selects one of the selected DMA request and a DMA request of a second register configured in the MCU using the register setting signal. 제 1 항에 있어서, The method of claim 1, 상기 DMA 요청부는 상기 타이머에 의한 상기 복수의 DMA 요청 이외에 추가로 다른 외부 입출력 장치로부터 직접 DMA 요청을 제공받고, 제공받은 DMA 요청과 레지스터로부터의 DMA 요청 중 어느 하나를 선택하여 하나의 채널을 할당하는 DMA 제어장치.The DMA request unit receives a DMA request directly from another external input / output device in addition to the plurality of DMA requests by the timer, and selects one of the provided DMA request and a DMA request from a register to allocate one channel. DMA controller. 제 3 항 내지 제 5 항 중 어느 하나의 항에 있어서, The method according to any one of claims 3 to 5, 상기 DMA 요청부는 사용자에 의해 미리 설정된 우선순위에 따라 상기 채널 중 어느 하나의 채널을 선택하는 DMA 제어장치.And the DMA requesting unit selects any one of the channels according to a priority set by a user. 제 1 항에 있어서, The method of claim 1, 상기 DMA 제어부는 상기 MCU에 의해 레지스터에 셋팅된 DMA 어드레스를 이용하여 상기 메모리와 상기 외부 입출력 장치 간에 DMA 전송을 수행하는 DMA 제어장치.And the DMA control unit performs DMA transfer between the memory and the external input / output device using the DMA address set by the MCU. 제 5 항에 있어서, The method of claim 5, 상기 DMA 제어부는 해당 DMA 요청에 의해 DMA 전송이 시작되면, 상기 레지스터에 설정된 DMA 전송 크기 만큼 연속적인 데이터 블록을 전송하는 블록전송 방식으로 DMA 전송을 수행하는 DMA 제어장치.The DMA control unit performs a DMA transfer in a block transfer method for transmitting a continuous data block by the DMA transfer size set in the register when the DMA transfer is started by the corresponding DMA request. 제 5 항에 있어서, The method of claim 5, 상기 DMA 제어부는 해당 DMA 요청이 인에이블되어 DMA 전송이 시작된 후 해당 DMA 요청이 디스에이블되면 DMA 전송을 완료하는 요구전송 방식으로 DMA 전송을 수행하는 DMA 제어장치.And the DMA control unit performs DMA transfer in a request transfer manner in which the DMA transfer is completed when the DMA request is disabled after the DMA request is enabled and the DMA transfer is started. 제 1 항에 있어서, The method of claim 1, 상기 메모리와 상기 외부 입출력 장치 간에 상기 DMA 전송시 DMA 어드레스로 사용되는 소스 어드레스와 목적 어드레스가 저장되는 레지스터를 더 포함하는 DMA 제어장치.And a register storing a source address and a destination address used as a DMA address during the DMA transfer between the memory and the external input / output device. 제 10 항에 있어서, 11. The method of claim 10, 상기 레지스터에 저장된 상기 소스 어드레스와 상기 목적 어드레스를 카운팅하기 위한 레지스터 카운팅부를 더 포함하는 DMA 제어장치.And a register counting unit for counting the source address and the destination address stored in the register. 제 10 항에 있어서, 11. The method of claim 10, 상기 레지스터는 연속적으로 반복되는 데이터가 포함된 런렝쓰 데이터와 상기 런렝쓰 데이터가 인코딩된 런렝쓰 인코딩 데이터를 각각 저장하는 DMA 제어장치.And the registers store run length data including continuously repeated data and run length encoded data encoded with the run length data. 제 12 항에 있어서, 13. The method of claim 12, 상기 런렌쓰 인코딩 데이터 중에서 음(-)은 연속적으로 반복되는 데이터의 반복회수를 나타내고, 양(+)은 연속적으로 반복되지 않은 일반 데이터를 개수를 나타내는 DMA 제어장치.In the run-length encoded data, negative (-) indicates the number of repetitions of data that is continuously repeated, and positive (+) indicates the number of normal data that is not continuously repeated. 제 13 항에 있어서, The method of claim 13, 상기 런렝쓰 인코딩 데이터는 최하위 비트를 이용하여 연속적으로 반복되는 데이터인지, 연속적으로 반복되지 않는 일반 데이터인 지를 판별하도록 구성된 DMA 제어장치.And the run length encoded data is configured to determine whether the data is continuously repeated using the least significant bit or is general data not continuously repeated. 제 14 항에 있어서, The method of claim 14, 상기 런렝쓰 인코딩 데이터의 최하위 비트가 '0'이면 일반 데이터의 개수를 나타내고, '1'이면 연속적으로 반복되는 데이터의 반복 회수를 나타내는 DMA 제어장치. And if the least significant bit of the run-length encoded data is '0', this indicates the number of general data, and if it is '1', the DMA control device indicates the number of repetitions of data that is continuously repeated. 제 13 항 내지 제 15 항 중 어느 하나의 항에 있어서, The method according to any one of claims 13 to 15, 상기 런렝쓰 인코딩 데이터가 연속적으로 반복되는 데이터인 경우, 상기 DMA 제어부는 반복되는 회수만큼 DMA 전송을 수행하지 않고, 레지스터에 저장된 DMA 어드레스만을 증가시켜 동일한 데이터에 대해서는 DMA 전송을 수행하지 않도록 제어하는 DMA 제어장치.If the run-length encoded data is data that is continuously repeated, the DMA controller does not perform DMA transfers as many times as it is repeated, but increases only the DMA address stored in a register to control not to perform DMA transfers for the same data. Control unit. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020050028587A 2005-04-06 2005-04-06 Direct memory access controller, system and method for transferring a data using the same KR101128898B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050028587A KR101128898B1 (en) 2005-04-06 2005-04-06 Direct memory access controller, system and method for transferring a data using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050028587A KR101128898B1 (en) 2005-04-06 2005-04-06 Direct memory access controller, system and method for transferring a data using the same

Publications (2)

Publication Number Publication Date
KR20060106142A KR20060106142A (en) 2006-10-12
KR101128898B1 true KR101128898B1 (en) 2012-03-28

Family

ID=37626899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050028587A KR101128898B1 (en) 2005-04-06 2005-04-06 Direct memory access controller, system and method for transferring a data using the same

Country Status (1)

Country Link
KR (1) KR101128898B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100932925B1 (en) * 2007-12-17 2009-12-21 한국전자통신연구원 Direct memory access control device and its method for the transmission efficiency of MMO
US20090248910A1 (en) * 2008-04-01 2009-10-01 Apple Inc. Central dma with arbitrary processing functions

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010106634A (en) * 2000-05-22 2001-12-07 윤종용 Electronic system having direct memory access controller operating periodically

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010106634A (en) * 2000-05-22 2001-12-07 윤종용 Electronic system having direct memory access controller operating periodically

Also Published As

Publication number Publication date
KR20060106142A (en) 2006-10-12

Similar Documents

Publication Publication Date Title
US4519028A (en) CPU with multi-stage mode register for defining CPU operating environment including charging its communications protocol
US5426612A (en) First-in first-out semiconductor memory device
US4075691A (en) Communication control unit
KR100284718B1 (en) Timer manager
US7054986B2 (en) Programmable CPU/interface buffer structure using dual port RAM
US7908416B2 (en) Data processing unit and bus arbitration unit
KR930002787B1 (en) Universal peripheral controller self-configuring bootloadable ramware
KR20040066424A (en) Assigning method of multi sources to multi channel and system thereof
KR100375233B1 (en) Direct memory access controller being converted transfer mode flexibly according to data transfer counter value
US6782433B2 (en) Data transfer apparatus
KR101128898B1 (en) Direct memory access controller, system and method for transferring a data using the same
KR19990062457A (en) Data transfer method of the dynamic ram embedded microprocessor and the dynamic ram embedded microprocessor
US20030221027A1 (en) Electronic card with dynamic memory allocation management
KR100348545B1 (en) Communication dma device
JP2005084907A (en) Memory band control unit
JPH09297732A (en) Serial i/o
JP3910165B2 (en) High speed processor
JP2005346637A (en) First-in first-out memory and storage medium controller using it
JP2826780B2 (en) Data transfer method
KR920004404B1 (en) Stack system
JPH06131294A (en) Data transfer device
KR100584583B1 (en) Apparatus and method controlling a serial bus
JP3259095B2 (en) Data transfer method
JP2001297056A (en) Arbitrating circuit and dma controller
EP0668556A2 (en) A queue memory system and method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150223

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170216

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180221

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190218

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 9