해보기는 했어?

오늘 안됐다고 포기하지 말고 용기내서 내일 다시 해 보자.

임베디드

24C02 clock Timing 맞추기

롬돌이 2023. 4. 26. 16:39
반응형

마이크로칩스 사의 24C02의 타이밍도가 위와 같이 되어 있다. 

그리고 타이밍도 설명에서 SCL(Serial clock)에 대한 관련 시간은

 

 

와 같이 설명되어 있다.

 

메가윈 IC 중 M3 코어를 이용해서 I2C를 설정할 때 해당 부분의 값을 계산하면

96MHz 클럭일 때 1 클럭 주기는 0.0104167us.

I2C2->SS_SCL_HCNT = 373; 

/* tHIGH = (373 + FS_SPKLEN + 7) / 96MHz = 4us */ // 4 = 0.0104167 * (373+4+7)

I2C2->SS_SCL_LCNT = 451; 

/* tLOW = (451 + 1) / 96MHz = 4.708us */  // 4.708 = 0.0104167 * (451+1)

I2C2->FS_SPKLEN = 4;     

/* tSP = 4 / 96MHz = 41.67ns */                                // SPIKE TIME = 50ns      , 4.8 ==> 5

I2C2->SDA_SETUP = 24;    

/* tSU;DAT = 24 / 96MHz = 250ns */                // SETUP Time >= 250ns , 23.99 ==> 24

I2C2->SDA_HOLD = 29;     

/* tHD;DAT = 29 / 96MHz = 302.08ns */  // TIMEhold >= 300ns , 28.799 ==> 29

와 같은 값이 계산 된다.

반응형

'임베디드' 카테고리의 다른 글

Atmel M90E32AS Study  (0) 2023.06.19
ADS131M02 SPI Communication words  (0) 2023.06.19
시리얼 통신 모니터링  (0) 2023.01.18
FreeRTOS - 3  (0) 2023.01.03
FreeRTOS - 2  (0) 2023.01.02