找回密码
 注册
搜索
查看: 3503|回复: 19

[讨论] 请问高手摄像头BYPASS模式

[复制链接]
发表于 2005-10-22 20:28:00 | 显示全部楼层 |阅读模式
有关智多微的C625摄像头控制DSP的bypass模式设置,有做过的兄弟共享下经验.我通过GPIO控制BYPASS模式的使能端,发现片选和数据线能够BYPASS,而复位(reset)无法BYPASS?疑惑中~~~
发表于 2005-10-23 21:26:00 | 显示全部楼层
<P>通常来说bypass mode 是用来 BB直接控制 backend ic 后端器件(目前低端的通常是lcd 器件),可以bypass 过去 ADS cs wr rd 和data总线,个别还有扩展总线的bypass 功能,和组合数据的bypass 功能,来适应不同的lcd。 但是reset 做bypass的情况很少见,目前我还没有接触到。 因为 backend ic 本身在 bypass 状态下(通常系统 boot 后 可能默认态就是bypass了)他本身就需要做reset,这个时候如果reset 被bypass的话,好像设计不是很合理。</P>[br]<p align=right><font color=red>+5 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-10-24 15:35:00 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>zorro7758</I>在2005-10-22 20:28:06的发言:</B>
有关智多微的C625摄像头控制DSP的bypass模式设置,有做过的兄弟共享下经验.我通过GPIO控制BYPASS模式的使能端,发现片选和数据线能够BYPASS,而复位(reset)无法BYPASS?疑惑中~~~</DIV>



我现在也碰到这个问题,只能用软件复位了。不知道你的问题现在解决了没有?
点评回复

使用道具 举报

 楼主| 发表于 2005-10-24 19:59:00 | 显示全部楼层

谢谢仁兄的指点,我也查过其他一些DSP方面的bypass功能,的确有好多reset无法bypass.但是上面那副图是不是说明C625具有这个功能呢?疑惑~~~
如果不通过BYPASS来控制LCD的RESET,在NORMAL mode 下控制,根据DATASHEET上所讲的,需要对IOU_SW_RESET_CTRL这个寄存器进行操作,他的地址是0XC000_0548,我用软件怎么能实现复位呢,下面付图.



按照图是先写地址,再读这个寄存器,是这样么?如果这样,这个地址未免太长了吧.

本帖子中包含更多资源

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

×
点评回复

使用道具 举报

 楼主| 发表于 2005-10-24 20:03:00 | 显示全部楼层
<P>NILES是NORMAL MODE下用软件来实现复位的么?能指点下我的疑问么?谢谢</P><P>我们做的时候,是直接把GPIO口接到LCD的RESET上来实现复位的.没有通过C625.</P>
点评回复

使用道具 举报

发表于 2005-10-25 14:51:00 | 显示全部楼层
<P>你那种接法建议你把625的LCM_RST和CPU控制LCM的BYPASS RST接入一个与门,输出作为LCM复位</P>
<P>这样,当没有BYPASS的时候,可以由625GPIO控制LCM复位。当BYPASS LCM的时候,CPU GPIO直接控制LCM RESET</P>

这样做出来的电路有很大适应性,做硬件就要做到软件万变而我不变


[br]<p align=right><font color=red>+5 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2005-10-25 19:34:00 | 显示全部楼层
<DIV class=quote><B>以下是引用<I>aquasnake</I>在2005-10-25 14:51:17的发言:</B>

<P>你那种接法建议你把625的LCM_RST和CPU控制LCM的BYPASS RST接入一个与门,输出作为LCM复位</P>
<P>这样,当没有BYPASS的时候,可以由625GPIO控制LCM复位。当BYPASS LCM的时候,CPU GPIO直接控制LCM RESET</P>

这样做出来的电路有很大适应性,做硬件就要做到软件万变而我不变

</DIV>


谢谢aquasnake,你的回答帮我解决了很多疑问~~~
我看了你的帖子,看出来你是行家了。其实我们LCM的接法就是像你说的一样,有略微的差别,如下图

要使用哪个就把0欧电阻接到哪一端。
我今天和CHIPNUTS的人交流了下C625,因为我是做LCM的,所以对C625的调试不太懂,其实就是要在正常模式下,实现LCM的复位就行了。现在就是不清楚C625的初始化程序,等CHIPNUTS的人给了程序,我想应该就可以继续调了。
上图的电路是接在PCB板上的,客户要求不能使用MCU来控制LCD的RESET,所以只能通过MCU控制C625来实现~~~
再一次的谢谢aquasnake

本帖子中包含更多资源

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

×
点评回复

使用道具 举报

发表于 2005-10-26 00:01:00 | 显示全部楼层
<P>用跳线的方法设置DNI/0OHM电阻也是很常用的,节约成本,但是工厂作业的时候要对应不同的project改该相应的BOM和SMT程序</P>
<P>我的方法只要down不同的firmware版本就可以</P>

[br]<p align=right><font color=red>+5 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-10-26 10:37:00 | 显示全部楼层
都是高手啊,我看了收益非潜!发个言,挣点分。同时说下,我比较熟悉调试LCD的驱动,有什么问题大家可以交流啊、!
点评回复

使用道具 举报

发表于 2005-10-31 11:22:00 | 显示全部楼层
<P>我也比較熟悉LCD驅動的調試。我是做手機屏的。寫程序都是用的匯編語言,現在很想學用C來寫,但是苦於沒有資料。願意分享的同仁們,麻煩寄給我看看。先謝謝了</P><P>obgnahc@163.com</P>
点评回复

使用道具 举报

 楼主| 发表于 2005-11-3 20:06:00 | 显示全部楼层
<P>呵呵,原来这有这么多搞LCD的同胞们啊,那以后交流就方便了~~</P><P>我也是做LCD模块的,用的是C,汇编基本不会,大家可以共同研究下~~~</P><P>现在我想用C语言编写一个按键的定格画面,也就是说,测试LCD时候,按一下键,画面暂停,再按下就走,再按再停,依此类推。</P><P>我用C编写了一个程序,但是不是采用中断方式,用起来不太方便,有高手可以给下指点</P><P>void Key1()
{
  int flag=0;
     if(!KEY_NEXT)
   {
    Delay(5);
    if(!KEY_NEXT)
      {
       flag+=1;
         while(flag%2)
          {
            if(!KEY_NEXT)
             {</P><P>           Delay(5);
          if(!KEY_NEXT)</P><P>           {
             flag++;
             }
           }
        }
    }
}</P><P>以上为我编写的定格程序,有会中断的朋友,帮忙修改下,就是按下KEY_NEXT键,就会来执行这段程序~~~谢谢

</P>
点评回复

使用道具 举报

发表于 2005-11-4 00:53:00 | 显示全部楼层
<P>一个很简单的例子,我以前用过,</P><P>sbit KEY_NEXT=P1^7; //take for example
void key() interrupt 0
{
  while(KEY_NEXT);
}</P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-11-4 00:59:00 | 显示全部楼层
如果是仅做LCM驱动的话,汇编已经足以满足要求,而且在速度上比C要有很大的优势。C平台对平台的了解程度要很高才能编写出比较高效实用的代码。我现在用C平台写的程序,在测试时的刷新速度就远远不及用汇编写的程序
点评回复

使用道具 举报

发表于 2005-11-4 01:16:00 | 显示全部楼层
<P>还有一种复位的做法就是利用DSP的GPIO口去控制LCD的复位信号,不过这种做法好像有些干扰性的因素。</P><P>另外aquasnake所说与门的方法也需注意一下LCD的RESET信号与DSP的RESET信号需都为低有效才行。</P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2005-11-6 14:06:00 | 显示全部楼层
<P>多谢<b><FONT color=#000066>sincinaty的中断程序,我会尝试下的~~~</FONT></b></P>[em14]
点评回复

使用道具 举报

 楼主| 发表于 2005-12-6 18:39:00 | 显示全部楼层
<P>向大家汇报一下,C625的BYPASS模式总算调试出来了,在这里,谢谢这么多朋友的帮助。</P><P>最大的错误就是:C625在NORAML MODE 下的读写时序不同与BYPASS MODE,其中ADDR2,这个引脚在BYPASS模式下是RS命令,在NORMAL状态下与ADDR1组合相当与RS。</P><P>感谢大家,同时希望大家继续支持我的“再谈C625”的帖子,我的进展都会汇报给大家</P>[br]<p align=right><font color=red>+5 RD币</font></p>
点评回复

使用道具 举报

发表于 2006-2-21 12:59:00 | 显示全部楼层
<P>写给mikal&amp;boxen:</P><P>我是做手机基带硬件开发的,最近我的老大让我转到驱动程序开发,由于以前没有接触过,有点迷茫。请大虾帮帮我,谢谢!
1、手机驱动是一个什么东西?在整个系统中的作用是什么?
2、驱动和BootLoader、BSP的区别?</P><P>3、MMI如何调用驱动程序?</P>
点评回复

使用道具 举报

发表于 2006-2-22 10:33:00 | 显示全部楼层
我也马上就要调试了。。到时候碰到问题,向高手请教下。
点评回复

使用道具 举报

发表于 2006-2-22 23:36:00 | 显示全部楼层
呵呵  说起C625, 3天都说不完, LCD reset在c625上可以通过设置SW reset寄存器的第一个bit(hardware reset)来实现, 不需要另外GPIO控制.[em04]
点评回复

使用道具 举报

发表于 2006-2-22 23:47:00 | 显示全部楼层
<P>如果用8位屏,用C625bypass 会搞的你头大的,建议大家碰到问题先看文档,搞不定再去求助.    以下几点一定要确认:</P><P>1, 手头的驱动一定确认要是最新版本的,我调了半个月问题很多她们才发觉给我的驱动是去年中旬的老版本.</P><P>2&gt;patch版本也是最新的</P><P>3.patch和驱动版本是吻合的,今天刚解决了一个USB检测的问题,就是patch和驱动代码不吻合.</P><P>4.文档一定要最新版本的, 她们老版本的datasheet错误就一打.</P><P>4. chipnuts的软件管理是比较混乱的,很多FAE在客户发现的问题她们好像没做有效的集中管理, 往往是这个客户有问题,调了半天解决了, 而其他FAE给下一个客户的还是有问题的软件.</P>
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-9-23 19:27 , Processed in 0.050495 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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