Gall dewis rhwng I2C a SPI, y ddau brif opsiwn cyfathrebu cyfresol, fod yn eithaf her ac yn cael effaith sylweddol ar ddyluniad prosiect, yn enwedig os defnyddir y protocol cyfathrebu anghywir. Mae'r ddau SPI ac I2C yn dod â'u manteision a'u cyfyngiadau eu hunain fel protocolau cyfathrebu sy'n eu gwneud yn addas ar gyfer ceisiadau penodol.
SPI
SPI, neu Rhyngwyneb Serial i Ymylol, yn bŵer isel iawn, pedair rhyngwyneb cyfathrebu serial gwifren wedi'i gynllunio ar gyfer rheolwyr IC a perifferolion i gyfathrebu â'i gilydd. Mae'r bws SPI yn fws duplex llawn, sy'n caniatáu cyfathrebu i lifo i'r ac oddi wrth y prif ddyfais ar yr un pryd ar gyfraddau hyd at 10Mbps. Mae gweithrediad SPI cyflym yn gyffredinol yn ei gyfyngu rhag cael ei ddefnyddio i gyfathrebu rhwng cydrannau ar PCBau ar wahân oherwydd y cynnydd mewn cynhwysiant y mae cyfathrebu pellter hirach yn ei ychwanegu at y llinellau signal. Gall cynhwysedd PCB hefyd gyfyngu ar hyd llinellau cyfathrebu SPI.
Er bod SPI yn brotocol sefydledig, nid yw'n safon swyddogol sy'n arwain at nifer o amrywiadau a customizations SPI a all arwain at faterion cydweddoldeb. Dylid gwirio gweithrediadau SPI bob amser rhwng rheolwyr meistr a perifferolion caethweision i sicrhau na fydd y cyfuniad yn cael unrhyw broblemau cyfathrebu annisgwyl a fydd yn effeithio ar ddatblygiad cynnyrch.
I2C
Mae I2C yn brotocol cyfresol safonol swyddogol sy'n golygu mai dim ond dau linell signal sydd wedi'i gynllunio ar gyfer cyfathrebu rhwng sglodion ar PCB. Dyluniwyd I2C yn wreiddiol ar gyfer cyfathrebu 100kbps ond datblygwyd dulliau trosglwyddo data cyflymach dros y blynyddoedd i sicrhau cyflymder o hyd at 3.4Mbps. Mae'r protocol I2C wedi'i sefydlu fel safon swyddogol, sy'n darparu ar gyfer cydnawsedd da ymhlith gweithrediadau I2C a chydweddoldeb da yn ôl.
Dewis Rhwng I2C a SPI
Gan ddewis rhwng I2c a SPI, y ddau brif brotocol cyfathrebu cyfresol, mae angen dealltwriaeth dda o fanteision a chyfyngiadau I2C, SPI, a'ch cais. Bydd gan bob protocol cyfathrebu fanteision gwahanol a fydd yn tueddu i wahaniaethu ei hun fel y mae'n berthnasol i'ch cais. Y gwahaniaethau allweddol rhwng I2C ac SPI yw:
- Mae I2C yn ei gwneud yn ofynnol dim ond dau wifr, tra bod SPI yn gofyn am dri neu bedwar
- Mae SPI yn cefnogi cyfathrebu cyflym -dwblws cyflym uwch tra bod I2C yn arafach
- Mae I2C yn tynnu mwy o rym na SPI
- Mae I2C yn cefnogi dyfeisiau lluosog ar yr un bws heb llinellau signal dethol ychwanegol trwy gyfeirio at ddyfeisiau cyfathrebu tra bod SPI yn gofyn am linellau signal ychwanegol i reoli dyfeisiau lluosog ar yr un bws
- Mae I2C yn sicrhau bod y data a anfonir yn cael ei dderbyn gan y ddyfais caethweision tra nad yw SPI yn gwirio bod y data hwnnw'n cael ei dderbyn yn gywir
- Gall I2C gael ei gloi gan un ddyfais sy'n methu â rhyddhau'r bws cyfathrebu
- Ni all SPI drosglwyddo'r PCB tra gall I2C, er ei fod ar gyflymder trosglwyddo data isel
- Mae I2C yn rhatach i'w weithredu na'r protocol cyfathrebu SPI
- Dim ond un dyfais meistr ar y bws sy'n cefnogi SPI ond mae I2C yn cefnogi dyfeisiau meistr lluosog
- Mae I2C yn llai tebygol o sŵn na SPI
- Dim ond pellteroedd byr ac anaml y bydd SPI yn teithio ar SPI tra gall I2C drosglwyddo data dros bellteroedd llawer mwy, er bod cyfraddau data isel
- Mae diffyg safon ffurfiol wedi arwain at nifer o amrywiadau o'r protocol SPI, amrywiadau a gafodd eu hosgoi i raddau helaeth gyda'r protocol I2C
Dylai'r gwahaniaethau hyn rhwng SPI ac I2C ddewis dewis yr opsiwn cyfathrebu gorau ar gyfer eich cais yn haws. Mae'r ddau SPI ac I2C yn opsiynau cyfathrebu da, ond mae gan bob un fantais wahanol a chymwysiadau dewisol. Yn gyffredinol, mae SPI yn well ar gyfer cymwysiadau pŵer cyflym ac isel, tra bod I2C yn well ar gyfer cyfathrebu â nifer fawr o perifferolion a newid dynamig y rôl meistr yn y perifferolion ar y bws I2C. Mae'r ddau SPI ac I2C yn brotocolau cyfathrebu cadarn, sefydlog ar gyfer ceisiadau wedi'u hymgorffori sy'n addas ar gyfer y byd embeddedig.