Skip to main content
ๆ”น่ฟ›ๅž‹้›†ๆˆ็”ต่ทฏๆ€ป็บฟ(I3C)ๆŽฅๅฃไธบ่ฟžๆŽฅ็š„ I3C ่ฎพๅค‡ๆไพ›ๅฟซ้€Ÿใ€ไฝŽๆˆๆœฌใ€ไฝŽๅŠŸ่€—็š„ 2 ็บฟๆ•ฐๅญ—ๆŽฅๅฃใ€‚
I3C ไป…ๆ”ฏๆŒ aDSP ไผ ๆ„Ÿๅ™จ้€šไฟกใ€‚ไธๆ”ฏๆŒ Linux ็”จไพ‹ใ€‚

ๆฆ‚่ฟฐ

ๆ€ป็บฟ็‰นๆ€ง

  • 2 ็บฟไธฒ่กŒๆŽฅๅฃ(SDA + SCL),ๆ”ฏๆŒๆœ€้ซ˜ 12.5 MHz
  • ๅœจๅŒไธ€ๆ€ป็บฟไธŠๅ‘ๅŽๅ…ผๅฎนไผ ็ปŸ I2C ่ฎพๅค‡
  • ๅœฐๅ€้˜ถๆฎต:400 kHz
  • ๆ•ฐๆฎ้˜ถๆฎต:12.5 MHz

้ซ˜็บง็‰นๆ€ง

  • ๅธฆๅ†…ไธญๆ–ญ(IBI)ๆ”ฏๆŒ
  • ็ƒญๅŠ ๅ…ฅ(Hot-join,ๅŠจๆ€ๆทปๅŠ ่ฎพๅค‡)
  • ๅŒๆญฅๆ—ถๅบๅ’Œๅผ‚ๆญฅๆ—ถ้—ดๆˆณ
  • ๅ†™ๆ“ไฝœๆœŸ้—ด็š„ 8 ไฝๆ•ฐๆฎๅฅ‡ๅถๆ ก้ชŒ
  • ็›ฎๆ ‡่ฎพๅค‡็š„ๅŠจๆ€ๅฏปๅ€
  • ๅ•ๅ€ๆ•ฐๆฎ้€Ÿ็އ(SDR)ๆจกๅผ
  • ็ฌฆๅˆ MIPI I3C ่ง„่Œƒ็š„ CCC(้€š็”จๅ‘ฝไปค็ )

ๆ•ฐๆฎ้˜ถๆฎตๆจกๅผ

ๆ•ฐๆฎๅŒ…ๅธง็ป“ๆž„

ๆ€ป็บฟๅˆๅง‹ๅŒ–

1

ๆŽงๅˆถๅ™จๅˆๅง‹ๅŒ–

I3C ๆŽงๅˆถๅ™จ้ฉฑๅŠจๅˆๅง‹ๅŒ–ๆŽงๅˆถๅ™จ,ๅŒ…ๆ‹ฌๅ›บไปถๅŠ ่ฝฝๅ’Œ้…็ฝฎ่ฎพ็ฝฎใ€‚
2

้…็ฝฎไธŽ่ฎพๅค‡ๆ•ฐๆฎๅบ“่ฏปๅ–

้ฉฑๅŠจ่ฏปๅ– I3C ้…็ฝฎๅ’Œ่ฎพๅค‡ๆ•ฐๆฎๅบ“:
  • I2C ้™ๆ€ๅœฐๅ€่ฎพๅค‡ๅˆ—่กจ
  • I3C ้™ๆ€ๅœฐๅ€่ฎพๅค‡ๅˆ—่กจ
  • ้ข„ๆœŸ็š„ I3C ๅŠจๆ€่ฎพๅค‡(ไพ›ๅบ”ๅ•† IDใ€่ฎพๅค‡ IDใ€้ข„ๅฎšไน‰ๅŠจๆ€ๅœฐๅ€ใ€ๅ…ณ่”้ฉฑๅŠจ)
  • ๅฏ้€‰็š„ๅ…่ฎธ็ƒญๅŠ ๅ…ฅ่ฎพๅค‡
3

่ฎพๅค‡ๆžšไธพ

้ฉฑๅŠจๆžšไธพๆ€ป็บฟไธŠ็š„่ฎพๅค‡ๅนถๅˆ†้…ๆœฌๅœฐๅœฐๅ€ใ€‚
4

ๆ€ป็บฟ้…็ฝฎ

้ฉฑๅŠจๅฐ†ๆ€ป็บฟ้…็ฝฎๅ†™ๅ…ฅๆŽงๅˆถๅ™จ:
  • ๅทฅไฝœ้ข‘็އ
  • ็บฏ/ไผ ็ปŸ I2C ๆจกๅผ
  • SDR/HDR ๅฏ็”จ/็ฆ็”จ
  • ๅ…ทๅค‡ IBI ่ƒฝๅŠ›็š„่ฎพๅค‡ๅ’Œ้ข„ๆœŸๆ•ฐๆฎๅญ—่Š‚ๆ•ฐ
5

ๅฎขๆˆท็ซฏ่ฝฏไปถ้…็ฝฎ

ๅฎขๆˆท็ซฏ่ฝฏไปถๆŽฅๆ”ถ I2C/I3C ่ฎพๅค‡ๅŠ็ƒญๅŠ ๅ…ฅ่ฎพๅค‡็š„่ฎพๅค‡ๅˆ—่กจๅ’Œ้…็ฝฎใ€‚

