И²Ц вс СПИ за сензоре притиска — Водич за избор интерфејса

Енгинееринг Гуидес

И²Ц наспрам СПИ за сензоре притиска — изаберите праву магистралу или мрзите свој распоред касније

Изабрали сте сензор притиска. Знате домет, тачност, пакет. Затим видите две варијанте на страници за наручивање: И²Ц и СПИ. Исти сензор. Иста цена. Различита четири слова. Ево како да одлучите - са стварним бројевима, а не теоријом уџбеника.


Двоминутно освежење

Прескочите ово ако сте претходно повезали оба аутобуса. Ако нисте, ево довољно да пратите остатак чланка:

И²Ц
  • жице: 2 — СДА (подаци) + СЦЛ (сат)
  • Тип сигнала: Отворени одвод, високо повучен отпорницима
  • Адреса: 7-битна адреса по уређају
  • Смер: Халф-дуплек
  • брзина: 100 кХз / 400 кХз / 1 МХз / 3,4 МХз
  • Контрола: Мастер-инициатед; робови одговарају само када им се обраћа
СПИ
  • жице: 4 — МОСИ, МИСО, СЦЛК + 1× ЦС по уређају
  • Тип сигнала: Пусх-пулл ЦМОС
  • Адреса: Ништа — ЦС линија бира уређај
  • Смер: Фулл-дуплек
  • брзина: 1 МХз до 50 МХз
  • Контрола: Мастер контролише сат; нема истезања сата

У овом тренутку можете помислити: "SPI is faster, so SPI wins, end of article." Не баш - брзина скоро никада није битна за сензор притиска. Ево зашто.


Аргумент о брзини који није битан

Типичан МЕМС сензор притиска очитава сваки пут 1 до 100 милисекунди — доминира време конверзије АДЦ-а, а не брзина магистрале. Чак и при 1 мс по узорку (1 кХз узорковање), гурате можда 48 бита по читању. То је 48 кбпс.

И²Ц на 400 кХз преноси ~320 кбпс након прекорачења. СПИ на 1 МХз преноси 1 Мбпс. Било једно је 7× до 20× брже него брзина преноса података сензора. Осим ако узоркујете на ултразвучним фреквенцијама — што нисте, јер се притисак не мења тако брзо — брзина магистрале је неважна. Сензор је уско грло, а не жице.

Закључак о брзини: није важно. АДЦ сензора је ограничавајући фактор. Одлучите по другим основама.


Број пинова: аргумент који је заправо важан на малим таблама

СценариоКоришћени И²Ц пиновиКоришћени су СПИ пинови
1 сензор2 (СДА+СЦЛ)4 (МОСИ + МИСО + СЦЛК + ЦС)
2 сензора2 (заједнички аутобус)5 (заједнички аутобус + 2× ЦС)
4 сензора2 (заједнички аутобус)7 (заједнички аутобус + 4× ЦС)

Ако је ваш МЦУ СТМ32 са 80 ГПИО-ова — кога брига. Али на ЕСП32-Ц3 са 15 употребљивих ГПИО-ова који покрећу екран, БЛЕ, два дугмета и СД картицу — та 2 додатна пина за СПИ убод. И²Ц вам штеди пинове без обзира на то колико сензора дели магистралу.

Напомена: И²Ц вас кошта два пулл-уп отпорника. СПИ не кошта ништа. Два отпорника од 4,7 кΩ 0402 коштају укупно око 0,002 долара и заузимају 2 мм² простора на плочи — не ништа, али близу тога.

Закључак о пиновима: И²Ц побеђује када су ГПИО чврсти. Са МЦУ богатим пиновима, предност нестаје — одлучите о другим факторима.


Дизајн са више сензора: Где И²Ц заправо сија

Три сензора притиска на истој штампаној плочи — једна барометријска референтна, један ниво резервоара, један излаз пумпе. Са И²Ц: доделите сваком сензору различиту адресу, повежите СДА и СЦЛ паралелно, готово. Два трага. Три сензора. Нема додатних МЦУ пинова. Са СПИ: три одвојене ЦС линије на врху заједничког МОСИ/МИСО/СЦЛК — укупно шест жица.

