Перейти к содержанию
    

hd44780

Свой
  • Постов

    1 236
  • Зарегистрирован

  • Посещение

Весь контент hd44780


  1. Понятно, спасибо. Эти Owon-ы, по-моему почти те же RIGOL-ы. Насчёт взлома ригола я тут где-то читал, что они начали активно этому сопротивляться. Боязно. Лучше сразу 100МНz купить.
  2. Приставку не планирую. Интересует автономный с USB для сброса результатов на комп когда надо. По цене, в принципе, 800$ осилю (типа RIGOL DS1102D), но сперва хотел бы с характеристиками определиться. И с качеством. Onkel, понятно. RIGOL DS1102E получше будет? И если OWON, то что?
  3. Привет всем. Выбираю себе цифровой осцилл. Занимаюсь в основном STM32, поэтому остановился на частоте пропускания в 100 MHz. Пока выбор остановил либо на RIGOL DS1102E, либо какой-то АКТАКОМ типа ADS-6122 - http://www.aktakom.ru/kio/index.php?SECTIO...MENT_ID=6829505 . Лог анализатор у ригола с буквой D, как я понял из разных форумов никакой и без анализатора протоколов. Актаком за доп вознаграждение даёт этот анализатор - http://www.aktakom.ru/kio/index.php?SECTIO...MENT_ID=7214294 а также генератор сигналов, что тоже может пригодиться. Подскажите, пожалуйста, в какую сторону смотреть. Спасибо. PS. Прошу сильно не пинать, если где-то говорю или скажу глупость, т.к. сейчас на руках только UNIT UT-81B. Ничего более серьёзного на настоящий момент в руках не держал.
  4. Попробовал LTDC + 3xDAC --> VGA, оно ожило. Практически с пол-пинка. Жутко криво (цвета искажённые, SDRAM, колбасит, видимо, от наводок), но работает. Пока бросил до лучших времён.
  5. USB FS Dual Host на STM32F4x9

    Совсем я забыл про эту ветку.. Сделал карты, деньги, 2 ствола флэшку, мышку, 2 хоста. Пока всё нормально пашет. Могу втыкать в любых сочетаниях. Даже USB клаву втыкал - работает. 2 мышки или 2 клавы одновременно не втыкал (ИМХО это маразм), но 2 флэшки одновременно работают прекрасно. Немного бесит жутко упрощённый декодер скан-кодов от ST, ну то уже мелочи. На радиомыши, радиокомплекты и прочие навороты пока забил. Как-нибудь потом.
  6. Да, по DCLK спасут, а вторую дорогу пока не смотрел. Но дело тонкое, на выходных займусь.
  7. Всем спасибо. Ошибка проектирования платы. 2 ноги LTDC пересекаются с SDRAM. В том числе и DCLK :) . Делать что-либо дальше бессмысленно :crying: .
  8. Картинки да, нет. Есть то, что на фото. Только оно ещё и бегает непрерывно. А должен быть просто сплошной синий цвет. Питание платы - китайский импульсник 5в 1А. На плате стоит 5 амперный LT1084, выдаёт 3.15в. Осциллографом смотрел - просадок не заметил. Можно поднять до 3.3в ровно, на LT1084 регулятор есть. На выходных запитаю от компового AT БП, тот ампер 10-12 выдаёт. Тогда отпишусь. Щас включить не могу, там один проводок отвалился.
  9. Да, но очень немного. Почти не заметно. Да. Существенных отличий не заметил.
  10. Вот это я делал: LTDC_InitStruct.LTDC_PCPolarity = LTDC_PCPolarity_IIPC; и активными уровнями я тоже игрался. Фото ахинеи приложил.
  11. ArseGun, я понимаю. Но на шлейфе нет никаких напряжений, кроме Vcc=+3.3v. Я добавил перед инициализацией LTDC delay_ms(100); - ничего оно не дало. Есть ещё подсветка, но она к дисплею никак не относится. Попробовал подавать на RGB пины фиксированные уровни - белый цвет почти нормальный, кое-где (в подавляющем большинстве справа) чёрные участки. Подал только синий - красно-сине-зелёная мельтешня с теми же чёрными участками :( . Причём чёрные участки на верхней половине дисплея находятся на самом правом краю дисплея, на нижней - чуть левее, на глаз где-то на пятую часть.
  12. RGB ноги я перекофигурю, а DЕ у меня и так к LTDC подключён: // PF10 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_PinAFConfig ( GPIOF, GPIO_PinSource10, GPIO_AF_LTDC ); // PF10 - DE GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_Init ( GPIOF, &GPIO_InitStructure ); ................ // Initialize the data enable polarity as active low LTDC_InitStruct.LTDC_DEPolarity = LTDC_DEPolarity_AL; Вот только ничего, кроме нуля, я на нём ничего не видел.
  13. Тут хоть бы этот один подключить ... Начинаю думать, что дисплей у меня какой-то больной :( Два диспа - по-моему вряд ли. Как я понял, этим сигналом иногда режимы синхронизации переключаются..
  14. С Днём Победы всех! Короче всякие там HSYNC и прочие никакого влияния практически не оказывает. С частотой пока особо не игрался.
  15. Осциллом смотрел на 8МГц - мой UT-81B больше не понимает :) Синхра, если точно, 8.25МГц получается, он и их в изуродованном виде показывает. Частоту, правда, правильно меряет. Ещё на 16 включал - при уменьшении частоты картинка (точнее какой-то цветной мусор, меняющийся при записи в видеобуфер) сжимается. Правильно это или нет - я пока не осознал .... Этот мусор растягивается на всю ширину дисплея при частотах типа 30 МГц. Но на "бегание строк" изменение частоты никак не влияет. Наверное всё-таки что-то с синхронизацией... DE посмотрел осциллом - там 0. Разводка домашняя, из альтиума, саму плату в Кировограде заказывали, на фирме какой-то.[DELETED] Но разводка точно кривая. SDIO там тоже практически всегда с Timeout error вываливается. Хорошо хоть SDRAM/FSMC-дисплей и оба USB хоста (оба FS) нормально пашут :) . Ну не считая 60 МГц вместо 90. Так что левые наводки на LTDC сигналы совсем не исключены.
  16. Посмотрел осциллом: 1. DCLK == тактовой LTDC модуля. 2. Если выключить (либо не инициализировать) слои, сигналов VSYNC/HSYNC вообще нет. Они всегда висят в 1 (при настройке Active Low). 3. Длительности HSYNC/VSYNC процом формируются верно. :rolleyes: Ещё одна муть в ДШ дисплея: есть 2 набора временных диаграмм: DE mode и SYNC mode. Как осуществить выбор между ними - непонятно. Знакомы купил другой дисплей AT070TN92 (но ещё не спаял его) - у него есть спец нога - MODE, которая переключает эти режимы. Здесь такой ноги (либо чего-то ещё) нет. Да и как выбирать эти режимы в самом проце тоже пока не понял. В DE режиме вообще HSYNC/VSYNC нету (или я неправильно это понимаю?).
  17. Благодарю всех за ответы. Продолжаю разборки, уарт прикрутил, написал на компе прогу, которая пуляет туда параметры HSYNC, HBP, и прочеею Дисплей на такое управление реагирует. Буду подбирать параметры. Про частоту DCLK мне непонятно. Это тактовая модуля LTDC или ещё что-то? Из ДШ проца не понял. Осциллом на выходных посмотрю. DMA у LTDC как такового нету. DMA2D - как я понимаю, Приблуда только для граф функций. Включал/отключал его - пофигу.
  18. Спасибо за ответ. Память у меня работает на 60 MHz, 90 на моей плате глючит, видимо, из-за разводки. DMA никаких нету, это тестовая прошивка, чтобы этот LTDC оживить, если возможно. Из доп периферии только SDRAM и светодиодик моргает. SDRAM 16-битный MT48LC16M16A2. Тайминги придётся подбирать через комп и уарт, иначе флэш проца подохнет раньше на перепрошивках, чем я их подберу. Грёбаные китайцы ДШ левый подсунули - http://www.ebay.com/itm/7-inch-800x480-TFT...#ht_3554wt_1034 :( на шлейфе, где у них схемка спаяна, написано LY7040B, в интернете доки я не нашёл, только ссылки на али-бабу, где его купить можно.
  19. STM32F439IIT6 + LTDC дисплей

    Приветствую всех. Подключаю дисплей (ДШ приложил) 800x480 к LTDC. Проц - F439IIT6, LQFP176, дисплей подключен по полной схеме RGB888 +4 сигнала (HSYNC, VSYNC, DE, DCLK). На основе примеров написал прошивку (приложил) - просто инициализирует LTDC и всё. Но пока дальше невнятных полосок на экране ничего не увидел. Полоски напоминают советский телек со сбитыми частотой кадров и всем остальным. Если забить фреймбуфер нулями (чёрный цвет) - полоски исчезают (что вполне естественно), но вверху и внизу мигают и бегают светлые строки. Буфер лежит в SDRAM. Сам SDRAM проверен миллион раз - STemWin с буфером 2 МБ в SDRAM + SSD1963 - работает великолепно. Посмотрите, пожалуйста, кто может. Хотя после откровенной неправды в ДШ насчёт напряжения подсветки (указано 9.9в, оказалось 18-19в), я вообще сильно сомневаюсь в его корректности. Спасибо. F439_SDRAM_LTDC.zip LCD_Datasheet.pdf
  20. RCC->CR &= ~(1<<16);//HSEON это Вы HSE включили? А внешний кварц есть? Он между прочим, к PH0/PH1 цепляется. И, наверняка, при этом нагло забирает себе эту ногу :) . Варианта тут 2: 1. Перевесить кнопку куда-нибудь ещё.. 2. Забыть про HSE и не пытаться включать его. Работать исключительно от HSI.
  21. А попробуйте видеобуфер в лоб очищать, каким-нибудь memset-ом ...
  22. Поглядел Ваш код diskio.c (работа отпустила :rolleyes: ) flash.readArray(realSector, count * 512, buff); flash.writeData(realSector + i * 256, sizeof(temp), temp); 1-й аргумент функций - что это? Выше Вы писали, что тестировали прослойку. Вы тестировали функции diskio.c?
  23. Ну надо смотреть, что именно не нравится create_chain .. Хз. На SD-картах и USB флэшках я такого не видел.
  24. if (LD_WORD(&fs->win.d8[bS_55AA]) != 0xAA55) /* Check boot record signature (always placed at offset 510 even if the sector size is >512) */ return 2; Т.е. оно не может найти сигнатуру MBR/бут сектора (тот самый 0xAA55). Убедитесь в её наличии. При необходимости отформатируйте её функцией mkfs (если правильно название вспомнил). Если честно, я бы пошёл по пути, предложенному skripach - напишите прослойку для эмуляции 512 байтовых секторов. Может и сложновато будет, зато не придётся перепахивать весь FatFs в поисках очередного капкана. Да и потом обновлять версии FatFs проще ...
  25. Проверьте FаtFs на предмет размера сектора. Может он где-то считает, что у Вас 512 байт по стандарту. по поводу disk_read. disk_read(fs->drv, fs->win.d8, sector, 1)) - что такое fs->win.d8? как я понимаю, это вот это: ................ DWORD database; /* Data start sector */ DWORD winsect; /* Current sector appearing in the win[] */ BYTE win[_MAX_SS]; /* Disk access window for Directory, FAT (and Data on tiny cfg) */ } FATFS; где тут d8? И чему равен _MAX_SS? По дефолту он равен 512. Если Вы сделали сектор в 4К, то и сюда пишите 4096. И если у Вас disk_read даже не возвращается, а улетает в космос под названием HardFault - то cкорее всего Вы где-то внутри этой функции портите память, в частности, стек, где хранися адрес возврата. При возврате проц пытается перейти по адресу из стека, но там явно какая-то чепуха. Оно это дело просекает и уходит в HardFault, дабы уберечь систему от непредсказуемости. Я так думаю :) .
×
×
  • Создать...