่ฝฏไปถ้…็ฝฎ

ๅ›บไปถๅŠ ่ฝฝ

QUP v3 ไธฒ่กŒๅผ•ๆ“Ž็š„ I3C ๅ›บไปถๅœจ aDSP ๅฏๅŠจๆœŸ้—ด้š SSC QUP ไธ€่ตทๅŠ ่ฝฝใ€‚ ้…็ฝฎๆ–‡ไปถ:
ไธฒ่กŒๅผ•ๆ“Ž้…็ฝฎ็คบไพ‹:

GPIO ้…็ฝฎ

ๅ„ไธฒ่กŒๅผ•ๆ“Ž็š„้ป˜่ฎค GPIO ้…็ฝฎไฝไบŽ:
่ฆ†็›–็คบไพ‹:
TLMM_MAP(active_pull, drive_strength, sleep_pull) โ€” I3C ไฝฟ็”จๆฟ€ๆดปไธŠๆ‹‰ใ€2 mA ้ฉฑๅŠจใ€็ก็œ ไฟๆŒ(keeper)ใ€‚

API

ๆ•…้šœๆŽ’้™ค

  • ้ชŒ่ฏ SDA/SCL ็‰ฉ็†่ฟžๆŽฅๅ’ŒไธŠๆ‹‰็”ต้˜ป(1โ€“4.7 kฮฉ)
  • ็กฎ่ฎคไพ›ๅบ”ๅ•† ID ๅ’Œ่ฎพๅค‡ ID ไธŽ้ข„ๆœŸๅ€ผๅŒน้…
็—‡็Šถ: ๆžšไธพๆœŸ้—ด่ฎพๅค‡ๆ— ๅ“ๅบ”ใ€‚้ชŒ่ฏๅœฐๅ€้˜ถๆฎต SCL ้ข‘็އไธบ 400 kHzใ€‚ๅฆ‚ๆœ‰้œ€่ฆ,่ฐƒๆ•ดๅ›บไปถ้…็ฝฎไธญ็š„ๆ—ถ้’Ÿๅˆ†้ข‘ๅ™จ่ฎพ็ฝฎใ€‚
็—‡็Šถ: ๆ•ฐๆฎๆŸๅๆˆ–่ฏป/ๅ†™ๅคฑ่ดฅใ€‚ๆฃ€ๆŸฅๆ€ป็บฟ็”ตๅฎน โ€” ๅฟ…่ฆๆ—ถๅ‡ๅฐใ€‚้ชŒ่ฏๆ•ฐๆฎ้˜ถๆฎต SCL ้ข‘็އไธบ 12.5 MHzใ€‚
  • ้ชŒ่ฏ้…็ฝฎไธญๅทฒๅฏ็”จ็ƒญๅŠ ๅ…ฅ
  • ๅฐ†่ฎพๅค‡ๆทปๅŠ ๅˆฐๅ…่ฎธ็ƒญๅŠ ๅ…ฅ็š„ๅˆ—่กจ(ไพ›ๅบ”ๅ•† ID + ่ฎพๅค‡ ID)
  • ๆฃ€ๆŸฅ IBI ้…็ฝฎๅ’Œ่ฎพๅค‡ไธŠ็”ต้กบๅบ
  • ้ชŒ่ฏๆ€ป็บฟๆจกๅผ(็บฏๆจกๅผไธŽไผ ็ปŸ I2C ๆจกๅผ)
  • ๆฃ€ๆŸฅ I2C ไธŽ I3C ่ฎพๅค‡ไน‹้—ดๆ˜ฏๅฆๅญ˜ๅœจๅœฐๅ€ๅ†ฒ็ช
  • ็กฎ่ฎคๅผ€ๆผไธŽๆŽจๆŒฝๆจกๅผๅˆ‡ๆขๆญฃ็กฎ
  • ๅœจ้…็ฝฎไธญไธบ็‰นๅฎš่ฎพๅค‡ๅฏ็”จ IBI
  • ้…็ฝฎๆญฃ็กฎ็š„้ข„ๆœŸๆ•ฐๆฎๅญ—่Š‚ๆ•ฐ
  • ้ชŒ่ฏไธญๆ–ญๅค„็†็จ‹ๅบๆณจๅ†Œ
็—‡็Šถ: ้—ดๆญ‡ๆ€ง้€šไฟกๅคฑ่ดฅใ€‚
  • ๆต‹้‡ SDA ๅ’Œ SCL ไธŠ็š„ไธŠๅ‡/ไธ‹้™ๆ—ถ้—ด
  • ่ฐƒๆ•ดไธŠๆ‹‰็”ต้˜ปๅ€ผ
  • ๆทปๅŠ ไธฒ่”็ปˆ็ซฏ็”ต้˜ป
  • ็ผฉ็Ÿญๆ€ป็บฟ้•ฟๅบฆๆˆ–ๅ‡ๅฐ็”ตๅฎน

ๅธธ่ง้”™่ฏฏ็ 

่ต„ๆบ

  • MIPI I3C ่ง„่Œƒ
  • Qualcomm Linux ๆŽฅๅฃๆŒ‡ๅ—
  • QUP v3 ไธฒ่กŒๅผ•ๆ“Žๆ–‡ๆกฃ