注册 登录
查看: 4504|回复: 47

山外线性CCD管脚接线说明及增减线性CCD数目说明

[复制链接]
发表于 2014-5-27 16:46:54 | 显示全部楼层 |阅读模式
山外线性CCD例程的管脚都是可配置的:Board\src\FIRE_TSL1401.c
  1. //配置CCD管脚
  2. //                          CCD1            CCD2        CCD3

  3. #if 1             //宏条件编译选择不同的信号类型
  4. ADCn_Ch_e   tsl1401_ch[] = {ADC0_DP1,     ADC0_DP0,    ADC1_DP1};       //CCD所用的 ADC通道(原始信号)
  5. #else
  6. ADCn_Ch_e   tsl1401_ch[] = {ADC0_DM1,     ADC0_DM0,    ADC1_DM1};       //CCD所用的 ADC通道(放大信号)
  7. #endif
  8. PTXn_e      tsl1401_si[] = {PTE6 ,        PTE8 ,       PTE10};          //CCD所用的 SI管脚
  9. PTXn_e      tsl1401_clk[] = {PTE7 ,        PTE9 ,       PTE12};         //CCD所用的 SI管脚
  10. PTXn_e      tsl1401_led[] = {PTA8 ,        PTA9 ,       PTD15};         //CCD 补光 所用的 LED_EN 管脚
如果需要使用原始信号,那么上述的条件编译就为1,如果需要使用放大信号,那么上述的条件编译就改成0。


例程配套的接线方式(调试器上的原理图)


线性CCD配套的软排线转直插的转接板原理图:


增减线性CCD数目的说明

如果需要增减 线性CCD的数目,那么只需要 Board\inc\FIRE_TSL1401.h 里修改线性CCD编号:
  1. typedef enum
  2. {
  3.     TSL1401_L,      //左
  4.     TSL1401_M,      //中
  5.     TSL1401_R,      //右

  6.     TSL1401_MAX,
  7. } TSL1401_e;
假设我只需要一个线性CCD:
  1. typedef enum
  2. {
  3.     TSL1401_L,      //左

  4.     TSL1401_MAX,
  5. } TSL1401_e;
线性CCD初始化的时候需要配置采集地址的,只需要设置一个地址即可:
  1. uint8 buff[TSL1401_SIZE];
  2. tsl1401_set_addrs(TSL1401_MAX, buff);

本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

回复

使用道具 举报

发表于 2014-5-27 16:49:04 | 显示全部楼层
tsl1401_set_addrs 函数,居然是可变参数的,厉害
回复 支持 反对

使用道具 举报

发表于 2014-6-6 08:13:45 | 显示全部楼层
用两个呢、。??? 地址设置 tsl1401_set_addrs(TSL1401_MAX,(uint8 *)&CCD_BUFF[0],(uint8 *)&CCD_BUFF[1]);?   typedef enum
{
    TSL1401_L,      //左
    TSL1401_M,      //中
    //TSL1401_R,      //右

    TSL1401_MAX,
} TSL1401_e;这样?
回复 支持 反对

使用道具 举报

发表于 2014-6-6 08:14:41 | 显示全部楼层
uint8 CCD_BUFF[TSL1401_MAX*2][TSL1401_SIZE];
回复 支持 反对

使用道具 举报

发表于 2014-6-17 17:37:11 | 显示全部楼层
帅呆了,赞一个
回复 支持 反对

使用道具 举报

发表于 2014-7-9 14:41:54 | 显示全部楼层
修改tsl1401_max即可
回复 支持 反对

使用道具 举报

发表于 2015-1-10 23:53:26 | 显示全部楼层
有点厉害啊
回复 支持 反对

使用道具 举报

发表于 2015-1-13 16:01:54 | 显示全部楼层
ADC0_DP1,     ADC0_DP0,    ADC1_DP1
这几个管脚具体到K60上是哪些脚啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-13 17:44:40 | 显示全部楼层
Zhangweng 发表于 2015-1-13 16:01
ADC0_DP1,     ADC0_DP0,    ADC1_DP1
这几个管脚具体到K60上是哪些脚啊

K60 管脚复用问题 配置(KL26也同理) - 智能车资料区 - 山外论坛 http://vcan123.com/thread-18-1-1.html
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-1-13 21:01:50 | 显示全部楼层
谢谢~~
顶个
回复 支持 反对

使用道具 举报

发表于 2015-1-19 15:06:53 | 显示全部楼层
还是不会改CCD个数。。。。。按照所说的方法改,不跟怎样都用多功能助手看不到图像和数据啊,我只用了一个CCD。。。。有大神教我么。。我是小白啊
回复 支持 反对

使用道具 举报

发表于 2015-3-5 22:41:05 | 显示全部楼层
库里面看到
typedef enum
{
    TSL1401_L,      //左
    TSL1401_M,      //中
    TSL1401_R,      //右

    TSL1401_MAX,
} TSL1401_e;

uint8 CCD_BUFF[TSL1401_MAX*3][TSL1401_SIZE];

