I²C ທຽບກັບ SPI ສໍາລັບເຊັນເຊີຄວາມກົດດັນ —ຄູ່ມືການເລືອກການໂຕ້ຕອບ

ຄູ່ມືວິສະວະກໍາ

I²C ທຽບກັບ SPI ສໍາລັບເຊັນເຊີຄວາມກົດດັນ — ເລືອກລົດເມທີ່ຖືກຕ້ອງ ຫຼືກຽດຊັງການຈັດວາງຂອງເຈົ້າໃນພາຍຫຼັງ

ທ່ານໄດ້ເລືອກເຊັນເຊີຄວາມດັນຂອງທ່ານ. ທ່ານຮູ້ຈັກລະດັບ, ຄວາມຖືກຕ້ອງ, ຊຸດ. ຫຼັງຈາກນັ້ນ, ທ່ານຈະເຫັນສອງຕົວແປໃນຫນ້າການສັ່ງຊື້: I²C ແລະ SPI. ເຊັນເຊີດຽວກັນ. ລາຄາດຽວກັນ. ສີ່ຕົວອັກສອນທີ່ແຕກຕ່າງກັນ. ນີ້ແມ່ນວິທີການຕັດສິນໃຈ - ດ້ວຍຕົວເລກທີ່ແທ້ຈິງ, ບໍ່ແມ່ນທິດສະດີປື້ມຮຽນ.


The ສອງນາທີ Refresher

ຂ້າມອັນນີ້ໄປ ຖ້າເຈົ້າໄດ້ສາຍລົດເມທັງສອງມາກ່ອນ. ຖ້າທ່ານບໍ່ມີ, ນີ້ແມ່ນພຽງພໍທີ່ຈະປະຕິບັດຕາມສ່ວນທີ່ເຫຼືອຂອງບົດຄວາມ:

I²C
  • ສາຍໄຟ: 2 — SDA (ຂໍ້ມູນ) + SCL (ໂມງ)
  • ປະເພດສັນຍານ: ທໍ່ລະບາຍນ້ໍາເປີດ, ດຶງສູງດ້ວຍຕົວຕ້ານທານ
  • ທີ່ຢູ່: ທີ່ຢູ່ 7-bit ຕໍ່ອຸປະກອນ
  • ທິດທາງ: ເຄິ່ງຄູ່
  • ຄວາມໄວ: 100 kHz / 400 kHz / 1 MHz / 3.4 MHz
  • ການຄວບຄຸມ: ແມ່ບົດລິເລີ່ມ; ຂ້າທາດຕອບເມື່ອຖືກແກ້ໄຂເທົ່ານັ້ນ
SPI
  • ສາຍໄຟ: 4 — MOSI, MISO, SCLK + 1× CS ຕໍ່ອຸປະກອນ
  • ປະເພດສັນຍານ: Push-pull CMOS
  • ທີ່ຢູ່: ບໍ່ມີ — ສາຍ CS ເລືອກອຸປະກອນ
  • ທິດທາງ: ເຕັມ duplex
  • ຄວາມໄວ: 1 MHz ຫາ 50 MHz
  • ການຄວບຄຸມ: ແມ່ບົດຄວບຄຸມໂມງ; ບໍ່ມີໂມງຍືດຍາວ

ໃນຈຸດນີ້, ທ່ານອາດຈະຄິດວ່າ: "SPI is faster, so SPI wins, end of article." ບໍ່ຂ້ອນຂ້າງ — ຄວາມໄວເກືອບບໍ່ສໍາຄັນສໍາລັບເຊັນເຊີຄວາມກົດດັນ. ນີ້ແມ່ນເຫດຜົນ.


ການໂຕ້ຖຽງຄວາມໄວທີ່ບໍ່ສໍາຄັນ

ເຊັນເຊີຄວາມກົດດັນ MEMS ປົກກະຕິໃຊ້ເວລາອ່ານທຸກໆຄັ້ງ 1 ຫາ 100 ມິນລິວິນາທີ — ເວລາປ່ຽນ ADC ຄອບງຳ, ບໍ່ແມ່ນຄວາມໄວລົດເມ. ເຖິງແມ່ນວ່າຢູ່ທີ່ 1 ms ຕໍ່ຕົວຢ່າງ (1 kHz ຕົວຢ່າງ), ທ່ານກໍາລັງຊຸກຍູ້ບາງທີ 48 bits ຕໍ່ການອ່ານ. ນັ້ນຄື 48 kbps.

I²C ທີ່ 400 kHz ໂອນ ~ 320 kbps ຫຼັງຈາກ overhead. SPI ຢູ່ 1 MHz ໂອນ 1 Mbps. ບໍ່ວ່າຈະເປັນ 7× ຫາ 20× ໄວ ກ່ວາອັດຕາຂໍ້ມູນຂອງເຊັນເຊີ. ເວັ້ນເສຍແຕ່ວ່າທ່ານກໍາລັງເກັບຕົວຢ່າງໃນຄວາມຖີ່ ultrasonic — ທີ່ທ່ານບໍ່ໄດ້, ເນື່ອງຈາກວ່າຄວາມກົດດັນບໍ່ມີການປ່ຽນແປງໄວນັ້ນ — ຄວາມໄວລົດເມແມ່ນບໍ່ກ່ຽວຂ້ອງ. ເຊັນເຊີແມ່ນຄໍຂວດ, ບໍ່ແມ່ນສາຍໄຟ.

ເສັ້ນທາງລຸ່ມສຸດຄວາມໄວ: ບໍ່ສໍາຄັນ. ADC ຂອງເຊັນເຊີແມ່ນປັດໃຈຈໍາກັດ. ຕັດສິນໃຈກ່ຽວກັບເຫດຜົນອື່ນໆ.


Pin Count: ການໂຕ້ຖຽງທີ່ຈິງແລ້ວກ່ຽວກັບກະດານນ້ອຍ

ສະຖານະການໃຊ້ເຂັມ I²Cເຂັມ SPI ໃຊ້ແລ້ວ
1 ເຊັນເຊີ2(SDA+SCL)4 (MOSI + MISO + SCLK + CS)
2 ເຊັນເຊີ2 (ລົດເມທີ່ໃຊ້ຮ່ວມກັນ)5 (ລົດເມທີ່ໃຊ້ຮ່ວມກັນ + 2× CS)
4 ເຊັນເຊີ2 (ລົດເມທີ່ໃຊ້ຮ່ວມກັນ)7 (ລົດເມທີ່ໃຊ້ຮ່ວມກັນ + 4× CS)

ຖ້າ MCU ຂອງເຈົ້າເປັນ STM32 ທີ່ມີ 80 GPIOs — ໃຜສົນໃຈ. ແຕ່ຢູ່ໃນ ESP32-C3 ທີ່ມີ 15 GPIO ທີ່ໃຊ້ໄດ້ທີ່ແລ່ນຈໍສະແດງຜົນ, BLE, ສອງປຸ່ມ, ແລະ SD card — 2 pins ພິເສດສໍາລັບ SPI sting. I²C ຊ່ວຍປະຢັດ pins ໃຫ້ທ່ານໂດຍບໍ່ຄໍານຶງເຖິງຈໍານວນເຊັນເຊີແບ່ງປັນລົດເມ.

ຫມາຍ​ເຫດ​: I²C ຄ່າ​ໃຊ້​ຈ່າຍ​ຂອງ​ທ່ານ​ ສອງຕົວຕ້ານທານທີ່ດຶງຂຶ້ນ. SPI ບໍ່ມີຄ່າໃຊ້ຈ່າຍໃດໆ. ສອງຕົວຕ້ານທານ 4.7 kΩ 0402 ມີມູນຄ່າປະມານ $ 0.002 ທັງຫມົດແລະໃຊ້ເວລາເຖິງ 2 mm²ຂອງພື້ນທີ່ກະດານ - ບໍ່ແມ່ນບໍ່ມີຫຍັງ, ແຕ່ຢູ່ໃກ້ກັບມັນ.

ເສັ້ນລຸ່ມສຸດ pins: I²C ຊະນະເມື່ອ GPIOs ແໜ້ນ. ດ້ວຍ MCU ທີ່ອຸດົມສົມບູນດ້ວຍເຂັມ, ປະໂຫຍດຈະຫາຍໄປ - ຕັດສິນໃຈກ່ຽວກັບປັດໃຈອື່ນໆ.


ການອອກແບບຫຼາຍເຊັນເຊີ: ບ່ອນທີ່ I²C ສ່ອງແສງຕົວຈິງ

ເຊັນເຊີຄວາມດັນສາມອັນຢູ່ໃນ PCB ດຽວກັນ — ຫນຶ່ງໃນການອ້າງອີງ barometric, ລະດັບຖັງຫນຶ່ງ, ຫນຶ່ງປ່ຽງປ່ຽງ. ດ້ວຍ I²C: ມອບໝາຍແຕ່ລະເຊັນເຊີທີ່ຢູ່ຕ່າງກັນ, ສາຍ SDA ແລະ SCL ໃນຂະໜານ, ແລ້ວໆ. ສອງຮ່ອງຮອຍ. ສາມເຊັນເຊີ. ບໍ່ມີເຂັມ MCU ພິເສດ. ດ້ວຍ SPI: ສາມສາຍ CS ແຍກຕ່າງຫາກຢູ່ເທິງສຸດຂອງ MOSI/MISO/SCLK ທີ່ແບ່ງປັນ — ທັງໝົດຫົກສາຍ.

ລະວັງ: ອຸປະກອນ I²C ຕ້ອງການທີ່ຢູ່ທີ່ເປັນເອກະລັກ. ເຊັນເຊີຄວາມກົດດັນສ່ວນໃຫຍ່ສະເຫນີໃຫ້ແນ່ນອນ ສອງທີ່ຢູ່ (ເຂັມຂັດສູງ ຫຼື ຕ່ຳ). ນັ້ນຫມາຍຄວາມວ່າທ່ານໄດ້ຮັບເຊັນເຊີສອງຕົວຢູ່ໃນລົດເມກ່ອນທີ່ຈະຕ້ອງການຕົວຄູນ I²C ເຊັ່ນ TCA9548A — ເຊິ່ງເພີ່ມ ~$0.50 ແລະສອງສາມມມ². SPI ບໍ່ມີຂອບເຂດຈໍາກັດດັ່ງກ່າວ; ພຽງແຕ່ເພີ່ມສາຍ CS ຕໍ່ເຊັນເຊີ.

ເສັ້ນລຸ່ມສຸດຫຼາຍເຊັນເຊີ: I²C ຊະນະສໍາລັບຄວາມງ່າຍດາຍຂອງສາຍໄຟເຖິງສອງເຊັນເຊີທີ່ຄືກັນ. ນອກເຫນືອຈາກນັ້ນ, ໃຫ້ໃຊ້ SPI ຫຼື I²C mux — ບໍ່ວ່າຈະດີກວ່າຢ່າງຊັດເຈນ, ມັນເປັນການເອີ້ນແບບ.


ພູມຕ້ານທານສິ່ງລົບກວນ: ເປັນບ່ອນທີ່ SPI ດຶງໄປຂ້າງຫນ້າ

ເຊັນເຊີຄວາມດັນຄວາມລະອຽດສູງວັດແທກການປ່ຽນແປງເລັກນ້ອຍເຖິງ 0.03 hPa — ປະມານນ້ຳໜັກຂອງຍຸງທີ່ລົງມາເທິງໂຕະເຮັດວຽກຂອງທ່ານ, ແປເປັນສັນຍານໄຟຟ້າ. ໃນການແກ້ໄຂນັ້ນ, ສິ່ງລົບກວນມີຄວາມສໍາຄັນ.

I²C ລັກສະນະສຽງລົບກວນ

ທໍ່ລະບາຍນ້ໍາເປີດທີ່ມີຕົວຕ້ານທານທີ່ດຶງຂຶ້ນຈະຜະລິດຂອບທາງລາດ RC, ບໍ່ແມ່ນການປ່ຽນ CMOS ທີ່ສະອາດ. ມູນຄ່າການດຶງຂຶ້ນເປັນການປະນີປະນອມ: ພະລັງງານຂີ້ເຫຍື້ອທີ່ເຂັ້ມແຂງເກີນໄປ; ອ່ອນແອເກີນໄປເຮັດໃຫ້ເວລາເພີ່ມຂຶ້ນຊ້າລົງແລະເປີດປ່ອງຢ້ຽມສໍາລັບການເຊື່ອມຕໍ່ສິ່ງລົບກວນ. ໃນສະພາບແວດລ້ອມທີ່ມີສຽງດັງ - ຖັດຈາກໄດເວີມໍເຕີ, ເຄື່ອງຄວບຄຸມການສະຫຼັບ, ຫຼືສິ່ງໃດກໍ່ຕາມທີ່ມີ PWM - I²C ສາມາດຂັດໄດ້. ໂປຣໂຕຄໍບໍ່ມີການກວດພົບຂໍ້ຜິດພາດໃນຕົວນອກເໜືອໄປຈາກບິດ ACK (ບາງເຊັນເຊີເພີ່ມ CRC byte ໃສ່ payload, ເຊິ່ງຊ່ວຍໄດ້).

ຄຸນລັກສະນະຂອງສິ່ງລົບກວນ SPI

Push-pull CMOS ໄດເວີຢ່າງຫ້າວຫັນຂັບທັງລັດສູງແລະຕ່ໍາ. ຂອບແມ່ນແຫຼມ. ເສັ້ນທາງ CS ຈະເຂົ້າປະຕູຢ່າງແນ່ນອນເມື່ອຂ້າໃຊ້ຄວນຟັງ — ການລະເລີຍທຸກສິ່ງທຸກຢ່າງຢູ່ໃນລົດເມຕະຫຼອດເວລາທີ່ເຫຼືອ. ໂດຍປົກກະຕິ SNR ດີກວ່າ.

ໃນທາງປະຕິບັດ, ແຜນຜັງ PCB ທີ່ສະອາດທີ່ມີຮ່ອງຮອຍສັ້ນ, ຍົນພື້ນດິນ, ແລະຫມວກ bypass ຈະເຮັດໃຫ້ I²C ມີຄວາມສຸກໃນການອອກແບບສ່ວນໃຫຍ່. ແຕ່ຖ້າເຊັນເຊີຂອງທ່ານຢູ່ໃນສາຍເຄເບີ້ນຫ່າງຈາກ MCU ປະມານຫນຶ່ງແມັດ, ຫຼືແບ່ງປັນສິ່ງຫຸ້ມຫໍ່ກັບສິ່ງໃດກໍ່ຕາມທີ່ປ່ຽນ amps ຂອງປະຈຸບັນ - ພູມຕ້ານທານສຽງຂອງ SPI ແມ່ນປະໂຫຍດທີ່ແທ້ຈິງ.

ເສັ້ນທາງລຸ່ມກ່ຽວກັບສິ່ງລົບກວນ: SPI ແມ່ນທາງເລືອກທີ່ປອດໄພກວ່າໃນສະພາບແວດລ້ອມທີ່ເປັນສັດຕູກັນທາງໄຟຟ້າ. ໃນ PCB ດຽວກັນສອງສາມຊັງຕີແມັດຈາກ MCU, I²C ແມ່ນດີ.


ຄວາມສັບສົນຂອງເຟີມແວ: Tiebreaker ບໍ່ມີໃຜເວົ້າກ່ຽວກັບ

I²C ເຟີມແວ

A state machine. Start condition → send address + R/W bit → wait for ACK → read/write register pointer → read/write data → stop condition. Every step has a timeout, a retry path, and a "what if the sensor holds SDA low because it's still converting" case. Most MCU vendors provide a HAL. Most of those HALs have edge-case bugs you'll discover at 11 PM.

ເຟີມແວ SPI

Assert CS → shift bytes → de-assert CS. That's it. The sensor doesn't get to say "I'm not ready" by clock-stretching or NAKing. The master controls the clock; the slave responds or stays silent.

ການແກ້ບັນຫາຄວາມເຈັບປວດ: ເມື່ອ SPI ບໍ່ເຮັດວຽກ, ທ່ານສືບສວນສີ່ແຖວດ້ວຍຕົວວິເຄາະເຫດຜົນແລະເບິ່ງວ່າມີຫຍັງເກີດຂຶ້ນ. ເມື່ອ I²C ບໍ່ເຮັດວຽກ, ເຈົ້າເບິ່ງໜ້າຈໍທີ່ເຕັມໄປດ້ວຍ NAK ແລະສົງໄສວ່າມັນເປັນຄ່າດຶງຂຶ້ນ, ທີ່ຢູ່, ເວລາ ຫຼື ຄວາມຈຸຂອງລົດເມ. ເຄື່ອງວິເຄາະເຫດຜົນ $8 ແກ້ໄຂທັງສອງຢ່າງ — ແຕ່ I²C ຈະເຜົາຜານເວລາຂອງເຈົ້າຫຼາຍຂຶ້ນ.

ເສັ້ນທາງລຸ່ມສຸດຂອງເຟີມແວ: SPI ແມ່ນໂລຫະເປົ່າທີ່ຫນ້າລໍາຄານຫນ້ອຍ. ດ້ວຍ HAL ຫຼືຫ້ອງສະຫມຸດ, ມັນເປັນການລ້າງປະມານ. I²C ໃຊ້ເວລາດົນກວ່າທີ່ຈະດີບັກເມື່ອມັນແຕກ.


ການບໍລິໂພກພະລັງງານ: ທັງສອງແມ່ນຄວາມຜິດພາດຮອບ

ລົດເມ 400 kHz I²C ທີ່ມີ 4.7 kΩ pull-ups ບາດແຜປະມານ 0.7 mA ໃນຂະນະທີ່ມີການເຄື່ອນໄຫວ. SPI ເຜົາໄຫມ້ບໍ່ມີຫຍັງທີ່ສໍາຄັນໃນລະດັບລົດເມ - CMOS ສະຫຼັບກະແສໄຟຟ້າທີ່ຄວາມໄວເຫຼົ່ານີ້ (microamps).

Context: the pressure sensor element and ADC draw ~5 µA at 1 Hz sampling and 0.3 µA in standby. Whether the bus burns 0.5 mA or 0.05 mA for the 2 ms it takes to read a sample — the energy difference is picowatt-hours. Your BLE radio burns more power sending one "hello" packet than the bus choice will save across the sensor's entire operating lifetime.

ເສັ້ນທາງລຸ່ມສຸດຂອງພະລັງງານ: ຢ່າເລືອກ I²C ຫຼື SPI ໂດຍອີງໃສ່ພະລັງງານ. ຄວາມແຕກຕ່າງແມ່ນນ້ອຍເກີນໄປທີ່ຈະສຳຄັນ. ຕັດ​ສິນ​ໃຈ​ກ່ຽວ​ກັບ pins, ສິ່ງ​ລົບ​ກວນ, ຫຼື firmware sanity ແທນ.


ກະແສການຕັດສິນໃຈ — ສີ່ຄຳຖາມ, ບໍ່ມີມາຕຣິກເບື້ອງ

ທີ 1ມີເຊັນເຊີທີ່ຄືກັນຫຼາຍປານໃດໃນລົດເມຄັນດຽວ?

ຫນຶ່ງ → ທັງສອງເຮັດວຽກ

ບໍ່ມີປະໂຫຍດທາງໃດກໍ່ຕາມ. ຍ້າຍໄປຄໍາຖາມ 2.

ສອງ → I²C ອາດຈະຊະນະ

ສອງທີ່ຢູ່, ສອງສາຍ. ເວັ້ນເສຍແຕ່ວ່າເຊັນເຊີຢູ່ຫ່າງໄກ - ຫຼັງຈາກນັ້ນ SPI.

ສາມຫຼືຫຼາຍກວ່ານັ້ນ → SPI

ເວັ້ນເສຍແຕ່ວ່າທ່ານມັກອ່ານແຜ່ນຂໍ້ມູນ I²C multiplexer.

2ເຊັນເຊີຈາກ MCU ໄກເທົ່າໃດ?

PCB ດຽວກັນ, <100 ມມ → ບໍ່ວ່າຈະ

I²C ແມ່ນດີໃນລະດັບກະດານດ້ວຍຮູບແບບທີ່ສະອາດ.

ສາຍ >200 ມມ → SPI

ຫຼື I²C ກັບ buffer ຄວາມແຕກຕ່າງ (PCA9615). I²C ບໍ່ເຄີຍຖືກອອກແບບສໍາລັບສາຍໄຟ.

>1 ແມັດ → ບໍ່

ໃຊ້ 4–20 mA ຫຼື RS-485. ທ່ານຢູ່ໃນອານາເຂດເຄື່ອງສົ່ງອຸດສາຫະກໍາ.

3ສະພາບແວດລ້ອມ EMI ແມ່ນຫຍັງ?

PCB ງຽບ, ບໍ່ມີມໍເຕີ → ທັງສອງ

ການຈັດວາງທີ່ສະອາດດ້ວຍຝາປິດທາງຜ່ານເຮັດໃຫ້ I²C ມີຄວາມສຸກ.

BLDC, GSM, buck converter ໃກ້ຄຽງ → SPI

ໄດເວີແບບຍູ້ ແລະ CS gating ຈະປ້ອງກັນການອ່ານ phantom.

4ເຈົ້າເປັນຄົນຂຽນໄດເວີບໍ?

HAL / ຫ້ອງສະຫມຸດມີຢູ່ → ບໍ່ວ່າຈະ

ການບໍ່ມີຕົວຕົນເຮັດໃຫ້ຄວາມແຕກຕ່າງບໍ່ມີເຫດຜົນ. ໃຊ້ສິ່ງທີ່ສ່ວນທີ່ເຫຼືອຂອງກະດານໃຊ້.

ການຂຽນຈາກ scratch → SPI

ລັດໜ້ອຍລົງ, ບໍ່ມີໂມງຍືດຍາວ, ບໍ່ມີທີ່ຢູ່ຂັດກັນ.

ກຳລັງສົ່ງຫ້ອງສະໝຸດ Arduino → I²C

ຫໍສະໝຸດເຊັນເຊີທີ່ເຮັດຕາມໃຈມັກສ່ວນໃຫຍ່ຈະເລີ່ມເປັນ I²C. ກວດເບິ່ງຫ້ອງສະຫມຸດກ່ອນ.


The "Why Not Both" Card

ການໂຕ້ຕອບຄູ່

ບາງເຊັນເຊີສົ່ງກັບ ທັງ I²C ແລະ SPI ຢູ່ໃນຕົວຕາຍດຽວກັນ, ສາມາດເລືອກໄດ້ຜ່ານສາຍ pin ຫຼືລົງທະບຽນ bit. ນີ້ແມ່ນເປັນປະໂຫຍດແທ້ໆໃນສອງສະຖານະການ:

ຄວາມຍືດຫຍຸ່ນຂອງຕົວແບບ

ເລີ່ມຕົ້ນດ້ວຍ I²C ໃນ Arduino ຫຼືກະດານ breakout ເພາະວ່າມັນງ່າຍຕໍ່ການສາຍ. ເມື່ອທ່ານ spin PCB ຂອງທ່ານເອງ, ປ່ຽນເປັນ SPI ຖ້າຮູບແບບຂອງທ່ານໄດ້ຮັບຜົນປະໂຫຍດຈາກມັນ. ເຊັນເຊີດຽວກັນ, ເຫດຜົນເຟີມແວດຽວກັນ, ພຽງແຕ່ການໂທ HAL ທີ່ແຕກຕ່າງກັນ.

ຄວາມຍືດຫຍຸ່ນ SKU ການຜະລິດ

ການອອກແບບ PCB ຫນຶ່ງ, SKUs ທີ່ແຕກຕ່າງກັນ. ຫນຶ່ງ SKU ໃຊ້ I²C ເພາະວ່າມັນແບ່ງປັນລົດເມກັບເຊັນເຊີອຸນຫະພູມ / ຄວາມຊຸ່ມຊື່ນ. ອີກອັນນຶ່ງຕ້ອງການ SPI ສໍາລັບການຕິດຕາມທີ່ຍາວກວ່າແລ່ນໄປຫາກະດານເຊັນເຊີຫ່າງໄກສອກຫຼີກ. ເຈົ້າບໍ່ໄດ້ອອກແບບອັນໃດໃໝ່ — ປ່ຽນສາຍ BOM ແລະສາຍຕົວຕ້ານທານ.

ຖ້າຜູ້ສະຫມັກເຊັນເຊີຂອງທ່ານບໍ່ສະຫນັບສະຫນູນລົດເມທັງສອງ, ມັນບໍ່ແມ່ນຕົວແທນຈໍາຫນ່າຍ. ແຕ່ການມີທາງເລືອກແມ່ນສິ່ງໜຶ່ງທີ່ເຈົ້າບໍ່ພໍໃຈຈົນກວ່າເຈົ້າຈະເລື່ອນກະດານຄືນໃໝ່ໃນເວລາ 2 ໂມງເຊົ້າ.


ບົດສະຫຼຸບດ້ານຂ້າງ

