KR20070056864A - 광대역 스테레오 코덱 인터페이스에서 재설정 가능한송수신 선입선출 구조의 이용 방법 및 장치 - Google Patents

광대역 스테레오 코덱 인터페이스에서 재설정 가능한송수신 선입선출 구조의 이용 방법 및 장치 Download PDF

Info

Publication number
KR20070056864A
KR20070056864A KR1020050116009A KR20050116009A KR20070056864A KR 20070056864 A KR20070056864 A KR 20070056864A KR 1020050116009 A KR1020050116009 A KR 1020050116009A KR 20050116009 A KR20050116009 A KR 20050116009A KR 20070056864 A KR20070056864 A KR 20070056864A
Authority
KR
South Korea
Prior art keywords
address
transmission
reception
data
fifo
Prior art date
Application number
KR1020050116009A
Other languages
English (en)
Other versions
KR101168095B1 (ko
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 KR1020050116009A priority Critical patent/KR101168095B1/ko
Priority to US11/606,354 priority patent/US7746871B2/en
Publication of KR20070056864A publication Critical patent/KR20070056864A/ko
Application granted granted Critical
Publication of KR101168095B1 publication Critical patent/KR101168095B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Abstract

본 발명은 광대역 스테레오 코덱 인터페이스에서 재설정 가능한 송수신 선입선출 구조의 이용 방법 및 장치에 있어서, 상기 장치는, 광대역 스테레오 코덱과 음성 및 오디오 데이터를 송수신하며, 송신을 위해 생성된 어드레스 및 제어신호와, 수신을 위해 생성된 어드레스 및 제어신호와 쓰기 데이터 신호를 발생하는 제 1인터페이스 로직부와, 상기 제 1인터페이스 로직부로부터 전달되는 상기 송수신 신호들을 미리 입력된 토글신호에 따라 번갈아가며 출력하는 다중화기와, 미리 설정된 마지막 송신 어드레스로 구분되는 송신영역 및 수신 영역으로 구성되며, 상기 다중화기로부터 출력된 상기 송수신신호에 따라 상기 각 영역마다 읽기/쓰기를 수행하여, 송신할 읽기데이터는 상기 제 1인터페이스부로 전달하고, 수신한 읽기 데이터를 출력하는 송수신 선입선출 메모리부와, 상기 송수신 선입선출 메모리부로부터 상기 읽기 데이터를 전달받아 버스를 통해 CPU로 전달하고, 상기 CPU로부터 상기 버스를 통해 전달받은 데이터를 쓰기 데이터로서 해당하는 제어신호 및 어드레스 신호와 함께 상기 송수신 선입선출 메모리부로 전달하는 제 2인터페이스 로직부와, 상기 제 1인터페이스 로직부와, 상기 제 2 인터페이스 로직부는, 상기 송수신영역이 거의 가득차거나 또는 텅비어가는 경우의 데이터 개수를 나타내는 파라미터값들을 저장하고 있는 제어 레지스터들을 구비하며, 상기 제 1내지 제2인터페이스 로직부에 각각 입력되는 읽기데이터들이 상기 저장된 파라미터 값에 도달하면 상기 각 파라미터값에 따른 인터럽트 신호를 상기 CPU로 발생시키는 것을 특징으로 한다.
Wide-band stereo codec, FIFO, DPRAM

Description

광대역 스테레오 코덱 인터페이스에서 재설정 가능한 송수신 선입선출 구조의 이용 방법 및 장치{Method and apparatus for reconfigurable Tx/Rx FIFO using in a wide-band stereo CODEC interface}
도 1은 종래 기술에 따라 고정되고 나누어진 송수신 FIFO 구조를 도시한 도면.
도 2는 본 발명의 바람직한 실시예에 따른 재설정 가능한 송수신 FIFO와 제어 레지스터를 도시한 도면.
도 3은 본 발명의 바람직한 실시예에 따른 재설정 가능한 송수신 FIFO와 제어 로직의 동작절차를 도시한 도면.
도 4는 본 발명의 바람직한 실시예에 따른 코덱 인터페이스에서의 인터럽트 발생을 도시한 도면.
도 5는 본 발명의 바람직한 실시예에 따른 재설정 가능한 송수신 FIFO에서의 송수신 어드레싱 동작을 도시한 도면.
도 6은 본 발명의 바람직한 실시예에 따른 재설정 가능한 송수신 FIFO에서의 송수신 어드레싱 동작을 도시한 흐름도.
본 발명은 이동통신 시스템에 관한 것으로서, 특히 이동통신 칩에서 음성 및 오디오 정보를 광대역 스테레오 코덱(Wide-band Stereo CODEC)으로 전송하는 방식을 기존의 고정되고 나누어진 송수신(Tx/Rx) 선입선출(First in first out, 이하 “FIFO”라 칭함) 대신에 Tx/Rx FIFO 크기를 조정 가능한 하나의 FIFO로 사용하는 방법 및 장치에 관한 것이다.
상기 광대역 스테레오 코덱은 이동통신 시스템의 단말기내에 음성 및 오디오 정보 입력시 아날로그 신호를 디지털로 바꾸는 아날로그 디지털 컨버터(analog to digital converter, 이하 “ADC”라 칭함)와, 음성 및 오디오 신호 출력시 디지털 신호를 아날로그로 바꿔주는 디지털 아날로그 컨버터(digital to analog converter, 이하 “DAC”라 칭함)를 수행한다. 또한 음성 및 오디오 정보에 대하여 부호화와 복호화를 수행한다. 상기와 같은 광대역 스테레오 코덱은 코덱 인터페이스와 연결되어 다른 장치들로부터 송수신 정보를 주고받게 되며, 상기 코덱 인터페이스는 송수신 정보를 FIFO를 통하여 광대역 스테레오 코덱과 정보를 송수신하게 된다.
도 1은 종래 기술에 따른 이동통신 시스템에서 고정되고 나누어진 송수신 FIFO 구조를 도시한 도면이다.
상기 도 1을 참조하면, 종래의 코덱 인터페이스(130)내의 FIFO는 송수신 FIFO를 나누어 놓고 정해진 메모리를 사용하여 광대역 스테레오 코덱과의 인터페이 스를 수행하는 방식이다. 즉, 상기 송수신 FIFO를 하드웨어적으로 나누어 놓고 주문형 반도체(ASIC: APPLICATION SPECIFIC INTEGRATED CIRCUIT) 설계시에 정해진 메모리 용량을 사용하여 송신 및 수신 데이터 흐름이 있는 경우에 사용하는 방식이다.
광대역 스테레오 코덱(115)과 코덱 인터페이스(130)로 음성 및 오디오 정보를 송수신하는 절차는, 우선 오디오 정보 송신시 주변 하드웨어칩 사이에 주고받는 정보가 전달되는 정보의 통로 전송로인 버스(145)로부터 음성 및 오디오 정보를 입력받은 코덱 인터페이스(130)의 송신 FIFO(135)에서 입력받은 음성 및 오디오 정보를 광대역 스테레오 코덱(115)으로 전송하여 DAC(120)를 거쳐 아날로그로 변환된 데이터를 스피커(105)로 출력하는 것이다.
수신시에는 마이크(microphone)(110)로부터의 입력을 상기 광대역 스테레오 코덱(115)내의 ADC(125)를 거쳐서 디지털로 변환된 데이터를 코덱 인터페이스의 수신 FIFO(140)를 통하여 출력되고 상기 출력된 음성 및 오디오 정보는 버스(145)를 통하여 다른 하드웨어 장치로 전달된다.
상기된 바와 같이 동작하는 종래 기술에 의해 고정되고 나누어진 송수신 FIFO(135, 140)를 사용하려면, 송신을 위한 FIFO(135)와 수신을 위한 FIFO(140)로 2개의 FIFO가 있어야 한다. 즉, 2개의 듀얼 포트 램(DPRAM:Dual-Port Random Access Memory)이 필요하다. 반도체 공정상에서 메모리의 개수가 많아지면 테스트를 위한 디자인(DFT:Design For Test)을 위한 로직(logic)이 커지고, 레이아웃(layout) 및 와이어링(wiring) 노력이 늘어나는데, DPRAM이 2개인 것은 불필요한 공정 지연을 발생시킨다. 예를 들어, 송신 FIFO만을 사용하는 MP3 플레이 어플리케이션을 실행하는 경우라면, 수신 FIFO는 사용되지 않는 문제점이 있었다.
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명은, 광대역 스테레오 코덱 인터페이스에서의 송수신 선입선출부(FIFO)의 크기를 조정 가능한 하나의 FIFO로 구현하여 전송하는 방법 및 장치를 제공한다.
본 발명은, 광대역 스테레오 코덱 인터페이스에서의 고정되고 나누어진 송수신 선입 선출부를 통합하고, 조정 가능한 가변 길이 선입선출부 구조를 구현함으로써 어플리케이션에 따른 선입선출부 활용을 효율적으로 하는 방법 및 장치를 제공한다.
본 발명의 실시예는, 광대역 스테레오 코덱과 음성 및 오디오 데이터를 송수신하며, 송신을 위해 생성된 어드레스 및 제어신호와, 수신을 위해 생성된 어드레스 및 제어신호와 쓰기 데이터 신호를 발생하는 제 1인터페이스 로직부와, 상기 제 1인터페이스 로직부로부터 전달되는 상기 송수신 신호들을 미리 입력된 토글신호에 따라 번갈아가며 출력하는 다중화기와, 미리 설정된 마지막 송신 어드레스로 구분되는 송신영역 및 수신 영역으로 구성되며, 상기 다중화기로부터 출력된 상기 송수신신호에 따라 상기 각 영역마다 읽기/쓰기를 수행하여, 송신할 읽기데이터는 상기 제 1인터페이스부로 전달하고, 수신한 읽기 데이터를 출력하는 송수신 선입선출 메 모리부와, 상기 송수신 선입선출 메모리부로부터 상기 읽기 데이터를 전달받아 버스를 통해 CPU로 전달하고, 상기 CPU로부터 상기 버스를 통해 전달받은 데이터를 쓰기 데이터로서 해당하는 제어신호 및 어드레스 신호와 함께 상기 송수신 선입선출 메모리부로 전달하는 제 2인터페이스 로직부와, 상기 제 1인터페이스 로직부와, 상기 제 2 인터페이스 로직부는, 상기 송수신영역이 거의 가득차거나 또는 텅비어가는 경우의 데이터 개수를 나타내는 파라미터값들을 저장하고 있는 제어 레지스터들을 구비하며, 상기 제 1내지 제2인터페이스 로직부에 각각 입력되는 읽기데이터들이 상기 저장된 파라미터 값에 도달하면 상기 각 파라미터값에 따른 인터럽트 신호를 상기 CPU로 발생시키는 것을 특징으로 한다.
본 발명의 다른 실시예는, 광대역 스테레오 코덱 인터페이스부내의 미리 설정된 마지막 송신 어드레스로 구분되는 송신영역 및 수신 영역으로 구성되는 송수신 선입선출 메모리의 이용 방법에 있어서, 입력된 신호가 송신할 쓰기 데이터인 경우, 상기 송신할 쓰기 데이터를 어드레스 0부터 미리 설정된 마지막 송신 어드레스까지 저장하고, 상기 마지막 송신 어드레스 이후, 상기 어드레스 0부터 다시 저장하는 과정과, 모든 송신할 쓰기 데이터를 저장한 경우, 송신할 읽기 데이터를 출력하는 과정과, 상기 입력된 신호가 수신한 쓰기 데이터인 경우는, 상기 수신된 쓰기 데이터를 상기 수신영역의 마지막 수신 어드레스부터 상기 마지막 송신 어드레스+1까지 저장하고, 상기 마지막 송신 어드레스+1 이후, 상기 마지막 수신 어드레스부터 다시 저장하는 과정과, 상기 모든 수신 데이터를 저장하였다면, 상기 수신된 쓰기 데이터를 읽기 데이터로 출력하는 과정을 포함하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐를 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명은 광대역 스테레오 코덱 인터페이스에서의 송수신 선입선출부(FIFO)의 크기를 조정 가능한 하나의 FIFO로 구현하여 전송하는 방법 및 장치에 관한 것이다. 또한 본 명세서에서는 이동통신 단말기내의 광대역 스테레오 코덱 인터페이스상에서의 FIFO를 실시예로서 설명하고 있으나, 사운드나 동영상 데이터의 입출력을 위하여 입력과 출력으로 나누어져 있는 FIFO를 사용하는 컴퓨터나 모든 멀티미디어 입출력 장치에 적용이 가능함은 물론이다.
도 2는 본 발명의 바람직한 실시예에 따른 재설정 가능한 송수신 FIFO와 제어 레지스터를 도시한 도면이다.
상기 도 2를 참조하면, 코덱 인터페이스(230)는 하나로 합쳐진 재설정 가능한 송수신 FIFO(240) 모듈을 포함하는 것으로서, 상기 재설정 가능한 송수신 FIFO(240) 모듈은 마지막 송신 어드레스(TX_END_ADDR) 레지스터(register)(235)에서 설정된 마지막 송신 어드레스로 상기 코덱 인터페이스(230)내의 하나의 RAM인 송수신 FIFO(240)를 Tx FIFO(242)와 Rx FIFO(244)로 나누어서 사용한다. 즉, RAM의 주소 0번지부터 TX_END_ADDR(235)까지 송신을 위한 FIFO(242)로 사용하고, TX_END_ADDR+1 번지부터 RAM의 마지막 번지까지를 수신을 위한 FIFO(244)로 사용한다. 또한 예를 들어, 송수신 데이터량에 따라 마지막 송신 어드레스 번호를 더 많이 설정하거나, 감소시킬 수 있다.
이와 같이 하나의 RAM을 내부적으로 둘로 나누어 사용하는 구조에서 TX_END_ADDR(235) 값은 중요한 역할을 한다. 그 이유는, FIFO는 RAM에 데이터를 쓰거나 읽을 때, 어드레스를 고려하지 않아도 되지만 하드웨어적으로는 어드레스를 만들어 주어야 한다. 즉, 상기 어드레스를 만드는 어드레스 생성 방법은 보통 원형의 어드레싱(circular addressing)으로 어드레스를 생성 하는데, 상기 TX_END_ADDR(235) 값을 이용하여 송신 또는 수신의 어드레스 전환 지점을 알 수 있기 때문이다.
예를 들어, 송신 어드레스 포인터가 현재 TX_END_ADDR(235) 번지에 있다면 다음 송신 데이터는 TX_END_ADDR+1 번지에 저장되는 것이 아니라 0번지에 저장되어야 한다. 이것은 어드레스 생성 로직이 TX_END_ADDR(235) 레지스터의 값을 이용해서 판단하는 것이다. 반대로 수신 어드레스는 RAM의 마지막 어드레스(RAM_END_ADDR)부터 시작하여 TX_END_ADDR+1번지까지 감소하고 다음 수신 데이터를 저장하기 위한 어드레스는 RAM_END_ADDR이 되는 것이다.
추가적으로 FIFO 동작을 위한 레지스터가 존재하며, 여기에는 송신을 위한 가득참/텅빈을 나타내는 지시 신호(full/empty indication signal)와 수신을 위한 full/empty indication signal을 만들기 위해서 TX_FULL_LIKE_REG(245), TX_EMTPY_LIKE_REG(250), RX_FULL_LIKE_REG(260), RX_EMPTY_LIKE_REG(255) 등의 레지스터들이 존재한다. 상기 레지스터들은 상기 송수신 영역이 가득차거나 텅빌 경우의 데이터 개수 파라미터 값을 저장하고 있으며, 상기 값에 근접하는 경우, full/empty 인터럽트를 발생할 수 있도록 도와주어 상기 발생한 인터럽트들은 CPU로 전달한다. 보다 구체적인 사항은 도 4에서 설명하도록 한다.
도 3은 본 발명의 바람직한 실시예에 따른 재설정 가능한 송수신 FIFO와 제어 로직의 동작절차를 도시한 도면이다.
상기 도 3은, 재설정 가능한 하나의 송수신 FIFO(355)로 동작하기 위하여 필요한 주소생성 로직(address generation logic)을 포함한 인터페이스 로직(335, 365)과 제어 레지스터(340, 370)를 구현한 것이다. 상기 인터페이스 로직(335)은 광대역 스테레오 코덱(315)과의 송수신 데이터 및 신호를 교환하기 위한 것이며, 상기 인터페이스 로직(365)은 버스(375)와의 데이터 및 신호를 송수신하기 위한 것이다. 또한 제어 레지스터(340, 370)들은 상기 송수신 FIFO(355)의 송수신 어드레스가 가득차거나 텅비어 있음을 나타내는 값들을 저장하고 있어, 상기 값들을 통해 코덱 인터페이스(330) 에서의 인터럽트 발생에 이용한다.
이와 같이 상기 인터페이스 로직(335, 365)과 제어 레지스터(340, 370)를 포함하는 코덱 인터페이스(330)를 이용한 음성 및 오디오 신호의 송수신 절차는 다음과 같다.
음성 및 오디오 데이터 송신시 인터페이스 로직(365)은 버스(375)로부터 상기 음성 및 오디오 데이터를 입력받아, 상기 송수신 FIFO(355)로 로직신호(360)를 전달한다. 상기 로직신호(360)는 버스 듀얼포트 메모리 제어신호(BUS_DP_CONTROL)와, 생성된 어드레스 신호(BUS_DP_ADDR)와 음성 및 오디오 데이터인 쓰기 데이터 신호(BUS_DP_WDATA)를 포함한다. 상기 송수신 FIFO(355)에서는 상기 신호를 처리하기 위하여 수신측(356)에서 쓰기동작을 수행한다. 상기 쓰기 동작이후에 상기 송수신 FIFO(355)는 송신할 읽기 데이터(TX_RDATA)(342)를 인터페이스 로직(335)에 전달한다. 상기 인터페이스 로직(335)에서는 상기 읽기 데이터를 광대역 스테레오 코덱(315)으로 전달하여 상기 광대역 스테레오 코덱(315)내의 DAC(320)에서 디지털 신호를 아날로그로 변환하여 스피커(305)로 출력한다.
마이크(310)로부터 입력된 신호는 상기 광대역 스테레오 코덱(315)내의 ADC(325)에서 아날로그 신호를 디지털로 변환하여 인터페이스 로직(335)으로 전달한다. 상기 인터페이스 로직(335)에서는 송수신FIFO(355)에 대한 송수신 제어와 상기 마이크(310)로부터 입력된 음성 및 오디오 쓰기 데이터를 제공한다. 그러므로 상기 인터페이스 로직(335)은 상기 송수신 FIFO(355)로 송신신호(344)와 수신신호(346)를 송수신 발생 때마다 전달한다. 상기 송신신호(344)는 송신 제어신호(TX_CTRL)와 송신 읽기 어드레스신호(TX_RADDR)를 포함하며, 수신신호(346)는 수신 쓰기 제어신호(RX_WCTRL)와, 수신 쓰기 에드레스신호(RX_WADDR)와, 수신 쓰기 데이터신호(RX_WDATA)를 포함한다.
상기 동시에 혹은 불규칙적으로 상기 송수신 FIFO(355)에 전달되기 때문에 스위치 혹은 다중화기(이하 다중화기라 칭함)(350)를 통하여 출력된 신호를 송수신 FIFO(355)로 전달한다. 상기 다중화기는 송수신 신호를 규칙적으로 전송하기 위하 여 미리 설정된 송수신 마스터 토글(TX_RX_MSTR_TGL)(348)을 입력받아 상기 송수신 신호를 처리하게 된다.
만약 상기 다중화기(350)로부터 수신신호를 전달받았다면, 상기 수신신신호에 포함된 쓰기 어드레스와 쓰기 데이터로 상기 송수신 FIFO(355)의 수신측(358) 영역에 데이터를 쓰기를 수행한다. 이후 상기 송수신 FIFO(355)는 수신측(358)영역에서 출력된 버스 듀얼 포트 메모리 읽기 데이터(BUS_DP_RDATA)신호를 인터페이스 로직(365)으로 전달하여 최종적으로 상기 인터페이스 로직(365)에서 버스를 통하여 다른 하드웨어로 데이터를 전달하게 된다.
여기서 상기 제어 레지스터(340, 370)들은 상기 도 2의 TX_FULL_LIKE_VAL(245), TX_EMTPY_LIKE_VAL(250), RX_FULL_LIKE_VAL(260), RX_EMPTY_LIKE_VAL(255)들의 값을 저장하고 있는 레지스터들로서,
송수신 FIFO(355)로부터 인터페이스 로직(335, 365)으로 수신된 신호(RDATA)들에 포함된 읽혀진 에드레스 값들로부터 송신측(356) 혹은 수신측(358)영역이 가득차거나 텅비어 있는지 여부를 저장하고 있는 값들과 비교하여, 판단한 결과는 인터럽트로 발생 된다.
도 4는 본 발명의 바람직한 실시예에 따른 코덱 인터페이스에서의 인터럽트 발생을 도시한 도면이다.
상기 도 4를 참조하면, 코덱 인터페이스(430)에서의 동작에 따라 각종 인터럽트가 발생하여 상기 발생한 인터럽트는 CPU(450)로 전달된다. 여기서 상기 인터럽트들은 상기 도 2에서 설명한 TX_FULL_LIKE_REG(245), TX_EMTPY_LIKE_REG(250), RX_FULL_LIKE_REG(260), RX_EMPTY_LIKE_REG(255) 등의 레지스터들로부터의 값들을 통하여 가득참 또는 텅빔을 나타내는 인터럽트를 발생하도록 한다.
상기 발생되는 인터럽트들은 송신 FIFO에러(TX_FIFO_ERROR_INT), 수신 FIFO에러(RX_FIFO_ERROR_INT), 수신 에러(RX_INT), 수신 가득참(RX_FULL_LIKE_INT), 수신 텅빔(RX_EMPTY_LIKE_INT), 수신 텅비지 않음(RX_NOT_EMPTY_LIKE_INT), 송신 가득참(TX_FULL_LIKE_INT), 송신 텅빔(TX_EMPTY_LIKE_INT) 인터럽트 등이 있다.
이와 같은 인터럽트들은 CPU(450) 인터럽트 처리 지연을 보상해 주기 위해서 full/empty가 발생하기 전에 미리 CPU(450)에게 거의 full/empty인 상황을 알려 주는 것이다. 만약 이와 같은 인터럽트 기능이 없고 CPU(450) 인터럽트 처리 지연이 발생한다면, 잘못된 송신 데이터가 출력되거나 수신 데이터를 잃어버릴 수 있다.
도 5는 본 발명의 바람직한 실시예에 따른 송수신 어드레싱 동작을 도시한 도면이다.
상기 도 5를 참조하면, 송신 어드레스와 수신 어드레스가 TX_END_ADDR의 값을 기준으로 어드레싱되는 것을 표현한 것이다. 여기서 송신 어드레스는 0(505), inter-address of Tx(510), TX_END_ADDR(515) 등이 있으며, 수신 어드레스는 RAM_END_ADDR(520), inter-address of RX(525), TX_END_ADDR+1(530)등이 어드레스를 나타내고 있다.
CPU-side(도시하지 않음)에서 하나의 어드레스를 할당해서 read/write를 할 때도, 상기와 같은 어드레싱이 이루어진다. 예를 들어. 상기 CPU-side에서 0x1000번지에 FIFO 어드레스를 할당했다면, CPU가 0x1000번지에 데이터 쓰기를 수행할 경 우 송신 FIFO 영역의 1단계인 0(505)에서부터 데이터 쓰기가 시작되어 2단계에서 어드레스 번호를 순차적으로 올려가며 일정영역의 쓰기동작 이후에 3단계의 inter-address of Tx(510)를 확인한 다음, 4단계에서 상기 inter-address of Tx(510)이후의 어드레스에 쓰기동작을 순차적으로 수행하여, 5단계에서 송신 어드레스의 끝을 나타내는 TX_END_ADDR(515)에 도착하면, 6단계로 진행하여 다시 0(405)에서부터 쓰기 동작을 수행하는 어드레싱이 이루어진다.
CPU가 0x1000번지에 데이터 읽기를 수행할 경우 수신 FIFO 영역의 7단계에서 마지막 어드레스(RAM_END_ADDR)부터 데이터를 읽기 시작하여, 8단계에서 어드레스 번호를 순차적으로 감소하며 읽어나간다. 9단계에서 일정영역의 읽기동작 이후에 inter-address of RX(525)를 확인한 다음, 10단계에서 순차적으로 어드레스 번호를 감소해가며 읽기동작을 수행하여 11단계에서 TX_END_ADDR+1번지까지 읽기동작을 수행하였다면, 다음 읽기 동작을 위한 어드레스는 RAM_END_ADDR(520)부터 어드레싱이 이루어지는 것이다.
도 6은 본 발명의 바람직한 실시예에 따른 재설정 가능한 송수신 FIFO에서의 송수신 어드레싱 동작을 도시한 흐름도이다.
상기 도 6을 참조하면, 605단계에서 제 1인터페이스 로직으로부터 입력받은 신호가 송신할 신호인지를 확인하여, 송신할 신호인 경우는 610단계로 진행하여 상기 입력받은 송신할 데이터를 어드레스 0부터 순차적으로 할당한다. 상기와 같은 순차적 할당 후에 615단계에서 마지막 송신 어드레스에 도달하였다면, 상기 610단계로 복귀하여 어드레스 0부터 할당하여 순차적으로 어드레싱을 다시 진행한다. 그 러나 마지막 송신 어드레스까지 할당이 되지 않았다면, 620단계로 진행하여 다음 어드레스 번호(+1)에 데이터를 할당한다. 625단계에서 모든 송신할 신호데이터에 대한 모든 에드레싱을 수행하였다면, 630단계로 진행하여 제 1인터페이스 로직으로 송신할 데이터를 전송한다. 그러나 모든 송신데이터 할당이 되지 않은 경우라면, 상기 615단계로 복귀한다.
한편 상기 605단계에서 입력된 신호가 수신된 신호라면, 635단계로 진행하여 입력받은 수신한 데이터를 RAM의 마지막 어드레스, 즉 FIFO의 마지막 어드레스부터 어드레스를 감소시키며 할당한다. 이후 640단계에서 마지막 송신 어드레스 +1에 도달하였다면, 상기 635단계로 복귀하여 RAM의 마지막 어드레스부터 번호를 감소하여 할당한다. 그러나 마지막 송신어드레스 +1에 도달하지 못했다면, 645단계로 진행하여 계속해서 감소된 어드레스 번호(-1)에 데이터를 할당한다. 650단계에서 모든 수신한 데이터를 할당하였다면, 제 2인터페이스 로직으로 송신한 읽기 데이터를 전송하고, 모든 수신한 데이터가 할당된 상태가 아니라면, 상기 640단계로 진행하여 모두 할당될 때까지 에드레싱을 수행한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명은, Tx와 Rx FIFO 사이즈를 가변적으로 조정하여 메모리 사용 효율을 높이며, 칩의 메모리 공간을 줄이고, 2개의 RAM을 하나로 합쳐서 DFT 로직을 줄이고, 레이아웃 노력을 감소시켜서 이에 따르는 공정 지연요소를 제거할 수 있으며, CPU가 하나의 주소로 송수신 데이터를 리드/라이트 할 수 있고, 메모리 사용 효율이 높기 때문에 CPU 부하를 감소시킬 수 있는 효과가 있다.

Claims (5)

  1. 광대역 스테레오 코덱 인터페이스부 내의 송수신 선입선출 메모리부의 이용 장치에 있어서,
    광대역 스테레오 코덱과 음성 및 오디오 데이터를 송수신하며, 송신을 위해 생성된 어드레스 및 제어신호와, 수신을 위해 생성된 어드레스 및 제어신호와 쓰기 데이터 신호를 발생하는 제 1인터페이스 로직부와,
    상기 제 1인터페이스 로직부로부터 전달되는 상기 송수신 신호들을 미리 입력된 토글신호에 따라 번갈아가며 출력하는 다중화기와,
    미리 설정된 마지막 송신 어드레스로 구분되는 송신영역 및 수신 영역으로 구성되며, 상기 다중화기로부터 출력된 상기 송수신신호에 따라 상기 각 영역마다 읽기/쓰기를 수행하여, 송신할 읽기데이터는 상기 제 1인터페이스부로 전달하고, 수신한 읽기 데이터를 출력하는 송수신 선입선출 메모리부와,
    상기 송수신 선입선출 메모리부로부터 상기 읽기 데이터를 전달받아 버스를 통해 CPU로 전달하고, 상기 CPU로부터 상기 버스를 통해 전달받은 데이터를 쓰기 데이터로서 해당하는 제어신호 및 어드레스 신호와 함께 상기 송수신 선입선출 메모리부로 전달하는 제 2인터페이스 로직부와,
    상기 제 1인터페이스 로직부와, 상기 제 2 인터페이스 로직부는,
    상기 송수신영역이 거의 가득차거나 또는 텅비어가는 경우의 데이터 개수를 나타내는 파라미터값들을 저장하고 있는 제어 레지스터들을 구비하며, 상기 제 1내 지 제2인터페이스 로직부에 각각 입력되는 읽기데이터들이 상기 저장된 파라미터 값에 도달하면 상기 각 파라미터값에 따른 인터럽트 신호를 상기 CPU로 발생시키는 것을 특징으로 하는 송수신 선입선출 메모리부의 이용 장치.
  2. 제 1 항에 있어서, 상기 송수신 선입선출 메모리부는,
    입력받은 신호가 송신할 쓰기 데이터인 경우는, 상기 송신할 쓰기 데이터를 상기 송신 영역의 어드레스 0부터 상기 마지막 송신 어드레스까지 저장하고, 상기 마지막 송신 어드레스 이후 상기 어드레스 0부터 다시 저장하기 시작하며,
    상기 입력받은 신호가 수신한 쓰기 데이터인 경우는, 상기 수신된 쓰기 데이터를 상기 수신영역의 마지막 수신 어드레스부터 상기 마지막 송신 어드레스+1까지 저장하고, 상기 마지막 송신 어드레스+1 이후 상기 마지막 수신 어드레스부터 다시 저장하기 시작하는 것을 특징으로 하는 송수신 선입선출 메모리부의 이용 장치.
  3. 제 1항에 있어서, 상기 미리 설정된 마지막 송신 어드레스는,
    송수신 데이터량에 따라 설정됨을 특징으로 하는 송수신 선입선출 메모리부의 이용 장치.
  4. 광대역 스테레오 코덱 인터페이스부내의 미리 설정된 마지막 송신 어드레스로 구분되는 송신영역 및 수신 영역으로 구성되는 송수신 선입선출 메모리의 이용 방법에 있어서,
    입력된 신호가 송신할 쓰기 데이터인 경우, 상기 송신할 쓰기 데이터를 어드레스 0부터 미리 설정된 마지막 송신 어드레스까지 저장하고, 상기 마지막 송신 어드레스 이후, 상기 어드레스 0부터 다시 저장하는 과정과,
    모든 송신할 쓰기 데이터를 저장한 경우, 송신할 읽기 데이터를 출력하는 과정과,
    상기 입력된 신호가 수신한 쓰기 데이터인 경우는, 상기 수신된 쓰기 데이터를 상기 수신영역의 마지막 수신 어드레스부터 상기 마지막 송신 어드레스+1까지 저장하고, 상기 마지막 송신 어드레스+1 이후, 상기 마지막 수신 어드레스부터 다시 저장하는 과정과,
    상기 모든 수신 데이터를 저장하였다면, 상기 수신된 쓰기 데이터를 읽기 데이터로 출력하는 과정을 포함하는 것을 특징으로 하는 송수신 선입선출 메모리부의 이용 방법.
  5. 제 4항에 있어서, 상기 미리 설정된 마지막 송신 어드레스는,
    송수신 데이터량에 따라 설정됨을 특징으로 하는 송수신 선입선출 메모리부의 이용 방법.
KR1020050116009A 2005-11-30 2005-11-30 광대역 스테레오 코덱 인터페이스에서 송수신 선입선출 구조를 통해 데이터 통신하는 방법 및 장치 KR101168095B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050116009A KR101168095B1 (ko) 2005-11-30 2005-11-30 광대역 스테레오 코덱 인터페이스에서 송수신 선입선출 구조를 통해 데이터 통신하는 방법 및 장치
US11/606,354 US7746871B2 (en) 2005-11-30 2006-11-30 Method and apparatus for communicating data using TX/RX FIFO structure in a wideband stereo codec interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050116009A KR101168095B1 (ko) 2005-11-30 2005-11-30 광대역 스테레오 코덱 인터페이스에서 송수신 선입선출 구조를 통해 데이터 통신하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20070056864A true KR20070056864A (ko) 2007-06-04
KR101168095B1 KR101168095B1 (ko) 2012-07-24

Family

ID=38224314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050116009A KR101168095B1 (ko) 2005-11-30 2005-11-30 광대역 스테레오 코덱 인터페이스에서 송수신 선입선출 구조를 통해 데이터 통신하는 방법 및 장치

Country Status (2)

Country Link
US (1) US7746871B2 (ko)
KR (1) KR101168095B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590520A (zh) * 2021-06-15 2021-11-02 珠海一微半导体股份有限公司 Spi系统自动写入数据的控制方法及spi系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8681526B2 (en) * 2008-07-02 2014-03-25 Cradle Ip, Llc Size and retry programmable multi-synchronous FIFO
US9722614B2 (en) * 2014-11-25 2017-08-01 Qualcomm Incorporated System and method for managing pipelines in reconfigurable integrated circuit architectures

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6179489B1 (en) * 1997-04-04 2001-01-30 Texas Instruments Incorporated Devices, methods, systems and software products for coordination of computer main microprocessor and second microprocessor coupled thereto
KR100505689B1 (ko) * 2003-06-11 2005-08-03 삼성전자주식회사 송수신 흐름에 따라 공유 버퍼 메모리의 할당량을제어하는 송수신 네트워크 제어기 및 그 방법
US7443978B2 (en) * 2003-09-04 2008-10-28 Kabushiki Kaisha Toshiba Method and apparatus for audio coding with noise suppression
JP2005157444A (ja) * 2003-11-20 2005-06-16 Toshiba Corp Fifo制御回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590520A (zh) * 2021-06-15 2021-11-02 珠海一微半导体股份有限公司 Spi系统自动写入数据的控制方法及spi系统
CN113590520B (zh) * 2021-06-15 2024-05-03 珠海一微半导体股份有限公司 Spi系统自动写入数据的控制方法及spi系统

Also Published As

Publication number Publication date
US7746871B2 (en) 2010-06-29
US20070153786A1 (en) 2007-07-05
KR101168095B1 (ko) 2012-07-24

Similar Documents

Publication Publication Date Title
US7929518B2 (en) Method and system for a gigabit Ethernet IP telephone chip with integrated DDR interface
US20070115939A1 (en) Network on chip system employing an advanced extensible interface protocol
US6920510B2 (en) Time sharing a single port memory among a plurality of ports
US6526068B2 (en) Interface control of communication between a control processor and a digital signal processor
CN109522257B (zh) 通用串行总线集线器
TW201839763A (zh) 平行存取多個快閃記憶體的控制架構
KR100285967B1 (ko) 플래쉬 메모리를 이용한 데이터 저장장치 및 방법
US7191262B2 (en) High-throughput UART interfaces
KR20070056864A (ko) 광대역 스테레오 코덱 인터페이스에서 재설정 가능한송수신 선입선출 구조의 이용 방법 및 장치
TWI423119B (zh) 外接式音訊裝置與訊號處理方法
TW457792B (en) System and method for context switching in an electronic network
CN112328523B (zh) 传输双倍速率信号的方法、装置及系统
KR20040106665A (ko) 송수신 흐름에 따라 공유 버퍼 메모리의 할당량을제어하는 송수신 네트워크 제어기 및 그 방법
JP2005084907A (ja) メモリ帯域制御装置
AU2002331837A1 (en) Serial communication device with dynamic filter allocation
US6766423B2 (en) Message-based memory system for DSP storage expansion
US10433060B2 (en) Audio hub and a system having one or more audio hubs
US20080320178A1 (en) DMA transfer apparatus
CN111930648B (zh) 一种缓存配置方法、装置及电子设备和存储介质
US11537544B2 (en) Communicating non-isochronous data over an isochronous channel
AU624745B2 (en) Packet/fast packet switch for voice and data
CN116048893B (zh) 光纤总线接口的测试方法及相关设备
KR0181485B1 (ko) 데이터 통신용 데이터 버퍼링 장치
KR20050060688A (ko) 고속 시리얼라인을 이용한 유엠티에스 기지국의 이중화버스제어장치
KR20080028064A (ko) 통신 시스템에서 메모리 확장 장치

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
LAPS Lapse due to unpaid annual fee