Cortex M3 çipleri STM32F103

Başlatan z, 08 Ocak 2013, 03:19:54

z

#90
STM32F103C8 kartım için pcb çizimini bitirip bir an öne çine yollamaya çalışıyorum henüz dokümanlarını karıştırmaya fırsatım olmadı.

Mevcut şemalarda 8Mhz xtal kullanılmış. Ancak aradığım kılıftaki 8Mhz xtal satıcının elinde yok Amerika stoklarında var ve malzeme bedeli hariç  20 Euro da kargo parası istiyor.

Eğer 16Mhz kullanırsam stoklarında var.  16Mhz xtal kullandığımda sorun varmı? USB donanımını kullanacağım.

Örnek tasarımlarda neden 8Mhz seçilmiş?


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

pisayisi

#91
KAtaloglarda kristal frekansı olarak 4-16 Mhz  aralığı belirtilmiş, ancak örnek devrelerde ben 8 Mhz haricinde çalışan hiç uygulama görmedim. Şimdi kristal 16 Mhz olsa PLL ile ilgili çarpanları değiştirmek lazım, yazılımda gerekli düzenlemeler yapılırsa sorun çıkmaz gibi görünüyor . Yinede önerim 8 Mhz ...

http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00164185.pdf
Murat

z

HSE osilatör akımındaki artışı saymazsak 8 yerine 16Mhz Xtal kullanmak sorun oluşturmayacak gibi duruyor.
Dokümanlarda bu çipi 72 Mhz de koştururken 2 wait state atılması gerektiğini okudum.

Eee ne anladım ben bu işten. 72Mhz de çalışmak peripheralleri yüksek clockla beslemekten başka işe yaramıyor.
32F4 deki ART donanımı da olmadığına göre işlemcinin kendisi 24Mhz oluyor bu durumda. Aldatıldım galiba.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

Bu ST yi sen başımıza musallat ettin, gör bak nelerle uğraşıyoruz.
Evet 2wait state okumuş ve not almışım

0-24    0
14-48  1
48>     2

wait state

z

60Mhz Stellaris'den 72Mhz ST32F103'e geçiş yapmakla iyi ettim sanıyordum. ST nin yaptığı da olmaz ki. 72Mhz diye reklam yaparak milleti aldatıyor.

Hoş bu saatten sonra Stellaris'e de geri dönülmez bu çiplerden vazgeçince TI da üretmekten vazgeçmiş.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

camby

2 wait state ne için , flash okuması için mi ?

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

#97
Hızda nekadar fark ederki adam 1.25 DMIPS/MHz (0 waitstate miş) demiş

Edit Ekleme

mesaj birleştirme:: 12 Şubat 2013, 12:07:02

TI neden vazgeçmiş, senin kullanmayacağını duyunca mı ?

pisayisi

#98
stm32f1  lerde Value line serisinde core 24 Mhz diğer üst serilerde,36 ,48 ve 72 Mhz de çalışan modeller var, flash hafızadan 2 wait state ile okuma yapmak performansı etkiler ancak core frekansı stm21f103 serilerinde 72 Mhz dir. Fiyatlar da işlemci hızına göre artış göstermekte, kataloglarda yeralan bilgileri iyice okumak gerekir...

mesaj birleştirme:: 12 Şubat 2013, 12:49:57

Şimdi fiyatlara bir baktım benzer donanım ve pin sayısına sahip  72 Mhz lik işlemci ile 24 Mhz olan arasında 1usd gibi fiyat farkları var çok ciddi farklar yok...
Murat

z

#99
Core frekansı 72Mhz ama flashdan bu hızda kod koşturamıyor.

Mecburen 2 wait state atacağız yada kodları rama kopyalayıp ordan koşturacağız.

Bu üstü kapalı bir kandırmaca.

Açıkcası dokümanlara gözatmadan önce 72Mhz işlemci ile flashdaki kodumu 0 wait state ile koşturacağımı varsayıyordum.

