โปรโตคอลการสื่อสาร ของ MCU Arduino nano

 นาย ธีรพัจน์ วัฒนากร ชทค1/1 เลขที่6    64301280006

โปรโตคอลการสื่อสาร ของ MCU Arduino nano

1. ชื่อและหน้าที่ขาต่างๆ ของ  MCU Arduino nano 

บอร์ด Arduino Nano

    บอร์ด Arduino Nano ออกแบบมาให้มีขนาดเล็ก และใช้กับงานทั่วๆไป ใช้ชิปไอซีไมโครคอนโทรเลอร์เบอร์ ATmega168 หรือเบอร์ ATmega328 (มีรุ่น 2.3 กับ 3 ตอนซื้อต้องเช็คดีๆก่อน) โปรแกรมผ่านโปรโตคอล UART มีชิปUSB to UART มาให้ ใช้ Mini USB เชื่อมต่อกับคอมพิวเตอร์ มีพอร์ตดิจิตอลอินพุตเอาต์พุต 14 พอร์ต มีพอร์ตอนาล็อกอินพุต 8 พอร์ต บนบอร์ดยังมีเรกกูเลเตอร์ สามารถจ่ายไฟได้ตั้งแต่ 7 – 12V เพื่อให้บอร์ดทำงานได้ (จ่ายไฟที่ขา VIN)กรณีมีแหล่งจ่ายไฟ 5V อยู่แล้วก็จ่ายเข้าได้เลยที่ขา 5V



    ข้อมูลจำเพาะ
    ชิปไอซีไมโครคอนโทรเลอร์                               ATmega168 หรือ ATmega328
    ใช้แรงดันไฟฟ้า                                                   5V
    รองรับการจ่ายแรงดันไฟฟ้า (ที่แนะนำ)             7 – 12V
    รองรับการจ่ายแรงดันไฟฟ้า (ที่จำกัด)               6 – 20V
    พอร์ต Digital I/O                                             14 พอร์ต (มี 6 พอร์ต PWM output)
    พอร์ต Analog Input                                         6 พอร์ต
    กระแสไฟที่จ่ายได้ในแต่ละพอร์ต                      40mA
    กระแสไปที่จ่ายได้ในพอร์ต                                3.3V 50mA
    พื้นที่โปรแกรมภายใน                                       16KB หรือ 32KB พื้นที่โปรแกรม, 500B ใช้โดยBooloader
    พื้นที่แรม                                                            1 หรือ 2KB
    พื้นที่หน่วยความจำถาวร (EEPROM)               512B หรือ 1KB
    ความถี่คริสตัล                                                   16MHz
    ขนาด                                                                 45x18 mm
    น้ำหนัก                                                              5 กรัม

    ขาใช้งานของ Arduino NANO

    -Serial/URAT: 0 (RX) and 1 (TX). ใช้สำหรับรับส่งข้อมูลผ่านSerial

    -External Interrupts: 2 และ 3. ใช้รับสัญญาณ Interrupt โดยอาจใช้Arduino รับค่าจาก Encoder หรืออุปกรณ์อื่นๆ

    -PWM: 3, 5, 6, 9, 10, และ 11. สามารถส่ง 8-bit PWM output ออกไปได้สามารถใช้ควบคุมองศาของServo หรือควบคุมความเร็ว Motor ได้

    -SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). ใช้สำหรับการสื่อสารแบบSPI (4สาย) อาจเป็น Sensor วัดความเอียงหรือ เข็มทิศอิเล็กทรอนิกส์

    -LED: 13. ขาที่ 13 นี้จะเชื่อมต่ออยู่กับหลอด LED บนบอร์ด โดยหากเราสั่งให้ขา 13 ทำงาน ไฟLED บนบอร์ดจะติดสว่าง



