How to noise reduction for PCB design (part 3/3)

Photo by resources.altium.com  สวัสดีครับ ท่านผู้อ่าน เจอกันอีกครั้งนะครับ บทความชุดนี้จะเป็นภาคต่อสุดท้ายแล้วสำหรับการออกแบบ PCB อย่างไรเพื่อให้งานที่ออกแบบมีสัญญาณรบกวนให้น้อยที่สุด เนื้อหาชุดนี้จะเป็นเรื่องทั่วๆ ไป ที่เราควรระวังในการออกแบบเพื่อลดสัญญาณรบกวน 1. กำหนดค่าเลเยอร์ที่อยู่ติดกันให้แตกต่างกัน (มี Plane คั่นระหว่างชั้นที่เป็น Signal) เมื่อจะจัดการกับสายสัญญาณที่หลากหลายภายในแผงวงจรพิมพ์ มีความจำเป็นต้องพิจารณาว่าควรวางเลเยอร์ที่เป็นสัญญาณไว้ติดกับชั้นใดโดยคำนึงถึงการแพร่กระจายของสัญญาณรบกวน รูปตัวอย่างด้านบนเป็นแผงวงจรพิมพ์ 6 ชั้น โดยชั้นสัญญาณที่ 1 กับ 2 และ 5 กับ 6 จะอยู่ติดกัน ในกรณีดังกล่าวจะเกิดสัญญาณรบกวนสาเหตุมาจาก Crosstalk นี่จึงเพิ่มความเป็นไปได้ที่อุปกรณ์อิเล็กทรอนิกส์อาจจะทำงานผิดปกติ  เมื่อจะจัดการกับสายสัญญาณที่หลากหลายบนแผงวงจรพิมพ์แบบหลายชั้น ตัวอย่างเช่น ในกรณีของแผงวงจรพิมพ์ 6 ชั้น ต้องแน่ใจว่าได้วางชั้น GND plane และ VCC plane ให้อยู่ระหว่างชั้นสัญญาณที่ 1 กับ 3 และ 4 กับ 6 ตามลำดับดังที่อธิบายไว้ข้างต้น ทำให้การออกแบบและผลิตแผงวงจรพิมพ์ช่วยลดผลกระทบจากสัญญาณรบกวน สรุป … Read more

มาลองสร้าง Kernel Module สำหรับ Embedded Linux กัน

(Tux image reference: https://en.wikipedia.org/wiki/File:Tux.png) Embedded Linux คือ? บนระบบฝังตัว (Embedded System) นั้นมีส่วนประกอบใหญ่ๆ อยู่ 2 ส่วน คือ ฮาร์ดแวร์และซอฟต์แวร์ โดยในส่วนของซอฟต์แวร์นั้นก็จะมีระบบปฏิบัติการ (Operating System: OS) ที่เหมือนเป็นตัวกลางระหว่างฮาร์ดแวร์และผู้ใช้งาน โดยระบบปฏิบัติการนั้นจะแตกต่างกันไปตามความสามารถของฮาร์ดแวร์นั่นเอง Embedded Linux เป็นระบบปฏิบัติการแบบหนึ่งที่นิยมใช้ใน Embedded System ที่ออกแบบมาเพื่อทำงานบนอุปกรณ์ฮาร์ดแวร์ที่มีข้อจำกัดในเรื่องของทรัพยากร ทำให้ส่วนการทำงานบางส่วนภายใน Embedded Linux จะหายไปเมื่อเทียบกับ Linux OS ที่ใช้งานบนคอมพิวเตอร์หรือที่ระบบที่มีส่วนการประมวลผลขนาดใหญ่ เช่น C library เป็นต้น  ทำให้เมื่อต้องการสร้างโปรแกรมหรือ Kernel Module นั้นก็ต้องทำการคอมไพล์แบบ cross-compile เช่นเดียวกับระบบปฏิบัติการอื่นๆ ที่ใช้ใน Embedded System Components of an Embedded Linux System https://www.windriver.com/solutions/learning/embedded-linux Kernel … Read more

มาทำความรู้จักกับโพรโทคอล Controller Area Network

CAN หรือ Controller Area Network [1] นั้นเป็นโพรโทคอลสื่อสารที่มีความสำคัญและถูกนำมาใช้ในระบบอิเล็กทรอนิกส์โดยเฉพาะในอุตสาหากรรมยานยนต์รวมไปถึงอุตสาหกรรมต่าง ๆ โพรโทคอลนี้ถูกพัฒนาขึ้นโดยบริษัท Bosch ในช่วงปี ค.ศ. 1980 โดยมีแนวความคิดที่ว่าเพื่อจัดการกับปัญหาความซับซ้อนและปริมาณสายไฟที่จำเป็นในการสื่อสารระหว่างหน่วยควบคุมอิเล็กทรอนิกส์ (ECU) ในรถยนต์ ที่มาของโปรโตคอล CAN bus นั้นเกิดจากความต้องการในการลดน้ำหนัก ลดต้นทุน และลดความซับซ้อนของระบบการเชื่อมต่อด้วยสายไฟแบบจุดต่อจุด (point-to-point) ก่อนหน้านี้การเชื่อมต่ออุปกรณ์ต่าง ๆ ในรถยนต์ใช้สายไฟหลายเส้นในการเชื่อมต่อ ซึ่งสร้างความยุ่งเหยิงและความซับซ้อนในการติดตั้ง การบำรุงรักษา และการขยายตัวของระบบ รูปที่ 1 แสดงตัวอย่างการใช้ CAN bus ในการลดความซับซ้อนของระบบ [2] CAN bus นั้นได้รับการพัฒนาอย่างต่อเนื่องตั้งแต่ที่ได้มีการเปิดตัวโพรโทคอลออย่างเป็นทางการในช่วงปี ค.ศ. 1980 อย่างมีนัยยะสำคัญ ทำให้ในปัจจุบัน CAN นั้นมีหลายรูปแบบให้เลือกใช้ได้อย่างเหมาะสมกับสภาพแวดล้อมอุตสาหากรรมที่แตกต่างกันไป ตัวอย่างเช่น CAN สำหรับรถยนต์ (CAN for Automotive): CAN เวอร์ชันนี้ถูกพัฒนาและปรับแต่งเฉพาะสำหรับใช้ในระบบอิเล็กทรอนิกส์ของรถยนต์ ถือเป็นเวอร์ชันที่นิยมนำมาประยุกต์ใช้กันอย่างแพร่หลายและได้รับการใช้งานอย่างกว้างขวางในอุตสาหกรรมยานยนต์ ความสามารถในการรับส่งข้อมูลความเร็วสูง อีกทั้งยังมีความน่าเชื่อถือสูง … Read more

Tera Term การใช้งานเบื้องต้น และ Setting 5 ข้อ เพื่อป้องกันความผิดพลาดระหว่าง Debug

ประวัติความเป็นมาของ Tera Term Tera term หรือที่เรียกกันสั้นๆว่า TT พัฒนาโดยคุณ Takashi Teranishi ในปี 1994 หลังจากนั้นได้เผยแพร่ให้เป็น freeware และ ได้รับรางวัล Online software grand prize 97 ในปี 1997 ที่จัดโดย Madonomori  คุณ Takashi หยุดพัฒนา Tera Term เวอร์ชั่น 2.3 ในปี 1998 ในขณะนั้นสามารถใช้ได้กับ Windows95 และ Windows NT เท่านั้น  ตั้งแต่ปี 2004  องค์กรนักพัฒนา Tera Term Project เป็นได้เข้ามาพัฒนาต่อ ซึ่งทำให้ Tera Term สามารถรองรับ UTF-8 และ ฟังก์ชั่นการเชื่อมต่อ SSH … Read more

INTRODUCTION TO 10BASE-T1S

บทความที่ผ่านมาเราได้พูดถึงมาตราฐาน 10BASE-T1L (https://ndrsolution.com/2022/05/20/introductio-to-10base-t1l/) ซึ่งจุดเด่นในเรื่องของระยะทางในการสื่อสาร มาวันนี้เรามารู้จักมาตราฐานอีกนึงตัวกันครับ นั้นก็คือ 10BASE-T1S  10BASE-T1S โดยปกติ Ethernet นั้นถ้าเราจะเชื่อมต่อกับอุปกรณ์ลูกข่ายอื่นๆ นั้นจำเป็นต้องมี hub หรือ switch เพื่อใช้เป็นตัวกลางในการเชื่อมต่อ ทั้งนี้ 10BASE-T1L (ที่กล่าวในบทความที่แล้ว) ก็เหมือนกัน ยังจำเป็นต้องใช้ hub หรือ switch ในการเชื่อมต่อ แต่ในกรณีของ 10BASE-T1S นั้นจะพิเศษขึ้นมาอีกหน่อยคือ สามารถต่อสายถึงกันโดยตรงได้เลย นั้นหมายความว่าการใช้งาน 10BASE-T1S นั้น ไม่จำเป็นต้องใช้ hub หรือ switch (ดูได้จากรูปด้านล่าง) เราจึงสามารถนำ 10BASE-T1S มาประยุกต์ใช้งานในระบบที่มีอยู่ได้แทบจะทันที ดังนั้นข้อดีที่เห็นได้ชัดเจนเลยก็คือ กรณีระบบที่ใช้ CAN หรือ RS-485 นั้นถ้าเราต้องการให้ระบบสามารถเชื่อมต่อกับ Ethernet ได้ จำเป็นต้องมีตัวแปลง protocol  ให้เข้ากับ Ethernet ก่อน(ดังรูปด้านล่าง) แต่ในสำหรับ 10BASE-T1S … Read more

How to noise reduction for PCB design (part 1/3)

Photo by resources.altium.com สวัสดีครับ ท่านผู้อ่านทุกท่าน เจอกันอีกแล้วนะครับ สำหรับเนื้อหาในบทความนี้จะกล่าวถึงว่าเราจะทำการออกแบบ PCB อย่างไรเพื่อให้งานเรามีสัญญาณรบกวนให้น้อยที่สุด เพื่อลดปัญหาที่อาจเกิดขึ้นกับงานที่เราตั้งใจออกแบบ โดยผู้เขียนจะแบ่งเนื้อหาออกเป็น 3 ส่วนนะครับ เพื่อให้ได้เนื้อหาครอบคลุมมากที่สุด โดยเนื้อหาที่นำมาเสนอผู้เขียนได้แปลและเรียบเรียงใหม่มาจากบทความจากเว็บของประเทศญี่ปุ่น โดยได้แยกเขียนไว้เป็นข้อๆ เพื่อให้ค้นหาและทำความเข้าใจได้ง่าย โดยในเนื้อหาในบทความนี้จะเป็นส่วนแรก อย่างแรก ก่อนที่จะเข้าไปอ่านเนื้อหาบทความจะขอทำความเข้าใจว่าเนื้อหาหลักส่วนใหญ่ที่กล่าวถึงในนี้ จะเป็นสัญญาณรบกวนที่เกิดจากเส้นลายวงจรที่ใช้ส่งสัญญาณความถี่สูงเป็นหลัก เพราะเส้นสัญญาณความถี่สูงจะเป็นตัวสร้างสัญญาณรบกวนให้กับสิ่งที่อยู่รอบๆได้มาก ดังนั้นจึงขอทำความเข้าใจเพื่อทำให้ผู้อ่านได้เข้าใจวัตถุประสงค์และนำไปปรับใช้กับงานออกแบบของท่านให้ได้เกิดประโยชน์กับท่านมากที่สุด ถ้าพร้อมแล้วไปเริ่มกันเลยครับ 1. หลีกเลี่ยงการเดินเส้นลายวงจรแบบมุมฉาก เมื่อออกแบบแผงวงจรพิมพ์ เช่น วงจรส่งสัญญาณความเร็วสูง หากการเดินเส้นลายวงจรมีเป็นแบบมุมฉาก สัญญาณรบกวนก็อาจเกิดขึ้นได้ เหตุผลก็คือความกว้างของเส้นส่วนที่เป็นมุมฉากนั้นกว้างกว่าในส่วนที่เป็นเส้นตรง ดังนั้นค่าอิมพีแดนซ์จึงเปลี่ยนไปตามความกว้างของเส้นที่ไม่เท่ากันและส่งผลให้มีแนวโน้มเกิดสัญญาณรบกวนขึ้นได้นั่นเอง เมื่อออกแบบแผงวงจรพิมพ์ ขอแนะนำให้ทำเส้นลายวงจรให้เป็นเส้นตรงที่สุดหรือเส้นไม่เอียง แต่ถ้าจำเป็นต้องทำโค้งงอจริงๆ ให้ทำเป็น 45 องศาตามรูป แทนที่จะทำเป็นมุมฉาก การทำเช่นนี้ในเส้นที่ส่งความเร็วสูง การเปลี่ยนแปลงความกว้างของรูปแบบเส้นจะมีขนาดต่างกันเพียงเล็กน้อยเมื่อเทียบกับการเดินเส้นแบบมุมฉาก ดังนั้นผลกระทบของค่าอิมพีแดนซ์จึงมีน้อย ด้วยเหตุนี้ การออกแบบแผงวงจรพิมพ์ลักษณะแบบนี้จึงมีโอกาสเกิดสัญญาณรบกวนได้น้อย สรุป เมื่อออกแบบแผงวงจรพิมพ์สำหรับเส้นที่ส่งความเร็วสูง จำเป็นต้องใส่ใจกับการเปลี่ยนแปลงค่าอิมพีแดนซ์เนื่องมาจากการเปลี่ยนแปลงความกว้างของเส้นลายวงจร แทนที่จะทำเส้นเป็นมุมฉาก ควรทำเส้นเป็น 45 องศา จะลดการเปลี่ยนแปลงความกว้างของเส้นได้ เป็นผลให้สามารถลดการสร้างสัญญาณรบกวนที่มาจากการเปลี่ยนแปลงค่าอิมพีแดนซ์ในเส้นลายวงจร อ้างอิง … Read more