пази: И²Ц уређајима су потребне јединствене адресе. Већина сензора притиска нуди тачно две адресе (игла причвршћена високо или ниско). То значи да имате два сензора на магистрали пре него што вам затреба И²Ц мултиплексер као што је ТЦА9548А — што додаје ~0,50 долара и неколико мм². СПИ нема такву границу; само додајте ЦС линију по сензору.

Закључак о мулти-сензору: И²Ц побеђује за једноставност ожичења до два идентична сензора. Осим тога, користите СПИ или И²Ц мук — ниједно није јасно боље, то је позив распореда.


Отпорност на буку: Оно где СПИ вуче напред

Сензори притиска високе резолуције мере промене од само 0,03 хПа — отприлике тежину комарца који слеће на ваш сто, преведено у електрични сигнал. У тој резолуцији, бука је битна.

И²Ц карактеристике буке

Линије отвореног одвода са пулл-уп отпорницима производе РЦ рампе ивице, а не чисте ЦМОС прелазе. Вредности повлачења су компромис: превише јак губи снагу; преслаб чини време пораста спорим и отвара прозор за спајање буке. У бучном окружењу — поред драјвера мотора, прекидачког регулатора или било чега са ПВМ — И²Ц може да поквари. Протокол нема уграђену детекцију грешака изван АЦК бита (неки сензори додају ЦРЦ бајт корисном учитавању, што помаже).

СПИ карактеристике буке

Пусх-пулл ЦМОС драјвери активно покрећу и висока и ниска стања. Ивице су оштре. ЦС линија улази тачно када подређени треба да слуша — игноришући све у аутобусу остатак времена. Инхерентно бољи СНР.

У пракси, чист распоред ПЦБ-а са кратким траговима, уземљењем и поклопцима за обилазницу ће учинити И²Ц задовољним на већини дизајна. Али ако је ваш сензор на каблу метар удаљен од МЦУ-а или дели кућиште са било чим што мења ампере струје — отпорност на буку СПИ-а је права предност.

Закључак о буци: СПИ је сигурнији избор у електрично непријатељским окружењима. На истој ПЦБ неколико центиметара од МЦУ-а, И²Ц је у реду.


Сложеност фирмвера: Окидач о коме нико не говори

И²Ц фирмвер

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.

СПИ фирмвер

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.

Бол у отклањању грешака: Када СПИ не ради, испитате четири линије помоћу логичког анализатора и видите шта се тачно дешава. Када И²Ц не ради, буљите у екран пун НАК-ова и питате се да ли су то вредности за повлачење, адреса, тајминг или капацитет магистрале. Логички анализатор од 8 долара решава обоје — али И²Ц ће потрошити више вашег времена.

Закључак о фирмверу: СПИ је мање досадан голи метал. Са ХАЛ-ом или библиотеком, то је отприлике прање. И²Ц-у је потребно више времена за отклањање грешака када се поквари.


Потрошња енергије: Обе су грешке заокруживања

400 кХз И²Ц магистрала са 4,7 кΩ пулл-уп-а гори около 0.7 мА док је активан. СПИ у суштини не сагорева ништа на нивоу магистрале — чисто ЦМОС струја пребацивања при овим брзинама (микроампера).

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.

Закључак о снази: не бирајте И²Ц или СПИ на основу снаге. Разлика је премала да би била битна. Уместо тога, одлучите се за пинове, шум или здрав софтвер.


Ток одлучивања — четири питања, без матрице

1Колико идентичних сензора на једној магистрали?

Један → Било који ради

Без предности у сваком случају. Пређите на питање 2.

Два → И²Ц вероватно побеђује

Две адресе, две жице. Осим ако су сензори далеко један од другог - онда СПИ.

Три или више → СПИ

Осим ако не уживате у читању таблица података И²Ц мултиплексера.

2Колико је удаљен сензор од МЦУ-а?

Иста ПЦБ, <100 мм → Било

И²Ц је у реду на нивоу плоче са чистим распоредом.

Кабл >200 мм → СПИ

Или И²Ц са диференцијалним пуфером (ПЦА9615). И²Ц никада није дизајниран за каблове.

>1 метар → Ниједно

Користите 4–20 мА или РС-485. Налазите се на територији индустријског предајника.

3Шта је ЕМИ окружење?

Тиха штампана плоча, без мотора → Било шта

Чист распоред са бајпас капама чини И²Ц срећним.

БЛДЦ, ГСМ, буцк претварач у близини → СПИ

Пусх-пулл драјвери и ЦС гатинг ће спречити фантомска очитавања.

4Да ли ти пишеш возача?

ХАЛ / библиотека постоји → Или

Апстракција чини разлику занемарљивом. Користите оно што остатак плоче користи.

Писање од нуле → СПИ

Мање стања, нема истезања сата, нема сукоба адреса.

Портирање Ардуино библиотеке → И²Ц

Већина библиотека сензора за љубитеље подразумевано је на И²Ц. Прво проверите библиотеку.


The "Why Not Both" Card

Дуал Интерфаце

Неки сензори се испоручују са и И²Ц и СПИ на истој матрици, који се може изабрати преко пин траке или регистарског бита. Ово је заиста корисно у два сценарија:

Флексибилност израде прототипа

Започните са И²Ц-ом на Ардуино или разводној плочи јер је лакше повезати. Када окрећете сопствени ПЦБ, пређите на СПИ ако ваш распоред има користи од тога. Исти сензор, иста логика фирмвера, само другачији ХАЛ позив.

Флексибилност производног СКУ-а

Један дизајн ПЦБ-а, различити СКУ-ови. Један СКУ користи И²Ц јер дели магистралу са сензором температуре/влажности. Другом је потребан СПИ за дуже трагове до удаљене сензорске плоче. Ништа не редизајнирате - промените линију БОМ-а и траку отпорника.

Ако ваш кандидат за сензор не подржава оба аутобуса, то није проблем. Али имати опцију је једна од оних ствари које не цените док поново не завртите таблу у 2 ујутро.


Сиде-би-Сиде резиме

ФакторИ²ЦСПИПобедник
Број жица24 + 1 по сензоруИ²Ц
БрзинаДо 3,4 МХзДо 50 МХзВеза — сензор АДЦ је уско грло
Мулти-сензор (исти тип)Мак 2 без мукНеограничено (један ЦС по сензору)СПИ преко 2 сензора
Отпорност на букуОтворени одвод, РЦ ивицеПусх-пулл ЦМОС, оштре ивицеСПИ
Сложеност фирмвераДржавна машина, АЦК/НАК, временска ограничењаПотврдите ЦС, померите бајтове, готовоСПИ (голи метал); Кравата (са ХАЛ-ом)
Потешкоће у отклањању грешакаТеже — НАК ловЛакше — јасни сигналиСПИ
Потрошња енергије~0,7 мА (активна повлачења)~0 мА (без повлачења)Кравата — делта је пиковат-сати
КабловиНе препоручује се >200 ммТолерише дуже траговеСПИ
Екстерне компоненте2× пулл-уп отпорнициНиједанКравата — 2× 0402 отпорника ≈ 0,002 $

ТЛ;ДР

Број пинова И²Ц користи мање жица. Одлучујуће када су ГПИО-ови тесни.
Брзина Није битно. АДЦ сензора је увек уско грло.
Мулти-сенсор И²Ц је чистији за ≤2 идентична сензора. СПИ се боље скалира даље од тога.
Бука СПИ побеђује. Одлучан у близини мотора, прекидача или ГСМ модула.
Фирмваре СПИ је једноставнији голи метал. Са ХАЛ-ом, то је прање. И²Ц-у је потребно више времена за отклањање грешака када се поквари.
Повер Не бирајте на основу моћи. Разлика је пиковат-сати.
Двоструки интерфејс Најбоље од оба света — један дизајн, замена по жељи. Користите га као карактеристику, а не накнадну мисао.

Нисте сигурни који интерфејс одговара вашем дизајну? Реците нам ваш МЦУ, ограничења ваше плоче и ваше окружење — ми ћемо вас упутити на прави део, обично у року од сат времена.

Обратите се →
Померите се до врха

Контактирајте нас