도와주세요!!
글 수 396
2012.09.12 18:41:26 (*.32.7.84)
23279
안녕하세요. 현재 MRP-S3C2440보드를 사용하는 유저 입니다..
임베디드 리눅스 2.6커널을 넣어서 사용하고 있습니다.
다름이 아니라, 보드에 I2C 단자에 납땜을 해서 외부 오디오 칩을 제어하는 중인데
I2C만 write 했을 경우에는 원활하게 write가 잘 되는데
madplay를 통해서 음악을 재생하고(I2S 역시 납땜으로 연결 해두었습니다.)
노래가 나오는 중에 I2C 신호를 날리면
갑자기 I2C 버스를 얻을 수 없다며 동작을 하지 않습니다.
I2C cannot get bus <- 이런 에러메시지 가 뜹니다.
이런식으로 I2C관련 컨트롤이 죽은 경우 전원 리셋해도 원상복구가 되지 않으며
시간이 어느정도 (약 5분?) 지나야지만 다시 I2C 버스를 제어 할 수 있습니다.
궁금한것은 S3C2440이 I2C와 I2S를 동시에 사용하는 경우에 충돌을 일으킬 수 있는지 여부와
어째서 전원리셋해도 초기화가 안되는지가 궁금합니다.
고수님들 답변 부탁드립니다.~!
I2C는 데이터를 보내기전에 CLK을 잡고 있기때문에 다른 데이터를 사용이 불가 합니다.
IS2 사용하시는 장비의 ID가 동일한지 확인 해주시고, 만약 동시에 사용해야 하는경우라면 GPIO를 사용 하시는것이 낫다고 봅니다.