10k的速度算比较慢的,可以直接用STM32自带的DAC实现,先确定电压与时间的关系,然后弄个定时器,每到一定时间就触发一次DAC输出变化
如果要5V,需要再增加一个运算放大器进行放大,STM32最大只能到3.3V
单个锯齿波图形你可以考虑为在一个周期内变量分段变化输出(依计数器值)
比如输出函数是
0 (t<50)
f(t)=N*(t-50) (50<=t <100)
N*(200-t) (100<=t<200)
其中N是放大倍数
这样就是t周期为200计数器值的当个锯齿信号发生器啦。
其它的诸如频率变化就是调整t的基准,幅度变化就是调整这个函数中的N。