Важная информация

User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 21

Тема: zx8 zx128 на stm32f407

  1. #11
    Member
    Регистрация
    27.04.2010
    Адрес
    Воронеж
    Сообщений
    94
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Бокер

    Контакты все точно крепки и правильны. rst на d8. Сто раз проверял в обоих направлениях.
    hex шил и st-link и flashloader demonstator через pa9-pa10.
    Поставил systemworkbench и даже получилось скомпилировать и зашить им же
    Вот дебаг: (Пока что только экран подключён, без SD)
    ÿ

    System Start
    HAL_RCC_GetHCLKFreq = 168000000
    HAL_RCC_GetPCLK1Freq = 42000000
    timers 15298
    go reset
    delay ok
    writecomm ok
    reset
    ID=4000000
    LCD_init ok
    clear screen 5 ms
    sd_state = 0
    hsd.SdCard.BlockNbr=0
    hsd.SdCard.BlockSize=0
    hsd.SdCard.CardType=0
    hsd.SdCard.CardVersion=0
    hsd.SdCard.Class=0
    hsd.SdCard.LogBlockNbr=0
    hsd.SdCard.LogBlockSize=0
    CardInfo size 0 MB
    Read 1 blocks (bytes = 512) in 0 ms st = 1

    00 00
    01 00
    02 00
    03 00
    EndPrint
    tt=5 85 1 0 cnttt= 0
    tt=5 20 1 0 cnttt= 0
    tt=8 20 1 0 cnttt= 151
    tt=9 20 1 0 cnttt= 149
    tt=8 20 1 0 cnttt= 151
    tt=8 20 1 0 cnttt= 149
    tt=9 20 1 0 cnttt= 149
    tt=8 20 1 0 cnttt= 149
    tt=8 20 1 0 cnttt= 151
    tt=9 20 1 0 cnttt= 149
    tt=8 20 1 0 cnttt= 149


    Экран действительно жрёт много, поэтому всю систему я питаю напрямую от ЛБП 3.3в без внутренних 5->3.3 конверторов.

    Далее я анкоментил в inc\ili8341.h строки
    #define ILI9341_HSYNC ((uint32_t)9) /* Horizontal synchronization */
    #define ILI9341_HBP ((uint32_t)29) /* Horizontal back porch */
    #define ILI9341_HFP ((uint32_t)2) /* Horizontal front porch */
    #define ILI9341_VSYNC ((uint32_t)1) /* Vertical synchronization */
    #define ILI9341_VBP ((uint32_t)3) /* Vertical back porch */
    #define ILI9341_VFP ((uint32_t)2) /* Vertical front porch */
    Но как бы я ни увеличивал ни на что не влияет. А в датащите на Himax HX8347-A в таймингах написано TBD только.
    Или я не там меняю?
    Но ведь решение где-то под носом...
    Благодарю.

  2. #12
    Junior
    Регистрация
    01.11.2020
    Адрес
    г. Маалот-Таршиха, Израиль
    Сообщений
    15
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Скарт Посмотреть сообщение
    Бокер

    Контакты все точно крепки и правильны. rst на d8. Сто раз проверял в обоих направлениях.
    hex шил и st-link и flashloader demonstator через pa9-pa10.
    Поставил systemworkbench и даже получилось скомпилировать и зашить им же
    Вот дебаг: (Пока что только экран подключён, без SD)
    ÿ

    System Start
    HAL_RCC_GetHCLKFreq = 168000000
    HAL_RCC_GetPCLK1Freq = 42000000
    timers 15298
    go reset
    delay ok
    writecomm ok
    reset
    ID=4000000
    LCD_init ok
    clear screen 5 ms
    sd_state = 0
    hsd.SdCard.BlockNbr=0
    hsd.SdCard.BlockSize=0
    hsd.SdCard.CardType=0
    hsd.SdCard.CardVersion=0
    hsd.SdCard.Class=0
    hsd.SdCard.LogBlockNbr=0
    hsd.SdCard.LogBlockSize=0
    CardInfo size 0 MB
    Read 1 blocks (bytes = 512) in 0 ms st = 1

    00 00
    01 00
    02 00
    03 00
    EndPrint
    tt=5 85 1 0 cnttt= 0
    tt=5 20 1 0 cnttt= 0
    tt=8 20 1 0 cnttt= 151
    tt=9 20 1 0 cnttt= 149
    tt=8 20 1 0 cnttt= 151
    tt=8 20 1 0 cnttt= 149
    tt=9 20 1 0 cnttt= 149
    tt=8 20 1 0 cnttt= 149
    tt=8 20 1 0 cnttt= 151
    tt=9 20 1 0 cnttt= 149
    tt=8 20 1 0 cnttt= 149


    Экран действительно жрёт много, поэтому всю систему я питаю напрямую от ЛБП 3.3в без внутренних 5->3.3 конверторов.

    Далее я анкоментил в inc\ili8341.h строки
    #define ILI9341_HSYNC ((uint32_t)9) /* Horizontal synchronization */
    #define ILI9341_HBP ((uint32_t)29) /* Horizontal back porch */
    #define ILI9341_HFP ((uint32_t)2) /* Horizontal front porch */
    #define ILI9341_VSYNC ((uint32_t)1) /* Vertical synchronization */
    #define ILI9341_VBP ((uint32_t)3) /* Vertical back porch */
    #define ILI9341_VFP ((uint32_t)2) /* Vertical front porch */
    Но как бы я ни увеличивал ни на что не влияет. А в датащите на Himax HX8347-A в таймингах написано TBD только.
    Или я не там меняю?
    Но ведь решение где-то под носом...
    Благодарю.
    Не это не те.
    тимиги в main.c : MX_FSMC_Init . Лучше менять в MX plugin файл .ioc, но можно и прямо в коде(регенерация проекта из плагина переписывает этот код)

    Timing.AddressSetupTime = 2; //2-4
    Timing.AddressHoldTime = 15; //15-20
    Timing.DataSetupTime = 7; //7-11
    Timing.BusTurnAroundDuration = 0; //0-2
    Timing.CLKDivision = 16;
    Timing.DataLatency = 17;
    Timing.AccessMode = FSMC_ACCESS_MODE_A;
    /* ExtTiming */
    ExtTiming.AddressSetupTime = 1; //1-3
    ExtTiming.AddressHoldTime = 15; //15-20
    ExtTiming.DataSetupTime = 3; //3-5
    ExtTiming.BusTurnAroundDuration = 0; //0-2
    ExtTiming.CLKDivision = 16;
    ExtTiming.DataLatency = 17;
    ExtTiming.AccessMode = FSMC_ACCESS_MODE_A;

    И внимательно !!!!!!!!!!!!!!!!!!!
    У Вас ведь вот это проект?
    https://github.com/sdima1357/spectrum128_cpm_8bit

    file ili9341.h : строка 107
    define должен быть включен:


    #define ILI9341


    смущает в логе отсуствие реакции на ID=4000000 ?? . Должно быть ID=х0009341
    У вас с ардуины он ответил:
    reg(0x0004) 00 00 93 01 Manufacturer ID
    Не знаю . похоже на тайминги FSMC . Или провода. Может какой из пинов у stm мертвый? Сигнал по всем пробегает?


    20:00

    Добавил фирменный 9341 с его таймингами.
    reset
    ID4=9341
    ID=41000000
    go reset
    delay ok
    writecomm ok
    reset
    ID4=9341
    ID=41000000
    ID1=0
    ID2=0
    ID3=0
    LCD_init ok
    clear screen 12 ms

    Возьмите новый код c https://github.com/sdima1357/spectrum128_cpm_8bit
    изменения в нескольких файлах
    image:
    https://github.com/sdima1357/spectru...121_203223.jpg
    Последний раз редактировалось sdima1357; 21.11.2020 в 21:40.

  3. #13
    Member
    Регистрация
    27.04.2010
    Адрес
    Воронеж
    Сообщений
    94
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дааа!!! Заработало! Вы гений Буду разбираться далее. Спасибо огромное!
    Чуть-чуть мерцает экран, потом разберусь подсветка это или не хватает fps.
    И резистор сниму - клаву проверю.
    Я так рад ))))

  4. #14
    Junior
    Регистрация
    01.11.2020
    Адрес
    г. Маалот-Таршиха, Израиль
    Сообщений
    15
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Скарт Посмотреть сообщение
    Я так рад
    Хм .. Я тоже
    C экраном сложно.На некоторых платках можно вычислить дорожку ледов
    , перерезать и вставить резистор. Должно быть ,для 2.4 где то <100 ма. На некоторых надо отдирать аккуратно дисплей и отпаивать шлейф ледов.
    Короче проще купить нормальный 16 бит 3.2 дисплей. На моей плате есть транзистор подключенный к ШИМ управлению яркостью. В коде на 16 бит все это есть. Сейчас пытаюсь написать чтение и запись с физическим магнитофоном
    Последний раз редактировалось sdima1357; 22.11.2020 в 00:43.

  5. #15
    Member
    Регистрация
    27.04.2010
    Адрес
    Воронеж
    Сообщений
    94
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Клава заработала тоже!!!
    Дело в экране, что я бы вообще поставил 2.2" если бы fsmc был. Мне как можно меньше - лучше.
    У меня и боард, как вы заметили, тоже маленький очень.
    Сей час я могу запитать всё это 3мя вольтами (вместо 3.3) и тогда ток 150. Из которых подсветка - 50. Странно, но ЦП и экран без подсветки берут аж 100мА!
    Куда идёт такой огромный ток - не понимаю. ЦП не нагревается ни на градус относительно окружающей среды, экран тоже.
    При 3.3в это всё жрёт запредельные 230мА.
    Надо поднимать экран и ставить резистор. Ерунда. Это всё сделаю и глазом не моргну.
    Теперь надо сосредоточиться на супер-мини маленькой клавиатуре.
    И моя мечта сделать нано-спектрум лэптоп, с вашей прошивкой и неоценимой помощью, становится всё ближе!!

  6. #16
    Junior
    Регистрация
    01.11.2020
    Адрес
    г. Маалот-Таршиха, Израиль
    Сообщений
    15
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Скарт Посмотреть сообщение
    Клава заработала тоже!!!
    Дело в экране, что я бы вообще поставил 2.2" если бы fsmc был. Мне как можно меньше - лучше.
    ..
    Теперь надо сосредоточиться на супер-мини маленькой клавиатуре.
    И моя мечта сделать нано-спектрум лэптоп, с вашей прошивкой и неоценимой помощью, становится всё ближе!!
    2.2 будет очень мелко в режиме CP/M.(80х25) . А Вашего экрана можно выкинуть плату и припаять на свою,покомпактней. И клавиатуру можно и самому спаять, мне просто лень. Ножек свободных у STM-ки осталось много, можно сканировать вручную и обойтись и без USB клавиатуры(ей нужно точно 48 MHz) Тогда можно поднять клок и прицепить SPI display.Я прицеплял 1.3 spi (240х240)(https://aliexpress.ru/item/32994026323.html). Он тормознутый, надо рисовать через фрейм. Но прикольно. И с клавиш пожно было подвинуть на одну знакопозицию влево вправо (256-240=16 пикселей- те. одна слева одна справа) . Ну очень маленький. Для большинства игр нормально но читать плохо. Могу Вам перемапировать SD на SPI , тот что на экране сзади. ЦП и будет жрать много, он такой, прожорливый.Надо посмотреть что можно отключить.И по схеме посмотреть, может там кто лишний есть. Клавиатуре на USB лучше дать 5 V, у меня на 3 иногда не запускается.

    А еще можно запустить тач (надо запускать АЦП для этого экрана) и прицепить джойстик. Тогда для игр можно обойтись и без клавиатуры.

    И все таки круто у Вас получилось. За пару дней повторили и практически в железе. Я думал будет больше проблем. То есть конструкция повторяемая и недорогая.
    Последний раз редактировалось sdima1357; 22.11.2020 в 02:35.

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17
    Member
    Регистрация
    27.04.2010
    Адрес
    Воронеж
    Сообщений
    94
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Клавиатуру буду сам собирать. Готовые слишком большие. Пока подумываю взять от motorola droid 4.
    Столкнулся с глюком - у меня звук только с PA9 идёт, PA8 - глухо.
    Теоретически, возможно, у меня пробило этот пин. У вас звук с обоих?

  9. #18
    Member
    Регистрация
    27.04.2010
    Адрес
    Воронеж
    Сообщений
    94
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А нет. Проверил в ардуине оба вывода в порядке. И PA8 и PA9 нормально функционируют.
    А вот в эмуляторе звук только через PA9..

  10. #19
    Junior
    Регистрация
    01.11.2020
    Адрес
    г. Маалот-Таршиха, Израиль
    Сообщений
    15
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    15
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Так и задумано. Это я с магнитофоном играю. fuller - выход пина динамика fullerT - выход пина магнитофона. amp - выход AY8910
    в двух местах в файле smain.c(2 вызова строки 1276 и 1279 ).

    вот так :
    push_pair(fuller+amp+MAX_VOLUME/2,fullerT+amp+MAX_VOLUME/2);

    первый параметр - левый канал , второй правый. Если поставить например:
    push_pair(fuller+MAX_VOLUME/2,fuller+MAX_VOLUME/2);
    будет чистый динамик
    а вот так:
    push_pair(amp+MAX_VOLUME/2,amp+MAX_VOLUME/2);
    только ay-3 - 8910



    push_pair вызывается в двух местах. В цикле и в хвосте цикла. Менять надо в обоих. Один (правый)канал на PA8 , другой на (левый)PA9 . Или наоборот.

    То есть в текущем коде вызовите save program tape из байсика услышите второй пин. Или mp3 - тогда оба. Или что то на AY3-8910.
    Последний раз редактировалось sdima1357; 23.11.2020 в 00:36.

  11. #20
    Member
    Регистрация
    27.04.2010
    Адрес
    Воронеж
    Сообщений
    94
    Спасибо Благодарностей отдано 
    5
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поменял обе строки на push_pair(fuller+amp+MAX_VOLUME/2,fuller+amp+MAX_VOLUME/2);
    Но ситуация не изменилась Очень странно... Ещё страннее что МР3 тоже не работает на PA8.
    Боюсь мне надо remap делать на другой таймер.

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 1 , гостей: 1)

  1. Скарт

Похожие темы

  1. Zx spectrum128, CP/M 2.2 и терминал на STM32F407
    от sdima1357 в разделе Эмуляторы
    Ответов: 5
    Последнее: 02.11.2020, 00:01
  2. Чтение TAP файлов ZX-Spectrum на базе STM32F407
    от san010101 в разделе Внешние накопители
    Ответов: 60
    Последнее: 10.07.2020, 13:16
  3. ZX128 альтернативная прошивка от Derby
    от rw6hrm в разделе Новости
    Ответов: 18
    Последнее: 26.01.2019, 18:51
  4. Фирменный ZX128 и порт $ff
    от ram_scan в разделе Unsorted
    Ответов: 2
    Последнее: 05.03.2018, 17:00
  5. Какие страницы медленные у ZX128?
    от Saar в разделе Память
    Ответов: 5
    Последнее: 07.06.2016, 08:58

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •