Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Lab6

Lab6

Published by kowit, 2018-03-27 20:07:35

Description: ใบงานการทดลองที่ 6 การสื่อสารผ่านพอร์ตอนุกรม

Search

Read the Text Version

ใบงานการทดลองที่ 6 การสอ่ื สารผา่ นพอรต์ อนกุ รมวตั ถุประสงค์เชงิ พฤตกิ รรมเพื่อใหน้ กั ศกึ ษาสามารถ 1. เขียนโปรแกรมเพื่อสง่ ข้อมูลแบบ UART ได้อยา่ งถูกตอ้ ง 2. ทดสอบการส่งขอ้ มูลจากไมโครคอนโทรลเลอร์ ไปยงั คอมพวิ เตอรไ์ ดอ้ ยา่ งถกู ต้อง 3. ทดสอบการสง่ ขอ้ มลู แบบ UART โดยใช้ Logic analyzer ไดอ้ ยา่ งถกู ต้องอปุ กรณป์ ระกอบการทดลอง 1 เคร่อื ง 1 บอรด์ 1. คอมพวิ เตอร์ทมี่ ีชอ่ งเสียบ USB 1 บอรด์ 2. บอรด์ Arduino Mega 2560 5 เสน้ 3. บอรด์ One the all 2 เส้น 4. สายเชือ่ มต่อ 1 ชดุ 5. สาย USB type A to USB type B 6. ชดุ Logic Analyzerลงช่ือผู้ทดลอง 1. _____________________________ 2.__________________________________ทฤษฎีทีเ่ กย่ี วขอ้ ง ในการใช้งานการส่งข้อมูล UART หรือ Serial บนไมโครคอนโทรลเลอร์นั้น จาเป็นท่ีจะต้องใช้ระดับแรงดันหรือสัญญาณให้เหมาะสมกับระดับแรงดันของไมโครคอนโทรลเลอร์นั้นคือ ระดับสัญญาณ TTLหรือ LVTTL ซ่ึงลักษณะของสัญญาณแสดงดังรูปใบงานท่ีท่ี 6-1 โดยหากระดับแรงดัน 0-5 V หรือ TTL จะใช้ในไมโครคอนโทรลเลอร์หลายๆ ตระกูล เช่น PIC, MCS-51, AVR เป็นต้น ส่วนแรงดัน LVTTL จะใช้ในไมโครคอนโทรลเลอร์ทใี่ ชแ้ รงไฟ 0-3.3 V เช่นในตระกูล ARM นน่ั เอง หนงั สอื ชุดฝกึ ดา้ นดจิ ิทัล 123

รปู ใบงานที่ 6-1 การเชอ่ื มต่อสายสญั ญาณระหวา่ งเครื่องคอมพิวเตอรก์ บั อุปกรณป์ ลายทาง แต่ในกรณีที่ตอ้ งการใช้งานสัญญาณที่เป็น RS-232 ร่วมกับไมโครคอนโทรลเลอร์ จาเป็นท่ีจะต้องใช้วงจรแปลงดังรปู ใบงานที่ 6-2 ซงึ่ ใช้ MAX232 ในการแปลงลักษณะสัญญาณใหเ้ ป็น TTL รูปใบงานที่ 6-2 การใชง้ าน RS-232 รว่ มกับไมโครคอนโทรลเลอร์ แต่ในกรณีของการสื่อสารระหว่างไมโครคอนโทรลเลอร์ หรืออุปกรณ์ท่ีใช้สัญญาณ TTL หรือ LVTTLในการส่ือสารผ้ใู ชส้ ามารถตอ่ ใช้งานระหวา่ งอปุ กรณ์ไดท้ ันที โดยไม่ตอ้ งผ่านอปุ กรณ์อื่นๆ ดังรูปที่ 7-10 รปู ใบงานที่ 6-3 การสือ่ สารระหวา่ งไมโครคอนโทรลเลอร์ จากรูปเป็นการติดต่อกันระหว่าง MCU 2 ตัว สามารถต่อ Rx -> Tx, Tx -> Rx กันโดยตรงได้เลยเน่ืองจาก ทั้ง 2 ตวั มีระดบั แรงดนั เป็น TTL เหมอื นกันนัน่ เอง124 หนังสือชุดฝกึ ด้านดิจิทลั

การทดลองย่อยท่ี 1 การสง่ ข้อมูล Serial ไปยงั คอมพวิ เตอร์ขนั้ ตอนการทดลอง ในการทดลองน้ี จะเปน็ การทดลองการส่งข้อมูลแบบ Serial ซง่ึ ใชง้ านโมดูล USB to Serial บนบอร์ดทดลองชว่ ยในการแปลงขอ้ มูลเขา้ ยงั คอมพวิ เตอร์ แล้วใชโ้ ปรแกรม X-CTU เพอ่ื ทดลองรบั คา่ มาแสดงผล1.1 เปิดโปรแกรม Arduino IDE แล้วเขยี นโปรแกรมลงบน Arduino โดยพิมพโ์ ปรแกรมลงไปดงั น้ีโปรแกรมการทดลองที่ 6-1 1 2 /* test serial with baud 9600 */ 3 4 void setup(){ 5 Serial.begin(9600); 6 Serial.println(\"Hello Serial\"); 7} 8 void loop(){ 9 10 }1.2 ทาการ Compile แล้ว Upload โปรแกรมลงบน Arduino ดงั รปู ใบงานที่ 6-4 รูปใบงานท่ี 6-4 การเขียนโปรแกรมและการอัพโหลดโปรแกรม หนงั สือชดุ ฝกึ ดา้ นดจิ ทิ ลั 125

1.3 เช่อื มต่อโมดูล USB to Serial เขา้ กับคอมพิวเตอร์ ดังรปู ใบงานที่ 6-5 รูปใบงานท่ี 6-5 ตาแหน่งของโมดูลและการเช่ือมต่อ1.4 เช่ือมต่อสายไปยังโมดูล เพื่อใช้ส่งข้อมูล Serial จากขาD0 (RX0) ไปยังขา TX ของโมดูล และจากขาD1(TX0) ไปยังขา RX ของโมดูล ดังภาพท่ี 7-8 รูปใบงานท่ี 6-6 เชื่อมตอ่ ขา Rx -> Tx และ Tx -> Rx126 หนงั สอื ชุดฝกึ ดา้ นดจิ ิทัล

1.5 ตรวจสอบหมายเลขพอร์ตของ USB to Serial โดยเข้าไปดูท่ี Device Manager โดยดูว่าหมายเลขเป็นหมายเลขใด ซ่งึ จากตัวอยา่ งในภาพที่ 7-9 จะมองเหน็ เป็นพอร์ตชอ่ื ว่า COM13 รปู ใบงานที่ 6-7 การดูหมายเลขพอร์ตของไดรเวอร์ USB to Serial1.6 เปิดโปรแกรม X-CTU (เป็นโปรแกรมท่ีใช้ในการรับค่าจาก Serial Port ได้เช่นเดียวกับ Serial Monitorของ Arduino IDE แต่แนะนาให้ใช้โปรแกรมนี้เพื่อเป็นพ้ืนฐานในการใช้งาน XBee) แล้วเซตค่าต่างๆ โดยจะเลอื ก USB Serial Port (COM13) ซ่ึงจะตอ้ งตรงกบั หมายเลขท่ีดมู าจากรปู ใบงานท่ี 6-8 และเซตคา่ อืน่ ๆ ดงั น้ี เลอื ก COM port ใหต้ รง ในชอ่ ง Select Com Port Baud rate > 9600 Flow Control > NONE Data Bits > 8 Parity > NONE Stop Bit > 1 รปู ใบงานที่ 6-8 การต้ังคา่ เพื่อรบั ค่า Serial บน X-CTU หนังสอื ชุดฝกึ ด้านดิจิทัล 127

1.7 คลิกท่ี Tab Terminal แล้วกดปุ่ม Reset บนไมโครคอนโทรลเลอร์ จะปรากฏข้อความท่ีส่งผ่านการส่ือสารแบบ Serial ซึ่งมาเปน็ ข้อความว่า “Hello Serial” รูปใบงานท่ี 6-9 แสดงการรับข้อมลู จาก Serial บน X-CTU จากการทดลองข้างต้นจะเห็นได้ว่า ในการส่ือสารแบบ Serial ด้วยไมโครคอนโทรลเลอร์นั้นเราแทบจะไม่ต้องเข้าไปศึกษาถึงในส่วนของ Protocol รวมถึงรูปแบบการส่งข้อมูล หรือวิธีการส่งข้อมูลด้วยตนเอง แต่เราให้ไมโครคอนโทรลเลอร์และคอมไพลเลอร์เป็นตัวจดั การส่วนเหล่านั้นให้ จึงทาใหส้ ามารถใช้งานไดง้ ่ายมากยงิ่ ข้นึ1.8 จงแกไ้ ขโปรแกรม ให้สง่ ขอ้ ความเป็น ชอ่ื และนามสกุล โดยให้มาแสดงผลบน Terminal…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………128 หนังสือชุดฝึกดา้ นดิจทิ ัล

การทดลองย่อยที่ 2 การทดสอบและวเิ คราะหส์ ัญญาณแบบ UART โดยใช้ Logic Analyzer จากการทดลองย่อยที่ 1 เป็นการทดลองที่ทดสอบการใช้งาน Serial โดยการให้ไมโครคอนโทรลเลอร์ส่งข้อมูลมาเป็นข้อความ แล้วรับค่าโดยใช้คอมพิวเตอร์ แต่ยังมีวิธีการท่ีใช้ในการรับค่าอีกหน่ึงวิธี ซ่ึงในการทดลองนี้จะเปน็ การนาเอาเครอื่ งมือท่ีชือ่ ว่า Logic Analyzer มาใชใ้ นการตรวจสอบสญั ญาณขน้ั ตอนการทดลอง2.1 เปิดโปรแกรม Arduino IDE แล้วเขียนโปรแกรมลงบน Arduino โดยพมิ พโ์ ปรแกรมลงไปดังน้ีโปรแกรมการทดลองที่ 6-2 1 2 /* test serial with baud 9600 */ 3 4 void setup(){ 5 Serial.begin(9600); 6 Serial.println(\"Hello Serial by Logic Analyzer\"); 7} 8 void loop(){ 9 10 } 112.2 ทาการ Compile แล้ว Upload โปรแกรมลงบน Arduino ดงั รปู ใบงานที่ 6-10 รูปใบงานท่ี 6-10 เขยี นโปรแกรมและอัพโหลดโปรแกรม หนงั สอื ชุดฝกึ ด้านดิจิทัล 129

2.3 ลงโปรแกรมเพ่ือใช้รว่ มกับ Logic Analyzer ให้เรียบรอ้ ย ดังภาพใบงานที่ 6-11 รูปใบงานที่ 6-11 การลงโปรแกรม Logic analyzer2.4 เชื่อมต่อโมดูล Logic Analyzer เข้ากับคอมพิวเตอร์ ดังรูปใบงานท่ี 6-12 แล้วรอให้เครื่องติดต้ังไดรเวอร์ให้เรียบร้อย ซ่ึงเมื่อคอมพิวเตอร์ติดตั้งไดรเวอร์เรียบร้อยแล้ว ตัว Logic Analyzer ก็จะพร้อมใช้งานโดยสามารถตรวจสอบได้โดยการเปิดโปรแกรมที่ได้ติดตั้งไว้ขึ้นมา ด้านบนจะต้องขึ้นคาว่า [Connect] ดังรูปใบงานที่ 6-13 แตห่ ากยงั ไมพ่ รอ้ มใชง้ านโปรแกรมจะขนึ้ คาว่า [Disconnected] รูปใบงานที่ 6-12 การเช่ือมต่อ Logic analyzer เข้ากับคอมพิวเตอร์ รปู ใบงานท่ี 6-13 โปรแกรมที่ติดตั้งเสรจ็ เรียบร้อยแล้ว130 หนงั สอื ชดุ ฝึกดา้ นดิจิทัล

2.5 ต้ังคา่ 1) Sample เปน็ 50M Samples 2) ความถ่ใี นการสุ่ม 60MHz 3) เลือกให้ CH 0 เริม่ การสมุ่ ท่ี ขอบขาขนึ้ดังรูปใบงานท่ี 6-14 5.25.15.3 รูปใบงานที่ 6-14 ตงั้ ค่าสว่ นต่างๆ บนโปรแกรม2.6 เชื่อมต่อโมดูล Logic Analyzer เข้ากับไมโครคอนโทรลเลอร์ โดยเชื่อมต่อ Ground เข้าด้วยกันและเชื่อมต่อสาย CH ที่ 1 เข้ากับขา TX0 ของ Arduino ดังรูปใบงานท่ี 6-15 พร้อมท้ังต่อไฟเลี้ยงวงจรของบอร์ด Arduino ใหเ้ รียบร้อย รปู ใบงานที่ 6-15 เชอื่ มต่อ Logic analyzer เขา้ กบั บอรด์ Arduino หนงั สือชุดฝึกดา้ นดจิ ิทัล 131

2.7 กดปุ่ม Start เพ่ือให้โปรแกรมเร่ิมการตรวจรับสัญญาณโดยจะขึ้นหน้าต่าง ดังรูปใบงานที่ 6-16 ซ่ึงจะรอสัญญาณในขอบขาข้ึน ดังที่ได้ตั้งค่าไว้tyในข้ันตอนที่ 2.5 หลังจากน้ันกดปุ่ม Reset บนไมโครคอนโทรลเลอร์เพ่อื ให้ไมโครคอนโทรลเลอร์ส่งขอ้ มลู Serial ออกมา แล้วโปรแกรมจะเร่มิ การ Sampling ดังรูปใบงานท่ี 6-17ซึ่งเม่อื Sampling เรยี บร้อยแลว้ ก็ปรากฏรูปสญั ญาณดงั รูปใบงานท่ี 6-18 รปู ใบงานท่ี 6-16 หนา้ ตา่ งขณะรอสัญญาณจาก Arduino รูปใบงานที่ 6-17 หน้าตา่ งขณะ Sampling สญั ญาณ132 หนงั สือชดุ ฝึกด้านดจิ ทิ ลั

รูปใบงานท่ี 6-18 สญั ญาณท่ีได้จากการ Sampling2.8 หากต้องการถอดรหัสว่าสัญญาณท่ีส่งมา เป็นข้อความตรงกับท่ีเราส่งมาจากไมโคร หรือไม่ ซ่ึงก็สามารถทาไดโ้ ดยการใช้ function analyzer ซึ่งตอ้ งเขา้ ไปตงั้ ค่าตามรปู ใบงานที่ 6-19 และ 6-21 ดงั น้ี 1) คลกิ ท่ีปมุ่ + ทีแ่ ท็บ Analyzer 2) เลือก Async Serial 1รปู ใบงานท่ี 6-19 การตั้งคา่ ใชง้ านฟังก์ชั่นวิเคราะห์ 2 หนังสอื ชุดฝกึ ด้านดิจทิ ัล 133

