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 တွေ လွတ်နေလို့လား အစရှိတာတွေ ဖြစ်ပါတယ်။

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

Saturday, 11 April 2020

Serial Communication on Vessel (1)

လျှပ်စစ်ပစ္စည်း တစ်ခုနဲ့ တစ်ခု ဆက်သွယ်တဲ့ Signal တွေ ကြည့်ရင်
  1. Digital Signal ဖြစ်တဲ့ On/ Off (သို့) Short / Open အနေနဲ့ ပေးတာရှိပါတယ်။ 
  2. Analog Signal တွေဖြစ်တဲ့ mA, mV, V, Resistance တန်ဘိုး တစ်ခုခုနဲ့ ပေးပြီး ဆက်သွယ်တာ ရှိပါတယ်။
  3. တစ်ကယ်လို့ အချက်အလက် တစ်ခုမကတဲ့ Data တွေ ပို့ပေးမယ်ဆိုရင်တော့ Communication Signal တွေနဲ့ ပေးပို့ရပါတယ်။ Communication Signal ဆိုတာ ထွေထွေ ထူးထူး မဟုတ်ပါဘူး။ 0 တွေ၊ 1 တွေအဖြစ် ပြောင်းထားတဲ့ data အချက်အလက်တွေ အစဉ်တန်းတွေပါ။

Data Communication မှာ Parallel Communication နဲ့  Serial Communication လို့ ရှိပါတယ်။ Parallel Communication ကတော့ ကြိုးအများကြီးနဲ့ အပြိုင်ပေးပို့တာပါ။ ဥပမာ 8 bits (1 byte) ရှိတဲ့ data ကို ပို့ချင်တယ်ဆိုရင် အနည်းဆုံး data အတွင် ကြိုး ၈ ချောင်း အပြိုင်ဆက်ထားပြီး ပို့တာဆိုတော့ Clock တစ်ချက်တိုင်းမှာ data 1 byte ရောက်နိုင်ပါတယ်။ နမူနာ Parallel Communication တွေကတော့ ကွန်ပြူတာတွေမှာ သုံးတဲ့ ISA, ATA, SCSI, PCI, FSB နဲ့ ရှေ့ပိုင်း Printer Port တွေ ဖြစ်ပါတယ်။
Serial Communication မှာတော့ data bit တွေကို channel တစ်ခုထဲကနေ bit တစ်ခုပြီးတစ်ခု တန်းစီပြီး ပို့ပေးပါတယ်။ အဲဒီတော့ အနည်းဆုံး clock ၈ ချက် ကြာမှ data 1 byte ရောက်ပါမယ်။ (ပုံမှာကြည့်ပါ)
ဒါပေမဲ့ နောက်ပိုင်းမှာ processor speed တွေ ပိုမြန်လာတဲ့အခါ ကြိုးအများကြီး သုံးရတဲ့ parallel communication ကို သိပ်မသုံးကြတော့ပါဘူး။ Serial communication ကို ပိုသုံးလာကြပါတော့တယ်။ Serial communication ရဲ့ အားသာချက်က ကြိုး အရေအတွက် နည်းသွားတယ်။ ပို ရိုးရှင်း သွားပါတယ်။

Serial Communication အကြောင်း ပြောရင် Synchronous နဲ့ Asynchronous ဆိုတဲ့ နှစ်မျိုး အကြောင်းပြောရပါမယ်။ Synchronous Serial Communication ဆိုတာက Data Signal ကြိုးအပြင် Clock Signal အတွက် သီးခြား ကြိုးတစ်ချောင်း ရှိရပါတယ်။ Sender နဲ့ Receiver က Main Clock Signal တစ်ခုထဲကို အတူ ယူသုံးပြီး တစ်နည်းအားဖြင့် Synchronize လုပ်ပြီး Data Transfer လုပ်ပါတယ်။ နမူနာ Synchronous Serial Communication အမျိုးအစားတွေကတော့ I2C, SPI, LIN စတာတွေပါ။ ဒီအမျိုးအစားက Data ပို့တဲ့အခါ၊ Frame တွေ ထည့်စရာ မလို၊ Frame တစ်ခုနဲ့ တစ်ခုကြားတွေ မရှိတာမို့ ပိုမြန်ပါတယ်။

