导航

    全志在线开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 话题
    • 在线文档
    • 社区主页
    1. 主页
    2. JerryChen
    J
    • 资料
    • 关注 1
    • 粉丝 1
    • 我的积分 529
    • 主题 3
    • 帖子 9
    • 最佳 1
    • 群组 0

    JerryChenLV 4

    @JerryChen

    529
    积分
    2
    声望
    10
    资料浏览
    9
    帖子
    1
    粉丝
    1
    关注
    注册时间 最后登录

    JerryChen 取消关注 关注

    JerryChen 发布的最佳帖子

    • 【分享】D1S新增一款MIPI屏[480*480] ST7701S

      第一次玩MIPI屏,还算比较顺利,有需要的可以参考:

      分辨率:480x480
      驱动IC:ST7701S
      接--口:MIPI 2Lane
      规格书:1960496392HX40007ACT 规格书.pdf

      c440fee2-7335-4978-ac71-3ed943ce72e8-image.png

      18dad006-8306-4887-9733-e8b8efa4c182-image.png

      &lcd0 {
      	lcd_used            = <1>;
      
              lcd_driver_name     = "st7701s";
      	lcd_backlight       = <100>;
      	lcd_if              = <4>;
      
              lcd_pwm_used        = <1>;
      	lcd_pwm_ch          = <7>;
      	lcd_pwm_freq        = <1000>;
      	lcd_pwm_pol         = <0>;
      	lcd_pwm_max_limit   = <255>;
      
      
              // 480*480
      	lcd_x               = <480>;
      	lcd_y               = <480>;
      	lcd_width           = <72>;
      	lcd_height          = <72>;
      	lcd_dclk_freq       = <16>;     // lcd_ht * lcd_vt * 60
              lcd_dsi_lane        = <2>;
              pinctrl-0           = <&dsi2lane_pins_a>;
      	pinctrl-1           = <&dsi2lane_pins_b>;
      
              lcd_hbp             = <30>;     // hsync back porch(pixel) + hsync plus width(pixel);
      	lcd_ht              = <525>;    // hsync total cycle(pixel)
      	lcd_hspw            = <25>;     // hsync plus width(pixel)
      	lcd_vbp             = <20>;     // vsync back porch(line) + vysnc plus width(line)
      	lcd_vt              = <525>;    // vysnc total cycle(line)
      	lcd_vspw            = <8>;      // vysnc plus width(pixel)
      
              lcd_dsi_if          = <0>;
      	lcd_lvds_if         = <0>;
      	lcd_lvds_colordepth = <0>;
      	lcd_lvds_mode       = <0>;
      	lcd_frm             = <0>;
      	lcd_hv_clk_phase    = <0>;
      	lcd_hv_sync_polarity= <0>;
      	lcd_io_phase        = <0x0000>;
      	lcd_gamma_en        = <0>;
      	lcd_bright_curve_en = <0>;
      	lcd_cmap_en         = <0>;
      	lcd_fsync_en        = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
      	lcd_fsync_pol       = <0>;
      
      	deu_mode            = <0>;
      	lcdgamma4iep        = <22>;
      	smart_color         = <90>;
      
      	lcd_gpio_0 =  <&pio PB 2 GPIO_ACTIVE_HIGH>;
      	
      };
      

      初始化代码:

      static struct LCM_setting_table lcm_initialization_setting[] = {
      	// {0x11, 1, {0x00} },
      	{REGFLAG_DELAY, 60, {} },
      
      	{0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x10} },
      	{0xc0, 2, {0x3b, 0x00} },
      	{0xc1, 2, {0x0d, 0x02} },
      	{0xc2, 2, {0x31, 0x05} },
      	{0xcd, 1, {0x08} },
      
      	{0xb0, 16, {0x00, 0x11, 0x18, 0x0e, 0x11, 0x06, 0x07, 0x08, 0x07, 0x22,
      		   0x04, 0x12, 0x0f, 0xaa, 0x31, 0x18} },
      
      	{0xb1, 16, {0x00, 0x11, 0x19, 0x0e, 0x12, 0x07, 0x08, 0x08, 0x08, 0x22,
      		    0x04, 0x11, 0x11, 0xa9, 0x32, 0x18} },
      
      	{0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x11} },
      
      	{0xb0, 1, {0x60} },
      	{0xb1, 1, {0x32} },
      	{0xb2, 1, {0x07} },
      	{0xb3, 1, {0x80} },
      	{0xb5, 1, {0x49} },
      	{0xb7, 1, {0x85} },
      	{0xb8, 1, {0x21} },
      	// {0xb9, 1, {0x10} },
      	{0xc1, 1, {0x78} },
      	{0xc2, 1, {0x78} },
      	{REGFLAG_DELAY, 50, {} },
      
              {0x21, 1, {0x00} },
      
      	// {0xd0, 1, {0x88} },
      	{0xe0, 3, {0x00, 0x1b, 0x02} },
      	{0xe1, 11, {0x08, 0xa0, 0x00, 0x00, 0x07, 0xa0, 0x00, 0x00, 0x00, 0x44,
      		    0x44} },
      	{0xe2, 12, {0x11, 0x11, 0x44, 0x44, 0xed, 0xa0, 0x00, 0x00, 0xec, 0xa0,
      		    0x00, 0x00} },
      	{0xe3, 4, {0x00, 0x00, 0x11, 0x11} },
      	{0xe4, 2, {0x44, 0x44} },
      	{0xe5, 16, {0x0a, 0xe9, 0xd8, 0xa0, 0x0c, 0xeb, 0xd8, 0xa0, 0x0e, 0xed,
      		    0xd8, 0xa0, 0x10, 0xef, 0xd8, 0xa0} },
      
      	{0xe6, 4, {0x00, 0x00, 0x11, 0x11} },
      	{0xe7, 2, {0x44, 0x44} },
      	{0xe8, 16, {0x09, 0xe8, 0xd8, 0xa0, 0x0b, 0xea, 0xd8, 0xa0, 0x0d, 0xec,
      		    0xd8, 0xa0, 0x0f, 0xee, 0xd8, 0xa0} },
      	{0xeb, 7, {0x02, 0x00, 0xe4, 0xe4, 0x88, 0x00, 0x40} },
      
      	{0xec, 2, {0x3c, 0x00} },
      	{0xed, 16, {0xab, 0x89, 0x76, 0x54, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff,
      		    0xff, 0x20, 0x45, 0x67, 0x98, 0xba} },
      
              {0x36, 1, {0x00} },
      	{0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x13} },
              {0xe5, 1, {0xe4} },
              {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x00} },
              {0x3a, 2, {0x66, 0x21} },
      	{REGFLAG_DELAY, 50, {} },
      
              {0x11, 1, {0x00} },
      	{REGFLAG_DELAY, 120, {} },
      
      	{0x29, 1, {0x00} },
      	{REGFLAG_END_OF_TABLE, 0x00, {} }
      };
      

      还有一款720 x 720的4Lane MIPI屏还没调通😞

      发布在 MR Series
      J
      JerryChen

    JerryChen 发布的最新帖子

    • 回复: 请教D1S MPIP屏显示异常

      @whycan 晕哥请问可以帮忙指教下吗?感谢

      发布在 MR Series
      J
      JerryChen
    • 回复: 请教D1S MPIP屏显示异常

      @maihuanyi 还没有,最近忙,没太多时间玩

      发布在 MR Series
      J
      JerryChen
    • 回复: 【分享】D1S新增一款MIPI屏[480*480] ST7701S

      测试固件,上传备份下~~~

      启动后,执行下面命令可亮屏:

      lv_examples 0
      

      tina_d1s-nezha_uart3.img

      发布在 MR Series
      J
      JerryChen
    • 回复: 【分享】D1S新增一款MIPI屏[480*480] ST7701S

      @soso90 在 【分享】D1S新增一款MIPI屏[480*480] ST7701S 中说:

      线

      已邮件发给你了~~~不好意思,有段时间没上来了

      发布在 MR Series
      J
      JerryChen
    • 请教D1S MPIP屏显示异常

      之前买了两款屏,一款是480480 2Lane MIPI,点屏显示正常(此贴:D1S新增一款MIPI屏[480480] ST7701S)

      这一款是720*720, 4Lane MIPI的,测试了较多参数,还是显示有点异常,看看各位友友有没有遇到类似的情况过, 请各位帮忙支招,谢谢。

      规格书:
      YX40005A.pdf

      驱动IC:ST7703
      卖家给的时序参数:
      e96695be-f19f-4321-b819-0a02efb2d3fa-image.png

      测试现象:
      1、按照参数,时钟lcd_dclk_freq配置为36M,黑屏无显示。
      2、降频为16M测试,可以显示画面,但拖影比较严重,显示也不清晰。
      3、调节各个HBP/HFP等参数,好像无好转的迹象。

      硬件上面应该没有烧坏或者其它问题。

      dts:

      &lcd0 {
      	lcd_used            = <1>;
      
              lcd_driver_name     = "st7701s";
      	lcd_backlight       = <100>;
      	lcd_if              = <4>;
      
              lcd_pwm_used        = <0>;
      	lcd_pwm_ch          = <7>;
      	lcd_pwm_freq        = <1000>;
      	lcd_pwm_pol         = <0>;
      	lcd_pwm_max_limit   = <255>;
      
              lcd_x               = <720>;
      	lcd_y               = <720>;
      	lcd_width           = <72>;
      	lcd_height          = <72>;
      	lcd_dclk_freq       = <20>;     // lcd_ht * lcd_vt * 60
              lcd_dsi_lane        = <4>;
              pinctrl-0           = <&dsi4lane_pins_a>;
      	pinctrl-1           = <&dsi4lane_pins_b>;
      
              lcd_hbp             = <30>;     // hsync back porch(pixel) + hsync plus width(pixel);
      	lcd_ht              = <790>;    // hsync total cycle(pixel)
      	lcd_hspw            = <4>;      // hsync plus width(pixel)
      	lcd_vbp             = <26>;     // vsync back porch(line) + vysnc plus width(line)
      	lcd_vt              = <776>;    // vysnc total cycle(line)
      	lcd_vspw            = <6>;      // vysnc plus width(pixel)
      
              lcd_dsi_if          = <0>;
      	lcd_lvds_if         = <0>;
      	lcd_lvds_colordepth = <0>;
      	lcd_lvds_mode       = <0>;
      	lcd_frm             = <0>;
      	lcd_hv_clk_phase    = <0>;
      	lcd_hv_sync_polarity= <0>;
      	lcd_io_phase        = <0x0000>;
      	lcd_gamma_en        = <0>;
      	lcd_bright_curve_en = <0>;
      	lcd_cmap_en         = <0>;
      	lcd_fsync_en        = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
      	lcd_fsync_pol       = <0>;
      
      	deu_mode            = <0>;
      	lcdgamma4iep        = <22>;
      	smart_color         = <90>;
      
      	lcd_gpio_0 =  <&pio PB 2 GPIO_ACTIVE_HIGH>;
      };
      

      初始化参数:

      static struct LCM_setting_table lcm_initialization_setting[] = {
      	// {0x11, 1, {0x00} },
      	{REGFLAG_DELAY, 500, {} },
      
          {0xB9, 3, {0xF1, 0x12, 0x83}},
      
          {0xBA, 27, {0x33, 0x81, 0x05, 0xF9, 0x0E, 0x0E, 0x20, 0x00, 0x00, 0x00,
                      0x00, 0x00, 0x00, 0x00, 0x44, 0x25, 0x00, 0x91, 0x0A, 0x00,
                      0x00, 0x02, 0x4F, 0xD1, 0x00, 0x00, 0x37}},
      
          {0xB8, 4,  {0x25, 0x22, 0x20, 0x03}},
      
          {0xBF, 3,  {0x02, 0x11, 0x00}},
      
          // set rgb()
          // {0xB3, 10, {0x10, 0x10, 0x0A, 0x50, 0x03, 0xFF, 0x00, 0x00, 0x00, 0x00}},
      
          {0xC0, 9,  {0x73, 0x73, 0x50, 0x50, 0x00, 0x00, 0x08, 0x70, 0x00}},
      
          {0xBC, 1,  {0x46}},
      
          {0xCC, 1,  {0x0B}},
      
          {0xB4, 1,  {0x80}},
      
          {0xB2, 3,  {0x3C, 0x12, 0x30}},
      
          {0xE3, 14, {0x07, 0x07, 0x0B, 0x0B, 0x03, 0x0B, 0x00, 0x00, 0x00, 0x00, 
                      0xFF, 0x00, 0x40, 0x10}},
      
          {0xC1, 12, {0x65, 0x00, 0x32, 0x32, 0x77, 0xF1, 0xCC, 0xCC, 0x77, 0x77, 
                      0x33, 0x33}},
      
          {0xB5, 2,  {0x0A, 0x0A}},
      
          {0xB6, 2,  {0xB7, 0xB7}},
      
          {0xE9, 63, {0x88, 0x10, 0x0A, 0x10, 0x0F, 0xA1, 0x80, 0x12, 0x31, 0x23, 
                      0x47, 0x86, 0xA1, 0x80, 0x47, 0x08, 0x04, 0x44, 0x00, 0x00, 
                      0x00, 0x00, 0x04, 0x44, 0x00, 0x00, 0x00, 0x00, 0x75, 0x31, 
                      0x88, 0x88, 0x88, 0x1F, 0x88, 0x38, 0xFF, 0x58, 0x88, 0x64, 
                      0x20, 0x88, 0x88, 0x88, 0x0F, 0x88, 0x28, 0xFF, 0x48, 0x88, 
                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                      0x00, 0x00, 0x00}},
      
          {0xEA, 61, {0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 
                      0x00, 0x00, 0x02, 0x46, 0x88, 0x88, 0x88, 0x28, 0x8F, 0x08, 
                      0xFF, 0x48, 0x88, 0x13, 0x57, 0x88, 0x88, 0x88, 0x38, 0x8F, 
                      0x18, 0xFF, 0x58, 0x88, 0x23, 0x00, 0x00, 0x01, 0x02, 0x00, 
                      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                      0x00, 0x00, 0x00, 0x00, 0x40, 0xA1, 0x80, 0x00, 0x00, 0x00, 
                      0x00}},
      
          {0xE0, 34, {0x00, 0x03, 0x06, 0x2D, 0x3E, 0x3F, 0x34, 0x32, 0x08, 0x0C, 
                      0x0D, 0x10, 0x12, 0x11, 0x12, 0x10, 0x15, 0x00, 0x03, 0x06, 
                      0x2D, 0x3E, 0x3F, 0x34, 0x32, 0x08, 0x0C, 0x0D, 0x10, 0x12, 
                      0x11, 0x12, 0x10, 0x15}},
      
          {0x11, 1, {0x00} },
      	{REGFLAG_DELAY, 300, {} },
      
      	{0x29, 1, {0x00} },
          {REGFLAG_DELAY, 100, {} },
      	{REGFLAG_END_OF_TABLE, 0x00, {}}
      };
      

      附几张异常现象的照片:
      9819e79d-7852-4c69-b47f-5521a3093900-image.png

      749470eb-99e1-4a4d-8cbd-8052d74f2b58-image.png

      d70cad27-b028-43c6-9b06-645b3915249e-image.png

      发布在 MR Series
      J
      JerryChen
    • 回复: 【分享】D1S新增一款MIPI屏[480*480] ST7701S

      @soso90 应该不画,也不会画(都忘记怎么画板了),就一块这个屏,买来玩玩的

      发布在 MR Series
      J
      JerryChen
    • 回复: 【分享】D1S新增一款MIPI屏[480*480] ST7701S

      @soso90 就1楼的代码片段2就是卖家给的,我只是把他转换为这个平台的格式了

      发布在 MR Series
      J
      JerryChen
    • 【分享】D1S新增一款MIPI屏[480*480] ST7701S

      第一次玩MIPI屏,还算比较顺利,有需要的可以参考:

      分辨率:480x480
      驱动IC:ST7701S
      接--口:MIPI 2Lane
      规格书:1960496392HX40007ACT 规格书.pdf

      c440fee2-7335-4978-ac71-3ed943ce72e8-image.png

      18dad006-8306-4887-9733-e8b8efa4c182-image.png

      &lcd0 {
      	lcd_used            = <1>;
      
              lcd_driver_name     = "st7701s";
      	lcd_backlight       = <100>;
      	lcd_if              = <4>;
      
              lcd_pwm_used        = <1>;
      	lcd_pwm_ch          = <7>;
      	lcd_pwm_freq        = <1000>;
      	lcd_pwm_pol         = <0>;
      	lcd_pwm_max_limit   = <255>;
      
      
              // 480*480
      	lcd_x               = <480>;
      	lcd_y               = <480>;
      	lcd_width           = <72>;
      	lcd_height          = <72>;
      	lcd_dclk_freq       = <16>;     // lcd_ht * lcd_vt * 60
              lcd_dsi_lane        = <2>;
              pinctrl-0           = <&dsi2lane_pins_a>;
      	pinctrl-1           = <&dsi2lane_pins_b>;
      
              lcd_hbp             = <30>;     // hsync back porch(pixel) + hsync plus width(pixel);
      	lcd_ht              = <525>;    // hsync total cycle(pixel)
      	lcd_hspw            = <25>;     // hsync plus width(pixel)
      	lcd_vbp             = <20>;     // vsync back porch(line) + vysnc plus width(line)
      	lcd_vt              = <525>;    // vysnc total cycle(line)
      	lcd_vspw            = <8>;      // vysnc plus width(pixel)
      
              lcd_dsi_if          = <0>;
      	lcd_lvds_if         = <0>;
      	lcd_lvds_colordepth = <0>;
      	lcd_lvds_mode       = <0>;
      	lcd_frm             = <0>;
      	lcd_hv_clk_phase    = <0>;
      	lcd_hv_sync_polarity= <0>;
      	lcd_io_phase        = <0x0000>;
      	lcd_gamma_en        = <0>;
      	lcd_bright_curve_en = <0>;
      	lcd_cmap_en         = <0>;
      	lcd_fsync_en        = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
      	lcd_fsync_pol       = <0>;
      
      	deu_mode            = <0>;
      	lcdgamma4iep        = <22>;
      	smart_color         = <90>;
      
      	lcd_gpio_0 =  <&pio PB 2 GPIO_ACTIVE_HIGH>;
      	
      };
      

      初始化代码:

      static struct LCM_setting_table lcm_initialization_setting[] = {
      	// {0x11, 1, {0x00} },
      	{REGFLAG_DELAY, 60, {} },
      
      	{0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x10} },
      	{0xc0, 2, {0x3b, 0x00} },
      	{0xc1, 2, {0x0d, 0x02} },
      	{0xc2, 2, {0x31, 0x05} },
      	{0xcd, 1, {0x08} },
      
      	{0xb0, 16, {0x00, 0x11, 0x18, 0x0e, 0x11, 0x06, 0x07, 0x08, 0x07, 0x22,
      		   0x04, 0x12, 0x0f, 0xaa, 0x31, 0x18} },
      
      	{0xb1, 16, {0x00, 0x11, 0x19, 0x0e, 0x12, 0x07, 0x08, 0x08, 0x08, 0x22,
      		    0x04, 0x11, 0x11, 0xa9, 0x32, 0x18} },
      
      	{0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x11} },
      
      	{0xb0, 1, {0x60} },
      	{0xb1, 1, {0x32} },
      	{0xb2, 1, {0x07} },
      	{0xb3, 1, {0x80} },
      	{0xb5, 1, {0x49} },
      	{0xb7, 1, {0x85} },
      	{0xb8, 1, {0x21} },
      	// {0xb9, 1, {0x10} },
      	{0xc1, 1, {0x78} },
      	{0xc2, 1, {0x78} },
      	{REGFLAG_DELAY, 50, {} },
      
              {0x21, 1, {0x00} },
      
      	// {0xd0, 1, {0x88} },
      	{0xe0, 3, {0x00, 0x1b, 0x02} },
      	{0xe1, 11, {0x08, 0xa0, 0x00, 0x00, 0x07, 0xa0, 0x00, 0x00, 0x00, 0x44,
      		    0x44} },
      	{0xe2, 12, {0x11, 0x11, 0x44, 0x44, 0xed, 0xa0, 0x00, 0x00, 0xec, 0xa0,
      		    0x00, 0x00} },
      	{0xe3, 4, {0x00, 0x00, 0x11, 0x11} },
      	{0xe4, 2, {0x44, 0x44} },
      	{0xe5, 16, {0x0a, 0xe9, 0xd8, 0xa0, 0x0c, 0xeb, 0xd8, 0xa0, 0x0e, 0xed,
      		    0xd8, 0xa0, 0x10, 0xef, 0xd8, 0xa0} },
      
      	{0xe6, 4, {0x00, 0x00, 0x11, 0x11} },
      	{0xe7, 2, {0x44, 0x44} },
      	{0xe8, 16, {0x09, 0xe8, 0xd8, 0xa0, 0x0b, 0xea, 0xd8, 0xa0, 0x0d, 0xec,
      		    0xd8, 0xa0, 0x0f, 0xee, 0xd8, 0xa0} },
      	{0xeb, 7, {0x02, 0x00, 0xe4, 0xe4, 0x88, 0x00, 0x40} },
      
      	{0xec, 2, {0x3c, 0x00} },
      	{0xed, 16, {0xab, 0x89, 0x76, 0x54, 0x02, 0xff, 0xff, 0xff, 0xff, 0xff,
      		    0xff, 0x20, 0x45, 0x67, 0x98, 0xba} },
      
              {0x36, 1, {0x00} },
      	{0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x13} },
              {0xe5, 1, {0xe4} },
              {0xff, 5, {0x77, 0x01, 0x00, 0x00, 0x00} },
              {0x3a, 2, {0x66, 0x21} },
      	{REGFLAG_DELAY, 50, {} },
      
              {0x11, 1, {0x00} },
      	{REGFLAG_DELAY, 120, {} },
      
      	{0x29, 1, {0x00} },
      	{REGFLAG_END_OF_TABLE, 0x00, {} }
      };
      

      还有一款720 x 720的4Lane MIPI屏还没调通😞

      发布在 MR Series
      J
      JerryChen