KR20010106634A - Electronic system having direct memory access controller operating periodically - Google Patents
Electronic system having direct memory access controller operating periodically Download PDFInfo
- Publication number
- KR20010106634A KR20010106634A KR1020000027474A KR20000027474A KR20010106634A KR 20010106634 A KR20010106634 A KR 20010106634A KR 1020000027474 A KR1020000027474 A KR 1020000027474A KR 20000027474 A KR20000027474 A KR 20000027474A KR 20010106634 A KR20010106634 A KR 20010106634A
- Authority
- KR
- South Korea
- Prior art keywords
- timer
- memory access
- interrupt signal
- direct memory
- electronic system
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
Abstract
여기에 개시된 전자 시스템은, 미리 설정된 시간마다 인터럽트 신호를 발생하는 타이머, 상기 타이머로부터 출력되는 인터럽트 신호에 응답하여 인터럽트 처리 루틴을 수행하는 마이크로 컨트롤러 유닛, 그리고 상기 타이머로부터 출력되는 인터럽트 신호를 직접 메모리 접근 요구 신호로 받아들여 직접 메모리 접근 동작을 수행하는 직접 메모리 접근 컨트롤러를 포함한다. 상기 타이머는, 타이머의 동작 모드에 대응하는 컨트롤 데이터를 저장하는 컨트롤 레지스터 및 상기 인터럽트 신호를 발생하기 위한 주기에 대응하는 데이터를 저장하는 데이터 레지스터를 포함한다. 상술한 바와 같은 구성을 가지는 전자 시스템에 구성된 상기 DMA 컨트롤러는 타이머 내의 데이터 레지스터에 저장되는 데이터에 대응하는 일정한 시간마다 주기적으로 동작한다.The electronic system disclosed herein directly accesses a timer that generates an interrupt signal at a predetermined time, a microcontroller unit that performs an interrupt processing routine in response to an interrupt signal output from the timer, and an interrupt signal output from the timer. It includes a direct memory access controller that accepts a request signal and performs a direct memory access operation. The timer includes a control register for storing control data corresponding to an operation mode of the timer and a data register for storing data corresponding to a period for generating the interrupt signal. The DMA controller configured in the electronic system having the above-described configuration operates periodically at regular time corresponding to the data stored in the data register in the timer.
Description
본 발명은 직접 메모리 접근 컨트롤러를 구비한 전자 시스템에 관한 것으로, 좀 더 구체적으로는 타이머에 의해서 주기적으로 동작하는 직접 메모리 접근 컨트롤러를 구비한 전자 시스템에 관한 것이다.The present invention relates to an electronic system having a direct memory access controller, and more particularly, to an electronic system having a direct memory access controller that is periodically operated by a timer.
자기 디스크와 같은 고속의 저장 장치와 메모리 사이의 데이터 전송은 CPU에 의해 속도가 제한될 수 있다. 따라서, 이 데이터 전송 경로에서 CPU를 제거하고 주변 장치가 직접 메모리 버스를 관리하도록 한다면 전송 속도가 훨씬 증가될 것이다. 이러한 전송 방식을 직접 메모리 접근(direct memory access; DMA) 이라고 한다.Data transfer between a high speed storage device such as a magnetic disk and a memory may be speed limited by the CPU. Therefore, if you remove the CPU from this data transfer path and let the peripherals manage the memory bus directly, the transfer rate will be much higher. This transfer method is called direct memory access (DMA).
일반적으로 DMA 동작을 수행하기 위해서는 외부 입/출력 장치 또는 UART(universal asynchronous receiver/transmitter)가 DMA 요구 신호를 DMA 컨트롤러에 입력하는 방법을 사용하였다.In general, in order to perform a DMA operation, an external input / output device or a universal asynchronous receiver / transmitter (UART) uses a method of inputting a DMA request signal to a DMA controller.
그러나, 일정한 시간마다 DMA가 동작해야 하는 경우, 이러한 방법은 매우 불편하다.However, this method is very inconvenient when the DMA needs to operate every certain time.
따라서, 본 발명의 목적은 일정한 시간마다 주기적으로 동작하는 DMA 컨트롤러를 구비한 전자 시스템을 제공하는데 있다.Accordingly, an object of the present invention is to provide an electronic system having a DMA controller that operates periodically at regular time intervals.
도 1은 본 발명의 바람직한 실시예에 따른 전자 시스템을 보여주는 블럭도;1 is a block diagram showing an electronic system according to a preferred embodiment of the present invention;
도 2는 도 1에 도시된 타이머에 구성되는 타이머 컨트롤러 레지스터의 구성을 상세히 보여주는 도면; 그리고FIG. 2 is a diagram showing in detail the configuration of a timer controller register configured in the timer shown in FIG. 1; FIG. And
도 3은 도 1에 도시된 타이머의 카운트 값에 따른 상기 인터럽트 신호의 발생을 보여주는 타이밍도이다.FIG. 3 is a timing diagram illustrating generation of the interrupt signal according to the count value of the timer shown in FIG. 1.
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
10 : 타이머10: timer
12 : 컨트롤 레지스터12: control register
14 : 데이터 레지스터14: data register
20 : DMA 컨트롤러20: DMA controller
30 : 마이크로 컨트롤러 유닛30: microcontroller unit
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 전자 시스템은: 미리 설정된 시간마다 인터럽트 신호를 발생하는 타이머, 상기 타이머로부터 출력되는 인터럽트 신호에 응답하여 인터럽트 처리 루틴을 수행하는마이크로 컨트롤러 유닛, 그리고 상기 타이머로부터 출력되는 인터럽트 신호를 직접 메모리 접근 요구 신호로 받아들여 직접 메모리 접근 동작을 수행하는 직접 메모리 접근 컨트롤러를 포함한다.According to a feature of the present invention for achieving the object of the present invention as described above, the electronic system comprises: a timer for generating an interrupt signal at a predetermined time, performing an interrupt processing routine in response to the interrupt signal output from the timer; And a microcontroller unit, and a direct memory access controller which receives an interrupt signal output from the timer as a direct memory access request signal and performs a direct memory access operation.
바람직한 실시예 있어서, 상기 타이머는, 타이머의 동작 모드에 대응하는 컨트롤 데이터를 저장하는 컨트롤 레지스터 및 상기 인터럽트 신호를 발생하기 위한 주기에 대응하는 데이터를 저장하는 데이터 레지스터를 포함한다.In a preferred embodiment, the timer includes a control register for storing control data corresponding to an operation mode of the timer and a data register for storing data corresponding to a period for generating the interrupt signal.
(작용)(Action)
이와 같은 구성에 의해서, 일정한 시간 간격마다 자동적으로 동작하는 DMA 컨트롤러를 구비한 전자 시스템을 구현할 수 있다.With such a configuration, it is possible to implement an electronic system having a DMA controller that operates automatically at regular time intervals.
(실시예)(Example)
이하 본 발명에 따른 실시예를 첨부된 도면 도 1 내지 도 3을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to FIGS. 1 to 3.
도 1은 본 발명의 바람직한 실시예에 따른 전자 시스템을 보여주는 블럭도이다.1 is a block diagram illustrating an electronic system according to a preferred embodiment of the present invention.
도 1을 참조하면, 상기 전자 시스템은 타이머(10), 직접 메모리 접근(direct memory access; DMA) 컨트롤러(20) 그리고 마이크로 컨트롤러 유닛(microcontroller unit; MCU)(30)을 포함한다. 상기 마이크로 컨트롤러 유닛(30)은 어드밴스드 리스크 머신즈(Advanced RISC Machines; ARM) 사에서 제조된 ARM7T 등으로 구성된다.Referring to FIG. 1, the electronic system includes a timer 10, a direct memory access (DMA) controller 20, and a microcontroller unit (MCU) 30. The microcontroller unit 30 is composed of an ARM7T manufactured by Advanced RISC Machines (ARM).
상기 타이머(10) 컨트롤 레지스터(12)와 데이터 레지스터(14)를 포함하여,미리 설정된 시간마다 인터럽트 신호를 발생한다. 상기 컨트롤 레지스터(12)는 타이머(10)의 동작 모드에 대응하는 컨트롤 데이터를 저장한다. 상기 데이터 레지스터(14)는 미리 설정된 시간에 대응하는 데이터를 저장한다.The timer 10 includes a control register 12 and a data register 14 to generate an interrupt signal at each preset time. The control register 12 stores control data corresponding to the operation mode of the timer 10. The data register 14 stores data corresponding to a preset time.
도 2는 도 1에 도시된 타이머에 구성되는 타이머 컨트롤러 레지스터의 구성을 상세히 보여주는 도면이다.FIG. 2 is a diagram illustrating in detail the configuration of a timer controller register configured in the timer illustrated in FIG. 1.
도 2를 참조하면, 상기 타이머 컨트롤러 레지스터(12)는 예를 들면, 8-비트 레지스터로 구성된다. 상기 타이머 컨트롤 레지스터(12)에 저장된 컨트롤 데이터[5:3]는 타이머의 모드에 대응하는 데이터를 나타낸다. 즉, 상기 컨트롤 데이터[5:3]가 '000'일 때에는 인터럽트 모드를, '001'일 때에는 매치(match) 및 오버플로우(overflow) 모드를, '01'일 때에는 매치 및 DMA 모드를 나타내고, 그리고 '100'일 때에는 캡쳐(capture) 모드를 나타낸다.2, the timer controller register 12 is composed of, for example, an 8-bit register. Control data [5: 3] stored in the timer control register 12 represents data corresponding to the mode of the timer. That is, when the control data [5: 3] is '000', the interrupt mode is shown, if it is '001', the match and overflow mode is shown, and if it is '01', the match and DMA modes are shown. In case of '100', it indicates the capture mode.
다시 도 1을 참조하면, 상기 컨트롤 레지스터(12)에 저장된 컨트롤 데이터가 매치 및 DMA 모드로 설정된 경우(즉, '010'으로 설정된 경우), 상기 타이머(10) 내에 내장된 카운터는 카운트 동작을 개시하고, 카운트 값이 상기 데이터 레지스터(14)에 미리 저장된 데이터와 동일할 때 인터럽트 신호(MATCH_INT)를 출력한다.Referring back to FIG. 1, when the control data stored in the control register 12 is set to the match and DMA mode (ie, set to '010'), the counter embedded in the timer 10 starts a count operation. When the count value is the same as the data previously stored in the data register 14, the interrupt signal MATCH_INT is output.
상기 DMA 컨트롤러(20)는 상기 타이머(10)로부터 출력되는 인터럽트 신호(MATCH_INT)를 DMA 요구 신호(DMA_REQ)로 받아들여 DMA 동작을 수행한다.The DMA controller 20 receives the interrupt signal MATCH_INT output from the timer 10 as a DMA request signal DMA_REQ and performs a DMA operation.
상기 마이크로 컨트롤러 유닛(30)은 상기 타이머(10)로부터 출력되는 인터럽트 신호(MATCH_INT)를 받아들여 인터럽트 처리 루틴을 수행한다. 이 인터럽트 처리 루틴에서 타이머(10)의 데이터 레지스터(14)에 저장된 값을 변화시킴으로서, 상기 DMA 컨트롤러(20)가 동작되는 시간 간격(time interval)을 변경시킬 수 있다.The microcontroller unit 30 receives an interrupt signal MATCH_INT output from the timer 10 and performs an interrupt processing routine. By changing the value stored in the data register 14 of the timer 10 in this interrupt processing routine, the time interval at which the DMA controller 20 is operated can be changed.
도 3은 도 1에 도시된 타이머의 카운트 값에 따른 상기 인터럽트 신호의 발생을 보여주는 타이밍도이다.FIG. 3 is a timing diagram illustrating generation of the interrupt signal according to the count value of the timer shown in FIG. 1.
도 3을 참조하면, 상기 타이머(10) 내에 구성된 데이터 레지스터(14)에 저장된 값이 십진수 '3'인 경우, 상기 타이머(10)는 내부의 카운터(미 도시됨)의 카운트 값이 '3'이 될 때마다 펄스 형태의 인터럽트 신호(MATCH_INT)를 출력한다.Referring to FIG. 3, when the value stored in the data register 14 configured in the timer 10 is a decimal number '3', the timer 10 has a count value of an internal counter (not shown) '3'. Each time a pulse type interrupt signal (MATCH_INT) is output.
상술한 바와 같이, DMA 컨트롤러(10)는 타이머(10) 내의 데이터 레지스터(14)에 저장되는 값에 대응하는 일정한 시간마다 주기적으로 동작한다.As described above, the DMA controller 10 operates periodically at regular time corresponding to the value stored in the data register 14 in the timer 10.
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.In the above, the configuration and operation of the circuit according to the present invention are shown in accordance with the above description and drawings, but this is merely described, for example, and various changes and modifications are possible without departing from the spirit of the present invention. .
이상과 같은 본 발명에 의하면, 일정한 시간 간격마다 자동적으로 동작하는 DMA 컨트롤러를 구비한 전자 시스템이 구현된다.According to the present invention as described above, an electronic system having a DMA controller that operates automatically at regular time intervals is implemented.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000027474A KR20010106634A (en) | 2000-05-22 | 2000-05-22 | Electronic system having direct memory access controller operating periodically |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000027474A KR20010106634A (en) | 2000-05-22 | 2000-05-22 | Electronic system having direct memory access controller operating periodically |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010106634A true KR20010106634A (en) | 2001-12-07 |
Family
ID=19669585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000027474A KR20010106634A (en) | 2000-05-22 | 2000-05-22 | Electronic system having direct memory access controller operating periodically |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20010106634A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101128898B1 (en) * | 2005-04-06 | 2012-03-28 | 매그나칩 반도체 유한회사 | Direct memory access controller, system and method for transferring a data using the same |
-
2000
- 2000-05-22 KR KR1020000027474A patent/KR20010106634A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101128898B1 (en) * | 2005-04-06 | 2012-03-28 | 매그나칩 반도체 유한회사 | Direct memory access controller, system and method for transferring a data using the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5551044A (en) | Method and apparatus for interrupt/SMI# ordering | |
KR0185034B1 (en) | Microcontroller with multiple timing functions available in a single peripheral module | |
JP2778222B2 (en) | Semiconductor integrated circuit device | |
US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
US5471635A (en) | Methods and apparatus pulse-width modulation that use a counter and a modulus device | |
KR20010106634A (en) | Electronic system having direct memory access controller operating periodically | |
US6219744B1 (en) | Interrupt masker for an interrupt handler with double-edge interrupt request signals detection | |
US6550015B1 (en) | Scalable virtual timer architecture for efficiently implementing multiple hardware timers with minimal silicon overhead | |
KR940006014A (en) | Timer circuit with comparator | |
US20030088724A1 (en) | Asynchronous bus interface apparatus | |
JP2624388B2 (en) | DMA device | |
EP1164483B1 (en) | System and method for reducing jitter in a signal | |
JP3190121B2 (en) | Control device | |
US5999742A (en) | Dual latch data transfer pacing logic using a timer to maintain a data transfer interval | |
JP2517943B2 (en) | Timer device | |
JPH0664483B2 (en) | Pulse counter | |
JP2984670B1 (en) | Timer circuit | |
KR920001331A (en) | Processor | |
US20020166076A1 (en) | Method and device for accessing components | |
KR20000009220U (en) | Reset Stabilizer for Digital Systems | |
KR100403339B1 (en) | Program counter controlled processor | |
JP2003036241A (en) | Wait cycle control device and wait cycle control method | |
JPH0644180A (en) | Dma device | |
KR940003320B1 (en) | Method and device for stabilizing an operation in micro-processor | |
KR100247424B1 (en) | Apparatus for external cache using write buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |