KR20050081228A - Apparatus and method for adapting for i2c bus - Google Patents

Apparatus and method for adapting for i2c bus Download PDF

Info

Publication number
KR20050081228A
KR20050081228A KR1020040009379A KR20040009379A KR20050081228A KR 20050081228 A KR20050081228 A KR 20050081228A KR 1020040009379 A KR1020040009379 A KR 1020040009379A KR 20040009379 A KR20040009379 A KR 20040009379A KR 20050081228 A KR20050081228 A KR 20050081228A
Authority
KR
South Korea
Prior art keywords
bus
mdio
serial
data
pmd
Prior art date
Application number
KR1020040009379A
Other languages
Korean (ko)
Other versions
KR100612454B1 (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 KR1020040009379A priority Critical patent/KR100612454B1/en
Publication of KR20050081228A publication Critical patent/KR20050081228A/en
Application granted granted Critical
Publication of KR100612454B1 publication Critical patent/KR100612454B1/en

Links

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
    • 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/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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)

Abstract

본 발명은 네트워크 시스템에서 사용되는 I2C 버스에 관한 것으로, 사용되지 MII 관리 인터페이스인 MDIO/MDC가 사용되지 않는 시스템에서 사용되지 않는 MDIO/MDC를 I2C 버스로 사용함으로써 별도의 I2C 컨트롤러를 구비하지 않고도 I2C 버스를 구현할 수 있도록 하는 I2C 버스 정합 장치 및 방법에 관한 것이다.The present invention relates to an I2C bus used in a network system, and by using an unused MDIO / MDC as an I2C bus in an unused MII management interface, MDIO / MDC, without using a separate I2C controller. An I2C bus matching device and method for enabling a bus are provided.

Description

I2C 버스 정합 장치 및 방법{APPARATUS AND METHOD FOR ADAPTING FOR I2C BUS} I2C bus matching device and method {APPARATUS AND METHOD FOR ADAPTING FOR I2C BUS}

본 발명은 PHY와 MAC(Medium Access Control) 간에 MII 인터페이스를 사용하는 장치에 관한 것으로, MII(Media Independent Interface) 관리 인터페이스를 I2C 버스로 사용할 수 있도록 하는 I2C 버스 정합 장치 및 방법에 관한 것이다.The present invention relates to a device using a MII interface between a PHY and a medium access control (MAC). The present invention relates to an I2C bus matching device and a method for using a MII (Media Independent Interface) management interface as an I2C bus.

도 1은 종래기술에 따른 도면으로, PMD 트랜시버 모듈의 I2C 버스를 통하여 정보를 읽는(read) 방법을 도시하는 도면이다.1 is a diagram according to the prior art, illustrating a method of reading information through an I2C bus of a PMD transceiver module.

도 1과 같은 종래의 네트워크 시스템에서 시스템을 초기화할 때 네트워크 시스템 사용자는 트랜시버 모듈, 즉 PMD(Physical Medium Dependent, 물리 매체 의존부)(140)에 내장된 트랜시버 모듈정보를 이더넷 디바이스 드라이버를 통해 읽어 들인다. 이 트랜시버 모듈정보는 호스트 프로세서(100)가 네트워크 시스템을 관리하는 데에 사용된다.When initializing a system in the conventional network system as shown in FIG. 1, a network system user reads transceiver module information, that is, transceiver module information embedded in a physical medium dependent (PMD) 140 through an Ethernet device driver. . This transceiver module information is used by the host processor 100 to manage the network system.

여기서, I2C(Inter IC) 버스는 시리얼 통신을 위해 사용되는 전송로이다. 이 I2C버스를 사용하여 패킷 프로세서(110)는 PMD(140)에 내장된 EEPROM(Electrically Erasable Programmable Read Only Memory) 등의 저장수단에 저장된 트랜시버 모듈 정보를 읽어올 수 있다. 그런데, 호스트 프로세서(100)가 I2C 컨트롤러(Controller)를 내장하지 않거나, 내장하고 있다 하더라도 다른 용도로 사용되는 경우가 있다. 예를 들어, PMD(140)의 I2C 디바이스 어드레스 선택신호인 A2 ~ A0 가 모두 "000"으로 되어 있으므로, 다른 일반적인 직렬(Serial) EEPROM(102)과 한 개의 버스라인에 묶여질 경우 문제가 될 수 있다. 어드레스 선택신호가 모두 동일해지므로 각 EEPROM을 구분할 수 없기 때문이다.Here, the I2C (Inter IC) bus is a transmission path used for serial communication. Using this I2C bus, the packet processor 110 can read transceiver module information stored in a storage means such as an EEPROM (Electrically Erasable Programmable Read Only Memory) built in the PMD 140. However, even if the host processor 100 does not or does not have an I2C controller, it may be used for other purposes. For example, since the A2 to A0 signals of the I2C device address selection signals of the PMD 140 are all set to "000", this may be a problem when they are tied to another general serial EEPROM 102 and one bus line. have. This is because each EEPROM cannot be distinguished because the address selection signals are all the same.

