NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2304 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 6 از 20 نخستنخست 1234567891011121314151617181920 آخرینآخرین
نمایش نتایج: از 101 به 120 از 385

موضوع: راه اندازي درايور ssd1963 و السيدي 4.3 اينچ با stm32f103rbt6

  1. #101
    کاربر فعال saeidhp آواتار ها
    تاریخ عضویت
    Apr 2011
    نام
    سعید
    نوشته ها
    155
    تشکر
    665
    تشکر شده 76 بار در 44 پست

    پیش فرض

    مهندس من 26 ولت رو مستقیم به 2پایه آند و کاتد LCD دادم و بکلایت روشن شد
    اما این ولتاژ رو که نمیشه به ورودی مدار داد
    توی ورودی یه 7.5 ولت هست که 5ولت تبدیل میشه و تل سر سلف میاد (یک سلف 22 میکروی smd)
    وبعد هم به یک دیود (1N5822)

    آیا قراره اینجا تقویت ولتاژی انجام بشه ؟

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #102
    Banned
    تاریخ عضویت
    Apr 2011
    نام
    مهدی رحیمی
    نوشته ها
    727
    تشکر
    1,015
    تشکر شده 1,448 بار در 579 پست

    پیش فرض

    سلام مهندس
    نه لازم نیست به ورودی بدیدش شاید من درست منظورمو نرسوندم اگه 26 ولت رو بدست اوردید و دادید به کاتد و اند بک لایت و روشن میشه برای قسمت بک لایتتون تمومه دیگه مشکلی نیست


    در ضمن کسی در مورد اینکه کدوم رجیستر برای رفرش تصویره اطلاعی داره من برای ال سی دی 9 اینچیم با استفاده از دیتاشیتش فرکانس پنل رو تو 33.3 مگ تنظیم میکنم ولی مثل اینکخ درست انجام نمیشه
    اینکه میگن تصویر با سرعت 60 فریم در ثانیه باید رفرش بشه چطور ست میشه برای اینکار من از این فرمول خود دیتاشیت SSD1963 استفاده کردم ولی بازم بصورت محسوسی تصویر داره رفرش میشه که قابل مشاهدس وقتی مقدار این فرمول رو افزایش میدم یکم تصویر بهتر میشه ولی بازم اون رفرشه هستش


    [PHP]
    Configure the dot clock frequency
    For example,
    22MHz = 100MHz * (LCDC_FPR+1) / 220
    LCDC_FPR = 230686=0x3851D
    WRITE COMMAND “0xE6”
    WRITE DATA “0x03”
    WRITE DATA “0x85”
    WRITE DATA “0x1D”




    #define TFT_WIDTH 800ULL
    #define TFT_HSYNC_BACK_PORCH 46LL
    #define TFT_HSYNC_FRONT_PORCH 210ULL
    #define TFT_HSYNC_PULSE 2ULL
    #define LPS 0ULL

    #define TFT_HEIGHT 480ULL
    #define TFT_VSYNC_BACK_PORCH 23ULL
    #define TFT_VSYNC_FRONT_PORCH 22ULL
    #define TFT_VSYNC_PULSE 2ULL
    #define FPS 0ULL


    //Set LSHIFT freq, i.e. the DCLK with PLL freq 110MHz set previously

    //Typical DCLK for AT090TN12 V.3 and AT090TN33 and AT070TN92 and AT090TN10 is 33.3MHz
    //33.264MHz = 100MHz*(LCDC_FPR+1)/2^20
    //LCDC_FPR = 348797 (0x5527D)

    SSD1963_WriteCommand(SSD1963_SET_LSHIFT_FREQ); // 0x00E6 0x553f6
    SSD1963_WriteData(0x07);
    SSD1963_WriteData(0x53);
    SSD1963_WriteData(0xF6);
    [/PHP]
    ویرایش توسط kamikazi : 10-12-2012 در ساعت 21:18

  5. کاربران : 2 تشکر کرده اند از شما kamikazi برای ارسال این پست سودمند:


  6. #103
    Banned
    تاریخ عضویت
    Apr 2011
    نام
    مهدی رحیمی
    نوشته ها
    727
    تشکر
    1,015
    تشکر شده 1,448 بار در 579 پست

    پیش فرض

    در مورد رفرشه یه قسمتیو درست ست نکرده بودم درستش کردم و الان رفرشه درست شده ولی یکم بازم تصویر به هم ریختس که مطمعنن مربوط به اطلاعات تایمینگه اشتباهم تو قسمت ست کردن کلاک سیستم بود یعنی من فقط pll رو اینیبل میکردم بهش نمیگفتم از این کلاک برای سیستم استفاده کنه ssd هم میرفت کلاک پیشفرض 10 مگ رو استفاده میکرد حالا موندم این قسمت تایمینگو چطور ست کنم هزارتا مثال هست هرکدومشم یجوره؟؟
    یه چیزی تو دیتاشیت این ال سی دی 9 اینچ برام سواله؟؟؟
    این HS pulse width و VS pulse width که گفته میتونه مقداری از 1 تا 20 برای vs و 1 تا 40 برای hs بگیره یعنی چی ؟ ما چند ست کنیم؟؟ مثال خود شرکت کویر اینطور نوشته
    [PHP]
    unsigned char HPW=20;
    unsigned char VPW=3;
    [/PHP]

    کامند ست کردن pll هم اینطوری میشه
    [PHP]
    SSD1963_WriteCommand(SSD1963_SET_PLL); // 0x00E0
    SSD1963_WriteData(0x01); // Enable PLL
    delay_ms(10);

    SSD1963_WriteCommand(SSD1963_SET_PLL); // 0x00E0
    SSD1963_WriteData(0x03);
    delay_ms(10); // Use PLL output as system clock & Enable PLL
    [/PHP]

    اگه کسی میدونه نکته این تایمینگا چیه راهنماییم کنه مخصوصا اون قسمتی که تو اول پست گفتم

  7. #104
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2009
    نام
    کاظم
    نوشته ها
    33
    تشکر
    11
    تشکر شده 7 بار در 6 پست

    پیش فرض

    با سلام خدمت مهندسین حرفه ای خودمون آقا بعد از اینکه درایور بک لایت ماسوخت وقرار شد یکی از دوستان از تهران بیاره (مهندس حسینا دستت دردنکنه)فعلا 2تا سوئیچینگ 12 کوچولو با هم سری کردم بک لایت روشن شه ولی برنامم هنوز جواب نداده یه برد برا ssd1963 زدم روی برد آموزشی خودمون fixمیشه جواب گرفتم pcb ش رو میذارم
    آقا ما یک تعداد از پین های data وcontroly مون رو انداختیم روی پورت c هدر برنامه رو هم تغییر دادم
    برنامه رو هم میذارم
    d0 تا d15 به پورت b وصله
    d16 تا d23 به pc0 تاpc7 وصله
    ERD->pc8
    WR->pc9
    CS->pc10
    DC->pc11
    Reset->pa0
    دوستان کممممممممممممممممممممممک
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar Project.rar (293.8 کیلو بایت, 418 نمايش)

  8. تشکرها از این نوشته :


  9. #105
    مدیرکل سایت kavir آواتار ها
    تاریخ عضویت
    Jun 2007
    نام
    زارعی
    نوشته ها
    3,547
    تشکر
    1,218
    تشکر شده 5,684 بار در 1,801 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kazem67sh نمایش پست ها
    با سلام خدمت مهندسین حرفه ای خودمون آقا بعد از اینکه درایور بک لایت ماسوخت وقرار شد یکی از دوستان از تهران بیاره (مهندس حسینا دستت دردنکنه)فعلا 2تا سوئیچینگ 12 کوچولو با هم سری کردم بک لایت روشن شه ولی برنامم هنوز جواب نداده یه برد برا ssd1963 زدم روی برد آموزشی خودمون fixمیشه جواب گرفتم pcb ش رو میذارم
    آقا ما یک تعداد از پین های data وcontroly مون رو انداختیم روی پورت c هدر برنامه رو هم تغییر دادم
    برنامه رو هم میذارم
    d0 تا d15 به پورت b وصله
    d16 تا d23 به pc0 تاpc7 وصله
    ERD->pc8
    WR->pc9
    CS->pc10
    DC->pc11
    Reset->pa0
    دوستان کممممممممممممممممممممممک
    مهندس هنوز جواب برای ssd1963 نگرفتین؟
    من این بردهایی که اوردم چه mini stm چه اون برد stm32f103vet6 چندین مدل السیدی باهاش تست کردم یه درصد خطا نداشت مطمئنی مشکل نرم افزاری هست مشکل سخت افزار نیست؟
    کویر ویدئو راه اندازی شد

    اگر چه دیر ولی برگشتم به جمع دوستان قدیمی....

  10. تشکرها از این نوشته :


  11. #106
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2009
    نام
    کاظم
    نوشته ها
    33
    تشکر
    11
    تشکر شده 7 بار در 6 پست

    پیش فرض

    من از روی pcb که توی سایت بود فقط جای قطعات رو عوض کردم وreroute
    ودقیقا هم روی برد اصلی سوار میشه
    اینهم pcb
    ونمای برد
    من پین های کنترول وبخشی از دیتا رو روی پورت c گذاشتم اشکالی نداره که؟
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط kazem67sh : 12-12-2012 در ساعت 12:55

  12. #107
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kazem67sh نمایش پست ها
    من از روی pcb که توی سایت بود فقط جای قطعات رو عوض کردم وreroute
    ودقیقا هم روی برد اصلی سوار میشه
    اینهم pcb
    ونمای برد
    من پین های کنترول وبخشی از دیتا رو روی پورت c گذاشتم اشکالی نداره که؟
    سلام مهندس
    ببين رو پين شماره 45 آيسي ssd1963 چه فركانسي داري؟ منظورم پيني كه اسمش lshift .
    در مورد نرم افزارم اومدي فقط پيناي كنترليو تغيير دادي؟
    _____________________________________
    _____________________________________

  13. #108
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kavir نمایش پست ها
    مهندس هنوز جواب برای ssd1963 نگرفتین؟
    من این بردهایی که اوردم چه mini stm چه اون برد stm32f103vet6 چندین مدل السیدی باهاش تست کردم یه درصد خطا نداشت مطمئنی مشکل نرم افزاری هست مشکل سخت افزار نیست؟
    سلام
    بله مهندس زارعي درست ميگن
    منم با ssd1963 تا به حال مشكلي نداشتم. شايد پيني درست لحيم نشده.
    _____________________________________
    _____________________________________

  14. #109
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kazem67sh نمایش پست ها
    با سلام خدمت مهندسین حرفه ای خودمون آقا بعد از اینکه درایور بک لایت ماسوخت وقرار شد یکی از دوستان از تهران بیاره (مهندس حسینا دستت دردنکنه)فعلا 2تا سوئیچینگ 12 کوچولو با هم سری کردم بک لایت روشن شه ولی برنامم هنوز جواب نداده یه برد برا ssd1963 زدم روی برد آموزشی خودمون fixمیشه جواب گرفتم pcb ش رو میذارم
    آقا ما یک تعداد از پین های data وcontroly مون رو انداختیم روی پورت c هدر برنامه رو هم تغییر دادم
    برنامه رو هم میذارم
    d0 تا d15 به پورت b وصله
    d16 تا d23 به pc0 تاpc7 وصله
    erd->pc8
    wr->pc9
    cs->pc10
    dc->pc11
    reset->pa0
    دوستان کممممممممممممممممممممممک
    سلام
    مهندس مطمئني با اين برنامه اي كه اينجا قرار دادي بردو تست كردي؟
    اولا تو اين برنامه كلاك پورتاي c , b هيچكدوم فعال نيست
    ثانيا" پين هاي اين دو تا پورتو كه به صورت خروجي تنظيم نكردي.
    ثالثا" كتابخونه cmsis كه همراهش نيست و كلي ارور ميده.
    پس چطور از اين برنامه نتونستين جواب بگيرين.
    _____________________________________
    _____________________________________

  15. کاربران : 3 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  16. #110
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kamikazi نمایش پست ها
    در مورد رفرشه یه قسمتیو درست ست نکرده بودم درستش کردم و الان رفرشه درست شده ولی یکم بازم تصویر به هم ریختس که مطمعنن مربوط به اطلاعات تایمینگه اشتباهم تو قسمت ست کردن کلاک سیستم بود یعنی من فقط pll رو اینیبل میکردم بهش نمیگفتم از این کلاک برای سیستم استفاده کنه ssd هم میرفت کلاک پیشفرض 10 مگ رو استفاده میکرد حالا موندم این قسمت تایمینگو چطور ست کنم هزارتا مثال هست هرکدومشم یجوره؟؟
    یه چیزی تو دیتاشیت این ال سی دی 9 اینچ برام سواله؟؟؟
    این hs pulse width و vs pulse width که گفته میتونه مقداری از 1 تا 20 برای vs و 1 تا 40 برای hs بگیره یعنی چی ؟ ما چند ست کنیم؟؟ مثال خود شرکت کویر اینطور نوشته
    [php]
    unsigned char hpw=20;
    unsigned char vpw=3;
    [/php]کامند ست کردن pll هم اینطوری میشه
    [php]
    ssd1963_writecommand(ssd1963_set_pll); // 0x00e0
    ssd1963_writedata(0x01); // enable pll
    delay_ms(10);

    ssd1963_writecommand(ssd1963_set_pll); // 0x00e0
    ssd1963_writedata(0x03);
    delay_ms(10); // use pll output as system clock & enable pll
    [/php]اگه کسی میدونه نکته این تایمینگا چیه راهنماییم کنه مخصوصا اون قسمتی که تو اول پست گفتم
    سلام مهندس رحيمي عزيز
    اين فايل pdf بخونيد اطلاعات خوبي گفته مخصوصا صفحات 11 تا 16.
    _____________________________________
    _____________________________________

  17. #111
    Banned
    تاریخ عضویت
    Apr 2011
    نام
    مهدی رحیمی
    نوشته ها
    727
    تشکر
    1,015
    تشکر شده 1,448 بار در 579 پست

    پیش فرض

    سلام بله منم پروژشو دیدم خیلی قضیه رو پیچونده مثل هدرایی که اقا صادق درست میکنه یکی رو برای اینیت کردن کلاک بزار یکیرو هم برای اینیت کردن gpio خیلی راحت برای کم شدن دردسرتم سراغ پینهایی که تو مد gpio نیستن نرو ریمپ کردنش دنگو فنگ داره ممکنه دیگه نتونی از jlink استفاده کنی تو سایتم 200 مثال براش هست این ال سی دی 4.3 راهاندازیش خیلی راحته فکر نمیکنم اینقدر مشکل باشه

    من برای راه اندازی ال سی دی 9 اینچیم با این ssd به مشکل خوردم یعنی وقتی ال سی دی 4.3 رو میزارم خیلی خوبو بدون مشکل تو مد 24 بیتی کار میکنه ولی این ال سی دی 9 انگار سرناسازگاری داره یکم تصویرش با رفرش میاد امروز داشتم دیتاشیت این ssd رو میدیم دیدم برای مقادیر تایمینگش ال سی دی رو 18 بیتی نشون داده][ LDATA[17:0
    اگه برد شماتیکه برد خود شرکت کویر رو هم دیده باشید باس دیتای میکرو تا ssd 16 بیتی و خروجی ال سی دی ssd رو 18 بیتی ست کرده البته بصورت نرم افزاری پایه های dithb و u/d و r/l رو هم به gpio های صفر تا 2 ssd داده و دو مورد اخر برای جهت قرار گیری عکسامون تو ال سی دی هستش قسمت dithb هم نمیدونم برای چیه ولی دیتاشیت خود ال سی دی گفته از داخل پول اپ هستش و تو اینیت کردن اس اس دی با gpio کنترلر ssd یکش کرده اما برای قسمت mode اومده دوتا مقاومت بهش وصل کرده یکی با صفر اهم وصل شده 3.3 و یکی با 10 کیلو وصل شده به گراند که برای سلکت کردن مود de/sync هستش اینم نکته خاصی نداره من با صفر اهم وصلش کردم به 3.3 و تو مد de داره کار میکنه برای vcom هم با تقسیم مقاومت یه ولتاژ 4.2 فیکس باید بدست بیارید که اینم کاری نداره برای قسمت اخر یعنی اینیت کردن اس اس دی برای دیتا باس 24 بیتی و خروجی پنل 24 بیتی انگار قضیه تایمینگ فرق میکنه چون من با مقادیر داخل مثال خود شرکت کویر به هیچ نتیجه ای نرسیدم و هنوز تصویرم یکم موج داره که نشون میده تایمینگ ssd برای این مد درست نیست من حتی به مقادیر بدست اومده از حک کردن این t107bl هم متوصل شدم ولی مقادیری که تو اون ست شده زمین تا زیر زمین با هم فرق داره مثلا یه نمونش او HT رو 1218 ست کرده ولی تو مثال کویر اومده 1000 ست کرده برای برای HT از اونم بدتر اومده بجای 530 عدد 761 رو مقدار داده (رجیسترای 0XB0 تا 0XBE پیج صفر کنترلر T107BL رو مطالعه کنید) برای بک پورش هم همینطور من مقدارای اون این T107BL رو هم برای این اس اس دی ست کردم ولی نشد که نشد

    میخواستم این سوال رو بکنم ایا مقادیر تایمینگ که تو دیتاشیت نوشته برای مد خاصی هستش مثلا برای 18 بیتی یا 24 بیتی یا برای هر مدی مقادیرش ثابته ؟؟؟؟
    و اینکه ایا برای این حالت 24 بیتی مقادیر تایمینگه مثال کویر بدرم میخوره یا نه؟؟؟

    این مقادیر تایمینگه مثال کویره
    [PHP]#define HDP 799 //Horizontal Display Period
    #define HT 1000 //Horizontal Total
    #define HPS 51 //LLINE Pulse Start Position
    #define LPS 3 //Horizontal Display Period Start Position
    #define HPW 8 //LLINE Pulse Width


    #define VDP 479 //Vertical Display Period
    #define VT 530 //Vertical Total
    #define VPS 24 //LFRAME Pulse Start Position
    #define FPS 23 //Vertical Display Period Start Positio
    #define VPW 3 //LFRAME Pulse Width
    [/PHP]

    اینم مقادیری هست که من قرار دادم ولی بازم تصویرم پرش داره البته بگم از اتصال تک تک پایه های سوکت ال سی دی و سخت افزارم مطمعنم مشکلی نداره
    [PHP]void SSD1963_Init (void)
    {
    SSD1963_CTRLPORT->BRR = SSD1963_PIN_RST;
    delay_ms(10);
    SSD1963_CTRLPORT->BSRR = SSD1963_PIN_RST;
    delay_ms(10);

    // REFclk = crystal = 10MHz
    SSD1963_WriteCommand(SSD1963_SET_PLL_MN); // 0x00E2
    SSD1963_WriteData(0x1D); // PLLclk = REFclk * (29+1) = 300MHz
    SSD1963_WriteData(0x02); // SYSclk = PLLclk / (2+1) = 100MHz
    SSD1963_WriteData(0x04); // dummy

    SSD1963_WriteCommand(SSD1963_SET_PLL); // 0x00E0
    SSD1963_WriteData(0x01); // Enable PLL
    delay_ms(10);

    SSD1963_WriteCommand(SSD1963_SET_PLL); // 0x00E0
    SSD1963_WriteData(0x03);
    delay_ms(10); // Use PLL output as system clock & Enable PLL

    SSD1963_WriteCommand(SSD1963_SOFT_RESET); // soft reset 0x0001
    delay_ms(10);

    //Set LSHIFT freq, i.e. the DCLK with PLL freq 110MHz set previously
    //Typical DCLK for AT090TN12 V.3 and AT090TN33 and AT070TN92 and AT090TN10 is 33.3MHz
    //33.264MHz = 100MHz*(LCDC_FPR+1)/2^20
    //LCDC_FPR = 348797 (0x5527D)

    SSD1963_WriteCommand(SSD1963_SET_LSHIFT_FREQ); // 0x00E6 0x553f6
    SSD1963_WriteData(0x05); // 0X05 (TFT_PCLK >>16)&0xFF
    SSD1963_WriteData(0x52); // 0X52 (TFT_PCLK >>8)&0xFF
    SSD1963_WriteData(0x7D); // 0X7D TFT_PCLK&0xFF

    //Set panel mode, varies from individual manufacturer
    SSD1963_WriteCommand(SSD1963_SET_LCD_MODE); // 0x00B0
    SSD1963_WriteData(0x2c);//24-Bit //(0x0C); //18-Bit
    SSD1963_WriteData(0x00);
    SSD1963_WriteData((HDP>>8) & 0x0000FF);
    SSD1963_WriteData(HDP & 0x00FF);
    SSD1963_WriteData((VDP>>8) & 0x0000FF);
    SSD1963_WriteData(VDP & 0xFF);
    SSD1963_WriteData(0x000000);
    delay_ms(10);

    //Set horizontal period
    SSD1963_WriteCommand(SSD1963_SET_HORI_PERIOD); // 0x00B4
    SSD1963_WriteData((HT>>8) & 0X0000FF);
    SSD1963_WriteData(HT & 0x0000FF);
    SSD1963_WriteData((HPS>>8) & 0xFF );
    SSD1963_WriteData(HPS & 0xFF);
    SSD1963_WriteData(HPW);
    SSD1963_WriteData((LPS>>8)&0X0000FF);
    SSD1963_WriteData(LPS&0X0000FF);
    SSD1963_WriteData(0x000000);
    delay_ms(10);

    //Set vertical period
    SSD1963_WriteCommand(SSD1963_SET_VERT_PERIOD); // 0x00B6
    SSD1963_WriteData((VT>>8) & 0x0000FF);
    SSD1963_WriteData(VT & 0x0000FF);
    SSD1963_WriteData((VPS>>8) & 0x0000FF); // 51
    SSD1963_WriteData(VPS & 0x0000FF);
    SSD1963_WriteData(VPW);
    SSD1963_WriteData((FPS>>8)&0X0000FF);
    SSD1963_WriteData(FPS&0X0000FF);
    delay_ms(10);

    //Set pixel data interface
    SSD1963_WriteCommand(SSD1963_SET_PIXEL_DATA_INTERF ACE); // 0x00F0
    SSD1963_WriteData(SSD1963_PDI_24BIT);

    // set address mode
    SSD1963_WriteCommand(SSD1963_SET_ADDRESS_MODE); // 0x0036
    SSD1963_WriteData(0x0000);
    //SSD1963_WriteData(0x0060);
    // GPIO0,1,2,3 is output
    SSD1963_WriteCommand(SSD1963_SET_GPIO_CONF); // 0x00B8
    SSD1963_WriteData(0x0F);
    SSD1963_WriteData(0x01);

    // set GPIO0 , 1 , 2, 3 = 1
    SSD1963_WriteCommand(SSD1963_SET_GPIO_VALUE); // 0x00BA
    SSD1963_WriteData(0x0F);

    SSD1963_ClearScreen(0x000000); // black screen
    delay_ms(10);

    //SET display on
    SSD1963_WriteCommand(SSD1963_SET_DISPLAY_ON); // 0x0029

    // exit sleep mode
    // SSD1963_WriteCommand(SSD1963_EXIT_SLEEP_MODE); // 0x0011
    }
    [/PHP]

    اگه کسی رانمایی کنه ممنون میشم مثل اینکه بجر من کسی خودش این ال سی دی 9 اینچیو راش ننداخته؟؟؟

  18. #112
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2009
    نام
    کاظم
    نوشته ها
    33
    تشکر
    11
    تشکر شده 7 بار در 6 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام مهندس
    ببين رو پين شماره 45 آيسي ssd1963 چه فركانسي داري؟ منظورم پيني كه اسمش lshift .
    در مورد نرم افزارم اومدي فقط پيناي كنترليو تغيير دادي؟
    مهندس روی lshift هیچی ندارم
    در مورد نرم افزار هم آره فقط پینها رو تغییر دادم

  19. #113
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2009
    نام
    کاظم
    نوشته ها
    33
    تشکر
    11
    تشکر شده 7 بار در 6 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kamikazi نمایش پست ها
    سلام بله منم پروژشو دیدم خیلی قضیه رو پیچونده مثل هدرایی که اقا صادق درست میکنه یکی رو برای اینیت کردن کلاک بزار یکیرو هم برای اینیت کردن gpio خیلی راحت برای کم شدن دردسرتم سراغ پینهایی که تو مد gpio نیستن نرو ریمپ کردنش دنگو فنگ داره ممکنه دیگه نتونی از jlink استفاده کنی تو سایتم 200 مثال براش هست این ال سی دی 4.3 راهاندازیش خیلی راحته فکر نمیکنم اینقدر مشکل باشه
    مهندس زمانیکه pcb رو زدم متاسفانه حواسم به remap کردناش نبود
    حالا دیگه زدیم دیگه

  20. #114
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kamikazi نمایش پست ها
    سلام بله منم پروژشو دیدم خیلی قضیه رو پیچونده مثل هدرایی که اقا صادق درست میکنه یکی رو برای اینیت کردن کلاک بزار یکیرو هم برای اینیت کردن gpio خیلی راحت برای کم شدن دردسرتم سراغ پینهایی که تو مد gpio نیستن نرو ریمپ کردنش دنگو فنگ داره ممکنه دیگه نتونی از jlink استفاده کنی تو سایتم 200 مثال براش هست این ال سی دی 4.3 راهاندازیش خیلی راحته فکر نمیکنم اینقدر مشکل باشه

    من برای راه اندازی ال سی دی 9 اینچیم با این ssd به مشکل خوردم یعنی وقتی ال سی دی 4.3 رو میزارم خیلی خوبو بدون مشکل تو مد 24 بیتی کار میکنه ولی این ال سی دی 9 انگار سرناسازگاری داره یکم تصویرش با رفرش میاد امروز داشتم دیتاشیت این ssd رو میدیم دیدم برای مقادیر تایمینگش ال سی دی رو 18 بیتی نشون داده][ LDATA[17:0
    اگه برد شماتیکه برد خود شرکت کویر رو هم دیده باشید باس دیتای میکرو تا ssd 16 بیتی و خروجی ال سی دی ssd رو 18 بیتی ست کرده البته بصورت نرم افزاری پایه های dithb و u/d و r/l رو هم به gpio های صفر تا 2 ssd داده و دو مورد اخر برای جهت قرار گیری عکسامون تو ال سی دی هستش قسمت dithb هم نمیدونم برای چیه ولی دیتاشیت خود ال سی دی گفته از داخل پول اپ هستش و تو اینیت کردن اس اس دی با gpio کنترلر ssd یکش کرده اما برای قسمت mode اومده دوتا مقاومت بهش وصل کرده یکی با صفر اهم وصل شده 3.3 و یکی با 10 کیلو وصل شده به گراند که برای سلکت کردن مود de/sync هستش اینم نکته خاصی نداره من با صفر اهم وصلش کردم به 3.3 و تو مد de داره کار میکنه برای vcom هم با تقسیم مقاومت یه ولتاژ 4.2 فیکس باید بدست بیارید که اینم کاری نداره برای قسمت اخر یعنی اینیت کردن اس اس دی برای دیتا باس 24 بیتی و خروجی پنل 24 بیتی انگار قضیه تایمینگ فرق میکنه چون من با مقادیر داخل مثال خود شرکت کویر به هیچ نتیجه ای نرسیدم و هنوز تصویرم یکم موج داره که نشون میده تایمینگ ssd برای این مد درست نیست من حتی به مقادیر بدست اومده از حک کردن این t107bl هم متوصل شدم ولی مقادیری که تو اون ست شده زمین تا زیر زمین با هم فرق داره مثلا یه نمونش او HT رو 1218 ست کرده ولی تو مثال کویر اومده 1000 ست کرده برای برای HT از اونم بدتر اومده بجای 530 عدد 761 رو مقدار داده (رجیسترای 0XB0 تا 0XBE پیج صفر کنترلر T107BL رو مطالعه کنید) برای بک پورش هم همینطور من مقدارای اون این T107BL رو هم برای این اس اس دی ست کردم ولی نشد که نشد

    میخواستم این سوال رو بکنم ایا مقادیر تایمینگ که تو دیتاشیت نوشته برای مد خاصی هستش مثلا برای 18 بیتی یا 24 بیتی یا برای هر مدی مقادیرش ثابته ؟؟؟؟
    و اینکه ایا برای این حالت 24 بیتی مقادیر تایمینگه مثال کویر بدرم میخوره یا نه؟؟؟

    این مقادیر تایمینگه مثال کویره
    [PHP]#define HDP 799 //Horizontal Display Period
    #define HT 1000 //Horizontal Total
    #define HPS 51 //LLINE Pulse Start Position
    #define LPS 3 //Horizontal Display Period Start Position
    #define HPW 8 //LLINE Pulse Width


    #define VDP 479 //Vertical Display Period
    #define VT 530 //Vertical Total
    #define VPS 24 //LFRAME Pulse Start Position
    #define FPS 23 //Vertical Display Period Start Positio
    #define VPW 3 //LFRAME Pulse Width
    [/PHP]اینم مقادیری هست که من قرار دادم ولی بازم تصویرم پرش داره البته بگم از اتصال تک تک پایه های سوکت ال سی دی و سخت افزارم مطمعنم مشکلی نداره
    [PHP]void SSD1963_Init (void)
    {
    SSD1963_CTRLPORT->BRR = SSD1963_PIN_RST;
    delay_ms(10);
    SSD1963_CTRLPORT->BSRR = SSD1963_PIN_RST;
    delay_ms(10);

    // REFclk = crystal = 10MHz
    SSD1963_WriteCommand(SSD1963_SET_PLL_MN); // 0x00E2
    SSD1963_WriteData(0x1D); // PLLclk = REFclk * (29+1) = 300MHz
    SSD1963_WriteData(0x02); // SYSclk = PLLclk / (2+1) = 100MHz
    SSD1963_WriteData(0x04); // dummy

    SSD1963_WriteCommand(SSD1963_SET_PLL); // 0x00E0
    SSD1963_WriteData(0x01); // Enable PLL
    delay_ms(10);

    SSD1963_WriteCommand(SSD1963_SET_PLL); // 0x00E0
    SSD1963_WriteData(0x03);
    delay_ms(10); // Use PLL output as system clock & Enable PLL

    SSD1963_WriteCommand(SSD1963_SOFT_RESET); // soft reset 0x0001
    delay_ms(10);

    //Set LSHIFT freq, i.e. the DCLK with PLL freq 110MHz set previously
    //Typical DCLK for AT090TN12 V.3 and AT090TN33 and AT070TN92 and AT090TN10 is 33.3MHz
    //33.264MHz = 100MHz*(LCDC_FPR+1)/2^20
    //LCDC_FPR = 348797 (0x5527D)

    SSD1963_WriteCommand(SSD1963_SET_LSHIFT_FREQ); // 0x00E6 0x553f6
    SSD1963_WriteData(0x05); // 0X05 (TFT_PCLK >>16)&0xFF
    SSD1963_WriteData(0x52); // 0X52 (TFT_PCLK >>8)&0xFF
    SSD1963_WriteData(0x7D); // 0X7D TFT_PCLK&0xFF

    //Set panel mode, varies from individual manufacturer
    SSD1963_WriteCommand(SSD1963_SET_LCD_MODE); // 0x00B0
    SSD1963_WriteData(0x2c);//24-Bit //(0x0C); //18-Bit
    SSD1963_WriteData(0x00);
    SSD1963_WriteData((HDP>>8) & 0x0000FF);
    SSD1963_WriteData(HDP & 0x00FF);
    SSD1963_WriteData((VDP>>8) & 0x0000FF);
    SSD1963_WriteData(VDP & 0xFF);
    SSD1963_WriteData(0x000000);
    delay_ms(10);

    //Set horizontal period
    SSD1963_WriteCommand(SSD1963_SET_HORI_PERIOD); // 0x00B4
    SSD1963_WriteData((HT>>8) & 0X0000FF);
    SSD1963_WriteData(HT & 0x0000FF);
    SSD1963_WriteData((HPS>>8) & 0xFF );
    SSD1963_WriteData(HPS & 0xFF);
    SSD1963_WriteData(HPW);
    SSD1963_WriteData((LPS>>8)&0X0000FF);
    SSD1963_WriteData(LPS&0X0000FF);
    SSD1963_WriteData(0x000000);
    delay_ms(10);

    //Set vertical period
    SSD1963_WriteCommand(SSD1963_SET_VERT_PERIOD); // 0x00B6
    SSD1963_WriteData((VT>>8) & 0x0000FF);
    SSD1963_WriteData(VT & 0x0000FF);
    SSD1963_WriteData((VPS>>8) & 0x0000FF); // 51
    SSD1963_WriteData(VPS & 0x0000FF);
    SSD1963_WriteData(VPW);
    SSD1963_WriteData((FPS>>8)&0X0000FF);
    SSD1963_WriteData(FPS&0X0000FF);
    delay_ms(10);

    //Set pixel data interface
    SSD1963_WriteCommand(SSD1963_SET_PIXEL_DATA_INTERF ACE); // 0x00F0
    SSD1963_WriteData(SSD1963_PDI_24BIT);

    // set address mode
    SSD1963_WriteCommand(SSD1963_SET_ADDRESS_MODE); // 0x0036
    SSD1963_WriteData(0x0000);
    //SSD1963_WriteData(0x0060);
    // GPIO0,1,2,3 is output
    SSD1963_WriteCommand(SSD1963_SET_GPIO_CONF); // 0x00B8
    SSD1963_WriteData(0x0F);
    SSD1963_WriteData(0x01);

    // set GPIO0 , 1 , 2, 3 = 1
    SSD1963_WriteCommand(SSD1963_SET_GPIO_VALUE); // 0x00BA
    SSD1963_WriteData(0x0F);

    SSD1963_ClearScreen(0x000000); // black screen
    delay_ms(10);

    //SET display on
    SSD1963_WriteCommand(SSD1963_SET_DISPLAY_ON); // 0x0029

    // exit sleep mode
    // SSD1963_WriteCommand(SSD1963_EXIT_SLEEP_MODE); // 0x0011
    }
    [/PHP]
    تاخيرايي كه تو تعريف اين دو تا تابع استفاده كردين در حد چند ميكرو ثانيه هستش؟
    کد:
    ssd1963_writecommand
    ssd1963_writedata
    _____________________________________
    _____________________________________

  21. #115
    Banned
    تاریخ عضویت
    Apr 2011
    نام
    مهدی رحیمی
    نوشته ها
    727
    تشکر
    1,015
    تشکر شده 1,448 بار در 579 پست

    پیش فرض

    سلام اقا صادق به دادم برس ؟؟؟
    این دوتا تابعی هست که برای این کار استفاده میکنم البته فکر نمیکنم به این مربوط باشه یجا تو تایمینگاه دارم اشتباه میکنم فقط امروز فکر کنم نزدیک 80 بار برنامرو عوض کردم نشد که نشد
    [PHP]//================================================== ===========================
    // Write command to SSD1963
    //================================================== ===========================
    void SSD1963_WriteCommand(unsigned int commandToWrite)
    {
    volatile unsigned int dly;
    SSD1963_DATAPORT_first_16bit->ODR = commandToWrite;
    SSD1963_CTRLPORT->BSRR = SSD1963_PIN_RD;
    SSD1963_CTRLPORT->BRR = SSD1963_PIN_A0 | SSD1963_PIN_CS | SSD1963_PIN_WR;
    for(dly = 0; dly < 10; dly++);//asm("nop");
    SSD1963_CTRLPORT->BSRR = SSD1963_PIN_A0 | SSD1963_PIN_CS | SSD1963_PIN_WR;
    }
    //================================================== ===========================
    // Write data to SSD1963
    //================================================== ===========================
    void SSD1963_WriteData(uint32_t dataToWrite)
    {
    volatile unsigned int dly;
    SSD1963_DATAPORT_first_16bit->ODR = (dataToWrite & 0x00FFFF) ; //GPIOE PE0......PE15
    SSD1963_DATAPORT_second_8bit->ODR = (dataToWrite & 0xFF0000)>>16; //GPIOA PA0......PA7
    SSD1963_CTRLPORT->BSRR = SSD1963_PIN_RD | SSD1963_PIN_A0;
    SSD1963_CTRLPORT->BRR = SSD1963_PIN_CS | SSD1963_PIN_WR;
    // for(dly = 0; dly < 5; dly++);//asm("nop");
    SSD1963_CTRLPORT->BSRR = SSD1963_PIN_CS | SSD1963_PIN_WR;
    }[/PHP]

    راستس مهندس کدوم pdf رو میگید ؟؟؟ اگه او اپلیکیشن نوتس حفظمش ولی یه چنتا پارامتر هستش که اصلا تو دیتاشیت نیست یا لااقل من نمیتونم حسابش بکنم

    [PHP]
    Horizontal Display Area thd - 800 - DCLK
    DCLK Frequency fclk 26.4 33.3 46.8 MHz
    One Horizontal Line th 862 1056 1200 DCLK
    HS pulse width thpw 1 - 40 DCLK
    HS Blanking thb 46 46 46 DCLK
    HS Front Porch thfp 16 210 354 DCLK
    Values
    Item Symbol
    Min. Typ. Max.
    Unit Remark
    Vertical Display Area tvd - 480 - TH
    VS period time tv 510 525 650 TH
    VS pulse width tvpw 1 - 20 TH
    VS Blanking tvb 23 23 23 TH
    VS Front Porch tvfp 7 22 147 TH
    [/PHP]

  22. #116
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2009
    نام
    کاظم
    نوشته ها
    33
    تشکر
    11
    تشکر شده 7 بار در 6 پست

    پیش فرض

    [PHP]#include "stm32f10x.h"
    #include "lcd4bit.h"
    #include "RCC_init.h"
    #include "ssd1963_headerfile.h"

    //////////////////////////////////////////////////////////
    //void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);
    //extern void RCCPreInit();
    #define COLOR24_BLUE 0x0000FF
    #define COLOR24_GREEN 0x008000

    int main(void)
    { unsigned int i=0;
    //unsigned int s=0;
    unsigned int A=100;
    GPIO_InitTypeDef GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOC |RCC_APB2Periph_GPIOD| RCC_APB2Periph_AFIO , ENABLE);

    RCC_INIT();
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_P in_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7
    |GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11|GPI O_Pin_12|GPIO_Pin_13
    |GPIO_Pin_14|GPIO_Pin_15;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    GPIO_Init(GPIOC, &GPIO_InitStructure);
    GPIO_Init(GPIOA, &GPIO_InitStructure);



    SSD1963_Init();
    while(1)
    {
    SSD1963_ClearScreen(COLOR24_GREEN);
    for(A=0;A<10;A++){for(i=0;i<350000;i++){}}; //delay


    SSD1963_ClearScreen(COLOR24_BLUE);
    for(A=0;A<10;A++){for(i=0;i<350000;i++){}}; //delay

    // GPIOA->ODR=0xffff; // }
    }
    }[/PHP]
    آقا این برنامه ی ماست
    درست شده؟
    ویرایش توسط kazem67sh : 13-12-2012 در ساعت 00:06

  23. #117
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2009
    نام
    کاظم
    نوشته ها
    33
    تشکر
    11
    تشکر شده 7 بار در 6 پست

    پیش فرض

    مهندسین عزیز کلاک میکروی من 8 مگه باید بالا ببرمش؟
    کسی دستور overclock رو نداره بذاره من الان همه پین هایی رو که لازم بوده remap شه با موفقیت remapeش کردم
    ویرایش توسط kazem67sh : 13-12-2012 در ساعت 09:36

  24. #118
    Banned
    تاریخ عضویت
    Apr 2011
    نام
    مهدی رحیمی
    نوشته ها
    727
    تشکر
    1,015
    تشکر شده 1,448 بار در 579 پست

    پیش فرض

    سلام مهندس خیلی ببخشید اینو میگم ولی واقعیتش اینکه شما چرا میخواید کاری که 200 سال پیش یکی دیگه کردرو از صفر شروع کنی شما یه برنامه اماده برای راه اندازی ssd از رو نت پیدا کن البته تو همین سایت کویرم هست سرچ کنید فقط بیاید تو توابع اینیت کردن gpio و rtc بیاید بر اساس طراحی بردتون تغییرات رو اعمال کنید چرا دنبال دردسرید برای ریمپ کردن هم تو همون توابع gpio میتونید تغییرات رو اعمال کنید

    حالا کسی نیست بدونه مشکل این پرش تصویرم از کجای تایمینگاس من هر چی ور رفتم با برنامه اتفاقی نیافتاد فکر کنم باید همون 16 بیتی برد کویر راش بندازمو قید این 24 بیتی رو بزنم
    فايل هاي پيوست شده فايل هاي پيوست شده

  25. کاربران : 2 تشکر کرده اند از شما kamikazi برای ارسال این پست سودمند:


  26. #119
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2009
    نام
    کاظم
    نوشته ها
    33
    تشکر
    11
    تشکر شده 7 بار در 6 پست

    پیش فرض

    نقل قول نوشته اصلی توسط kamikazi نمایش پست ها
    سلام مهندس خیلی ببخشید اینو میگم ولی واقعیتش اینکه شما چرا میخواید کاری که 200 سال پیش یکی دیگه کردرو از صفر شروع کنی شما یه برنامه اماده برای راه اندازی ssd از رو نت پیدا کن البته تو همین سایت کویرم هست سرچ کنید فقط بیاید تو توابع اینیت کردن gpio و rtc بیاید بر اساس طراحی بردتون تغییرات رو اعمال کنید چرا دنبال دردسرید برای ریمپ کردن هم تو همون توابع gpio میتونید تغییرات رو اعمال کنید
    سلام مهندس منم کاری که 200 سال پیش انجام دادن رو نمیخوام انجام بدم(وقتشو ندارم)
    در ضمن بردم تقریبا راه افتاده ولی روی پینهام (نمیدونم شاید چون سرعتش بالاست اینجوریه؟)پالس نیست موجه سینوسی تقریبا افتاده
    remap کردن پایه ها هم بدرستی انجام شده مطمعنم تست گرفتم
    مهندس در واقع من هم کاری که شما گفتی رو داشتم انجام میدادم ولی خوب مشکل پیش میاد دیگه(ناراحت نشو)

  27. تشکرها از این نوشته :


  28. #120
    کاربر علاقه مند
    تاریخ عضویت
    Sep 2007
    نام
    بهروز
    نوشته ها
    34
    تشکر
    14
    تشکر شده 46 بار در 21 پست

    پیش فرض

    سلام دوستان
    من یه برد طراحی کردم جهت راه اندازی lcd 3.4 و از میکرو LPC1768 استفاده کردم، هدر فایل رو هم تنظیم کردم واسه این میکرو. جالب اینکه هیچ رفتار خاصی از SSD1963 دریافت نمیکنم. یعنی نه pwm کار میکنه و نه هیچ فرکانسی روی پایه lshift دارم. تمام اتصالات هم درسته. امکان داره SSD1963 سوخته باشه ؟
    راه تستی وجود نداره واسه مطمئن شدن ؟

صفحه 6 از 20 نخستنخست 1234567891011121314151617181920 آخرینآخرین

موضوعات مشابه

  1. کتابخانه delay برای stm32f103rbt6
    توسط saeidhp در انجمن stm32
    پاسخ: 4
    آخرين نوشته: 22-12-2014, 06:05
  2. Usb و چگونگي راه اندازي با stm32f103rbt6
    توسط sadmonew در انجمن stm32
    پاسخ: 7
    آخرين نوشته: 23-10-2014, 21:52
  3. [سوال] پروگرام کردن mini stm32f103rbt6 از طریق usb
    توسط sam1367 در انجمن stm32
    پاسخ: 23
    آخرين نوشته: 02-01-2014, 01:40
  4. برنامه و شماتيك براي درايور ssd1963
    توسط sadmonew در انجمن PIC
    پاسخ: 3
    آخرين نوشته: 14-09-2013, 09:14
  5. مشکل در راه اندازي آي سي درايور(ک
    توسط mohammadr1371 در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 6
    آخرين نوشته: 07-11-2009, 15:54

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •