เกี่ยวกับ ATtiny85

ความรู้เบื้องต้นเกี่ยวกับ 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 Pins8
CPURISC 8-Bit AVR
Operating Voltage1.8 to 5.5 V
Program Memory8K
Program Memory TypeFlash
RAM512 Bytes
EEPROM512 Bytes
ADCNumber of ADC Channels10-Bit4
Comparator1
PackagesPDIP (8-Pin)SOIC (8-Pin)TSSOP (8-Pin)QFN/MLF (20-Pin)
Oscillatorup to 20 MHz
Timer (2)8-Bit Timers
Enhanced Power on ResetYes
Power Up TimerYes
I/O Pins6
ManufacturerMicrochip
SPIYes
I2CYes
Watchdog TimerYes
Brown out detect (BOD)Yes
ResetYes
USI (Universal Serial Interface)Yes
Minimum Operating Temperature-40 C
Maximum Operating Temperature125 C



2. ATtin85 Pinout และคำอธิบาย

จนถึงตอนนี้คุณได้รับข้อมูลพื้นฐานและคุณสมบัติที่ครบถ้วนของ ATtiny85 แล้ว ในส่วนนี้เราจะพูดถึงการใช้งานขาของโมดูลและคำอธิบาย

Pinout

ATtin85 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

ตารางต่อไปนี้แสดงคำอธิบายพินที่จะช่วยให้คุณเข้าใจฟังก์ชั่นหลักที่เกี่ยวข้องกับแต่ละขามากยิ่งชึ้น

เกี่ยวกับ ATtiny85


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

Memory Layout ATtiny85



ที่อยู่จะลงทะเบียนการเพิ่มและลดระดับ 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/