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的计数并不自由

posted @ 2019-08-27 13:12  得一寸  阅读(477)  评论(0编辑  收藏  举报