Заманбап тиричилик техникасында, өнөр жай электроникасында жана ар кандай телекоммуникациялык жабдууларда ушуга окшош чечимдерди көп кездештирүүгө болот, бирок өнүмдөр дээрлик бири-бирине тиешеси жок болушу мүмкүн. Мисалы, дээрлик ар бир система төмөнкүлөрдү камтыйт:
- белгилүү бир "акылдуу" башкаруу блогу, ал көпчүлүк учурларда бир чиптүү микрокомпьютер;
- ЖК буферлери, RAM, киргизүү/чыгаруу порттору, EEPROM же атайын маалымат конвертерлери сыяктуу жалпы максаттагы компоненттер;
- спецификалык компоненттер, анын ичинде санариптик тюнинг жана видео жана радио системалары үчүн сигналды иштетүү схемалары.
Алардын тиркемесин кантип оптималдаштыруу керек?
Дизайнерлердин жана өндүрүүчүлөрдүн кызыкчылыгы үчүн бул жалпы чечимдерди максималдуу пайдалануу, ошондой эле ар кандай аппараттык каражаттардын жалпы иштешин жакшыртуу жана колдонулган схема компоненттерин жөнөкөйлөтүү үчүн, Philips эң жөнөкөй эки зымдуу эки багытты иштеп чыгууга киришти. эң өндүрүмдүү интер-чипти камсыз кылган автобусконтролдоо. Бул автобус I2C интерфейси аркылуу берилиштерди өткөрүүнү камсыз кылат.
Бүгүн өндүрүүчүнүн продуктуларынын ассортименти 150дөн ашык CMOS, ошондой эле I2C менен шайкеш келген жана саналып өткөн категориялардын каалаганында иштөөгө арналган биполярдык түзүлүштөрдү камтыйт. Белгилей кетсек, I2C интерфейси алгач бардык шайкеш түзүлүштөргө орнотулган, анын аркасында алар атайын автобустун жардамы менен бири-бири менен оңой байланыша алышат. Мындай конструктордук чечимди колдонуунун аркасында санариптик системаларды өнүктүрүү үчүн мүнөздүү болгон ар кандай жабдууларды бириктирүүнүн кыйла көп сандагы көйгөйлөрүн чечүүгө мүмкүн болду.
Негизги артыкчылыктар
UART, SPI, I2C интерфейстеринин кыскача сүрөттөмөсүн карасаңыз дагы, акыркысынын төмөнкү артыкчылыктарын баса белгилей аласыз:
- Иштөө үчүн сизге эки гана линия керек - синхрондоштуруу жана маалымат. Андай автобуска туташкан ар кандай аппарат программалык түрдө толугу менен уникалдуу дарекке кайрылышы мүмкүн. Каалаган убакта мастерлерге башкы өткөргүч же мастер-кабыл алуучу катары иштөөгө мүмкүндүк берген жөнөкөй байланыш бар.
- Бул автобус бир эле учурда бир нече мастерге ээ болуу мүмкүнчүлүгүн камсыздайт, кагылышууларды аныктоо үчүн бардык зарыл болгон каражаттар менен камсыз кылат, ошондой эле эки же андан көп мастерлер бир убакта маалыматты өткөрүп баштаганда маалыматтардын бузулушун алдын алуу үчүн арбитраждык. Стандарттык режимдегана сериялык 8 биттик маалыматтарды берүү 100 кбит/с ашпаган ылдамдыкта камсыз кылынат, ал эми тез режимде бул босогону төрт эсеге көбөйтүүгө болот.
- Чиптер атайын орнотулган чыпканы колдонушат, ал толкундарды эффективдүү басат жана берилиштердин максималдуу бүтүндүгүн камсыз кылат.
- Бир автобуска туташтырылуучу микросхемалардын максималдуу мүмкүн болгон саны анын максималдуу мүмкүн болгон сыйымдуулугу 400 pF менен гана чектелген.
Конструкторлор үчүн артыкчылыктар
I2C интерфейси, ошондой эле бардык шайкеш чиптер функционалдык диаграммадан анын акыркы прототибине чейин иштеп чыгуу процессин бир топ ылдамдата алат. Ошону менен бирге, мындай микросхемаларды ар кандай кошумча схемаларды колдонбостон түз автобуска туташтыруу мүмкүнчүлүгүнөн улам ар кандай түзүлүштөрдү ажыратып жана туташтыруу жолу менен прототиптик системаны андан ары модернизациялоо жана модификациялоо үчүн мейкиндик каралгандыгын белгилей кетүү керек. автобус.
I2C интерфейсин өзгөчө кылган көптөгөн артыкчылыктар бар. Сүрөттөмө, атап айтканда, конструкторлор үчүн төмөнкү артыкчылыктарды көрүүгө мүмкүндүк берет:
- Функционалдык диаграммадагы блоктор микросхемаларга толугу менен туура келет жана ошол эле учурда функционалдыктан фундаменталдыкка тез өтүү камсыздалган.
- Автобус интерфейстерин иштеп чыгуунун кереги жок, анткени автобус мурунтан эле атайын чиптерге интеграцияланган.
- Интегралдык байланыш протоколдору жанатүзмөктүн дареги системаны толугу менен программалык камсыздоо менен аныктоого мүмкүндүк берет.
- Бир эле типтеги микросхемалар, зарыл болсо, такыр башка колдонмолордо колдонулушу мүмкүн.
- Дизайнерлер эң көп колдонулган функционалдык блоктор, ошондой эле ар кандай микросхемалар менен тез тааныша алгандыктан, иштеп чыгуунун жалпы убактысы бир топ кыскарган.
- Кааласаңыз, чиптерди тутумга кошуп же алып салсаңыз болот, ошол эле учурда бир автобуска туташтырылган башка жабдууларга анчалык деле таасир этпейт.
- Программалык камсыздоону иштеп чыгуунун жалпы убактысын бир кыйла кыскартууга болот. Көп жолу колдонулуучу программалык модулдардын китепканасына уруксат берүү.
Башка нерселер менен катар, I2C интерфейсин айырмалаган орун алган мүчүлүштүктөрдү диагностикалоонун жана андан ары мүчүлүштүктөрдү оңдоонун өтө жөнөкөй процедурасын белгилей кетүү керек. Сүрөттөмө, зарыл болгон учурда, мындай жабдуулардын иштөөсүндөгү кичинекей четтөөлөрдү дароо эч кандай кыйынчылыксыз көзөмөлдөп турууга жана тиешелүү чараларды көрүүгө болот деп сунуш кылат. Белгилей кетсек, дизайнерлер атайын чечимдерди алышат, алар, атап айтканда, I2C интерфейсинин жардамы менен батареянын кубатын камсыз кылуучу ар кандай портативдик жабдуулар жана системалар үчүн абдан жагымдуу. Орус тилиндеги сыпаттамада аны колдонуу төмөнкү маанилүү артыкчылыктарды берүүгө мүмкүнчүлүк берерин көрсөтүп турат:
- Бардык пайда болгон тоскоолдуктарга каршылыктын жетишерлик жогорку даражасы.
- Акырыаз энергия керектөө.
- Эң кенен камсыздоо чыңалуусу.
- Температуранын кең диапазону.
Технологдор үчүн артыкчылыктар
Белгилей кетсек, жакында эле дизайнерлер эмес, технологдор да адистештирилген I2C интерфейсин көп колдоно башташты. Орус тилиндеги сыпаттама адистердин бул категориясы камсыз кылган артыкчылыктардын кеңири спектрин көрсөтөт:
- Ушул интерфейси бар стандарттуу эки зымдуу сериялык автобус ИКтин ортосундагы байланышты азайтат, башкача айтканда, пиндер жана тректер азыраак талап кылынат, бул ПХБлерди арзаныраак жана бир топ кичирээк кылат.
- Толук интеграцияланган I2C интерфейси LCD1602 же башка вариант дарек декодерлерине жана башка тышкы чакан логикага болгон муктаждыкты толугу менен жок кылат.
- Мындай автобуста бир эле учурда бир нече мастерди колдонууга болот, бул тестирлөө жана андан кийинки жабдууларды орнотууну кыйла тездетет, анткени автобусту конвейердик компьютерге туташтырууга болот.
- VSO, SO жана ыңгайлаштырылган DIL пакеттеринде бул интерфейске туура келген IC'тердин болушу түзмөктүн өлчөмүнө болгон талаптарды бир топ азайтышы мүмкүн.
Бул LCD1602 жана башкалардын I2C интерфейсин айырмалаган артыкчылыктардын кыскача тизмеси. Мындан тышкары, шайкеш микросхемалардын кыйла камсыз кылуу, колдонулган системасынын ийкемдүүлүгүн жогорулатууга болотжабдуулардын ар кандай варианттарынын өтө жөнөкөй дизайны, ошондой эле азыркы деңгээлде өнүгүүнү андан ары колдоо үчүн салыштырмалуу жеңил жаңыртуу. Ошентип, белгилүү бир негизги моделди негиз катары колдонуп, ар кандай жабдуулардын бүтүндөй үй-бүлөсүн иштеп чыгууга болот.
Жабдууларды андан ары модернизациялоо жана анын функцияларын кеңейтүү Arduino 2C интерфейсин колдонуу менен тиешелүү микросхемадагы автобуска стандарттуу туташтыруу аркылуу же жеткиликтүү тизмеден каалаган башка аркылуу ишке ашырылышы мүмкүн. Эгер чоңураак ROM талап кылынса, анда ал көбөйгөн ROM менен башка микроконтроллерди тандоо үчүн гана жетиштүү болот. Жаңыланган чиптер керек болсо эскилерин толугу менен алмаштыра алгандыктан, сиз жөн гана эскирген чиптерди ажыратып, андан кийин аларды жаңыраак жабдыктарга алмаштыруу менен жабдууларга жаңы функцияларды оңой кошуп же анын жалпы иштешин жогорулата аласыз.
ACCESS.bus
Автобус эки зымдуу мүнөзгө ээ болгондуктан, ошондой эле программалык адрестөө мүмкүнчүлүгүнөн улам, ACCESS.bus үчүн эң идеалдуу платформалардын бири I2C интерфейси болуп саналат. Бул аппараттын спецификациясы (орус тилиндеги сүрөттөмөсү макалада берилген) аны стандарттуу төрт шиштүү туташтыргычтын жардамы менен ар кандай перифериялык түзүлүштөрдү компьютерлерге туташтыруу үчүн мурда активдүү колдонулган RS-232C интерфейсине алда канча арзан альтернатива кылат.
Спецификациянын киришүүсү
Заманбап колдонмолор үчүнМикроконтроллерлерди колдонгон 8 биттик башкаруу, кээ бир дизайн критерийлерин коюуга болот:
- толук система негизинен бир микроконтроллерди жана башка перифериялык түзүлүштөрдү, анын ичинде эстутум жана ар кандай киргизүү/чыгаруу портторун камтыйт;
- бир системанын ичинде ар кандай түзмөктөрдү бириктирүүнүн жалпы баасы мүмкүн болушунча азайтылышы керек;
- функцияларды башкарган система жогорку ылдамдыктагы маалымат берүүнү камсыз кылуу зарылдыгын камсыз кылбайт;
- жалпы натыйжалуулук тандалган жабдууга жана туташтыруучу автобустун мүнөзүнө түздөн-түз көз каранды.
Сизделген критерийлерге толук жооп берген системаны долбоорлоо үчүн I2C сериялык интерфейсин колдоно турган автобусту колдонушуңуз керек. Сериялык автобус параллелдүү автобустун өткөрүү жөндөмдүүлүгүнө ээ болбосо да, ал азыраак туташууларды жана азыраак чип пиндерди талап кылат. Ошол эле учурда автобуста туташтыруучу зымдар гана эмес, системанын ичиндеги байланышты камсыз кылуу үчүн зарыл болгон ар кандай процедуралар жана форматтар да камтылганын унутпаңыз.
I2C интерфейсинин же тиешелүү шинанын программалык эмуляциясы аркылуу байланышып турган түзмөктөр ар кандай кагылышуулардын, маалыматтын жоголушу же бөгөттөлүшүнүн алдын алууга мүмкүндүк берген атайын протоколго ээ болушу керек. Ыкчам түзүлүштөр жайлары менен баарлаша алышы керек жана система көз каранды болбошу керекага туташтырылган жабдуулардан, антпесе бардык жакшыртууларды жана модификацияларды колдонууга болбойт. Ошондой эле жол-жоболорду иштеп чыгуу зарыл, анын жардамы менен кайсы аппарат учурда автобусту башкарууну жана кайсы убакта камсыздап жатканын аныктоо реалдуу. Кошумчалай кетсек, бир автобуска ар кандай саат жыштыгы менен ар кандай түзүлүштөр туташтырылган болсо, анда сиз анын синхрондоштуруу булагын чечишиңиз керек. Бул критерийлердин бардыгына AVR жана бул тизмедеги башкалардын I2C интерфейси жооп берет.
Негизги түшүнүк
I2C автобусу колдонулган бардык чип технологиясын колдоого алат. I2C LabVIEW интерфейси жана ага окшош башкалары маалыматты берүү үчүн эки линияны - маалыматтарды жана синхрондоштурууну колдонууну камсыз кылат. Ушундай жол менен туташтырылган ар кандай түзмөк ЖК буфери, микроконтроллер, эстутум же клавиатура интерфейси экендигине карабастан, анын уникалдуу дареги менен таанылат жана ал эмне үчүн арналганына жараша кабыл алгыч же өткөргүч катары иштей алат.
Басымдуу көпчүлүк учурларда ЖК буфери стандарттуу кабыл алгыч болуп саналат, ал эми эс тутум ар кандай маалыматтарды гана кабыл албастан, ошондой эле өткөрүп бере алат. Башка нерселер менен катар, маалыматты жылдыруу процессине ылайык, түзмөктөрдү кул жана мастер катары классификациялоого болот.
Бул учурда, мастер маалыматтарды өткөрүп берүүнү баштоочу, ошондой элесинхрондоштуруу сигналдары. Бул учурда, даректүү түзмөктөрдүн баары ага карата кулдар катары каралат.
I2C байланыш интерфейси бир эле учурда бир нече мастердин болушун камсыз кылат, башкача айтканда, автобусту башкарууга жөндөмдүү бирден ашык түзмөк ага туташа алат. Бир эле автобуста бирден ашык микроконтроллерди колдонуу мүмкүнчүлүгү бир нече мастерди каалаган убакта жөнөтсө болот дегенди билдирет. Мындай кырдаал келип чыкканда пайда боло турган потенциалдуу баш аламандыкты жоюу үчүн I2C интерфейсин колдонгон адистештирилген арбитраждык процедура иштелип чыккан. Кеңейткичтер жана башка түзмөктөр зымдар деп аталган эрежеге ылайык автобуска түзмөктөрдү туташтырууну камсыздайт.
Сааттын сигналын түзүү кожоюндун милдети жана ар бир мастер берилиштерди өткөрүүдө өзүнүн сигналын жаратат жана ал кагылышуу болгондо жай кул же башка кожоюн тарабынан "тартылганда" кийин гана өзгөрүшү мүмкүн.
Жалпы параметрлер
SCL жана SDA экөө тең тартылуучу резистор менен оң кубат булагына туташтырылган эки багыттуу линиялар. Дөңгөлөк таптакыр бош болгондо, ар бир сызык жогорку абалда болот. Шинага туташтырылган түзүлүштөрдүн чыгуу баскычтары зымдуу ЖАНА функциясын камсыз кылуу үчүн ачык дренаждуу же ачык коллекторлуу болушу керек. I2C интерфейси аркылуу маалымат 400 кбит/с ашпаган ылдамдыкта берилиши мүмкүн.тез режими, ал эми стандарттык ылдамдыгы 100 kbps ашпайт. Автобуска бир эле учурда кошула турган түзүлүштөрдүн жалпы саны бир гана параметрге жараша болот. Бул линиянын сыйымдуулугу, ал 400 pf ашпайт.
Ырастоо
Ырастоо – бул маалыматтарды өткөрүү процессиндеги милдеттүү процедура. Мастер тийиштүү синхрондоштуруу импульсун жаратат, ал эми тараткыч бул синхрондоштуруу импульсунун учурунда SDA линиясын ырастоо катары чыгарат. Андан кийин, кабыл алуучу SDA линиясы туруктуу төмөн абалда сааттын жогорку абалында туруктуу болушун камсыз кылышы керек. Мындай учурда орнотууну жана убакытты эске алууну унутпаңыз.
Көпчүлүк учурларда, даректелген кабыл алуучу ар бир байттан кийин тастыктоону жаратышы керек, бул өткөрүүнүн башталышы CBUS дарегин камтыгандан башкасы.
Эгер кабыл алуучу-кулдун өзүнүн дарегинин ырастоосун жөнөтүүгө мүмкүнчүлүгү жок болсо, маалымат линиясын бийик калтыруу керек, андан кийин мастер "Токтотуу" сигналын бере алат, ал жөнөтүүнү үзгүлтүккө учуратат. бардык маалымат. Эгерде дарек ырасталса, бирок кул көп убакыт бою башка маалыматтарды ала албаса, кожоюн да жөнөтүүнү үзгүлтүккө учуратышы керек. Бул үчүн, кул кийинки байтты тааныбайт жана жөн гана саптан чыгатжогорку, кожоюндун токтотуу сигналын жаратуусуна себеп болот.
Эгерде өткөрүп берүү процедурасы мастер-кабыл алуучунун болушун караштырса, анда бул учурда ал кулга берүүнүн аяктагандыгы жөнүндө билдирүүгө тийиш жана бул акыркы кабыл алынган байтты моюнга албоо аркылуу ишке ашырылат. Бул учурда, кул-өткөргүч маалымат линиясын дароо бошотот, ошондо мастер "Токтотуу" сигналын бере алат же "Старт" сигналын кайра кайталай алат.
Жабдуулардын иштеп жатканын текшерүү үчүн, жогорудагы сүрөттөгүдөй, Arduino ичиндеги I2C интерфейси үчүн эскиздердин стандарттуу мисалдарын киргизип көрүңүз.
Арбитраж
Мастерлер автобус толугу менен бош болгондон кийин гана маалыматты жөнөтө баштаса болот, бирок эки же андан көп мастерлер минималдуу кармоо убакытында старт сигналын чыгара алышат. Мунун натыйжасында автобуста белгилүү бир "Старт" сигналы пайда болот.
Арбитраж SDA автобусунда иштейт, ал эми SCL автобусу жогору. Эгерде мастерлердин бири маалымат линиясында төмөнкү деңгээлди өткөрүп баштаса, бирок ошол эле учурда экинчиси жогору болсо, анда экинчиси андан толугу менен ажыратылган, анткени SDL абалы анын ички линиясынын жогорку абалына туура келбейт..
Арбитраж бир нече биттен уланышы мүмкүн. Дарек алгач берилип, андан кийин маалыматтар берилгендиктен, арбитраж даректин аягына чейин созулушу мүмкүн, эгер мастерлер кайрыла турган болсо.ошол эле аппарат, анда ар кандай маалыматтар да арбитражга катышат. Бул арбитраждык схемадан улам, кандайдыр бир кагылышуу болуп кетсе, эч кандай маалымат жоголбойт.
Эгер мастер арбитраждан утулуп калса, анда ал SCLде сааттын импульстарын байттын аягына чейин чыгара алат, анын жүрүшүндө кирүү мүмкүнчүлүгү жоголду.