Toby's Study Blog
article thumbnail

๐Ÿงฟ I2C (Inter-Integrated Circuit) ํ†ต์‹ ์ด๋ž€?

 MCU(Master) - ์†Œ์ž(Slave)๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ํ†ต์‹  ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ ํด๋ฝ ์„ , ๋ฐ์ดํ„ฐ ์„ ์„ ์ด์šฉํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค.
 ๊ฐ ์„ ์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ์ €ํ•ญ์„ ํ†ตํ•ด ์ „์••์„ ์ธ๊ฐ€์‹œ์ผœ ๋‘ ์„ ์„ ๋ชจ๋‘ High(Enable) ์ƒํƒœ๋กœ ๋งŒ๋“  ํ›„ MCU๋ฅผ ํ†ตํ•ด
 ํ•ด๋‹น ์„ ์— ํ†ต์‹ ์— ํ•„์š”ํ•œ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด ํ†ต์‹ ํ•œ๋‹ค.
 (โ€ป MCU(Master)์—์„œ ์ „์ฒด์ ์œผ๋กœ ํ†ต์‹ ์„ ์ œ์–ดํ•˜๋ฉฐ ๋–„๋ฌธ์— Slave ๋ผ๋ฆฌ์˜ ๋…์ž์ ์ธ ํ†ต์‹ ์€ ๋Œ€์ฒด๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค.)

I2C ํ†ต์‹  ์—ฐ๊ฒฐ ๊ตฌ์กฐ

๐Ÿงฟ Master

Master๋Š” ๋ณดํ†ต ์‚ฌ์šฉํ•˜๋Š” MCU๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค.
 1. I2C ํ†ต์‹  ์‹œ์ž‘ ๋ฐ ์ค‘์ง€ ์ œ์–ด
 I2C ํ†ต์‹ ์— ๋Œ€ํ•œ ์‹œ์ž‘ ๋ฐ ์ •์ง€๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์‹œ์ž‘ ๋ฐ ์ •์ง€ ์‹œํ‚จ๋‹ค.
 2. ์Šฌ๋ ˆ์ด๋ธŒ ์ฃผ์†Œ ์ง€์ •
 ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” Slave๋“ค์˜ ์ฃผ์†Œ๋ฅผ 7๋น„ํŠธ๋กœ ํ• ๋‹นํ•˜๊ณ  ์ฃผ์†Œ ๋’ค์— Read / Write ๋น„ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด ํ•ด๋‹น Slave์—
 ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๊ฒƒ์ธ์ง€ ํ•„์š”์— ๋”ฐ๋ผ ์„ค์ •ํ•œ๋‹ค. 
 3. ํด๋ก ์†๋„ ๋™๊ธฐํ™”
ํด๋ก ์‹ ํ˜ธ(SCL)์„ ์ƒ์„ฑํ•˜์—ฌ SCL ๋ผ์ธ์„ ํ†ตํ•ด ์‹ ํ˜ธ๋ฅผ Slave๋“ค์—๊ฒŒ ๋ณด๋‚ด๊ณ  ํ•ด๋‹น ์‹ ํ˜ธ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์†Œ์ž์˜ ํด๋ก ์†๋„๋ฅผ
๋™๊ธฐํ™” ์‹œํ‚จ๋‹ค. 

 4. SDA ๋ฐ SCL ์‹ ํ˜ธ ์ œ์–ด
SDA ๋ฐ SCL ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ Slave์—๊ฒŒ ๋ณด๋‚ด๊ณ  Slave๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ์‹ ํ˜ธ๋ฅผ ๊ฐ์ง€ํ•œ๋‹ค.
๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹  ํ•  ๋•Œ ์ด์ง„ ๋น„ํŠธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌ ํ•œ๋‹ค. 

 5. ACK, NACK ์‹ ํ˜ธ ์†ก์ˆ˜์‹ 
๋ฐ์ดํ„ฐ ์ˆ˜์‹  ํ›„ ์„ฑ๊ณต ์‹œ ACK ์‹ ํ˜ธ, ์‹คํŒจ ์‹œ NACK ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค.
 6. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ
ํ†ต์‹  ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ์ข… ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•œ๋‹ค. 

 

๐Ÿงฟ Slave 

Slave๋Š” MCU์™€ ํ†ต์‹ ์ด ํ•„์š”ํ•œ ๊ฐ์ข… ์†Œ์ž๋“ค์„ ์˜๋ฏธํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค.
 1. ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ 
 Master๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹  ๋ฐ›๊ฑฐ๋‚˜ ์†ก์‹  ํ•œ๋‹ค.
 2. ACK, NACK ์‹ ํ˜ธ ์†ก์ˆ˜์‹ 
 ๋ฐ์ดํ„ฐ ์ˆ˜์‹  ํ›„ ์„ฑ๊ณต ์‹œ ACK ์‹ ํ˜ธ, ์‹คํŒจ ์‹œ NACK ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค.

 3. ์ƒํƒœ ๊ด€๋ฆฌ ๋ฐ ๋™์ž‘
 Master๋กœ ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹  ๋ฐ›์•„ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ  ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•œ ๋™์ž‘์„ ํ•œ๋‹ค.
 4. ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ
 ํ†ต์‹  ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ์ข… ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•œ๋‹ค. 

๐Ÿงฟ ํ†ต์‹  ๋ฐฉ๋ฒ•

 4.1 ํ†ต์‹  ์‹œ์ž‘
      SCL : High , SDA : High -> Low 
      SDA๋ฅผ High์—์„œ Low๋กœ ๋ฐ”๊พธ์–ด Slave์— ํ†ต์‹ ์„.์‹œ์ž‘ํ•œ๋‹ค๋Š” ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค.
      (โ€ป SDA์™€ SCL ์„ ์€ ํ’€์—… ์ €ํ•ญ์— ์˜ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ High ์ด๋ฉฐ SDA๊ฐ€ Low ์ƒํƒœ ์ผ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ 
           High ์ƒํƒœ์ผ ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜์ง€ ์•Š๋Š”๋‹ค.)
4.2 ์Šฌ๋ ˆ์ด๋ธŒ ์ฃผ์†Œ ์ „์†ก 
      Master(MCU)์—์„œ ํ†ต์‹ ํ•  ์Šฌ๋ ˆ์ด๋ธŒ ์žฅ์น˜์˜ I2C ์ฃผ์†Œ๋ฅผ 7๋น„ํŠธ๋กœ ์ „์†กํ•œ๋‹ค. 
4.3 ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ 
      MCU -> Slave ๋˜๋Š”  Slave -> MCU๋กœ ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค.
      SCL ํด๋ก์ด Low ์ผ ๋•Œ Master(MCU)์—์„œ Slave๋กœ ๋ถ€ํ„ฐ ์†ก/์ˆ˜์‹  ํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ด์ง„ ๋น„ํŠธํ™” ํ•œ๋‹ค.
      SCL ํด๋ก์ด High ์ผ ๋•Œ ์ด์ง„ ๋น„ํŠธํ™”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š”๋‹ค.

4.4 ํ†ต์‹  ์ข…๋ฃŒ

     SCL: High , SDA : Low -> High 
     SDA๋ฅผ Low์—์„œ High๋กœ ๋ฐ”๊พธ์–ด Slave์— ํ†ต์‹ ์„ ์ข…๋ฃŒํ•œ๋‹ค๋Š” ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค.

4.5 ์‘๋‹ต ์‹ ํ˜ธ ์†ก์‹ 
      1) ACK ์‹ ํ˜ธ 

       Slave ์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ Master ์—์„œ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์‹  ์™„๋ฃŒ ๋ฐ
       Master ์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ Slave ์—์„œ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์‹  ์™„๋ฃŒ ํ•˜์˜€์„ ๊ฒฝ์šฐ Master์—์„œ ACK ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
     2) NACK ์‹ ํ˜ธ  
       Slave ์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ Master ์—์„œ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์‹  ์™„๋ฃŒํ•˜์ง€ ๋ชปํ•˜์˜€์„ ๊ฒฝ์šฐ ๋ฐ 
       Master ์—์„œ ๋ณด๋‚ธ ๋ฐ์ดํ„ฐ๋ฅผ Slave ์—์„œ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜์‹  ์™„๋ฃŒํ•˜์ง€ ๋ชปํ•˜์˜€์„ ๊ฒฝ์šฐ Master์—์„œ NACK ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

 

[์ฐธ์กฐ]
https://blog.naver.com/yuyyulee/220323559541

'embedded' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[stm32] RTOS ์ด๋ก  ์ •๋ฆฌ  (0) 2023.09.11
[stm32] I2C ํ†ต์‹  ์‹ค์Šต  (0) 2023.09.11
[stm32] ADC & DMA ์‹ค์Šต  (0) 2023.09.06
[stm32] ADC & DMA ์ด๋ก  ์ •๋ฆฌ  (0) 2023.09.06
[stm32] UART ์‹ค์Šต  (0) 2023.08.30
profile

Toby's Study Blog

@Toby12

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!

๊ฒ€์ƒ‰ ํƒœ๊ทธ