Sunday 19 April 2020

Serial Communication on Vessel (2)


ဒီတစ်ခါ Networking standard ဖြစ်တဲ့ OSI model ကို အရင် ပြောပြပါမယ်။ ပြီးမှ တစ်ခြား Protocol တွေ ဆက်ပြောပါမယ်။ သိပ်ရှုပ်ရင်တော့ ကျော်ဖတ်နိုင်ပါတယ်။ နည်းနည်းဖတ်ကြည့်ပြီး အကြမ်းဖျင်း သဘောပေါက်ရင် ရပါပြီ။ 
Network တွေချိတ်ဆက်တဲ့ နည်းစနစ်တွေကို စံချိန် ညှိဖို့ International Organization for Standardization  (ISO) က သတ်မှတ်ထားတဲ့ Open System Interconnection (OSI) model ဖြစ်ပါတယ်။ ISO ရဲ့ OSI ပေါ့။ ဒီ model မှာ Layer ၇ ခု ရှိပါတယ်။
Layer (1) - Physical Layer
[ Media, Electrical, binary 0-1 ]

Layer (2) - Data Link Layer 
[ MAC, LLC (physical addressing) ]

Layer (3) - Network Layer
[Path, IP (logical addressing)]

Layer (4) - Transport Layer
[ End to End connection, TCP, UDP, Reliability ]

Layer (5) - Session Layer
[ Interhost Communication ]

Layer (6) - PresentationLayer
[ Encryption ]

Layer (7) - Application Layer
[ Network Process to Application : HTML, FTP, POP, SMTP ]

တစ်လွှာစီရဲ့ feature တွေကို အကြမ်းဖျင်း ဒီလောက်ပဲ မှတ်ထားလိုက်ပါ။ အသေးစိတ် မရေးတော့ပါဘူး။ 

ဒီ OSI အလွှာ တွေအကြောင်းကို မြင်လွယ်အောင် ဥပမာ တစ်ခုနဲ့ ပြောပြပါမယ်။ ဟိုတုန်းက မြို့တစ်မြို့နဲ့ တစ်မြို့ ကြေးနန်း (Telegram) ပို့သလိုပေါ့။ ကိုယ်ပို့ချင်တဲ့ စာကို စာတိုက် ကြေးနန်းရုံးက Morse code တွေနဲ့ ပို့ပေးရတယ်။ အဲဒီ dot တွေ dash တွေ စီထားတဲ့ စာကို ပို့ပေးတဲ့ လျှပ်စစ် ကြေးနန်းကြိုးတွေ၊ အဝင်အထွက် စက်တွေက Physical layer ပေါ့။ ရောက်လာတဲ့ သင်္ကေတ တွေကို စာလုံးတွေ ပြောင်းပေးတာတို့၊ စာတိုက်က ကြေးနန်းဖောင်မှာ ဖြည့်ပေးတာ၊ လိပ်စာတပ်ပေးတာ၊ လိပ်စာရှင်ကို ရောက်အောင် ရှာပေးတာ အစရှိတဲ့ အလုပ်တွေကို အထက်လွှာတွေက သူ့အပိုင်းနဲ့ သူ လုပ်ပေးတာမျိုးပါ။ တချို့ အဲဒီ ကြေးနန်းစာကို ဘာသာပြန်တာ၊ သတ်ပုံ အမှားပြင်ပေးတာ၊ စကားဝှက်ဖေါ်တာလို ဆောင်ရွက်ချက် အပိုတွေ ထပ်ထည့်သလိုမျိုး အပေါ်လွှာတွေမှာ အပို ထပ်ထည့် သတ်မှတ်ပေးနိုင်ပါတယ်။
ဒီ ဥပမာကို အခြေခံပြီး Communication Protocol တွေနဲ့ နှိုင်းယှဉ်ကြည့်ပါမယ်။ စာတိုက်က အခြေခံ ကြေးနန်းပို့တဲ့ Service ကို RS485 လို့ သဘောထားကြည့်လိုက်။ စာကို လိပ်စာအရ တစ်ခြားဘက်ကို ပို့ပေးတဲ့ အဆင့်အထိပေါ့။ အဲဒီအချိန်မှာ လူတစ်ယောက်က 'Lucky' လုံခြုံရေး အမြန်ကြေးနန်း စနစ်ဆိုပြီး ထူထောင်လိုက်တယ်။ Customer ပို့ချင်တဲ့ စာ (message) ကို စကားဝှက် (encryption ) နဲ့ ဖလှယ်တယ်။ စာတိုက်က ကြေးနန်းကို သုံးပြီး တစ်ဘက်ကို ပို့တယ်။ ဟိုဘက်က သူတို့ လူဆီရောက်ရင် စကားဝှက် ပြန်ဖေါ်တယ် (decrypt)။ စာအိတ်တစ်ခုမှာ ထည့်ပိတ် လိပ်စာတပ်ပြီး ပို့ပေးတယ်။

ဒီ 'Lucky' service က high level protocol တစ်ခုဖြစ်တဲ့ Profibus နဲ့ တူသွားတယ်။ RS485 Protocol ရဲ့ အခြေခံ service ကို ယူသုံးပြီး အပေါ်လွှာတွေမှာ ပိုကောင်းတဲ့ feature တွေ ထပ်ထည့်ထားတာပေါ့။ 
နောက် ကုမ္ပဏီ တစ်ခုက စာတိုက် ကြေးနန်း စနစ်ကို မသုံးဘူး။ သူ့ရဲ့ Fax machine နဲ့ သုံးပြီး ဆက်သွယ်တယ်။ အဲဒါကျတော့ အခြေခံ ပို့တဲ့ စနစ်ပြောင်းသွားပြီ။ RS485 အစား CAN bus သုံးတာမျိုးပေါ့။ အဲဒီ Fax သုံးတာကိုပဲ တစ်ခြား အပို service တွေ ထပ်ထည့်ပြီး အလုပ်လုပ်တာကတော့ တစ်ခြား High Level Protocol တစ်ခု ဖြစ်သွားတာပေါ့။ CAN bus ကို အခြေခံတဲ့ NMEA 2000 လို Protocol သဘောမျိုးပေါ့။

Network ဆက်သွယ်တဲ့ Protocol တွေ တီထွင် သတ်မှတ်ရာမှာ ရည်ရွယ်ချက်အလိုက် ဒီ OSI အလွှာတွေထဲက အသုံးပြု စံထားချင်တဲ့ အလွှာတွေကိုပဲ ရွေးချယ် သတ်မှတ် စံပြု ထုတ်လုပ်ကြပါတယ်။ အလွှာ အကုန်သုံးဖို့ မလိုပါဘူး။
ဥပမာ ပြောခဲ့ ပြီးတဲ့ RS 232, 422 protocol တွေမှာ Electrical communication standard အတွက် Physical Layer ကို အခြေခံ ကိုသုံးထားပြီး၊ Address အတွက် Data Link Layer ကို သုံးထားပါတယ်။ ပြီးရင် တစ်ခြား အလွှာတွေ ​မပါတော့ပဲ Application Layer ကို တိုက်ရိုက်သွားပါတယ်။ Protocol အားလုံးဟာ အနည်းဆုံး Physical Layer နဲ့ Application Layer ရှိရပါတယ်။

အခုဆက်ပြီး အသုံးများတဲ့ တစ်ခြား Protocol တချို့ကို ဆက်ပြောပါမယ်။

