Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

HSE ve USB

Başlatan SpeedyX, 11 Mart 2013, 22:45:12

SpeedyX

Merhabalar,

stm32f10x li kartımı olabildiğince düşük frekansta çalıştırmak istiyorum, bu yüzden belli şartlara göre frekans değiştirmeyi düşündüm.
örneğin frekans değiştiğinde aşağıdaki kodla adc clock unu ayarlıyorum.
Kartıma USB bağlandığında da bir pin aracılığıyla görüyorum ve HSE (8Mhz) de çalışan işlemciyi 48Mhz de çıkarmam gerekiyor, bu konuda hangi yöntemi tercih etsem bilemedim. system_stm32f10x.c yi modifiye ederek istediğim frekansı kuran bir hale getirebilirim, yada sizin önereceğiniz daha basit bir yöntemi kullanabilirim.
İşlemci frekansı USB için en az 48Mhz olmalı, burada USB takıldığında 48/72Mhz kurup USB yi çalıştırmam, USB çıkarıldığında ise yine HSE ye geri dönmem gerekiyor. Düşük frekansta çalışmamın sebebi az akım çekmek.

Önerilerinizi bekliyorum.

Kolay gelsin.

  switch(SystemCoreClock)
  {
//	  case HSI_VALUE:
	  case HSE_VALUE:
		  adcclock = RCC_PCLK2_Div2;
	  break;
	  case 48000000:
		  adcclock = RCC_PCLK2_Div4;
	  break;
	  case 72000000:
		  adcclock = RCC_PCLK2_Div8;
	  break;
	  case 24000000:
		  adcclock = RCC_PCLK2_Div2;
	  break;
	  default:
		  adcclock = RCC_PCLK2_Div8;
	  break;
  }
  RCC_ADCCLKConfig(adcclock);

ErsinErce

sistemin frekansını pll oturmadan değiştirmek hw_fault oluşturabilir datasheet e bakmak lazım

sizin yerinizde olsam kütüphaneyi bozmak yerine
başlangıçta sistemin pll ayarlarını 48/72 Mhz e göre ayarlayıp
usb bağlantısı algıladığımda pll i aktifleştirip pll oturduğunda hse yerine pll den besleme verirdim
usbden ayrıldığında hse den devam ederdim

bu şekilde pll_on pll_ready ve osc_select(tam hatırlamıyorum) bit-yazmaçlarıyla işi hızlıca çözerdim

z

#2
PLL de değişikliğe gidilmeden önce HSI'yada HSE'ye geçip yeni PLL ayarlamaları yapılmalı,  PLL'in kitlenmesi beklenmeli ardından  PLL devreye alınmalı.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

ErsinErce

osc değişikliği sırasında wait_state ayarlarını yapmayı da ayrıca unutmayın

X-Fi

Hocam işlemcinin genel olarak az akim tüketmesi isteniyorsa stm32F ile hiç zaman kaybetmeyin STM32L serisini kullanın. içerisindeki LSI oscler ile düşük akımlarda koşabilirsiniz. Ayrıca HSI ile USB sürülebiliyor buda size akım kazancı sağlayabilir.
http://www.coskunergan.dev/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)