TSL1401_MAX在定义时,它的值不是已经是3了吗,按理只需要3个这样的数组,这里为什么还要TSL1401_MAX*3=9
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-6 10:32:07 | 显示全部楼层
everjjj 发表于 2015-3-5 22:41
库里面看到
typedef enum
{

多预备几个缓冲区来图像处理。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-3-11 21:23:04 | 显示全部楼层
沒看懂  哈哈
回复 支持 反对

使用道具 举报

发表于 2015-3-11 21:25:18 | 显示全部楼层
初始化的地方修改後編譯失敗
回复 支持 反对

使用道具 举报

发表于 2015-3-11 21:27:01 | 显示全部楼层
用一個呢?求大神指教
回复 支持 反对

使用道具 举报

发表于 2015-3-12 15:03:06 | 显示全部楼层
为什么楼主给的CCD所用管脚与KL26管脚分配图上的不一致???
回复 支持 反对

使用道具 举报

发表于 2015-3-12 15:05:04 | 显示全部楼层
我们只用了一个CCD,但是液晶一直不能显示图像。都需要改哪些地方?跪求指导!!!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-12 15:06:31 | 显示全部楼层
734168 发表于 2015-3-12 15:05
我们只用了一个CCD,但是液晶一直不能显示图像。都需要改哪些地方?跪求指导!!!!!

自行判断是采集失败,还是液晶显示问题吧。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-3-12 15:09:30 | 显示全部楼层
山外哥,你能说说都需要改哪些地方吗?
回复 支持 反对

使用道具 举报

发表于 2015-3-12 15:10:51 | 显示全部楼层
山外メ雲ジ 发表于 2015-3-12 15:06
自行判断是采集失败,还是液晶显示问题吧。

我们觉得是3个CCD变成1个没有改好,但是不知道怎么改了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-12 15:12:53 | 显示全部楼层
734168 发表于 2015-3-12 15:10
我们觉得是3个CCD变成1个没有改好,但是不知道怎么改了

你可以先不改试试采集。


来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-3-12 15:15:04 | 显示全部楼层
山外メ雲ジ 发表于 2015-3-12 15:12
你可以先不改试试采集。

你的意思是用上位机先采集看看,但是如果不改可以采集吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-12 15:21:40 | 显示全部楼层
734168 发表于 2015-3-12 15:15
你的意思是用上位机先采集看看,但是如果不改可以采集吗?

不改也可以采集的。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-3-12 15:28:00 | 显示全部楼层
山外メ雲ジ 发表于 2015-3-12 15:21
不改也可以采集的。

我们直接用例程采集上来的都是乱码,不知道是怎么回事。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-12 15:29:49 | 显示全部楼层
734168 发表于 2015-3-12 15:28
我们直接用例程采集上来的都是乱码,不知道是怎么回事。

你是用我们的小底板来接线吗?
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-3-12 15:32:05 | 显示全部楼层
山外メ雲ジ 发表于 2015-3-12 15:29
你是用我们的小底板来接线吗?

不是,是我们自己画的板子,但是接口都对啊。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-12 16:23:41 | 显示全部楼层
734168 发表于 2015-3-12 15:32
不是,是我们自己画的板子,但是接口都对啊。

试试直接用我们小底板测试吧。即使接口对,可能焊错等原因导致不行。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-3-15 16:48:29 | 显示全部楼层
用小液晶显示   不用大液晶显示   需要改什么
回复 支持 反对

使用道具 举报

发表于 2015-3-25 15:55:55 | 显示全部楼层
为什么ccd是5V供电而不是3.3V供电?单片机AD只能采集0——3.3V的电压吧
回复 支持 反对

使用道具 举报

发表于 2015-3-25 16:07:30 | 显示全部楼层
山外哥。我用的是山外的CCD,程序也是山外的例程。可是采集的图像总是在黑线两边跳动。请快帮我看看是什么原因,我都找了半天了。谢谢!!
回复 支持 反对

使用道具 举报

发表于 2015-3-25 16:09:14 | 显示全部楼层
忘行云 发表于 2015-3-25 16:07
山外哥。我用的是山外的CCD,程序也是山外的例程。可是采集的图像总是在黑线两边跳动。请快帮我看看是什么 ...

闪烁跳动问题,是白光灯干扰到的。

你在论坛全文搜索一下 白光灯,或者闪烁,就会有相应帖子。
回复 支持 反对

使用道具 举报

发表于 2015-3-25 16:50:26 | 显示全部楼层
尔蕾4309 发表于 2015-3-25 16:09
闪烁跳动问题,是白光灯干扰到的。

你在论坛全文搜索一下 白光灯,或者闪烁,就会有相应帖子。

没有找到相应的帖子,如果是白光灯的原因,那么有什么好的办法可以降低白光灯的影响吗?




回复 支持 反对

使用道具 举报

发表于 2015-4-11 19:43:49 | 显示全部楼层
山外哥 原始信号和放大信号有什么不一样?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-11 19:44:33 | 显示全部楼层
西方 发表于 2015-4-11 19:43
山外哥 原始信号和放大信号有什么不一样?

一个是原始的,一个是对信号进行放大。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-5-25 20:39:34 | 显示全部楼层
山外哥,快帮我看一下这是什么情况?

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2015-7-10 17:59:33 | 显示全部楼层
山外メ雲ジ 发表于 2015-4-11 19:44
一个是原始的,一个是对信号进行放大。

山外哥  加的第二个CCD不是你们店的  定义里面也改了  但就是无法显示到LCD屏幕上去  什么原因??
回复 支持 反对

使用道具 举报

发表于 2015-11-2 21:12:04 | 显示全部楼层
关于CCD加减的个人体会。
我自己买的是山外的CCD,接在CCD3口上,这个和我的智能车电路板结构有关。我按照这个帖子的提示改掉了枚举值但是CCD发送的数值在上位机上是杂乱无章的,但是同时采集三个CCD是可以在上位机上看到采集的图像的。这里我调试了半天,解决了硬件中断错误,也解决了数据发送给上位机的问题。最后是解决了加减CCD的问题了。
那么问题出在哪里呢,我分析了很久的逻辑(智商低)才搞清楚,加减CCD要按顺序来。L、M、R对应的是KL26开发板CCD1、CCD2、CCD3。如果你要用一个CCD,那么除了按照上面的代码一模一样来修改以外,还要把CCD接在CCD1上。注意,代码修改枚举值的一部分必须一模一样。同理如果使用两个CCD,那么只能接在CCD1、CCD2这样按顺序来。山外的库函数在设计的时候也是按照这个逻辑来考虑的,所以祝各位好运了。
回复 支持 反对

使用道具 举报

发表于 2016-1-12 23:26:26 | 显示全部楼层
我用的山外库  其实就是吧MAX 那里改成1,2,3就可以选择用几个CCD
回复 支持 反对

使用道具 举报

发表于 2016-1-12 23:30:22 | 显示全部楼层
丨筱杰呦丨 发表于 2014-6-6 08:14
uint8 CCD_BUFF[TSL1401_MAX*2][TSL1401_SIZE];

对的
回复 支持 反对

使用道具 举报

发表于 2016-1-22 14:24:11 | 显示全部楼层
并不会改。。。。
回复 支持 反对

使用道具 举报

发表于 2016-1-24 15:09:46 | 显示全部楼层
一个CCD怎么改
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-24 15:42:12 | 显示全部楼层
65387468 发表于 2016-1-24 15:09
一个CCD怎么改

帖子底部有说明
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2016-1-24 17:16:37 | 显示全部楼层
山外的库 接线也没问题 串口能接受到数据
改了这个 typedef enum
{
    TSL1401_L,      //左
    //TSL1401_M,      //中
    //TSL1401_R,      //右

    TSL1401_MAX,
} TSL1401_e;

uint8 CCD_BUFF[TSL1401_MAX*1][TSL1401_SIZE];
tsl1401_set_addrs(TSL1401_MAX,(uint8 *)&CCD_BUFF[0]);   //配置 TSL1401_MAX 个线性CCD 的存储图像地址
这样改对吗 但是串口显示的是
6124@:#???爢d5?堟
回复 支持 反对

使用道具 举报

发表于 2016-1-24 17:17:53 | 显示全部楼层
6124@:#???爢d5?堟??$;B&*#-6124@:#???爢d5?堟??$;B&*#-6124@:#???爢d5?堟??$;B&*#-6124@:#???爢d5?堟??$;B&*#-6124@:#???爢d5?堟??$;B&*#-串口显示的

16进制是 3F 3F 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 01 02 03 02 02 02 02 02 02 02 02 02 02 02 02 02 01 02 02 02 02 02 02 02 02 02 02 02 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 3F A0 86 01 64 35 3F 05 88 E6 3F 3F 1F 02 1E 1F 24 3B 42 26 2A 1B 23 2D 36 31 32 34 40 3A 1E 1F 23 3F 02 3F 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 03 02 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 01 02 02 02 02 02 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 01 02 02 02 02 03 02 02 02 02 02 02 02 03 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 3F A0 86 01 64 35 3F 05 88 E6 3F 3F 1F 02 1E 1F 24 3B 42 26 2A 1B 23 2D 36 31 32 34 40 3A 1E 1F 23 3F 02 3F 02 02 02 02 02 02 01 02 02 02 02 02 02 02 02 02 02 02 02 02 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 01 01 01 01 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 数据对吗
回复 支持 反对

使用道具 举报

发表于 2016-3-14 15:06:42 | 显示全部楼层
请问你图像出现这种问题解决了吗,我也遇到和你一样的问题
回复 支持 反对

使用道具 举报

发表于 2016-3-14 15:09:24 | 显示全部楼层
zhouyuhao 发表于 2015-5-25 20:39
山外哥,快帮我看一下这是什么情况?

请问你图像出现这种问题解决了吗,我也遇到和你一样的问题
回复 支持 反对

使用道具 举报

发表于 2016-3-26 19:47:49 | 显示全部楼层
CCD里的SI和CLK引脚可以自定义吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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