블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

I2C 통신속도 계산

C언어,ARM / 2020. 1. 11. 22:36

i2c통신으로 데이터를 32바이트씩, 64kbyte 읽으니, 약 11초가 걸린다.(GPIO방식)
저항은 10k옴(속도 100kHz)

32바이트를 읽기위해서는, 1+9+9+9+1+9+9*32+1=327bit가 필요.
32:327=64*1024:x
x=(327*64*1024)/32

 =669696비트/11초

 =약 60kHz/초


(327*64*1024)/32바이트/7초=95670.857143
약 7초가 나와야, 100kHz속도인데, 60%밖에 안나오고 있다.
i2c소스에서 불필요한 딜레이를 모두 제거후,
6.76초가 나왔다.
(327*64*1024)/32/6.76=99067.455621

100kHz에 99% 성능이다.

저항값은 약 5%오차가 있어, 실제로는 95%성능이 나올 수 도 있다.
이부분도 고려해야한다.
따라서 90%성능의 값을 사용하는것이 좋을듯 하다.

Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함