[ บทความ : พอร์ตขนานและการเชื่อมต่อด้วย Borland Delphi ] |
จากบทความตอนที่แล้วเราได้รู้จักกับไลบรารีสำหรับเชื่อมต่อพอร์ตอนุกรมด้วย Delphi กันไปแล้ว ตามสัญญาคือ บทความในครั้งนี้จะเป็นเรื่องของการเขียนโปรแกรมกับพอร์ตขนาน พอร์ตขนานหรือ Parallel Port เป็นพอร์ตที่สามารถส่ง/รับข้อมูลได้ครั้งละหลายๆบิต และเป็นพอร์ตมาตรฐานที่มากับเครื่องคอมพิวเตอร์ส่วนบุคคล (Personal Computer) ประโยชน์ของพอร์ตขนานนอกจากใช้สำหรับเชื่อมต่อกับเครื่องพิมพ์แล้ว ยังเป็นช่องทางเชื่อมต่ออีกทางเลือกหนึ่งสำหรับการเชื่อมต่อเครื่อง PC กับอุปกรณ์ภายนอก โดยที่ไม่จำเป็นที่จะต้องมีความรู้ทางด้านฮาร์ดแวร์มากนัก เพราะเราอาศัยเครื่องคอมพิวเตอร์เป็นส่วนประมวลผล การเขียนโปรแกรมจึงเหมือนกับการเขียนโปรแกรมทั่วไป และใช้พอร์ตขนานเป็นส่วนเชื่อมต่อกับวงจรที่เป็นส่วนนำเข้า (input) หรือส่วนส่งออก (output) หน้าที่ที่เหลือก็เป็นเพียงการเขียนโปรแกรมเพิ่มเติมเพื่อทำการรับและส่งข้อมูลกับพอร์ตขนานเท่านั้น มาตรฐานของพอร์ตขนานถูกกำหนดขึ้นในปี ค.ศ. 1994 ภายใต้มาตรฐานที่เรียกกันว่า IEEE 1284 ในมาตรฐานนี้ได้กำหนดโหมดการทำงานของพอร์ตขนานเอาไว้ 5 โหมด คือ 1. Compatibility mode 2. Nibble mode 3. Byte mode 4. EPP mode 5. ECP mode แต่โดยปกติเราจะคุ้นเคยกับชื่อ SPP, EPP และ ECP มากกว่า 5 โหมดข้างต้น โดยโหมด SPP (Standard Parallel Port) จะครอบคลุมการทำงานในโหมด compatibility, nibble และ byte mode ส่วน ECP/EPP นั้นจะเพิ่มเติมการทำงานในเรื่องของความเร็วในการทำงาน แต่ก็ยังสนับสนุนการทำงานของโหมด SPP ด้วยเหตุนี้เราจึงพบบ่อยๆว่า เมื่อใช้อุปกรณ์ต่อพ่วงผ่านทางพอร์ตขนาน ผู้ออกแบบมักระบุว่าควรใช้กับโหมด ECP หรือ EPP เป็นหลัก ทั้งนี้เพราะความเร็วในการทำงานนั้นสูงกว่าโหมดมาตรฐาน (ประมาณ 1-2 MB ต่อวินาที) และสามารถตรวจสอบการทำงานอัตโนมัติโดยที่เราเขียนโปรแกรมส่งข้อมูลเพียงอย่างเดียว โดยเฉพาะ ECP นั้นจะทำงานแบบ DMA (Direct Memory Access) และ FIFO (First in first out) Buffer ทำให้การทำงานไม่ต้องผ่านขั้นตอนการโอนข้อมูลผ่าน CPU เหมือนในโหมดอื่นๆ |
อ่านต่อ
Download
(.PDF: 483KB) |