搜索
您的当前位置:首页正文

CANopen协议介绍

来源:意榕旅游网
ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

CANopen णᩲҟඑ

⌕ᜐ⃻⌆ՈCAN-busʌሖणᩲ

1

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

ֲᔩ

1ǃҟඑ.....................................................................................................................................................................1 2ǃCAL णᩲ............................................................................................................................................................2 3ǃCANopen.............................................................................................................................................................3

3ˊ1 ᇍᬥᄫ݌OD........................................................................................................................................3 3ˊ2 CANopenỞᩳ.....................................................................................................................................4 3ˊ3 CANopen8ᅮНẢ᥹▊.....................................................................................................................6 3ˊ4 CANopenᷛ᪊৪ߚ‑.........................................................................................................................8 3ˊ5 CANopen boot-upẋ࣏........................................................................................................................8 3ˊ6 CANopen⍜ᙃ᪱⊩ඊᅆ.....................................................................................................................9 4ǃᘏ඗...................................................................................................................................................................18 5ǃ᪸ᯢ...................................................................................................................................................................19

1

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

1ǃҟඑ

ҢOSIตච῵ൟՈᢖᑺᴹ׏ৠˈɴഎᘏඃตචϔჰাᅲɴњৰ1ሖ˄ĭˊሖ˅ǃৰ2ሖ˄᭄᥂⏂Ჳሖ˅ǃৰ7ሖ˄ᑨϬሖ˅DŽ಴ЎɴഎᘏඃỞᐌাࣙᣀϔϾต↉ˈ಴ℸϡ◄ᡅৰ3ሖ˄Ӵṗሖ˅੠ৰ4ሖ˄ตචሖ˅ˈгϡ◄ᡅৰ5ሖ˄Ӯ᪡ሖ˅ৰ6ሖ˄ᦣẴሖ˅Ո԰ϬDŽ

CAN˄Controller Area Network˅ɴഎᘏඃҙҙᅮНњৰ1ሖǃৰ2ሖ˄ᢅISO11898ᷛޚ˅˗ᅲ┉᪂ᩥЁˈẝϸሖᅠܼϵܰӊᅲɴˈ᪂ᩥҎਬ᮴◄ݡЎℸᓔথּ݇ḳӊ˄Software˅៪೎ӊ˄Firmware˅DŽ ẝϸሖᅠܼϵܰӊᅲɴˈৠᯊˈCANাᅮНĭˊሖ੠᭄᥂⏂Ჳሖˈ≵᳝ᢈᅮᑨϬሖˈᴀᵯᑊϡᅠᭈˈ◄ᡅϔϾʌሖणᩲᴹᅮНCAN᡹᭛ЁՈ11/29ԡᷛ᪊৪ǃ8ᄫᅆ᭄᥂ՈՓϬDŽ໐Ϩˈ෎ѢCANᘏඃՈᎹϮႮࡼ࣪ᑨϬЁˈᱎᴹᱎ◄ᡅϔϾᓔᬒՈǃᷛޚ࣪Ոʌሖणᩲ˖ẝϾणᩲᬃᣕ৘࢑CANॖଚ᪂໛ՈѦϬᗻǃѦᤶᗻˈ࿁໳ᅲɴ೼CANตචЁᦤկᷛޚՈǃඣϔՈிඣỞᩳ῵ᓣˈᦤկ᪂໛ࡳ࿁ᦣẴᮍᓣˈᠻᜐตච੥ˊࡳ࿁DŽ

z󰀂ᑨϬሖ˄Application layer˅˖ЎตචЁ↣ϔϾ᳝ᬜ᪂໛῁࿁໳ᦤկϔඈ᳝ϬՈ᳡ࡵϢणᩲDŽ z󰀂ỞᩳᦣẴ˄Communication profile˅˖ᦤկ‑า᪂໛ǃỞᩳ᭄᥂Ո৿НˈᅮН᭄᥂ỞᩳᮍᓣDŽ z󰀂᪂໛ᦣẴ˄Device proflile˅˖Ў᪂໛˄ି˅๲ࡴ৪ড়ᢈᇇՈᜐЎDŽ

ϟ☦Ոতᅆᇚҟඑ෎ѢCANՈʌሖणᩲ˖CALणᩲ੠෎ѢCALणᩲᠽሩՈCANopenणᩲDŽCANopenणᩲᰃCAN-in-Automation(CiA)ᅮНՈᷛޚПϔˈᑊϨ೼থᏗৢϡЙህቻᕫњᑓ⊯ՈᡓᩨDŽᇸ݊ᰃ೼⃻⌆ˈCANopenणᩲᝯᩨЎᰃ೼෎ѢCANՈᎹϮிඣЁऴ:ᇐഄԡՈᷛޚDŽ໻໮᭄ₑᡅՈ᪂໛ିൟˈ՟བ᭄ᄫ੠῵ᢳՈṗܹṗߎ῵ഫǃȥࡼ᪂໛ǃ᪡԰᪂໛ǃ᥻ࠊ఼ǃৃේ࣏᥻ࠊ఼៪ේۅ఼ˈ῁೼ࢴЎĀ᪂໛ᦣẴāՈणᩲЁẟᜐᦣẴ˗Ā᪂໛ᦣẴāᅮНњϡৠିൟՈᷛޚ᪂໛ঞּ݊ᑨՈࡳ࿁DŽձ☤CANopenणᩲՈᬃᣕˈৃҹᇍϡৠॖଚՈ᪂໛Ởẋᘏඃẟᜐ‑าDŽ

೼OSI῵ൟЁˈCANᷛޚǃCANopenणᩲПⒸՈ݇ிབϟ೒᠔߾˖

CiA DSP-401ApplicationLayer CiA DSP-404 CiA DSP-xxxCommunication Profile CiA DS-301Data LinkLayerChipCAN 2.0AISO 11898Physical LayerCable

೒1.1 CANǃCANopenᷛޚ೼OSIตච῵ൟЁՈԡาḚ೒

1

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

2ǃCAL णᩲ

CAL˄CAN Application Layer˅णᩲᰃֲࠡ෎ѢCANՈʌሖỞᩳणᩲЁՈϔ࢑ˈ᳔ᮽϵPhilipsएћ᪂໛ᾬ⒬ࠊᅮDŽɴ೼CALϵưএՈCANϬ᠋੠ࠊỤଚ▊ಶCiA˄CAN in Automation˅णӮᯣᯧ੥ˊǃথሩ੠᥼ᑓDŽ

CALᦤկњ4࢑ᑨϬሖ᳡ࡵࡳ࿁˖ z󰀂CMS (CAN-based Message Specification)

CMSᦤկњϔϾᓔᬒՈǃ☦৥ᇍᬥՈɳ๗ˈϬѢᅲɴϬ᠋ՈᑨϬDŽCMSᦤկ෎ѢবₓǃџӊǃඳିൟՈᇍᬥˈҹ᪂ᩥ੠ᢈᅮϔϾ᪂໛˄ᅆ⚍˅Ոࡳ࿁བԩᝯ᪃⒲˄՟བˈབԩϞṁϟṁ᱉ẋ8ᄫᅆՈϔඈ᭄᥂˄ඳ˅ˈᑊϨ᳝ඌℶӴṗՈࡳ࿁˅DŽ

CMSҢMMS (Manufacturing Message Specification)ණᡓ໐ᴹDŽMMSᰃOSIЎᎹϮ᪂໛ՈẠ࣏᥻ࠊ੠֕᥻໐ࠊᅮՈᑨϬሖᢈᇇDŽ z󰀂NMT (Network ManagemenT)

ᦤկตච੥ˊ˄བ߱ྟ࣪ǃਃࡼ੠ذℶᅆ⚍ˈպ⌟༅ᬜᅆ⚍˅᳡ࡵDŽẝ࢑᳡ࡵᰃ₋ϬЏҢỞᩳ῵ᓣ˄᠔ҹা᳝ϔϾNMTЏᅆ⚍˅ᴹᅲɴՈDŽ z󰀂DBT (DistriBuTor)

ᦤկࡼᗕߚ‑CAN ID˄ℷᓣৡࢴЎCOB-IDˈCommunication Object Identifier˅᳡ࡵDŽẝ࢑᳡ࡵᰃ₋ϬЏҢỞᩳ῵ᓣ˄᠔ҹা᳝ϔϾDBTЏᅆ⚍˅ᴹᅲɴՈDŽ z󰀂LMT (Layer ManagemenT)

LMTᦤկׂᬍሖখ᭄Ո᳡ࡵ˖ϔϾᅆ⚍˄LMT Master˅ৃҹ᪂า঺໪ϔϾᅆ⚍˄LMT Slave˅Ոᶤሖখ᭄˄བᬍবϔϾᅆ⚍ՈNMTഄഔˈ៪ᬍবCAN᥹ষՈԡᅮᯊ੠⊶Ľɋ˅DŽ

CMSЎᅗՈ⍜ᙃᅮНњ8ϾӬܜ൫ˈ↣ϾӬܜ൫ᢹ᳝220ϾCOB-IDˈᇇೈҢ1ࠄ1760DŽ࠽ԭՈᷛᖫ˄0ˈ1761-2031˅ֱНඝNMTˈDBT੠LMTˈᢅᜬ2-1DŽ

ᜬ2-1󰁒 ᯴ᇘࠄCAL᳡ࡵ੠ᇍᬥՈCOB-ID(11ԡCANᷛ᪊৪)

COB-ID 0 1 - 220 221 - 440 441 - 660 661 - 880 881 - 1100 1101 - 1320 1321 - 1540 1541 - 1760 1761 - 2015 2016 - 2031

⊼ᛣẝᰃCAN2.0Aᷛޚˈ11ԡIDᇇೈ[0ˈ2047]ˈϵѢग़৆ॳ಴└ࠊ೼[0ˈ2031]DŽབᵰՓϬCAN2.0Bᷛޚˈ29ԡIDᑊϡᬍবẝϾᦣẴ˗ᜬЁՈ11ԡ᯴ᇘࠄ29ԡCOB-IDЁՈ᳔ʌ11ԡˈҹႷѢᜬЁՈCOB-IDᇇೈবᕫ๲໻᩼໮DŽ

᳡ࡵ៪ᇍᬥ NMT ਃࡼ/ذℶ᳡ࡵ CMSᇍᬥ󰁒Ӭܜ൫0 CMSᇍᬥ󰁒Ӭܜ൫1 CMSᇍᬥ󰁒Ӭܜ൫2 CMSᇍᬥ󰁒Ӭܜ൫3 CMSᇍᬥ󰁒Ӭܜ൫4 CMSᇍᬥ󰁒Ӭܜ൫5 CMSᇍᬥ󰁒Ӭܜ൫6 CMSᇍᬥ󰁒Ӭܜ൫7 NMT ᅆ⚍ֱᡸ NMTˈLMTˈDBT᳡ࡵ

2

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

3ǃCANopen

CALᦤկњ᠔᳝Ոตච੥ˊ᳡ࡵ੠᡹᭛ӴễणᩲˈԚᑊ≵᳝ᅮНCMSᇍᬥՈݙᆍ៪້ℷ೼ỞᩳՈᇍᬥՈିൟ˄ᅗাᅮНњhowˈ≵᳝ᅮНwhat˅DŽ໐ẝℷᰃCANopenߛܹ⚍DŽ

CANopenᰃ೼CAL෎܄ϞᓔথՈˈՓϬњCALỞᩳ੠᳡ࡵणᩲᄤ▊ˈᦤկњߚᏗᓣ᥻ࠊிඣՈϔ࢑ᅲɴᮍḜDŽCANopen೼ֱ᪅ตචᅆ⚍ѦϬᗻՈৠᯊܕ᩼ᅆ⚍Ոࡳ࿁╓ᛣᠽሩ˖៪੄ऩ៪໡ᴖDŽ

CANopenՈḌᖗὖᗉᰃ᪂໛ᇍᬥᄫ݌˄OD˖Object Dictionary˅ˈ೼݊ᅗɴഎᘏඃ˄ProfibusˈInterbus-S˅ிඣЁгՓϬẝ࢑᪂໛ᦣẴᔶᓣDŽ⊼ᛣ˖ᇍᬥᄫ݌ϡᰃCALՈϔᾬߚˈ໐ᰃ೼CANopenЁᅲɴՈDŽ

ϟ☦ܜҟඑᇍᬥᄫ݌˄OD˖Object Dictionary˅ˈ✊ৢݡҟඑCANopenỞᩳᴎࠊDŽ

3.1 ᇍᬥᄫ݌OD

ᇍᬥᄫ݌˄OD˖Object Dictionary˅ᰃϔϾ᳝ᑣՈᇍᬥඈ˗↣Ͼᇍᬥ₋ϬϔϾ16ԡՈ௦ᓩؐᴹᇏഔˈЎњܕ᩼᪃⒲᭄᥂඗ᵘЁՈऩϾܗ௤ˈৠᯊᅮНњϔϾ8ԡՈᄤ௦ᓩˈᇍᬥᄫ݌Ո඗ᵘখ+ᜬ3-1DŽϡᡅᝯᇍᬥᄫ݌Ё௦ᓩؐԢѢ0x0FFFՈþdata typesÿ-᠔ẻᚥˈᅗӀҙҙᰃϔѯ᭄᥂ିൟᅮНDŽϔϾᅆ⚍Ոᇍᬥᄫ݌Ո᳝݇ᇇೈ೼0x1000ࠄ0x9FFFПⒸDŽ

ᜬ3-1 CANopenᇍᬥᄫ݌ỞϬ඗ᵘ

௦ᓩ

0000 Not used

0001 - 001F 0020 - 003F 0040 - 005F 0060 - 007F 0080 - 009F 00A0 - 0FFF 1000 - 1FFF 2000 - 5FFF 6000 - 9FFF A000 - FFFF

CANopenตචЁ↣Ͼᅆ⚍῁᳝ϔϾᇍᬥᄫ݌DŽᇍᬥᄫ݌ࣙ৿њᦣẴẝϾ᪂໛੠ᅗՈตචᜐЎՈ᠔᳝খ᭄DŽ

ϔϾᅆ⚍Ոᇍᬥᄫ݌ᰃ೼Ϲᄤ᭄᥂᭛ḷ˄EDS˖Electronic Data Sheet˅ЁᦣẴ៪້ᩴᔩ೼ർϞDŽϡᖙᡅгϡ◄ᡅỞẋCAN-busĀᅵ⒲āϔϾᅆ⚍Ոᇍᬥᄫ݌ЁՈ᠔᳝খ᭄DŽབᵰϔϾᅆ⚍ϹḐᣝ+೼ർϞՈᇍᬥᄫ݌ẟᜐᦣẴ݊ᜐЎˈгᰃৃҹՈDŽᅆ⚍ᴀᵯা◄ᡅ࿁໳ᦤկᇍᬥᄫ݌Ёᖙ◄Ոᇍᬥ˄໐೼CANopenᢈᅮЁᖙ◄Ո-ᅲ┉ϞᰃᕜᇥՈ˅ˈҹঞ݊ᅗৃọᢽՈǃᵘ៤ᅆ⚍ᾬߚৃ‑าࡳ࿁ՈᇍᬥDŽ

CANopenϵϔி߫ࢴЎᄤणᩲՈ᭛ḷඈ៤DŽ

Ởᩳᄤणᩲ˄communication profile˅ˈᦣẴᇍᬥᄫ݌ՈЏᡅᔶᓣ੠ᇍᬥᄫ݌ЁՈỞᩳᄤणᩲऎඳЁՈᇍᬥˈỞᩳখ᭄DŽৠᯊᦣẴCANopenỞᩳᇍᬥDŽẝϾᄤणᩲỆϬѢ᠔᳝ՈCANopen᪂໛DŽ

ẜ᳝৘࢑᪂໛ᄤणᩲ˄device profile˅ˈЎ৘࢑ϡৠିൟ᪂໛ᅮНᇍᬥᄫ݌ЁՈᇍᬥDŽֲࠡᏆ᳝5࢑ϡ

☝ᗕ᭄᥂ିൟ ˄ᷛޚ᭄᥂ିൟˈབBooleanˈInteger 16˅ ໡ᴖ᭄᥂ିൟ

˄8ᅮНϵ੄ऩିൟඈড়៤Ո඗ᵘབPDOCommParˈSDOParameter˅ ࠊỤଚᢈᅮՈ໡ᴖ᭄᥂ିൟ ᪂໛ᄤणᩲᢈᅮՈ☝ᗕ᭄᥂ିൟ ᪂໛ᄤणᩲᢈᅮՈ໡ᴖ᭄᥂ିൟ Reserved

Ởᩳᄤणᩲऎඳ

(བ᪂໛ିൟˈ⏝᪳ᆘᄬ఼ˈᬃᣕՈPDO᭄ₓ) ࠊỤଚĽᅮᄤणᩲऎඳ ᷛޚՈ᪂໛ᄤणᩲऎඳ

(՟བĀDSP-401 I/O ῵ഫ᪂໛ᄤणᩲā˖Read State 8 Input Lines਍) Reserved

ᇍᬥ

3

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com ৠՈ᪂໛ᄤणᩲˈᑊ᳝޴࢑ℷ೼থሩDŽ

᪂໛ᄤणᩲЎᇍᬥᄫ݌ЁՈ↣ϾᇍᬥᦣẴњᅗՈࡳ࿁ǃৡᄫǃ௦ᓩ੠ᄤ௦ᓩǃ᭄᥂ିൟˈҹঞẝϾᇍᬥᰃᖙ◄ՈẜᰃৃọՈˈẝϾᇍᬥᰃাᪿǃাݭ៪້ৃᪿݭ਍਍DŽ

⊼ᛣ˖ϔϾ᪂໛ՈỞᩳࡳ࿁ǃỞᩳᇍᬥǃϢ᪂໛ּ݇ՈᇍᬥҹঞᇍᬥՈ෾ׅؐϵϹᄤ᭄᥂᭛ḷ˄EDS˖Electronic Data Sheet˅ЁᦤկDŽ

ऩϾ᪂໛Ոᇍᬥ‑าՈᦣẴ᭛ӊࢴ԰᪂໛‑า᭛ӊ˄DCF˖Device Configuration File˅ˈᅗ੠EDSּ᳝ৠՈ඗ᵘDŽѠ້᭛ӊିൟ῁೼CANopenᢈᇇЁᅮНDŽ

᪂໛ᄤणᩲᅮНњᇍᬥᄫ݌ЁાѯODᇍᬥᰃᖙ◄ՈˈાѯᰃৃọՈ˗ᖙ◄Ոᇍᬥᑨ᪩ֱᣕ᳔ᇥ᭄ֲҹޣᇣᅲɴՈᎹ԰ₓDŽ

ৃọ-̣̣೼Ởᩳᾬߚ੠Ϣ᪂໛ּ݇ᾬߚ̣̣ৃҹḍ᥂◄ᡅ๲ࡴҹᠽሩCANopen᪂໛Ոࡳ࿁DŽབᵰ◄ᡅՈ-᱉ẋњ᪂໛ᄤणᩲЁৃҹᦤկՈˈ೼᪂໛ᄤणᩲЁᏆ8Нϵᱷ໳ाⒸᦤկඝॖଚՈĽᅮࡳ࿁ՓϬDŽ

ᇍᬥᄫ݌ЁᦣẴỞᩳখ᭄ᾬߚᇍ᠔᳝CANopen᪂໛˄՟བ೼ODЁՈᇍᬥᰃּৠՈˈᇍᬥؐϡᖙϔᅮּৠ˅῁ᰃϔḋՈDŽᇍᬥᄫ݌Ё᪂໛ּ݇ᾬߚᇍѢϡৠିՈ᪂໛ᰃϡৠՈDŽ

3ˊ2 CANopenỞᩳ

ࠡ☦᪸ᯢњCANopenЁᇍᬥᄫ݌Ոὖᗉˈɴ೼៥Ӏᴹҟඑ೼CANopenตචЁՈỞᩳ⍜ᙃˈᅗӀՈݙᆍ੠ࡳ࿁ˈᤶহ᪡˖CANopenỞᩳ῵ᓣDŽ

⊼ᛣ˖᪻ऎߚᇍᬥᄫ݌ЁՈᇍᬥ˄ՓϬᇍᬥᄫ݌௦ᓩ੠ᄤ௦ᓩ˅੠Ởᩳᇍᬥ˄៪້⍜ᙃˈՓϬCOB-ID˅DŽCANopenỞᩳ῵ൟᅮНњ4࢑᡹᭛˄Ởᩳᇍᬥ˅˖ 1ˊ ੥ˊ᡹᭛

