มาทำความรู้จัก RS-485 กันเถอะ

RS-485 หรือที่รู้จักในชื่อ TIA-485(-A) หรือ EIA-485 เป็นมาตรฐานการสื่อสารแบบดิจิทัลที่ใช้งานกันอย่างแพร่หลายในงานอุตสาหกรรม โดยการสื่อสารสามารถ รับ/ส่ง ได้ในระยะทางที่ไกลถึง 1200 เมตร Data rate ก็มากถึง 50Mbps และเชื่อมต่อกันได้หลายตัวด้วยการต่ออนุกรมกันตั้งแต่ 2 ตัวไปจนถึงหลัก 256 ตัว หรือมากกว่านั้นแล้วแต่คุณสมบัติของ IC และระบบ สามารถ Support ระบบไฟเลี้ยงได้ทั้ง 5V และ 3.3V การสื่อสาร RS-485 ไม่ใช่ Protocol จึงมีการนำ Protocol มาใช้งานบนการสื่อสาร RS-485 เช่น Modbus เป็นต้น รูปข้างล่างคือกราฟเปรียบเทียบความยาวสายเคเบิล vs Data rate กับมาตรฐานการสื่อสารอื่นๆ Network Topology การเชื่อมต่อ RS-485 นั้นมีหลากหลายแบบ แต่ละแบบก็มีข้อดีข้อเสีย ควรเลือกใช้งานตามความเหมาะสม แต่จะแนะนำให้ต่อแบบ Daisy chain … Read More

Basic Thermal Resistance (EP.2)

Junction Temperature ในปัจจุบันเทคโนโลยีการผลิตชิพ IC ต่างๆนั้นมีการพัฒนาอย่างต่อเนื่องทำให้ผลิตภัณฑ์ชิพที่ออกมามีคุณสมบัติการใช้งานเพิ่มขึ้นแต่ในขณะเดียวกันตัวชิพกลับมาขนาดเล็กลง ซึงทำให้ชิ้นส่วน Semiconductor เหล่านี้เผชิญกับปัญหาด้านความร้อนในระหว่างการทำงาน ดังนั้นการออกแบบจึงต้องคำนึงถึงอุณหภูมิย่านการทำงานที่ยอมรับได้หรือที่เรียกว่า Junction Temperature (TJ) หากอุณหภูมิขณะการทำงานของตัว IC เกินกว่าค่า TJ จะส่งผลเสียหลายๆด้านต่อตัว IC เช่น ยังสามารถทำงานได้แต่อายุการใช้งานสั้นลง, อาจเกิดความเสียหายขณะใช้งาน และใน IC บางชนิดจำพวก MCU อาจมีการปิดการใช้งานเพื่อป้องกันความเสียหายกับตัว IC  โดยทั้งนี้ Thermal resistance จะมีความสำคัญในการคำนวนหาอุณหภูมิย่านการทำงาน (TJ) ข้างต้น หน่วยวัดความร้อนทั่วไปที่ใช้สำหรับการคำนวน Junction Temperature หน่วยวัดความร้อนที่มักใช้เป็นประจำนั้นได้แก่ Thermal Resistance และ thermal characterization parameter แต่จะมีแบ่งแยกย่อยออกมาดังตัวอย่างข้อมูลค่าหน่วยความร้อนของชิพ LMR14030 ในตารางด้านล่าง ตัวแปร Thermal Resistance เช่น RθJA และ RθJC เป็นตัวแปรที่มักถูกใช้มากที่สุดในหน่วยวัดอุณภูมิซึ่งจะพบเห็นได้ในเอกสารข้อมูล Specification … Read More

Stack กับ Heap คืออะไรกันนะ?

ในการเขียนโค้ดในภาษาใดก็ตาม ไม่ว่าจะเป็น C, Python หรือภาษาอื่น ๆ แทบจะทุกภาษาล้วนจะต้องมีการประกาศตัวแปรชนิดต่าง ๆ เช่น int double หรือพวกตัวแปรที่มีความซับซ้อนมากขึ้นมาอย่าง array หรือ struct รวมถึงการจองพื้นที่ไว้ส่วนหนึ่งเพื่อเอาไว้เก็บค่าบางอย่างเพื่อใช้ในโปรแกรม โดยปกติแล้ว เมื่อประกาศตัวแปร พื้นที่ภายในหน่วยความจำจะถูกจองเอาไว้ใช้สำหรับตัวแปรที่เราประกาศ หรือพื้นที่ที่เราจองไว้ แต่ว่าพื้นที่ภายในหน่วยความจำพวกนี้ถูกจองอยู่ตรงไหนของระบบ แล้วถูกจองด้วยวิธีแบบไหนกันนะ? มาทำความรู้จักส่วนประกอบภายในหน่วยความจำกันเล็กน้อยค่ะ ภายในหนึ่งโปรแกรมจะมีการจองพื้นที่หนึ่ง ๆ ไว้สำหรับใช้งานภายในโปรแกรม โดยพื้นที่ตรงนี้จะมีโครงสร้างตามรูปด้างล่างนี้ค่ะ Process Memory Layout สำหรับภาษา C   รูปนี้จะจำลองตัว Process Memory Layout ที่ใช้กันภายในภาษา C และ C++ ค่ะ ในภาษาอื่นๆ อาจจะแตกต่างกันเล็กน้อย ภายใน Process Memory Layout จะแบ่งออกเป็นสองส่วนหลักๆ คือ Static Memory Layout โดยในส่วนนี้จะใช้ในการเก็บโค้ดที่มีการแปลงเป็น Machine … Read More