Asynchronous Communication မှာတော့ Clock signal အတွက် သီးခြား ကြိုးတစ်ချောင်း မလိုတော့သလို Clock signal ကို Synchronize လုပ်စရာ မလိုတော့ပါဘူး။ Sender က ပို့ပေးလိုက်တဲ့ Data ထဲမှာ Start bit, Stop bit, Parity bit စတဲ့ Framing bit တွေထည့်ပေးလိုက်ပြီး Receiver က ကိုယ်ဆီရောက်တော့မှ ကိုယ့် clock နဲ့ကိုယ် ပြန်ဖွင့် ဖတ်ရပါတယ်။
ဒါပေမဲ့ Sender နဲ့ Receiver ဟာ Framing နဲ့ baud rate တူရပါတယ်။ Baud rate ဆိုတာကတော့ အမြန်နှုန်း (bit per sec) သတ်မှတ်ချက်ပါ။ ဥပမာ- 9600 bps, 4800 bps စသဖြင့် သုံးကြပါတယ်။ အသုံးများတဲ့ Asynchronous Communication တွေကတော့ RS232, RS422, RS485, USB, CAN, NMEA အစရှိတာတွေပါ။
နောက်တစ်ခု Serial Communication အမျိုးအစားတွေရဲ့ လုပ်ဆောင်ချက် နှိုင်းယှဉ်ကြည့်ရင် သူတို့ Support လုပ်ပေးနိုင်တဲ့ ဆက်သွယ်မှုအမျိုးအစား ဖြစ်တဲ့ Simplex, duplex mode တွေကို သိထားသင့်ပါတယ်။ Simplex ဆိုတာက တစ်လမ်းသွား (one way) ဆက်သွယ်ရေး စနစ်ပါ။ ဥပမာ - ရေဒီယို၊ တီဗွီ လိုမျိုးပါ။ Half Duplex ဆိုတာကတော့ နှစ်ဘက် အပြန်အလှန်တော့ သွားနိုင်တယ်။ တစ်ချိန်မှာ တစ်ခုပဲ သွားလို့ရတာမျိုးပါ။ ဥပမာ - Walkie Talkie တွေလိုပါ။ Full Duplex ဆိုတာကမှ တစ်ပြိုင်နက်ထဲ့ 2 way အပြန်အလှန် ဆက်သွယ်နိုင်တာကို ဆိုလိုပါတယ်။ ဥပမာ - Mobile phone လိုမျိုးပါ။

အရမ်းခေါင်းရှုပ်သွားမှာ စိုးလို့ UART တို့ TTL တို့အကြောင်း မပြောတော့ဘူးနော်။

အဲလောက် သိထားပြီးရင် သင်္ဘောပေါ်မှာ အသုံးများတဲ့ Serial Communication Protocol တချို့ကို နည်းနည်း ပိုအသေးစိတ်ပြောပြပါမယ်။ 

