Мазмұны:

STM32 CAN интерфейсі: 7 қадам
STM32 CAN интерфейсі: 7 қадам

Бейне: STM32 CAN интерфейсі: 7 қадам

Бейне: STM32 CAN интерфейсі: 7 қадам
Бейне: STM32 настройка CAN 2024, Қараша
Anonim
STM32 CAN интерфейсі
STM32 CAN интерфейсі

Controller Area Network шинасы немесе CAN шинасы - бұл жоғары жылдамдықтағы мүмкіндіктердің, ұзақ қашықтықтағы сенімділіктің және шудың иммунитетінің арқасында өте тиімді байланыс протоколы. Осы себептерге байланысты CAN байланысы автомобиль технологиялары мен жоғары шу ортасында стандартқа айналды. CAN шинасындағы құрылғылар түйіндер деп аталады. CAN шинасындағы барлық түйіндер параллель қосылған, яғни әрбір түйін желідегі барлық басқа түйіндерге қосылған. Бір CAN шинасы хабарды жіберу жылдамдығына байланысты бірден 115 түйінге ие бола алады, бірақ көптеген қосымшаларда 32 құрылғыға дейін болу ұсынылады. Сондай -ақ, бірінші және соңғы түйін арасындағы ұзындықты бір -бірінен 40 метрден аз ұстау ұсынылады.

Бұл қадамдық нұсқаулық STM32 микроконтроллерінің көмегімен CAN түйінін қалай орнату керектігін көрсетеді, оның ішінде схема мен CAN шинасына оқуға және жазуға қарапайым С коды бар.

Жабдықтар

Әрбір CAN түйіні үшін:

  • 1x STM32 сыну тақтасы (Nucleo, Blue Pill, басқалары)
  • 1x MCP2551 CAN қабылдағыш IC
  • 1x 0.1μF конденсатор
  • 1x 120Ω резистор
  • 1x 1 кОм резистор
  • 1+ оқылатын кіріс (түйме, қосқыш, потенциометр және т.б.) немесе шығыс (LED, MOSFET және т.б.)
  • 1x Dsub9 қосқышы

1 -қадам: Трансиверлік схема

Трансиверлік схема
Трансиверлік схема

CAN шинасымен байланысу үшін біз MCP2551 CAN IC трансиверін қолданамыз. IC STM32 -ді CAN шинасына қосу үшін аралық жіберуші/қабылдағыш жұбы ретінде әрекет етеді. Бұл IC орнату схемасы өте қарапайым, бірақ бірнеше нәрсені ескеру қажет:

  • MCP2551 чипіндегі CAN_RX (түйреуіш 4) пен CAN_TX (түйреуіш 1) тек STM32 -дегі кейбір түйреуіштерге кіре алады.

    • STM32F1 Nucleo -да RX желісін PB8 істігіне, ал TX желісін PB9 істігіне қосыңыз.
    • STM32F1 көк таблеткасында RX -ты PA11 түйрегіне, ал TX -ті PA12 түйреуішіне қосыңыз.
    • Бұл пин тағайындаулардың балама нұсқалары бар екенін ескеріңіз. Қандай түйреуіштер CAN_RD және CAN_TD қабілетті екенін анықтау үшін микроконтроллердің нұсқауларын қараңыз.
    • Егер Arduino немесе CAN коммуникаторы жоқ тақтаны қолдансаңыз, MCP2515 IC чипі басқа хабарлама протоколдарын CAN -ге түрлендіру үшін қажет болады.
  • CANL түйреуіші басқа шина түйіндерінің басқа CANL түйреуіштеріне қосылуы керек. Бұл CANH түйреуіштеріне де қатысты.
  • CANH және CANL түйреуіштеріндегі 120Ω резисторы түйін терминалды түйін болған жағдайда ғана қажет. Бұл параллель қосылу сымының соңында екенін білдіреді. Басқаша айтқанда, CAN автобусында тек 120Ω екі резистор болуы керек және олар бір -бірінен мүмкіндігінше алыс болуы керек.
  • Ақырында, RS -тегі 1 кОм резисторды (түйреуіш 8) 10 кОм резисторға ауыстыруға болады, ол CAN хабарлама биттерінің көтерілу/түсу уақытын басқарады. Қосымша мәліметтер алу үшін MCP2551 чипінің деректер кестесін қараңыз.

2 -қадам: CAN автобусына оқу және жазу

CAN автобусына оқу және жазу
CAN автобусына оқу және жазу

