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.

3 Konfiguration
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