그래서, 메인 패킷처리 보드와 PHY(PHYsical) 보드들이 분리되어 있을 경우 호스트 프로세서(100)의 I2C 버스에 연결된 시리얼 메모리(102)는 보드의 정보를 저장하는 보드관리 정보들이 내장되어 있고, PMD(140) 내의 시리얼 메모리는 패킷 프로세서(110)에 의해 읽혀져서 호스트 프로세스(100)로 전달되어야 한다. 그런데, 패킷 프로세서(110)는 I2C 컨트롤러를 제공하지 않으므로 별도의 I2C 컨트롤러(142)를 시스템에 추가하여야 했다. 이러한 별도 I2C 컨트롤러의 추가는 시스템의 크기 및 비용을 증가시키는 등의 문제점을 수반한다.Therefore, when the main packet processing board and the PHY board are separated, the serial memory 102 connected to the I2C bus of the host processor 100 has board management information for storing board information, and the PMD 140 The serial memory in c) must be read by the packet processor 110 and delivered to the host process 100. However, since the packet processor 110 does not provide an I2C controller, a separate I2C controller 142 has to be added to the system. The addition of these separate I2C controllers involves problems such as increasing the size and cost of the system.

그러므로, 별도의 I2C 컨트롤러 없이 I2C 버스를 구현할 수 있는 장치 및 방법이 요구된다.Therefore, there is a need for an apparatus and method capable of implementing an I2C bus without a separate I2C controller.

따라서, 본 발명의 목적은 별도의 I2C 컨트롤러를 사용하지 않고 I2C 버스를 제공하는 I2C 버스 정합 장치 및 방법을 제공함에 있다. Accordingly, an object of the present invention is to provide an I2C bus matching device and method for providing an I2C bus without using a separate I2C controller.

본 발명은 PHY와 MAC간 MII 인터페이스를 하는 네트워크 시스템에서의 MII(Media Independent Interface) 관리 인터페이스인 MDIO(Management Data I/O)와 MDC(Management Data Clock)를 I2C 버스로 이용하여, 사용하지 않는 MII 관리 인터페이스를 통해 I2C 버스와 MII 매니지먼트 인터페이스 시리얼 버스간에 정합기능을 제공한다.The present invention does not use MII (Management Data I / O) and MDC (Management Data Clock), which are MII (Media Independent Interface) management interfaces, in a network system that provides a MII interface between a PHY and a MAC. The management interface provides matching between the I2C bus and the MII management interface serial bus.

대부분의 MAC은 PHY에 구비되는 상태 레지스터를 읽어들이기 위해 IEEE 802.3에 규정된 대로 MII 관리 인터페이스 I/O인 MDIO/MDC를 제공한다. 그런데, 일부 MAC(120)들은 PHY(130)의 일부를 포함하는 것들이 있다. 이런 경우, MDIO/MDC가 사용되지 않는 경우가 발생한다.Most MACs provide MIO management interface I / O, MDIO / MDC, as specified in IEEE 802.3 to read the status registers provided in the PHY. By the way, there are some MAC 120 including some of the PHY (130). In this case, MDIO / MDC is not used.

예를 들면, 기가빗 이더넷에서의 GMAC은 PHY의 일부인 PCS계층을 포함할 수 있도록 선택적으로 사용 가능한 것들이 있는데, 이럴 경우 PCS계층과 MAC 계층 사이의 MII 인터페이스는 GMAC안에서 구현되므로, GMAC과 SERDES(PMA계층)간의 TBI 인터페이스가 연결된다. 실제로 GMAC 안에서 MII 인터페이스가 구현될 경우 GMAC 디바이스에서 제공하는 MDIO/MDC 핀들은 사용하지 않게 된다. SERDES 디바이스는 단순히 10 비트를 시리얼로 변환하여 트랜시버 모듈로 전송하거나 그 반대의 기능을 하게 되고, 내부 PHY(130) 관련 레지스터는 없으므로 MDIO/MDC 인터페이스는 없다.For example, GMAC in Gigabit Ethernet is optionally available to include the PCS layer that is part of the PHY. In this case, the MII interface between the PCS layer and the MAC layer is implemented in GMAC, so GMAC and SERDES (PMA layer). TBI interface is connected. In fact, if the MII interface is implemented in GMAC, the MDIO / MDC pins provided by the GMAC device will not be used. The SERDES device simply converts the 10 bits to serial to transfer to the transceiver module and vice versa. There is no MDIO / MDC interface because there is no internal PHY 130 associated register.

도 1과 같은 네트워크 시스템의 초기화 시에 PMD에 자신의 모듈정보를 가지며, I2C 버스 인터페이스를 하는 시리얼 메모리를 내장한 GBIC(GigaBit Interface Converter). SFP(Small Form factor Pluggable) 등과 같은 트랜시버 모듈들이 I2C 컨트롤러를 통해 패킷 프로세서 또는 호스트 프로세서에 의해 읽혀지며, 전술한 바와 같이 MAC의 MDIO/MDC I/O핀은 오픈되어 사용되지 않는다.GBIC (GigaBit Interface Converter) having a serial memory that has its own module information in the PMD at the initialization of the network system as shown in FIG. Transceiver modules such as Small Form Factor Pluggable (SFP) are read by a packet processor or host processor via an I2C controller, and as described above, the MDIO / MDC I / O pins of the MAC are open and not used.

이와 같이, MDIO/MDC가 이용되지 않는 시스템에서는 이용되지 않는 MDIO/MDC를 이용하여 I2C 버스를 구현할 수 있을 것이다.As such, the I2C bus may be implemented by using the MDIO / MDC which is not used in the system where the MDIO / MDC is not used.

이를 위한 본 발명의 장치는, 네트워크 시스템의 관리를 위한 트랜시버 정보를 요구하는 맥과, 상기 맥이 요구하는 트랜시버 정보를 저장하는 I2C 버스 인터페이스 시리얼 메모리를 가지는 PMD(Physical Medium Dependent)와, 상기 PMD의 시리얼 메모리로부터 I2C 버스를 통해 상기 트랜시버 정보를 읽어 들여서 MII 관리 인터페이스인 MDIO(Management Data I/O)/MDC(Management Data Clock)를 통해 상기 맥에 출력하거나, 상기 맥으로부터 입력되는 MDIO/MDC 신호로부터 I2C 버스의 시작조건과 끝남 조건을 검출하여 이를 I2C 버스 포맷을 가지는, 상기 PMD로부터 트랜시버 정보를 읽어들이기 위한 어드레스 정보로 변환하여 상기 PMD에 출력하는 MDIO-to-I2C 버스 변환장치를 포함하는 I2C 정합 장치이다.The apparatus of the present invention for this purpose is a physical medium dependent (PMD) having a MAC requesting the transceiver information for management of the network system, an I2C bus interface serial memory for storing the transceiver information required by the Mac, and The transceiver information is read from the serial memory through an I2C bus and output to the MAC through a MII management interface, MDIO (Management Data I / O) / MDC (Management Data Clock), or from an MDIO / MDC signal input from the MAC. I2C matching including an MDIO-to-I2C bus converter which detects a start condition and an end condition of an I2C bus and converts it into address information for reading transceiver information from the PMD having an I2C bus format and outputs the same to the PMD. Device.

또, 이를 위한 본 발명의 방법은, 맥으로부터 MDIO/MDC를 통해 PMD에 저장된 트랜시버 정보를 읽어들이라는 신호를 입력받는 제 1과정과, 상기 신호를 I2C 신호로 변환하는 제 2과정과, 상기 변환된 신호를 I2C 버스를 통해 상기 PMD에 출력하는 제 3과정과, 상기 PMD로부터 입력되는 트랜시버 정보를 MDIO/MDC 정보로 변환하여 상기 맥에 출력하는 제 4과정을 더 포함하는 I2C 버스 정합 방법이다.In addition, the method of the present invention for this purpose, a first step of receiving a signal to read the transceiver information stored in the PMD from the Mac through the MDIO / MDC, a second step of converting the signal into an I2C signal, and the conversion And a fourth process of outputting the received signal to the PMD through an I2C bus, and a fourth process of converting transceiver information input from the PMD into MDIO / MDC information and outputting the signal to the MAC.

도면을 참조하여 본 발명을 설명하면 다음과 같다. 먼저 본 발명에 사용할 MDIO/MDC의 특성에 대해 살펴본다.Hereinafter, the present invention will be described with reference to the drawings. First, look at the characteristics of the MDIO / MDC to be used in the present invention.

도 2는 IEEE802.3의 MII 매니지먼트 억세스 타이밍도이다.2 is an MII management access timing diagram of IEEE802.3.

그 중에서 도 2a는 패킷 프로세서와 I2C 컨트롤러간에서의 읽기 동작 시의 억세스 타이밍도이고, 도 2b는 쓰기 동작 시의 억세스 타이밍도이다.2A is an access timing diagram during a read operation between the packet processor and the I2C controller, and FIG. 2B is an access timing diagram during the write operation.

MII 매니지먼트 인터페이스는 MDIO와 MDC로 구성되며, MDIO는 일종의 프로토콜로서 Preamble, ST, OP(operation) 코드 등이 있는 정해진 포맷이 있다. 정해진 포맷에 따라 MAC(120)은 MDIO를 통해 PHY 레지스터를 억세스하게 되지만 본 발명에서는 이 포맷을 이용해 I2C 버스로 이용하고자 하는 것이다.The MII management interface consists of MDIO and MDC. MDIO is a protocol that has a predetermined format including preamble, ST, and OP (operation) codes. According to the predetermined format, the MAC 120 accesses the PHY register through the MDIO, but the present invention intends to use the format as an I2C bus.

도 3은 I2C 제어기와 PMD간에서의 MII 매니지먼트 억세스 타이밍도이다.3 is an MII management access timing diagram between an I 2 C controller and a PMD.

도 4는 I2C버스를 통해 전송되는 어드레스 포맷이다.4 is an address format transmitted over an I2C bus.

도 4에 도시된 바와 같은 어드레스 포맷을 표현할 수 있는 정보가 I2C버스를 통해 전송되어야 한다. 도 4에 도시된 포맷을 통해 표현되는 정보는 읽기 또는 쓰기의 대상이 되는 장치에 대한 정보 및 그 장치에서 읽기 또는 쓰기의 대상이 되는 장소이다.Information capable of representing an address format as shown in FIG. 4 must be transmitted via an I2C bus. Information represented through the format shown in FIG. 4 is information about a device to be read or written and a place to be read or written in the device.

