สําหรับผู้ที่เริ่มต้นศึกษา Microcontroller จะต้องรู้จักและเข้าใจในเรื่องของการสื่อสารแบบ Serial เนื่องจากเป็นรูปแบบการสื่อสารที่นิยมใช้เพื่อสื่อสารกันระหว่าง Microcontroller กับคอมพอวเตอร์, RFID, RTC, GSM ฯลฯ
การสื่อสารแบบ Serail มีด้วยกันหลายรูปแบบเช่น TTL, UART, RS232 ในแต่ละแบบ ก็มีวิธีการใช้งาน และการทํางานที่แตกต่างกันไปดังนี้
TTL คืออะไร
TTL (Transistor-Transistor Logic) เป็นการสื่อสารในยุคแรกๆ และใช้มาจนถึงปัจจุบัน ส่วนมาจะใช้สื่อสารกันระหว่าง IC และ MCU ซึ่งจะใช้ระดับแรงดัน 0-5 V แต่ในบัจจุบันมีอุกปรณ์บางตัวที่ใช้แรงดันที่ 0-3.3 V เรียกแรงดันระดับนี้ว่า LVTTL ก่อนจะใช้งานควรศึกษา Datasheet ก่อนว่าใช้ระดังแรงดันที่เท่าไร
UART คืออะไร
UART (Universal Asynchronous Receiver Transmitter) คืออุปกรณ์ที่ทำหน้าที่รับและส่งข้อมูลแบบอะซิงโครนัส (Asynchronous ) ซึ่งเป็นส่วนหนึ่งในการสื่อสารอนุกรม การสื่อสารแบบอนุกรมแบ่งออกเป็นสองประเภทดังนี้
1.การสื่อสารอนุกรมแบบ Synchronous
เป็นการสื่อการที่มีสัญญาน Clock มาเป็นตัวกําหนดจังหวะการส่งข้อมูล ทําให้การสื่อสารแบบนี้รับส่งข้อมูลค่อนข้างมีคุณภาพ และส่งได้ที่ความเร็วสูง มีโอกาสที่ข้อมูลจะสูญหายระหว่างการส่งน้อย ตัวอย่างการส่งข้อมูลลักษณะนี้เช่น I2S, SPI, I2C ข้อเสียของการส่งข้อมูลแบบนี้คือ ต้องใช้สายสัญญาณมาก เพราะว่าต้องส่ง Clock ไปด้วย
2.การสื่อสารอนุกรมแบบ Asynchronous
เป็นรูปแบบการสื่อสารแบบที่ไม่ต้องใช้สัญญาน Clock ในการควบคุมจังหวะ แต่จะใช้วิธีกําหนดรูปแบบของข้อมูลขึ้นมาแทน และกําหนดความเร็วของการรับส่งข้อมูลขึ้นมาทั้งฝันรับ และฝั่งส่ง ข้อดีของการใช้ Asynchronous คือสามารถสื่อสารแบบ Full Duplex รับ และ ส่งได้ในเวลาเดียวกัน แต่ Asynchronous มีโอกาสที่ข้อมูลจะสูญหายขณะรับส่งข้อมูล หรือ รับส่งข้อมูลผิดพลาดได้มากกว่าแบบ Synchronous สรุปได้ดังนี้ UART (Universal Asynchronous Receiver Transmitter) หมายถึง รูปแบบการส่งข้อมูล ที่ถูกกำหนดขึ้นมาเพื่อใช้รับส่งข้อมูลแบบ Asynchronous โดยมีรูปแบบดังนี้
การทํางานจะเริ่มต้นจาก Start Bit เป็น Logic 0 จากนั้นจะตามด้วย Data ที่เราส่ง แล้วจะถูกปิดด้วย STOP Bit เป็น Logic 1
RS232 คืออะไร
RS232 คือการสื่อสารข้อมูลแบบ Serial ที่ถูกสร้างขึ้นมาเพื่อเพิ่มความยาวของสายสําหรับส่งข้อมูลให้ไกลมากขึ้น โดยมีการเปลี่ยนระดับแรงดัน ของ Logic จากเดิมที่จะอยู่ในช่วง 0-5 V หรือ 0-3.3 V เป็นช่วง -15 ถึง 15 V โดยมีรายละเอียดดังนี้
- Logic 0 ของ RS232 จะอยู่ในช่วง 3 ถึง 15V
- Logic 1 ของ RS232 จะอยู่ในช่วง -3 ถึง -15V
จะเห็นว่าทั้งสองรูปมี Data ที่เหมือนกันแต่จะต่างกันที่ ระดับแรงดันเท่านั้น
ถ้าเราต้องการจะแปลงสัญญานจาก TTL เป็น RS232 สามารถใช้ IC เบอร์ MAX232 แปลงได้เลยครับ
ที่มาของข้อมูลและรูปภาพ thaieasyelec.com