KR100812710B1 - 제어 버스를 이용한 통신 방법 및 장치 - Google Patents

제어 버스를 이용한 통신 방법 및 장치 Download PDF

Info

Publication number
KR100812710B1
KR100812710B1 KR1020060112458A KR20060112458A KR100812710B1 KR 100812710 B1 KR100812710 B1 KR 100812710B1 KR 1020060112458 A KR1020060112458 A KR 1020060112458A KR 20060112458 A KR20060112458 A KR 20060112458A KR 100812710 B1 KR100812710 B1 KR 100812710B1
Authority
KR
South Korea
Prior art keywords
command
slave
baseband unit
control bus
bus
Prior art date
Application number
KR1020060112458A
Other languages
English (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 KR1020060112458A priority Critical patent/KR100812710B1/ko
Application granted granted Critical
Publication of KR100812710B1 publication Critical patent/KR100812710B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)

Abstract

제어 버스를 이용한 통신 방법 및 장치가 개시된다. 본 발명의 바람직한 일 실시예에 따르면, 베이스밴드부가 I2C 장치와 연결되도록 하는 제어 버스를 이용하여 통신하는 방법에 있어서, I2C 장치에 포함되는 슬레이브가 ACK(Acknowledge) 신호를 발생하는지 판단하고, 슬레이브에서 ACK 신호가 발생하는 경우 명령어를 전달하되, ACK 신호는 I2C 장치가 베이스밴드부가 전달한 명령어에 상응하는 동작을 수행하지 않는 경우 발생되는 것을 특징으로 하는 제어 버스를 이용한 통신 방법이 제공된다.
본 발명에 따르면, 명령어 전달을 위한 추가적인 작업없이 간단하게 명령어의 전달이 가능하여 제어 버스를 포함하는 디지털 장치 전체의 속도가 느려지지 않는 장점이 있다.
제어버스, I2C, ACK, NAK, 마스터, 슬레이브

Description

제어 버스를 이용한 통신 방법 및 장치{Method and apparatus for communication using control bus}
도 1은 종래의 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 도시한 순서도.
도 2는 종래의 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과정을 도시한 도면.
도 3은 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치의 구성을 예시한 도면.
도 4는 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 도시한 순서도.
도 5는 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과정을 도시한 도면.
본 발명은 제어 버스를 이용한 통신 방법 및 장치에 관한 것으로서, 보다 상세하게는 보다 효율적이고 간단하게 제어 신호를 전달할 수 있는 제어 버스를 이용한 통신 방법 및 장치에 관한 것이다.
제어 버스란 제어 신호(예를 들어, 명령어 등)를 송수신하기 위한 버스를 말하며, 제어 버스는 예를 들어 I2C 버스 또는 동종의 버스일 수 있다.
이하의 설명에서는 제어 버스 중 가장 일반적인 I2C 버스를 기준으로 설명한다.
I2C 버스란, Inter-IC(Integrated Circuit) 라고도 불리우며, 집적 회로들 간의 통신 링크를 제공하는 두 가닥 선의 양방향 직렬 버스이다.
일반적으로 I2C 또는 I2C 버스로 지칭되며 현재 디지털 장치들의 내부 컴퓨팅 기능이 포함되는 Embedded System 구현을 위한 사실상의 표준으로 널리 사용되고 있다.
본 명세서에서 I2C 장치란 베이스밴드부에 제어 버스를 통해 연결되고, 제어 버스를 통해 수신되는 제어 신호에 의해 제어되는 종속 모듈로, 특히 디지털 장치에 포함되어 다른 구성 요소들과 통신을 수행하는 장치를 말한다.
또한 I2C 장치라고 칭하였으나 I2C 버스 외의 다른 제어 버스를 사용할 수 있으며 바람직하게는 장치나 기기의 형태가 아닌 칩(chip)의 형태로 구현될 수 있다.
이러한 I2C 버스를 이용하여 제어 신호를 주고 받는 I2C 버스를 포함하는 디지털 장치에서 베이스밴드부는 I2C 버스를 통해 제어 신호인 명령어를 I2C 장치에 전달한다.
한편, I2C 장치에는 I2C 마스터와 I2C 슬레이브와의 통신을 위한 버퍼(buffer)인 I2C 레지스터 맵이 포함되며, I2C 레지스터 맵에는 I2C 장치의 상태를 나타내는 값인 I2C 상태 레지스터가 포함된다.
I2C 상태 레지스터는 일반적으로 읽기 전용(read-only) 속성으로서, 베이스밴드부에서 직접 수정할 수 없으나, 명령어의 처리 과정에 따라 변경되기도 하고, 어떤 지정된 명령어로 인해 그 상태를 변경할 수 있다.
I2C 버스를 포함하는 디지털 처리 장치에서 I2C 버스를 이용하여 제어 신호를 주고 받는 I2C 통신 과정을 도 1을 참조하여 살펴본다.
도 1은 종래의 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 도시한 순서도이다.
도 1에 도시된 바와 같이, 종래의 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정은 먼저 베이스밴드부에서 I2C 장치 내의 I2C 상태 레지스터의 값을 읽고(S100), 읽은 I2C 상태 레지스터의 값에 따라 명령어의 전달이 가능한 상태인지 판단한다(S102).
명령어의 전달이 가능한 상태인지 여부의 판단은 도 1에 예시된 바와 같이 I2C 상태 레지스터의 값이 'BUSY'(즉, 다른 명령어를 수행 중인 상태를 나타냄)를 나타내면 다시 단계 S100으로 돌아가 I2C 상태 레지스터의 값이 'BUSY'인지 여부를 계속 판단하게 된다.
그러나 I2C 상태 레지스터의 값이 'BUSY'가 아니라면, 어떠한 다른 명령도 수행하지 않고 있는 상태를 나타낸다.
따라서, 만일 어떠한 명령어도 수행하지 않는 상태라면 이를 표시할 수 있도록 I2C 장치는 먼저 I2C 상태 레지스터 값을 'READY'로 전환한다(S104).
그리고 베이스밴드부는 다시 I2C 상태 레지스터의 값을 읽어(S106) 다시 읽어 온 I2C 상태 레지스터의 값이 'READY'인지 확인하고(S108), I2C 상태 레지스터의 값이 'READY'인 경우 비로소 명령어를 전달한다(S110).
한편, I2C 장치는 명령어를 전달받으면 I2C 상태 레지스터를 'BUSY'값으로 변경하고, 명령어의 수행이 끝나면 I2C 레지스터의 값을 'INIT'로 변경한다.
I2C 상태 레지스터가 READY, BUSY의 두 가지 값만을 사용하지 않고 INIT, READY, BUSY의 세 가지 상태의 값을 사용하는 이유는 명령 처리 부분 진입 전의 상태(READY)와 명령 처리 후의 상태(INIT)를 명확하게 구분하기 위한 것이다.
도 1에 도시된 바와 같이, I2C 버스를 이용한 명령어의 전달 과정에서 실제 명령어를 전송하기 위해서는 단계100에서 단계102와 단계106에서 단계108의 각각 2번의 폴링(polling) 과정이 필요하다. 이로 인하여 I2C를 통해 명령을 전달 하는 과정에서 오버헤드가 발생하다.
도 2를 참조하여 종래의 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과정을 보다 상세하게 살펴본다.
도 2는 종래의 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과정을 도시한 도면이다.
도 2에서 I2C Byte Write는 I2C 버스를 통하여 하나의 데이터를 쓰는 명령어이고, I2C Sequential Write는 I2C 버스를 통하여 여러 개의 데이터를 연속적으로 쓰는 명령어이다.
또한, I2C Byte Read는 I2C 버스를 통하여 하나의 데이터를 읽는 명령어이고, I2C Sequential Read는 I2C 버스를 통하여 여러 개의 데이터를 연속적으로 읽는 명령어이다.
도 2에서, 'Start'와 'Stop'은 I2C 통신의 시작, 끝을 알려주는 신호가 출력되는 부분이고 'Device ID', 'Address', 'Data' 및 'Read'는 I2C 버스를 통하여 실제로 읽기 또는 쓰기 동작이 수행되는 부분이다.
읽기 명령어(I2C Byte Read, I2C Sequential Read)에서 'Restart'는 먼저 읽기 명령어를 전달한 장치의 식별자(Device ID)와 읽어 올 데이터의 주소(Address)를 전송받고 읽어 올 데이터가 다시 전송될 수 있도록 I2C 통신이 계속되게 하기 위한 부분이다.
한편, 전달된 명령어에 따라 실제 읽기 또는 쓰기 동작이 수행되는 부분에서는 'Device ID', 'Address', 'Data' 및 'Read'에서는 항상 ACK(Acknowledgement) 신호가 발생해야 정상적인 I2C 통신이 이루어진다.
반면, NAK(Negative-Acknowledgement) 신호가 발생하게 되면 I2C 장치에서 어떤 문제로 인하여 정상 동작하지 못하는 경우이므로 베이스밴드부는 ACK 신호가 발생할 때까지 I2C 장치로 명령어의 전달을 위한 연결을 계속하여 시도하거나, I2C 장치에서 I2C 통신 자체에 대한 오류를 베이스밴드부로 전달하여야 한다.
즉, 먼저 I2C 상태 레지스터의 값에 따라 I2C 장치가 다른 명령어를 수행하고 있는지 여부를 판단하여 I2C 장치로 명령어를 전달하고, ACK 신호와 NAK 신호에 따라 베이스밴드부와 I2C 장치간에 통신이 가능한지 판단하여 명령어를 실제로 수행하는 것이다.
따라서 먼저 도 1에서 살펴본 바와 같이 종래의 I2C 통신에서의 명령어 전달은 명령어를 전송할 때마다 명령어 전달을 위한 I2C 상태 레지스터의 값을 확인하는 폴링(polling)이 추가적으로 필요하고 또한, 도 2에서 살펴본 바와 같이 I2C 장치와의 통신이 가능한지 판단하는 등 추가적인 작업인 발생하는 오버헤드(overhead)가 발생되는 문제점이 있다.
그리고, 명령어 전달을 위한 추가적인 작업으로 인하여 명령어의 전달이 느려지고 I2C 버스를 포함하는 디지털 장치 전체의 속도가 느려지는 문제점이 있다.
상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 제어 버스의 통신에서의 명령어를 전송할 때 마다 명령어 전달을 위한 추가적인 작업이 필요없는 제어 버스를 이용한 통신 방법 및 장치를 제안하는 것이다.
또한, 본 발명은 명령어 전달을 위한 추가적인 작업없이 간단하게 명령어의 전달이 가능하여 제어 버스를 포함하는 디지털 장치 전체의 속도가 느려지지 않는 제어 버스를 이용한 통신 방법 및 장치를 제안하는 것이다.
본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 제어 버스를 이용한 통신 방법이 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 베이스밴드부가 I2C 장치와 연결되도록 하는 제어 버스를 이용하여 통신하는 방법에 있어서, 상기 I2C 장치에 포함되는 슬레이브가 ACK(Acknowledge) 신호를 발생하는지 판단하는 단계(a); 및 상기 슬레이브에서 ACK 신호가 발생하는 경우 명령어를 전달하는 단계(b)를 포함하되, 상기 ACK 신호는 상기 I2C 장치가 상기 베이스밴드부가 전달한 명령어에 상응하는 동작을 수행하지 않는 경우 발생되는 것을 특징으로 하는 제어 버스를 이용한 통신 방법이 제공된다.
상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스일 수 있다.
상기 명령어가 전달된 경우 상기 I2C 장치는 상기 슬레이브에서 NAK(Non-Acknowledge) 신호가 발생하게 할 수 있으며, 상기 전달된 명령어가 읽기 명령어인 경우 상기 I2C 장치는 상기 슬레이브에서 다시 ACK 신호를 발생하게 하고, 상기 베이스밴드부에 포함되는 마스터는 상기 ACK 신호에 따라 데이터를 독출할 수 있다.
또한, 상기 독출되는 데이터는 상기 I2C 장치에 포함되는 I2C 레지스터 맵에 기록된 데이터일 수 있다.
본 발명의 다른 측면에 의하면, 제어 버스를 이용한 통신 방법을 구현하기 위한 프로그램을 기록한 기록 매체가 제공된다.
본 발명의 바람직한 일 실시예에 따르면, 제어 버스를 이용한 베이스밴드부와의 통신 방법을 수행하기 위해 상기 제어 버스틀 통해 상기 베이스밴드부에 결합된 I2C 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 I2C 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서, 명령어 처리 동작을 수행하지 않는 경우 상기 I2C 장치에 포함된 슬레이브가 상기 베이스밴드부로 ACK(Acknowledge) 신호를 출력하도록 제어하는 단계(a); 상기 ACK 신호에 따라 상기 베이스밴드부에 포함되는 마스터로부터 상기 슬레이브를 통해 명령어를 전달받는 단계(b); 상기 전달된 명령어가 읽기 명령어인지 판단하는 단계(c); 및 상기 판단 결과 읽기 명령어인 경우 상기 I2C 장치에 포함되는 메모리로부터 데이터를 독출하고, 상기 슬레이브에서 ACK 신호를 발생하게 하는 단계(d)를 포함하는 것을 특징으로 하는 제어 버스를 이용한 통신 방법을 구현하기 위한 프로그램을 기록한 기록 매체가 제공된다.
상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스일 수 있다.
상기 상기 전달된 명령어가 읽기 명령어인지 판단하는 단계는 상기 명령어를 구성하는 영역 중 주소 영역 다음에 위치하는 영역의 종류에 따라 판단할 수 있다.
본 발명의 또 다른 측면에 의하면, 제어 버스를 이용한 통신 장치가 제공된 다.
본 발명의 바람직한 일 실시예에 따르면, 제어 버스를 통해 명령어를 전달하고 명령어의 수행 결과를 독출하는 베이스밴드부; 및 상기 베이스밴드부로부터 명령어를 수신하고 상기 명령어의 수행 결과를 기록하는 I2C 장치를 포함하되, 상기 베이스밴드부는 상기 I2C 장치에 포함된 슬레이브로부터 ACK(Acknowledgement) 신호가 입력되는 경우 상기 명령어를 전달하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치가 제공된다.
상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스일 수 있다.
상기 명령어가 전달된 경우 상기 슬레이브는 상기 베이스밴드부로 NAK(Negative-Acknowledgement) 신호를 출력할 수 있으며, 상기 I2C 장치는 상기 전달된 명령어가 읽기 명령어인 경우 상기 슬레이브가 다시 ACK 신호를 출력하게 하고, 상기 베이스밴드부는 상기 ACK 신호에 따라 상응하는 데이터를 독출할 수 있다.
또한, 상기 I2C 장치는 상기 전달된 명령어를 구성하는 영역 중 주소 영역 다음에 위치하는 영역의 종류에 따라 읽기 명령어인지를 판단할 수 있다.
상기 I2C 장치는 상기 전달받은 명령어에 따른 동작을 수행하는 프로세서(processor)를 포함할 수 있다.
상기 I2C 장치는 상기 명령어의 수행 결과를 기록하는 I2C 레지스터 맵을 포함할 수 있다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호 를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
먼저 도 3을 참조하여 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치의 구성을 살펴 본다.
도 3은 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치의 구성을 예시한 도면이다.
도3에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치는 크게 베이스밴드부(300)와 I2C 장치(310)를 포함할 수 있다.
전술한 바와 같이 본 명세서에서 I2C 장치(310)란 베이스밴드부(300)에 제어 버스를 통해 연결되고, 제어 버스를 통해 수신되는 제어 신호에 의해 제어되는 종속 모듈로 특히 디지털 장치에 포함되어 다른 구성 요소들과 통신을 수행하는 장치를 말한다.
또한, I2C 장치(310)라고 칭하였으나 I2C 버스 외의 다른 제어 버스가 사용되어 그 명칭이 달라질 수 있으며 바람직하게는 장치나 기기의 형태가 아닌 칩(chip)의 구현될 수 있다.
먼저 베이스밴드부(300)는 베이스밴드 프로세서(302), 메모리(304), I2C 마스터(306)를 포함할 수 있으며, I2C 장치(310)는 I2C 슬레이브(312), I2C 레지스터 맵(314), 프로세서(316), 메모리(318)를 포함할 수 있다.
베이스밴드부(300)에 포함되는 베이스밴드 프로세서(302)는 베이스밴드부(300)의 운영을 위한 기본 명령어들을 처리하고 반응하기 위한 논리 회로이다.
베이스밴드부(300)의 메모리(304)는 베이스밴드부(300)에서 수행되는 명령어가 수행되는 영역과 명령어가 수행되면서 사용되는 영역으로 크게 두 가지로 나눌 수 있다.
명령어가 수행되는 영역에 대한 메모리는 주로 플래쉬(flash) 형태가 사용되거나 SRAM(Static Random Access Memory) 또는 SDRAM (Synchronous Dynamic RAM) 형태의 메모리가 사용될 수 있으며, 명령어가 수행되면서 사용하는 메모리 영역은 주로 SRAM 또는 SDRAM 형태의 메모리가 사용될 수 있으나 이에 한정되는 것은 아니다.
I2C 마스터(306)는 I2C 장치와의 통신을 위한 것으로 읽기 또는 쓰기와 같은 명령어의 전달은 I2C 마스터(306)에 의해 수행된다.
I2C 장치(310)는 베이스밴드부(300)와의 통신을 위한 통로로 I2C 버스를 사용하고 있으며, 베이스밴드부(300)와 I2C 장치(310)는 I2C 마스터(306)와 I2C 슬레이브(312)를 통해 서로 연결된다.
I2C 레지스터 맵(314)은 I2C 마스터(306)와 I2C 슬레이브(312)간의 통신을 위한 버퍼(buffer)로 I2C 마스터(306)로부터 전달받거나 전달하고자 하는 내용을 저장할 수 있는 공간이다.
I2C 마스터(306)가 I2C 슬레이브(312)에 명령어를 전달할 때에는 전달하고자 하는 데이터와 그 데이터를 저장할 주소 정보를 함께 전송하고 주소 정보와 데이터는 I2C 레지스터 맵(314)에 저장된다.
종래의 I2C 마스터(306)가 I2C 슬레이브(312)에 명령어를 전달할 때에는 먼 저 I2C 레지스터 맵(314)에 I2C 장치(310)가 동작(예를 들어, 명령어 처리 동작 등)하는지 여부를 나타내는 특정 값이 I2C 레지스터 맵(314)의 특정 영역에 기록되어 있는지 판단하여 명령어를 전달한다.
이러한 I2C 레지스터 맵(314)의 특정 값을 I2C 상태 레지스터라고 하며 종래에는 I2C 상태 레지스터의 값이 I2C 장치(310)가 명령어를 수행하지 않고 있는 상태를 나타내는 특정한 값인 경우에만 명령어가 I2C 마스터(306)로부터 I2C 슬레이브(312)에 전달한다.
그러나 본 발명에서는 I2C 레지스터 맵(314)의 특정 값에 관계없이 I2C 슬레이브(312)에서 발생되는 ACK(Acknowledgement) 또는 NAK(Negative-Acknowledgement) 신호만을 이용하여 I2C 장치(310)는 명령어를 전달받아 수행한다.
일반적으로 ACK 또는 NAK 신호는 오류 검출 신호로서 명령어 또는 데이터를 주고 받을 때 수신 측에서 명령어 또는 데이터의 수신이 성공적으로 이루어진 경우 ACK 신호를 발생한다.
그러나 명령어나 데이터의 수신이 제대로 수행되지 못한 경우 NAK 신호를 발생하여 원래의 명령어나 데이터를 재전송하도록 하게 하는 신호이다.
본 발명에서는 이러한 ACK와 NAK 신호를 이용하여 I2C 장치(310)로 명령어가 전송되도록 한다.
ACK 또는 NAK신호를 이용한 I2C 장치(310)의 명령어를 수신하는 과정과 수신된 명령어에 따른 동작 수행 과정은 도 4와 도 5의 설명에서 보다 상세하게 살펴보 기로 한다.
I2C 장치(310)에 포함되는 프로세서(316)는 I2C 장치(310)의 운영을 위한 기본 명령어들을 처리하고 반응하기 위한 논리 회로이며, 또한 I2C 슬레이브(312)에 전달된 명령어들을 처리한다.
I2C 장치(310)의 메모리(220)는 베이스밴드부(300)에 포함되는 메모리(304)와 마찬가지로 명령어가 수행되는 영역과, 명령어가 수행되면서 사용되는 영역으로 크게 두 가지로 나눌 수 있다.
또한, 명령어가 수행되는 영역에 대한 메모리는 플래쉬(flash) 형태가 사용되거나 SRAM(Static Random Access Memory) 또는 SDRAM (Synchronous Dynamic RAM) 형태의 메모리가 사용될 수 있으며, 명령어가 수행되면서 사용하는 메모리 영역은 SRAM 또는 SDRAM 형태의 메모리가 사용될 수 있으나 이에 한정되는 것은 아니다.
한편, 전술한 바와 같이 읽기 또는 쓰기 동작이 수행되는 부분에서는 I2C 장치(310)가 ACK(Acknowledgement) 신호가 발생해야 정상적인 I2C 통신이 이루어진다.
반면, NAK(Negative-Acknowledgement) 신호의 발생은 I2C 장치(310)가 어떤 문제로 인하여 정상 동작하지 못하는 경우를 나타낸다.
본 발명에서는 이러한 ACK 신호와 NAK 신호만을 이용하여 종래의 I2C 상태 레지스터의 값을 읽지 않고도 I2C 장치(310)로 명령어를 전달하여 수행할 수 있게 한다.
이를 위하여 먼저 I2C 장치(310)가 명령어를 수행 중일 때에는 NAK 신호를 출력하게 하고, I2C 장치(310)가 명령어를 수행하고 있지 않는 경우에는 ACK 신호를 출력하게 한다.
즉, I2C 장치(310)에서의 명령어의 처리는 I2C 장치(310)에 포함되는 프로세서(316)에서 수행되므로 프로세서(316)가 명령어를 수행 중인 경우 I2C 슬레이브(312)에서 NAK 신호를 발생하게 한다.
반면, 프로세서(316)가 명령어를 수행하지 않고 있는 경우 I2C 슬레이브(312)에서 ACK 신호를 발생하게 하는 것이다.
이러한 특징을 이용한 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법에 의한 명령어의 전달 과정을 도 4를 참조하여 살펴본다.
도 4는 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 도시한 순서도이다.
도 4에 도시된 바와 같이 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정은 먼저 I2C 마스터(306)에서 I2C 장치(310, 보다 상세하게는 I2C 슬레이브(312))로 명령어를 전달을 시도하고(S400), I2C 슬레이브(312)가 ACK 신호를 발생하고 있는 경우에만 최종적으로 명령어를 전달한다(S402).
반면, I2C 슬레이브(312)가 ACK 신호를 발생하고 있지 않는 경우(즉 NAK 신호를 발생하고 있는 경우)라면 다시 I2C 마스터(306)에서 I2C 슬레이브(312)로 명 령어의 전달을 시도한다.
도 1의 종래의 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정과 비교하여 도 4의 본 발명에 의한 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정이 단순하게 됨을 알 수 있다.
즉 본 발명은 종래의 I2C 통신에서는 기본적으로 ACK/NAK신호를 통하여 현재 통신이 가능한 상태인지 아닌지를 판단할 수 있는 기준으로만 사용하는 것이 아니라 현재 I2C를 통해서 들어온 명령을 처리하고 있는 중인지 아닌지를 판단하는 기준이 되도록 사용하여 I2C 버스를 포함하는 디지털 장치에서 명령어의 전달 과정을 단순하게 하는 것이다.
한편, I2C 슬레이브(312)의 최초의 상태는 I2C 명령에 대한 응답에 ACK 신호를 내보내도록 설정하고, 하나의 명령어가 전달되었을 경우, 그 명령어에 대한 기본적인 처리가 완료될 때까지, I2C 슬레이브(312)가 NAK 신호를 발생하도록 한다.
이러한 방법에 의하면 I2C 장치(310)가 하나의 명령어를 처리하는 동안 I2C 통신 자체가 정상적으로 동작하지 못하기 때문에, 명령어의 처리 도중에 다른 명령어가 수행될 수 없게 되어 I2C 장치(310)가 정상적인 명령어의 처리가 가능하게 된다.
하나의 명령어에 대한 처리가 완료되면, I2C 슬레이브(312)를 ACK 신호를 발생하도록 하여 다음 명령을 전달받을 수 있는 상태로 만든다.
한편, I2C 마스터(306)를 통해 명령어를 전달받아 전달받은 명령어를 I2C 장 치에서 수행하는 경우 I2C 슬레이브(312)를 무조건 NAK 상태로 두는 것이 아니라 명령어에 따라 다르게 판단하도록 할 수 있다.
I2C 장치(310)에서 처리된 데이터를 읽어 오는 명령어가 I2C 슬레이브(312)에 전달된 경우 명령어를 전달받은 후 I2C 슬레이브(312)를 NAK 상태로 두면 I2C 마스터(306)와 I2C 슬레이브(312)간의 통신이 불가능하므로 I2C 마스터(306)는 I2C 레지스터 맵(314)에서 원하는 데이터를 독출할 수 없게 되기 때문이다.
반면, 명령어를 전달받아 I2C 장치(310) 내에서 데이터를 처리하는 예를 들면, 쓰기와 같은 명령어를 전달받은 경우에는 명령어를 전달받은 후 명령어의 수행이 완료될 때까지 I2C 마스터(306)와 I2C 슬레이브(312)간에 다른 통신이 필요하지 않으므로 I2C 슬레이브(312)를 계속 NAK 상태로 두어도 될 것이다.
따라서, I2C 버스를 통해 명령어를 전달받은 경우 I2C 슬레이브(312)를 계속적으로 NAK 상태로 변환하여 유지하는 것이 아니라 전달받은 명령어가 읽기 명령어인지 쓰기 명령어인지 판단하여, I2C 마스터(306)와 I2C 슬레이브(312)간에 명령어 전달 후 다른 통신이 필요없는 쓰기 명령어에서만 I2C 슬레이브(312)에서 계속적으로 NAK 신호가 발생하도록 하고 명령어의 수행이 완료되면 ACK 신호가 발생하도록 한다.
이러한 전달받은 명령어에 따라 I2C 슬레이브(312)에서 ACK/NAK 신호가 발생하도록 하게 하는 과정을 도 5를 참조하여 보다 상세하게 살펴본다.
도 5는 본 발명의 바람직한 일 실시예에 따른 제어 버스를 이용한 통신 방법이 적용되는 I2C 버스를 포함하는 디지털 장치에서 각각의 명령어에 따른 통신 과 정을 도시한 도면이다.
도 5에서 I2C Byte Write는 I2C 버스를 통하여 하나의 데이터를 쓰는 명령어이고, I2C Sequential Write는 I2C 버스를 통하여 여러 개의 데이터를 연속적으로 쓰는 명령어이다.
또한, I2C Byte Write는 I2C 버스를 통하여 하나의 데이터를 읽는 명령어이고, I2C Sequential Write는 I2C 버스를 통하여 여러 개의 데이터를 연속적으로 읽는 명령어이다.
도 5의 각각의 명령어에 따른 통신 과정에서 시작 부분은 Start/Device ID/Address로 서로 같다.
도 5에서 도시된 바와 같이 먼저 데이터를 읽기 또는 쓰기 명령어의 수행 과정에서 'Device ID'와 'Address' 부분은 데이터를 전달하거나 전달받을 장치의 식별자와 저장되거나 저장된 데이터의 주소를 나타내는 부분이다.
한편, 쓰기 명령어(I2C Byte Write 또는 I2C Sequential Write)의 경우 'Address' 부분 다음에 'Data'가 위치하므로 I2C 장치(310)는 쓰기 명령어인지 읽기 명령어인지 'Address' 다음에 'Data'가 위치하는지 아닌지에 따라 판단한다.
따라서 실제 데이터가 쓰여지는 과정인 'Data' 부분에서는 I2C 장치(310)가 다른 명령어를 수행하고 있는 경우 NAK 신호를, 다른 명령어를 수행하고 있지 않는 경우에는 ACK 신호를 선택적으로 발생하도록 한다.
반면 다른 부분, 예를 들면 'Device ID'와 'Address' 부분에서는 항상 ACK 신호가 발생하게 하도록 하여 쓰기 명령어에서만 I2C 슬레이브(312)에서 NAK 신호 가 발생할 수 있도록 한다.
이러한 I2C 장치(310) 내에서 데이터를 처리하는 명령어에 따라 ACK 신호와 NAK 신호를 선택적으로 발생하게 함으로써 I2C 레지스터 맵(314)의 I2C 상태 레지스터에 특정 값을 기록하고 이를 읽을 필요없이 I2C 장치(310)에서 명령어를 전달받아 수행할 수 있게 된다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명에 의한 제어 버스를 이용한 통신 방법 및 장치에 의하면, 제어 버스의 통신에서의 명령어를 전송할 때 마다 명령어 전달을 위한 추가적인 작업이 필요없는 장점이 있다.
또한, 명령어 전달을 위한 추가적인 작업없이 간단하게 명령어의 전달이 가능하여 제어 버스를 포함하는 디지털 장치 전체의 속도가 느려지지 않는 장점이 있다.