CAN Protocol
CAN bus လို့ ခေါ်တဲ့ Controller Area Network (CAN) Protocol ကို အစက မော်တော်ကားတွေအတွက် အဓိက ရည်ရွယ်ပြီး ထုတ်ခဲ့ပါတယ်။ နောက်တော့ တစ်ခြားနေရာတွေမှာပါ သုံးလာကြပါတယ်။ CAN bus ဟာ Microcontroller အချင်းချင်း တိုက်ရိုက် ဆက်သွယ်နိုင်အောင် လုပ်ထားပါတယ်။ CAN-H နဲ့ CAN-L ဆိုတဲ့ ကြိုး ၂ ချောင်းကိုပဲ သုံးပြီးဆက်သွယ်ထားတာပါ။ ကြိုး ၂ ချောင်းကြားက Differential Voltage နဲ့ 0 (သို့) 1 တန်ဘိုး ခွဲခြားတာပါ။ Half Duplex mode ကို သုံးပြီး အများဆုံး 1 Mbps အထိ ဆက်သွယ်နိုင်တယ် ဆိုပါတယ်။ Device တစ်ခုစီကို Node လို့ခေါ်ပြီး တန်းစီ ချိတ်ဆက်နိုင်ပါတယ်။ Node တစ်ခုနဲ့ တစ်ခုကြား အများဆုံး မီတာ ၄၀ ခြားနိုင်ပါတယ်။ Node အရေအတွက် ၃၀ ထိ ချိတ်ဆက်နိုင်ပါတယ်။ အစွန်ဆုံး Device နှစ်ခုမှာ 120 ohm resistor တစ်ခုစီ ဆက်ပြီး terminate လုပ်ပေးရပါတယ်။ CAN ရဲ့ ထူးခြားချက်က Device တွေ ပို့လိုက်တဲ့ Message တွေ အချင်းချင်း တိုက်မိပြီး (collision ကြောင့်)၊ ပျောက်သွားတာ မဖြစ်အောင် ကာကွယ်တဲ့ စနစ် ပါဝင်ပါတယ်။ CAN bus ဟာလည်း RS 485 တို့လို အခြေခံ (Physical Layer) သီးခြား စံရှိတဲ့ Protocol တစ်ခုပါ။
NMEA 0183
ဒီ protocol ကတော့ ရေကြောင်းမှာ သုံးဖို့ National Marine Electronics Association (NMEA) က စံပြု ထုတ်ထားတာပါ။ သင်္ဘောပေါ်က Navigation Device တွေဖြစ်တဲ့ Echo Sounder, Sonar, Anemometer, Gyrocompass, Auto Pilot, GPS, ECDIS အစရှိတဲ့ ပစ္စည်း တော်တော်များများမှာ လက်ခံ အသုံးပြုပါတယ်။ 
ဒီ Protocol က Physical Layer မှာတော့ RS 422 ကို အခြေခံပြီး အပေါ်ပိုင်း ဆက်သွယ်တဲ့  အပိုင်းတွေမှာ စံသတ်မှတ်ချက်တွေ ထပ်ထည့်ထားတာပါ။ ဆက်သွယ်တဲ့ နေရာမှာ ASCII character တွေသုံးပြီး ဆက်သွယ်ပါတယ်။ Expansion Unit တွေသုံးပြီး Sender တစ်ခုကနေ Receiver Device အကန့်အသတ်မရှိ ဆက်သွယ်နိုင်ပါတယ်။ Multiplexer Device တွေသုံးပြီး Sensor အရေအတွက် များစွာရဲ့ Signal တွေကို Controller တစ်ခုထဲအတွက် ပြန်ပို့နိုင်ပါတယ်။ Data rate 4800 bps ပဲ ရှိပါတယ်။  (နောက်ပိုင်းမှာတော့ NMEA 2000 နဲ့ ပြောင်းလဲ သုံးစွဲလာပါတယ်။)

NMEA 2000 
NMEA 2K ဒါမှမဟုတ် N2K လို့လည်း ခေါ်ကြတဲ့ ဒီ version အသစ်ကတော့ CAN bus ကို အခြေခံထားတယ်လို့ ပြောနိုင်ပါတယ်။ တစ်ကယ် အတိအကျ ပြောရရင်တော့ CAN bus ကို အဆင့်မြှင့်ထားတဲ့ SAE J1939 Protocol ကို အခြေခံထားတာပါ။ CAN bus နဲ့လည်း compatible ဖြစ်လို့ တိုက်ရိုက် ချိတ်ဆက်နိုင်ပါတယ်။ ဒီစနစ်မှာတော့ ဘယ် sensor က မဆို (Multiple Talkers)၊ ဘယ် Device ကို ဖြစ်ဖြစ် (Multiple Listeners) တိုက်ရိုက် ဆက်သွယ် ပေးပို့နိုင်တယ်ဆိုတဲ့ အားသာချက် ရှိပါတယ်။ နောက်ပြီး သူ့ရဲ့ ကောင်းကွက်က Manufacturer မတူတဲ့ Device တွေကို Plug and Play ဆက်သွယ် အသုံးပြုနိုင်တယ် ဆိုပါတယ်။ Data rate 250 kbps အထိ ဆက်သွယ်နိုင်ပါတယ်။ ဒီစနစ်မှာတော့ Message တွေကို compact binary format နဲ့ ပေးပို့ပါတယ်။

