วันอาทิตย์ที่ 22 มิถุนายน พ.ศ. 2557

การสื่อสารอนุกรม RS-485


การสื่อสารอนุกรม RS-485



      RS-485 เป็นหนึ่งในมาตรฐานการสื่อสารแบบอนุกรม (Serial Communication) ที่ถูกกำหนดขึ้นมาโดยกลุ่มพันธมิตรอุตสาหกรรมอิเล็กทรอนิกส์ในประเทศสหรัฐอเมริกา (Electronic Industries Alliance (EIA)) เพื่อตอบสนองต่อความต้องการใช้งานที่ต้องการเชื่อมต่ออุปกรณ์หลายๆ ตัวบนข่ายสายเดียวกัน โดยมีระยะทางการสื่อสารที่ไกลขึ้น และมีความเร็วรับส่งข้อมูลที่สูงขึ้น เมื่อเทียบกับมาตรฐานการสื่อสาร RS-232 ที่ถูกกำหนดขึ้นมาโดยกลุ่มพันธมิตรอุตสาหกรรมอิเล็กทรอนิกส์เช่นเดียวกัน
      เหตุที่การสื่อสาร RS-485 สามารถรับส่งสัญญาณข้อมูลได้ไกลขึ้นและเร็วขึ้นนั้น เป็นเพราะ RS-485 ใช้เทคนิคสัญญาณรับส่งแบบดิฟเฟอเรนเชียล (Differential Mode) ขณะที่ RS-232 ใช้เทคนิคสัญญาณรับส่งแบบคอมมอน(Common Mode) สัญญาณรับส่งแบบคอมคอนนั้นจะใช้สัญญาณกราวด์ (Ground Signal) เป็นตัวเปรียบเทียบปัญหาจะเกิดขึ้นเมื่อระดับสัญญาณกราวด์ของตัวรับและตัวส่งไม่เท่ากัน ยิ่งระดับสัญญาณแตกต่างกันมากเท่าไร ก็ยิ่งมีผลต่อความผิดพลาดในการสื่อสารมากขึ้นเท่านั้น เพราะการตีความข้อมูลที่รับเข้ามาว่าเป็นศูนย์หรือหนึ่ง จะดูจากระดับความแตกต่างระหว่างสัญญาณกราวด์กับสัญญาณข้อมูลที่รับเข้ามา และยิ่งเมื่อมีสัญญาณรบกวน สอดแทรกเข้ามาในสายสัญญาณมากเท่าไร ก็ยิ่งทำให้การตีความสัญญาณมีโอกาสผิดพลาดสูงมากยิ่งๆ ขึ้น พูดง่าย ๆ ก็คือระดับความผิดพลาดในการรับส่งข้อมูลจะสูงขึ้นจนไม่สามารถสื่อสารกันได้ หรือต้องลดระดับความเร็วในการสื่อสารลงมา

     ขณะที่สัญญาณรับส่งแบบดิฟเฟอเรนเชียลนั้น จะไม่ใช้สัญญาณกราวด์เป็นระดับอ้างอิงหรือเปรียบเทียบ แต่จะดูที่ความต่างของสัญญาณของคู่สายเป็นสำคัญ ทำให้ปัญหาเรื่องความแตกต่างของสัญญาณกราวด์ ระหว่างอุปกรณ์รับและอุปกรณ์ส่งหมด ไป (เพราะไม่ถูกนำมาใช้อ้างอิง) และถ้าหากคู่สายที่ใช้รับส่งสัญญาณ พันกันเป็นเกรียวก็จะยิ่งส่งผลให้สัญญาณรบกวนจากภาย นอกที่สอดแทรกเข้ามาในคู่สายก็จะถูกกำจัดออกไป ได้โดยง่าย เป็นผลให้การสื่อสาร RS-485 ทนต่อสัญญาณรบกวนภายนอก ได้สูง สามารถรับส่งสัญญาณได้ไกลขึ้น และเร็วขึ้น เมื่อเปรียบเทียบกับเทคนิคสัญญาณรับส่งแบบคอมมอน
       ตารางด้านล่างแสดงคุณสมบัติของการสื่อสาร RS-485 เปรียบเทียบกับมาตรฐานการสื่อสารอนุกรมอื่น ๆ

      

      จากตารางจะพบว่า RS-422 และ RS-485 มีความเร็วในการสื่อสารสูงกว่า RS-232 เป็นอย่างมาก ขณะที่ RS-232 เป็นมาตรฐาน การสื่อสารอนุกรมเดียวที่สามารถสื่อสารแบบสองทางพร้อมกันได้ (Full Duplex) ขณะที่มาตรฐาน การสื่อสาร อนุกรมอื่น ๆ ทำได้ เพียงแบบสองทางไม่พร้อมกัน (Half Duplex) ทั้งนี้เนื่อง จาก RS-232 เป็นการ สื่อสารแบบเชื่อมต่อจุดต่อจุด (Peer-to-Peer) นั้นเอง ขณะที่มาตรฐานอื่น ๆ เป็นแบบเชื่อมต่ออุปกรณ์รับส่งหลาย ตัวบนสื่อสัญญาณเดียวกัน (Multidrop)
       การเชื่อมต่ออุปกรณ์ RS-485 เป็นเครือข่าย (network) ได้เป็นอีกหนึ่งเหตุผลที่ทำให้มาตรฐานการสื่อสาร RS-485 เป็นที่นิยมนำมาใช้งานในงานควบคุมและตรวจวัด อุปกรณ์รับส่งสัญญาณ RS-485 โดยทั่วไปนั้น จะ สามารถเชื่อมต่ออุปกรณ์บนเครือข่ายได้ 32 อุปกรณ์ ถ้าความต้านทานขาเข้า (Input Resistance) ของอุปกรณ์ ดังกล่าวมีค่าอยู่ที่ 12 kOhm ปัจจุบันนี้มีอุปกรณ์รับส่งสัญญาณ RS-485 ที่มีความต้านทานสูงสามารถเชื่อมต่อ อุปกรณ์บนเครือข่ายเดียวกันได้ถึง 256 อุปกรณ์ ด้วยอุปกรณ์ทวนสัญญาณ RS-485 เราสามารถเพิ่มจำนวน อุปกรณ์บนเครือข่ายได้ถึงหลายพันตัว








วันพฤหัสบดีที่ 29 พฤษภาคม พ.ศ. 2557

การใช้งานพอร์ตอนุกรม RS232



การใช้งานพอร์ตอนุกรม RS232

                                                       
  • การสื่อสารแบบอนุกรม นับว่ามีความสำคัญ ต่อการใช้งาน ไมโครคอนโทรลเลอร์มาก เพราะสามารถใช้แป้นพิมพ์ และจอภาพของ PC เป็น อินพุต และ เอาต์พุต ในการติดต่อ หรือ ควบคุม ไมโครคอนโทรลเลอร์ ด้วยสัญญาณอย่างน้อย เพียง 3 เส้นเท่านั้น คือ

    - สายส่งสัญญาณ TX
    - สายรับสัญญาณ RX
    - และสาย GND

    โดยปกติพอร์ตอนุกรม RS-232C จะสามารถต่อสายได้ยาว 50 ฟุตโดยประมาณ ขึ้นอยู่กับ ชนิดของ สายสัญญาณ, ระยะทาง, และ ปริมาณ สัญญาณ รบกวน


                พอร์ตอนุกรมของ PC    
            DB9 ตัวผู้ (Male)
พอร์ตอนุกรมของอุปกรณ์ภายนอก
  DB9 ตัวเมีย (Female)


   




  • พอร์ตอนุกรมของ PC จะเป็นคอนเน็คเตอร์แบบ DB9 ตัวผู้ (Male)
  • พอร์ตอนุกรม ของอุปกรณ์ภายนอก จะเป็นคอนเน็คเตอร์แบบ DB9 ตัวเมีย(FeMale)
                                                                                                         
แสดงการจัดขา ของคอนเน็กเตอร์ อนุกรมแบบ DB9 และหน้าที่การใช้งานต่างๆ




การเชื่อมต่ออุปกรณ์อุกรณ์ภายนอกเข้ากับคอมพิวเตอร์ด้วยสาย DB9

การเชื่อมต่ออุปกรณ์ภายนอกผ่าน DB9
แบบ Null modem
การต่ออุปกรณ์ภายนอกผ่าน DB9
แบบ 3 เส้น

การทำงานของขาสัญญาณ DB9
TXD เป็นขาที่ใช้ส่งข้อมูล
RXD เป็นขาที่ใช้รับข้อมูล
DTR แสดงสภาวะพอร์ตว่าเปิดใช้งาน ,DSR ตรวจสอบว่าพอร์ต ที่ติดต่อด้วย เปิดอยู่หรือไม่
- เมื่อเปิดพอร์ตอนุกรม ขา DTR จะ ON เพื่อให้อุปกรณ์ได้รับทราบว่าต้องการติดต่อด้วย
- ในขณะเดียวกันก็จะตรวจสอบขา DSR ว่าอุปกรณ์พร้อมหรือไม่
RTS แสดงสภาวะพอร์ตว่าต้องการส่งข้อมูล ,CTS ตรวจสอบว่าพอร์ตที่ติดต่ออยู่ ต้องการส่ง            ข้อมูลหรือไม่
- เมื่อต้องการส่งข้อมูลขา RTS จะ ON และจะส่งข้อมูลออกที่ขา TXD เมื่อส่งเสร็จก็จะ        OFF
- ในขณะเดียวกันก็จะตรวจสอบขา CTS ว่าอุปกรณ์ต้องการที่จะส่งข้อมูลหรือไม่
GND ขา ground

ระดับสัญญาณของ RS232


ระดับสัญญาณของ RS232C และระดับสํญญาณของ TTL

  • สัญญาณรบกวนที่เกิดขึ้น ในสายนำสํญญาณ มักจะมีแรงดันเป็นบวก เมื่อเทียบกับกราวน์
    - เพื่อป้องกันสัญญาณรบกวนนี้ จึงออกแบบแรงดัน ของโลจิก "1" เป็นลบ คืออยู่ในช่วง -3V ถึง -15V
    ส่วนแรงดัน ของโลจิก "0" อยู่ในช่วง +3V ถึง +15V
    - และเหตุที่ ระดับสัญญาณ ของ RS232 อยู่ในช่วง +15V ถึง -15V ก็เพื่อให้ต่อสายสัญญาณไปได้ไกลขึ้น
  • ดังนั้นจึงจำเป็นจะต้องมีวงจรเปลี่ยนระดับแรงดันของ RS232 มาเป็นระดับแรงดันของ TTL



อัตราการส่งข้อมูล (Baud rate)

- คือความเร็วของการรับ-ส่งข้อมูล เป็นจำนวนบิทต่อวินาทีเช่น 300, 1,200, 2,400, 4,800 , 9,600 ,14,400 ,19,200, 38,400 ,56,000 เป็นต้น
- การเลือกอัตราการส่งข้อมูลขึ้นอยู่กับ ชนิดของสายสัญญาณ, ระยะทาง,และปริมาณสัญญาณรบกวน

รูปแบบการสื่อสารแบบอนุกรม
มีด้วยกันอยู่ 2 แบบ คือแบบซิงโครนัส (Synchronous) และแบบอะซิงโครนัส(Asynchronous)

  • การสื่อสารแบบซิงโครนัส (Synchronous)
-การรับส่งข้อมูล จะมีสัญญาณนาฬิกา ซึ่งเป็นตัวกำหนด จังหวะเวลา การส่งข้อมูล ร่วมอยู่ด้วยอีกเส้นหนึ่ง ใช้คู่กับสัญญาณข้อมูล ตัวอย่างเช่น การส่งสัญญาณจากคีย์บอร์ด




  • การสื่อสารแบบอะซิงโครนัส (Asynchronous)
- การรับส่งข้อมูล โดยที่ไม่จำเป็นต้อง มีสัญญาณนาฬิกา ร่วมด้วย แต่จะใช้ให้ตัวส่ง และตัวรับ มีอัตราส่งข้อมูล ที่เท่ากัน
รูปแบบข้อมูลแบบอะซิงโครนัส ประกอบด้วย 4 ส่วนคือ
1บิตเริ่มต้น (Start bit) มีขนาด1 บิต
2บิตข้อมูล (Data) มีขนาด 5,6,7 หรือ 8 บิต
3บิตตรวจสอบพาริตี้ (Parity bit) มีขนาด 1 บิตหรือไม่มี
4บิตหยุด (Stop bit) มีขนาด 1, 1.5, 2 บิต




- เมื่อไม่มีการส่งข้อมูล ขา data จะมีสถานะเป็นโลจิก "1" หรือ สถานะหยุดรอ (Waiting stage)
- เมื่อเริ่มต้นส่งข้อมูลจะให้ขา data เป็นโลจิก "0" เป็นจำนวน 1 บิต เรียกว่าบิตเริ่มต้น (Start bit)
- จากนั้นก็จะเริ่มต้นส่งข้อมูล โดยส่งบิตต่ำไปก่อน (LSB)
- แล้วตามด้วยพาริตี้บิต (จะมีหรือไม่ก็ได้ ขึ้นอยู่กับการติดตั้งค่า ของทั้งสองฝ่าย)
- สุดท้ายตามด้วยโลจิก "1" อย่างน้อย 1 บิต ( มีขนาด 1, 1.5, หรือ 2 บิต) เพื่อแสดงว่าสิ้นสุดข้อมูล

การรับและส่งข้อมูลแบบอนุกรมยังแบ่งออกเป็นลักษณะการใช้งานได้ 3 แบบคือ

 1. แบบซิมเพลกซ์ (Simplex) เป็นการส่ง หรือรับข้อมูล แบบทิศทางเดียว เท่านั้น
     2.แบบฮาล์ฟดูเพลกซ์ (Half Duplex) เป็นการส่งและรับข้อมูลแบบสลับกัน
         คือเมื่อด้านหนึ่งส่ง อีกด้านหนึ่ง เป็นฝ่ายรับ สลับกัน ไม่สามารถรับ-ส่งในเวลาเดียวกันได้
   3. แบบฟลูดูเพลกซ์ (Full Duplex) สามารถรับ-ส่งข้อมูลในเวลาเดียวกันได้