2016-07-26 2 views
0

저는 기본적으로 팔 코어 텍스 M4 평가 보드 인 Ti 's EK-TM4C1294XL을 연구 중입니다. 나는 같은 I2C 버스를 통해 가고 있었고 I2C 버스에 관한 다음 질문을 가지고있다.I2C 버스 멀티 마스터 멀티 슬레이브

I2C는 멀티 마스터 멀티 슬레이브 구성을 지원합니다. 따라서 특정 마스터에서 특정 슬레이브로 데이터를 보내려면 먼저 마스터에서 버스의 슬레이브 주소를 쓰고 Ack를받은 후 해당 슬레이브로 데이터를 전송합니다.

그래서 같은 상황에서 나는 특정 슬레이브로부터 특정 마스터로 데이터를 받기를 원하지만 슬레이브가 통신을 시작할 수 있습니까? 마찬가지로 slave가 ADC이고 변환이 완료되면 변환 된 데이터를 특정 마스터로 보냅니다. I2C에서 가능합니까?

+1

_ "슬레이브가 통신을 시작할 수 있습니까?"_는 정의에 의해 거짓입니다. 주소를 쓰고 시계를 구동하는 경우 슬레이브가 아닌 마스터로 작동합니다. ADC가 슬레이브 및 (멀티) 마스터 작동을 모두 할 수 있는지 여부는 해당 데이터 시트의 내용에 따라 다릅니다. – Notlikethat

답변

0

I2C에서 마스터는 항상 슬레이브가 데이터를 보내는 경우에도 슬레이브와의 통신을 시작합니다. 시작 조건 다음의 첫 번째 바이트는 7 비트 주소와 쓰기 또는 읽기 여부를 나타내는 1 비트를 포함합니다. 슬레이브가 비동기 이벤트 (즉, 연속 변환을 실행하는 ADC)를 가질 수있는 유형이라면 일반적으로 I2C 버스와 분리 된 신호를 볼 수 있습니다 (주의 신호, 인터럽트 신호 또는 I2C 장치가 실제로 SMBus 장치, SMBALERT #)로, 상태가 변경되어 이벤트가 발생했으며 마스터가 해당 장치를 쿼리해야 함을 나타냅니다.

관련 문제