您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> [求助]bf526连接cmos的问题
本帖共有3914个阅读者
发表帖子 发表投票 回复主题
[求助]bf526连接cmos的问题
wulue90(论坛新手)
wulue90
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:194
积分:16
注册时间:2012/5/8
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]bf526连接cmos的问题

cmos用的是sp82318

做了一块板子


上传的图片
  20125812531729.png [ 35.17 KB 390×541 ] (缩略时请点击查看原图)

 

ppifs1和ppifs2是两个同步信号 ppifs3接地了



主要是想用sda scl来实现iic来控制cmos的一些参数设置

不知具体的编程应该怎么实现

之前有看过openadsp的视频 那上面有给出ov9563的地址

这个不知道怎么找出cmos地址


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/5/8 12:56:25
wulue90(论坛新手)
wulue90
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:194
积分:16
注册时间:2012/5/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

build的时候有这个问题怎么解决?

".\DMA_CONFIG.c", line 25: cc0020:  error: identifier "RESTART" is undefined
  *pDMA0_CONFIG =  WNR | WDSIZE_16| DMA2D | RESTART | DI_EN;
                                            ^
我把RESTART删了会有影响吗?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/5/8 14:26:44
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

1. 你找一下 sp82318 的数据手册,数据手册中会有描述其 IIC器件地址为多少。

2. 你注意下你的摄像头复位为高复位还是低复位,确定是否就可以和DSP共用复位。

3. CMOS的驱动代码在OpenADSP网站 下载中可以下到,你直接使用CMOS驱动中的IIC代码即可。那个代码中IIC采用PF0和PF1。

4. RESTART没有定义,你可以查找VDSP自带的帮助文件,确认DMA0_CONFIG 寄存器中 RESTART位于哪一位,然后自己定义一下RESTART即可。或者直接将配置值写入该寄存器对应位。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/5/8 17:26:56
wulue90(论坛新手)
wulue90
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:194
积分:16
注册时间:2012/5/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

那个复位的是用硬件实现 应该没多大影响 (暂时还没用)

主要是那个cmos地址 刚才看了器件手册 没有具体写(可能我没认真看到)

看下面一段 是不是说器件地址就是30H?


上传的图片
  20125818212636.png [ 61.28 KB 853×482 ] (缩略时请点击查看原图)

 



那个IIC的程序我有看 主要的问题是Bf526的头文件中没有*pFIO的寄存器

而bf533有




上传的图片
  20125818264136.png [ 14.04 KB 570×371 ] (缩略时请点击查看原图)

 

这个问题怎么解决呢?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/5/8 18:27:02
wulue90(论坛新手)
wulue90
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:194
积分:16
注册时间:2012/5/8
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

刚才又看了一遍 写地址确实是30H




上传的图片
  20125818404536.png [ 16.77 KB 827×101 ] (缩略时请点击查看原图)

 



这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/5/8 18:40:59
wulue90(论坛新手)
wulue90
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:194
积分:16
注册时间:2012/5/8
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

cmos设置中

void init_OV9653(void)
{
mcu_i2c.sclk = PF0;         //时钟PF脚
mcu_i2c.sdata = PF1;        //数据PF脚
mcu_i2c.low_ns = 7000;      //低电平延时 ns
mcu_i2c.high_ns = 6000;     //高电平延时 ns          
i2c_init(&mcu_i2c);



我自己是用的61 63管脚 是不是不应该写成PF0 PF1?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/5/8 18:56:12
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

BF526和BF533的IO控制方法完全不同,你看下VDSP下

Analog Devices\VisualDSP 5.0\Blackfin\Examples\ADSP-BF526 EZ-KIT Lite\Power_On_Self_Test

中的LED的例子,看IO是如何操作的。

使用的IO端口,可以看一下BF526  EZKIT的原理图,看61 63管脚的端口是多少,如PORTFx等。然后根据LED那个代码的配置方法配置你的IO。

或者你找到帮助文件中的端口描述表,搜索PORT F  ,找到BF526就可找到更详细的端口描述。




这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/5/9 1:49:11
wulue90(论坛新手)
wulue90
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:194
积分:16
注册时间:2012/5/8
7信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线


上传的图片
  2012599453677.png [ 48.37 KB 560×596 ] (缩略时请点击查看原图)

 

61 63管脚应该是TWI的SDA和SCL管脚 不是普通的io口 这个是不是就不能用普通io的方法去控制了?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/5/9 9:46:47
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
8信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF526上有TWI的控制器,所以IIC代码你不能使用533下的模拟的,在VDSP下有完整的TWI控制代码,将那两个C文件拷出来,按照他的用法使用就可以了,很方便。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2012/5/9 11:44:59
wulue90(论坛新手)
wulue90
头衔:社区公民
帮派:无帮无派
帖数:15
金钱:194
积分:16
注册时间:2012/5/8
9信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

是说Analog Devices\VisualDSP 5.0\Blackfin\Examples\ADSP-BF526 EZ-KIT Lite\Power_On_Self_Test

里面的twi吗?我只看到一个


上传的图片
  201259135875.png [ 7.09 KB 276×340 ] (缩略时请点击查看原图)

 

就是twi_interface.c

里面有两个函数




上传的图片
  2012591362075.png [ 1.55 KB 960×22 ] (缩略时请点击查看原图)

 


上传的图片
  2012591363075.png [ 2.49 KB 769×72 ] (缩略时请点击查看原图)

 

就是用这两个函数来替代之前的IIC的读写吗


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2012/5/9 13:06:57
22
1
1/3
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159312 Call, 1 Queries, Processed in 0.031250 second(s),