z󰀂ሖ੥ˊˈตච੥ˊ੠IDߚ‑᳡ࡵ˖བ߱ྟ࣪ˈ‑า੠ตච੥ˊ˄ࣙᣀ˖ᅆ⚍ֱᡸ˅DŽ

z󰀂᳡ࡵ੠णᩲ৪ড়CALЁՈLMTˈNMT੠DBT᳡ࡵᾬߚDŽẝѯ᳡ࡵ῁ᰃ෎ѢЏҢỞᩳ῵ᓣ˖೼

CANตචЁˈা࿁᳝ϔϾLMTˈNMT៪DBTЏᅆ⚍ҹঞϔϾ៪໮ϾҢᅆ⚍DŽ

2ˊ ᳡ࡵ᭄᥂ᇍᬥSDO(Service Data Object)

z󰀂ỞẋՓϬ௦ᓩ੠ᄤ௦ᓩ˄೼CAN᡹᭛Ոࠡ޴Ͼᄫᅆ˅ˈSDOՓᅶ᠋ᴎ࿁໳᪃⒲᪂໛˄᳡ࡵ఼˅

ᇍᬥᄫ݌ЁՈ-˄ᇍᬥ˅DŽ

z󰀂SDOỞẋCALЁ໮ܗඳՈCMSᇍᬥᴹᅲɴˈܕ᩼Ӵễӏԩ⑃ᑺՈ᭄᥂˄ᔧ᭄᥂᱉ẋ4Ͼᄫᅆ

ᯊߚᢚ៤޴Ͼ᡹᭛˅DŽ

z󰀂णᩲᰃܲᩨ᳡ࡵିൟ˖Ў↣Ͼᩨ᳡ࡵିൟ⍜ᙃϣ៤ϔϾᑨਘ˄ϔϾSDO◄ᡅϸϾID˅DŽSDO᪻∖੠ᑨਘ᡹

᭛ᘏᰃࣙ৿8Ͼᄫᅆ˄≵᳝ᛣНՈ᭄᥂⑃ᑺ೼ৰϔϾᄫᅆЁᜬ߾ˈৰϔϾᄫᅆᨎᏺणᩲֵᙃ˅DŽSDOỞᩳ᳝ṇ໮ՈणᩲᢈᅮDŽ

3ˊ ẋ᭄࣏᥂ᇍᬥPDO˄Process Data Object˅

z󰀂ϬᴹӴṗᅲᯊ᭄᥂ˈṗᅲᯊ᭄᥂ ᭄᥂ҢϔϾϣѻ້ӴࠄϔϾ៪໮Ͼ⍜᯽້DŽ᭄᥂Ӵễ└ࠊ೼1ࠄ8Ͼᄫᅆ

˄՟བˈϔϾPDOৃҹӴṗ᳔໮64Ͼ᭄ᄫI/Oؐˈ៪້4Ͼ16ԡՈADؐ˅DŽ

z󰀂PDOỞᩳ≵᳝णᩲᢈᅮDŽPDO᭄᥂ݙᆍাϵᅗՈCAN IDᅮНˈ؛ᅮϣѻ້੠⍜᯽້ک἗ẝϾ

PDOՈ᭄᥂ݙᆍDŽ

z󰀂↣ϾPDO೼ᇍᬥᄫ݌ЁϬ2ϾᇍᬥᦣẴ˖

󰀄󰀂PDOỞᩳখ᭄˖ࣙ৿ાϾCOB-IDᇚᝯPDOՓϬˈӴṗିൟˈࡅℶᯊⒸ੠ᅮᯊ఼਼ᳳDŽ 󰀄󰀂PDO᯴ᇘখ᭄˖ࣙ৿ϔϾᇍᬥᄫ݌ЁᇍᬥՈ߫ᜬˈẝѯᇍᬥ᯴ᇘࠄPDOₐˈࣙᣀᅗӀՈ᭄

᥂⑃ᑺ˄in bits˅DŽϣѻ້੠⍜᯽້ᖙ/ک἗ẝϾ᯴ᇘˈҹᢧ₎PDOݙᆍDŽ

z󰀂PDO⍜ᙃՈݙᆍᰃ8ᅮНՈ˄៪້೼ตචਃࡼᯊ‑าՈ˅˖

᯴ᇘᑨϬᇍᬥࠄPDOЁᰃ೼᪂໛ᇍᬥᄫ݌ЁᦣẴՈDŽབᵰ᪂໛˄ϣѻ້੠⍜᯽້˅ᬃᣕৃবPDO᯴ᇘˈὧМՓϬSDO᡹᭛ৃҹ‑าPDO᯴ᇘখ᭄DŽ z󰀂PDOৃҹ᳝໮࢑Ӵễᮍᓣ˖

4

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

󰀄󰀂ৠℹ˄Ởẋ᥹ᬊSYNCᇍᬥᅲɴৠℹ˅

󰀅󰀂☢਼ᳳ˖ϵẠ࣏ᏻ8ᢪথӴễˈ៪້ϵ᪂໛ᄤणᩲЁᢈᅮՈᇍᬥĽᅮџӊ8ᢪথӴễDŽ 󰀅󰀂਼ᳳ˖Ӵễ೼↣1ࠄ240ϾSYNC⍜ᙃৢᢪথDŽ 󰀄󰀂ᓖℹ

󰀅󰀂ϵẠ࣏ᏻᢪথӴễDŽ

󰀅󰀂ϵ᪂໛ᄤणᩲЁᢈᅮՈᇍᬥĽᅮџӊᢪথӴễDŽ

ᜬ3-2ඝߎᴹњϵӴṗିൟᅮНՈϡৠPDOӴṗ῵ᓣˈӴṗିൟЎPDOỞᩳখ᭄ᇍᬥՈϔᾬߚˈϵ8ԡ᮴৪োᭈ᭄ᅮНDŽ

ᜬ3-2 PDOӴṗିൟᅮН

ᢪথPDOՈᴵӊ

Ӵṗିൟ

(B = both needed O = one or both) SYNC

RTR

Event

PDOӴṗ

0 B - B ৠℹˈ☢ᕾɳ 1-240 O - - ৠℹˈᕾɳ 241-251 - - - Reserved

252 B B - ৠℹˈ೼RTRПৢ 253 - O - ᓖℹˈ೼RTRПৢ 254 - O O ᓖℹˈࠊỤଚĽᅮџӊ 255 - O O ᓖℹˈ᪂໛ᄤणᩲĽᅮџӊ ᪸ᯢ˖

z󰀂SYNC –᥹ᬊࠄSYNC-objectDŽ z󰀂RTR󰁒ˉ᥹ᬊࠄẠ࣏ᏻDŽ

z󰀂Event –՟བ᭄ؐᬍব៪້ᅮᯊ఼ЁᮁDŽ

z󰀂ӴṗିൟЎ˖1ࠄ240ᯊˈ᪩᭄ᄫҷᜬϸϾPDOПⒸՈSYNCᇍᬥՈ᭄ֲ˅DŽ

z󰀂ϔϾPDOৃҹᣛᅮϔϾϔϾࡅℶᯊⒸˈेᅮНϸϾẢනPDOӴṗՈ᳔ᇣⒸ╘ᯊⒸˈὃܡϵѢʌӬ

ܜ൫ֵᙃՈ᭄᥂ₓ໾໻ˈྟඌऴ᥂ᘏඃˈ໐Փ݊ᅗӬܜ൫ṇԢՈ᭄᥂᮴࡯ঢѝᘏඃՈ⒲LDŽࡅℶऩԡ100usDŽ ᯊⒸϵ16ԡ᮴৪োᭈ᭄ᅮНˈऩԡϾџӊᅮᯊ਼ᳳˈᔧ᱉ẋᅮᯊᯊⒸৢˈϔϾPDOӴṗৃҹᝯᢪথ˄ϡ◄z󰀂ϔϾPDOৃҹᣛᅮϔϾџӊᅮᯊ਼ऩԡ1msDŽ ᡅᢪথԡ˅DŽџӊᅮᯊ਼ᳳϵ16ԡ᮴৪োᭈ᭄ᅮНˈऩԡ

z󰀂PDOỞẋCALЁᄬټџӊିൟՈCMSᇍᬥᅲɴDŽPDO᭄᥂Ӵễ≵᳝Ϟሖणᩲˈ໐ϨPDO᡹

᭛≵᳝ܲᩨᩨ˄ϔϾPDO◄ᡅϔϾCAN-ID˅DŽ↣ϾPDO᡹᭛Ӵễ᳔໮8Ͼᄫᅆ˄64ԡ˅᭄᥂DŽ

4ˊ 8ᅮН᡹᭛៪້Ľ⅞ࡳ࿁ᇍᬥ

z󰀂ৠℹ˄SYNC˅

󰀄󰀂೼ตචᇇೈݙৠℹ˄ᇸ݊೼ȥࡼᑨϬЁ˅˖೼ᭈϾตචᇇೈݙᔧࠡṗܹؐޚৠᯊֱᄬˈ╓ৢ

Ӵễ˄བᵰ◄ᡅ˅ˈḍ᥂ࠡϔϾSYNCৢ᥹ᬊࠄՈ᡹᭛᳈ᮄṗߎؐDŽ

󰀄󰀂ЏҢ῵ᓣ˖SYNCЏᅆ⚍ᅮᯊথễSYNCᇍᬥˈSYNCҢᅆ⚍ᬊࠄৢৠℹᠻᜐӏࡵDŽ 󰀄󰀂೼SYNC᡹᭛Ӵễৢˈ೼ඝᅮՈᯊⒸज़ষݙӴễϔϾৠℹPDODŽ 󰀄󰀂ϬCALЁ෎ᴀবₓିൟՈCMSᇍᬥᅲɴDŽ

󰀄󰀂CANopenᓎᩲϬϔϾ᳔ʌӬܜ൫ՈCOB-IDҹֱ᪅ৠℹֵোℷᐌӴễDŽSYNC᡹᭛ৃҹϡ

Ӵễ᭄᥂ҹՓ᡹᭛ሑৃ࿁ڱDŽ

z󰀂ᯊⒸᷛᩴᇍᬥ˄Time Stamp˅

