اطلاعیه

Collapse
No announcement yet.

ماژول TFT LCD 5 اینچ چینی با تراشه SSD1963

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ماژول TFT LCD 5 اینچ چینی با تراشه SSD1963

    سلام. چند روزی درگیر این ماژول بودم . فقط جهت تکمیل منابع انجمن تجربه راه اندازی این ماژول رو اینجا میذارم شاید بدرد کسی بخوره. (TFT LCD 5", SSD1963) سایز LCDآ‌ برای کار با این تراشه مهم نیست اما چون این برد بخصوص ایراد PCBآ‌ داره سایز رو هم به عنوان اضافه کردم
    1- ورودی +5 و 3.3 روی برد در واقع یکی هستند و برد با تغذیه 3.3 کار میکنه . این ورودیها تغذیه رگولاتور tps64010 (با کد HP01 و پکیج SOT23-5 )و تمامی تراشه های روی بردتامین میکنند.
    2- این LCD ها (منظورم از LCD همون تراشه درایور SSD1963 هست)در ساده ترین حالت قادر به ارتباط با میکروکنترلر از طریق 8 یا 12یا 16یا 23آ‌ پین داده بعلاوه 5 پین کنترلی پین هستند. روی برد درایور معمولا 16 پایه داده با نامهای D0:15 قرار گرفته. پینهای کنترلی ورودی به LCD با نامهای DC,RD, WR, RST, CS روی برد قرار گرفته اند
    3- ارتباط پینهای کنترلی با میکرو در دو مد 6800, 8080 انجام پذیر است. در واقع این دو مد رفتار پینهای کنترلی رو تعریف میکنند مثلا در مد 6800 پین RD عملکرد EN رو داره و پین WRآ‌ عملکردش به #RD/WR تغییر میکنه . علامت # به معنای active low بودن عملیات WR است.مدهای 6800 و 8080 با توجه به پین ورودی تراشه SSD1963 (آخرین پین روی پکیج tqfp128 )با نام CONFآ‌ تعیین میشه . در صورتیکه این پایه به GND وصل شده باشه؛ برد در حالت 6800 کار میکنه.
    4- بین GNDآ‌ و Vccآ‌ مقدار مقاومت کمی وجود داره (که ممکنه مولتی متر شما در حالت تست اتصال کوتاه یا همون بوقی) صداش در هر دو حالت دربیاد. پس اگه میخواین اتصال پایه CONFآ‌ رو به این دو قسمت بدونید واقعا به مقدار مقاومت نشون داده توسط مولتی متر توجه کنید (و فقط به صدای بوق اکتفا نکنید)
    5- برای راه اندازی برد در ابتدا از عملکرد صحیح پایه های خروجی و کنترلی میکرو به ماژول اطمینان حاصل کنید (تا مثل من چند روز سر کار نباشید). من برای راه اندازی این برد با STM32f103RET6آ‌ از کدسورس آقای صادق محمدی (که تو انجمن ایران میکرو قرار داره استفاده کردم). البته بخاطر اینکه برد من در حالت 6800 فعال بود ناگزیر توابع WriteCommand و WriteDataآ‌ رو برای عملکرد صحیح در این حالت تغییر دادم.

    #2
    پاسخ : ماژول TFT LCD 5 اینچ چینی با تراشه SSD1963

    سلام دوست عزیز من یک السدی که از جوان تهیه کردم دارم که نتونستم با همین درایور که فرمودید راه بندازمش امکانش هست یه راهنمایی بکنید دیتا شیت السیدی رو لینکش رو اینجا میزارم http://www.javanelec.com/PDF/LCD%205.0%20inch.zip اگر لینک حذف شد اسم محصول LCD 5.0 inch هست لطف می کنید راهنمایی کنید
    با تشکر

    دیدگاه


      #3
      پاسخ : ماژول TFT LCD 5 اینچ چینی با تراشه SSD1963

      دوست عزیز شما دیتاشیت SSD1963 رو یه نگاه بنداز. (سوال شما رو در انجمن ایران میکرو رو هم دیدم) SSD1963 در دو مد 6800, 8080 دستورات شما رو قبول میکنه با توجه به پین CONF
      با توجه به نقشه مدار شما و پول پ شدن پین CONFآ‌ کنترلر شما در مد 8080 کار میکنه پس دو تابع writecommandآ‌ و writedata کتابخونه ای که در اختیار دارین رو بر این اساس اصلاح کنید . (من در مد 6800 راه اندازی کردم) اینکه روی برد شما پین rsآ‌ وجود داره رو هم بخاطر اینه که نامگذاری پینها در این دو مد متفاوته (همون پایه DCآ‌ در مد 6800)
      * شماتیک مدار و دیتاشیت SSD1963 رو حتما مطالعه کنید

      دیدگاه


        #4
        پاسخ : ماژول TFT LCD 5 اینچ چینی با تراشه SSD1963

        ممنون از راهنمایی شما خودم هم بعد بررسی شماتیک به این نتیجه رسیدم که مد این السیدی 8080 هست اون دو تا تابع رو هم تغییر دادم ولی نتیجه مطلوبی نگرفتم حقیقت دیتا شیت رو مطالعه کردم اما ظاهرا من در ضمینه تفسیر تایم دیگرام مشکل دارم و به نتیجه درستی نمی رسم من این تابع هارو به این صورت تغییر دادم بقیه توابع هم دست نخورده گزاشتم اما جواب نگرفتم

        7.1.2 8080 Mode
        The 8080 mode MCU interface consist of CS#, D/C#, RD#, WR#, D[23:0] and TE signals (Please refer to
        Table 6-1 for pin multiplexed with 6800 mode). This interface use WR# to define a write cycle and RD# for
        read cycle. If the WR# goes low when the CS# signal is low, the data or command will be latched into the
        system at the rising edge of WR#. Similarly, the read cycle will start when RD# goes low and end at the
        rising edge of RD#. The detailed timing will show in the chapter 13.2.2.


        void SSD1963_WriteCommand(unsigned int commandToWrite)
        {
        SSD_RD_PORT_OUT(1);
        SSD_DC_PORT_OUT(0);
        SSD_DPORT->ODR=commandToWrite;
        SSD_CS_PORT_OUT(0);
        SSD_WR_PORT_OUT(0);

        __nop();

        SSD_WR_PORT_OUT(1);
        SSD_CS_PORT_OUT(1);
        SSD_DC_PORT_OUT(1);

        }
        //================================================== ===========================
        // Write data to SSD1963
        //================================================== ===========================
        void SSD1963_WriteData(unsigned int dataToWrite)
        {

        SSD_RD_PORT_OUT(1);
        SSD_DC_PORT_OUT(1);
        SSD_DPORT->ODR=dataToWrite;
        SSD_CS_PORT_OUT(0);
        SSD_WR_PORT_OUT(0);

        __nop();

        SSD_WR_PORT_OUT(1);
        SSD_CS_PORT_OUT(1);
        SSD_DC_PORT_OUT(0);
        }

        دیدگاه


          #5
          پاسخ : ماژول TFT LCD 5 اینچ چینی با تراشه SSD1963

          با سلام به همگی کد زیر تغریبا کار کرد البته رنگ هام درست نیستن و یک تکه سیاه روی ال سی دی هست که ممکنه در اثر آسیب دیدن ال سیدی باشه کد رو می زارم شاید بدرد کسی خورد



          void SSD1963_WriteCommand(uint16_t commandToWrite)
          {

          SSD_CONTROL_PORT->BSRR=SSD_RD_PIN;
          SSD_CONTROL_PORT->BRR=SSD_DC_PIN;
          SSD_CONTROL_PORT->BRR=SSD_CS_PIN;
          SSD_CONTROL_PORT->BRR=SSD_WR_PIN;
          SSD_DATA_PORT_OUT(commandToWrite);


          __nop();



          SSD_CONTROL_PORT->BSRR=SSD_WR_PIN;
          SSD_CONTROL_PORT->BSRR=SSD_DC_PIN;
          SSD_CONTROL_PORT->BSRR=SSD_CS_PIN;

          }
          //================================================== ===========================
          // Write data to SSD1963
          //================================================== ===========================
          void SSD1963_WriteData(uint16_t dataToWrite)
          {
          SSD_CONTROL_PORT->BSRR=SSD_RD_PIN;
          SSD_CONTROL_PORT->BRR=SSD_CS_PIN;

          SSD_CONTROL_PORT->BSRR=SSD_DC_PIN;

          SSD_CONTROL_PORT->BRR=SSD_WR_PIN;
          SSD_DATA_PORT_OUT( dataToWrite);
          __nop();


          SSD_CONTROL_PORT->BSRR=SSD_WR_PIN;
          SSD_CONTROL_PORT->BRR=SSD_DC_PIN;
          SSD_CONTROL_PORT->BSRR=SSD_CS_PIN;

          }

          دیدگاه

          لطفا صبر کنید...
          X