RS232 
အခြေခံ အကျဆုံး၊ အထူးသဖြင့် ကွန်ပြူတာနဲ့ ချိတ်ဆက်ရင် အသုံးအများဆုံး Protocol ပါ။ RS ဆိုတာကတော့ Recommended Standard ကို ပြောတာပါ။ သူ့ရဲ့ တခြား အမည်ကွဲတွေဖြစ်တဲ့ EIA (Electronic Industries Alliance) တို့၊ TIA ( Telecommunication Industry Association) တို့ကိုတော့ လူသိ မများပါဘူး။
RS232 ဟာ Full Duplex mode ကို အသုံးပြုနိုင်ပြီး အများဆုံး baud rate 1 Mbps အထိ သုံးနိုင်ပါတယ်။ အဝေးဆုံး ဆက်သယ်နိုင်တဲ့ ကြိုးအရှည်ကတော့ ပေ ၅၀ (15m) ပါ။ နောက်ထပ် ကန့်သတ်ချက် တစ်ခုက RS232 မှာ Device တစ်ခုနဲ့ တစ်ခု (1 sender - 1 receiver) ပဲ ဆက်သွယ်နိုင် ပါတယ်။ ဒါကို Peer to Peer ဒါမှမဟုတ် Point to Point လို့ ခေါ်ပါတယ်။ RS232 မှာ Device တစ်ခုထက်ပိုပြီး ဆက်သွယ်ချင်ရင်တော့ Daisy Chain နည်းနဲ့ ဆက်လို့ရပါတယ်။ ဥပမာ  Device-1 ရဲ့ Tx ကို  Device-2 ရဲ့ Rx မှာဆက်၊ Device-2 ရဲ့ Tx ကို Device-3 ရဲ့ Rx မှာဆက် စသဖြင့် ဆက်တာမျိုးပါ။ (ပုံကြည့်ပါ)
RS232 မှာ 9 pin နဲ့ 25 pin ခေါင်း အမျိုးအစားတွေ ရှိပေမဲ့ တစ်ကယ် ဆက်သွယ်ဖို့ သုံးတာက ကြိုး ၃ ချောင်းပဲ ရှိပါတယ်။ (ပုံကြည့်ပါ။) ဒီမှာ Common Ground, Transmit(Tx) နဲ့ Receive (Rx) ဆိုပြီး ကြိုး ၃ ချောင်း ရှိပါတယ်။ Receiver ဘက်နဲ့ Sender ဘက်ရဲ့ Rx နဲ့ Tx ကို အပြန်အလှန် (Cross) ဆက်တာကို သတိပြုရပါမယ်။ ဒီနည်းက Unidirectional လို့ ခေါ်တဲ့ data စီးဆင်းတဲ့ လမ်းကြောင်းက တစ်ဘက်သတ်သွားပါတယ်။ Device တစ်ခုက Transmit လုပ်တဲ့ကြိုးဟာ အမြဲ Transmit ပဲလုပ်ပါတယ်။ Receive data အတွက် နောက်ကြိုး တစ်ချောင်းနဲ့ သုံးရပါတယ်။ ဒီ Protocol မှာ Common Ground ကြိုးကို အခြေခံပြီး Data ကြိုးတွေပေါ်မှာ Voltage ကို တိုင်းပါတယ်။ -3V to -15V ကို Logic (1) လို့ သတ်မှတ်ပြီး +3V to +15V ကို Logic (0) လို့ သတ်မှတ်ပါတယ်။ တစ်ခြားနည်းတွေနဲ့ စာရင် သုံးတဲ့ Voltage က မြင့်တယ်လို့ ဆိုနိုင်ပါတယ်။

RS422
​ဒီအမျိုးအစားမှာတော့ Baud Rate 10 Mbps အထိ မြန်လာပါတယ်။ ဆက်သွယ်ရာမှာလည်း sender တစ်ခုကနေ receiver  ၁၀ ခု အထိ အပြိုင် ဆက်သွယ်နိုင်ပါတယ်။ ဒါကို Multi Drop လို့ ခေါ်ပါတယ်။ အဝေးဆုံး ပေ ၄၀၀၀ (1.2 km) အထိ ဆက်သွယ်နိုင်ပါတယ်။
နောက်ထူးခြားချက်က Common Ground မသုံးတော့ပဲ ကြိုး တစ်စုံစီရဲ့ Differential လို့ ခေါ်တဲ့ Voltage ခြားနားချက်ပေါ်မူတည်ပြီး High(1) / Low(0) ကို ဆုံးဖြတ်ပါတယ်။ ကြိုး A နဲ့ B ရဲ့ voltage ခြားနားချက် -3V to -6V ကို Logic (1) လို့ သတ်မှတ်ပြီး +3V to +6V ကို Logic (0) လို့ သတ်မှတ်ပါတယ်။ ဒီမှာလည်း Unidirectional လို့ခေါ်တဲ့ Data တစ်လမ်းသွားပဲ သုံးနိုင်ပါတယ်။ ဒီတော့ Half Duplex (တစ်ဘက်သတ် ဆက်သွယ်မှု) ပဲ သုံးမယ်ဆိုရင် ကြိုး၂ ချောင်းနဲ့ရပါတယ်။ Full Duplex (အပြန်အလှန် ဆက်သွယ်မှု) သုံးမယ်ဆိုရင်တော့ Tx အတွက် ကြိုး ၂ ချောင်း (A & B) ရယ်၊ Rx အတွက် ကြိုး ၂ ချောင်းရယ် ကြိုး ၄ ချောင်း သုံးရပါတယ်။ 