도 5는 I2C 버스를 통한 읽기의 3종류 및 억세스 방법을 도시하는 도면으로, 도 5a는 현재 어드레스 일기, 도 5b는 랜덤 읽기, 도 5c는 연속 읽기를 도시하는 도면이다.FIG. 5 is a diagram illustrating three types of readings and an access method through the I2C bus. FIG. 5A is a diagram showing a current address diary, FIG. 5B is a random read, and FIG. 5C is a continuous read.

I2C 버스를 통한 데이터 읽기 방식으로는 도 5a 내지 도 5c에 도시된 바와 같은 3종류가 있으며, 일반적으로 PMD(140) 내의 I2C 시리얼 메모리를 읽을 때에는 항상 101000 1(read)를 처음에 전송한다. 여기서 1010은 I2C 시리얼 EEPROM을 나타내는 디바이스 타입의 ID이며, 그 다음의 "000"는 A2~A0의 메모리이며, PMD(140) 내의 메모리 어드레스는 GBIC규정에 따라 항상 "000"이다.There are three types of data reading methods through the I2C bus, as shown in FIGS. 5A to 5C. In general, when reading the I2C serial memory in the PMD 140, 101000 1 (read) is always transmitted first. Here, 1010 is an ID of a device type indicating an I2C serial EEPROM, next "000" is a memory of A2 to A0, and a memory address in the PMD 140 is always "000" in accordance with GBIC regulations.

또 I2C 마스터가 슬레이브 디바이스를 대상으로 하여 데이터 읽기를 수행할 때에는 랜덤의 경우 항상 디바이스 어드레스, 읽어 들일 메모리의 어드레스, 디바이스 어드레스, 읽기 데이터 획득 순으로 행해지며, I2C 버스의 R/W 와 Ack 비트에 따라 3가지 방식 중 하나가 결정된다. When the I2C master reads data to the slave device, it is always performed in the order of device address, memory address to be read, device address, and read data acquisition in random order. One of three ways is therefore determined.

도 5a의 현재 어드레스 읽기(Current Address Read)에서는 장치의 어드레스 정보와 그 어드레스에서 읽어들이거나 그 어드레스에 기록할 정보가 도시한다. 즉, 현재 지정된 어드레스 위치에서 데이터를 읽어들이거나 현재 지정된 어드레스 위치에 데이터가 기록된다.Current Address Read of FIG. 5A shows the address information of the device and the information to be read from or written to the address. That is, data is read from the currently designated address position or data is written to the currently designated address position.

도 5b의 랜덤 읽기(Random Read)에서는 장치의 어드레스와 n개의 워드 어드레스(word address)로 이루어진 더미(dummy) 다음에 디바이스 어드레스 정보와 읽어들이거나 기록할 정보가 도시된다. 즉, 더미만큼의 사이를 두고 정보를 읽어들이거나 기록한다.In the random read of FIG. 5B, the device address information and the information to be read or written are shown after a dummy composed of the device address and n word addresses. In other words, information is read or recorded with a dummy gap between them.

도 5c의 연속 읽기(Sequential Read)에서는 디바이스 어드레스 정보 다음에 읽어들이거나 기록할 정보가 연속적으로 도시된다.In the sequential read of FIG. 5C, information to be read or written after the device address information is continuously shown.

도 6은 본 발명에 따른 도면으로, I2C 버스와 MDIO 간 버스 정합도이다.6 is a diagram illustrating a bus registration between an I2C bus and an MDIO according to the present invention.

본 발명은 도 6에 도시된 바와 같이, 내부에 I2C 버스 인터페이스 시리얼 메모리(도시하지 않음)를 가지는 PMD(140), PMD(140)로부터 I2C를 통해 트랜시버 모듈 정보를 읽어 들여 이를 다시 MII 관리 I/O인 MDC와 MDIO를 통해 프로세서(패킷 프로세서/호스트 프로세서)(600)로 전달하거나, 반대로 프로세서(600)로부터 맥(120)을 경유하여 MDIO와 MDC를 통해 오는 I2C 버스의 시작조건과 끝남 조건을 검출하고, 이를 I2C 버스 포맷으로 변경하여 PMD(140)에 트랜시버 모듈정보를 읽어 들이기 위한 어드레스 정보 등을 보내는 MDIO-to-I2C 버스 변환장치(610)를 포함하는 구성을 가진다. The present invention reads the transceiver module information from the PMD 140 and the PMD 140 having the I2C bus interface serial memory (not shown) therein through the I2C as shown in FIG. O to the processor (packet processor / host processor) 600 via MDC and MDIO, or vice versa for the start and end conditions of the I2C bus coming from the processor 600 via MDIO and MDC via Mac 120 And a MDIO-to-I2C bus converter 610 which detects and changes this to the I2C bus format and sends address information and the like to read the transceiver module information to the PMD 140.

도 6에 도시된 바와 같이, MDIO-to-I2C 버스 변환장치(610)를 통한 버스 매핑을 통해 I2C 버스와 MDIO 시리얼 버스를 정합할 수 있다.As illustrated in FIG. 6, the I2C bus and the MDIO serial bus may be matched through bus mapping through the MDIO-to-I2C bus converter 610.

