stm32 TIM驱动11639CCD
stm32 TIM驱动CCD11639用外部高速ADC采集信号
使能TIM1_CH2,TIM1_CH3,ccd的clk,TIM1_CH3输出了,同步输出了一个时钟TIM1_CH2;
使能TIM3_CH2,ccd的startPulse输出了,由同步信号TIM1_CH2同步输出至ccd
TIM3进入周期中断后,使能TIM1周期中断。
TIM1周期中断,计数,此时startPulse被有效地输出,并结束了。
TIM1计数84后,不太进入中断,但仍然输出clk信号,同时使TIM4_CH2开始输出,TIM4_CH2是ccd Trig(TIM4_CH1)的从设备,就是说Trig下降沿时,就会驱动TIM4_CH2计数器加1,TIM_CH2的Pulse设为1,使TIM_CH2立刻达到阈值,输出下降沿,period设为10,这样就能生成ADC的启动信号。
ADC采集结束后,生成busy信号,给stm中断PA8。
中断处理中,将计数器加1,将并行的adc数据存入缓冲区,供主程序使用。
采集2048个像素结束之后,停止TIM4_CH2,TIM1_CH3,TIM1_CH2。标志采集结束。
TIM时钟源CK_INT是APB1的倍频;
CK_INT经CKD分频,驱动CK_CNT;
PWM1:TIMx_CNT<TIMx_CCR1时,PWM=1;PWM2:TIMx_CNT<TIMx_CCR1时,PWM=0
OC1FE: Output compare 1 fast enable :
利用one pulse,实现11639的时序控制:
TIM4的CH1作为trig,触发源选TI1FP1,启动TIM4的计数,CH2作为PWM输出
是slave模式,因为TIM4的计数并不自由