Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    第二次调试MIPI屏幕,套路居然又不太一样?

    D1系列-RISC-V
    5
    13
    1162
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • IAMLIUBO
      IAMLIUBO LV 5 last edited by

      前情回顾

      三个月之前有调试过一块MIPI接口的小屏幕,最近又买了一款新的MIPI接口的屏幕,本以为会像上次一样顺顺利利的,结果....

      废话不多说,这次买的屏幕长这样:
      304934d8-ccb1-4534-939b-6d5b70f2ff1b-image.png

      基本参数:
      9d6c5812-3cfb-4a89-a757-16c218de25b0-image.png

      是2通道的MIPI接口,驱动IC是ST7701s,2寸,分辨率480*360。

      管脚:
      3ff7a404-acb6-476f-8e7b-91ca8f3c2586-image.png

      转接板:
      479928c8-f2a4-40f5-88f4-330dc39c0000-image.png
      0a971d4a-32cb-4e94-89fd-f17f2db2b483-image.png

      数据手册:
      ST7701S_SPEC_+V1.1.pdf

      初始化代码:

      /*
      VFP=VBP=6=VS=6
      HFP=HBP=6=HS=220
      pll_clock=155;
      */
      WriteComm (0xFF);     
      WriteData (0x77);   
      WriteData (0x01);   
      WriteData (0x00);   
      WriteData (0x00);   
      WriteData (0x13);
               
      WriteComm (0xEF);
      WriteData (0x08);                 
      WriteComm (0xFF);
      WriteData (0x77);   
      WriteData (0x01);   
      WriteData (0x00);   
      WriteData (0x00);   
      WriteData (0x10); 
              
      WriteComm (0xC0);     
      WriteData (0x2C);   
      WriteData (0x00); 
                      
      WriteComm (0xC1);    
      WriteData (0x08);   
      WriteData (0x02); 
                      
      WriteComm (0xC2);     
      WriteData (0x37);    
      WriteData (0x05); 
                       
      WriteComm (0xCC);
      WriteData (0x10);
      .....
      
      // 稍微有点多....
      // 下面是我整理过的
      {0xFF, 5, {0x77, 0x01, 0x00, 0x00, 0x13} },
      {0xEF, 1, {0x08}},
      {0xFF, 5, {0x77, 0x01, 0x00, 0x00, 0x10}},
      {0xC0, 2, {0x2C, 0x00}},  // SCNL = (0x2c + 1) * 8 = 360
      {0xC1, 2, {0x08, 0x02}},  // VFB=0x08 VBF=0x02
      {0xC2, 2, {0x37, 0x05}},  // PCLK= 512 + (0x05 * 16) = 592
      {0xCC, 1, {0x10}},
      {0xB0, 16, {0x04, 0x0E, 0x17, 0x0B, 0x0F, 0x06, 0x08, 0x08, 0x08, 0x24, 0x04, 0x11, 0x0F, 0x2C, 0x33, 0x13}},
      {0xB1, 16, {0x0C, 0x16, 0x1D, 0x0E, 0x11, 0x06, 0x08, 0x08, 0x08, 0x24, 0x05, 0x13, 0x11, 0x2D, 0x33, 0x1F}},
      {0xFF, 5, {0x77, 0x01, 0x00, 0x00, 0x11}},
      {0xB0, 1, {0x54}},
      {0xB1, 1, {0x76}},
      {0xB2, 1, {0x87}},
      {0xB3, 1, {0x80}},
      {0xB5, 1, {0x4B}},
      {0xB7, 1, {0x85}},
      {0xB8, 1, {0x21}},
      {0xC1, 1, {0x78}},
      {0xC2, 1, {0x78}},
      {0xD0, 1, {0x88}},
      {REGFLAG_DELAY, REGFLAG_DELAY, { 20 } },
      {0xE0, 3, {0x00, 0x00, 0x02}},
      {0xE1, 11, {0x02, 0x00, 0x04, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x33, 0x33}},
      {0xE2, 12, {0x11, 0x11, 0x33, 0x33, 0x6E, 0x00, 0x70, 0x00, 0x6D, 0x00, 0x6F, 0x00}},
      {0xE3, 4, {0x00, 0x00, 0x11, 0x11}},
      {0xE4, 2, {0x44, 0x44}},
      {0xE5, 16, {0x03, 0x6F, 0x00, 0xFF, 0x05, 0x71, 0x00, 0xFF, 0x07, 0x73, 0x00, 0xFF, 0x09, 0x6D, 0x00, 0xFF}},
      {0xE6, 4, {0x00, 0x00, 0x11, 0x11}},
      {0xE7, 2, {0x44, 0x44}},
      {0xE8, 16, {0x02, 0x6E, 0x00, 0xFF, 0x04, 0x70, 0x00, 0xFF, 0x06, 0x72, 0x00, 0xFF, 0x08, 0x6C, 0x00, 0xFF}},
      {0xEB, 7, {0x00, 0x01, 0x4E, 0x4E, 0xEE, 0x44, 0x00}},
      {0xED, 16, {0x4F, 0x01, 0x23, 0x56, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x65, 0x32, 0x10, 0xF4}},
      {0xEF, 6, {0x10, 0x0D, 0x04, 0x08, 0x3F, 0x1F}},
      {0xFF, 5, {0x77, 0x01, 0x00, 0x00, 0x00}},
      {0x11, 0, {0x00}},
      {REGFLAG_DELAY, REGFLAG_DELAY, { 120 } },
      {0x36, 0, {0x00}},
      {0x35, 0, {0x00}},
      {0x29, 0, {0x00}},
      { REGFLAG_END_OF_TABLE, REGFLAG_END_OF_TABLE, {} }
      

      现在有个疑问是下面的这几个参数,手册中只给了几个范围:
      3784a622-9bc3-4f0c-806a-9964d8c71ff3-image.png

      然后卖家给的初始化代码开头的几行注释,跟代码中实际设置的貌似也不一致....
      卖家给的:

      VFP=VBP=6=VS=6
      HFP=HBP=6=HS=220
      pll_clock=155;
      

      初始化代码计算的:

      {0xFF, 5, {0x77, 0x01, 0x00, 0x00, 0x10}},
      {0xC0, 2, {0x2C, 0x00}},  // SCNL = (0x2c + 1) * 8 = 360
      {0xC1, 2, {0x08, 0x02}},  // VFB=0x08  VBF=0x02
      {0xC2, 2, {0x37, 0x05}},  // PCLK= 512 + (0x05 * 16) = 592
      

      HFP和HBP没看到有相关的命令设置...

      现在的主要问题是下面这几个参数,我尝试了用各种方式计算,貌似都不对,

      lcd_hbp             = <>;
      lcd_ht              = <>;
      lcd_hspw            = <>;
      lcd_vbp             = <>;
      lcd_vt              = <>;
      lcd_vspw            = <>;
      
      lcd_dsi_if          = <0>;
      lcd_dsi_lane        = <2>;
      

      有大佬帮忙看一下吗😁 (我这里有两个屏幕和两个转接板,有想调的,可以联系我😀 )

      L 1 Reply Last reply Reply Quote Share 1
      • L
        lovexulu LV 7 @IAMLIUBO last edited by

        @iamliubo 是屏的参数手册中标注的参数嘛?如果是的话,这个参数暂且不用管他,只需要配置在这个范围内即可。我看手册是 各种参数 1or2-254 。 需要计算 lcd_dclk_freq,与ht vt hbp vbp hspw vspw在手册范围内即可,设 hbp=20,hspw=10,hfp=10,vbp=20,vfp=10,vspw=10,ht=360 +hbp+hfp(全志的hbp=真hbp+hspw),即390,vt同样计算得510,由lcd_dclk_freq=lcd_htlcd_vtfps 得lcd_dclk_freq=11.9234Mhz,只能取整数 就 12Mhz了。但实际呢是2通道,所以要除2.嗯 lcd_dclk_freq=<6> 也不知对也不对,配置上测试一下?

        IAMLIUBO 1 Reply Last reply Reply Quote Share 0
        • mangogeek
          mangogeek LV 8 last edited by

          卡在哪一步了? ,

          IAMLIUBO 1 Reply Last reply Reply Quote Share 0
          • IAMLIUBO
            IAMLIUBO LV 5 @lovexulu last edited by

            @lovexulu
            谢谢大佬指点,我试试,我就是比较疑惑没有给具体的值,给的只是个范围,不晓得怎么填了😭

            1 Reply Last reply Reply Quote Share 0
            • IAMLIUBO
              IAMLIUBO LV 5 @mangogeek last edited by

              @mangogeek
              🤧 卡在不显示上了.... 商家都不能确定给的资料是不是对应这款屏幕,真是太难了

              1 Reply Last reply Reply Quote Share 0
              • IAMLIUBO
                IAMLIUBO LV 5 last edited by

                😭

                我找到原因了...

                商家给我的规格书对不起来!!!
                3724f9f8-4330-4c78-847a-7bba987a5b4c-image.png

                经我实际测试这俩管脚绝对是标反了!!!

                经过上面 @lovexulu 大佬提醒后,我又尝试了好几次,那几个参数修改了很多次,一点出画面的感觉都没有,我就有点不明白了,我反复确认了好几遍焊接没问题(之前吃过这个亏...),突发奇想把这俩管脚反一下试试,结果就真有反应了😭

                我是真没想到会是这个原因。。。。
                5ffe8c79-e973-448c-bed7-7a7c43c624d0-image.png
                好在我这画转接板的时候预留了这俩跳线位置,还算机智,哈哈

                明天找供应商算账去。

                调整了几个参数后,现在显示一切正常啊,真好啊🤧

                80202196-adda-4c29-b1fe-445eaf41431a-image.png

                mangogeek L 2 Replies Last reply Reply Quote Share 0
                • mangogeek
                  mangogeek LV 8 @IAMLIUBO last edited by

                  @iamliubo 在 第二次调试MIPI屏幕,套路居然又不太一样? 中说:

                  ,那几个参数修改了很多次,一点出画面的感觉都没有,我就有点不明白了,我反复确认了好几遍焊接没问题(之前吃过这个亏...),突发奇想把这俩管脚反一下试试,结果就真有反应了

                  👍

                  1 Reply Last reply Reply Quote Share 0
                  • L
                    lovexulu LV 7 @IAMLIUBO last edited by

                    @iamliubo 在 第二次调试MIPI屏幕,套路居然又不太一样? 中说:

                    😭

                    我找到原因了...

                    商家给我的规格书对不起来!!!
                    3724f9f8-4330-4c78-847a-7bba987a5b4c-image.png

                    经我实际测试这俩管脚绝对是标反了!!!

                    经过上面 @lovexulu 大佬提醒后,我又尝试了好几次,那几个参数修改了很多次,一点出画面的感觉都没有,我就有点不明白了,我反复确认了好几遍焊接没问题(之前吃过这个亏...),突发奇想把这俩管脚反一下试试,结果就真有反应了😭

                    我是真没想到会是这个原因。。。。
                    5ffe8c79-e973-448c-bed7-7a7c43c624d0-image.png
                    好在我这画转接板的时候预留了这俩跳线位置,还算机智,哈哈

                    明天找供应商算账去。

                    调整了几个参数后,现在显示一切正常啊,真好啊🤧

                    80202196-adda-4c29-b1fe-445eaf41431a-image.png

                    nice。关于这些数值计算 目前我也没发现明确的定义,但一般优化减少跳帧为目的 使fb0刷新与lcd输出比较平衡就可以了,我可不是大佬啊,初学菜鸟一只额。

                    IAMLIUBO 1 Reply Last reply Reply Quote Share 0
                    • mangogeek
                      mangogeek LV 8 last edited by

                      馋,,,,,,,,了,,,,,,,

                      IAMLIUBO 1 Reply Last reply Reply Quote Share 0
                      • IAMLIUBO
                        IAMLIUBO LV 5 @mangogeek last edited by

                        @mangogeek
                        哈哈 快递明天就到了😁

                        1 Reply Last reply Reply Quote Share 0
                        • IAMLIUBO
                          IAMLIUBO LV 5 @lovexulu last edited by

                          @lovexulu
                          我也不是很清楚每一个参数改大或者改小会实际影响到显示的哪部分,等有时间还是要好好研究下,还是比较喜欢MIPI接口的,速度快,管脚少(其实别的就会个SPI😁 )

                          A 1 Reply Last reply Reply Quote Share 0
                          • A
                            a1147991965 LV 4 @IAMLIUBO last edited by

                            This post is deleted!
                            1 Reply Last reply Reply Quote Share 0
                            • BedRock
                              BedRock LV 6 last edited by

                              dalao,同搞了一块屏幕,参考第二个屏幕和第一次经历,卡在了Uboot起不来,之前是怎么排查的呢?

                              1 Reply Last reply Reply Quote Share 0
                              • 1 / 1
                              • First post
                                Last post

                              Copyright © 2022 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

                              行为准则 | 用户协议 | 隐私权政策