Warning: count(): Parameter must be an array or an object that implements Countable in /customers/2/7/7/fairbar.dk/httpd.www/wp-includes/post-template.php on line 284

twi 예제

By 2. augustIkke-kategoriseret

장치는 버스의 마스터 역할을 하거나(예: 전송을 시작함) 슬레이브(마스터가 호출할 때만 작동)로 작동할 수 있습니다. 버스는 멀티 마스터가 가능하며 특정 장치 구현은 서로 다른 시간에 마스터 또는 슬레이브 역할을 할 수 있습니다. 장치는 소위 시작 조건 이후에 첫 번째 바이트로 전송되는 7비트 주소(필립스에서 조정)를 사용하여 처리됩니다. 해당 바이트의 LSB는 R/~W, 즉 슬레이브에 대한 요청이 다음 주기 동안 데이터를 읽거나 쓰는지 여부를 결정합니다. (10비트 주소를 사용하는 장치를 사용하는 옵션도 있지만 이 예제에서는 다루지 않습니다.) 24Cxx EEPROM에 할당된 주소는 상위 4비트에서 1010으로 구성됩니다. 다음 세 비트는 일반적으로 슬레이브 하위 주소로 사용할 수 있으므로 단일 버스에서 동일한 유형의 장치를 둘 이상 작동할 수 있으며, 각 장치에 사용되는 실제 하위 주소는 하드웨어 스트래핑으로 구성됩니다. 그러나 장치 선택 다음의 다음 데이터 패킷은 EEPROM 주소로 사용되는 8비트만 허용하기 때문에 8개 이상의 주소 비트(24C04 이상)가 필요한 장치는 하위 주소 비트를 “훔쳐” EEPROM 셀 주소 비트 9에서 11까지 req로 사용합니다. 의자. 이 예제에서는 모든 하위 주소 비트가 더 작은 장치에 대해 0이라고 가정하므로 24Cxx의 E0, E1 및 E2 입력을 접지해야 합니다.

한 가지 구체적인 예는 주소 높음 및 주소 낮음이라고 하는 두 개의 요청 바이트를 사용하는 24C32 형식 EEPROM입니다. 따라서 이러한 EEPROM은 단일 바이트 명령 또는 주소만 지원하는 순수 SMBus 호스트에서 사용할 수 없습니다. 이러한 바이트는 32kbit(또는 4kB) EEPROM 주소 공간 내에서 바이트를 처리하는 데 사용됩니다. 512kb(또는 64kB)를 저장하는 24C512와 같이 더 큰 EEPROM에서도 동일한 2바이트 주소 지정이 사용됩니다. 이러한 EEPROMs에 데이터를 작성하고 읽는 것은 간단한 프로토콜을 사용합니다. 데이터 전송 부분 프로토콜은 데이터 바이트앞에 카운트가 선행되지 않고 32바이트 이상을 한 번에 전송할 수 있으므로 SMBus에 문제가 발생할 수 있습니다. 2kbit 24C02와 같이 32kbit보다 작은 I²C EEPROM은 이 문제를 극복하기 위해 비효율적인 단일 바이트 데이터 전송을 통해 SMBus에서 자주 사용됩니다.

leder

Author leder

More posts by leder