AD 보드에 많이 사용되는
scaler의 micom으로 사용되는 Realtek사의 RTD2120을 사용중입니다. 8051 계열의 micom이지요.
2120 밑에 RTC칩인 DS1307을 사용하고 있습니다.
2120이 I2C master이고 DS1307이 I2C slave입니다.
주기적으로 시간 정보를 읽어 옵니다.
그런데, 시간 읽어 오는것에서 가끔씩 이상한 값이 올라옵니다.
하드웨어적으로 확인해볼 사항은 댐핑 저항 100옴 적용했던것의 제거, pull-up 저항값의 변경등을 확인해봤습니다만. 해결이 안되네요.
실제로 10초 단위로 값을 읽어오게하여 뿌려보니 1시간이 못되서 잘못된 값이 올라옵니다.
년/월/일 순으로 읽어오는데, 년이 올 값에 월의 값이 오는등의 에러가 납니다.
"년"의 레지스터 어드레스와 "월"의 어드레스가 한비트 상이하여 날 수도 있을듯 합니다만.
에러중에서는 전혀 이상한 값이 올라올 때도 있습니다.
아직 에러 상황에서 스코프등으로 파형을 보지는 않았습니다... 확인을 해봐야겠지요.
여러분들의 조언 구합니다.
대전에서 ....
scaler의 micom으로 사용되는 Realtek사의 RTD2120을 사용중입니다. 8051 계열의 micom이지요.
2120 밑에 RTC칩인 DS1307을 사용하고 있습니다.
2120이 I2C master이고 DS1307이 I2C slave입니다.
주기적으로 시간 정보를 읽어 옵니다.
그런데, 시간 읽어 오는것에서 가끔씩 이상한 값이 올라옵니다.
하드웨어적으로 확인해볼 사항은 댐핑 저항 100옴 적용했던것의 제거, pull-up 저항값의 변경등을 확인해봤습니다만. 해결이 안되네요.
실제로 10초 단위로 값을 읽어오게하여 뿌려보니 1시간이 못되서 잘못된 값이 올라옵니다.
년/월/일 순으로 읽어오는데, 년이 올 값에 월의 값이 오는등의 에러가 납니다.
"년"의 레지스터 어드레스와 "월"의 어드레스가 한비트 상이하여 날 수도 있을듯 합니다만.
에러중에서는 전혀 이상한 값이 올라올 때도 있습니다.
아직 에러 상황에서 스코프등으로 파형을 보지는 않았습니다... 확인을 해봐야겠지요.
여러분들의 조언 구합니다.
대전에서 ....
다음검색
댓글
댓글 리스트-
작성자풀빵 작성시간 08.10.23 i2c read/write 함수가 잘못된거 같네요...읽어오는 데이타가 어느 순간부터 이상하다면.. 함수 시퀀스나..다른 IC 의 I2C 명령이 치고 들어간걸 수도 있거든요. 메인칩의 메모리가 이상한걸수도 있구요.
-
작성자방울 작성시간 08.10.23 말씀하신대로, 스코프로 어드레스 주욱 긁어서 읽어보시고, 해당 레지스터의 값이 나오는지 먼저 테스트해보셔야 할 것 같습니다. 1시간이라고하면, 계속적인 장비 운용에 그렇다는 말씀이시지요? 혹시, 전원 off 후에 다시 on하고 읽어보았을 때는 괜찮으신가요?