Claims (15)

  1. 베이스밴드부가 I2C 장치와 연결되도록 하는 제어 버스를 이용하여 통신하는 방법에 있어서,
    상기 I2C 장치에 포함되는 슬레이브가 ACK(Acknowledgement) 신호를 발생하는지 판단하는 단계(a); 및
    상기 슬레이브에서 ACK 신호가 발생하는 경우 명령어를 전달하는 단계(b)를 포함하되,
    상기 ACK 신호는 상기 I2C 장치가 상기 베이스밴드부가 전달한 명령어에 상응하는 동작을 수행하지 않는 경우 발생되는 것을 특징으로 하는 제어 버스를 이용한 통신 방법.
  2. 청구항 2은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스인 것을 특징으로 하는 제어 버스를 이용한 통신 방법.
  3. 제1항에 있어서,
    상기 명령어가 전달된 경우 상기 I2C 장치는 상기 슬레이브에서 NAK(Negative-Acknowledgement) 신호가 발생하게 하는 것을 특징으로 하는 제어 버스를 이용한 통신 방법.
  4. 제3항에 있어서,
    상기 전달된 명령어가 읽기 명령어인 경우 상기 I2C 장치는 상기 슬레이브에서 다시 ACK 신호를 발생하게 하고,
    상기 베이스밴드부에 포함되는 마스터는 상기 ACK 신호에 따라 데이터를 독출하는 것을 특징으로 하는 제어 버스를 이용한 통신 방법.
  5. 제4항에 있어서,
    상기 독출되는 데이터는 상기 I2C 장치에 포함되는 I2C 레지스터 맵에 기록된 데이터인 것을 특징으로 하는 제어 버스를 이용한 통신 방법.
  6. 제어 버스를 이용한 베이스밴드부와의 통신 방법을 수행하기 위해 상기 제어 버스틀 통해 상기 베이스밴드부에 결합된 I2C 장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 I2C 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체에 있어서,
    명령어 처리 동작을 수행하지 않는 경우 상기 I2C 장치에 포함된 슬레이브가 상기 베이스밴드부로 ACK(Acknowledgement) 신호를 출력하도록 제어하는 단계(a);
    상기 ACK 신호에 따라 상기 베이스밴드부에 포함되는 마스터로부터 상기 슬레이브를 통해 명령어를 전달받는 단계(b);
    상기 전달된 명령어가 읽기 명령어인지 판단하는 단계(c); 및
    상기 판단 결과 읽기 명령어인 경우 상기 I2C 장치에 포함되는 메모리로부터 데이터를 독출하고, 상기 슬레이브에서 ACK 신호를 발생하게 하는 단계(d)를 포함하는 것을 특징으로 하는 제어 버스를 이용한 통신 방법을 구현하기 위한 프로그램을 기록한 기록 매체.
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    제6항에 있어서,
    상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스인 것을 특징으로 하는 제어 버스를 이용한 통신 방법을 구현하기 위한 프로그램을 기록한 기록 매체.
  8. 제6항에 있어서,
    상기 단계(c)는,
    상기 명령어를 구성하는 영역 중 주소 영역 다음에 위치하는 영역의 종류에 따라 판단하는 것을 특징으로 제어 버스를 이용한 통신 방법을 구현하기 위한 프로 그램을 기록한 기록 매체.
  9. 제어 버스를 통해 명령어를 전달하고 명령어의 수행 결과를 독출하는 베이스밴드부; 및
    상기 베이스밴드부로부터 명령어를 수신하고 상기 명령어의 수행 결과를 기록하는 I2C 장치를 포함하되,
    상기 베이스밴드부는 상기 I2C 장치에 포함된 슬레이브로부터 ACK(Acknowledgement) 신호가 입력되는 경우 상기 명령어를 전달하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치.
  10. 청구항 10은(는) 설정등록료 납부시 포기되었습니다.
    제9항에 있어서,
    상기 제어 버스는 I2C(Inter-Integrated Circuit) 버스인 것을 특징으로 하는 제어 버스를 이용한 통신 장치.
  11. 제9항에 있어서,
    상기 명령어가 전달된 경우 상기 슬레이브는 상기 베이스밴드부로 NAK(Negative-Acknowledgement) 신호를 출력하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치.
  12. 제11항에 있어서,
    상기 I2C 장치는 상기 전달된 명령어가 읽기 명령어인 경우 상기 슬레이브가 다시 ACK 신호를 출력하게 하고,
    상기 베이스밴드부는 상기 ACK 신호에 따라 상응하는 데이터를 독출하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치.
  13. 제12항에 있어서,
    상기 I2C 장치는 상기 전달된 명령어를 구성하는 영역 중 주소 영역 다음에 위치하는 영역의 종류에 따라 읽기 명령어인지를 판단하는 것을 특징으로 제어 버스를 이용한 통신 장치.
  14. 제9항에 있어서,
    상기 I2C 장치는 상기 전달받은 명령어에 따른 동작을 수행하는 프로세서(processor)를 포함하는 것을 특징으로 하는 제어 버스의 통신 장치.
  15. 청구항 15은(는) 설정등록료 납부시 포기되었습니다.
    제9항에 있어서,
    상기 I2C 장치는 상기 명령어의 수행 결과를 기록하는 I2C 레지스터 맵을 포함하는 것을 특징으로 하는 제어 버스를 이용한 통신 장치.
KR1020060112458A 2006-11-14 2006-11-14 제어 버스를 이용한 통신 방법 및 장치 KR100812710B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060112458A KR100812710B1 (ko) 2006-11-14 2006-11-14 제어 버스를 이용한 통신 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060112458A KR100812710B1 (ko) 2006-11-14 2006-11-14 제어 버스를 이용한 통신 방법 및 장치

Publications (1)

Publication Number Publication Date
KR100812710B1 true KR100812710B1 (ko) 2008-03-12

Family

ID=39398549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060112458A KR100812710B1 (ko) 2006-11-14 2006-11-14 제어 버스를 이용한 통신 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100812710B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210089932A (ko) * 2020-01-09 2021-07-19 성균관대학교산학협력단 비휘발성 메모리 장치, 이것을 포함하는 컴퓨팅 시스템 및 이것의 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100993A (ja) * 1991-10-07 1993-04-23 Mitsubishi Electric Corp 信号線共有化方式
JPH06342407A (ja) * 1993-06-01 1994-12-13 Toshiba Corp チャネル装置
JP2000231539A (ja) 1999-02-12 2000-08-22 Ricoh Co Ltd データ転送システムおよびデータ転送方法
JP2003122707A (ja) 2001-10-10 2003-04-25 Nec Corp I2cバスを備えた電子機器及びバス制御方法
KR20050079563A (ko) * 2004-02-06 2005-08-10 삼성전자주식회사 응답 지연 시간을 단축시킨 버스 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100993A (ja) * 1991-10-07 1993-04-23 Mitsubishi Electric Corp 信号線共有化方式
JPH06342407A (ja) * 1993-06-01 1994-12-13 Toshiba Corp チャネル装置
JP2000231539A (ja) 1999-02-12 2000-08-22 Ricoh Co Ltd データ転送システムおよびデータ転送方法
JP2003122707A (ja) 2001-10-10 2003-04-25 Nec Corp I2cバスを備えた電子機器及びバス制御方法
KR20050079563A (ko) * 2004-02-06 2005-08-10 삼성전자주식회사 응답 지연 시간을 단축시킨 버스 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210089932A (ko) * 2020-01-09 2021-07-19 성균관대학교산학협력단 비휘발성 메모리 장치, 이것을 포함하는 컴퓨팅 시스템 및 이것의 동작 방법
US11294822B2 (en) 2020-01-09 2022-04-05 Research & Business Foundation Sungkyunkwan University Non-volatile memory storage, computing system including the same and operation method thereof
KR102412423B1 (ko) * 2020-01-09 2022-06-23 성균관대학교산학협력단 비휘발성 메모리 장치, 이것을 포함하는 컴퓨팅 시스템 및 이것의 동작 방법

