HY-28B가 최근에 구입한 것들이 정상적으로 화면이 나오질 않네요.



  • 제품은 ICBanq에서만 구매했구요,
    작년에 구입한 것까지는 문제없이 기존 설정대로 하면 화면이 잘 나왔었습니다.
    그런데 올해 구매된 것은 전부 화면이 정상적으로 나오질 않네요. 아예 안나오는 것도 아니고 무슨 화면인지 알아볼 수 없게 심하게 왜곡돼서 나오네요.
    구글링을 해보니 저와 같은 문제를 겪는 해외 사례도 있네요.
    왜곡현상
    ICBanq에 문의해봐도 찾아보겠다는 말은 하지만 오랫동안 기다려봤는데 답은 못주네요.
    이리저리 테스트 해보니 저 이미지처럼 LCD 가장자리에 표시된 모델번호가 HSD로 시작하는 것이 문제고, 그전에 사용했던
    E22xxx-xx 형태의 모델번호를 가진 것들은 모두 다 정상입니다.
    답이 안나와서 중국 제조사에 직접 문의해봤는데 LCD driver IC도 변경됐고, 기존에 사용된 것들은 버그가 있어서 새로운 초기화 코드를 사용해야 한다고 하더군요.
    그러면서 초기화 소스코드를 보내왔는데 이걸 어떻게 적용해야 하는지 모르겠습니다.
    임베디드쪽은 경험이 없어서 쉽지 않네요.
    아시는 분은 답변 부탁 드립니다.
    아래는 보내준 소스코드입니다.

    DeviceCode = LCD_ReadReg(0x0000); /* read LCD ID */ 
    /* recognition different screen, use different Initialization */ 
    if( DeviceCode == 0x9325 || DeviceCode == 0x9328 ) 
    { 
    LCD_Code = ILI9325; 
    LCD_WriteReg(0xE5, 0x78F0); /* set SRAM internal timing */ 
    LCD_WriteReg(0x01, 0x0100); /* set Driver Output Control */ 
    LCD_WriteReg(0x02, 0x0700); /* set 1 line inversion */ 
    LCD_WriteReg(0x03, 0x1030); /* set GRAM write direction and BGR=1 */ 
    LCD_WriteReg(0x04, 0x0000); /* Resize register */ 
    LCD_WriteReg(0x08, 0x0207); /* set the back porch and front porch */ 
    LCD_WriteReg(0x09, 0x0000); /* set non-display area refresh cycle ISC[3:0] */ 
    LCD_WriteReg(0x0A, 0x0000); /* FMARK function */ 
    LCD_WriteReg(0x0C, 0x0000); /* RGB interface setting */ 
    LCD_WriteReg(0x0D, 0x0000); /* Frame marker Position */ 
    LCD_WriteReg(0x0F, 0x0000); /* RGB interface polarity */ 
    /*************Power On sequence ****************/ 
    LCD_WriteReg(0x10, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ 
    LCD_WriteReg(0x11, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */ 
    LCD_WriteReg(0x12, 0x0000); /* VREG1OUT voltage */ 
    LCD_WriteReg(0x13, 0x0000); /* VDV[4:0] for VCOM amplitude */ 
    LCD_WriteReg(0x07, 0x0001); 
    delay_ms(200); 
    /* Dis-charge capacitor power voltage */ 
    LCD_WriteReg(0x10, 0x1090); /* SAP, BT[3:0], AP, DSTB, SLP, STB */ 
    LCD_WriteReg(0x11, 0x0227); /* Set DC1[2:0], DC0[2:0], VC[2:0] */ 
    delay_ms(50); /* Delay 50ms */ 
    LCD_WriteReg(0x12, 0x001F); 
    delay_ms(50); /* Delay 50ms */ 
    LCD_WriteReg(0x13, 0x1500); /* VDV[4:0] for VCOM amplitude */ 
    LCD_WriteReg(0x29, 0x0027); /* 04 VCM[5:0] for VCOMH */ 
    LCD_WriteReg(0x2B, 0x000D); /* Set Frame Rate */ 
    delay_ms(50); /* Delay 50ms */ 
    LCD_WriteReg(0x20, 0x0000); /* GRAM horizontal Address */ 
    LCD_WriteReg(0x21, 0x0000); /* GRAM Vertical Address */ 
    /* ----------- Adjust the Gamma Curve ---------- */ 
    LCD_WriteReg(0x30, 0x0000); 
    LCD_WriteReg(0x31, 0x0707); 
    LCD_WriteReg(0x32, 0x0307); 
    LCD_WriteReg(0x35, 0x0200); 
    LCD_WriteReg(0x36, 0x0008); 
    LCD_WriteReg(0x37, 0x0004); 
    LCD_WriteReg(0x38, 0x0000); 
    LCD_WriteReg(0x39, 0x0707); 
    LCD_WriteReg(0x3C, 0x0002); 
    LCD_WriteReg(0x3D, 0x1D04); 
    /* ------------------ Set GRAM area --------------- */ 
    LCD_WriteReg(0x50, 0x0000); /* Horizontal GRAM Start Address */ 
    LCD_WriteReg(0x51, 0x00EF); /* Horizontal GRAM End Address */ 
    LCD_WriteReg(0x52, 0x0000); /* Vertical GRAM Start Address */ 
    LCD_WriteReg(0x53, 0x013F); /* Vertical GRAM Start Address */ 
    LCD_WriteReg(0x60, 0xA700); /* Gate Scan Line */ 
    LCD_WriteReg(0x61, 0x0001); /* NDL,VLE, REV */ 
    LCD_WriteReg(0x6A, 0x0000); /* set scrolling line */ 
    /* -------------- Partial Display Control --------- */ 
    LCD_WriteReg(0x80, 0x0000); 
    LCD_WriteReg(0x81, 0x0000); 
    LCD_WriteReg(0x82, 0x0000); 
    LCD_WriteReg(0x83, 0x0000); 
    LCD_WriteReg(0x84, 0x0000); 
    LCD_WriteReg(0x85, 0x0000); 
    /* -------------- Panel Control ------------------- */ 
    LCD_WriteReg(0x90, 0x0010); 
    LCD_WriteReg(0x92, 0x0600); 
    LCD_WriteReg(0x07, 0x0133); /* 262K color and display ON */ 
    }
    ```


  • 라즈비언의 소스코드를 받아서 fb_ili9325.c 파일을 위 소스코드를 참조해서 수정한 다음 컴파일해봤습니다.
    하지만 역시나 안되네요ㅠㅠ
    아무래도 다른 제품을 알아봐야 할 것 같습니다.


  • Global Moderator

    @hyperhand 안녕하세요.

    회사일정에 치이다보니… 정말 오랜만에 포럼에 들렀습니다.

    우선 워낙 오래 전에 추진했던 내용이라… 저도 내용을 다시 들여다 보아야 알 것 같지만,

    HY-28B TFT 를 한국에는 제가 배포를 시작 했다보니 관련 문의가 마을 포럼쪽에만 편중이 되는 것 같습니다.

    제가 보유한 제품이 아닐 수가 있어서 저 또한 보유한 제품과 비교를 해 보아야 할 것 같은데요.

    좌표를 좀 알려 주시면 시간 날 때 테스트를 해 보도록 하겠습니다.

    그렇다고 너무 기대는 하지 말아 주십사 말씀드립니다.

    저도 이런 활동들이 개취로 시작한 일들이고, 직장인이라 직딩생활을 우선 시 해야 하는 입장에서는 얼마의 시간이 걸릴지 저 또한 알 수가 없습니다…

    결정적으로 관련 제품이 제가 보유한 제품이 아니라면… 더욱 테스트는 불가능 할 듯 합니다.



  • @jae-sang-lee 다른 댓글을 통해서 직장 생활땜에 바쁘신거는 저도 알고 있습니다. 당연히 개인의 직장생활이 우선이죠^^ 그간 덕분에 도움 많이 받아 감사한 마음입니다.
    일단 겉으로 보기에는 잘 되던것과 안되고 있는 것이 차이가 전혀 없습니다. 차이점이라고 발견한 것이 LCD 가장자리에 적혀있는 시리얼 번호같은건데요. 잘되는건 E22xxx-xx XX 형태의 시리얼번호를 가지고 있고, 안되는 것은 HSD-xxxxx 형태의 시리얼 번호를 갖고 있습니다. 모두 ICBanq에서만 구매한거구요. 그런데 HSD로 시작하는 제품도 차이가 있는지 그것들 중에는 위 사진처럼 나오는 것도 있고, 무슨 화면인지는 알 수 있을 정도로 나오는 경우도 있더군요.
    그리고 소스는 https://github.com/raspberrypi/linux 에서 받아 수정했습니다.
    또 잘 안되는 LCD에 사용된 젠더보드를 잘되는 LCD에 붙여서 사용했을때 잘 되는걸 보면 젠더보드의 차이는 없는것 같습니다.
    아무리 해봐도 저의 짧은 지식으로는 답이 나오질 않아서 포기해야 할 것 같고 유사한 모양을 갖는 adafruit 제품으로 변경할까 생각중입니다. 그쪽 제품은 편하게 사용할 수 있도록 계속 지원하고 있는 것 같고, icbanq에서 구입한 것은 문제가 생겨도 지원이 안되서요. 기존에 만들어 놓은 케이스를 변경해야 하는 문제가 있지만 그렇다고 답도 없으니 어쩔수가 없네요ㅠㅠ


  • Global Moderator

    @hyperhand 안녕하세요.
    산딸기마을 이장 나무꾼 입니다.
    에궁 저도 이야기 하신 부분은 한번 테스트를 진행을 해 보고 싶긴하네요.

    프로젝트 진행이 먼저겠져 ^.* 응원드립니다.


답글을 작성하기 위해 로그인
 

Rasplay Forum 사이트로의 연결이 끊어졌습니다. 다시 연결을 시도하는동안 잠시만 기다려 주십시오.