󰀄󰀂ЎᑨϬ᪂໛ᦤկ݀݅ՈᯊⒸᏻখ໇DŽ 󰀄󰀂ϬCALЁᄬټџӊିൟՈCMSᇍᬥᅲɴDŽ

5

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

z󰀂௫ᗹџӊ˄Emergency˅

󰀄󰀂᪂໛ݙᾬ⏝᪳ᢪথDŽ

󰀄󰀂ϬCALЁᄬټџӊିൟՈCMSᇍᬥᅲɴDŽ z󰀂ᅆ⚍/ᇓੑֱᡸ˄Node/Life guarding˅DŽ

󰀄󰀂ЏҢỞᩳ῵ᓣ

󰀄󰀂NMTЏᅆ⚍֕᥻ᅆ⚍źᗕ˖ࢴ԰ᅆ⚍ֱᡸ˄Node guarding˅DŽ

󰀄󰀂ᅆ⚍гৃҹ˄ৃọᢽ˅֕᥻NMTЏᅆ⚍Ոźᗕ˖ࢴ԰ᇓੑֱᡸ˄Life guarding˅DŽᔧNMT

Ңᅆ⚍᥹ᬊࠄNMTЏᅆ⚍থễՈৰϔϾNode Guard᡹᭛ৢਃࡼᇓੑֱᡸDŽ 󰀄󰀂Ẕ⌟᪂໛Ոตච᥹ষ⏝᪳˄ϡᰃ᪂໛ႮᵯՈ⏝᪳˅˖Ởẋᑨᗹᣛ߾᡹ਞDŽ

󰀄󰀂ḍ᥂NMTᅆ⚍ֱᡸणᩲᅲɴ˖ NMTЏᅆ⚍থễẠ࣏᪻∖ࠄϔϾĽᅮᅆ⚍ˈᅆ⚍ඝߎᑨ

ਘˈᑨਘ᡹᭛Ёࣙ৿њẝϾᅆ⚍ՈźᗕDŽ

z󰀂Boot-UP

󰀄󰀂ЏҢỞᩳ῵ᓣ

󰀄󰀂NMTҢᅆ⚍ỞẋথễẝϾ᡹᭛ˈ৥NMTЏᅆ⚍᪸ᯢ᪩ᅆ⚍Ꮖඓϵ߱ྟ࣪źᗕẟܹ8᪡԰

źᗕDŽ

೒3-1 CANopen ᪂໛

Ϟ☦ᦤࠄՈỞᩳᇍᬥିൟЁ᳝ѠϾᇍᬥϬѢ᭄᥂ӴṗDŽᅗӀ₋ϬѠ࢑ϡৠՈ᭄᥂Ӵṗᴎࠊᅲɴ˖ z󰀂SDO󰁒Ϭᴹ೼᪂໛ПⒸӴṗ໻ՈԢӬܜ൫᭄᥂ˈ݌ൟՈᰃϬᴹ‑าCANopenตචϞՈ᪂໛DŽ z󰀂PDO󰁒ϬᴹӴṗ8ᄫᅆ៪᳈ᇥ᭄᥂ˈ≵᳝݊ᅗणᩲ8᪂ᅮ˄ᛣੇ؄᭄᥂ݙᆍᏆ8ܜᅮН˅DŽ ϔϾCANopen᪂໛ᖙ/ᬃᣕϔᅮ᭄ₓՈตච੥ˊ᳡ࡵ˄੥ˊ᡹᭛ˈadministrative messages˅ˈ◄ᡅႷᇥϔϾSDODŽ↣Ͼϣѻ៪⍜᯽ẋ᭄࣏᥂Ո᪂໛◄ᡅႷᇥϔϾPDODŽ᠔᳝݊ᅗՈỞᩳᇍᬥᰃৃọՈDŽϔϾCANopen᪂໛ЁCANỞᩳ᥹ষǃᇍᬥᄫ݌੠ᑨϬ࣏ᑣПⒸՈ༘ிབ೒3-1᠔߾DŽ

3ˊ3 CANopen8ᅮНẢ᥹▊

Ўњޣᇣ੄ऩตචՈඈᗕᎹ԰ₓˈCANopenᅮНњᔎࠊᗻՈ෾ׅᷛ᪊৪˄CAN-ID˅ߚ‑ᜬDŽẝѯᷛᖫ৪೼8᪡԰źᗕϟৃϬˈỞẋࡼᗕߚ‑ẜৃׂᬍҪӀDŽCANopen᪂໛ᖙ/৥ᅗ᠔ᬃᣕՈỞᩳᇍᬥՈᦤկּᑨՈᷛ᪊৪DŽ

෾ׅIDߚ‑ᜬᰃ෎Ѣ11ԡCANˉIDˈࣙ৿ϔϾ4ԡՈࡳ࿁ۅᾬߚ੠ϔϾ7ԡՈᅆ⚍ID(Node-ID)ᾬߚDŽབ೒3-2᠔߾DŽ

6

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

೒3-2 8ᅮНẢ᥹▊ID

Node-IDϵிඣ▊៤ଚᅮНˈ՟བỞẋ᪂໛ϞՈᢼۅᓔ݇᪂าDŽNode-IDᇇೈᰃ1~127˄0ϡܕ᩼ᝯՓϬ˅DŽ

8ᅮНՈẢ᥹▊ᅮНњ4Ͼ᥹ᬊPDO˄ReceiveˉPDO˅ˈ4ϾথễPDO˄TransmitˉPDO˅ˈ1ϾSDO˄ऴϬ2ϾCAN-ID˅ˈ1Ͼ௫ᗹᇍᬥ੠1Ͼᅆ⚍⏝᪳᥻ࠊ(Node-Error-Control)IDDŽгᬃᣕϡ◄ܲᩨՈNMT-Module-Control᳡ࡵˈSYNC੠Time StampᇍᬥՈᑓ᪁DŽ

෾ׅIDߚ‑ᜬབᜬ3-3᠔߾DŽ

ᜬḐ 3-3 CANopen8ᅮНЏ/ҢẢ᥹▊CANᷛ᪊৪ߚ‑ᜬ

CANopen8ᅮНЏ/ҢẢ᥹▊ՈᑓՈᑓ᪁ᇍᬥ

ᇍᬥ

NMT Module Control TIME SSTAMP

ࡳ࿁ۅ ˄ID-bits 10-7˅

0000 0010

CANopenЏ/ҢẢ᥹▊ՈᇍՈᇍ਍ᇍᬥ ࡳ࿁ۅ

ᇍᬥ ௫ᗹ PDO1(থễ) PDO1(᥹ᬊ) PDO2(থễ) PDO2(᥹ᬊ) PDO3(থễ) PDO3(᥹ᬊ) PDO4(থễ) PDO4(᥹ᬊ) SDO(থễ/᳡ࡵ఼) SDO(᥹ᬊ/ᅶ᠋) NMT Error Control ⊼ᛣ˖

z󰀂PDO/SDO থễ/᥹ᬊᰃϵ˄slave˅CANᅆ⚍ᮍᢆᆳՈDŽ

ᣀᅆ⚍ֱᡸ˄Node GuardingNH˅Boot-upणᩲDŽ z󰀂NMT ⏝᪳᥻ࠊࣙ᥻ࠊࣙᣀᅆ⚍˅ˈᖗᲷ᡹᭛˄Heartbeat˅੠ࡳ࿁ۅ ˄ID-bits 10-7˅

0001 081H-0FFH 1024Hˈ1015H 0011 181H-1FFH 0100 201H-27FH 0101 281H-2FFH 0110 301H-37FH 0111 381H-3FFH 1000 401H-47FH 1001 481H-4FFH 1010 501H-57FH 1011 581H-5FFH 1100 601H-67FH 1110

701H-77FH

1800H 1400H 1801H 1401H 1802H 1402H 1803H 1403H 1200H 1200H COB-ID

Ởᩳখ᭄೼ODЁՈ௦ᓩ

COB-ID 000H 100H

Ởᩳখ᭄೼ODЁՈ௦ᓩ

-

SYNC 0001 080H 1005Hˈ1006Hˈ1007H

1012Hˈ1013H

1016H-1017H

7

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

3ˊ4 CANopenᷛ᪊৪ߚ‑

IDഄഔߚ‑ᜬϢ8ᅮНՈЏҢẢ᥹▊˄set˅ּᇍᑨˈ಴Ў᠔᳝Ոᇍ਍IDᰃϡৠՈˈ᠔ҹᅲ┉Ϟা᳝ϔϾЏ᪂໛(ک἗᠔᳝Ả᥹Ոᅆ⚍ID)࿁੠Ả᥹Ո↣ϾҢᅆ⚍˄᳔໮127Ͼ˅ҹᇍ਍ᮍᓣỞᩳDŽϸϾẢ᥹೼ϔ᰻ՈҢᅆ⚍ϡ࿁໳Ởᩳˈ಴ЎᅗӀᕐℸϡک἗ᇍᮍՈᅆ⚍IDDŽ

↨ṇϞᜬՈID᯴ᇘ੠CALՈ᯴ᇘˈᰒ߾њ݋᳝Ľᅮࡳ࿁ՈCANopenᇍᬥབԩ᯴ᇘࠄCALЁϔჰՈCMSᇍᬥDŽ

CANopenตචЁCAN ᷛ᪊৪˄៪COB-ID˅ߚ‑3࢑ϡৠᮍ⊩˖

z󰀂ՓϬ8ᅮНՈЏҢẢ᥹▊DŽIDᰃ෾ׅՈˈϡ◄ᡅ‑าDŽབᵰᅆ⚍ᬃᣕˈPDO᭄᥂ݙᆍгৃҹ‑

าDŽ

z󰀂ϞϹৢׂᬍPDOՈID˄೼8᪡԰źᗕ˅ˈՓϬ˄8ᅮНՈ˅SDO೼ᅆ⚍Ոᇍᬥᄫ݌ЁỆᔧԡา

ẟᜐׂᬍDŽ

z󰀂ՓϬCAL󰁒DBT᳡ࡵ˖ᅆ⚍៪Ңᅆ⚍᳔߱ϵᅗӀՈ‑าIDᣛࢴDŽᅆ⚍IDৃҹϵ᪂໛ϞՈᢼۅ