Енді трансивер схемасы STM32 -ге қосылғандықтан, біз CAN шинасына хабарламалар жаза бастаймыз. Бұл нұсқаулық STM32 кодына терең енбейді. Дегенмен, мысалдар үшін біздің кодты тексеруді ұмытпаңыз. STM32 -ді CAN түйіні ретінде пайдалану үшін CAN тақырыптық файл қажет болады. Біз өзіміз жаздық, оны біздің гитубтан табуға болады. Мұнда біз оқу/жазу процесіне қысқаша шолу жасаймыз.

CAN автобусынан оқу үшін алдымен CAN хабарламасының идентификаторын білуіміз керек. Әрбір хабарламаның бірегей идентификаторы болуы керек, ал төменгі идентификаторлар басымдыққа ие. Мұнда көрсетілген код үзіндісі 0x622 идентификаторы бар CAN хабарламасын күтеді. Біздің жүйеде, егер 6 -байттың бірінші биті жоғары болса, онда біз A10 штырын жоғары орнатқымыз келеді.

CAN хабарламасын жазу кезінде біз CAN хабарламалары көп байтты екенін есте ұстауымыз керек. Әрбір жазбаша хабарламаның идентификаторы мен ұзындығы болуы керек. Көрсетілген кодтың екінші үзіндісінде біз деректерді әр байтқа жазамыз, содан кейін хабарды жібереміз (идентификатор мен ұзындық параметрлері кодта ертерек анықталған).

3 -қадам: түйіндерді қосу

Түйіндерді қосу
Түйіндерді қосу

Бірнеше CAN түйіндерін қосқанда, кабельдердің ұзындығына мұқият назар аудару қажет. Ең алыс екі түйін бір -бірінен 40 м қашықтықта болуы мүмкін. Автобусқа қосылатын ортаңғы тораптар негізгі автобус желілерінен 50 см қашықтықта болуы керек.

CAN байланыстары DSub9 коннекторын CINL сызығы 2, ал PIN7 CANH желісі бар салалық стандартқа сәйкес келеді. CANGND желісінің опциясы 3 -ші пинге өтуі мүмкін.

4 -қадам: ПХД жасаңыз

ПХД жасаңыз
ПХД жасаңыз

ПХД -да CAN сигналдарын бағыттаған кезде, CAN дифференциалды сигнал екенін есте сақтаңыз, сондықтан CANH мен CANL үшін бағыттау нұсқауларын мұқият орындау қажет.

5 -қадам: тақтаны кеңейту

Басқарманы кеңейту
Басқарманы кеңейту

Басқа түйіндерді бірге тастаңыз, кейбір кірістерді/шығуларды қосыңыз және олардың барлық CANH және CANL түйреуіштерін қосыңыз. Әрбір STM32 немесе басқа микроконтроллерге өзінің MCP2551 чипі қажет екенін ескеріңіз; оларды бөлісуге болмайды.

Осыған сәйкес, ПХД -ларды мұнда көрсетілгеннен кішірек ұстауға тырысыңыз

6 -қадам: JLCPCB -ден ПХД -ге тапсырыс беріңіз

PCB -ке JLCPCB -ден тапсырыс беріңіз
PCB -ке JLCPCB -ден тапсырыс беріңіз

JLCPCB өте қолайлы бағамен жылдам, жоғары сапалы қызмет көрсетеді. Барлығы 2 долларға 5 тонна тақтаны алыңыз, тонналандырылған тонмен! Ал егер бұл сіздің бірінші тапсырысыңыз болса, сол бағамен 10 тақта алыңыз!

Өзіңіздің қонақтарыңызды жүктеп алыңыз және тез баға алыңыз! Тапсырысты жіберіңіз, ал сіздің тақталар бір сағат ішінде өндіріс үшін қаралады. Төлегеннен кейін сіз жоғары сапалы тақталарды үш күннен кейін күте аласыз!

Мұнда тексеріңіз

7 -қадам: тақталарыңызды алыңыз

Тақталарыңызды алыңыз!
Тақталарыңызды алыңыз!

Бұл жобаға демеушілік үшін JLCPCB -ге үлкен айқай. JLCPCB (ShenzhenJLC Electronics Co., Ltd.)-бұл Қытайдағы ПХД прототипінің ең ірі кәсіпорны және ПХД прототипін тез құрастыруға және шағын партиялы ПХД өндіруге маманданған жоғары технологиялық өндіруші. Олар UBC Solar-ға біздің күн энергиясынан жарысатын автокөлігіміздің жаңа ПХД-ларын ұсынуға мейірімді болды. Біз жұмаға тапсырыс бердік, ал тақталарды сәрсенбіде алдық!

Ұсынылған: