I2c 중재에 관한 질문

동기화와 마찬가지로 시스템에 여러 호스트가 있는 경우 중재도 프로토콜 요구 사항의 일부입니다. 기회에서 중재 과정에 참여하지 않다. 버스가 유휴 상태인 경우에만 호스트에서 전송을 시작할 수 있습니다. 두 호스트는 최소 유지 시간 (tHDSDA) 에 시작 조건을 생성하여 버스에 유효한 시작 조건을 생성할 수 있습니다. 이때 어느 호스트가 전송을 완료했는지 결정하기 위해 중재가 필요합니다.

중재는 조금씩 왔다. 각 비트에서 SCL 이 고평일 때 각 호스트는 SDA 의 평평이 전송된 평평과 일치하는지 확인합니다. 이 과정은 많은 비트를 지속할 수 있다. 전송이 동일하면 두 호스트가 오류 없이 전체 전송을 완료할 수 있습니다. 호스트가 고평을 보내려고 하지만 SDA 가 저평이라는 것을 감지하면 호스트는 중재를 잃었다는 것을 알고 SDA 출력을 끕니다. 다른 호스트가 전송을 완료합니다.

중재 과정에서 어떠한 정보도 손실되지 않습니다. 중재에 실패한 호스트는 중재에 실패한 바이트 끝에 클럭 펄스를 생성하며 버스가 유휴 상태일 때 전송을 다시 시작해야 합니다.

호스트에 슬레이브 기능이 포함되어 있는 경우 주소 지정 단계 중재에 실패할 경우 중재를 받은 호스트가 주소를 지정할 수 있습니다. 중재에 실패한 호스트는 즉시 슬레이브 모드로 전환해야 합니다.

두 호스트의 중재. 호스트가 생성한 DATA 1 과 SDA 라인의 실제 평평한 값이 다를 때 DATA 1 의 출력이 꺼집니다. 호스트 1 중재 패소. 중재를 얻은 호스트 2 의 전송 데이터는 영향을 받지 않습니다.

I2C 버스는 주소로만 제어되기 때문에 중재를 받은 호스트에서만 데이터를 전송합니다. 여기에는 가장 중요한 호스트도 없고 버스에도 우선 순위가 없다.

중재 프로세스가 진행 중인 동안 한 호스트는 중복 시작 또는 종료 조건을 전송하고 다른 호스트는 여전히 데이터를 전송하는 경우 미확인 상태가 존재합니다. 즉, 다음과 같은 경우에 발생합니다.

호스트 1 중복 시작 조건 전송, 호스트 2 는 데이터 비트 전송.

호스트 1 전송 종료 조건, 호스트 2 는 데이터 비트를 전송합니다.

호스트 1 전송 반복 시작 조건, 호스트 2 전송 종료 조건.

上篇: 디스크 어레이란 무엇입니까? 下篇: 업계 인사들이 대학생용 노트북을 추천하는 것을 도왔다.
관련 내용