Қазіргі тұрмыстық техникада, өнеркәсіптік электроникада және әртүрлі телекоммуникациялық жабдықтарда ұқсас шешімдерді жиі табуға болады, дегенмен өнімдер іс жүзінде бір-бірімен байланыссыз болуы мүмкін. Мысалы, әрбір дерлік жүйе мыналарды қамтиды:
- көп жағдайда бір чипті микрокомпьютер болып табылатын белгілі бір «ақылды» басқару блогы;
- СКД буферлері, жедел жад, енгізу/шығару порттары, EEPROM немесе арнайы деректер түрлендіргіштері сияқты жалпы мақсаттағы компоненттер;
- арнайы құрамдас бөліктер, соның ішінде бейне және радио жүйелеріне арналған цифрлық реттеу және сигналды өңдеу схемалары.
Олардың қолданбасын қалай оңтайландыруға болады?
Дизайнерлер мен өндірушілердің игілігі үшін осы жалпы шешімдерді барынша пайдалану, сондай-ақ әртүрлі аппараттық құралдардың жалпы өнімділігін жақсарту және қолданбалы схема құрамдастарын жеңілдету үшін Philips ең қарапайым екі сымды екі бағытты әзірлеуге кірісті. ең өнімді микрочиптерді қамтамасыз ететін автобусбақылау. Бұл автобус I2C интерфейсі арқылы деректерді тасымалдауды қамтамасыз етеді.
Бүгінгі таңда өндірушінің өнім ассортименті 150-ден астам CMOS, сондай-ақ I2C-пен үйлесімді және аталған санаттардың кез келгенінде жұмыс істеуге арналған биполярлы құрылғыларды қамтиды. Айта кету керек, I2C интерфейсі бастапқыда барлық үйлесімді құрылғыларға салынған, соның арқасында олар арнайы шинаның көмегімен бір-бірімен оңай байланыса алады. Осындай конструктивтік шешімді қолданудың арқасында сандық жүйелерді дамытуға әбден тән әртүрлі жабдықты біріктіру мәселелерінің жеткілікті үлкен санын шешуге болады.
Негізгі артықшылықтар
UART, SPI, I2C интерфейстерінің қысқаша сипаттамасын қарасаңыз да, соңғысының келесі артықшылықтарын бөліп көрсетуге болады:
- Жұмыс істеу үшін сізге тек екі жол қажет - синхрондау және деректер. Мұндай шинаға қосылатын кез келген құрылғы кейін бағдарламалы түрде толығымен бірегей мекенжайға жіберілуі мүмкін. Кез келген уақытта шеберлерге негізгі таратқыш немесе қабылдаушы ретінде әрекет етуге мүмкіндік беретін қарапайым қатынас бар.
- Бұл автобус соқтығыстарды анықтау үшін барлық қажетті құралдарды қамтамасыз ете отырып, бірден бірнеше шеберге ие болу мүмкіндігін қамтамасыз етеді, сонымен қатар екі немесе одан да көп шеберлер бір уақытта ақпаратты жібере бастаған жағдайда деректердің бүлінуін болдырмау үшін арбитражды ұсынады. Стандартты режимдетек сериялық 8 биттік деректерді беру 100 кбит/с аспайтын жылдамдықпен қамтамасыз етіледі, ал жылдам режимде бұл шекті төрт есе арттыруға болады.
- Чиптер асқын кернеуді тиімді басатын және деректердің максималды тұтастығын қамтамасыз ететін арнайы кіріктірілген сүзгіні пайдаланады.
- Бір автобусқа қосылуға болатын микросхемалардың максималды саны оның максималды мүмкін болатын сыйымдылығы 400 pF арқылы ғана шектеледі.
Құрылысшыларға арналған артықшылықтар
I2C интерфейсі, сондай-ақ барлық үйлесімді чиптер функционалдық диаграммадан оның соңғы прототипіне дейін әзірлеу процесін айтарлықтай жылдамдата алады. Сонымен қатар, мұндай микросұлбаларды барлық қосымша схемаларды қолданбай шинаға тікелей қосу мүмкіндігінің арқасында прототиптік жүйені әр түрлі құрылғыларды ажырату және қосу арқылы одан әрі жаңғырту және модификациялау үшін орын қарастырылғанын атап өткен жөн. автобус.
I2C интерфейсін ерекше ететін көптеген артықшылықтар бар. Сипаттама, атап айтқанда, конструкторлар үшін келесі артықшылықтарды көруге мүмкіндік береді:
- Функционалдық диаграммадағы блоктар микросұлбаларға толығымен сәйкес келеді және сонымен бірге функционалдықтан іргеліге айтарлықтай жылдам өту қамтамасыз етіледі.
- Шиналық интерфейстерді әзірлеудің қажеті жоқ, себебі автобус арнайы чиптерге жергілікті түрде біріктірілген.
- Кіріктірілген байланыс протоколдары жәнеқұрылғыны адрестеу жүйені толығымен бағдарламалық құралмен анықтауға мүмкіндік береді.
- Микросұлбалардың бірдей түрлерін, қажет болса, мүлдем басқа қолданбаларда пайдалануға болады.
- Жалпы әзірлеу уақыты айтарлықтай қысқарды, себебі дизайнерлер жиі қолданылатын функционалды блоктармен, сондай-ақ әртүрлі микросұлбалармен тез танысады.
- Қаласаңыз, чиптерді жүйеден қосуға немесе жоюға болады, сонымен бірге бір автобусқа қосылған басқа жабдыққа көп әсер етпейді.
- Қайта пайдалануға болатын бағдарламалық модульдер кітапханасына рұқсат беру арқылы бағдарламалық құралды әзірлеудің жалпы уақытын едәуір қысқартуға болады.
Басқа нәрселермен қатар, I2C интерфейсін ерекшелендіретін орын алған сәтсіздіктерді диагностикалаудың және одан әрі жөндеудің өте қарапайым процедурасын атап өткен жөн. Сипаттама, қажет болған жағдайда, мұндай жабдықтың жұмысындағы шамалы ауытқуларды еш қиындықсыз бірден бақылауға және тиісінше тиісті шараларды қабылдауға болатындығын көрсетеді. Сондай-ақ, дизайнерлер арнайы шешімдерді алатынын атап өткен жөн, олар, атап айтқанда, I2C интерфейсін пайдаланып батарея қуатын қамтамасыз ететін әртүрлі портативті жабдықтар мен жүйелер үшін өте тартымды. Орыс тіліндегі сипаттама сонымен қатар оны пайдалану келесі маңызды артықшылықтарды қамтамасыз етуге мүмкіндік беретінін көрсетеді:
- Кез келген пайда болатын кедергілерге жеткілікті жоғары төзімділік.
- Соңындатөмен қуат тұтыну.
- Қоректену кернеуінің ең кең диапазоны.
- Кең температура диапазоны.
Технологтар үшін артықшылықтар
Айта кетейік, соңғы кездері дизайнерлер ғана емес, технологтар да мамандандырылған I2C интерфейсін жиі қолдана бастады. Орыс тіліндегі сипаттама мамандардың осы санаты беретін артықшылықтардың жеткілікті кең ауқымын көрсетеді:
- Осы интерфейсі бар стандартты екі сымды сериялық шинасы IC-лер арасындағы өзара байланысты азайтады, яғни түйреуіштер азырақ және жолдар қажет болады, бұл ПХД-ны арзанырақ және әлдеқайда кішірек етеді.
- Толық интеграцияланған 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 кбит аспайды. Шинаға бір уақытта қосылуға болатын құрылғылардың жалпы саны тек бір параметрге байланысты. Бұл желі сыйымдылығы, ол 400 pf аспайды.
Растау
Растау - деректерді тасымалдау процесіндегі міндетті процедура. Таратқыш растау ретінде осы синхрондау импульсі кезінде SDA желісін босатқан кезде мастер сәйкес синхрондау импульсін жасайды. Осыдан кейін ресивер SDA желісінің тұрақты төмен күйде сағаттың жоғары күйінде тұрақты болуын қамтамасыз етуі керек. Бұл жағдайда орнату және ұстап тұру уақытын ескеруді ұмытпаңыз.
Жағдайлардың басым көпшілігінде адрестелген қабылдағыш әрбір алынған байттан кейін растауды жасауы керек, тек қана жіберудің басталуы CBUS мекенжайын қамтитын жағдайды қоспағанда.
Егер қабылдағыш-құлдың өз мекенжайының растауын жіберу мүмкіндігі болмаса, деректер желісін жоғары қалдыру керек, содан кейін мастер «Тоқта» сигналын бере алады, бұл жіберуді тоқтатады. барлық ақпарат. Егер мекенжай расталса, бірақ бағынышты құрылғы ұзақ уақыт бойы басқа деректерді ала алмаса, шебер жіберуді де үзуі керек. Ол үшін құл келесі алынған байтты мойындамайды және жай ғана жолдан шығадыжоғары, бұл шебердің тоқтату сигналын жасауына себеп болады.
Тасымалдау процедурасы негізгі қабылдаушының болуын қарастырса, онда бұл жағдайда ол балды жіберудің аяқталуы туралы хабарлауы керек және бұл соңғы қабылданған байтты мойындамау арқылы жүзеге асырылады. Бұл жағдайда негізгі таратқыш «Тоқта» сигналын беруі немесе «Бастау» сигналын қайталауы үшін деректер желісін дереу босатады.
Жабдықтың жұмыс істеп тұрғанын тексеру үшін жоғарыдағы фотодағыдай Arduino жүйесінде I2C интерфейсіне арналған эскиздердің стандартты мысалдарын енгізуге болады.
Төрелік
Мастерлер ақпаратты автобус толығымен бос болғаннан кейін ғана жібере алады, бірақ екі немесе одан да көп шеберлер ең аз ұстау уақытында іске қосу сигналын жасай алады. Нәтижесінде автобуста белгілі бір "Бастау" сигналы пайда болады.
Төрелік SDA шинасында SCL шинасы жоғары болғанда жұмыс істейді. Егер шеберлердің бірі деректер желісінде төмен деңгейді жібере бастаса, бірақ сонымен бірге екіншісі жоғары болса, онда соңғысы одан толығымен ажыратылады, өйткені SDL күйі оның ішкі желісінің жоғары күйіне сәйкес келмейді..
Арбитраж бірнеше бит бойынша жалғасуы мүмкін. Алдымен мекен-жай, содан кейін деректер жіберілетіндіктен, арбитраж адрестің соңына дейін созылуы мүмкін және егер шеберлер жүгінетін болса.бір құрылғы, содан кейін әртүрлі деректер де арбитражға қатысады. Осы арбитраждық схемаға байланысты қандай да бір қақтығыс орын алса, деректер жоғалмайды.
Егер мастер арбитражда жеңіліп қалса, ол байттың соңына дейін SCL-де сағат импульстерін шығара алады, оның барысында қол жеткізу жоғалған.