한편, 본 발명에서 MDIO-to-I2C 버스 변환장치(610)와 직접 연결되는 것은 프로세서(600)가 아닌 맥(120)이나 맥(120)에 대한 언급을 생략하는 것이 발명의 이해를 도울 수 있을 것이라 판단되는 부분에서는 맥(120)에 대한 언급을 생략하였다.Meanwhile, in the present invention, the direct connection with the MDIO-to-I2C bus converter 610 may help the understanding of the present invention by omitting reference to the Mac 120 or the Mac 120 rather than the processor 600. Where it is determined that the reference to the mac 120 has been omitted.

이와 같이 구성되는 본 발명의 동작에 대해 설명하면 다음과 같다.Referring to the operation of the present invention configured as described above are as follows.

도 7은 본 발명에 따른 도면으로, I2C 버스로 읽어 들일 어드레스 값과 제어 값을 기록할 때의 동작을 도시하는 도면이다.FIG. 7 is a diagram according to the present invention, which illustrates an operation when writing an address value and a control value to be read to the I2C bus.

도 7에서 S는 Start, E는 End(Stop), A는 Ack, P는 Preamble, T는 Status. O는 OP code를 나타낸다.In Figure 7, S is Start, E is End (Stop), A is Ack, P is Preamble, T is Status. O indicates an OP code.

도 7은 도 6에 도시된 MDIO-to-I2C 버스 변환장치(610) 및 MDIO-to-I2C 버스 변환장치(610)가 수행하는, MDIO와 I2C 버스간의 맵핑을 보여준다. 도 7을 참조하여 MDIO에서 I2C버스로의 매핑 동작을 설명하면, MDIO-to-I2C 버스 변환장치(610)의 MDIO I/F는 프로세서(600)에 의해 제어되는 MAC(120)의 MDIO 인터페이스를 통해 입력되는 MDIO 신호에서 기존 MDIO 포맷의 Preamble과 ST를 제거하고 OP Code를 해석하여 Read/Write 비트를 구분하는 역할을 하고, 10비트의 데이터 내용만을 S/P Reg.(시리얼-투-패러렐 레지스터)에 출력한다. S/P Reg.(시리얼-투-패러렐 레지스터)는 입력받은 10비트의 시리얼 데이터를 패러렐 데이터로 변환하여 Buf Reg.(버퍼 레지스터)에 출력한다. Buf Reg.(버퍼 레지스터)까지는 MDC 클럭인 2.5MHz에 따른다.FIG. 7 shows the mapping between the MDIO and I2C buses performed by the MDIO-to-I2C bus converter 610 and MDIO-to-I2C bus converter 610 shown in FIG. 6. Referring to FIG. 7, the mapping operation from the MDIO to the I2C bus will be described. The MDIO I / F of the MDIO-to-I2C bus converter 610 may use the MDIO interface of the MAC 120 controlled by the processor 600. Removes preamble and ST of existing MDIO format from MDIO signal inputted through and interprets OP Code to distinguish Read / Write bit, and only 10-bit data content is S / P Reg. (Serial-to-parallel register) ) S / P Reg. (Serial-to-parallel register) converts the 10-bit input serial data into parallel data and outputs it to Buf Reg. (Buffer register). The Buf Reg. (Buffer register) follows the 2.5 MHz MDC clock.

그리고, 버퍼 레지스터에 입력된 10비트 데이터는 다시 SCL(Serial CLock) 클럭 주파수인 100KHz 또는 400KHz로 변환되어 읽혀지고, P/S Reg.(패러럴-투-시리얼 레지스터)에서 시리얼 데이터로 변환된 후, I2C I/F에서 시작조건과 종료조건을 알리는 플래그를 추가하여 I2C 버스의 시리얼 라인으로 전송된다. PMD(140)로부터 읽어 들이는 경우, 시리얼 메모리로부터 Ack신호가 수신되면 전송을 끝내고, Ack 비트가 수신되지 않으면 Buf Reg.(버퍼 레지스터)에 저장되어 있는 데이터를 다시 전송한다.The 10-bit data input to the buffer register is converted into SCL (Serial CLock) clock frequency 100KHz or 400KHz, read, converted into serial data in P / S Reg. (Parallel-to-serial register), In I2C I / F, a flag indicating the start condition and end condition is added to the I2C bus serial line. In the case of reading from the PMD 140, transmission is terminated when an Ack signal is received from the serial memory, and data stored in the Buf Reg. (Buffer register) is transmitted again when the Ack bit is not received.

이와 반대방향인 경우에는 MDIO 시리얼 버스를 통한 I2C 버스 데이터가 PMD(140) 내의 시리얼 메모리에 입력되면 시리얼 메모리에서 데이터 값을 출력하게 되는데, I2C 버스 인터페이스는 시작조건과 끝남 조건을 알리는 플래그를 삭제하고, 데이터 전부를 수신한 후 S/P Reg.로 보내며 수신하였음을 알리는 Ack비트를 PMD(140)의 시리얼 메모리로 보낸다. 그리고 S/P Reg.(시리얼-투-패러렐 레지스터)를 통해 버퍼 레지스터에 저장되면, 다시 P/S Reg.(패러럴-투-시리얼 레지스터)에서 다음의 MDIO 싸이클이 올 때까지 기다린 후에 클럭에 맞추어 MDIO를 통해 전송된다. 즉, MDIO를 제어하는 프로세서(600)에 의해 일정 시간 후에 다시 MDIO 읽기 포맷을 수신하게 되면 MDIO I/F는 턴 어라운드(Turn around) 1 싸이클 후에 DIO 시리얼 라인에 2.5MHz로 송신한다.In the opposite direction, when I2C bus data through the MDIO serial bus is input to the serial memory in the PMD 140, the data value is output from the serial memory. The I2C bus interface deletes the flag indicating the start condition and the end condition. After receiving all of the data, the Ack bit is sent to S / P Reg. And the acknowledgment bit is sent to the serial memory of the PMD 140. Once stored in the buffer register via S / P Reg. (Serial-to-parallel register), wait until the next MDIO cycle comes up in P / S Reg. Sent via MDIO That is, when the MDIO read format is received again by the processor 600 controlling the MDIO after a predetermined time, the MDIO I / F transmits 2.5MHz to the DIO serial line after one cycle of turn around.

