IIC 버스
일반적으로 직렬 데이터 통신은 클럭과 데이터, 비동기식과 동기식으로 구분됩니다.
단선식, 이중선식, 3선식 대기 .
I2C는 2선이어야 합니다(접지선은 제외).
I2C 프로토콜은 실제로 매우 과학적이며 물론 3/4선 SPI보다 낫습니다. , 여러 개의 전선을 사용하면 통신 속도가 비교적 빠릅니다.
I2C의 원리는 다음과 같습니다.
SCL=1(하이 레벨)이면 SDA를 속여서는 안 됩니다. !!!
그렇지 않으면 SDA가 점프할 때 "페널티"는 "시작 신호 S"이고, SDA가 점프할 때 "페널티"는 "중지 신호 P"입니다.
SCL=0(낮은 수준)일 때 SDA는 무료입니다. 바보!!!(SCL이 높은 수준으로 점프할 정도로 너무 많이 속이지 마십시오.)
각 바이트 후에 상대방은 응답 신호 ACK는 상대방이 온라인 상태라는 신호입니다.
무응답 신호 일반적으로 모든 바이트의 마지막 바이트 이후에 일반적으로 양 당사자 간의 합의에 의해 서명되어야 합니다.
SCL은 호스트에서 보내야 합니다. 그렇지 않으면 세상이 혼란에 빠질 것입니다.
첫 번째 바이트는 "조각" "신호 선택", 즉 7비트 슬레이브 주소에 1비트를 더한 것입니다. 방향(읽기 및 쓰기) 제어.
슬레이브는 자신의 주소를 수신(청각)한 후에만 응답 신호를 보낼 수 있습니다(응답해야 합니다!!!).
다른 주소를 가진 슬레이브는 속일 수 없습니다!!!(물론 그룹콜은 속일 수 있지만 듣기만 할 수 있고 말하지 않을 수 있습니다)
읽기 및 쓰기는 호스트 관점에서 정의됩니다.
"읽기"는 마스터가 슬레이브로부터 데이터를 받는 것을 의미하고, "쓰기"는 마스터가 슬레이브에게 데이터를 보내는 것을 의미합니다.
반복 비트는 주로 마스터가 변경하는 데 사용됩니다. 송신 모드에서 수신 모드로의 변환 "신호" 라인은 2개뿐이므로,
SPI는 서로 다른 에지를 사용하여 데이터를 보내고 받을 수 있기 때문에 트랜시버 변환은 SPI보다 더 복잡해야 합니다. I2C는 불가능합니다.
하드웨어 I2C 모듈, 특히 MCU/ARM/DSP 등은 각 단계에서 정확한 상태 코드를 얻습니다.
이 상태 코드를 기반으로 하여 어떤 상태인지, 어떤 오류 메시지인지 알 수 있습니다.
7비트 I2C 버스는 주소가 다른 127개의 I2C 장치에 연결될 수 있으며 "장치" 0번이 그룹으로 사용됩니다. 호출 주소.
10비트 I2C 버스는 더 많은 10비트 I2C 장치에 연결할 수 있습니다.
간단히 말하면 I2C의 요령을 익히는 한 일반적으로 가능합니다. 제어하기 쉽다... 첫 번째 바이트(슬레이브 주소)는 7비트 주소와 R/W 읽기 및 쓰기 비트로 구성됩니다. 이 바이트는 장치 주소입니다.
먼저 알아야 할 사항: 일반적으로 사용되는 IIC 인터페이스 범용 장치의 장치 주소는 유형 모델과 주소 지정 코드로 구성되며 최대 7자리입니다.
예를 들어 형식은 다음과 같습니다.
D7 D6 D5 D4 D3 D2 D1 D0
1-기기 유형은 D7-D4에 의해 결정됩니다. ***4비트. 이 유형은 반도체 회사에서 생산할 때 수정되었습니다. 이는 이 4비트가 이미 수정되었음을 의미합니다.
2-사용자 정의 주소 코드: D3-D1***3자리. EEPROM 등 일반적으로 사용되는 장치는 외부 IC의 3개 핀(A0, A1, A2 등 일반적으로 사용되는 이름 사용)의 결합 레벨에 따라 결정됩니다. 이는 주소 지정 코드이기도 합니다.
이것이 동일한 유형의 IC가 동일한 IIC 버스에서 동일한 유형의 최대 8개 칩에만 연결될 수 있는 이유입니다.
3-가장 낮은 비트는 R/W 비트입니다. 이에 대해 더 말할 필요가 없습니다.
현대 전자 시스템에는 IC 상호간 및 외부 세계와 통신해야 하는 IC가 많이 있습니다. 하드웨어 효율성을 제공하고 회로 설계를 단순화하기 위해 PHILIPS는 내부 IC 제어를 위한 간단한 양방향 2선 직렬 버스 I2C를 개발했습니다. I2C 버스는 모든 IC 제조 프로세스를 지원하며 PHILIPS 및 기타 제조업체는 매우 다양한 I2C 호환 칩을 제공합니다.
특허받은 제어 버스인 I2C는 전 세계 산업 표준이 되었습니다.
각 장치에는 고유한 주소가 있으며 단일 수신 장치(예: LCD 드라이버)이거나 수신 및 전송이 모두 가능한 장치(예: 메모리)일 수 있습니다. 송신기나 수신기는 칩이 데이터 전송을 시작해야 하는지 아니면 단순히 주소를 지정해야 하는지에 따라 마스터 또는 슬레이브 모드에서 작동할 수 있습니다. I2C는 다중 마스터 버스입니다. 즉, 연결된 여러 장치에 의해 제어될 수 있습니다.
기본 I2C 버스 사양은 20년 전에 발표되었습니다. 데이터 전송 속도는 최대 100Kbits/s이며 7비트 주소 지정을 사용합니다. 그러나 데이터 전송 속도와 응용 기능의 급속한 증가로 인해 I2C 버스는 더 빠른 속도와 더 큰 주소 지정 공간에 대한 요구를 충족하기 위해 빠른 모드(400Kbits/s) 및 10비트 주소 지정으로 향상되었습니다.
I2C 버스는 항상 첨단 기술과 보조를 맞추면서도 이전 버전과의 호환성을 유지합니다. 그리고 최근에는 최대 3.4Mbits/s의 속도를 제공하는 고속 모드가 추가되었습니다. 이를 통해 I2C 버스는 EEPROM 및 플래시 메모리와 같은 기존 및 미래의 고속 직렬 전송 애플리케이션을 지원할 수 있습니다. 현대 전자 시스템에는 서로 통신하고 외부 세계와 통신해야 하는 수많은 IC가 있습니다. 하드웨어 효율성을 제공하고 회로 설계를 단순화하기 위해 PHILIPS는 내부 IC 제어를 위한 간단한 양방향 2선 직렬 버스 I2C를 개발했습니다. I2C 버스는 모든 IC 제조 프로세스를 지원하며 PHILIPS 및 기타 제조업체는 매우 다양한 I2C 호환 칩을 제공합니다. 특허받은 제어 버스인 I2C는 전 세계 산업 표준이 되었습니다.
각 장치에는 고유한 주소가 있으며 단일 수신 장치(예: LCD 드라이버)이거나 수신 및 전송이 모두 가능한 장치(예: 메모리)일 수 있습니다. 송신기나 수신기는 칩이 데이터 전송을 시작해야 하는지 아니면 단순히 주소를 지정해야 하는지에 따라 마스터 또는 슬레이브 모드에서 작동할 수 있습니다. I2C는 다중 마스터 버스입니다. 즉, 연결된 여러 장치에 의해 제어될 수 있습니다.
기본 I2C 버스 사양은 20년 전에 발표되었습니다. 데이터 전송 속도는 최대 100Kbits/s이며 7비트 주소 지정을 사용합니다. 그러나 데이터 전송 속도와 응용 기능의 급속한 증가로 인해 I2C 버스는 더 빠른 속도와 더 큰 주소 지정 공간에 대한 요구를 충족하기 위해 빠른 모드(400Kbits/s) 및 10비트 주소 지정으로 향상되었습니다.
I2C 버스는 항상 첨단 기술과 보조를 맞추면서도 이전 버전과의 호환성을 유지합니다. 그리고 최근에는 최대 3.4Mbits/s의 속도를 제공하는 고속 모드가 추가되었습니다. 이를 통해 I2C 버스는 EEPROM 및 플래시 메모리와 같은 기존 및 미래의 고속 직렬 전송 애플리케이션을 지원할 수 있습니다.