mesaj birleştirme:: 12 Şubat 2013, 13:04:29

Alıntı yapılan: muhittin_kaplan - 12 Şubat 2013, 12:02:10
Hızda nekadar fark ederki adam 1.25 DMIPS/MHz (0 waitstate miş) demiş

Edit Ekleme

mesaj birleştirme:: 12 Şubat 2013, 12:07:02

TI neden vazgeçmiş, senin kullanmayacağını duyunca mı ?

1.25 DMIPS/MHz ifadesinde Mhz kısmına 72Mhz yazarsak bu ifade Flashda mı yoksa Ramda mı geçerli? (Elbette Ramdan)
Flash için Mhz kısmına 24 yazmamız gerekir. Yanlışmıyım?

Evet TI, benim gibi safkan fanatiğini kaybedince üretimden vazgeçmiş.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Klein

bu kod Pll ayarları 72MHz ayarlanmış STM32F103 çipinde koşuyor.
while (1)
  {
		GPIOA->ODR ^= 0x100;

  }


Disassmbly burada.

08000a72:   mov.w r3, #2048 ; 0x800
08000a76:   movt r3, #16385 ; 0x4001
08000a7a:   mov.w r2, #2048 ; 0x800
08000a7e:   movt r2, #16385 ; 0x4001
08000a82:   ldr r2, [r2, #12]
08000a84:   eor.w r2, r2, #256      ; 0x100
08000a88:   str r2, [r3, #12]
08000a8a:   b.n 0x8000a72 <main+206>

Buna göre PORTA'dan çıkan kare dalganın frekansı Wait 0 için ve Wait 2 için ne olmalıdır?
Sanırım yukarıdaki omutların hepsi tek saykıllık.

z

Alıntı yapılan: gerbay - 12 Şubat 2013, 13:26:52
eğer daha ufak ve ucuz bir MCU işimizi görür diyorsanız 72MHz de çalışan LPC13xx serisinde de "enhanced flash memory accelerator" var ve zero-wait state demiş adamlar..  mesela LPC1343 ya da daha da iyisi LPC1347 çok cazip bir MCU ve içerisinde eprom da var.. fiyat olarak da çok uygun..

NXP için görsel seçim yapabileceğim sayfa yada program varmı?

Hız konusunda sorun yoksa, 8 ADC girişi, 8 Pwm çıkışı, 4-5 tane de I/O ve USB yeterli benim için.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

MC_Skywalker

NXP'nin sitesinde paremetrik arama kısmı var.

örnek: Cortex M3 için http://www.nxp.com/parametrics/56890/

z

NXP LPC1347FBD48, STM32F103C8'e denk bir işlemci galiba.
Dediğiniz gibi 72Mhz de 0 wait Sate ile flashdan kod koşturabiliyorsa çok çok iyi.

Fiyatı sadece 10 Cent daha pahalı.  (€5.38)

Fakat gözucuyla baktığım dokümanını sevemedim.

LPC1347 kullanan varmı aramızda? 
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Gerbat kötü ettin kafam karıştı.

STM32F103 kullanan kartın çizimi yeni bitti. Gerçi yeni bir işlemci için kartın sadece MCU kısmında yeni baştan oynayabilirim.

Jlink almıştım pinler yetmediği için atıl kaldı. Daha postada ve hala elime geçmemiş STM32F103 minik kiti beklemedeyim.

Henüz STM32F103 dokümanlarını da okumaya başlamadım fakat 32F407 den ST dokümanlarına aşina oldum. Bu aşamada NXP ye dönersem  sıfırdan başlamam gerekecek.

Gene kodlarımı ASM ile yazacağım ve registerleri anlatan NXP dokümanı biraz itici geldi.

Sen ne önerirsin? Bu arada NXP nin ADC si STM ye kıyasla biraz geride galiba. (Çok emin değilim)

Bana e^st de diyebilirsiniz.   www.cncdesigner.com