이와 같은 본 발명에 따라 매핑된 포맷을 하기의 도 8을 참조하여 설명한다.Such a mapped format according to the present invention will be described with reference to FIG. 8.

도 8은 본 발명에 따른 도면으로, MDIO와 I2C 포맷과의 매핑을 도시하는 도면이다.8 is a diagram according to the present invention, illustrating the mapping between MDIO and I2C format.

도 8에 도시된 포맷들 중에서 위쪽의 종래의 포맷이라 지칭된 포맷은 I2C 버스 포맷이고, 아래쪽의 본 발명의 포맷이라 지칭된 포맷은 MDIO 포맷이다. 도 8에 도시된 바와 같이, MDIO 포맷에서는 I2C의 OP 코드 대신 읽기/쓰기(Read/Write)를 사용한다. 또, MDIO 포맷에서는 PHY 어드레스 5비트와 레지스터 어드레스 5비트를 사용하는 I2C 포맷과 달리 데이터 및 ACK 용으로 10비트를 사용한다. 도 6 및 도 7에 도시된 MDIO-to-I2C 버스 변환장치는 이와 같은 차이를 가지는 MDIO 포맷과 I2C 포맷을 맵핑하는 기능을 수행한다.Among the formats shown in FIG. 8, the format referred to as the conventional format above is the I2C bus format, and the format referred to as the format of the present invention below is the MDIO format. As shown in FIG. 8, the MDIO format uses read / write instead of the OP code of I2C. In addition, the MDIO format uses 10 bits for data and ACK, unlike the I2C format using 5 bits of PHY address and 5 bits of register address. The MDIO-to-I2C bus converter shown in FIGS. 6 and 7 performs a function of mapping an MDIO format and an I2C format having such a difference.

도 8에 도시된 바와 같이, 본 발명을 적용하면, 종래의 PHY 와 Reg 어드레스를 합한 10 비트는 I2C를 읽어 들이기 위한 데이터 및 제어 비트로 활용되고, OP code는 Read/Write 비트로 활용된다.As shown in FIG. 8, when the present invention is applied, 10 bits of a conventional PHY and a Reg address are used as data and control bits for reading I2C, and an OP code is used as a Read / Write bit.

상술한 바와 같이 본 발명은 시스템에서 사용되지 않는 MII 관리 인터페이스를 사용하여 별도의 I2C 컨트롤러를 추가하지 않고 I2C 버스를 구현할 수 있는 I2C 정합장치 및 방법을 제공한다.As described above, the present invention provides an I2C matching device and method that can implement an I2C bus without adding a separate I2C controller using an MII management interface not used in the system.

한편, 본 발명을 기술함에 있어서 기술한 클럭 주파수 등의 구체적인 수치에 대한 언급 및 예로 든 실시예는 본 발명의 이해를 돕기 위한 것이며, 본 발명은 이로 인해 한정되지 않는다. 더하여 본 발명을 설명함에 있어 언급한 특정 시스템 또한 본 발명을 한정하는 사항이 되지 않는다.On the other hand, in the description of the present invention reference to and reference to specific examples of specific numerical values, such as the clock frequency described for the purpose of understanding the present invention, the present invention is not limited thereby. In addition, the specific systems mentioned in describing the present invention are not intended to limit the present invention.

본 발명을 적용함으로써 프로세서의 I2C 컨트롤러가 다른 용도로 사용되어 여분이 없는 시스템에서 별도의 I2C 컨트롤러를 추가하지 않고 I2C 버스를 구현할 수 있게 된다.By applying the present invention, the processor's I2C controller can be used for other purposes, so that the I2C bus can be implemented without adding a separate I2C controller in a system without redundant.

도 1은 종래기술에 따른 도면으로, PMD 트랜시버 모듈의 I2C버스를 통하여 -정보를 읽는(read) 방법을 도시하는 도면.1 is a diagram according to the prior art, illustrating a method of reading information over an I2C bus of a PMD transceiver module.

도 2는 IEEE802.3의 MII 매니지먼트 억세스 타이밍도로써, 도 2a는 패킷 프로세서와 I2C 제어기간에서의 읽기 동작 시의 억세스 타이밍도이고, 도 2b는 쓰기 동작 시의 억세스 타이밍도.Fig. 2 is an MII management access timing diagram of IEEE802.3, Fig. 2A is an access timing diagram during a read operation in a packet processor and I2C control period, and Fig. 2B is an access timing diagram during a write operation.

도 3은 I2C 제어기와 PMD간에서의 MII 매니지먼트 억세스 타이밍도.3 is an MII management access timing diagram between an I 2 C controller and a PMD.

도 4는 I2C버스를 통해 전송되는, 어드레스 포맷.4 is an address format transmitted over an I2C bus.

도 5는 I2C 읽기의 3종류 및 억세스 방법을 도시하는 도면으로, 도 5a는 현재 어드레스 일기, 도 5b는 랜덤 읽기, 도 5c는 연속 읽기를 도시하는 도면.FIG. 5 is a diagram showing three types of I2C reads and an access method, FIG. 5A shows a current address diary, FIG. 5B shows a random read, and FIG. 5C shows a continuous read.

도 6은 본 발명에 따른 도면으로, I2C 버스와 MDIO 간 버스 정합도.6 is a diagram of a bus registration between an I2C bus and an MDIO in accordance with the present invention;

도 7은 본 발명에 따른 도면으로, I2C 버스로 읽어 들일 어드레스 값과 제어 값을 기록할 때의 동작을 도시하는 도면.FIG. 7 is a diagram in accordance with the present invention, illustrating an operation when writing an address value and a control value to be read into an I2C bus. FIG.

도 8은 본 발명에 따른 도면으로, MDIO와 I2C 포맷과의 매핑을 도시하는 도면.8 is a diagram according to the present invention, illustrating the mapping between MDIO and I2C format.

Claims (7)

네트워크 시스템의 관리를 위한 트랜시버 정보를 요구하는 맥(MAC)과,MAC requesting transceiver information for management of network system, 상기 맥이 요구하는 트랜시버 정보를 저장하는 I2C 버스 인터페이스 시리얼 메모리를 가지는 PMD(Physical Medium Dependent)와, A Physical Medium Dependent (PMD) having an I2C bus interface serial memory for storing transceiver information required by the Mac, 상기 PMD의 시리얼 메모리로부터 I2C 버스를 통해 상기 트랜시버 정보를 읽어 들여서 MII(Media Independent Interface) 관리 인터페이스인 MDIO(Management Data I/O)/MDC(Management Data Clock)를 통해 상기 맥에 출력하거나, 상기 맥으로부터 입력되는 MDIO/MDC 신호로부터 I2C 버스의 시작조건과 끝남 조건을 검출하여 이를 I2C 버스 포맷을 가지는, 상기 PMD로부터 트랜시버 정보를 읽어들이기 위한 어드레스 정보로 변환하여 상기 PMD에 출력하는 MDIO-to-I2C 버스 변환장치를 포함하는 I2C 정합 장치.The transceiver information is read from the serial memory of the PMD through an I2C bus and outputted to the MAC through a Management Data I / O (MDIO) / Management Data Clock (MDIO), which is a MII (Media Independent Interface) management interface. MDIO-to-I2C which detects the start condition and the end condition of the I2C bus from the MDIO / MDC signal inputted from the device and converts the information into address information for reading transceiver information from the PMD having the I2C bus format and outputs the address information to the PMD. I2C matching device including a bus inverter. 제 1항에 있어서, 상기 MDIO-to-I2C 버스 변환장치는,According to claim 1, wherein the MDIO-to-I2C bus converter, 맥으로부터 입력되는 MDIO 신호에서 기존 MDIO 포맷의 프리앰블과 시작조건을 제거하고 , OP(Operation) 코드를 해석하여 읽기/쓰기 비트를 구분하여 10비트의 데이터를 출력하는 MDIO 인터페이스부와,MDIO interface unit that removes preamble and start condition of existing MDIO format from MDIO signal input from Mac, interprets OP (Operation) code, and divides read / write bits to output 10 bits of data; 상기 MDIO 인터페이스부로부터 상기 10비트의 직렬 데이터를 입력받아 병렬 데이터로 변환하여 출력하는 직병렬 변환기와,A serial-to-parallel converter for receiving the 10-bit serial data from the MDIO interface unit and converting the serial data into parallel data; 상기 직병렬 변환기로부터 상기 병렬 데이터를 입력받아 저장하는 버퍼와,A buffer for receiving and storing the parallel data from the serial-to-parallel converter; 상기 버퍼에 저장된 병렬 데이터를 읽어들여서 직렬 데이터로 변환하여 출력하는 병직렬 변환기와,A parallel-to-serial converter that reads parallel data stored in the buffer, converts the serial data into serial data, and outputs the serial data; 상기 병직렬 변환기로부터 상기 직렬 데이터를 입력받아 시작조건과 종료조건을 알리는 플래그를 추가하여 I2C 버스를 통하여 상기 PMD에 출력하는 I2C 인터페이스부를 포함하는 I2C 정합장치.And an I2C interface unit receiving the serial data from the parallel-to-serial converter and adding a flag indicating a start condition and an end condition and outputting the flag to the PMD through an I2C bus. 제 2항에 있어서,The method of claim 2, 상기 직병렬 변환기에 입력되는 직렬 데이터와 상기 병직렬 변환기로부터 출력되는 직렬 데이터는 서로 클럭 주파수가 다른 I2C 버스 정합 장치.And the serial data inputted to the serial-to-parallel converter and the serial data outputted from the parallel-to-parallel converter have different clock frequencies from each other. 제 3항에 있어서,The method of claim 3, wherein 상기 직병렬 변환기에 입력되는 직렬 데이터는 MDC 클럭 주파수를 가지는 데이터이고, 상기 병직렬 변환기로부터 출력되는 직렬 데이터는 SCL(Serial CLock) 클럭 주파수를 가지는 데이터인 I2C 버스 정합 장치.And serial data input to the serial-to-parallel converter is data having an MDC clock frequency, and serial data output from the parallel-to-parallel converter are data having a serial clock clock (SCL) clock frequency. 제 2항에 있어서, 상기 PMD에 송신한 신호에 대한 응답이 수신되지 않으면, 상기 버퍼에 저장된 데이터를 PMD에 재송신하는 I2C 버스 정합 장치.The I2C bus matching device of claim 2, wherein when the response to the signal transmitted to the PMD is not received, the I2C bus matching device retransmits the data stored in the buffer to the PMD. 맥으로부터 MDIO/MDC를 통해 PMD에 저장된 트랜시버 정보를 읽어들이라는 신호를 입력받는 제 1과정과,A first process of receiving a signal from a Mac to read the transceiver information stored in the PMD through MDIO / MDC; 상기 신호를 I2C 신호로 변환하는 제 2과정과,Converting the signal into an I2C signal; 상기 변환된 신호를 I2C 버스를 통해 상기 PMD에 출력하는 제 3과정을 포함하는 I2C 버스 정합 방법.And a third process of outputting the converted signal to the PMD via an I2C bus. 제 6항에 있어서,The method of claim 6, 상기 PMD로부터 입력되는 트랜시버 정보를 MDIO/MDC 정보로 변환하여 상기 맥에 출력하는 제 4과정을 더 포함하는 I2C 버스 정합 방법.And converting the transceiver information input from the PMD into MDIO / MDC information and outputting the same to the MAC.
KR1020040009379A 2004-02-12 2004-02-12 Apparatus and method for adapting for i2c bus KR100612454B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040009379A KR100612454B1 (en) 2004-02-12 2004-02-12 Apparatus and method for adapting for i2c bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040009379A KR100612454B1 (en) 2004-02-12 2004-02-12 Apparatus and method for adapting for i2c bus

