во-первых, не факт, что 500 точек нужно. Во-вторых, прерывание 40 мксек зачем? Ну а реализуется элементарно (на 500 точек тоже) на STM32, даже на LowDensity или ValueLine. Частоту и фазу можно задавать изменением напряжений, без остановки генератора
Внешних компонентов (не считая стабилизатора 3,3В и конденсаторов по питанию) понадобится аж три резистора и три конденсатора. И не нужен никакой PSoC