ความรู้เบื้องต้นเกี่ยวกับ ATtiny85 และ การใช้งานขาต่างๆ
ในบทความนี้จะกล่าวถึงทุกสิ่งที่เกี่ยวข้องกับ ATtiny85, pinout, คำอธิบายพิน, คุณสมบัติหลัก, บล็อกไดอะแกรมและการนำไปใช้งาน ของโมดูลนี้และสิ่งที่คุณจำเป็นต้องรู้
Attiny85 มันเป็นหมวดหมู่ของไมโครคอนโทรลเลอร์ซึ่งเหมือนกับบอร์ด Arduino แต่มีความแตกต่างบางอย่างที่มีจำนวนอินพุตและเอาต์พุต pinout หน่วยความจำขนาดน้อยกว่า โมดูลนี้มีให้ในรูปแบบของไอซี (IC) หรือ อินทิเกรตเทด เซอคิท (Integrated Circuit) แทนบอร์ด หากให้พลังงานที่เหมาะสมกับมันสามารถใช้เป็นชิปเปล่าบนเบรดบอร์ด (Breadboard) ได้
โมดูลนี้มาพร้อมกับการเชื่อมต่อบัสอนุกรมสากลเช่นพอร์ต USB ที่สมบูรณ์เช่น Digistump หรือ micro USB เนื่องจากมีขนาดที่เล็กจึงสามารถเชื่อมต่อได้หลายวิธี ในบทความนี้เราจะมาดูรายละเอียดเกี่ยวกับการใช้งานขาต่างๆ การนำไปใช้งาน ดังนั้นเริ่มต้นด้วย ความรู้เบื้องต้นเกี่ยวกับ ATtiny85
ความรู้เบื้องต้นเกี่ยวกับ ATtiny85
- ATtiny85 เป็นไมโครคอนโทรลเลอร์ AVR 8 บิตที่มาพร้อมกับอินเตอร์เฟส 8 ขาและส่วนใหญ่ใช้ในระบบอัตโนมัติและแบบจำลอง Arduino
- ซีพียูใช้สถาปัตยกรรม RISC และส่วนใหญ่เรียกว่าคอนโทรลเลอร์พลังงานต่ำซึ่งเหมาะสำหรับแอปพลิเคชันแบบเรียลไทม์ที่สามารถใช้พลังงานต่ำสุดได้
- หน่วยความจำของโปรแกรมคือ 8KB ในขณะที่ EEPROM และ RAM มีพื้นที่หน่วยความจำประมาณ 512 ไบต์ พื้นที่หน่วยความจำเหล่านี้มีประโยชน์มากสำหรับการจัดเก็บจำนวนโค้ดคำสั่ง
- โมดูลนี้มาพร้อมกับพอร์ตเดียวที่เรียกว่าพอร์ต B ซึ่งเป็นพอร์ตสองทิศทางและมี 6 ขาที่เป็น อินพุท/เอาท์พุท พร้อมตัวต้านทานแบบ internal pull-up บัฟเฟอร์เอาต์พุตบน PORTB ได้รับการออกแบบด้วยลักษณะของไดรฟ์แบบสมมาตรที่มาพร้อมกับ both high sink และขีดความสามารถที่สูง
- interrupts ภายนอกและภายในพร้อมใช้งานบนบอร์ดในขณะที่การ registers วัตถุประสงค์ทั่วไป 32 รายการรวมอยู่ในอุปกรณ์ที่ส่วนใหญ่เรียกว่า data holding spaces
- ตัวจับเวลา 8 บิตสองตัวถูกเพิ่มเข้ามาในอุปกรณ์ที่หนึ่งตัวจับเวลามาพร้อมกับโหมดเปรียบเทียบและสามารถใช้ทั้งสองวิธีเช่นตัวจับเวลาและตัวนับในขณะที่ตัวจับเวลาอื่น ๆ เป็นตัวจับเวลา / ตัวนับความเร็วสูง
- โมดูลนี้มาพร้อมกับโหมดประหยัดพลังงานเป็นทางเลือกซอฟต์แวร์ที่มีประโยชน์มากสำหรับแอปพลิเคชันที่ทำงานด้วยพลังงานขั้นต่ำ
- โมดูลนี้มาพร้อมกับตัวแปลง ADC ขนาด 10 บิตซึ่งประกอบด้วย 4 ช่องสัญญาณอนาล็อกที่ช่วยในการเชื่อมต่อเซ็นเซอร์และแปลงสัญญาณอนาล็อกเป็นสัญญาณดิจิตอล
- ชิพเล็ก ๆ นี้มีอยู่ในสี่แพ็คเกจที่เรียกว่า PDIP, SOIC, TSSOP และ QFN โดยที่สามตัวแรกนั้นมาพร้อมกับอินเตอร์เฟส 8 ขาในขณะที่อันสุดท้ายมี 20 ขา
- การสื่อสารแบบดิจิตอลเช่น I2C และ SPI สามารถใช้งานได้ง่ายโดยใช้โมดูลนี้ที่ช่วยในการพัฒนาการสื่อสารกับอุปกรณ์ภายนอก
- แรงดันไฟฟ้าของโมดูลนี้คือ 2.7 โวลต์ถึง 5.5 โวลต์
1. คุณสมบัติ ATtiny85
ATtiny85 Features | |
---|---|
No. of Pins | 8 |
CPU | RISC 8-Bit AVR |
Operating Voltage | 1.8 to 5.5 V |
Program Memory | 8K |
Program Memory Type | Flash |
RAM | 512 Bytes |
EEPROM | 512 Bytes |
ADCNumber of ADC Channels | 10-Bit4 |
Comparator | 1 |
Packages | PDIP (8-Pin)SOIC (8-Pin)TSSOP (8-Pin)QFN/MLF (20-Pin) |
Oscillator | up to 20 MHz |
Timer (2) | 8-Bit Timers |
Enhanced Power on Reset | Yes |
Power Up Timer | Yes |
I/O Pins | 6 |
Manufacturer | Microchip |
SPI | Yes |
I2C | Yes |
Watchdog Timer | Yes |
Brown out detect (BOD) | Yes |
Reset | Yes |
USI (Universal Serial Interface) | Yes |
Minimum Operating Temperature | -40 C |
Maximum Operating Temperature | 125 C |
2. ATtin85 Pinout และคำอธิบาย
จนถึงตอนนี้คุณได้รับข้อมูลพื้นฐานและคุณสมบัติที่ครบถ้วนของ ATtiny85 แล้ว ในส่วนนี้เราจะพูดถึงการใช้งานขาของโมดูลและคำอธิบาย
Pinout
PB5 (PCINT5 / ADC0 / dW)
- ขา 5 ของ PORTB และใช้ในการเปลี่ยนขาอินเตอร์รัปต์ที่ใช้เป็นการรีเซ็ตขาอะนาล็อก เป็นตัวแปลงสัญญาณดิจิตอล ADC0 และการดีบั๊กที่อินพุตและเอาต์พุต
PB3 (PCINT3 / XTAL1 / CLKI / ADC3)
- ขา 3 ของพอร์ต B และเป็นอินพุตใช้เป็นการเชื่อมต่อระหว่างออสซิลเลเตอร์เปลี่ยน crustal เพื่อเชื่อมต่อนาฬิกาภายนอกและ แปลงสัญญาณอนาล็อกเป็นสัญญาณดิจิตอล ADC3
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2)
- ขา 4 ของพอร์ต B ที่ใช้เป็นพินอินเตอร์รัปต์ การเชื่อมต่อของออสซิลเลเตอร์คริสตัลให้เอาต์พุตของนาฬิกาของระบบการเชื่อมต่อตัวจับเวลาและแปลงสัญญาณอนาล็อกเป็นสัญญาณดิจิตอล ADC2
GND
- ขา ground
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0)
- ขา 0 ของพอร์ต B ที่ใช้เป็นการเชื่อมต่อของ SPI USI data input 2 และ 3 wire wire, analog comparator, timer, AREF และ pinout ขัดจังหวะ
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1)
ขา 1 ของพอร์ต B และใช้เป็น MISO เป็นเอาต์พุตตัวเปรียบเทียบแบบอะนาล็อกตัวจับเวลาเป็นอินเทอร์รัปต์
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2)
ขา 2 ของพอร์ต B และใช้เป็นอินพุตนาฬิกาอนุกรม, ตัวจับเวลานาฬิกา USI, การขัดจังหวะภายนอก
vcc
ขาไฟ + 2.7 โวลต์ถึง 5.5 โวลต์
Pin Description
ตารางต่อไปนี้แสดงคำอธิบายพินที่จะช่วยให้คุณเข้าใจฟังก์ชั่นหลักที่เกี่ยวข้องกับแต่ละขามากยิ่งชึ้น
3. ฟังก์ชั่นหลักของ ATtiny85
ATtiny85 สามารถทำงานได้หลายฟังก์ชั่นในชิปตัวเดียว บางขามาพร้อมกับความสามารถในการใช้งานมากกว่าหนึ่งฟังก์ชั่น ต่อไปนี้เป็นฟังก์ชั่นหลักของโมดูลนี้
Timers
มีตัวจับเวลาสองตัวรวมอยู่ในชิปที่ช่วยในการหน่วงเวลาในกระบวนการทำงานของฟังก์ชั่นบางอย่างเมื่อทำงานในโหมดจับเวลา
ในโหมดตัวนับตัวนับเหล่านี้ใช้เพื่อนับจำนวนช่วงเวลาในฟังก์ชั่นเฉพาะภายในตัวควบคุม โหมดตัวจับเวลาจะเพิ่มวงจรการเรียนการสอนในขณะที่โหมดตัวนับใช้เพื่อเพิ่มขอบที่เพิ่มขึ้นและลดลง
SPI Communication
ATtiny85 มาพร้อมกับอุปกรณ์ต่อพ่วงแบบอนุกรม (SPI) ซึ่งส่วนใหญ่จะใช้สำหรับการสื่อสารระหว่างไมโครคอนโทรลเลอร์และอุปกรณ์ต่อพ่วงอื่น ๆ เช่น SD การ์ด , เซ็นเซอร์และ shift registers
มันรวมสัญญาณนาฬิกาและสายข้อมูลแยกต่างหากด้วยการเพิ่มสายเพื่อเลือกอุปกรณ์ที่จำเป็นสำหรับการสื่อสาร การสื่อสารนี้ช่วยให้อุปกรณ์ที่เชื่อมต่อทั้งสองสามารถกำหนดเส้นทางการสื่อสารเดียวกันภายใต้โปรโตคอลการสื่อสารเดียวกัน
Brown Out Reset (BOD)
BOD เป็นฟังก์ชั่นที่มีประโยชน์มากที่ช่วยในการรีเซ็ตตัวควบคุมเมื่อ Vdd (แหล่งจ่ายแรงดันไฟฟ้า) ลดลงต่ำกว่าแรงดันเริ่มต้น เพราะแรงดันไฟฟ้าหลายช่วงมีไว้เพื่อรักษาความปลอดภัยของโมดูลเมื่อพลังงานลดลงจากสายจ่ายแรงดัน
Interrupt
การขัดจังหวะมีบทบาทสำคัญในกรณีฉุกเฉินซึ่งทำให้หน้าที่หลักถูกพักไว้และดำเนินการตามคำแนะนำที่จำเป็นซึ่งจำเป็นในเวลานั้น เมื่อมีการใช้งานอินเตอร์รัปต์รหัสการทำงานจะทำให้ตัวควบคุมกลับไปที่โปรแกรมหลัก
ADC Converter
โมดูล ADC เป็นส่วนเสริมที่มีคุณค่าในอุปกรณ์ที่ทำให้เข้ากันได้กับเซ็นเซอร์ เป็นโมดูล 10 บิตที่มี 4 ช่องสัญญาณ
4. หน่วยความจำอินเตอร์เฟส ATtiny85
ความทรงจำของของเล่นตัวน้อยนี้ได้รับการออกแบบและใช้เทคโนโลยีความหนาแน่นสูงของแอทเมลซึ่งโดยทั่วไปจะไม่เปลี่ยนแปลงในธรรมชาติ หน่วยความจำของโปรแกรมสามารถทำโปรแกรมใหม่ผ่านอินเตอร์เฟสแบบอนุกรม SPI โดยใช้สองวิธีคือรหัสการบูตบนชิปหรือโปรแกรมเมอร์หน่วยความจำแบบไม่ลบเลือน
การดำเนินการหลักของโปรแกรมนั้นส่วนใหญ่จะทำในซีพียูที่มีบทบาทสำคัญในการเข้าถึงความทรงจำและทำการคำนวณตามจำนวนคำสั่งที่รวมอยู่ในคอนโทรลเลอร์
โมดูลนี้อยู่ภายใต้หมวดหมู่ของตัวควบคุม AVR ที่ใช้สถาปัตยกรรมฮาร์วาร์ดและมีตำแหน่งแยกต่างหากที่สงวนไว้สำหรับโปรแกรมและหน่วยความจำข้อมูล
Program Memory (ROM)
หน่วยความจำของโปรแกรมซึ่งโดยทั่วไปคือหน่วยความจำแฟลชที่สามารถโปรแกรมใหม่ได้ทำงานในลักษณะที่เรียบง่ายซึ่งคำสั่งถัดไปจะอยู่ในคิวเมื่อมีการเรียกและดำเนินการครั้งแรก ซึ่งจะช่วยในการดำเนินการตามคำแนะนำด้วยช่วงเวลาปกติในทุกรอบนาฬิกา
หน่วยความจำแฟลชมาพร้อมกับพื้นที่หน่วยความจำ 8k และมีความทนทานของหน่วยความจำประมาณ 10,000 รอบการเขียน / ลบ (หมายความว่าคุณสามารถลบและเขียนคำแนะนำได้ 10,000 ครั้งบนบอร์ดนี้) ตัวนับโปรแกรมที่มีอยู่ในหน่วยความจำแฟลชมีความกว้าง 12 บิตซึ่งสามารถระบุตำแหน่งหน่วยความจำของโปรแกรมได้คือ 4096
Data Memory (RAM)
หน่วยความจำข้อมูลมาพร้อมกับพื้นที่หน่วยความจำ 512 bytes และสำรองตำแหน่งหน่วยความจำ 3 วิธีเช่น 32 ตำแหน่งแรกเข้าถึงการลงทะเบียนไฟล์ 64 ตำแหน่งถัดไปจะสงวนไว้สำหรับหน่วยความจำ I / O มาตรฐานและส่วนที่เหลือจะใช้สำหรับข้อมูลภายใน SRAM
หน่วยความจำข้อมูลแบ่งออกเป็นห้าโหมดการคือ
- Direct,
- Indirect
- Indirect with Displacement
- Indirect with Pre-decrement
- Indirect with Post-increment
ในไฟล์ลงทะเบียนรีจิสเตอร์มีตั้งแต่ R26 ถึง R31 อ้างถึงรีจิสเตอร์พอยน์เตอร์ด้วยการกำหนดแอดเดรสทางอ้อม ในขณะที่การกำหนดที่อยู่โดยตรงครอบคลุมพื้นที่ข้อมูลทั้งหมด ในทำนองเดียวกันโหมดทางอ้อมด้วยการกำจัดครอบคลุมที่อยู่ 63 ตำแหน่งโดยใช้ที่อยู่ฐานที่เข้าถึงได้โดยการลงทะเบียน Y- หรือ Z
ที่อยู่จะลงทะเบียนการเพิ่มและลดระดับ X, Y และ Z ตามช่วงเวลาปกติเมื่อโหมดการกำหนดที่อยู่ทางอ้อมถูกเลเยอร์ด้วยการเพิ่มขึ้นภายหลังและการลดลงล่วงหน้า
EEPROM Data Memory
หน่วยความจำนี้มาพร้อมกับพื้นที่หน่วยความจำ 512 ไบต์ซึ่งออกแบบและจัดวางเป็นพื้นที่ข้อมูลแยกต่างหากซึ่งสามารถเข้าถึงไบต์เดียว มันมาพร้อมกับความทนทานของหน่วยความจำประมาณ 100,000 รอบการเขียน / ลบ ซึ่งมากกว่าหน่วยความจำโปรแกรม Program Memory (ROM) ถึงสิบเท่า
5. Block Diagram ATtiny85
บล็อกไดอะแกรมมีประโยชน์อย่างมากในการมองเห็นฟังก์ชั่นหลักที่มีอยู่ในตัวควบคุมและวิธีการที่แต่ละคุณสมบัติและส่วนประกอบเชื่อมต่อกัน
รูปต่อไปนี้แสดงแผนภาพบล็อกของ ATtiny85
- แกน AVR ใช้เพื่อรวมการลงทะเบียนวัตถุประสงค์ทั่วไป 32 ชุดพร้อมชุดคำสั่งมากมาย
- นอกจากนี้ 32 registers เหล่านี้ยังเชื่อมต่อโดยตรงกับ ALU (หน่วยคำนวณตรรกะ) ซึ่งช่วยในการเข้าถึงรีจิสเตอร์อิสระสองตัวโดยใช้คำสั่งเดียว
6. การนำ ATtiny85 ไปใช้งาน
- ส่วนใหญ่จะใช้ในการใช้งานเรียลไทม์ที่เกี่ยวข้องกับระบบอัตโนมัติอุตสาหกรรม
- โครงการระบบฝังตัว ใช้ประโยชน์จากโมดูลนี้เพื่อขับเคลื่อนระบบอัตโนมัติ
- ใช้ในโครงการวิศวกรรมและรวมอยู่ในหุ่นยนต์
- เทคโนโลยีการบินเป็นที่ตั้งของตัวควบคุม AVR ที่หลากหลายครอบคลุม Quad-copter และ Space Space
- ระบบตรวจสอบและจัดการพลังงานใช้โมดูลนี้
- ใช้ในแผงวงจร od ประเภทต่างๆ
- ในอุตสาหกรรมสำหรับการควบคุมเครื่องจักรต่าง ๆ
- ใช้ในระบบควบคุมพลังงานที่แตกต่างกัน
- ใช้ในหน่วยแสดงผลประเภทต่าง ๆ
นั่นคือทั้งหมดสำหรับบทความนี้ หวังว่าคุณจะไก้ประโยชน์และมีคุณค่าทางเทคนิค
credit : https://www.theengineeringprojects.com/2018/09/introduction-to-attiny85.html
, https://www.theengineeringknowledge.com/introduction-to-attiny85/