โปรโตคอลการสื่อสาร ของ MCU Arduino nano
นาย ธีรพัจน์ วัฒนากร ชทค1/1 เลขที่6 64301280006
โปรโตคอลการสื่อสาร ของ MCU Arduino nano
1. ชื่อและหน้าที่ขาต่างๆ ของ MCU Arduino nano
บอร์ด Arduino Nano |
ข้อมูลจำเพาะ
ชิปไอซีไมโครคอนโทรเลอร์ 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 กรัม
-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 บนบอร์ดจะติดสว่าง
I2C ย่อมาจาก Inter-Integrated Circuit คือรูปแบบการสื่อสารข้อมูลอย่างหนึ่งที่สร้างขึ้นมาเพื่อสื่อสารข้อมูลความเร็วต่ำ นิยมใช้กับอุปกรณ์จำพวกไมโครโปรเซสเซอร์ ไมโครคอนโทรเลอร์และอุปกรณ์ต่างๆที่เกี่ยวข้อง I2C ข้อดีของการสื่อสารอนุกรมแบบ I2C คือ สามารถรับ-ส่งข้อมูลได้หลายอุปกรณ์ในบัสเดียวกัน ดังรูป การเชื่อมต่อระบบด้วยการสื่อสารอนุกรมแบบ I2C และใช้สายสัญญาณเพียง 2 เส้นในการรับส่ง-ข้อมูล ทำให้สามารถลดสายสัญญาณที่ใช้ในการเชื่อมต่ออุปกรณ์ลงมาก โดยสายสัญญาณทั้ง 2 เส้นแบ่งเป็น
1.สายข้อมูลแบบอนุกรม (SDL)
2.นาฬิกาข้อมูลอนุกรม (SDC)
เหตุผลที่ I2C สามารถใช้เพียงสองสัญญาณในการสื่อสารกับอุปกรณ์ต่อพ่วงจำนวนหนึ่งคือการสื่อสารกับรถบัส การสื่อสาร I2C แต่ละครั้งจะเริ่มต้นด้วยที่อยู่ 7 บิต (หรือ 10 บิต) ที่เรียกที่อยู่ของอุปกรณ์ต่อพ่วงส่วนที่เหลือของการสื่อสารนั้นหมายถึงการรับการสื่อสาร ซึ่งจะช่วยให้อุปกรณ์หลายตัวบนบัส I2C สามารถเล่นบทบาทของอุปกรณ์หลักตามความต้องการของระบบ เพื่อป้องกันการชนการสื่อสารโปรโตคอล I2C ประกอบด้วยการตัดสินโดยอนุญาโตตุลาการและความสามารถในการตรวจจับการชนซึ่งจะช่วยให้สามารถสื่อสารได้อย่างราบรื่นพร้อมรถบัส
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#
ขนาด 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 ตัวที่รับ
1.สายข้อมูลแบบอนุกรม (SDL)
2.นาฬิกาข้อมูลอนุกรม (SDC)
การเชื่อมต่อระบบด้วยการสื่อสารอนุกรมแบบ I2C |
เหตุผลที่ I2C สามารถใช้เพียงสองสัญญาณในการสื่อสารกับอุปกรณ์ต่อพ่วงจำนวนหนึ่งคือการสื่อสารกับรถบัส การสื่อสาร I2C แต่ละครั้งจะเริ่มต้นด้วยที่อยู่ 7 บิต (หรือ 10 บิต) ที่เรียกที่อยู่ของอุปกรณ์ต่อพ่วงส่วนที่เหลือของการสื่อสารนั้นหมายถึงการรับการสื่อสาร ซึ่งจะช่วยให้อุปกรณ์หลายตัวบนบัส I2C สามารถเล่นบทบาทของอุปกรณ์หลักตามความต้องการของระบบ เพื่อป้องกันการชนการสื่อสารโปรโตคอล I2C ประกอบด้วยการตัดสินโดยอนุญาโตตุลาการและความสามารถในการตรวจจับการชนซึ่งจะช่วยให้สามารถสื่อสารได้อย่างราบรื่นพร้อมรถบัส
4. หลักการทำงานของ โปรโตคอล SPI
การสื่อสารอนุกรมแบบ 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 เพื่อเก็บประจุและจ่ายพลังงานให้กับอุปกรณ์ในช่วงที่สายข้อมูลทำงานอยู่
แหล่งที่มา
ความคิดเห็น
แสดงความคิดเห็น