智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 975|回复: 6
打印 上一主题 下一主题

蓝宙ccd自适应算法

[复制链接]

10

主题

105

帖子

0

精华

高级会员

Rank: 4

积分
912
威望
499
贡献
249
兑换币
299
注册时间
2015-10-17
在线时间
82 小时
毕业学校
太原工业学院
跳转到指定楼层
1#
发表于 2016-4-9 14:17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
6贡献
问这个函数 有啥用
void StartIntegration(void)
{

    unsigned char i;

    SI_SetVal();            /* SI  = 1 */
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SI_ClrVal();            /* SI  = 0 */
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */

    for(i=0; i<127; i++)
    {
        SamplingDelay();
        SamplingDelay();
        CLK_SetVal();       /* CLK = 1 */
        SamplingDelay();
        SamplingDelay();
        CLK_ClrVal();       /* CLK = 0 */
    }
    SamplingDelay();
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */
}

求助!!!!

最佳答案

查看完整内容

这个函数跟自适应没什么关系 就为了说明CCD 时序问题 128 个像素的采集与输出用到了 SI 和 CLK 信号,在这 128 个像素之外,还有一个开关逻辑控制和移位寄存器电路。SI 通过该电路,控制每一个像素的积分和复位操作;CLK 通过该电路控制每一个像素电压的依次输出。 我们需要按照上CCD时序对CCD进行曝光与采集的控制。 图中,第 19 个 CLK 到下一个 SI 开始的这段时间,就是 CCD 的积分时间,及曝 光时间,之前的 18 个 CLK 的 ...
回复

使用道具 举报

6

主题

142

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1005
QQ
威望
534
贡献
287
兑换币
346
注册时间
2015-11-15
在线时间
92 小时
毕业学校
FF14
2#
发表于 2016-4-9 14:17:06 | 只看该作者
这个函数跟自适应没什么关系 就为了说明CCD 时序问题
128 个像素的采集与输出用到了 SI 和 CLK 信号,在这 128 个像素之外,还有一个开关逻辑控制和移位寄存器电路。SI 通过该电路,控制每一个像素的积分和复位操作;CLK 通过该电路控制每一个像素电压的依次输出。
我们需要按照上CCD时序对CCD进行曝光与采集的控制。
图中,第 19 个 CLK 到下一个 SI 开始的这段时间,就是 CCD 的积分时间,及曝
光时间,之前的 18 个 CLK 的时间为积分器的复位时间。在每一个 SI 信号之后
采集到的像素均是这个 SI 信号之前曝光得到的图像。具体的方法是:在 SI 持
续高电平 20ns 后产生第一个 CLK 信号,并在每个 CLK 信号的下降沿时采集 AO
引脚输出的电压值。在采集了 128 个像素后,还必须生成第 129 个 CLK 信号以
结束本次采集。在第 129 个 CLK 之后到下一个 SI 信号之间的时间就是下次采集
的曝光时间。

void TSL1401_GetLine(void)
{
u8 i;
CCDab_SI(1);
Delay(1);
CCDab_CLK(1);
Delay(1);
CCDab_SI(0);
Delay(1);
Delay(2);
CCDab_CLK(0);
//采样第一个点
CCDa_Pixel[0]=adc_once(1,4);
CCDb_Pixel[0]=adc_once(1,5);
//采集第 2~128 个点
for(i=1; i<128; i++)
{
Delay(2);
CCDab_CLK(1);
Delay(2);
CCDab_CLK(0);
CCDa_Pixel[i]=adc_once(1,4);
CCDb_Pixel[i]=adc_once(1,5);
}
//发送第 129 个 clk
Delay(2);
CCDab_CLK(1);
Delay(2);
CCDab_CLK(0);
CCDa_Pixel[0]=CCDa_Pixel[1];
CCDb_Pixel[0]=CCDb_Pixel[1];
}
给你个参考 这里用到了2个CCD
回复

使用道具 举报

30

主题

468

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2961

活跃会员奖章优秀会员奖章在线王奖章

QQ
威望
1390
贡献
763
兑换币
893
注册时间
2015-10-9
在线时间
404 小时
3#
发表于 2016-4-9 14:42:06 | 只看该作者
论坛   好生分啊,,,,,,帮不上忙


兄弟我顶你下
回复

使用道具 举报

2

主题

37

帖子

0

精华

高级会员

Rank: 4

积分
751
威望
332
贡献
179
兑换币
200
注册时间
2016-3-26
在线时间
120 小时
毕业学校
西安工业大学
4#
发表于 2016-4-9 14:48:28 | 只看该作者
开始曝光或者开始采集信息来着
回复

使用道具 举报

6

主题

142

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1005
QQ
威望
534
贡献
287
兑换币
346
注册时间
2015-11-15
在线时间
92 小时
毕业学校
FF14
5#
发表于 2016-4-9 15:08:43 | 只看该作者
这个函数没啥用
回复

使用道具 举报

10

主题

105

帖子

0

精华

高级会员

Rank: 4

积分
912
威望
499
贡献
249
兑换币
299
注册时间
2015-10-17
在线时间
82 小时
毕业学校
太原工业学院
6#
 楼主| 发表于 2016-4-9 16:12:01 | 只看该作者
紫猫 发表于 2016-4-9 15:15
这个函数跟自适应没什么关系 就为了说明CCD 时序问题
128 个像素的采集与输出用到了 SI 和 CLK 信号,在这 ...

谢谢 啊
回复

使用道具 举报

0

主题

54

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1088
威望
561
贡献
335
兑换币
366
注册时间
2015-7-17
在线时间
96 小时
毕业学校
蓝翔
7#
发表于 2016-4-10 12:16:08 | 只看该作者
哥们别黑我大蓝翔
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-20 00:39 , Processed in 0.045308 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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