ᓔ݇‑าˈ៪ՓϬCAL󰁒LMT᳡ࡵẟᜐ‑าDŽᔧตච߱ྟ࣪ᅠ↩ˈᑊϨਃࡼৢˈЏᅆ⚍ŊܜỞẋ”Connect_Remote_Node”᡹᭛˄ᰃϔϾCAL󰁒NMT᳡ࡵ˅੠↣ϾẢ᥹ՈҢ᪂໛ᓎএϔϾᇍ᪡DŽϔᮺẝϾᇍ᪡ᓎএˈCANỞᩳID˄SDO੠PDO˅ϬCAL DBT᳡ࡵߚ‑དˈẝ◄ᡅᅆ⚍ᬃᣕᠽሩՈboot-upDŽ

3ˊ5 CANopen boot-upẋ࣏

೼ตච߱ྟ࣪ẋ࣏ЁˈCANopenᬃᣕᠽሩՈboot-upˈгᬃᣕ᳔ᇣ࣪boot-upẋ࣏DŽ

ᠽሩboot-upᰃৃọՈˈ᳔ᇣboot-up߭ᖙ/ᝯ↣Ͼᅆ⚍ᬃᣕDŽϸିᅆ⚍ৃҹ೼ৠϔϾตචЁৠᯊᄬ೼DŽ བᵰՓϬCALՈDBT᳡ࡵẟᜐIDߚ‑ˈ߭ᅆ⚍ᖙ/ᬃᣕᠽሩboot-upẋ࣏DŽ

ৃҹϬᅆ⚍źᗕḰᤶ೒ᜬ߾ẝϸ࢑߱ྟ࣪ẋ࣏ˈབ೒3-3᠔߾DŽᠽሩboot-upՈźᗕ೒೼8᪡԰੠᪡԰źᗕПⒸ↨᳔ᇣ࣪boot-up໮њϔѯźᗕDŽ

೒3-3 CANopen᳔ᇣ࣪boot-upᅆ⚍źᗕḰᤶ೒

⊼ᛣ˖

z󰀂೒3-3ЁᣀোݙՈᄫ↡ᜬ߾໘ѢϡৠźᗕὧѯỞᩳᇍᬥৃҹՓϬDŽ

a. NMT ˈ b. Node Guard ˈ c. SDO ˈ d. Emergency ˈ e. PDO ˈ f. Boot-up z󰀂źᗕḰࢿ˄1ˉ5ϵNMT᳡ࡵথ᰻˅ˈNMTੑҸᄫ˄೼ᣀোЁ˅˖ 1˖ Start_Remote_node (0x01)

8

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

2˖Stop_Remote_Node (0x02)

3˖ Enter_Pre-Operational_State (0x80) 4˖ Reset_Node (0x81) 5˖Reset_Communication (0x82)

6˖᪂໛߱ྟ࣪඗ᴳˈႮࡼẟܹPre_OperationalźᗕˈথễBoot-up⍜ᙃ

೼ӏԩᯊ׭NMT᳡ࡵ῁ৃՓ᠔᳝៪້ᾬߚᅆ⚍ẟܹϡৠՈᎹ԰źᗕDŽNMT᳡ࡵՈCAN᡹᭛ϵCAN༈(COB-ID=0)੠ϸᄫᅆ᭄᥂ඈ៤˗ৰϔϾᄫᅆᜬ߾᪻∖Ո᳡ࡵିൟ(‘NMT command specifier’)ˈৰѠϾᄫᅆᰃᅆ⚍IDˈ៪້0˄ℸᯊᇏഔ᠔᳝ᅆ⚍˅DŽ

ҙᬃᣕ᳔ᇣ࣪boot-upՈ᪂໛ি᳔ᇣ࿁࡯᪂໛DŽ᳔ᇣ࿁࡯᪂໛೼᪂໛߱ྟ࣪඗ᴳৢႮࡼẟܹ8᪡԰lźᗕDŽ೼ẝϾźᗕˈৃҹỞẋSDOẟᜐখ᭄‑า੠ẟᜐCOB-IDߚ‑DŽ

᪂໛ẟܹޚ໛źᗕৢˈ┨њNMT᳡ࡵ੠ᅆ⚍ֱᡸ᳡ࡵ˄བᵰᬃᣕᑊϨ▔⌏Ո᪡˅໪ˈᇚذℶỞᩳDŽ˄಴ℸþStoppedÿᰃᦣẴẝϾźᗕՈϔϾདৡᄫ˅

3ˊ6 CANopen⍜ᙃ᪱⊩ඊᅆ

೼ҹϟᾬߚЁCOBˉIDՓϬՈᰃCANopen8ᅮНẢ᥹▊ЁᏆᅮНՈ෾ׅᷛᖫ৪DŽ

3ˊ6ˊ1 NMT῵ഫ᥻ࠊ˄NMT Module Control˅

া᳝NMT-Masterᅆ⚍࿁ᅆ⚍࿁໳ӴễNMT Module Control᡹᭛DŽ᠔᳝Ң᪂໛ᖙ/ᬃᣕNMT῵ഫ᥻ࠊ᳡ࡵDŽ῵ഫ᥻ࠊ᳡NMT Module Control⍜ᙃᙃϡ◄ᡅᑨਘDŽNMT⍜ᙃḐᓣབϟ˖

NMT-Master Î NMT-Slave(s)

COB-ID

Byte 0

Byte 1

0x000 CS Node-ID ᔧNode-ID=0ˈ߭᠔᳝ՈNMTҢ᪂໛ᝯᇏഔDŽCSᰃੑҸᄫˈৃҹপབϟؐ˖

ੑҸᄫ 1 2 128 NMT᳡ࡵ

Start Remote Node Stop Remote Node Enter Pre-operational State

129 Reset 129Node

130 Reset 130 Communication 3ˊ6ˊ2 MNTᅆ⚍ֱᡸ˄NMT Node Guarding˅

Ởẋᅆ⚍ֱᡸ᳡ࡵˈMMNTЏᅆ⚍ৃҹẔᶹ↣Ͼᅆ⚍Ոᔧࠡźᗕˈᔧẝѯᅆ⚍≵᭄᳝᥂Ӵễᯊẝ࢑᳡ࡵᇸ᳝݊ᛣНDŽ NMT-Masterᅆ⚍থễẠ࣏ᏻ˄᮴᭄᥂˅བϟ˖

NMT-Master Î NMT-Slave COB-ID 0x700+Node_ID

NMT-Slaveᅆ⚍থễབϟ᡹᭛ᑨ᭛ᑨਘ˖

NMT-Master Í NMT-Slave COB-ID 0x700 + Node_ID

Byte0

Bit 7 : toggle Bit6-0 : źᗕ

᭄᥂ᾬߚࣙᣀϔϾᢪথԡ˄bit7˅ˈᢪথԡᖙ/೼↣⃵ᅆ⚍ֱᡸᑨਘЁѸ᳓าĀ0ā៪້Ā1āDŽᢪথԡ೼ৰϔ⃵ᅆ⚍ֱᡸ᪻∖ᯊาЎĀ0āDŽԡ0ࠄԡ6˄bits0̚6˅ᜬ߾ᅆ⚍źᗕˈৃЎϟᜬЁՈ᭄ؐDŽ

9

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

Value

źᗕ

Disconnected * Connecting * Preparing *

0 Initialising 1 2 3

4 Stopped 5 Operational 127 Pre-operational ⊼ᛣ˖ᏺˆোՈźᗕা᳝ᬃᣕᠽሩboot-upՈᅆ⚍ᠡᦤկDŽ⊼ᛣźᗕ0Ңϡ೼ᅆ⚍ֱᡸᑨਘЁߎɴˈ಴ЎϔϾᅆ⚍೼ẝϾźᗕᯊᑊϡᑨਘᅆ⚍ֱᡸ᡹᭛DŽ

៪້ˈϔϾᅆ⚍ৃᝯ‑าЎѻϣ਼ᳳᗻՈᝯࢴ԰ᖗᲷ᡹᭛˄Heartbeat˅Ո᡹᭛DŽ

Heartbeat Producer Î Consumer(s)

COB-ID 0x700 + Node_ID

źᗕৃЎϟᜬ࢑Ո᭄ؐ˖

źᗕ

ᛣН

0 Boot-up 4 Stopped 5 Operational 127 Pre-operational ᔧϔϾHeartbeatᅆ⚍ਃࡼৢᅗՈBoot-up᡹᭛ᰃ݊ৰϔϾHeartbeat᡹᭛DŽ᡹᭛᭛DŽHeartbeatH⍜᯽້ỞᐌᰃNMT-Masterᅆ⚍ˈᅗЎ↣ϾHeartbeatᅆ⚍᪂ᅮϔϾ᱉ᯊؐˈᔧ᱉ᯊথϣᯊ₋পּᑨࡼ԰DŽ

ϔϾᅆ⚍ϡ࿁໳ৠᯊᬃᣕNode Guarding੠HeartbeatणᩲDŽ

3ˊ6ˊ3 NMT Boot-up

NMT-slaveᅆ⚍থᏗBoot-up᡹᭛ỞکNMT-Masterᅆ⚍ᅗᏆඓҢinitialisingźᗕẟܹpre-operationalźᗕDŽ

NMT-Master Í NMT-Slave

COB-ID 0x700 + Node_ID

3ˊ6ˊ4 ẋ᭄࣏᥂ᇍᬥ˄PDO˅

԰ЎϔϾ՟ᄤˈ؛ᅮৰѠϾtransmit-PDO᯴ᇘབϟ˄೼CANopenЁϬᇍᬥᄫ݌௦ᓩ0x1A01ᦣẴ˅˖

ᇍᬥ0x1A01 : ৰѠϾTransmit-PDO᯴ᇘ

ᄤ௦ᓩ

ؐ

ᛣН

2Ͼᇍᬥ᯴ᇘࠄPDOЁ

0 2 Byte 0 0 Byte 0 źᗕ

1 0x60000208 ᇍᬥ0x6000ˈᄤ௦ᓩ0x02ˈϵ8ԡඈ៤ 2 0x64010110 ᇍᬥ0x6401ˈᄤ௦ᓩ0x01ˈϵ16ԡඈ៤ ೼CANopen I/O῵ഫՈ᪂໛ᄤणᩲ˄CiA DSP-401˅ᅮНЁˈᇍᬥ0x6000ᄤ௦ᓩ2ᰃᅆ⚍Ոৰ2ඈ8ԡ᭄ᄫₓṗܹˈᇍᬥ0x6401ᄤ௦ᓩ0x01ᰃᅆ⚍Ոৰ1ඈ16ԡ῵ᢳₓṗܹDŽ

ẝϾPDO᡹᭛བᵰᝯথễ(ৃ࿁ϵṗܹᬍবˈᅮᯊ఼Ёᮁ៪້Ạ࣏᪻∖ᏻ਍ᮍᓣᢪথˈ੠PDOՈӴṗିൟּϔႸˈৃҹ೼ᇍᬥ0x1801ᄤ௦ᓩ2Ёᶹᡒ)ˈ߭ϵ3ᄫᅆ᭄᥂ඈ៤ˈḐᓣབϟ˖

10

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com PDO-producer Î PDO-consumer(s)

COB-ID 0x280+Node_ID

Byte 0

Byte 1 ˄Ԣ8ԡ˅

ᛣ೼CANopenЁ໮ᄫᅆখ᭄ᘏᰃܜথễLSB˄little endian˅⊼ᛣDŽ ϡܕ᩼᱉ẋ8ϾᄫᅆՈ᭄᥂᯴ᇘࠄᶤϔϾPDOЁDŽ

೼CANopen Application Layer and Communication Profile ˄CiA DS 301 V 4.02 ˅ЁᅮНњMPDO(multiplexor PDO)ˈܕ᩼ϔϾPDOӴṗ໻ₓবₓˈỞẋ೼᡹᭛᭄᥂ᄫᅆЁࣙ৿⑤៪ֲՈᅆ⚍IDǃODЁՈ௦ᓩ੠ᄤ௦ᓩᴹᅲɴDŽВϾ՟ᄤ˖བᵰ≵᳝ẝϾᴎࠊˈᔧϔϾᅆ⚍᳝64Ͼ16ԡՈ῵ᢳỞ἗ᯊˈህ◄ᡅ16ϾϡৠՈTransmit-PDOsᴹӴễ᭄᥂ˈ

3ˊ6ˊ5 ᳡ࡵ᭄᥂ᇍᬥ˄SDO˅

SDOϬᴹ᪃⒲ϔϾ᪂໛Ոᇍᬥᄫ݌DŽ᪃⒲້ᝯࢴ԰ᅶ᠋ (client)ˈᇍᬥᄫ݌ᝯ᪃⒲Ϩᦤկ᠔᪻∖᳡ࡵՈCANopen᪂໛߿ࢴ԰᳡ࡵ఼(server)DŽᅶ᠋ՈCAN᡹᭛੠᳡ࡵ఼ՈᑨਘCAN᡹᭛ᘏᰃࣙ৿8ᄫᅆ᭄᥂DŽϔϾ˄ሑ੥ϡᰃ᠔᳝Ո᭄᥂ᄫᅆ῁ϔᅮ᳝ᛣН˅ϔϾᅶ᠋Ո᪻∖ϔᅮ᳝ᴹႮ᳡ࡵ఼ՈᑨਘDŽ SDO᳝2࢑Ӵễᴎࠊ˖

z󰀂ࡴợӴễ˄Expedited transfer˅ ˖ ᳔໮Ӵṗ4ᄫᅆ᭄᥂ z󰀂ߚ↉Ӵễ˄Segmented transfer˅ ˖ Ӵṗ᭄᥂⑃ᑺ໻Ѣ4ᄫᅆ

SDOՈ෎ᴀ඗ᵘབϟ˖ Client Î Server / Server Î Client

Byte 0 SDO

Command Specifier ៪້

Client Î Server / Server Î Client

Byte 0 SDO ੑҸᄫ

SDO ੑҸᄫࣙ৿བϟֵᙃ˖ z󰀂ϟṁ/ϞӴ˄Download / upload˅ z󰀂᪻∖/ᑨਘ˄Request /response˅

z󰀂ߚ↉/ࡴợӴễ˄Segmented / expedited transfer˅ z󰀂CANᏻ᭄᥂ᄫᅆ⑃ᑺ

z󰀂ϬѢৢන↣Ͼߚ↉ՈѸ᳓⏙►੠าԡՈᢪথԡ˄toggle bit˅

SDOЁᅲɴњ5Ͼ᪻∖/ᑨਘणᩲ˖ਃࡼඳϟṁ ˄Initiate Domain Download˅ˈඳߚ↉ϟṁ˄Download Domain Segment˅ˈ ਃࡼඳϞӴ ˄Initiate Domain Upload˅ˈඳߚ↉ϞӴ ˄Upload Domain Segment˅ ੠ඳӴễЁℶ˄Abort Domain Transfer˅DŽ

೼CANopenỞᩳणᩲՈ᳔ᮄČᴀЁˈᓩܹњϔ࢑ᮄՈSDOӴễᴎࠊ˖

ഫӴễ˄Block transfer˅˖ᔧӴễ᭄᥂⑃ᑺ໻Ѣ4ᄫᅆᯊˈ໮Ͼߚ↉াϵ1Ͼܲᩨ᡹᭛ᑨਘ˄བᵰᰃϟBṁˈ߭ϵ᳡ࡵ఼ਃࡼӴễˈབᵰᰃϞӴˈ߭ϵᅶ᠋ਃࡼӴễ˅ҹ๲ࡴᘏඃ৲৤ₓDŽ

ּᑨՈणᩲЎ˖ਃࡼഫϟṁ ˄Initiate Block Download˅ˈഫߚ↉ϟṁ ˄Download Block Segment˅ˈഫϟṁ඗ᴳ˄End Block Download˅ˈਃࡼഫϞӴ ˄Initiate Block Upload˅ˈഫߚ↉ϞӴ˄Upload Block

11

Byte 1-70

᳔໻7ᄫᅆ᭄᥂˄segmented transfer˅

Byte 1-2 ᇍᬥ௦ᓩ

Byte 3 ᇍᬥᄤ௦ᓩ

Byte 4-7 ** Byte 2 16ԡ῵ഫₓṗܹ ˄ʌ8ԡ˅

8ԡ᭄᥂ₓṗܹ 16ԡ῵ᢳₓṗܹ

Ởẋᬍবᇍᬥ0x1A01ՈݙᆍˈPDOՈݙᆍৃᝯᬍব˄བᵰᅆ⚍ᬃᣕ˄ৃবPDO᯴ᇘ˅˅DŽ

˄**᳔໻4ᄫᅆ᭄᥂(expedited transfer)៪4ᄫᅆᄫᅆᩥ఼᭄˄segmented transfer˅៪݇Ѣblock transferখ᭄)

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com Segment˅ ੠ ഫϞӴ඗ᴳ˄End Block Upload˅DŽ

ϟṁ˄DDownload˅ᰃᣛᇍᇍᬥᄫ݌ẟᜐݭ᪡԰ˈϞӴ˄UploadU˅ᰃ˅ᣛᇍᇍᬥᄫ݌ẟᜐᪿ᪡԰DŽ ẝѯणᩲՈSDO ੑҸᄫ˄SDO CAN᡹᭛ՈৰϔϾᄫᅆ˅᪱⊩੠ඊᅆ೼ϟ☦ᾬߚ᪸ᯢ˖ ˄þˉÿᜬ߾ϡּ݇ˈᑨЎ0˅DŽ

ਃࡼඳϟṁ˄Initiate Domain Download˅

Bit

7

6

5

4

3

2 n

1

0

ClientÎ 0 0 1 - ᪸ᯢ˖

z󰀂n ˖ བᵰe=1ˈϨs=1ˈ᳝߭ᬜˈ৺߭Ў0˗ᜬ߾᭄᥂ᾬߚЁ᮴ᛣН᭄᥂Ոᄫᅆ᭄˄ᄫᅆ8ˉn

ࠄ7᭄᥂᮴ᛣН˅DŽ

z󰀂e ˖ 0 = ℷᐌӴễˈ1 = ࡴợӴễDŽ

z󰀂s ˖ ᰃ৺ᣛᯢ᭄᥂⑃ᑺˈ0 = ᭄᥂⑃ᑺ᳾ᣛᯢˈ1 = ᭄᥂⑃ᑺᣛᯢDŽ z󰀂e = 0ˈ s = 0˖ ϵCiAֱНDŽ

z󰀂e = 0ˈ s = 1 ˖ ᭄᥂ᄫᅆЎᄫᅆᩥ఼᭄ˈbyte 4ᰃ᭄᥂Ԣԡᾬߚ˄LSB˅ˈbyte 7ᰃ᭄᥂ʌԡᾬ

ߚ˄MSB˅DŽ

z󰀂e = 1 ˖ ᭄᥂ᄫᅆЎᇚᡅϟṁ˄download˅Ո᭄᥂DŽ

ඳߚ↉ϟṁ˄Download Domain Segment˅

Bit

7

6

5

4

3

2 n

1

0 c ClientÎ 0 0 0 t ᪸ᯢ˖

z󰀂n ˖᮴ᛣНՈ᭄᥂ᄫᅆ᭄DŽབᵰ≵᳝ᣛᯢ↉⑃ᑺˈ߭Ў0DŽ z󰀂c ˖ 0 = ᳝ৢනߚ↉◄ᡅdownloadˈ1 = ᳔ৢϔϾ↉DŽ

z󰀂t ˖ ᢪথԡˈৢන↣Ͼߚ↉Ѹ᳓⏙►੠าԡ˄ৰϔ⃵ӴễЎ0ˈ਍ᬜѢrequest/response˅DŽ

ਃࡼඳϞӴ˄Initiate Domain Upload˅

Bit

7

6

5

4

3

2 n

1

0

ClientÎ 0 1 0 - - - - - ÍServer 0 1 0 - ᪸ᯢ˖nˈeˈs˖ ϢਃࡼඳϟṁּৠDŽ

ඳߚ↉ϞӴ˄Upload Domain Segment˅

Bit

7

6

5

4

3

2 n

1

0 c ClientÎ 0 1 1 t - - - - ÍServer 0 0 0 t ᪸ᯢ˖nˈcˈt ˖ Ϣඳߚ↉ϟṁּৠDŽ

SDO ᅶ᠋៪᳡ࡵ఼ỞẋথߎབϟḐᓣՈ᡹᭛ᴹЁℶSDOӴễ˖

ඳӴễЁℶ˄Abort Domain Transfer˅

Bit

7

6

5

4

3

2

1

0

CÎ/ÍS 1 0 0 - - - - - e s e s ÍServer 0 1 1 - - - - - ÍServer 0 0 1 t - - - - 12

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