2. หลักการทำงานของโปรโตคอล UART
    UART หรือชื่อเต็ม Universal Asynchronous Receiver and Transmitter เป็นการสื่อสารข้อมูลผ่านพอร์ตอนุกรมแบบอะซิงโครนัส (asynchronous serial communication) ระหว่างอุปกรณ์ต่าง ๆ ซึ่งนิยมใช้เป็นการสื่อสารระหว่างไมโครคอนโทรลเลอร์ด้วยกัน การทำงานแบบอะซิงโครนัสหมายความว่าจะไม่มีสัญญาณนาฬิกา (clock signal) ส่งออกมาจากตัวส่งหรือตัวรับเพื่อกำหนดจังหวะการรับส่งข้อมูล แต่จะกำหนดผ่านโดยการตั้งความเร็วในการรับส่งข้อมูลของอุปกรณ์ดังกล่าวแทน

    หลักการทำงานคือ จะมี UART 2 ตัว สื่อสารโดยตรงกัน การส่งสัญญาณ UART จะแปลงข้อมูลแบบขนานจากอุปกรณ์ควบคุมเช่น CPU ไปเป็นรูปแบบอนุกรมส่งไปเป็นแบบอนุกรมไปยัง UART ที่ได้รับ จากนั้นจะแปลงข้อมูลอนุกรมกลับไปเป็นข้อมูลแบบขนานสำหรับอุปกรณ์ที่ได้รับ ต้องใช้สายสองเส้นไคว้กันเท่านั้นในการส่งข้อมูลระหว่างสอง UART ข้อมูลไหลจากพิน Tx ของ UART ที่ส่งไปยัง Rx pin ของ UART ตัวที่รับ


การส่งข้อมูลระหว่างสอง UART



3. หลักการทำงานของโปรโตคอล I2C

    I2C ย่อมาจาก Inter-Integrated Circuit คือรูปแบบการสื่อสารข้อมูลอย่างหนึ่งที่สร้างขึ้นมาเพื่อสื่อสารข้อมูลความเร็วต่ำ นิยมใช้กับอุปกรณ์จำพวกไมโครโปรเซสเซอร์ ไมโครคอนโทรเลอร์และอุปกรณ์ต่างๆที่เกี่ยวข้อง I2C ข้อดีของการสื่อสารอนุกรมแบบ I2C คือ สามารถรับ-ส่งข้อมูลได้หลายอุปกรณ์ในบัสเดียวกัน ดังรูป การเชื่อมต่อระบบด้วยการสื่อสารอนุกรมแบบ I2C และใช้สายสัญญาณเพียง 2 เส้นในการรับส่ง-ข้อมูล ทำให้สามารถลดสายสัญญาณที่ใช้ในการเชื่อมต่ออุปกรณ์ลงมาก โดยสายสัญญาณทั้ง 2 เส้นแบ่งเป็น
    1.สายข้อมูลแบบอนุกรม (SDL)
    2.นาฬิกาข้อมูลอนุกรม (SDC)

การเชื่อมต่อระบบด้วยการสื่อสารอนุกรมแบบ I2C



    เหตุผลที่ I2C สามารถใช้เพียงสองสัญญาณในการสื่อสารกับอุปกรณ์ต่อพ่วงจำนวนหนึ่งคือการสื่อสารกับรถบัส การสื่อสาร I2C แต่ละครั้งจะเริ่มต้นด้วยที่อยู่ 7 บิต (หรือ 10 บิต) ที่เรียกที่อยู่ของอุปกรณ์ต่อพ่วงส่วนที่เหลือของการสื่อสารนั้นหมายถึงการรับการสื่อสาร ซึ่งจะช่วยให้อุปกรณ์หลายตัวบนบัส I2C สามารถเล่นบทบาทของอุปกรณ์หลักตามความต้องการของระบบ เพื่อป้องกันการชนการสื่อสารโปรโตคอล I2C ประกอบด้วยการตัดสินโดยอนุญาโตตุลาการและความสามารถในการตรวจจับการชนซึ่งจะช่วยให้สามารถสื่อสารได้อย่างราบรื่นพร้อมรถบัส


4. หลักการทำงานของ โปรโตคอล SPI 

    SPI ย่อมาจาก Serial Peripheral Interface คือรูปของแบบการสื่อสารข้อมูลแบบอนุกรมแบบซิงโครนัสรูปแบบหนึ่ง ถูกพัฒนาขึ้นมาโดยโมโตโรล่าในกลางปี ค.ศ. 1980 เพื่อใช้ในการการสื่อสารระยะใกล้โดยเฉพาะในระบบสมองกลฝังตัว การสื่อสารอนุกรมแบบ SPI จะอาศัยสัญญาณนาฬิกาเป็นตัวกำหนดจังหวะการรับส่งข้อมูล สามารถส่งข้อมูลไปยังปลายทางและรับข้อมูลจากปลายทางกลับมาในครั้งเดียวกัน (Full Duplex) การสื่อสารอนุกรมแบบ SPI จะแบ่งอุปกรณ์ออกเป็น 2 ฝั่ง คือ Master เป็นตัวควบคุมการรับส่งข้อมูล และ Slave เป็นอุปกรณ์ที่รอรับคำสั่งจาก Master ในบัสการสื่อสารแบบอนุกรมแบบ SPI สามารถมี Slave มีได้มากกว่า 1 ตัว


    การสื่อสารอนุกรมแบบ SPI ใช้สายสัญญาณทั้งหมดจำนวน 4 เส้น มีรายละเอียดดังนี้

– SCK (Clock Data) ใช้สำหรับส่งสัญญาณนาฬิกาจาก Master ไปยัง Slave          Shared

– MISO (Master In Slave Out) ใช้สำหรับรับข้อมูลจาก Slave          Shared

– MOSI (Master Out Slave In) ใช้สำหรับส่งข้อมูลจาก Master ไปยัง Slave          Shared

– SS/CS (Slave Select/Chip Select) ใช้สำหรับเลือก Slave ที่ต้องการใช้งาน          Not Shared




    สำหรับอุปกรณ์ที่ใช้การสื่อสารอนุกรมแบบ SPI บางชนิดอาจมีชื่อเรียกแตกต่างกันไป ตัวอย่างเช่น

– Serial Clock

    * SCLK : SCK

– Master Output Slave Input
    
    * SIMO, MTSR
    * SDI, DI, DIN, SI – on Slave devices
    * SDO, DO, DOUT,SO – on Master devices

– Master Input Slave Output

    * SOMI, MRST
    * SDO, DO, DOUT, SO – on Slave devices
    * SDI, DI, DIN, SI – on Master devices

– Slave Select

    * SS, S̅S̅, SSEL, CS, C̅S̅, CE, nSS, /SS, SS#

การเชื่อมต่อระบบด้วยการสื่อสารอนุกรมแบบ SPI แบบ Slave เดียว

การเชื่อมต่อระบบด้วยการสื่อสารอนุกรมแบบ SPI แบบหลาย Slave



5. หลักการทำงานของ โปรโตคอล  ONE WIRE

    1-Wireคือการสื่อสารอุปกรณ์ระบบบัสรับการออกแบบโดยดัลลัสเซมิคอนดักเตอร์คอร์ปที่ให้ (16.3 กิโลบิต / วินาทีความเร็วต่ำ[1] ) ข้อมูลการส่งสัญญาณและมีอำนาจเหนือคนเดียวตัวนำ

    1-Wire มีแนวคิดคล้ายกับI²Cแต่มีอัตราข้อมูลที่ต่ำกว่าและมีช่วงที่ยาวกว่า โดยทั่วไปจะใช้เพื่อสื่อสารกับอุปกรณ์ขนาดเล็กราคาไม่แพงเช่นเครื่องวัดอุณหภูมิดิจิตอลและเครื่องมือวัดสภาพอากาศ เครือข่ายของอุปกรณ์สาย 1 กับอุปกรณ์หลักที่เกี่ยวข้องเรียกว่าMicroLAN

    คุณลักษณะที่โดดเด่นอย่างหนึ่งของบัสคือความเป็นไปได้ในการใช้สายไฟเพียงสองสาย - ข้อมูลและกราวด์ เพื่อให้บรรลุเป้าหมายนี้อุปกรณ์ 1-Wire จะมีตัวเก็บประจุ 800 pF เพื่อเก็บประจุและจ่ายพลังงานให้กับอุปกรณ์ในช่วงที่สายข้อมูลทำงานอยู่



แหล่งที่มา
2.https://www.cybertice.com/article

ความคิดเห็น