KR100874439B1 - Voice decoding device based on microcontroller and voice decoding method using same - Google Patents
Voice decoding device based on microcontroller and voice decoding method using same Download PDFInfo
- Publication number
- KR100874439B1 KR100874439B1 KR1020070030904A KR20070030904A KR100874439B1 KR 100874439 B1 KR100874439 B1 KR 100874439B1 KR 1020070030904 A KR1020070030904 A KR 1020070030904A KR 20070030904 A KR20070030904 A KR 20070030904A KR 100874439 B1 KR100874439 B1 KR 100874439B1
- Authority
- KR
- South Korea
- Prior art keywords
- microcontroller
- voice
- voice data
- data
- direct memory
- Prior art date
Links
Images
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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/366—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a centralised polling arbiter
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S1/00—Two-channel systems
- H04S1/007—Two-channel systems in which the audio signals are in digital form
Abstract
마이크로 컨트롤러를 기반으로 한 개선된 성능을 갖는 음성 디코딩 장치에 있어서, 데이터를 전송하는 버스에는 디코더 및 데이터를 처리하기 위한 마이크로 컨트롤러가 연결된다. 마이크로 컨트롤러 외부에는 음성 및 비음성 데이터를 저장하기 위한 외부 메모리가 구비된다. 외부 메모리와 마이크로 컨트롤러 사이에는 직렬 인터페이스(serial peripheral interface; SPI)가 구비된다. 또한, 직렬 인터페이스 및 마이크로 컨트롤러 사이에 음성 및 비음성 데이터를 각각 액세스하기 위한 두 개의 직렬 메모리 액세스들과, 상기 직렬 메모리 액세스들을 제어하기 위한 아비터가 더 구비될 수 있다. 상기한 음성 디코딩 장치는 대용량의 데이터를 처리할 수 있으며, 나아가 음성 데이터를 처리하면서도 음질의 저하없이 비음성 데이터를 용이하게 처리할 수 있다.In a speech decoding apparatus having an improved performance based on a microcontroller, a bus for transmitting data is connected to a decoder and a microcontroller for processing data. An external memory for storing voice and non-voice data is provided outside the microcontroller. A serial peripheral interface (SPI) is provided between the external memory and the microcontroller. In addition, two serial memory accesses for accessing voice and non-voice data, respectively, between the serial interface and the microcontroller, and an arbiter for controlling the serial memory accesses may be further provided. The voice decoding apparatus may process a large amount of data, and further, may process non-voice data without degrading sound quality while processing voice data.
Description
도 1은 종래 기술에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.1 is a schematic configuration diagram illustrating a speech decoding apparatus based on a microcontroller according to the related art.
도 2는 본 발명의 일 실시예에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.2 is a schematic diagram illustrating a voice decoding apparatus based on a microcontroller according to an exemplary embodiment of the present invention.
도 3은 본 발명의 다른 실시예에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.3 is a schematic diagram illustrating a voice decoding apparatus based on a microcontroller according to another embodiment of the present invention.
도 4는 도 2 및 도 3에 도시된 음성 디코딩 장치들의 데이터 처리 성능을 설명하기 위한 그래프이다.FIG. 4 is a graph for describing data processing performance of the voice decoding apparatuses illustrated in FIGS. 2 and 3.
도 5는 본 발명의 또 다른 실시예에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.FIG. 5 is a schematic diagram illustrating a voice decoding apparatus based on a microcontroller according to another embodiment of the present invention.
도 6은 도 4에 도시된 음성 디코딩 장치의 데이터 처리 성능을 설명하기 위한 그래프이다.FIG. 6 is a graph for describing data processing performance of the speech decoding apparatus illustrated in FIG. 4.
도 7은 본 발명의 일 실시예에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 방법을 설명하기 위한 개략적인 흐름도이다.7 is a schematic flowchart illustrating a voice decoding method based on a microcontroller according to an embodiment of the present invention.
* 도면의 주요부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
300 : 음성 디코딩 장치 310 : 버스(bus)300: voice decoding device 310: bus (bus)
320 : 디코더(decoder) 330 : 마이크로 컨트롤러320: decoder 330: microcontroller
340 : 외부 메모리 343 : 음성 데이터340: external memory 343: voice data
346 : 비음성 데이터 350 : 직렬 인터페이스(SPI)346: non-voice data 350: serial interface (SPI)
360 : 제1 직접 메모리 액세스 370 : 제2 직접 메모리 액세스360: first direct memory access 370: second direct memory access
380 : 아비터(arbiter) 390 : 버퍼(buffer)380: Arbiter 390: Buffer
본 발명은 음성 디코딩(voice decoding) 장치에 관한 것이다. 보다 상세하게는, 완구, 도어락 또는 가전제품 등에 응용 가능한 마이크로 컨트롤러 유닛을 기반으로 한 음성 디코딩 장치에 관한 것이다.The present invention relates to a voice decoding apparatus. More specifically, the present invention relates to a voice decoding apparatus based on a microcontroller unit applicable to toys, door locks or home appliances.
음성 디코딩 기능을 갖는 제어 장치의 어플리케이션(application)은 시각 장애인을 위한 일부 제품과 완구 제품을 시작으로, 최근에는 도어락(door lock), 냉장고 등과 같이 생활가전을 중심으로 우리의 실생활 주변으로 빠른 속도로 확대되고 있다.The application of the control device having the voice decoding function starts with some products and toys for the visually impaired, and recently, it is rapidly moving around our real life centering on home appliances such as door locks and refrigerators. It is expanding.
이와 같은 추세는 최근 반도체 장치가 급속도로 발전함에 따라 생활가전에 다양한 음성 디코딩 또는 인코딩(encoding) 적용분야가 다양화되고 있기 때문이며, 이에 따라 향후에는 보다 진화된 음성 디코딩 기능을 갖는 다양한 제품들이 출시될 것으로 보인다. 예를 들면, 종래에는 메모리에 저장된 음성 데이터를 단순히 선택적으로 재생하는 수준에서, 지피에스(GPS), 음성을 이용하는 학습용 단말기, 게임기, 차량 마이컴등과 같이 음성 데이터를 일반 데이터들과 함께 빠른 속도로 처리하는 수준까지 발전하고 있다.This trend is due to the recent rapid development of semiconductor devices and the diversification of various applications of voice decoding or encoding in consumer electronics. Accordingly, various products with more advanced voice decoding functions will be introduced in the future. Seems to be. For example, conventionally, the voice data stored in the memory is simply and selectively reproduced, such as GPS, a learning terminal using a voice, a game console, a vehicle microcomputer, and the like. It is developing to a level that is.
현재 음성 디코딩 기능의 제어 장치는 크게 음성 전용 디코딩(인코딩) 장치, 마이크로 컨트롤러(microcontroller unit; MCU) 기반의 음성 디코딩(인코딩) 장치 및 DSP(digital signal processing) 장치로 구분된다. 이들 중에서 상기 마이크로 컨트롤러 기반의 음성 디코딩 장치가 널리 사용되고 있다. 이는 마이크로 컨트롤러는 사용자가 필요한 기능만을 부가적으로 셋팅하여 쓸 수 있도록 되어 있기 때문이다. 즉, 다양한 용도를 갖는 명령을 수행하는 프로그램을 집어넣을 수 있어, 사용자의 필요에 따른 기능을 부여할 수 있다.Currently, a control device of a voice decoding function is largely classified into a voice-only decoding (encoding) device, a microcontroller unit (MCU) -based voice decoding (encoding) device, and a digital signal processing (DSP) device. Among them, the microcontroller-based speech decoding apparatus is widely used. This is because the microcontroller can additionally set only the necessary functions. That is, a program that executes a command having various purposes can be inserted, thereby giving a function according to a user's needs.
도 1은 종래 기술에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.1 is a schematic configuration diagram illustrating a speech decoding apparatus based on a microcontroller according to the related art.
도 1을 참조하면, 종래의 음성 디코딩 장치(10)는 크게 중앙처리부(12), 마스크 롬(13) 및 램(14)을 포함하는 마이크로 컨트롤러(15), 상기 마이크로 컨트롤러(15)와 연결된 디코더(16), 그리고 내부 메모리(18)를 포함한다. 즉, 칩(chip) 내부에 내부 메모리(18)가 내장된 형태를 띠고 있다. 그러나, 이러한 구성을 갖는 음성 코딩 장치(10)에서 메모리 용량을 더 이상 확장시키기 어렵기 때문에 최근 급증하는 데이터를 고속으로 처리하기에는 한계가 있다.Referring to FIG. 1, a conventional
상기와 같은 문제점들을 해결하기 위한 본 발명의 제1 목적은 음성 데이터 및 비음성 데이터를 포함하는 대용량의 데이터를 처리할 수 있으며, 더 나아가 음성 품질을 유지하면서도 대용량의 데이터를 효율적으로 처리할 수 있는 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치들을 제공하는데 있다.A first object of the present invention for solving the above problems can process a large amount of data, including voice data and non-voice data, and furthermore can efficiently process a large amount of data while maintaining voice quality To provide a voice decoding apparatus based on a microcontroller.
본 발명의 제2 목적은 상기한 음성 디코딩 장치를 이용하여 음성 데이터 및 비음성 데이터를 동시에 처리할 수 있는 음성 디코딩 방법을 제공하는데 있다.It is a second object of the present invention to provide a voice decoding method capable of simultaneously processing voice data and non-voice data using the above voice decoding apparatus.
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
삭제delete
본 발명에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치는 데이터를 전송하기 위한 버스; 상기 버스와 연결되는 디코더; 상기 버스와 연결되고, 데이터를 처리하기 위한 마이크로 컨트롤러; 상기 마이크로 컨트롤러 외부에 음성 및 비음성 데이터를 저장하기 위한 외부 메모리; 상기 버스, 외부 메모리 및 디코더와 연결되며, 데이터에 대한 읽기 동작을 수행하기 위한 제1 직접 메모리 액세스(direct memory access; DMA); 상기 버스 및 직렬 인터페이스와 연결되고, 상기 제1 직접 메모리 액세스가 음성 데이터 읽기 동작을 수행하는 동안, 상기 비음성 데이터에 대한 읽기 동작을 수행하기 위한 제2 직접 메모리 액세스; 및 상기 마이크로 컨트롤러 및 상기 외부 메모리를 연결하기 위한 직렬 인터페이스(serial peripheral interface)를 포함하는 것을 특징으로 한다.
하나의 예로써, 상기 제1 및 제2 직접 메모리 액세스와 연결되어, 상기 제1 및 제2 직접 메모리 액세스가 충돌 없이 동시에 동작하도록 제어하기 위한 아비터(arbiter)를 더 포함하는 것을 특징으로 한다.
본 발명에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 방법은 직렬 인터페이스에 의해 마이크로 컨트롤러 및 디코더와 직렬 인터페이스에 의해 연결된 외부 메모리 내에 저장된 음성 데이터 및 비음성 데이터를 처리하는데 있어서, 상기 음성 데이터에 대한 읽기 동작은 상기 외부 메모리 및 디코더와 연결되는 제1 직접 메모리 액세스에 의해 수행되고, 상기 비음성 데이터에 대한 읽기 동작은 상기 제1 직접 메모리 액세스와 독립적으로 상기 외부 메모리와 연결되는 제2 직접 메모리 액세스에 의해 수행되는 것을 특징으로 하는 한다.
하나의 예로써, 상기 제1 및 제2 직접 메모리 액세스는 상기 직렬 인터페이스와 연결된 아비터(arbiter)에 의해 각각 제어되는 것을 특징으로 한다.
상기한 바에 의하면, 대용량의 외부 메모리를 사용하는 음성 디코딩 장치에 있어서, 두 개의 직접 메모리 액세스를 효과적으로 이용함으로써, 디코더를 이용하여 음성을 출력하는 도중에 일반 데이터를 고속으로 처리할 수 있다.An apparatus for decoding a speech based on a microcontroller according to the present invention comprises: a bus for transmitting data; A decoder coupled to the bus; A microcontroller coupled to the bus for processing data; An external memory for storing voice and non-voice data outside the microcontroller; A first direct memory access (DMA) coupled to the bus, an external memory and a decoder, for performing a read operation on data; A second direct memory access coupled to the bus and a serial interface, for performing a read operation on the non-voice data while the first direct memory access performs a voice data read operation; And a serial peripheral interface for connecting the microcontroller and the external memory.
As an example, the apparatus may further include an arbiter connected to the first and second direct memory accesses to control the first and second direct memory accesses to operate simultaneously without collision.
According to the present invention, a microcontroller-based speech decoding method processes a speech data and a non-speech data stored in an external memory connected by a serial interface with a microcontroller and a decoder by a serial interface. Is performed by a first direct memory access coupled with the external memory and a decoder, and the read operation on the non-voice data is performed by a second direct memory access coupled with the external memory independently of the first direct memory access. Characterized in that performed.
As an example, the first and second direct memory accesses are each controlled by an arbiter connected to the serial interface.
According to the above, in a speech decoding apparatus using a large external memory, by effectively utilizing two direct memory accesses, it is possible to process general data at high speed while outputting speech using a decoder.
이하, 본 발명에 따른 바람직한 실시예들에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치 및 이를 이용한 음성 디코딩 방법에 대하여 첨부된 도면을 참조하여 상세하게 설명하지만, 본 발명이 하기의 실시예들에 제한되는 것은 아니며, 해당 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명을 다양한 다른 형태로 구현할 수 있을 것이다. 첨부된 도면에 있어서, 각 구성 요소들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하여 도시한 것이다. 본 발명에 있어서, 하나의 구성 요소가 다른 구성 요소 "상에", "상부에" 또는 "하부"에 형성되는 것으로 언급되는 경우에는 상기 하나의 구성 요소는 상기 다른 구성 요소 위에 형성되거나 또는 아래에 위치하는 것을 의미하거나, 또 다른 구성 요소들이 상기 다른 구성 요소 상에 추가적으로 형성될 수 있다. 또한, 각 구성 요소들이 "제1", "제2" 및/또는 "제3"으로 언급되는 것은 한정하기 위한 것이 아니라 단지 각 구성 요소들을 구분하기 위한 것이다. 따라서, "제1", "제2" 및/또는 "제3"은 각 구성 요소에 대하여 각기 선택적으로 또는 교환적으로 사용될 수 있다.Hereinafter, a voice decoding apparatus based on a microcontroller and a voice decoding method using the same according to preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, but the present invention is limited to the following embodiments. Those skilled in the art will appreciate that the present invention may be embodied in various other forms without departing from the spirit of the invention. In the accompanying drawings, the dimensions of each component is shown in an enlarged scale than actual for clarity of the invention. In the present invention, when one component is referred to as being formed on, above, or under another component, the one component is formed on or below the other component. It is meant to be positioned, or further components may be additionally formed on the other components. In addition, it is to be noted that the respective components are referred to as "first", "second", and / or "third", not merely to limit each component. Thus, "first", "second" and / or "third" can be used selectively or interchangeably for each component.
마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치Voice decoding device based on microcontroller
도 2는 본 발명의 일 실시예에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.2 is a schematic diagram illustrating a voice decoding apparatus based on a microcontroller according to an exemplary embodiment of the present invention.
도 2를 참조하면, 본 실시예에 따른 음성 디코딩 장치(100)는 데이터를 전송하기 위한 버스(110), 버스(110)와 연결된 디코더(120), 디코더(120)와 연결된 마이크로 컨트롤러(130), 데이터를 저장하기 위한 외부 메모리(140), 외부 메모리(140)를 버스(110)와 연결시키기 위한 인터페이스(150)를 포함한다.Referring to FIG. 2, the
상기 디코더(120)는 디지털화된 음성 데이터를 아날로그 신호로 변환시키는 장치로서, 데이터를 전송하기 위한 버스(110)를 통해 마이크로 컨트롤러(130)와 연결되어 있다. 마이크로 컨트롤러(microcontroller, 120)는 가전제품, 완구, 마이크로 마우스, 2족 로봇 등에 널리 이용되는 ‘사용자 제어 중앙처리장치’를 말한다. 예를 들면, 마이크로 컨트롤러(120)는, 도시되지는 않았으나, 중앙처리부(central processing unit; CPU), 임의접근메모리(random access memory; RAM), 소거 및 프로그램 가능 읽기용 메모리(read only memory; ROM), 타이머(timer), 인터럽트 컨트롤러(interrupt controller), 입출력부(input/output; I/O) 등을 포함하여 구성될 수 있다.The
상기 외부 메모리(140)는 대용량의 음성 데이터 또는 일반 데이터(비음성 데이터)를 저장하기 위한 공간으로서 제공된다. 외부 메모리(140)의 예로는 디램(DRAM), 에스램(SRAM), 데이터 저장형 플래시 메모리(NAND type Flash memory), 코드 저장형 플래시 메모리(NOR type Flash memory) 등이 있다. 상기 코드 저장형 플래시 메모리는 데이터 저장형에 비해 데이터의 액세스 시간이 짧고(데이터 처리 속도가 빠름) 데이터의 안정성이 우수하기 때문에, 음성 디코딩 장치(100)의 외부 메모리(140)는 코드 저장형 플래시 메모리가 바람직하다.The
상기 인터페이스(150)는 외부 메모리(140)와 마이크로 컨트롤러(130) 사이에서 데이터를 교환시키기 위한 것이며, 그 예로는 직렬 인터페이스(serial peripheral interface; SPI)와 병렬 인터페이스(parallel interface)가 있다. 여기서, 상기 인터페이스(150)는 병렬 인터페이스에 비해 신호 간섭이 적고, 배선이 간단하여 소형 장치에 적합한 직렬 인터페이스를 사용하는 것이 바람직하다. 따라서, 본 발명의 마이크로 컨트롤러 기반의 음성 디코딩 장치(100)는 상술한 외부 메모리(140)를 이용하여 대용량의 데이터를 저장할 수 있으므로, 다양한 어플리케이션의 용도에 맞는 음성 디코딩 장치로 사용할 수 있다.The
요컨대, 제품의 기능이 증가함에 따라 처리해야할 데이터가 증가되고 있지만, 종래의 음성 디코딩 장치에서 마이크로 컨트롤러 내부 메모리의 용량을 확장하는 것이 불가능하므로, 본 발명과 같이 직렬 인터페이스(150) 방식으로 외부 메모리(140)를 연결함으로써 음성 디코딩 장치(100)의 메모리 용량을 용이하게 증가시킬 수 있다.In short, as the function of the product increases, the data to be processed increases, but since it is impossible to expand the capacity of the microcontroller internal memory in the conventional voice decoding apparatus, the external memory ( By connecting the 140, the memory capacity of the
도 3은 본 발명의 다른 실시예에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.3 is a schematic diagram illustrating a voice decoding apparatus based on a microcontroller according to another embodiment of the present invention.
도 3을 참조하면, 본 실시예에 따른 음성 디코딩 장치(200)는 데이터를 전송 하기 위한 버스(210), 버스(210)와 연결된 디코더(220), 디코더(220)와 연결된 마이크로 컨트롤러(230), 데이터를 저장하기 위한 외부 메모리(240), 외부 메모리(240)를 버스(210)와 연결시키기 위한 인터페이스(250) 및 직접 메모리 액세스(direct memory access; DMA)(260)를 포함한다.Referring to FIG. 3, the
상기 버스(210), 디코더(220), 마이크로 컨트롤러(230), 외부 메모리(240) 및 인터페이스(250)에 대한 상세한 설명은 도 2를 참조하여 기 설명된 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치의 설명과 유사하므로 생략한다.A detailed description of the
상기 직접 메모리 액세스(260)는 마이크로 컨트롤러(230)와 인터페이스(250) 사이에 구비되며, 마이크로 컨트롤러(230)에 의한 프로그램 실행 없이 외부 메모리(240)에 대한 액세스 제어를 수행한다. 이때, 상기 디코더(220)는 직접 메모리 액세스(260)가 자동으로 접근 가능하도록 구성될 수 있다.The
이와 같이, 마이크로 컨트롤러(230)를 기반으로 하는 음성 디코딩 장치(200)에 음성 데이터 및 비음성 데이터를 저장하기 위한 외부 메모리(240)를 구성함에 있어서, 상기 직접 메모리 액세스(260)를 추가함으로써 음성 데이터를 내부의 메모리 또는 외부 메모리(240)를 읽어올 수 있다. 따라서, 마이크로 컨트롤러(230)는 비음성 데이터에 대한 입출력 속도를 향상시킬 수 있고, 마이크로 컨트롤러(230)의 중앙처리부와 주변 장치간의 속도 차를 줄일 수 있으므로 보다 향상된 성능을 발휘할 수 있다.As such, in configuring the
도 4는 도 2 및 도 3에 도시된 음성 디코딩 장치들의 데이터 처리 성능을 설명하기 위한 그래프이다.FIG. 4 is a graph for describing data processing performance of the voice decoding apparatuses illustrated in FIGS. 2 and 3.
도 4를 참조하면, 도 2 및 도 3을 참조로 설명한 외부 메모리(140, 240)를 음성 데이터 및 비음성 데이터 저장용으로 사용 시, 음성 데이터 읽기 처리 및 비음성 데이터 사이에 적정한 시간의 여유 시간을 제공함으로써 음성 디코딩(음성 데이터 읽기) 및 데이터 처리(비음성 데이터 읽기)를 동시에 수행할 수 있다.Referring to FIG. 4, when the
도 5는 본 발명의 또 다른 실시예에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 설명하기 위한 개략적인 구성도이다.FIG. 5 is a schematic diagram illustrating a voice decoding apparatus based on a microcontroller according to another embodiment of the present invention.
도 5를 참조하면, 도시된 장치(300)는 마이크로 컨트롤러(330)를 기반으로 하는 음성 디코딩 장치로서, 데이터를 전송하기 위한 버스(310)와, 버스(310)와 연결되는 디코더(320)와, 마이크로 컨트롤러(330)와, 음성 데이터(343) 및 비음성 데이터(346)를 저장하기 위한 외부 메모리(340)와, 음성 데이터(343)를 디코더(320)로 전송하기 위한 제1 직접 메모리 액세스(360)와, 비음성 데이터(346)에 대한 읽기 동작을 수행하기 위한 제2 직접 메모리 액세스(370)와, 제1 및 제2 직접 메모리 액세스(380)를 제어하기 위한 아비터(380)를 포함한다.Referring to FIG. 5, the
상기 외부 메모리(340)는 필요에 따라 대용량의 데이터를 저장하기 위한 것으로서, 음성 데이터(343) 및 비음성 데이터(346)를 저장할 수 있다. 이때, 외부 메모리(340)는 1바이트(byte) 단위로 동작 가능한 메모리 장치를 사용하는 것이 바람직하다(여기에 대해서는 하기에서 보다 구체적으로 설명하기로 한다). 예를 들면, 외부 메모리(340)는 코드 저장형 플래시 메모리(NOR Flash Memory)를 포함하고, 직렬 인터페이스(350)에 의해 버스(310)와 연결되는 것이 바람직하다.The
상기 제1 직접 메모리 액세스(360)는 버스(310)를 통해 마이크로 컨트롤 러(320) 및 디코더(320)와 연결된다. 또한, 동시에 음성 데이터(343)가 저장된 외부 메모리(340)와 연결된다. 이에 따라, 마이크로 컨트롤러(330) 대신에 음성 데이터(343)를 디코더(320)로 전송하는 기능을 수행할 수 있다. 이에 따라, 마이크로 컨트롤러(320)가 외부 메모리(340)의 제어를 제1 직접 메모리 액세스(360)에게 넘겨주게 되면, 마이크로 컨트롤러(320)가 다른 연산 기능을 수행할 수 있으므로 디코딩 장치의 성능(performance)이 향상될 수 있다.The first
한편, 외부 메모리(340)와 버스(310)에는 제1 직접 메모리 액세스(360) 이외에도 제2 직접 메모리 액세스(370)가 연결되어 있다. 제2 직접 메모리 액세스(370)는 제1 직접 메모리 액세스(360)가 음성 데이터(343)에 대한 읽기 동작을 수행하는 동안, 비음성 데이터(346)에 대한 읽기 동작을 수행하기 위한 회로이다.In addition to the first
이처럼, 외부 메모리(340)에는 두 개의 직접 메모리 액세스(360, 370)가 접근할 수 있게 되므로, 제1 및 제2 직접 메모리 액세스(360, 370)와 직렬 인터페이스(350) 사이에는 아비터(arbiter)(380)가 구비되는 것이 바람직하다. 아비터(380)는 한 번에 하나의 직접 메모리 액세스(360 또는 370)가 버스(310)를 사용하도록 제어하는 기능을 수행한다. 구체적으로, 아비터(380)는 제1 직접 메모리 액세스(360) 동작하는 동안에는 제2 직접 메모리 액세스(360)의 접근을 막고, 상기 제1 직접 메모리 액세스(360)동작들 사이에 발생하는 여유 시간 동안에만 제2 직접 메모리 액세스(370)의 접근을 허용한다. 그러므로 하나의 직렬 포트 인터페이스(350)에 제1 및 제2 직접 메모리 액세스(360, 370)의 동작들이 충돌 없이 액세스될 수 있다.As such, since two direct memory accesses 360 and 370 are accessible to the
도 4를 다시 참조하면, 음성 데이터 읽기 처리 기능과 비음성 데이터 읽기 처리 기능을 복잡하게 수행할 경우에는 중요한 문제가 발생한다. 이는 바로 음성 및 비음성 데이터 각각의 처리 단계 사이에 여유 시간이 발생함으로써, 데이터 처리 시간이 길어지고 중앙처리부의 성능이 크게 저하되는 것이다. 이러한 여유 시간을 소프트웨어적으로 프로그램을 이용하여 제거할 경우에는 낮은 연산 속도를 갖는 마이크로 컨트롤러, 예를 들면 8비트 컨트롤러는 상기 프로그램으로 인해 오히려 동작 부담이 커지게 되므로 음성 디코딩 장치의 성능 향상을 기대하기 어렵다. 도 5를 참조하여 기 설명된 음성 디코딩 장치는 상술한 여유 시간을 하드웨어적인 방법으로 제거함으로써 마이크로 컨트롤러 자체 연산 속도를 향상시키지 않고도 제품의 성능을 향상시키기 위한 것이다.Referring back to FIG. 4, an important problem occurs when the voice data read processing function and the non-voice data read processing function are complicated. This is because the extra time occurs between the processing steps of the voice and non-voice data respectively, the data processing time is long and the performance of the central processing unit is greatly reduced. When such a free time is eliminated by using a program, a microcontroller having a low operation rate, for example, an 8-bit controller, is rather burdensome due to the program. it's difficult. The voice decoding apparatus described above with reference to FIG. 5 is to improve the performance of a product without improving the microcontroller's own computational speed by removing the above-described spare time by a hardware method.
도 6은 도 4에 도시된 음성 디코딩 장치의 데이터 처리 성능을 설명하기 위한 그래프이다.FIG. 6 is a graph for describing data processing performance of the speech decoding apparatus illustrated in FIG. 4.
도 6을 참조하면, 도 4에 도시된 음성 데이터 읽기 동작과 비음성 데이터 읽기 동작 사이에 발생되는 여유 시간, 즉 시간 갭(gap)이 제거되었음을 알 수 있다. 이는 인접하는 음성 데이터 읽기 동작들 사이에 발생하는 시간 갭을 비음성 데이터 읽기 동작하는 데에 사용한 것으로서, 이를 통해 데이터 처리 속도를 크게 향상시킬 수 있다.Referring to FIG. 6, it can be seen that a spare time, that is, a time gap, generated between the voice data read operation and the non-voice data read operation shown in FIG. 4 is removed. This is used to perform a non-voice data read operation using a time gap occurring between adjacent voice data read operations, thereby greatly improving the data processing speed.
다시 도 5로 돌아가서, 음성 데이터의 경우 적정한 수준 이상의 음질을 확보하기 위해서는 여유 시간의 제어가 중요하다. 이를 위해, 외부 메모리(140)는 1바이트(byte) 단위로 동작하는 것을 사용하는 것이 바람직하다.Returning to FIG. 5 again, in the case of voice data, the control of the spare time is important in order to secure sound quality more than an appropriate level. To this end, it is preferable to use the
한편, 제2 직접 메모리 액세스(180) 및 마이크로 컨트롤러(320)와 연결되는 버퍼(390)를 더 포함할 수 있다. 여기서, 버퍼(390)로 램 버퍼(RAM Buffer)를 사용할 수 있다. 구체적으로, 상기 버퍼(390)는 제2 직접 메모리 액세스(370)에 의해 처리된 비음성 데이터(346)를 일시적으로 저장함으로써, 마이크로 컨트롤러(320)의 중앙처리부가 비음성 데이터(346)들을 고속으로 처리하는 것이 가능해진다. 예를 들면, LCD와 같은 출력 장치로 전송되는 대량의 그래픽 데이터를 가져올 때, 상기 제2 직접 메모리 액세스(370)가 읽어온 그래픽 데이터를 버퍼(390)에 저장하여 필요한 정보를 용이하게 디스플레이할 수 있다.Meanwhile, the electronic device may further include a buffer 390 connected to the second direct memory access 180 and the
이와 같이, 아비터(370), 제1 및 제2 직접 메모리 액세스(360, 370)를 이용하여 대용량의 외부 메모리(340)에 저장된 음성 데이터(343) 및 비음성 데이터(346)에 대한 처리를 효과적으로 수행할 수 있다. 특히, 상기 디코더(320)의 선택 가능한 샘플링 주파수(selectable sampling frequency)가 4㎑ 내지 48㎑인 경우에도, 소정의 음질을 유지하면서 마이크로 컨트롤러(330)의 기능을 용이하게 사용할 수 있다. 참고로, 종래의 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치의 샘플링 주파수는 8㎑ 내지 16㎑에 불과하며, 본 발명의 디코딩 장치는 이러한 종래 음성 디코딩 장치에 비해 고음질을 확보할 수 있다.As described above, the processing of the
이에 대하여 보다 상세하게 설명하면, 마이크로 컨트롤러(330)가 수행하는 동작 중 산술 명령이 제일 비중이 높다고 생각할 수 있으나 실제는 데이터 이동 명령의 비중이 가장 높다. 그렇기 때문에, 두 개의 직접 메모리 액세스(360, 370)는 마이크로 컨트롤러(330)가 해야 할 일을 덜어주고 마이크로 컨트롤러(330)에 의해 이루어져야하는 부분만 실행하게 함으로써, 마이크로 컨트롤러(330)의 성능을 높이는 것 이상의 효과를 얻을 수 있다. 이와 같이, 저사양의 마이크로 컨트롤러, 예를 들면 8비트 마이크로 컨트롤러를 이용하여 고성능을 발휘할 수 있는 음성 디코딩 장치를 구현할 수 있으므로 단가 측면에서 크게 유리하다.In more detail, the arithmetic instruction may be considered to have the highest weight among the operations performed by the
특히, 직접 메모리 액세스(360, 370)는 영상과 같이 대량의 데이터를 이동할 때에 많은 장점을 제공하므로, 본 발명의 음성 디코딩 장치는 게임기, 학습용 단말기, 가전기기, 모바일 장치 등 다양한 어플리케이션에 응용가능하다. 이하에서는, 도 1 내지 도 6을 참조하여 기 설명된 본 발명에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 장치를 이용한 음성 디코딩 방법을 설명하기로 한다.In particular, since the
마이크로 컨트롤러를 기반으로 한 음성 디코딩 방법Speech decoding method based on microcontroller
본 발명은 직렬 인터페이스에 의해 마이크로 컨트롤러 및 디코더와 연결된 외부 메모리 내에 저장된 음성 데이터 및 비음성 데이터를 처리하는데 있어서, 상기 비음성 데이터에 대한 읽기 동작을 상기 음성 데이터에 대한 읽기 동작을 수행하는 동안 수행한다. 즉, 상기 음성 데이터에 대한 읽기 동작과 비음성 데이터에 대한 읽기 동작 사이에 여유 시간을 추가함으로써, 상기 대용량의 외부 메모리에 저장된 음성 디코딩과 데이터 처리를 하나 상호 제어로 수행할 수 있다.In the present invention, in processing voice data and non-voice data stored in an external memory connected to a microcontroller and a decoder by a serial interface, a read operation on the non-voice data is performed while a read operation on the voice data is performed. . That is, by adding a spare time between the read operation on the voice data and the read operation on the non-voice data, the voice decoding and data processing stored in the large capacity external memory can be performed under mutual control.
도 7은 본 발명의 일 실시예에 따른 마이크로 컨트롤러를 기반으로 한 음성 디코딩 방법을 설명하기 위한 개략적인 흐름도이다.7 is a schematic flowchart illustrating a voice decoding method based on a microcontroller according to an embodiment of the present invention.
본 실시예에 따른 음성 디코딩 방법은 상기 음성 데이터에 대한 읽기 동작을 상기 외부 메모리 및 디코더와 연결되는 제1 직접 메모리 액세스를 이용하여 수행할 수 있다. 예를 들면, 먼저 상기 마이크로 컨트롤러를 이용하여 상기 외부 메모리에 저장된 음성 데이터의 제1 어드레스(address)를 상기 제1 직접 메모리 액세스에 설정한다(S110).The voice decoding method according to the present embodiment may perform a read operation on the voice data using a first direct memory access connected to the external memory and the decoder. For example, first, a first address of voice data stored in the external memory is set to the first direct memory access using the microcontroller (S110).
다음에, 상기 제1 직접 메모리 액세스에 의해 설정된 상기 여유 시간을 활용하여 상기 비음성 데이터에 대한 읽기 동작을 수행한다(S120). 구체적으로, 상기 제1 직접 메모리 액세스를 이용하여 상기 제1 어드레스를 통해 소정의 음성 데이터를 상기 외부 메모리로부터 상기 코덱으로 전송한다(음성 데이터 읽기).Next, a read operation on the non-voice data is performed by utilizing the spare time set by the first direct memory access (S120). Specifically, predetermined voice data is transmitted from the external memory to the codec through the first address using the first direct memory access (reading voice data).
이와 동시에, 상기 비음성 데이터에 대한 읽기 동작을 상기 제1 직접 메모리 액세스와 독립적으로 상기 외부 메모리와 연결되는 제2 직접 메모리 액세스를 이용하여 수행한다(비음성 데이터 읽기). 예를 들면, 먼저 상기 제1 직접 메모리의 액세스의 읽기 동작이 수행되는 시간 동안에 상기 마이크로 컨트롤러를 이용하여 상기 외부 메모리에 저장된 비음성 데이터의 제2 어드레스를 설정한다. 다음에, 상기 제2 직접 메모리 액세스를 이용하여 상기 제2 어드레스를 통해 상기 비음성 데이터를 읽어 온다.At the same time, a read operation on the non-voice data is performed using a second direct memory access connected to the external memory independently of the first direct memory access (reading non-voice data). For example, first, a second address of non-voice data stored in the external memory is set using the microcontroller during a time when a read operation of accessing the first direct memory is performed. Next, the non-voice data is read through the second address using the second direct memory access.
여기서, 상기 제1 및 제2 직접 메모리 액세스의 읽기 동작은 아비터를 이용하여 용이하게 제어할 수 있다. 이를 구체적으로 설명하면, 상기 아비터는 상기 제1 직접 메모리 액세스의 비음성 데이터에 대한 읽기 동작을 스크린하면서 상기 제1 직접 메모리 액세스의 읽기 동작 사이에 발생하는 상기 여유 시간 동안에 상기 외부 메모리에 대한 액세스 권한을 상기 제2 직접 메모리 액세스로 넘겨준다.The read operation of the first and second direct memory accesses can be easily controlled using an arbiter. Specifically, the arbiter is authorized to access the external memory during the spare time occurring between the read operations of the first direct memory access while screening the read operation on the non-voice data of the first direct memory access. Passes to the second direct memory access.
이로써, 상기 여유 시간 동안 상기 제2 직접 메모리 액세스가 상기 외부 메모리 내에 저장된 비음성 데이터에 대한 읽기 동작을 수행할 수 있다. 즉, 상기 제1 및 제2 직접 메모리 액세스는 상기 직렬 인터페이스와 연결된 아비터에 의해 각각 제어되기 때문에, 또 다른 여유 시간이나 제1 및 제2 직접 메모리 액세스 간의 충돌을 방지할 수 있다.As a result, the second direct memory access may perform a read operation on the non-voice data stored in the external memory during the spare time. That is, since the first and second direct memory accesses are controlled by an arbiter connected to the serial interface, respectively, another spare time or a collision between the first and second direct memory accesses can be prevented.
마지막으로, 상기 S120 단계 이후에 상기 외부 메모리에 저장된 처리해야할 데이터에 대한 읽기 동작이 완료되었는가를 판단한다(S130). 완료된 경우 작업을 종료하고, 반면에 완료되지 않은 경우에는 S120단계를 반복수행하여 상기 작업을 완료할 수 있다. 이와 같은 방법에 의하면, 음성 디코딩 중에 일반 데이터(비음성 데이터)에 대한 처리를 고속으로 수행할 수 있으므로 음성 디코딩 장치의 성능을 크게 향상시킬 수 있다.Finally, it is determined whether the read operation for the data to be processed stored in the external memory is completed after the step S120 (S130). If the operation is completed, the operation is terminated. On the other hand, if the operation is not completed, the operation may be completed by repeating the step S120. According to this method, since the processing of general data (non-voice data) can be performed at high speed during voice decoding, the performance of the voice decoding apparatus can be greatly improved.
상기와 같은 본 발명에 따른 마이크로 컨트롤러를 기반으로 하는 음성 디코딩 장치는 직렬 인터페이스를 통해 외부 메모리를 장착함으로써 처리해야할 데이터가 증가하는 추세에 맞게 대응할 수 있다. 또한, 음성 디코딩 장치를 직접 메모리 장치를 기반으로 작동시켜, 마이크로 컨트롤러의 중앙처리부는 음성 데이터 이외의 데이터를 처리할 수 있게 되어 음성 디코딩 장치의 성능(performance)이 향상되는 효과가 있다.The voice decoding apparatus based on the microcontroller according to the present invention as described above can cope with the increasing trend of data to be processed by mounting an external memory through a serial interface. In addition, by operating the voice decoding device directly based on the memory device, the central processing unit of the microcontroller can process data other than the voice data, thereby improving the performance of the voice decoding device.
게다가, 두 개의 직접 메모리 장치, 아비터 및 버퍼를 장착하면, 하나의 직접 메모리 장치가 음성 데이터를 처리하는 중에, 다른 직접 메모리 장치는 비음성 데이터들을 버퍼에 쌓아둠으로써 비음성 데이터들을 마이크로 컨트롤러가 고속으로 처리하는 것이 가능해진다. 그러므로 마이크로 컨트롤러의 중앙처리부를 업그레이드하지 않고도 음성 디코딩 장치 전체의 성능을 크게 향상시킬 수 있다.In addition, with two direct memory devices, an arbiter and a buffer, while one direct memory device is processing voice data, the other direct memory device accumulates non-voice data in a buffer, allowing the microcontroller to It becomes possible to process. Therefore, the performance of the entire voice decoding apparatus can be greatly improved without upgrading the central processing unit of the microcontroller.
또한, 상기한 장치를 이용하면 단가의 상승 없이도 음질의 저하없이 음성 데이터와 비음성 데이터를 동시에 처리하는 것이 가능하기 때문에, 이와 같은 방법은 다양한 어플리케이션에 적용 가능하다.In addition, the above-described apparatus can be used to simultaneously process voice data and non-voice data without deteriorating the sound quality without increasing the unit cost, and this method can be applied to various applications.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070030904A KR100874439B1 (en) | 2007-03-29 | 2007-03-29 | Voice decoding device based on microcontroller and voice decoding method using same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070030904A KR100874439B1 (en) | 2007-03-29 | 2007-03-29 | Voice decoding device based on microcontroller and voice decoding method using same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080088230A KR20080088230A (en) | 2008-10-02 |
KR100874439B1 true KR100874439B1 (en) | 2008-12-16 |
Family
ID=40150542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070030904A KR100874439B1 (en) | 2007-03-29 | 2007-03-29 | Voice decoding device based on microcontroller and voice decoding method using same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100874439B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001134548A (en) | 1999-11-04 | 2001-05-18 | Sharp Corp | Multiprocessor system |
US20020013633A1 (en) * | 2000-07-28 | 2002-01-31 | Tomoya Kodama | Audio processor and audio data processing method |
-
2007
- 2007-03-29 KR KR1020070030904A patent/KR100874439B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001134548A (en) | 1999-11-04 | 2001-05-18 | Sharp Corp | Multiprocessor system |
US20020013633A1 (en) * | 2000-07-28 | 2002-01-31 | Tomoya Kodama | Audio processor and audio data processing method |
Also Published As
Publication number | Publication date |
---|---|
KR20080088230A (en) | 2008-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050198471A1 (en) | Micro-controller for reading out compressed instruction code and program memory for compressing instruction code and storing therein | |
US20040064606A1 (en) | Memory system allowing fast operation of processor while using flash memory incapable of random access | |
US6523755B2 (en) | Semiconductor memory device | |
JP2009533763A (en) | Multimedia card with large storage capacity | |
KR100874439B1 (en) | Voice decoding device based on microcontroller and voice decoding method using same | |
JP2000276370A (en) | Microcomputer, electronic equipment and emulation method | |
US6349388B1 (en) | Timer processing engine for supporting multiple virtual minimum time timers | |
JP2009009388A (en) | Portable terminal equipment and boot processing method thereof | |
KR100532417B1 (en) | The low power consumption cache memory device of a digital signal processor and the control method of the cache memory device | |
KR100410986B1 (en) | Method for access controlling of digital sigrnal processor external memory | |
JP2860655B2 (en) | Parallel instruction execution type processor | |
KR100891390B1 (en) | Micro controller and method of updating the same | |
JP2006209371A (en) | Controller | |
KR101202691B1 (en) | Data procdssing apparatus and method | |
JP2010224806A (en) | Controller and semiconductor storage device | |
CN110309080B (en) | Method for improving cache data loading speed | |
JP2007026091A (en) | Interrupt control circuit and its control method | |
JPS6330658B2 (en) | ||
JP2010039503A (en) | Serial memory device and signal processing system | |
JP3642420B2 (en) | Semiconductor device | |
JP2002318686A (en) | Processor | |
JP2003076395A (en) | Audio signal processor | |
JPH1083384A (en) | Microcomputer | |
KR20000074229A (en) | Programe down loading apparatus in engine ECU of vehivle | |
JP2004280664A (en) | Bit arithmetic unit |
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: 20111212 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20121205 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |