Cortex M3 çipleri STM32F103

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

SpeedyX

Yeni konu açmak istemedim,

İşlemci, adc, dac, 2 dma, 3 gpio açıkken 50mA civarı akım çekiyor, dac buffer kapalı.

Diğer modüllerin gücü açık olarak mı geliyor?

Güç tüketimini düşürmek için yaptığınız konfigürasyonlarla ilgili ipucu verebilir misiniz?

Kolay gelsin

mcan

#61
Cortex M3 ler üzerine önemsiz ayrıntı ;
TI in sitsinde nedense normal m3lre bakma istedim kolayca bulamadım(datasheetleri vs var), şu şekilde bir not düşülmüş
Zaten mcu kısmındada ,özel hercules m3  ler hariç, LM3Sler yok sadece LM4F görünüyor.
Satmaya devam ederler ama demekki yeni yeni model cortexm3 ler TI tarafından çıkarılmayacak.


The Stellaris LM3S series has recently been designated as "Not Recommended for New Designs" (NRND). TI has made no changes to the availability of these devices. However, the devices are no longer available to be sampled and the evaluation and development kits are almost sold out.

As the new Stellaris® ARM® Cortex™-M4 products (LM4F series) become available and provide developers with a number of distinct advantages compared to Cortex-M3 devices (LM3S series), TI is recommending that customers migrate to the LM4F family. These new devices provide floating point for performance headroom and best-in-class low-power consumption to address portability and power budgets. These Stellaris LM4F MCUs are built using 65-nm technology and provide a roadmap to higher speeds, larger memory and even lower power for our customers.

We encourage customers to work directly with their TI sales and FAEs to find the best fit for their next designs. If you have any additional questions about our new Stellaris LM4F MCUs, please let us know on these TI E2E forums and we will work to respond as soon as possible.

Regards, ~Miguel


Vay be ne kadarda geri kalmışım daha ben adam akıllı kullanamadan discontinued oldu hobim olduğundan problem yok ama psikolojik olarak rahatsız ediyor :)

z

Alıntı yapılan: SpeedyX - 08 Şubat 2013, 20:42:20
Yeni konu açmak istemedim,

İşlemci, adc, dac, 2 dma, 3 gpio açıkken 50mA civarı akım çekiyor, dac buffer kapalı.

Diğer modüllerin gücü açık olarak mı geliyor?

Güç tüketimini düşürmek için yaptığınız konfigürasyonlarla ilgili ipucu verebilir misiniz?

Kolay gelsin

modullerde Clk enable yapmayacaksın
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

Neden, varsayılan olarak enable mı geliyor. bus ı açınca hepsini açmışmı oluyorum.

SpeedyX

NXP de modül güç bayrakları kapalı olarak geliyor, daha sonra kullanılan modüller aktif ediliyor, böylece işlemciye blinky programı yüklediğinizde minimum akım çekiyor. STM32 lerde ise sanırım tam tersi. Çalışma frekansıyla da alakalı tabii ama sadece 3 modül açık iken 72MHz de 50mA akım çekiyor olması tüm modüller açık geliyor diye düşündürdü.

X-Fi

PA13 - PA14 pinleri swd detect yapıyor bu pinleri analog input yapınız. Ayrıca Uart 1 ve Usart 2 (MD ve HD cipler için farklı olabilir) pinleri reset sonrası Alternate function kurulu oluyor bunları temizlemek lazım ben şöyle yapıyorum

/* Portlar LP moda uygun konuma aliniyor */
		RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC |
                        RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE | RCC_AHBPeriph_GPIOH |
                        RCC_AHBPeriph_GPIOF | RCC_AHBPeriph_GPIOG, ENABLE);

		GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
		GPIO_InitStructure.GPIO_Speed = GPIO_Speed_400KHz;
		GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
		GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
		
		GPIO_Init(GPIOC, &GPIO_InitStructure);
		GPIO_Init(GPIOD, &GPIO_InitStructure);
		GPIO_Init(GPIOE, &GPIO_InitStructure);
		GPIO_Init(GPIOH, &GPIO_InitStructure);
		GPIO_Init(GPIOF, &GPIO_InitStructure);
		GPIO_Init(GPIOG, &GPIO_InitStructure);  
if(!swd)GPIO_Init(GPIOA, &GPIO_InitStructure); 
 	GPIO_Init(GPIOB, &GPIO_InitStructure);   

		/* Disable GPIOs clock */
		RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC |
                        RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE | RCC_AHBPeriph_GPIOH |
                        RCC_AHBPeriph_GPIOF | RCC_AHBPeriph_GPIOG, DISABLE);


Sonrasında sadece kullanmak istediklerimi kuruyorum.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

SpeedyX

#66
SWD detect pinlerini disable edersek SWD çalışmıyor mu? Kartta sadece SWD ile programlama yapılıyorsa ve SWD detect kapatılmak isteniyorsa, start verildiğinde sabit bir delay yaptıktan sonra bu işlemleri gerçekleştirmesini sağlayın, böylece reset sonrası hemen programlama moduna sokmak mümkün olur.

EDIT:
Alıntı YapAfter setting the clocks for the core system, AHB, APB1 and APB2, individual peripherals that are used must have their clocks enabled. By default, they are not enabled in order to save power.

X-Fi

#67
Delay falan gerekmiyor hocam resetle beraber programlıyoruz alıyor J-link ile sorun yok. Ancak debug yapmak gerekirse program içerisinde bir debug menüsü oluşturup swd pinleri tekrar aktif etmelisiniz. Yoksa haberleşemediği için debugdan çıkıyor.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

SpeedyX

SWD olayını da öğrendiğimiz iyi oldu.

Şimdi asıl konuya gelirsek, başlangıçta modüller kapalı geliyormuş. Bu durumda 72Mhz de 40mA civarı akım normal olmasa gerek, NXP işlemcim blinky de 4mA çekiyor, STM32 işlemcim 40mA :) (Devrede başka malzeme yok, MCU+regulator+cap+res)

muhittin_kaplan

deneyelim. stm32f100rb kiti yanımda ammetre ile bakalım ne olacek

Klein

Üzerinde çalştığım kart 24V beslemeden 37mA akım çekiyor.  STM32F103C8T6 

Besleme : MC34063 ->5V  LM1117->3V3

Karttaki donanımlar.

2 Adet  75176 (RX modda)
4AD LM358 (8 opamp) + DAC devresi.
8AD PWM sürücü (8Ad PNP, 8AD NPN transistör, Half bridge) yaklaşık %50 duty ile tamamı çalışıyor.
1 adet led.
8 Adet gerilim bölücü (ADC girişi için) Akıma pek etkisi yoktır. Dirençler büyük. (15K-5K)
1 Adet eeprom 24C32


Aktif iç donanımlar.
2 ad. USART
3 AD timer. ( ikisi  8 Kanal PWM (yaklaşık 25-30MHZ civarında çalışıyorlar), birisi zamanlamalar için).
1 SysTick
8 kanal ADC Sürekli çevirim modunda.
8 kanal GPIO PWM modunda  yalaşık %50 dty ile, 100MHZ output hızında.
1 Led için GPIO düşük hızda
1 DMA, 3-4 adet DMA kanalı ( tümü aktif)
1 CRC donanımı.

Yani neredeyse çipin içindeki tüm donanımların saat kaynakları açık.



muhittin_kaplan

24mhz de 100ma çekiyor. ve sadece while döngüsü var.
hatta

int main(void)
{
SetSysClockTo24();
    while(1)
    {
       RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, DISABLE);

    }
}
ile başladım. yine 100ma civarlarında.

z

Alıntı yapılan: Klein - 09 Şubat 2013, 22:33:35
Üzerinde çalştığım kart 24V beslemeden 37mA akım çekiyor.  STM32F103C8T6

5v regulator girişinden de 100 küsür mA çekiyordur.

İki firmanın çiplerini mukayese ederken çipleri aynı clock frekansında ve aynı voltajda beslemek lazım.

Sonra da adım adım çevre birimleri devreye alınabilir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

SpeedyX

#73
Alıntı yapılan: z - 09 Şubat 2013, 23:02:51
5v regulator girişinden de 100 küsür mA çekiyordur.
177,6mA civarı çekiyordur.

Bu durum oldukça ilginç, msp430 ile de çalışıyorum, alet hiç akım çekmiyor desem yeridir, tabii ARM değil.

NXP ARM da bu konuda fena değil, ST de neden böyle acaba...

mistek

#74
Bi yerde arm çipleri düşük güç tüketimine sahiptir diye bi yazı okudum ama yanlış mı hatırlıyorum acaba... 100mA da çokmuş.
boş işlerin adamı ---- OHM Kanunu: I = V/R ---- Güç Formülü: P = V*I = I^2*R = V^2/R