9/17/2014

การส่งข้อมูลด้วยสัญญาณดิจิตอล (Digital Transmission)

ก่อนที่ข้อมูลจะส่งผ่านเครือข่ายคอมพิวเตอร์นั้น ข้อมูลจะต้องถูกแปลงให้เป็น Analog หรือ Digital ก่อน ในบทความนี้เราจะแสดงเนื้อหาเกี่ยวกับการแปลงบิตข้อมูล ให้เป็นสัญญาณ Digital

Line Coding คือการแปลงบิตของข้อมูลให้อยู่ในรูปแบบของสัญญาณดิจิตอล แบ่งออกเป็น 3 แบบ ได้แก่ Unipolar, Polar, Bipolar

Unipolar encoding เป็นวิธีการแปลงบิตข้ออมูลที่ค่อนข้างง่าย ไม่ซับซ้อน แต่ปัจจุบันไม่มีการใช้งานแบบนี้แล้ว ในการแปลงนั้น ถ้าข้อมูลเป็น 1 จะแปลงเป็นสัญญาณไฟฟ้า มีแรงดันไฟฟ้าค่าหนึ่ง แต่ถ้าเป็น 0 คือจะไม่มีแรงดันไฟฟ้าในการส่ง

Polar encoding เป็นวิธีที่ดีกว่าแบบ unipolar เนื่องจากจะใช้แรงดันไฟฟ้า 2 ระดับในการแทนบิตข้อมูล คือมีแรงดันไฟฟ้า ค่าบวก ค่าลบ แบ่งได้ 4 วิธี 

1. Nonreturn to Zero (NRZ) มีรูปแบบการใช้งาน 2 อย่าง

    - NRZ-level วิธีการนี้ถ้าบิตมีค่าข้อมูลเป็น 0 แรงดันจะมีค่าเป็นบวก ถ้าเป็น 1 แรงดันไฟฟ้าจะมีค่าเป็นลบ
    - NRZ-invert วิธีนี้ไม่สนใจว่าลบหรือบวก จะเปลีย่นเป็นแรงดันไฟฟ้าเหมือนบิตเป็น 1 เท่านั้น ถ้าบิตเป็น 0 จะไม่มีการเปลียนแปลงใดๆ

2. Return to zero (RZ) วิธีนี้ถ้าบิตข้อมูลมีค่าเป็น 1 แรงดันไฟฟ้าจะมีค่าบวก แต่ถ้าบิตเป็น 0 จะมีค่าลบ ไม่เหมือน NRZ-L แตกต่างกันที่ทุกครั้งเมื่อต้องการจะแปลงบิตข้อมูลในแต่ละบิต หลังจากเปลี่ยนเป็นบวกหรือลบแล้ว จะต้องกลับมาเป็น 0 ก่อนเสมอ


3. Manchester 
    - ถ้าข้อมูลมีค่าเป็น 1 จะเปลี่ยนแรงดันไฟฟ้าจาก ลบ ไปบวก
    - ถ้าข้อมูลมีค่าเป็น 0 จะเปลีย่นแรงดันไฟฟ้าจาก บวกไปลบ
    


4. Differential Manchester
    - ถ้าข้อมูลมีค่าเป็น 1  ไม่ต้องเปลี่ยนสัญญาณ
    - ถ้าข้อมูลมีค่าเป็น 0 เปลี่ยนแรงดันไฟฟ้า
    - จะมีการเปลี่ยนช่วงตรงกลางของข้อมูลบิต หรือคือทุกๆครึ่งบิตจะเปลี่ยนแรงดันจากลบไปบวก หรือบวกไปลบ


ฺBipolar encoding วิธีการนี้จะใช้แรงดันไฟฟ้า 3 ระดับ คือ บวก ลบ หรือ 0

- เมื่อบิตเป็น 0 แรงดันไฟฟ้าจะ 0
- เมื่อบิตเป็น 1 แรงดันไฟฟ้าจะสลับกันระหว่างเป็นบวกหรือลบ เช่น เมื่อบิตข้อมูลเป็น 1 ครั้งแรก แรงดันจะเป็นบวก แต่บิตเป็น 1 ครั้งสองแรงดันจะลบ สลับกันไปเรื่อยๆ

Block Coding ปรับปรุงประสิทธิภาพของ line coding ให้ดีขึ้น ทำให้ความผิดพลาดจากการส่งน้อยลง โดยการเพิ่มบิตพิเศษเข้าไป เพื่อช่วยในการตรวจสอบความสอดคล้องกันในการส่งข้อมูล และตรวจความผิดพลาด แบ่ง 3 ขั้นตอน

