دوستان امیدوارم حال همتون عالی باشه. در این آموزش، نگاهی به معرفی دقیق Atmega128 خواهیم داشت. Atmega128 یک میکروکنترلر AVR 64 پایه ای با پردازشگر هشت بیتی است که توسط Atmel (طراح و سازنده مواد نیمه هادی های مختلف) ساخته شده است. این میکروکنترلر بر اساس معماری RISC مخفف (Reduced Instruction Set Computing) طراحی شده است که از 133 دستورالعمل قدرتمند تشکیل شده و دستورات عمدتاً در یک سیکل اجرا می شوند. حداکثر فرکانسی که این میکرو کار می کند 16 مگاهرتز است. حافظه فلش این میکروکنترلر ظرفیت برنامه کاربردی تا 128 کیلوبایت را دارد.
برای آموزش میکروکنترلرهای AVR به لینک
http://smartcomp.ir/product-4 و
http://smartcomp.ir/product-6 مراجعه کنید.
مقدمه ای بر Atmega128
Atmega128 یک میکروکنترلر 64 پایه ای با پردازشگر هشت بیتی است که توسط Atmel (طراح و سازنده مواد نیمه هادی های مختلف است) ساخته شده است. این یک میکروکنترلر در دسته میکروکنترلرهای AVR با معماری RISC (Reduced Instruction Set Computing) با عملکرد بالا و مصرف انرژی کم است.
این میکروکنترلر دارای 128 کیلو بایت حافظه فلش ISP (In-system Programming) است که دارای قابلیت خواندن و نوشتن است.
این ماژول از یک 4 کیلو بایت EEPROM (حافظه فقط خواندنی قابل برنامه ریزی با قابلیت پاک کردن الکتریکی)، 4 کیلوبایت SRAM (رم استاتیک)، 53 خط ورودی و خروجی قابل برنامه ریزی، سی و دو رجیستر عمومی، یک JTAG (Joint Test Action Group) که برای اسکن برنامه و اصلاح و یا اشکال زدایی داخلی استفاده می شود، تشکیل شده است.
همچنین شامل رابط های داخلی و خارجی، USART قابل برنامه ریزی متوالی (گیرنده و فرستنده ناهمزمان)، یک مبدل ده بیتی آنالوگ به دیجیتال 8 کاناله، دو تایمر 16 بیتی و دو تایمر 8 بیتی با نوسان ساز داخلی، اسلات متوالی SPI (رابط جانبی سریال) است.
با ولتاژ 4.5 تا 5.5 ولت کار می کند.
AVR ها از آنجایی که حافظه برنامه بسیار قابل توجهی دارد، بنابراین می تواند به راحتی با شبکه های یکپارچه مختلف کار کند.
از آنجایی که این ماژول از 53 پایه ورودی /خروجی تشکیل شده است، میتوانیم آن را به راحتی با هر قطعه دیگر و بدون زحمت وصل کنیم.
این میکروکنترلر دارای یک تایمر ناظر برای بازنشانی ماژول در هنگام خطا دارد، بنابراین می توان از آن در شبکه های مختلف برای بازنشانی خطا بدون هیچ گونه دخالت انسانی استفاده کرد. (تایمر سگ نگهبان)
پایه های اصلی Atmega128 در زیر توضیح داده شده اند.
1 | PEN | فعال ساز برنامه ریزی |
2 | PE0 RXD PDI | پایه I/O، پایه دریافت سریال (USART) |
3 | PE1 TXD PDO | پایه I/O، پایه ارسال سریال (USART) |
4 | PE2 XCK0 AIN0 | پایه I/O، پایه کلاک ارتباط سریال USART، پایه مقایسه کننده آنالوگ مثبت |
5 | PE3 OC3A AIN1 | پایه I/O، پایه اختصاص یافته تایمر (کانال PWM)، پایه مقایسه کننده آنالوگ مثبت |
6 | PE4 OC3B INT4 | پایه I/O، پایه اختصاص یافته تایمر (کانال PWM)، اینتراپت خارجی |
7 | PE5 OC3C INT5 | پایه I/O، پایه اختصاص یافته تایمر (کانال PWM)، اینتراپت خارجی |
8 | PE6 T3 INT6 | پایه I/O، تایمر3، اینتراپت خارجی |
9 | PE7 ICP3 INT7 | پایه I/O، ورودی کپچر تایمر/کانتر3، اینتراپت خارجی |
10 | PB0 SS | پایه I/O، پایه SS در ارتباط SPI زمانیکه میکرو به عنوان slave باشد در حالت صفر قرار داده می شود |
11 | PB1 SCK | پایه I/O، پایه SCK در ارتباط SPI به عنوان کلاک به کار رفته و برای انتقال دقیق داده ها به تجهیزات خارجی کاربرد دارد |
12 | PB2 MOSI | پایه I/O، پایه MOSI در ارتباط SPI به کار رفته و زمانیکه میکرو نقش اسلیو را دارد، داده ها از طریق این پایه از مستر دریافت می شوند |
13 | PB3 MISO | پایه I/O، پایه MISO در ارتباط SPI به کار رفته و زمانیکه میکرو نقش اسلیو را دارد، داده ها از طریق این پایه به مستر ارسال می شوند |
14 | PB4 OC0 | پایه I/O، پایه خروجی کانال PWM |
15 | PB5 OC1A | پایه I/O، پایه خروجی کانال PWM |
16 | PB6 OC1B | پایه I/O، پایه خروجی کانال PWM |
17 | PB7 OC2 OC1C | پایه I/O، پایه خروجی کانال PWM |
18 | PG3 TOSC2 | پایه I/O، پایه MISO در ارتباط SPI به کار رفته و زمانیکه میکرو نقش اسلیو را دارد، داده ها از طریق این پایه اینتراپت به مستر ارسال می شوند |
19 | PG4 TOSC1 | پایه I/O، پایه SCK در ارتباط SPI به عنوان کلاک به کار رفته و برای انتقال دقیق داده ها به تجهیزات خارجی با اینتراپت کاربرد دارد |
20 | RESET | ریست |
21 | VCC | ولتاژ تغذیه |
22 | GND | زمین |
23 | XTAL2 | خروجی اسیلاتور کریستال |
24 | XTAL1 | ورودی اسیلاتور کریستال |
25 | PD0 SCL INT0 | پایه I/O، کلاک ارتباط I2C اینتراپت خارجی 0 |
26 | PD1 SDA INT1 | پایه I/O، پایه داده ارتباط I2C اینتراپت خارجی 1 |
27 | PD2 RXD1 INT2 | پایه I/O، پایه دریافت داده ارتباط USART اینتراپت خارجی 2 |
28 | PD3 TXD1 INT3 | پایه I/O، پایه ارسال داده ارتباط USART اینتراپت خارجی 3 |
29 | PD4 ICP1 | پایه I/O، پایه کپچر ورودی تایمر/کانتر1 |
30 | PD5 XCK1 | پایه I/O، پایه کلاک خارجی برای ارتباط USART |
31 | PD6 T1 | پایه I/O، تایمر1 |
32 | PD7 T2 | پایه I/O، تایمر2 |
33 | PG0 WR | پایه I/O، پایه کنترل برای نوشتن بر روی حافظه بیرونی |
34 | PG1 RD | پایه I/O، پایه کنترل برای خواندن از حافظه بیرونی |
35 | PC0 A8 | پایه ورودی/خروجی (I/O) |
36 | PC1 A9 | پایه ورودی/خروجی (I/O) |
37 | PC2 A10 | پایه ورودی/خروجی (I/O) |
38 | PC3 A11 | پایه ورودی/خروجی (I/O) |
39 | PC4 A12 | پایه ورودی/خروجی (I/O) |
40 | PC5 A13 | پایه ورودی/خروجی (I/O) |
41 | PC6 A14 | پایه ورودی/خروجی (I/O) |
42 | PC7 A15 | پایه ورودی/خروجی (I/O) |
43 | PG2 ALE | پایه I/O، پایه فعال ساز لچ آدرس که برای انتخاب یکی از چند تراشه حافظه بیرونی متصل به میکرو استفاده می شود |
44 | PA7 AD7 | پایه ورودی/خروجی (I/O) |
45 | PA6 AD6 | پایه ورودی/خروجی (I/O) |
46 | PA5 AD5 | پایه ورودی/خروجی (I/O) |
47 | PA4 AD4 | پایه ورودی/خروجی (I/O) |
48 | PA3 AD3 | پایه ورودی/خروجی (I/O) |
49 | PA2 AD2 | پایه ورودی/خروجی (I/O) |
50 | PA1 AD1 | پایه ورودی/خروجی (I/O) |
51 | PA0 AD0 | پایه ورودی/خروجی (I/O) |
52 | VCC | پایه تغذیه |
53 | GND | پایه زمین |
54 | PF7 ADC7 TDI | پایه I/O، کانال 7 مبدل ADC واسط JTAG |
55 | PF6 ADC6 TDO | پایه I/O، کانال 6 مبدل ADC واسط JTAG |
56 | PF5 ADC5 TMS | پایه I/O، کانال 5 مبدل ADC واسط JTAG |
57 | PF4 ADC4 TCK | پایه I/O، کانال 4 مبدل ADC واسط JTAG |
58 | PF3 ADC3 | پایه I/O، کانال 3 مبدل ADC |
59 | PF2 ADC2 | پایه I/O، کانال 2 مبدل ADC |
60 | PF1 ADC1 | پایه I/O، کانال 1 مبدل ADC |
61 | PF0 ADC0 | پایه I/O، کانال 0 مبدل ADC |
62 | AREF | ولتاژ مرجع ADC |
63 | GND | پایه زمین |
64 | AVCC | پایه ولتاژ تغذیه ADC |
ویژگی های Atmega128
پردازنده آن هشت بیتی AVR است.
این ماژول دارای 64 پایه است که در مورد آنها در جدول بالا توضیح دادیم.
این تجهیز دارای 53 پایه ورودی و خروجی می باشد.
این میکروکنترلر دارای واحد مبدل آنالوگ به دیجیتال 8 کاناله با وضوح 10 بیتی است.
از 4 شمارنده تشکیل شده است که دوتا 8 بیتی و دوتا 16 بیتی است.
این قطعه دارای یک مدار مقایسه آنالوگ است. این میکروکنترلر مبدل دیجیتال به آنالوگ (DAC) ندارد. دارای چهار (4) مدولاتور عرض پالس (PWM) است. می تواند برای تامین کلاک پالس سیستم می تواند از نوسان ساز خارجی با فرکانس 16 مگاهرتز کار کند. همچنین شامل نوسان ساز داخلی است که بر روی فرکانس 8 مگاهرتز کار می کند. از حافظه فلش با ظرفیت 128 کیلوبایت تشکیل شده است. سرعت پردازنده آن شانزده MIPS (16میلیون دستورالعمل در ثانیه) است. حافظه رم آن چهار کیلو بایت است. شامل 6 روش ذخیره انرژی به نام های Power-slave، Power-down، Idle، ADC Noise Reduction، Standby و Extended Standby است. دمای عملکرد آن 55- تا 85 درجه سانتیگراد است.
برای آموزش میکروکنترلرهای AVR به لینک
http://smartcomp.ir/product-4 وhttp://smartcomp.ir/product-6 مراجعه کنید.
بلوک دیاگرام داخلی ATmega128
کاربردهای Atmega128
در ساخت کوادکوپترها استفاده می شود.
در اتوماسیون صنعتی و خانگی بکار گرفته می شود.
از آن در طرح های مختلفی همچون دستگاه شکلات و بستنی ساز، قهوه و اسپرسوساز و اسباب بازی های مختلف استفاده می شود.
برای کنترل دور و جهت و حرکت موتور استفاده می شود.
در پروژه های دانشجویی به کار می رود.
دیدگاه خود را بنویسید