Profibus Protocol
Process Field Bus (Profibus) ကို Automation မှာ တွင်ကျယ်ကျယ် သုံးကြပါတယ်။ ( သတိ - ProfiNet နဲ့ မတူပါ။ ) အထူးသဖြင့် Siemens PLC တွေမှာ အများစု သုံးပါတယ်။ ဒီ Protocol ရဲ့ Physical Layer မှာတော့ RS 485 (သို့) Optical (သို့) MBP (Manchester Bus Powered) တစ်ခုခု ကို သုံးနိုင်ပါတယ်။ သုံးတဲ့ Physical Layer ပေါ်မူတည်ပြီး Data Rate နဲ့ Distance ပြောင်းလဲနိုင်ပါတယ်။ 
RS485 သုံးရင် (400 - 1200) m အတွင်းသုံးနိုင်ပြီး Baud rate 9.6 kbps - 12 Mbps အထိ ရှိနိုင်ပါတယ်။
Optical သုံးရင်တော့ 15 km အကွာအဝေးထိ သုံးနိုင်ပါတယ်။
MBP နဲ့ ဆိုရင်တော့ 1900 m အကွာအဝေးထိ ဆက်သွယ်နိုင်ပါတယ်။ ဒီနည်းမှာတော့ Bus ပေါ်ကနေ power ကို လျှော့ချပေးတာမို့ Hazardous Area တွေမှာလည်း သုံးနိုင်တယ်ဆိုပါတယ်။ Baud Rate ကတော့ 31.25 kbps ပဲ ရှိပါတယ်။

Modbus Protocol
ဒီ Protocol ကို Modicon ( ယခု Schneider) ရဲ့ PLC တွေအတွက် ထုတ်ခဲ့တာ ဖြစ်ပြီး နောက်ပိုင်း industrial electronics devices တွေ SCADA System တွေမှာ အသုံးများပါတယ်။ သူ့ ရဲ့ Physical Layer ဟာ RS485 (သို့) Ethernet ပေါ် အခြေခံပြီး တည်ဆောက်ထားတာပါ။ Master / Slave ဆက်သွယ်တဲ့ စနစ်ကို သုံးထားပြီး Link တစ်ခုမှာ device 254 ခုအထိ ဆက်သွယ်နိုင်ပါတယ်။ Master module က Data တွေကို အလှည့်ကျ ဆွဲယူရပါတယ်။ 

အခုဆိုရင် တော်တော်များများ ပြောခဲ့ပြီးပါပြီ။ Serial Communication Protocol အမျိုးမျိုးရဲ့ မတူညီတဲ့ အချက်တွေကိုလည်း သိသွားပါပြီ။ ဒီတော့ မတူညီတဲ့ Protocol တွေ အချင်းချင်း Backwards Compatible မဖြစ်ရင် ဆက်သွယ်လို့ မရနိုင်ဘူးဆိုတာ သိနိုင်ပါတယ်။ ဒါပေမဲ့ တချို့ Converter Device တွေသုံးပြီး မတူတဲ့ Protocol တွေကို ပြောင်းလဲ ဆက်သွယ်ပေးနိုင်ပါတယ်။

လက်တွေ့မှာတော​့ Serial Communication အများစုဟာ ကြိုး ၂ ချောင်းပဲ သုံးထားလေ့ ရှိပြီး အဲဒီ ကြိုးနှစ်ချောင်းထဲနဲ့ ရွာလည်နေတတ်ပါတယ်။ ကြိုး၂ ချောင်းကြား Voltage တိုင်းကြည့်ရင် DC Voltage ဟာ အပေါင်း၊ အနှုတ် တန်ဘိုး အမြန်ပြောင်းလဲ လှုပ်ရှားနေမှ Data Communication အလုပ်လုပ်နေတယ်လို့ သိနိုင်ပါတယ်။ Device တစ်ခုခုမှာ ပြသင့်တဲ့ တန်ဘိုး မရတဲ့အခါ စစ်ကြည့်သင့်တာတွေကတော့ ကြိုးပြတ်နေလား၊ Communication signal ထွက်ရဲ့လား၊ Sender နဲ့ Receiver အကြား Data Frame setting တွေ တူရဲ့လား၊ Device တွေမှာ Address ရှိခဲ့ရင် Address နှစ်ခု ထပ်နေလို့လား၊ Termination လိုအပ်ခဲ့ရင် End Resistor တွေ လွတ်နေလို့လား အစရှိတာတွေ ဖြစ်ပါတယ်။

ဝင်းအောင် (ပခုက္ကူ)
၁၉-၄-၂၀၂၀

No comments:

Post a Comment