pic 18f4550 & atmega328

Başlatan pax, 18 Aralık 2014, 16:26:17

pax

48 Mhz de çalışan pic 18f4550 mi 16 Mhz de çalışan atmega 328 mi daha hizlidir.

Kabil ATICI

tick bazında alırsan atmega328 daha hızlıdır, pic için 1 tick 4 saat darbesine eşittir. Atmega 328 için 1 tick 1 saat darbesidir
Ama burada dikkate alınma gereken diğer örneğin komutlar kaç tick'de işleniyor, bir adc kac saat darbesinde çevirme işini bitiryor, bir işin nasıl yapıyor.

ÖRneğin pic karşılaştırma için wreg ile herhangi bir sayıyı ya çıkarılacak, ya XOR yapılacak gibi işlemden geçirip z, veya C durumuna göre işlem yapılacak,ama atmega için istenilen register ile sayı veya register-reğister karşılaştırıp eşit, eşit değil , küçük , büyük gibi birçok karşılaştırma işleminden birini seçip dallanabilir.

pic için 1 tane genel amaçlı register var (Wreg), atmega için 32 tane genel amaçlı register var ve bunların 16 tanesinde sayı üzerinde bit bazında işlem yapılabilirken, 3 tane 16 bitlik işlemler için birleştirilebilir.
Çarpma, bölme işlemleri için komut olduğu gibi fraktal işlemler için de komut vardır.

Buradaki asıl konu kimin hızlı çalışacağını bence üzerinde yazılan program belirler.
ambar7

pax

pic 18f4550  de 48 Mhz  pll ile ediyoruz . 48 mhz tekrar 4'e bölünüyor mu?

LukeSkywalker

Elbette bölünüyor. 4 cycle da bir işlem yapıyor.

pax

ama atmega 1 cycle da işlem yapıyor değil mi?

Kabil ATICI

Evet.
Bir de komutların kaç cycle 'da iş yaptığı durumu var.
ambar7

pax

peki arduino üzerindeki atmega 328p  yi 16 mhz den daha yüksek bir frekansta çalıştırabilir miyiz.

Kabil ATICI

#7
Overclock;
bugüne kadarki incelemelerde sadece 1 kez rastladım. Atmega8'i 20MHz'de çalıştığını iddia eden bir proje idi, ama kendim denemedim. Daha Yüksek frekanslarda çalıştırılmayışının sebebi sistemin çalışma kararlılığı ile ilgili bir durum sanırım.
Çünkü burada bizi sınırlayan yan faktörler var, örneğin ADC örnekle tut devresi, ram erişim, eeprom yazma/yazma, flash okuma süreleri gibi parametreler var. Tabii registerlere erişim hızlarını saymıyorum bile.
(Daha yüksek frekanslarda çalıştırıldığı zaman devrenin harcayacağı akım artacaktır, saat sinyalleri bozulmaya başlayacak dolayısı ile kararsız bir yapı oluşacaktır.)

Teorik olarak olabilse bile, praktikte hiç denemedim. Bir dene belki çalışır, belki de yeni bir işlemci alırsın.

EK:
http://hackaday.com/2012/12/27/overclocking-microcontrollers/
http://garagelab.com/profiles/blogs/atmega328-overclock-30mhz
30MHz'de çalıştırılabildiğine dair bilgiler var.
ambar7