Мазмуну:

SPI БАЙЛАНЫШ ПРОТОКОЛУНУН НЕГИЗДЕРИ: 13 кадам
SPI БАЙЛАНЫШ ПРОТОКОЛУНУН НЕГИЗДЕРИ: 13 кадам

Video: SPI БАЙЛАНЫШ ПРОТОКОЛУНУН НЕГИЗДЕРИ: 13 кадам

Video: SPI БАЙЛАНЫШ ПРОТОКОЛУНУН НЕГИЗДЕРИ: 13 кадам
Video: Exploring SPI Data Registers (DR) | MICROCONTROLLER | LECTURE 55 2024, Ноябрь
Anonim
SPI БАЙЛАНЫШ ПРОТОКОЛУНУН НЕГИЗДЕРИ
SPI БАЙЛАНЫШ ПРОТОКОЛУНУН НЕГИЗДЕРИ

Микроконтроллерди сенсорго, дисплейге же башка модулга туташтырганда, эки түзмөк бири -бири менен кантип сүйлөшөөрү жөнүндө ойлонуп көрөсүзбү? Алар так эмне деп жатышат? Алар кантип бири -бирин түшүнө алышат?

Электрондук түзүлүштөрдүн ортосундагы байланыш адамдардын ортосундагы байланышка окшош. Эки тарап тең бир тилде сүйлөшү керек. Электроникада бул тилдер байланыш протоколдору деп аталат. Бактыга жараша, DIY электроникасынын көпчүлүк долбоорлорун курууда билишибиз керек болгон бир нече байланыш протоколдору бар. Бул макалалар сериясында биз эң кеңири таралган үч протоколдун негиздерин талкуулайбыз: Сериялык Перифериялык Интерфейс (SPI), Интертегралдык Микросхема (I2C) жана Универсалдуу Асинхрондук Алуучу/Бергич (UART) башкарган байланыш. Биринчиден, биз электрондук байланыш жөнүндө кээ бир негизги түшүнүктөрдөн баштайбыз, андан кийин SPI кандай иштээрин деталдуу түрдө түшүндүрөбүз. Кийинки макалада биз UART башкарган байланышты талкуулайбыз, үчүнчү макалада I2Cге киребиз. SPI, I2C жана UART USB, ethernet, Bluetooth жана WiFi сыяктуу протоколдорго караганда бир аз жайыраак, бирок алар бир топ жөнөкөй жана аппараттык жана тутумдук ресурстарды азыраак колдонушат. SPI, I2C жана UART микроконтроллерлер менен микроконтроллерлер менен сенсорлордун ортосундагы байланыш үчүн идеалдуу, бул жерде чоң ылдамдыктагы маалыматтын көп өлчөмдө өткөрүлүшүнүн кажети жок.

1 -кадам: SERIAL VS. ПАРАЛЛЫК БАЙЛАНЫШ

SERIAL VS. ПАРАЛЛЫК БАЙЛАНЫШ
SERIAL VS. ПАРАЛЛЫК БАЙЛАНЫШ

Электрондук түзмөктөр бири -бири менен түзмөктөрдүн ортосундагы физикалык туташкан зымдар аркылуу маалыматтын биттерин жөнөтүү аркылуу сүйлөшөт. Бит сөздөгү тамга окшош, 26 тамганын ордуна (англис алфавитинде) бит экилик болуп саналат жана 1 же 0 гана болушу мүмкүн. Биттер бир түзүлүштөн экинчисине чыңалуунун тез өзгөрүшү менен өткөрүлөт. 5 В иштеп жаткан системада 0 бит кыска импульс катары 0 В, ал эми 1 бит 5 В кыска импульс аркылуу берилет.

Маалыматтардын биттери параллелдүү же сериялык түрдө берилиши мүмкүн. Параллелдүү байланышта, маалыматтардын биттери бир убакта, ар бири өзүнчө зым аркылуу жөнөтүлөт. Төмөндөгү диаграмма бинардык "С" тамгасынын параллелдүү өткөрүлүшүн көрсөтөт (01000011):

2-кадам:

Сериялык байланышта биттер бир зым аркылуу бирден жөнөтүлөт. Төмөндөгү диаграмма бинардык "C" тамгасынын сериялык берилишин көрсөтөт (01000011):

3 -кадам:

Сүрөт
Сүрөт

4 -кадам: SPI БАЙЛАНЫШЫНА КИРИШҮҮ

SPI БАЙЛАНЫШЫНА КИРИШҮҮ
SPI БАЙЛАНЫШЫНА КИРИШҮҮ