RS485
သင်္ဘောတွေမှာ အတွေ့ရ အများဆုံး Protocol ပါ။ သူ့ရဲ့ အများဆုံး Baud Rate ကလည်း 10 Mbps ပါပဲ။ အဝေးဆုံး ဆက်သွယ်နိုင်တာလည်း ပေ ၄၀၀၀ (1.2km) ပါပဲ။ တချို့စာတွေမှာ 10 km အထိ ရတယ်လို့လည်း တွေ့ရပါတယ်။ တော်တော်များများ အချက်တွေက RS422 နဲ့ တူပါတယ်။ ပိုကောင်းလာတာက Sender လည်း အများ၊ Receiver ကလည်း အများကြီး ဆက်သွယ်နိုင်ပါတယ်။ အများဆုံး Sender ၃၂ ခုနဲ့ Receiver ၃၂ ခုထိ ဆက်သွယ်နိုင်ပါတယ်။ Multi Point လို့ ခေါ်ပါတယ်။ ချိတ်ဆက်တဲ့နေရာတွေမှာ အစွန်ဆုံး Device နှစ်ခုကို Reflection မရှိအောင် 100 ohm resistor တွေနဲ့ terminate လုပ်ဖို့ အကြံပြုပါတယ်။ ကြိုးကိုလည်း နှစ်ပင်လိမ်ကြိုးတွေ သုံးခြင်းအားဖြင့် Noise လျော့ကျစေပါတယ်။ Interference လည်း သက်သာ​စေပါတယ်။ 
RS485 ရဲ့ Data သွားလာမှုက Bidirectional လို့ခေါ်တဲ့ ကြိုး တစ်စုံထဲပေါ်ကနေ အပြန်အလှန် ဆက်သွယ်နိုင်ပါတယ်။ ဒါပေမဲ့ အဲလို သုံးရင် တစ်ဘက်က ပို့ပြီးမှ ပြန်လက်ခံနိုင်တာမို့ Half Duplex Mode ကိုပဲ သုံးနိုင်ပါတယ်။
ဒီ Interface ၃ ခုရဲ့ နှိုင်းယှဉ်ချက်တွေကို ဇယားမှာ ကြည့်ပါ။
အခု ပြောပြီးခဲ့တာတွေကတော့ အသုံးများတဲ့ Serial Communication Protocol တွေပါ။ ဒီဟာတွေက Network တွေရဲ့ OSI အလွှာတွေမှာ အောက်ဆုံး Physical Layer ကို အခြေခံ ပြောထားတာပါ။

OSI model ပါလာပြန်ပြီ။ ပြောချင်တာ များလာပြီဆိုတော့ နောက်တစ်ပိုင်း ဆက်ပြောရပါတော့မယ်။ ခေါင်းရှုပ်သွားမယ်တော့ ထင်တယ်။ ခဏနားလိုက်ပါဦး။ နောက်ရက်မှ ဒုတိယပိုင်း ဆက်ရေးပေးပါမယ်။

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