Similar Documents

Publication Publication Date Title
US9378076B2 (en) Serial communication test device, system including the same and method thereof
JPS5914778B2 (ja) デ−タ処理装置
JP4451837B2 (ja) データ転送装置およびデータ転送方法
KR20130129388A (ko) 프로세서 모듈들 사이에서 데이터를 송신하는 방법 및 회로 배열
US6357015B1 (en) Data interface and high-speed communication system using the same
US7337260B2 (en) Bus system and information processing system including bus system
US20060190637A1 (en) Control apparatus, information processing apparatus, and data transferring method
US8521932B2 (en) Arbitrator and arbitrating method applied to system management bus system
KR100241514B1 (ko) 마이크로 컴퓨터
KR20080080799A (ko) 메모리의 직렬 인터페이스 방법 및 장치
CN109154925A (zh) 通信设备、通信方法、程序和通信***
US6145044A (en) PCI bus bridge with transaction forwarding controller for avoiding data transfer errors
US20070101032A1 (en) Bus arbitration circuit and bus arbitration method
KR100812710B1 (ko) 제어 버스를 이용한 통신 방법 및 장치
JPS6043546B2 (ja) デ−タ転送異常処理方式
JP5035349B2 (ja) 回路、その制御方法
US7203781B2 (en) Bus architecture with primary bus and secondary or slave bus wherein transfer via DMA is in single transfer phase engagement of primary bus
US20040054843A1 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
JP2004288147A (ja) シリアルメモリに対するxipシステム及びその方法
JP2020087179A (ja) コントローラ、およびコントローラの制御方法
JP7265953B2 (ja) 通信制御システムおよび情報処理装置
JP4033707B2 (ja) Icカード及びその制御方法
US8423699B2 (en) Information processing apparatus and method for controlling information processing apparatus
KR100737904B1 (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법
KR940004578B1 (ko) 슬레이브 보드 제어장치

Legal Events

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

Payment date: 20130221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180226

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190225

Year of fee payment: 12