Ich hätte mal eine Frage zum ADC Clock. Der hängt ja am PCLK2 und kann durch einen Vorteiler noch herunter gesetzt werden. Nun sind die Standardkonfiguarationen des 1007VC (wenn ich das richtig ausgelesen habe) so eingestellt, dass der PCLK2 mit 72 MHz läuft. #define SYSCLK_FREQ_72MHz 72000000 /* HCLK = SYSCLK */ RCC->CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1; /* PCLK2 = HCLK */ RCC->CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1; Ein ST Beispiel (ADC) teilt diesen dann durch 4 => 18MHz. #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) // ADCCLK = PCLK2/2 RCC_ADCCLKConfig(RCC_PCLK2_Div2); #else // ADCCLK = PCLK2/4 RCC_ADCCLKConfig(RCC_PCLK2_Div4); #endif Im Datenblatt steht als Maximale Frequenz allerdings 14 MHz. Kann ich den ADC jetzt höher betreiben, muss ich runter auf Teiler 6 = 12MHz oder wo habe ich was überlesen? Außerdem mal noch die Frage: kann der Sysclock eigentich auf annähernd 72Hz gebracht werden wenn ein externer 25MHz angeschlossen ist oder empfiehlt es sich doch eher einen 8MHz Oszillator anzuschließen?
man möge mir Verzeihen, ich habe natürlich nur den 107 ^^ (ich war schon wieder zu weit in der Zukunft).
Bin auch gerade an diesem Thema, also ich würde mich an das Datenblatt halten, ich betreibe ihn mit 12Mhz. Bei einem 25MHz Quarz könntest du ihn auf 75MHz laufen lassen, dieses Übertakte müsste er aushalten.
Ja, ist aber halt offiziell außerhalb der Spzifikation, deswegen wundere ich mich, das alle Hersteller verbauen (und ich glaube irgendwo ist er im Datenblatt auch angepriesen). Ich meine der Takt passt ja zu gar nichts (außer zur maximal zulässigen Beschaltung).
Ich sehe gerade ich habe mich etwas zu sehr am am Guide orientiert, scheinbar bieten die 105/ 107 noch gebrochene Teilerwerte an.
Mit 25 MHz ext. Clock musst du den ADC mit 12,5MHz betreiben den Kern mit 50MHz oder experimentell mit 75MHz.Die 75MHz werden ziemlich sicher funktionieren, vor allem wenn man Vcc aufs Maximum einstellt. Grüsse
Gut danke, ich habe trotzdem noch mal etwas weiter gesucht und das hier gefunden^^, der Aufbau scheint zu stimmen wenn ich mir das Datenblatt ansehe: STM3210E what causes need of using second PLL to produce CPU 72MHz. HSE == 25MHz / PREDIV2 == 5 -> 5MHz * PLLMUL2 == 8 -> 40MHz / PREDIV1 == 5 -> 8MHz * PLLMUL == 9 -> 72MHz = SYSCLK It's looks ugly but above method it's used in ST source code for STM3210C evaluation board. Quelle: http://old.nabble.com/R%3A-STM32F107-on-STM3210C-EVAL-p31261340.html
Wenn ich mich jetzt nicht vertan habe sollte ein 14Mhz ADC dann so funktionieren: // HSE ==25MHz / RREDIV2 == 5 -> 5MHz * PLLMUL2 == 14 -> // 70MHz / PREDIV1 == 5 -> 14 MHz * PLLMUL == 5 -> 70 MHz = SYSCLK Dadurch wird allerdings der PLL2CLK unbrauchbar, da er auf 70Mhz läuft.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.