೼ඳӴễЁℶ᡹᭛Ёˈ᭄᥂ᄫᅆ0੠1ᜬ߾ᇍᬥ௦ᓩˈᄫᅆ2ᜬ߾ᄤ௦ᓩˈᄫᅆ4ࠄ7ࣙ৿32ԡЁℶۅˈᦣẴЁℶ᡹᭛Ӵễॳ಴ˈᢅᜬ3-4᠔߾DŽ

ᜬ3-4 ඳӴễЁℶSDO˖16ẟࠊЁℶҷۅᜬ˄ᄫᅆ4ࠄ7˅

Ёℶҷۅ 0503 0000 0504 0000 0504 0001 0504 0002 0504 0003 0503 0004 0503 0005 0601 0000 0601 0001 0601 0002 0602 0000 0604 0041 0604 0042 0604 0043 0604 0047 0606 0000 0606 0010 0606 0012 0606 0013 0609 0011 0609 0030 0609 0031 0609 0032 0609 0036 0800 0000 0800 0020 0800 0021 0800 0022 0800 0023

ਃࡼഫϟṁ˄Initiate Block Download˅

Bit

7

6 1 0 5 0 1 4 - - 3 - - 2 cc sc 1 s - 0 0 0 ClientÎ 1 ÍServer 1 ᪸ᯢ˖

z󰀂cc ˖ᅶ᠋᭄᥂ᰃ৺ՓϬCRC᷵ɀˈ 0 = noˈ1 = yesDŽ z󰀂sc ˖᳡ࡵ఼᭄᥂ᰃ৺ՓϬCRC᷵ɀˈ 0 = noˈ 1 = yesDŽ

ᢪথԡ≵᳝Ѹ᳓ᬍব SDOणᩲ᱉ᯊ

☢⊩៪᳾کՈClient/Server ੑҸᄫ ᮴ᬜՈഫ໻ᇣ˄ҙBlock Transfer῵ᓣ˅ ᮴ᬜՈᑣো˄ҙBlock Transfer῵ᓣ˅ CRC⏝᪳˄ҙBlock Transfer῵ᓣ˅ ݙᄬ⑶ߎ ᇍᬥϡᬃᣕ᪃⒲ ᪙೒ᪿাݭᇍᬥ ᪙೒ݭাᪿᇍᬥ ᇍᬥᄫ݌Ёᇍᬥϡᄬ೼ ᇍᬥϡ࿁໳᯴ᇘࠄPDO

᯴ᇘՈᇍᬥՈ᭄ֲ੠⑃ᑺ᱉ߎPDO⑃ᑺ ϔჰᗻখ᭄ϡݐᆍ ϔჰᗻ᪂໛ݙᾬϡݐᆍ ܰӊ⏝᪳ᇐႸᇍᬥ᪃⒲༅ᯩ

᭄᥂ିൟϡऍ‑ˈ᳡ࡵখ᭄⑃ᑺϡऍ‑ ᭄᥂ିൟϡऍ‑ˈ᳡ࡵখ᭄⑃ᑺ໾໻ ᭄᥂ିൟϡऍ‑ˈ᳡ࡵখ᭄⑃ᑺ໾ڱ ᄤ௦ᓩϡᄬ೼

᱉ߎখ᭄Ոؐᇇೈ(ݭ᪃⒲ᯊ) ݭܹখ᭄᭄ؐ໾໻ ݭܹখ᭄᭄ؐ໾ᇣ ᳔໻ؐᇣѢ᳔ᇣؐ ϔჰᗻ⏝᪳

᭄᥂ϡ࿁Ӵễ៪ֱᄬࠄᑨϬ

ϵѢᴀഄ᥻ࠊᇐႸ᭄᥂ϡ࿁Ӵễ៪ֱᄬࠄᑨϬ ϵѢᔧࠡ᪂໛źᗕᇐႸ᭄᥂ϡ࿁Ӵễ៪ֱᄬࠄᑨϬ ᇍᬥᄫ݌ࡼᗕѻϣ⏝᪳៪ᇍᬥᄫ݌ϡᄬ೼

˄՟བˈỞẋ᭛ӊϣ៤ᇍᬥᄫ݌ˈԚϵѢ᭛ӊᤳണᇐႸ⏝᪳ѻϣ˅

ҷۅࡳ࿁ᦣẴ

13

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

z󰀂s ˖ ᰃ৺ᣛᯢ᭄᥂▊⑃ᑺˈ0=᭄᥂▊⑃ᑺ᳾ᣛᯢˈ1˙᭄᥂▊⑃ᑺᣛᯢDŽ z󰀂s=0 ˖ϵCiAֱНDŽ

z󰀂s=1 ˖ ᭄᥂ᄫᅆЎᄫᅆᩥ఼᭄ˈᄫᅆ4˖LSBˈᄫᅆ7˖MSBDŽ z󰀂᳡ࡵ఼ᄫᅆ4ᜬ߾blksizeˈे↣ഫЁߚ↉Ո᭄ֲˈ0ഫߚ↉ϟṁ˄Download Block Segment˅

Bit

7

6

5

4

3 0 1 seqno

2

1

0

ClientÎ c ClientÎ c …etc… c ᪸ᯢ˖

z󰀂c ˖ ᰃ৺᳝ৢනߚ↉◄ᡅdownloadˈ0˙yesˈ1=noDŽ z󰀂seqno ˖ ߚ↉োˈ0z󰀂ᅶ᠋᭄᥂ᄫᅆ˖↣ߚ↉Ⴗ໮ࣙᣀ7ᄫᅆ᭄᥂ᝯdownloadDŽ

z󰀂᳡ࡵ఼ᄫᅆ1˖ᜬ߾᳔ৢϔϾᝯ៤ࡳ᥹ᬊՈߚ↉ো˗བᵰЎ0ˈᜬ߾ߚ↉োЎ1Ոߚ↉᳾ℷܲ᥹

ᬊˈ᠔᳝↉ᖙ/ₑӴDŽ

z󰀂᳡ࡵ఼ᄫᅆ2˖ࣙ৿blksizeˈ↣ϾഫЁߚ↉Ո᭄ֲˈᅶ᠋ᴎᖙ/ՓϬᅗẟᜐϟϔ⃵ഫϟṁˈ

0ഫϟṁ඗ᴳ˄End Block Download˅

Bit

7

6

5

4

3 n

2

1

0

ClientÎ 1 1 0 ᪸ᯢ˖

z󰀂n ˖ ᣛ߾᳔ৢϔϾഫՈ᳔ৢϔϾ↉Ё᮴ᛣН᭄᥂Ոᄫᅆ᭄DŽ

z󰀂ᅶ᠋᭄᥂bytes1+2 ЎᭈϾ᭄᥂▊Ո16ԡCRC˗া᳝ᔧਃࡼഫϟṁ᡹᭛Ё cc੠scৠᯊЎ1ᯊ

CRCᠡ᳝ᬜDŽ

ਃࡼഫϞӴ˄Initiate Block Upload˅

Bit

7

6 0 5 1 4 - 3

2

1

0 0 ClientÎ 1 - cc 0 - 1 ÍServer 1 0 1 - - - 1 0 ÍServer 1 0 1 - - - - 1 ÍServer 1 1 0 - - sc 0 ClientÎ 1 0 1 - - - 1 1 ᪸ᯢ˖

z󰀂cc ˖ ᅶ᠋᭄᥂ᰃ৺ՓϬCRC᷵ɀˈ󰁒0˙no ˈ1=yesDŽ z󰀂sc ˖ ᳡ࡵ఼᭄᥂ᰃ৺ՓϬCRC᷵ɀˈ󰁒0=noˈ 1=yesDŽ

z󰀂s ˖ ᰃ৺ᣛᯢ᭄᥂▊⑃ᑺˈ0=᭄᥂▊⑃ᑺ᳾ᣛᯢˈ1˙᭄᥂▊⑃ᑺᣛᯢDŽ z󰀂s=0˖ ϵCiAֱНDŽ

z󰀂s=1˖᭄᥂ᄫᅆЎᄫᅆᩥ఼᭄ˈᄫᅆ4˖LSBˈᄫᅆ7˖MSBDŽ z󰀂ᅶ᠋᭄᥂ᄫᅆ4˖ᜬ߾blksizeˈे↣ഫЁߚ↉Ո᭄ֲˈ0z󰀂ᅶ᠋᭄᥂ᄫᅆ5˖ᜬ߾णᩲḰᤶᄫ ˄pst˖Protocol Switch Threshold˅ˈϬѢᰃ৺ܕ᩼ᬍবSDO

Ӵễणᩲˈ0=ϡܕ᩼ᬍবˈ1=ܕ᩼ᬍব˄བᵰᡅuploadՈ᭄᥂ᄫᅆ᭄ᇥѢ៪਍ѢpstˈServerৃҹỞẋInitiate Domain UploadणᩲᑨਘᬍবࠄUpload Domainणᩲ˅DŽ

14

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

ഫߚ↉ϞӴ˄Upload Block Segment˅

Bit

7

6

5

4

3 0 1 seqno

2

1

0

ÍServer c ÍServer c ..etc… c ᪸ᯢ˖

z󰀂c ˖ ᰃ৺᳝ৢනߚ↉◄ᡅdownloadˈ0˙yesˈ1=noDŽ z󰀂seqno ˖ ߚ↉োˈ0z󰀂᳡ࡵ఼᭄᥂ᄫᅆ˖↣ߚ↉Ⴗ໮ࣙᣀ7ᄫᅆ᭄᥂ᝯdownloadDŽ

z󰀂ᅶ᠋ᄫᅆ1˖ᜬ߾᳔ৢϔϾᝯ៤ࡳ᥹ᬊՈߚ↉ো˗བᵰЎ0ˈᜬ߾ߚ↉োЎ1Ոߚ↉᳾ℷܲ᥹ᬊˈ

᠔᳝↉ᖙ/ₑӴDŽ

z󰀂ᅶ᠋ᄫᅆ2˖ࣙ৿blksizeˈ↣ϾഫЁߚ↉Ո᭄ֲˈᅶ᠋ᴎᖙ/ՓϬᅗẟᜐϟϔ⃵ഫϟṁˈ

0ഫϞӴ඗ᴳ˄End Block Upload˅

Bit

7

6

5

4

3 n

2

1

0

ÍServer 1 1 0 ᪸ᯢ˖

z󰀂n ˖ ᣛ߾᳔ৢϔϾഫՈ᳔ৢϔϾ↉Ё᮴ᛣН᭄᥂Ոᄫᅆ᭄DŽ

z󰀂᳡ࡵ఼᭄᥂bytes1+2 ЎᭈϾ᭄᥂▊Ո16ԡCRC˗া᳝ᔧਃࡼഫϞӴ᡹᭛Ё cc੠scৠᯊЎ1

ᯊCRCᠡ᳝ᬜDŽ

ϟ☦ඝߎ޴Ͼ՟ᄤ᪸ᯢབԩՓϬSDOᴹ᪃⒲ϔϾᅆ⚍Ոᇍᬥᄫ݌DŽ

ՓϬϟ☦ՈSDO⍜ᙃˈؐ0x3FEᇚݭࠄᅆ⚍IDЎ2Ոᇍᬥᄫ݌Ё௦ᓩЎ0x1801ˈᄤ௦ᓩЎ3ՈᇍᬥЁএˈՓϬਃࡼඳϟṁणᩲˈࡴợӴṗ˄2ᄫᅆ᭄᥂˅˖ Client Î Server (ᅆ⚍#2) COB-ID

0

1

2

Byte 3

4

5

6-7

- 1 ClientÎ 1 1 0 - - - 1 0 ClientÎ 1 0 1 - - - - 1 602 2B 01 18 03 FE 03 - Client Í Server(ᅆ⚍ʿ2)

582 60 01 18 03 - - - ՓϬϟ☦ՈSDO⍜ᙃˈৠḋՈᇍᬥᄫ݌Ё௦ᓩЎ0x1801ˈᄤ௦ᓩЎ3ՈᇍᬥᇚᝯᪿߎˈՓϬਃࡼඳϞӴणᩲˈ᳡ࡵ఼ՓϬࡴợӴṗᮍᓣᑨਘ˄2ᄫᅆ᭄᥂˅˖ Client Î Server(ᅆ⚍ʿ2) COB-ID

0

1

2

Byte 3

4

5

6-7

602 40 01 18 03 - - - Client Í Server(ᅆ⚍ʿ2)

582 4B 01 18 03 FE 03 -

3ˊ6ˊ6 ᑨᗹᣛ߾ᇍᬥ(Emergency Object)

15

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

ᑨᗹᣛ߾᡹᭛ϵ᪂໛ݙᾬߎɴՈႸੑ⏝᪳ᢪথˈϵּ݇ᑨϬ᪂໛Ꮖ᳔ʌӬܜ൫থễࠄ݊ᅗ᪂໛DŽỆϬѢЁᮁିൟՈ⏝᪳᡹ᨪֵোDŽ

ϔϾᑨᗹ᡹᭛ϵ8ᄫᅆඈ៤ˈḐᓣབϟ˖ sender Î receiver(s)

COB-ID 0x080+Node_ID

Byte 0-1 ᑨᗹ⏝᪳ҷۅ

Byte 2 ⏝᪳ᆘᄬ఼ (ᇍᬥ0x1001)

Byte 3-7

ࠊỤଚĽᅮՈ⏝᪳ऎඳ

16ẟࠊՈᑨᗹ⏝᪳ҷۅབϟᜬ3-5᠔߾DŽᑨᗹ⏝᪳ҷۅЁþxxÿᾬߚϵּᑨՈ᪂໛ᄤणᩲᅮНDŽ

ᜬ3-5 ᑨᗹ⏝᪳ҷۅ˄16ẟࠊ˅

ᑨᗹ⏝᪳ҷۅ

00xx

ҷۅࡳ࿁ᦣẴ

Error Reset ៪No Error

10xx Generic Error 20xx Current 21xx 22xx 23xx

Currentˈdevice input side Currentˈinside the device Currentˈdevice output side

30xx Voltage

31xx Mains voltage 32xx

Voltage inside the device

33xx Output voltage 40xx Temperature 41xx Ambient temperature 42xx Device tempearture 50xx Device hardware 60xx Device software

61xx Internal software 62xx User software 63xx Data set 70xx Additional modules 80xx Monitoring 81xx communication 8110 CAN overrun 8120 Error Passive 8130 8140

Life Guard Error ៪Heartbeat Error Recovered from Bus-Off

82xx Protocol Error 8210

PDO no processed Due to length error

8220 Length exceedd 90xx External error F0xx Additional functions FFxx Device specific

16

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

⏝᪳ᆘᄬ఼(Error Register)೼᪂໛Ոᇍᬥᄫ݌˄௦ᓩ0x1001˅Ёˈᜬ3-6᪸ᯢњ⏝᪳ᆘᄬ఼ՈԡᅮНDŽ᪂໛ৃҹᇚݙᾬ⏝᪳᯴ᇘࠄẝϾźᗕᄫᅆЁˈᑊৃҹᖿợᶹ׏ᔧࠡ⏝᪳DŽ

ᜬ3-6 8ԡ⏝᪳ᆘᄬ఼ԡᅮН Bit

⏝᪳ିൟ 0 Generic 1 Current 2 Voltage 3 Temperature 4 Communication 5

Device profile specific6 Reserved(=0) 7 Manufacturer specific

ࠊỤଚĽᅮ⏝᪳ऎඳৃ࿁ࣙ৿Ϣ᪂໛ּ݇Ո݊ᅗՈ⏝ֵ᪳ᙃDŽ

17

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

4ǃᘏ඗

෎ѢCANᘏඃՈCANopenตචỞᩳ݋᳝ҹϟĽ⚍˖

z󰀂ՓϬᇍᬥᄫ݌˄OD˖Object Dictionary˅ᇍ᪂໛ࡳ࿁ẟᜐᷛޚ࣪ՈᦣẴDŽ

z󰀂ՓϬASCII᭛ḷ˖Ϲᄤ᭄᥂᭛ḷ˄EDS˅੠᪂໛‑า᭛ӊ˄DCF˅ᇍ᪂໛ঞ݊‑าẟᜐᷛޚ࣪Ո

ᦣẴDŽ

z󰀂CANopenตචՈ᭄᥂Ѹᤶ੠ிඣ੥ˊ෎ѢCALЁCMS᳡ࡵDŽ

z󰀂ிඣboot-up੠ᅆ⚍ֱᡸ˄Node Guarding˅Ոᷛޚ෎ѢCALЁNMT᳡ࡵDŽ z󰀂ᅮНњᭈϾிඣՈৠℹ᪡԰DŽ z󰀂ᅮНњᅆ⚍ĽᅮՈᑨᗹ᡹᭛DŽ

ЎϢCANopenỞᩳणᩲ੠ּᑨՈ᪂໛ᄤणᩲֱᣕϔႸˈҹՓࠊỤଚՈѻક࿁໳ϬѢӏԩCANopenตචˈҹϟ3࢑ሖ⃵Ոݐᆍᗻᡅ∖◄ᡅ⒵ᱷ˄ᇍ᮹֎๲⑃Ո᪂໛ݐᆍᗻՈᡅ∖˅˖

z󰀂ϔႸᗻ˖

᪂໛Ả᥹ࠄCANopenตචৢϡ࿁ᕅડ݊Ҫ᪂໛ՈỞᩳ˖ᑨϬሖՈϔႸᗻDŽ z󰀂ѦϬᗻ˖

᪂໛࿁໳ৠตචϞՈ݊ᅗᅆ⚍Ѹᤶ᭄᥂˖ỞᩳणᩲՈϔႸᗻDŽ z󰀂Ѧᤶᗻ˖

᪂໛࿁໳ҷ᳓঺໪ϔϾৠି᪂໛˖᪂໛ᄤणᩲՈϔႸᗻDŽ

ϔϾCANopen᪂໛Ⴗᇥᑨ᪩݋᳝˄᳔ᇣ࿁࡯᪂໛˅˖ z󰀂ϔϾᅆ⚍IDˈ

z󰀂ϔϾᇍᬥᄫ݌˄ݙᆍϵ᪂໛ࡳ࿁އᅮ˅ˈ

z󰀂ϔϾSDOˈ࿁໳᪃⒲ᇍᬥᄫ݌Ёᖙ◄Ոᇍᬥ˄াᪿ˅ˈ z󰀂ᬃᣕϟ߫NMTҢ᪂໛᳡ࡵ˖

Reset_Nodeˈ Enter_Preoperational_Stateˈ Start_Remote_Nodeˈ Stop_Remote_Nodeˈ Reset_Communicationˈ

z󰀂෾ׅՈᷛ᪊৪ߚ‑DŽ

18

ᑓᎲ਼এࡳऩċᴎথሩ᳝└݀ৌ www.zlgmcu.com

5ǃ᪸ᯢ

ᴀ᭛তՈ໻ᾬߚݙᆍ຿᪕Ⴎ೑໪ҟඑCANopenणᩲՈϔઋ᭛তljCANopen˖high-level protocol for CAN-busNJˈ᪩᭛ত↨ṇܼ☦ഄҟඑњCANopenणᩲDŽ

CANopenणᩲᰃ෎ѢCAN-busՈϔ࢑ʌሖणᩲˈ೼⃻⌆ᑨϬṇЎᑓ⊯ˈỆড়ѢϹẃϹ⇨ǃᱎₒ≑Ḫǃხ⍋ϹᄤǃएћϹ఼ǃᎹ࣏ᴎẄǃ⎅ᲳᴎḪ਍:ඳˈϨणᩲ⍌ᇍᜐϮᑨϬˈᅲɴ↨ṇ੄⋕DŽ

຿᪕ℸ᭛ՈֲՈ೼Ѣ৥ϔѯĽᅮᜐϮՈCAN-busϬ᠋ᦤկ݇ѢCANopenणᩲՈ᳝ϬֵᙃˈᏠᳯ࿁໳ᇍẝѯᜐϮՈCANopenणᩲѻક᪂ᩥ᰻ϔᅮՈᣛᇐ԰ϬˈҢ໐Փ៥೑ՈCAN-busᑨϬঞᮽϢ೑┉᥹ḬDŽ

ॳ᭛ᴹႮሻ݄NIKHEF݀ৌตঝˈ԰້Ў˖H. BoterenbroodDŽ

19

因篇幅问题不能全部显示,请点此查看更多更全内容

Top