RAUSCHGENERATOR
STM32IDECube/STM32F446RE
1. Einstellungen im CubeMX Konfigurator
Achtung! Im Debugger kann man den analogen Pin PA4 nicht überprüfen, das Data Output Register DAC→DOR1 ist überwachbar.
Der DAC wird mit APB1 Takt betrieben; dieser kann beim 446RE max. 45MHz betragen.
4 Amplitude der Rauschspannung (Anzahl der Bites)
5 Timer6 Konfiguration muss eingestellt werden
Über 3 und 4 kann die Update-Rate eingestellt werden Prescaler=0 bedeutet max. Taktrate. ARR=0xFFFF update nach 65535 Takten.
Wichtig! PUNKT 5 !!! Hier triggert Timer6 den DAC
2. Das Hauptprogramm
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DAC_Init();
MX_TIM6_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start(&htim6);
HAL_DAC_Start(&hdac, DAC_CHANNEL_1);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
Dreieck Signal
Achtung! Für die max. Frequenz APB1=45MHz ergibt sich eine max. Frequenz für die Dreieckspannung (bei max. Amplitude) von 2.8kHz (Prescaler=1; AutoReload=2);
Warum ein Prescaler=0 nicht höhere Frequenzen liefert ???
Prescaler=1; AutoReload=2 … 2.8 kHz
0/1… 2.8 kHz
0/2 … 1.86kzz
1/1 … 2.8 kHz
0/0 … 0Hz