ປັດໄຈI²CSPIຜູ້ຊະນະ
ນັບສາຍ24 + 1 ຕໍ່ເຊັນເຊີI²C
ຄວາມໄວເຖິງ 3.4 MHzສູງສຸດ 50 MHzTie — ເຊັນເຊີ ADC ແມ່ນຄໍຂວດ
ຫຼາຍເຊັນເຊີ (ປະເພດດຽວກັນ)ສູງສຸດ 2 ໂດຍບໍ່ມີການ muxບໍ່ຈຳກັດ (ໜຶ່ງ CS ຕໍ່ເຊັນເຊີ)SPI ເກີນ 2 ເຊັນເຊີ
ພູມຕ້ານທານສິ່ງລົບກວນເປີດ-ລະບາຍ, ຂອບ RCPush-pull CMOS, ແຄມແຫຼມSPI
ຄວາມສັບສົນຂອງເຟີມແວເຄື່ອງຂອງລັດ, ACK/NAK, ໝົດເວລາຢືນຢັນ CS, shift bytes, ເຮັດແລ້ວSPI (ໂລຫະເປົ່າ); ຜູກ (ກັບ HAL)
ແກ້ບັນຫາHarder — ການ​ລ່າ​ສັດ NAK​ງ່າຍ​ຂຶ້ນ — ສັນ​ຍານ​ທີ່​ກົງ​ໄປ​ກົງ​ມາ​SPI
ການບໍລິໂພກພະລັງງານ~0.7 mA (ມີການເຄື່ອນໄຫວດຶງຂຶ້ນ)~0 mA (ບໍ່​ມີ​ການ​ດຶງ​)Tie — delta ແມ່ນ picowatt ຊົ່ວໂມງ
ແລ່ນສາຍບໍ່ແນະນໍາ >200 ມມທົນທານຕໍ່ກັບຮ່ອງຮອຍທີ່ຍາວກວ່າSPI
ອົງປະກອບພາຍນອກ2× ຕົວຕ້ານທານທີ່ດຶງຂຶ້ນບໍ່ມີTie — 2× 0402 resistors ≈ $0.002

TL; ດຣ

ນັບ PIN I²C ໃຊ້ສາຍໄຟໜ້ອຍລົງ. ຕັດສິນໃຈໃນເວລາທີ່ GPIOs ເຄັ່ງຄັດ.
ຄວາມໄວ ບໍ່ສໍາຄັນ. ADC ຂອງເຊັນເຊີແມ່ນເປັນຄໍຂວດຢູ່ສະເໝີ.
ຫຼາຍເຊັນເຊີ I²C ແມ່ນສະອາດກວ່າສຳລັບ ≤2 ເຊັນເຊີທີ່ຄືກັນ. ຂະຫນາດ SPI ດີກວ່ານັ້ນ.
ສິ່ງລົບກວນ SPI ຊະນະ. ຕັດສິນໃຈຢູ່ໃກ້ກັບມໍເຕີ, ສະຫຼັບ, ຫຼືໂມດູນ GSM.
ເຟີມແວ SPI ແມ່ນງ່າຍດາຍກວ່າໂລຫະເປົ່າ. ດ້ວຍ HAL, ມັນເປັນການລ້າງ. I²C ໃຊ້ເວລາດົນກວ່າທີ່ຈະດີບັກເມື່ອມັນແຕກ.
ພະລັງງານ ຢ່າເລືອກໂດຍອີງໃສ່ພະລັງງານ. ຄວາມແຕກຕ່າງແມ່ນ picowatt ຊົ່ວໂມງ.
ການໂຕ້ຕອບຄູ່ ທີ່​ດີ​ທີ່​ສຸດ​ຂອງ​ທັງ​ສອງ​ໂລກ — ການ​ອອກ​ແບບ​ດຽວ​, ແລກ​ປ່ຽນ​ຢູ່​ທີ່​ຈະ​. ໃຊ້ມັນເປັນຄຸນສົມບັດ, ບໍ່ແມ່ນການຄິດຫຼັງ.

ບໍ່ແນ່ໃຈວ່າອິນເຕີເຟດໃດເຫມາະສົມກັບການອອກແບບຂອງເຈົ້າ? ບອກພວກເຮົາ MCU ຂອງເຈົ້າ, ຂໍ້ຈໍາກັດຂອງກະດານຂອງເຈົ້າ, ແລະສະພາບແວດລ້ອມຂອງເຈົ້າ - ພວກເຮົາຈະຊີ້ເຈົ້າໃນສ່ວນທີ່ຖືກຕ້ອງ, ໂດຍປົກກະຕິພາຍໃນຫນຶ່ງຊົ່ວໂມງ.

ເຂົ້າໄປແຕະ →
ເລື່ອນໄປເທິງ

ຕິດຕໍ່ພວກເຮົາ