1. การแบ่งบิตข้อมูล แบ่งข้อมูลออกเป็นย่อยๆ ตามการเข้ารหัสข้อมูล ข้อมูล แบบ 8ฺฺB/10B จะแบ่งกลุ่มละ 8 บิต
2. การแทนที่บิตข้อมูล คือขั้นตอนการเพิ่มบิตพิเศษเข้าไป เพื่อช่วยในการตรวจสอบความสอดคล้องกันในการส่งข้อมูล และตรวจความผิดพลาด แบ่ง 3 ขั้นตอน
3. Line coding คือการแปลงข้อมูลบิตเป็นสัญญาณดิจิตอล

Sampling

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

Pulse Amplitude Modulation (PAM) 
คือวิธีการหนึ่งที่ใช้แปลงอะนาล็อกเป็นดิจิตอล โดยจะทำการสุ่มสัญญาณตามช่วงเวลาต่างๆ โดยจะแบ่งแต่ละช่วงเวลาของการแซมปลิงให้เท่าๆกัน ผลที่ได้จากการแซมปลิงจะเป็นลักษณะลำดับของพัลส์ (Pulse) และขนาดพัลส์จะเป็นสัดส่วนโดยตรงกับสัญญาณอะนาล็อก

ดังนั้น พัลส์แทนถึงอะนาล็อก
*PAM จะใช้ด้านวิศวกรรม แต่ในการสื่อสารไม่เป็นที่นิยมมากนัก
* เป็นพื้นฐานของ PCM

Pulse Code Modulation (PCM) 
-PAM ไม่ได้ส้รางดิจิตอลอย่างแท้จริง จึงดัดแปลง PAM ใหม่ เรียก PCM
- สัญญาณอะนาล็อกจะถูกควอนไตซ์(quantization) หรือกำหนดค่าตัวเลขให้กับพัลส์


Transmission Mode การส่งข้อมูลระหว่างคอมกับอุปกรณ์ภายนอกมี 2 วิธี คือแบบขนานกับอนุกรม

แบบอนุกรมแบ่งเป็น ซิงโครนัสกับอซิงโครนัส

การส่งแบบขนาน(Parallel Transmission) เป็นการส่งข้อมูลออกไปทีละหลายๆบิต แต่ถ้าส่งไป n บิต จะต้องใช้สาย n เส้น

* เร็ว แต่ค่าใช้จ่ายสูง
* เหมาะกับระยะทางที่สั้น ถ้าไประยะทางไกล อาจเกิดความผิดพลาดได้

การส่งข้อมูลแบบอนุกรม (Serial Transmission)  เป็นการส่งข้อมูลที่ใช้สายส่งเพียงเส้นเดียว ข้อมูลที่ส่งก็จะต้องเรียงกันออกไป โดยปกติถ้าส่งภายในคอมจะใช้แบบขนาน ถ้าภายนอกอาจจะอนุกรมก็ได้ ถ้าต้องต่อกับเครื่องภายนอกใช้แบบอนุกรม จะต้องแปลงข้อมูลจากขนานไปเป็นอนุกรม (parallel-to-serial) ก่อน ส่วนผู้รับจะต้องแปลงจากสายส่งไปเป็นขนานด้วย (serial-to-parallel)

อะซิงโครนัส(Asynchronous transmission) 
-เป็นการส่งข้อมูลครั้งละไบต์(1 Byte = 8 bits) 
-ไม่ต้องอาศัยสัญญาณนาฬิกา(Clock) ในการควบคุมจังหหวะของการส่งข้อมูล ฝ่ายรับจึงไม่ทราบเวลาที่แน่นอน 
- จึงต้องมีตัว start bit กำหนดเป็น 0 , stop bit กำหนดเป็น 1 เพื่อให้ฝ่ายรับทรายได้ว่าข้อมูลเริ่มตรงไหนสิ้นสุดตรงไหน การส่งอาจไม่ต่อเนื่องตลอด อาจมีช่องว่างได้(gap)
- ไม่ต้องอาศัยสัญญาณใดๆควบคุม เหมาะกับอุปกรณ์ความเร็วต่ำ เช่น Keyboard

ซิงโครนัส (Synchronous Transmission)
-ไม่ต้องอาศัย บิตเริ่มต้นและสิ้นสุด แต่มีสัญญาณ clock คุม
-สามารถส่งได้ต่อเนื่องเป็น "เฟรม" โดยไม่จำเป็นต้องมีช่องว่าง
- ฝ่ายรับข้อมูล จะต้องทำหน้าที่ในการแยกเฟรมออกเป็นไบต์เอง
- ฝ่ายรับจึงต้องนับจำนวนบิตข้อมูล เพราะไม่มีตัวสตาทสต็อป
- ซิงโครนัส มีความเร็วรับส่งข้อมูลเร็วกว่า อะซิงโครนัส และไม่มีช่องว่าง
- เหมาะกับอุปกรณ์ความเร็วสูง เช่น การส่งข้อมูลระหว่างคอม










0 comments:

Post a Comment