SPI - бул ар кандай түзмөктөр тарабынан колдонулуучу жалпы байланыш протоколу. Мисалы, SD карта модулдары, RFID карта окуучу модулдары жана 2,4 ГГц зымсыз өткөргүч/кабыл алгычтардын баары микроконтроллерлер менен байланышуу үчүн SPIди колдонушат.

SPIдин уникалдуу бир артыкчылыгы - бул маалыматтарды үзгүлтүксүз өткөрүп берүү. Каалаган бит саны үзгүлтүксүз агымда жөнөтүлүшү же алынышы мүмкүн. I2C жана UART менен маалыматтар белгилүү бир биттер менен чектелген пакеттерде жөнөтүлөт. Баштоо жана токтотуу шарттары ар бир пакеттин башталышын жана аягын аныктайт, андыктан берилиш учурунда маалыматтар үзгүлтүккө учурайт. SPI аркылуу байланышкан түзмөктөр кожоюн-кул мамиледе. Мастер - көзөмөлдөөчү түзүлүш (көбүнчө микроконтроллер), ал эми кул (адатта сенсор, дисплей же эс чипи) кожоюндан көрсөтмө алат. SPIдин эң жөнөкөй конфигурациясы - бул жалгыз кожоюн, жалгыз кул системасы, бирок бир кожоюн бир нече кулду башкара алат (төмөндө бул тууралуу көбүрөөк).

5 -кадам:

Сүрөт
Сүрөт

6 -кадам:

MOSI (Master Output/Slave Input) - Мастердин кулга маалыматтарды жөнөтүү линиясы.

MISO (Master Input/Slave Output) - Кулга маалыматты кожоюнга жөнөтүү.

SCLK (Clock) - Саат сигналынын сызыгы.

SS/CS (Slave Select/Chip Select) - Мастердин кайсы кулга маалыматтарды жөнөтүүнү тандоо линиясы

7 -кадам:

Сүрөт
Сүрөт

*Иш жүзүндө, кулдардын саны системанын жүк сыйымдуулугу менен чектелет, бул чебердин чыңалуу деңгээлдерин так которуу мүмкүнчүлүгүн азайтат.

8 -кадам: SPI КАНТИП ИШТЕЙТ

СААТ

Саат сигналы кожоюндан биттердин үлгүсүн алуу үчүн мастерден маалымат биттеринин чыгарылышын синхрондоштурат. Ар бир сааттык циклде бир бит маалымат өткөрүлөт, андыктан маалыматтарды берүү ылдамдыгы саат сигналынын жыштыгына жараша аныкталат. SPI байланышы ар дайым кожоюн тарабынан демилгеленет, анткени мастер саат сигналын конфигурациялайт жана жаратат.

Түзмөктөр саат сигналын бөлүшкөн ар кандай байланыш протоколу синхрондуу деп аталат. SPI - бул синхрондуу байланыш протоколу. Саат сигналын колдонбогон асинхрондук ыкмалар да бар. Мисалы, UART байланышында, эки тарап тең маалыматты берүү ылдамдыгын жана убактысын талап кылган алдын ала конфигурацияланган берилиш ылдамдыгына коюлган.

SPIдеги саат сигналы саат полярдуулугунун жана сааттык фазанын касиеттерин колдонуу менен өзгөртүлүшү мүмкүн. Бул эки касиет биттердин качан чыгарыларын жана качан үлгүлөрүн аныктоо үчүн чогуу иштейт. Сааттардын полярдуулугун мастер коет, биттерди чыгарууга жана саат циклинин өсүп бараткан же түшүүчү четинен үлгү алууга уруксат берүү үчүн. Саат фазасын чыгаруу жана үлгү алуу сааттын циклинин биринчи четинде же экинчи четинде, анын көтөрүлүшүнө же төмөндөшүнө карабай орнотулушу мүмкүн.

КУЛДУ ТАНДОО

Кожоюн кулдун CS/SS линиясын төмөнкү чыңалуу деңгээлине коюп, кайсы кул менен сүйлөшкүсү келерин тандай алат. Бош, өткөрбөй турган абалда, кул тандоо линиясы жогорку чыңалуу деңгээлинде сакталат. Мастерде бир нече CS/SS төөнөгүчтөрү болушу мүмкүн, бул бир нече кулдун параллелдүү өткөрүлүшүнө мүмкүндүк берет. Эгерде бир эле CS/SS пини бар болсо, анда кожоюнга бир нече кулдарды ромашка-чынжыр менен туташтырса болот.

КӨП КУЛДАР SPI

бир кожоюн жана бир кул менен иштөө үчүн орнотулушу мүмкүн жана аны бир кожоюн башкарган бир нече кул менен орнотсо болот. Бир нече кулду кожоюнга туташтыруунун эки жолу бар. Эгерде кожоюнда бир нече кул тандоо казыктары бар болсо, анда кулдарды параллелдүү түрдө төмөнкүдөй зым менен байланыштырууга болот:

9 -кадам:

Сүрөт
Сүрөт

10 -кадам:

MOSI ЖАНА MISO

Мастер кулга маалыматтарды MOSI линиясы аркылуу бирте -бирте жөнөтөт. Кул кожоюндан жөнөтүлгөн маалыматтарды MOSI пининде алат. Кожоюндан кулга жөнөтүлгөн маалыматтар, адатта, эң маанилүү бит менен жөнөтүлөт. Кул ошондой эле MISO линиясы аркылуу маалыматты кожоюнга сериялык түрдө кайра жөнөтө алат. Кулдан кожоюнга кайра жөнөтүлгөн маалыматтар, адатта, анча маанилүү эмес. SPI DATA TRANSMISSION КАДАМДАРЫ 1. Мастер саат сигналын чыгарат:

11 -кадам:

Сүрөт
Сүрөт

Эгерде бир гана кул тандоо пини жеткиликтүү болсо, анда кулдар мындайча ромашка менен байланат:

12 -кадам:

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

MOSI ЖАНА MISO

Мастер кулга маалыматтарды MOSI линиясы аркылуу сериялык түрдө жөнөтөт. Кул кожоюндан жөнөтүлгөн маалыматтарды MOSI пининде алат. Кожоюндан кулга жөнөтүлгөн маалыматтар, адатта, эң маанилүү бит менен жөнөтүлөт.

Кул ошондой эле MISO линиясы аркылуу маалыматты кожоюнга сериялык түрдө кайра жөнөтө алат. Кулдан кожоюнга кайра жөнөтүлгөн маалыматтар, адатта, анча маанилүү эмес.

SPI МААЛЫМАТТАРЫН ТАРТУУ КАДАМДАРЫ

*Эскертүү Сүрөттөрү тизмеленген Oboe, сиз оңой эле айырмалай аласыз

1. Мастер саат сигналын чыгарат:

2. Мастер SS/CS пинин төмөнкү чыңалуу абалына которот, ал кулду иштетет:

3. Мастер маалыматтарды MOSI линиясы боюнча кулга бирден жөнөтөт. Кул биттерди алганда окуйт:

4. Эгерде жооп керек болсо, кул MISO линиясы боюнча мастерге бирден кайтат. Мастер биттерди алганда окуйт:

13 -кадам: SPIдин артыкчылыктары жана кемчиликтери

SPIди колдонуунун кээ бир артыкчылыктары жана кемчиликтери бар, жана эгерде ар кандай байланыш протоколдорунун арасында тандоо болсо, анда сиздин долбоордун талаптарына ылайык SPIди качан колдонуу керектигин билишиңиз керек:

АРТЫКЧЫЛЫКТАРЫ

Баштоо жана токтотуу биттери жок, андыктан маалыматтарды үзгүлтүксүз агылтууга болот I2C сыяктуу татаал кул дарек тутуму I2Cге караганда маалымат берүү ылдамдыгы жогору (дээрлик эки эсе тез) MISO жана MOSIдин өзүнчө линиялары, ошондуктан маалыматтарды ошол эле убакта жөнөтүүгө жана алууга болот. убакыт

КЕМЧИЛИКТЕРИ

Төрт зымды колдонот (I2C жана UART экөөнү колдонот) Маалымат ийгиликтүү кабыл алынганын ырастоо жок (I2C муну бар) UARTдагы паритет бит сыяктуу текшерүүнүн эч кандай катасы бир эле мастерге жол бербейт деп үмүттөнөбүз, бул макала сизге жакшыраак түшүнүк берди SPIнин. UART башкарган байланышты билүү үчүн ушул сериянын экинчи бөлүгүн улантыңыз же I2C протоколун талкуулаган үчүнчү бөлүгүн улантыңыз.

Эгерде сизде кандайдыр бир суроолор болсо, аны комментарий бөлүмүнөн сураңыз, биз жардам берүү үчүн бул жердебиз. Жана сөзсүз ээрчиңиз

Урматтоо менен: М. Жунайд

Сунушталууда: