搜索
bottom↓
回复: 12

求线阵CCD TCD1254数据手册

[复制链接]

出0入0汤圆

发表于 2009-11-14 14:26:19 | 显示全部楼层 |阅读模式
实在是找不到,请各位帮忙!谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-11-14 19:54:05 | 显示全部楼层
如果搞开发的话,建议楼主换流行一点的。

出0入0汤圆

发表于 2009-11-14 19:57:52 | 显示全部楼层
http://www.stmfans.com/html/08/t-2408.html


[原创]用豆皮驱动CCD
发布: 2009-2-18 01:23 | 作者: duqiong | 来源: StmFans思蜕盟 OPELC 自由电子联盟

折腾好几天了,总算出来了   (有不对的地方请大家指正!)

CCD是东芝的TCD1254GFG,2500像素的线阵CCD。用stm32芯片产生CCD需要的三路驱动ICG(Integration clear gate),SH(Shift gate),ΦM(Master clock)。

CCD的1个工作周期分为2个阶段:光积分阶段和电荷转移阶段,光积分阶段实现光电荷的积累,与此同时将上一帧转移到移位寄存器中的电荷向输出放大器移位输出并清空移位寄存器中的无效电荷;电荷转移阶段实现光电荷向移位寄存器中的转移。(这些废话就不说了,看下面时序图,其中ΦM的典型值是2MHz。)

图被我画得有点乱了,将就看吧

CCD驱动时序1.jpg

CCD驱动时序2.jpg

1个SH时钟周期即为CCD的光积分时间,它控制着线阵CCD的整行转移时间,由上图看出其周期应大于等于2546个主时钟周期,只有这样才能保证SH在转移第2行信号时第1行信号能全部转移出器件。(反正就是完全按照上图的时序写,CCD的OS管脚就能输出光电转换后的信号了)
这里我假设SH周期为2575个M时钟,即2575*500ns=1287500ns。ICG和SH的周期是一样的。


使用stm32的内部时钟HSI,16倍频,SYSCLK=8/2*16=64MHz。
TIMxCLK=64MHz,三个信号都使用了PWM输出模式。

1、ΦM信号
由ΦM频率=2MHz可推算出ARR值,由占空比=50%可推算出CRR1值
  /* -----------------------------------------------------------------------
    TIM3 Configuration: generate 1 PWM signal:
    TIM3CLK = 64 MHz, Prescaler = 0x0, TIM3 counter clock = 64 MHz
    TIM3 ARR Register = 31 => TIM3 Frequency = TIM3 counter clock/(ARR + 1)
    TIM3 Frequency = 2 MHz.
    TIM3 Channel1 duty cycle = (TIM3_CCR1/ TIM3_ARR+1)* 100 = 50%
  ----------------------------------------------------------------------- */

/* Time base configuration: TIM3 */
  TIM_TimeBaseStructure.TIM_Period = 31;
  TIM_TimeBaseStructure.TIM_Prescaler = 0;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

  TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);

  /* PWM1 Mode configuration: TIM3 Channel1 */
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = CCR1_Val;  //TIM3 CCR1 value:16
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

  TIM_OC1Init(TIM3, &TIM_OCInitStructure);

  TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);


2、ICG信号
由周期1287500ns推算出ARR值,再由ICG的负脉冲=t2+t3+t1=500+7062.5+5000=12562.5(假设三者均为典型值附近)推算出占空比,从而得到CCR2值。
  /* -----------------------------------------------------------------------
    TIM2 Configuration: generate 1 PWM signal:
    TIM2CLK = 64 MHz, Prescaler = 0x3, TIM2 counter clock = 16 MHz
    TIM2 ARR Register = 20599 => TIM2 Frequency = TIM2 counter clock/(ARR + 1)
    TIM2 Frequency = 1/(1287500ns) Hz.
    TIM2 Channel2 duty cycle = (TIM2_CCR2/ TIM2_ARR+1)* 100 = (201/20600) %
  ----------------------------------------------------------------------- */

  /* Time base configuration: TIM2 */
  TIM_TimeBaseStructure.TIM_Period = 20599;
  TIM_TimeBaseStructure.TIM_Prescaler = 3;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

  /* PWM2 Mode configuration: TIM2 Channel2 */
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;  //用PWM2模式使得输出极性反向
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = CCR2_Val;  //TIM2 CCR2 value:201
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

  TIM_OC2Init(TIM2, &TIM_OCInitStructure);

  TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable);


3、SH信号
由周期1287500ns推算出ARR值,再由SH的正脉冲=7000(以t3附近作的假设)推算出占空比,从而得到CCR3值。
  /* -----------------------------------------------------------------------
    TIM4 Configuration: generate 1 PWM signals:
    TIM4CLK = 64 MHz, Prescaler = 0x3, TIM4 counter clock = 16 MHz
    TIM4 ARR Register = 20599 => TIM4 Frequency = TIM4 counter clock/(ARR + 1)
    TIM4 Frequency = 1/(1287500ns) Hz.
    TIM4 Channel3 duty cycle = (TIM4_CCR3/ TIM4_ARR+1)* 100 = (112/20600)%
  ----------------------------------------------------------------------- */

  /* Time base configuration: TIM4 */
  TIM_TimeBaseStructure.TIM_Period = 20599;
  TIM_TimeBaseStructure.TIM_Prescaler = 3;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

  TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);

  /* PWM1 Mode configuration: TIM4 Channel3 */
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_Pulse = CCR3_Val;  //TIM4 CCR3 value:112
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

  TIM_OC3Init(TIM4, &TIM_OCInitStructure);

  TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);


4、使能输出
  /* TIM3 enable counter */
  TIM_Cmd(TIM3, ENABLE);
  
  delay(6);//调整延时以满足驱动时序的t4要求
  
  /* TIM2 enable counter */
  TIM_Cmd(TIM2, ENABLE);
  
/* TIM4 enable counter */
  TIM_Cmd(TIM4, ENABLE);
  

5、延时
  void delay(u32 time)
  {
    int i;
    for (i=time; i>0; i--);
  }


OK了!PA6输出Mclock,PA1输出ICG,PB8输出SH。
用示波器看看驱动时序对不对。(这里顺便赞一下炳哥哥推荐的示波器,真不错!)

1、ΦM频率=2MHz
2、ICG周期=1.288ms
3、SH周期=1.288ms


M时钟.jpg


ICG周期.jpg


SH周期.jpg



4、ICG负脉宽=12.56us
5、SH正脉宽=t3=7.000us
6、SH和ICG


ICG负脉宽.jpg

  

SH正脉宽.jpg

  

SH和ICG.jpg



7、t1=5.20us
8、t2=472ns
9、t4=96ns


t1.jpg

  

t2.jpg

  

t4.jpg



与数据手册对照一下,全都符合!(太兴奋了)

现在CCD还没到,过几天到了打算把CCD和豆皮连上,放个条码图像看看CCD

出0入0汤圆

发表于 2011-4-14 16:48:15 | 显示全部楼层
爱死你们了,天助我也。。。

出0入0汤圆

发表于 2011-4-14 17:06:15 | 显示全部楼层
回复【4楼】mcu131368
爱死你们了,天助我也。。。
-----------------------------------------------------------------------

那还不赶快以身相许?

出0入0汤圆

发表于 2011-4-15 10:38:53 | 显示全部楼层
还没有数据手册哦,谁好心传一个上来啊

出0入0汤圆

发表于 2011-7-11 21:03:48 | 显示全部楼层
MARK!!!

出0入4汤圆

发表于 2011-7-11 21:29:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-5-17 10:02:55 | 显示全部楼层

激动mark

出5入8汤圆

发表于 2013-11-27 16:31:51 | 显示全部楼层
不知楼主有没有研究过TCD1304AP,可以谈谈经验吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-4-9 21:49:49 | 显示全部楼层
楼主可否告之QQ,我有TCD1254项目,是否愿意承接?

出0入0汤圆

发表于 2014-4-9 21:52:32 | 显示全部楼层
mcu131368 发表于 2011-4-14 16:48
爱死你们了,天助我也。。。

有TCD1254项目外发,您愿意承接么?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-14 05:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表