Publications (2)

Publication Number Publication Date
KR20050081228A true KR20050081228A (en) 2005-08-18
KR100612454B1 KR100612454B1 (en) 2006-08-16

Family

ID=37267882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040009379A KR100612454B1 (en) 2004-02-12 2004-02-12 Apparatus and method for adapting for i2c bus

Country Status (1)

Country Link
KR (1) KR100612454B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463662A (en) * 2020-12-16 2021-03-09 福州创实讯联信息技术有限公司 Method and terminal for controlling I2C equipment by user mode

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102388267B1 (en) 2020-09-03 2022-04-18 금오공과대학교 산학협력단 Management Data Input/Output interface device for OPEN board compatible AND Protocol conversion method using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463662A (en) * 2020-12-16 2021-03-09 福州创实讯联信息技术有限公司 Method and terminal for controlling I2C equipment by user mode
CN112463662B (en) * 2020-12-16 2024-04-05 福州创实讯联信息技术有限公司 Method and terminal for user mode control of I2C equipment

Also Published As

Publication number Publication date
KR100612454B1 (en) 2006-08-16

Similar Documents

Publication Publication Date Title
EP1775896B1 (en) Network on chip system employing an Advanced Extensible Interface (AXI) protocol
US7058748B1 (en) ATA device control via a packet-based interface
EP1730645B1 (en) Operating a remote usb host controller
US6122676A (en) Apparatus and method for transmitting and receiving data into and out of a universal serial bus device
US6047001A (en) Apparatus and method in a network interface device for storing a data frame and corresponding tracking information in a buffer memory
US7634611B2 (en) Multi-master, chained two-wire serial bus
US7707321B2 (en) Chained DMA for low-power extended USB flash device without polling
US7231467B2 (en) Method and apparatus for providing an inter integrated circuit interface with an expanded address range and efficient priority-based data throughput
US7630645B2 (en) Detecting an infrared transceiver type
US6516371B1 (en) Network interface device for accessing data stored in buffer memory locations defined by programmable read pointer information
WO2021259229A1 (en) Inter-module communication method and system
US20120324078A1 (en) Apparatus and method for sharing i/o device
US9722702B2 (en) SATA host bus adapter using optical signal and method for connecting SATA storage using the same
KR100612454B1 (en) Apparatus and method for adapting for i2c bus
JP2003308288A (en) Microcomputer system
US20070131767A1 (en) System and method for media card communication
US11169947B2 (en) Data transmission system capable of transmitting a great amount of data
US20090138673A1 (en) Internal memory mapped external memory interface
JP5601090B2 (en) Communication device
EP3819778A1 (en) Bus system and method for operating a bus system
US20050102431A1 (en) Composite adapter for multiple peripheral functionality in portable computing system environments
US9025614B2 (en) Unified system networking with PCIE-CEE tunneling
US9268725B2 (en) Data transferring apparatus and data transferring method
WO2022244761A1 (en) Communication device and communication system
US9298656B2 (en) Data transferring apparatus and data transferring method

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