2.9 ตั้งค่าต่างๆ ตามรูปใบงานท่ี 6-20 ซ่ึงจะเป็นการตั้งค่า Bit Rate และค่าต่างๆ เกี่ยวกับการสื่อสารแบบSerial เสร็จแล้วกดปุม่ Save รูปใบงานที่ 6-20 รายละเอยี ดการตั้งคา่ ในหนา้ ตา่ ง Analyzer Setting2.10 ตั้งชอื่ Channel 0 โดยจากตัวอย่าง จะตงั้ ช่ือใหส้ อดคลอ้ งกับช่อง Serial นนั่ คอื จะใชช้ ื่อว่า “Serial0”แตผ่ ู้ใช้สามารถต้ังช่ืออื่นๆ ก็ได้ไมม่ ีขอ้ กาหนด แสดงดังรปู ใบงานที่ 6-21 เสรจ็ แล้วกดปมุ่ Rename รปู ใบงานท่ี 6-21 การตัง้ ช่ือชอ่ งสัญญาณ2.11 เม่ือต้ังค่าการวิเคราะห์สัญญาณเรียบร้อยแล้ว ก็จะปรากฏข้อความด้านบนว่าส่งมาเป็นข้อความแบบใดซง่ึ กจ็ ะตรงกับวิธีที่ใชก้ ารตรวจสอบขอ้ มูลดว้ ย X-CTU น่ันเอง ดงั รปู ใบงานท่ี 6-22134 หนงั สือชดุ ฝกึ ด้านดิจทิ ลั

รปู ใบงานที่ 6-22 ลกั ษณะสญั ญาณทใ่ี ช้ฟังก์ชนั่ ถอดรหัสมาเป็นข้อความ2.12 นอกจากน้ีโปรแกรม Logic Analyzer ยังสามารถใช้วิเคราะห์หาคาบเวลา หรือระยะเวลาต่างๆ ได้ เช่นจากตัวอย่างจะเป็นการหาช่วงระยะเวลาตัง้ แต่เริม่ ได้รับสัญญาณ และจนสิ้นสุด ซ่งึ ก็จะทาให้ได้รู้ระยะเวลาในการทางานของโปรแกรมช่วงทีส่ ง่ ข้อมูลออกมาน่ันเอง ซ่ึงสามารถทาไดด้ ังนี้1) คลกิ ทช่ี ่วงเวลาเริ่มต้น T1 2) นาแถบเส้นเวลา T1 มาวางไว้ตรงจุด เรม่ิ ตน้ ที่เราต้องการวดั หนงั สือชดุ ฝึกด้านดิจิทัล 135

3) คลิกท่ีชว่ งเวลาส้นิ สุด T2 4) นาแถบเสน้ เวลา T2 มาวางไว้ตรงจุด สน้ิ สดุ ท่ีเราตอ้ งการวดั เท่านี้ก็จะได้ช่วงเวลา T1-T2 ดังรูปในข้ันตอนที่ 4 ซ่ึงค่าเวลาโดยประมาณคือ 33.776ms น่ันเองแต่จะเหน็ ไดว้ ่าส่วนน้ีเป็นการยกตัวอยา่ งการวิเคราะห์เพียงรูปแบบเดียวเท่านั้น ซึง่ นอกจากนี้ยังสามารถใชก้ ารวเิ คราะห์ในรปู แบบอนื่ ๆ ไดอ้ ีกดว้ ย ไม่ว่าจะแสดงผลเปน็ Binary หรือ HEX เป็นต้น รวมถึงสามารถใชเ้ ป็นสว่ นหน่งึ ในการวเิ คราะห์รปู สญั ญาณรวมไปถึงการวิเคราะห์เวลาท่ีใช้ในการสื่อสารแตล่ ะครั้งไดอ้ ีกดว้ ย2.13 จงหาระยะเวลาในการส่งขอ้ มูลของชอื่ นักศึกษา พรอ้ มทงั้ บอกวิธีมาเป็นขัน้ ตอน…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………สรุปผลการทดลอง………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….………………………………………………………………………………………………………………………………………………………….…………………………………………………………………………………………………………………………………………………136 หนังสอื ชุดฝกึ ด้านดจิ ทิ ลั

คาถามท้ายการทดลอง1. การใชง้ าน Serial บนอาร์ดุยโน มขี ้นั ตอนท่ีสาคัญในการใชง้ านอยา่ งไรบ้าง………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….…………………………………2. หากต้องการใช้งาน Serial พอร์ต มากกว่า 1 ช่อง โดยให้ขา Tx -> D8 และ Rx -> D9 ว่ามีวิธีการอย่างไรจงหาข้อมลู พรอ้ มบอกวิธีการมาอยา่ งละเอยี ด………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… หนงั สอื ชดุ ฝกึ ด้านดจิ ทิ ลั 137

Note………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………...………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………138 หนังสือชุดฝกึ ด้านดิจทิ ัล


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook