Просмотр полной версии : Вектор-06Ц: Altera DE1
Вычищать мусор из всего проекта не хватает моральных сил, вот контроллер сдрама, его будет достаточно для оценки нововведений :)
Странные манипуляции с адресными линиями вызваны тем, что при обращении к контроллеру адреса перепутываются (A[14:13] помещаются в самые младшие разряды) для облегчения/ускорения чтения видео.
Никто не успел заметить - а я успел доработать. Теперь кеш (теперь 4 Кб) обновляется не только при записи, но и при чтении.
Сейчас еще более "агрессивный" вариант попробую.
---------- Post added at 21:50 ---------- Previous post was at 21:35 ----------
Время прогона оптимизированного эксисайзера для SDRAM 144/CPU 48:
без кеша - 9:30
с кешем (первый вариант) - 9:10
Тут я подумал - WTF? Что ж такая низкая эффективность?
После вышеописанной доработки
с кешем (второй вариант) - 8:20
Это уже на что-то похоже.
Если не бояться кеш-промахов, то можно не начинать параллельно чтение из SDRAM (которое в случае кеш-попадания долго завершать), а сначала попробовать найти в кеше и только если там нет тогда читать из SDRAM. При кеш-промахе будем терять 2 такта, но, как известно из литературы, кеш-промахи д.б. не очень частыми (это если не делать как я в первом варианте).
с кешем ("агрессивный вариант") - 7:10
Вот это я понимаю! У меня на стареньком атлоне оригинальный эксисайзер только чуть быстрее в emu работал :)
---------- Post added at 22:17 ---------- Previous post was at 21:50 ----------
Но все равно пока что кеш туповатый, можно и сам контроллер улучшить и снаружи.
SDRAM 162/CPU 81 с кешем - 5:26
Можешь в двух словах описать работу кеша?
Сейчас реализован самый простой вариант - кеш прямого отображения со сквозной записью.
Адрес, по которому обращается процессор делим на две части - младшая будет индекс в кеше, старшая хранится в теге кеша и при обращении сравнивается с тем, что сейчас дает проц. Пишем в кеш при чтении из сдрам (то, что я в первом варианте не сделал) или при записи.
Причем я вчера попробовал сделать перекос в сторону чтения еще сильнее - обновлять кеш при записи только если данный адрес уже там есть. Это не изменило время прогона эксисайзера и амбала3д, так что пока под вопросом, как оставить.
Выложенный вариант "консервативный" - читаем из кеша и проверяем тег параллельно с чтением из сдрам. Так мы никогда не будем терять такты в случае кеш-промахов, но и выигрыш маловат. После тестов сам я однозначно за "агрессивный" вариант - сначала читаем из кеша, и только если там нет - начинаем обращение к сдрам. В худшем случае потеряется два такта, но кеш-попадания заметно чаще промахов, т.ч. игра стоит свеч.
Что стоит доделать для более серьезного применения - увеличить размер строки кеша. У меня сейчас каждой записи тега соответствует один байт из памяти. Это очень неэффективно. Надо как минимум 2, а лучше 4-8-16 и читать пакетом.
Да, еще надо не забывать инициализировать кеш при ресете. В векторе я загрузчик чуть доработал для этого.
В векторе, раз нет дма и видео всегда в одном месте (плохо для программера, хорошо для кеширования), то сравнительно несложно доработать до обратной записи. Т.е. по видеоадресам сквозная запись, а по остальным - обратная.
Эффективнее был бы наборно-ассоциативный кеш (хотя бы двухвходовый), но заморочек там больше, может кто знает готовый вариант, желательно на верилоге?
А не будет проблем в случае, когда при серийном доступе к памяти пересекается граница банка? У меня после чтения даташита что-то такое засело в мозгу насчет precharge.
Просто не надо ее пересекать. "Нарезаем" банк на части по 2-4-8-16 или сколько надо байт и читаем их. Видео же я читаю по 4 байта, все ОК.
---------- Post added at 13:18 ---------- Previous post was at 13:16 ----------
А если вдруг очень надо пересечь, то с precharge, но я лично необходимости в этом не вижу.
Интуитивно чувствую, что для оценки работы кэша нужна другая тулза. Типа читать-писать разные количества данных из одних и тех же/прилегающих/разных мест.
Когда у меня сначала кеш совсем слабо работал я подумал - неужели придется эмулятор вымучивать?
Еще хочу уточнить - когда я писал про "нарезаем банк..." вобще-то я имел в виду страницу (т.е. row), предполагаю, что ты тоже.
Можно ещё в качестве хеш-функции попробовать не только набор младших бит адреса, а например комбинацию младших бит, пары средних и пары старших бит адреса. В большинстве программ можно выделить сегмент кода и сегмент данных, младшие биты адреса могут (и скорее всего будут) совпадать, отсюда снижение эффективности. Добавив другие биты адреса мы значительно снизим вероятность совпадения.
Наверняка для каждой программы можно найти оптимальное разделение бит адреса на индекс и содержимое тега. Но это надо тестировать и тестировать. Из всех возможных я выбрал вариант, про который читал в двух или трех книгах, т.е. если что, вопросы к их авторам :) Для 8биток можно попробовать и полностью ассоциативный кеш, где такой проблемы вобще нет, но он будет крошечным (сомневаюсь, что больше 256 строк) и его реализация в виде кода мне представляется чересчур громоздкой. Наборно-ассоциативный - хороший компромисс, но при его реализации возникают свои вопросы.
Еще по терминологии. Вместо надмозговой "обратной записи" пожалуй грамотнее будет "отложенная запись", ну запомнился мне неудачный перевод, так уж получилось.
Сейчас для проверки использую эксисайзер, амбал3д и попробовал упаковщик cpress3 (с турбой слишком быстро сжимает).
Что еще для вектора есть долгое, где можно засечь время прогона?
---------- Post added 04.03.2014 at 00:59 ---------- Previous post was 03.03.2014 at 23:40 ----------
Клеточные автоматы Левина Л.Л. понравились.
---------- Post added at 01:03 ---------- Previous post was at 00:59 ----------
Пока остановился на режиме SDRAM 144/CPU 72 (кадровая 75 Гц) и потестил в нем разные проги и варианты кеша. Что интересно - выигрыш везде примерно одинаковый, примерно в 1,33-1,45 раза.
Избранные места из ненаписанной монографии "Ненужность кеша для Вектора-06Ц"
Тестовые программы всего 3: 8080exe7, A3Dp8, BORDHOLL
Увеличение строки кеша до двух байт - положительная вещь. Производительность (тестировал с 4 Кб кешем) по сравнению с однобайтной строкой не изменилась, а объем тега в 2 раза меньше.
Увеличение кеша до 8 Кб (с двухбайтной строкой) - нет смысла, скорость уже не выросла.
Чтобы четче увидеть разницу, уменьшил кеш до 1 Кб и сравнил кеш прямого отображения и двухканальный (он же "двухвходовый") наборно-ассоциативный.
При 1 Кб наборно-ассоциативный или чуть-чуть лучше (в эксисайзере и клеточном автомате) или такой-же (в амбале).
Что интересно, при 4 Кб эксисайзер меняет ориентацию и отдает предпочтение варианту прямого отображения.
Но в обоих случаях (1 и 4 Кб) разница во времени между прямым отображением и наборно-ассоциативным не более 1%
Наверняка, если еще урезать объем, то наборно-ассоциатиный должен четче победить.
---------- Post added at 20:14 ---------- Previous post was at 18:40 ----------
В завершение саги с кешем.
Про урезание объема я ошибался - при 512 байтах разница м/у двумя вариантами минимальна.
Но зато узнал, что A3Dp8 512 байт совсем мало, ему хотя бы 1 Кб нужен. Возможно это я перестарался с развертыванием циклов.
Поздравляю svofski с юбилейной 400ой версией.
Теперь используется только одна базовая частота 50 МГц.
AY/YM стал стерео. (SW9 - "омский микс" ABC/"кировский микс" CBA, KEY2 теперь вместо "старого" SW9).
Из AYка теперь читает, как и в SRAMовских версиях.
SKYNET не пиликает, просто шумит, примерно как эмуляторы для ПК.
Устранился ряд артефактов, связанных с AY, но появился по крайней мере один "новый" - в SKYNET когда буквы уходят вдаль слышны лишние попискивания.
Наконец-то совместил в одном флаконе "медленный" (<120 МГц) сдрам, турбу и работающий дисковод. Теперь меня должно отпустить. Напоминаю, что начиная с ревизии 400 переключение турбы по KEY2, а не по SW9. Очень надеюсь, что 60 МГц сдрам у всех будет работать.
Удалось выяснить, что контроллер флопа не любит "короткие" cpu_ce, даже если период их следования соответствует стандартным 3 МГц. Т.е. с процом быстрее 12 МГц флоп работать не будет.
Q&D версия Старта-1200 на базе последней ревизии. По хорошему надо бы оформить условную компиляцию и выложить в репозиторий, но я так не сделал. Кроме замены приложенного файла еще нужно:
1. Увеличить bootrom до 8 Кб и залить в него vec1200.bin из emu или START-1200.RT из VV.
2. Создать palette_rom (512 байт, см. приложенный исходник) и залить в него palette.bin из emu (в режиме 512 точек будут полосатые буквы) или 1200PALL.RT из VV.
Тетрис, бейсик, игрушки на бейсике работают.
До сих пор не пробовал запускать PUTUP в конфиге 1200 - интересные цвета получаются.
Некое подобие Кристы-2 можно скачать здесь (http://files.mail.ru/FF7D57BE2E1F45C1A015243E128215F9).
Почти ПК-6128Ц на основе ревизии 403. Нужно заменить vector06cc.v на приложенный файл, увеличить bootrom до 16 Кб и залить в него образ пзу 6128 из любого эмулятора.
Недоделки:
1. ВМ80 вместо ВМ85. Чтобы загрузчик, заточенный под ВМ85, грузил ROMы нужно в утилите Ramirosа выставлять минимальную скорость.
2. Т.к. ПЗУ в 6128 16 Кб, то не хватает памяти в ПЛИСине на контроллер флопа. Можно, например, сделать загрузку ПЗУ с SD или подсушить контроллер дисковода - все пути открыты.
Напишу здесь и сразу признаю - это будет оффтоп.
Не прошло и полгода - попробовал рекомендации из Demystifying Timing Constraints. Взял оттуда все кроме set_multicycle_path (надо еще другую статью почитать, а то не понял, что это такое). В графиках, которые строит TimeQuest не разобрался, тем не менее - заработало. Пробовал на проекте РК86. Уточню, что именно заработало - до этого у меня не получалось запустить SDRAM на 150 МГц при получении этих 150 из 50. Причем здесь вектор - теперь я знаю, чем можно было твикать сдрам, чтобы он на старых DE1 заработал на 120 МГц полученных из 50 МГц. Надеюсь, что текущие 60 МГц у всех работают, но все равно хотелось и про 120 понять.
---------- Post added at 19:52 ---------- Previous post was at 19:24 ----------
микродополнение - 166,67 МГц полученные из 50 тоже заработали
ivagor, закоммить диффы, и заодно файл .SDC. Думаю, многим будет интересно.
Это ж был оффтоп, я на РК b2mа пробовал. Файл SDC скопировал по строчкам из той статьи (http://retroramblings.net/?p=515), кроме последней строки set_multicycle_path, ну и имена в get_pins и get_ports изменил на те, которые в РКшном проекте.
В векторе то у меня "быстрый" сдрам и так работает. Мне показалось оправданным написать, как можно твикнуть тем, у кого не работает, хотя все и сами знают.
Дак, может, и вектор твикнуть правильно?
ivagor, в любом случае, выложи плиз SDC файл, чтобы людям не приходилось проходить увлекательный квест "скопировал, выкинул и изменил что-то где-то". Ну если тебе не жалко, конечно.
Чужого добра мне совсем не жалко. В каталоге v06cc sdc под ревизии 402-403 (которые, надеюсь, могут и без sdc у всех работать).
Строка
set_input_delay -clock sd1clk_pin -max 6.0 [get_ports DRAM_DQ*]
под мою сдрамину. На старых DE1 надо вернуть как у автора статьи 6.4
Ламерский вопрос. Как можно гладко переключаться между двумя частотами? Через ? : переключает, но не гладко. Через PLL переключает хорошо, но только между частотами, которые можно подать на PLL. Как делают подкованные люди?
Злостнейший оффтоп. Мало того, что не про вектор, так еще и не совсем про DE1.
Получил возможность сам убедиться, что более медленный (-7 вместо -6) сдрам на 120 МГц без принятия специальных мер не работает. На 60 работает.
ILoveSpeccy
31.03.2014, 08:39
Получил возможность сам убедиться, что более медленный (-7 вместо -6) сдрам на 120 МГц без принятия специальных мер не работает. На 60 работает.
У меня на DE1 стоит SDRAM 7нс и прекрасно работает на 133МГц. Тоже касается и Aeon'а где я гонял без косяков SDRAM от Samsung (тоже 7нс) до 140МГц.
Тут главное правильно написать SDC-файл и правильно сконфигурировать в PLL смещение фазы клока SDRAM по отношению к клоку дизайна.
Так я и написал "без принятия специальных мер". Как ни странно, та же сдрамина (-7), которая "просто так" работает со сбоями на 120, проходит все тесты на 150 МГц, при максимуме по даташиту 143.
ILoveSpeccy
31.03.2014, 14:37
Просто эти "специальные меры" как раз очень важны! Без них работа проекта будет зависеть от направления ветра, фазы луны и ещё не пойми от чего... Я в своё время достаточно промучался с этими проблемами. Было дело, имеешь рабочий дизайн... добавил что-то незначительное и всё... перестало работать. Без правильного задания ограничений синтезатор делает что ему захочится, так как эти ограничения ему становятся безразличны.
В качестве курьеза. Если кто будет адаптировать v06cc под платы с богатым внутренним рамом и захочет иметь 32 Кб загрузчик и загрузку с квазидиска, то (если не принять специальных мер) столкнется с явлением описанным (http://zx-pk.ru/showpost.php?p=670216&postcount=17) Syntalом применительно к вектору. Некоторое время я не мог понять, что не так - содержимое КД правильное, загрузчик в эмуляторе работает, а потом вспомнил про пост Syntalа.
В декабре я задавал вопрос про возможность использования SD карточек объемом более 2Гб. Сегодня попробовал - отформатированная в FAT16 4Гб SDHC работает с v06cc.
Читалка (ДОС) b2ma c отформатированной таким образом картой, к сожалению, не работает. Скорее всего тут может помочь форматирование на 2Гб, но я пока не знаю, как это сделать.
Читалка (ДОС) b2ma c отформатированной таким образом картой, к сожалению, не работает.
Да, у меня там микс из 16-ти и 32-х битной арифметики. Зато размер маленький :)
Для статистики. 2 Гб MicroSD (с переходником, конечно) отлично работает и с "ВГ93" svofski и с читалкой b2mа.
Перевел звуковой кодек с 384fs на 256fs и затактировал от 24/2 (не от 12.288, но REF_CLK=12288000) МГц - ушли звуковые артефакты от таймера (SKY NET и не только). Приятный бонус - отпадает необходимость генерации 18.432 МГц.
Недостаток - реальная частота дискретизации получается немного ниже, чем 48 кГц, но думаю это не очень страшно. Вероятно USB Mode был бы в данном случае лучше, но я с ним не разобрался.
USB Mode оказался не так страшен в сочетании с передачей аудиоданных в формате DSP Mode и 12 МГц легализовались
Ламерский вопрос. Есть платки, например waveshare (http://www.wvshare.com/column/Accessory_Boards.htm) (спасибо b2mу за наводку), которые в принципе можно подключить и к DE1 (собственные wavesharовские "материнские" платы мне не нравятся). Вопрос в том, можно ли при подключении ко всяким DE с GPIO вместо 40жильного использовать 80жильный кабель?
Просто фотки с 40жильными кабелями к GPIO DE я видел, а с 80 - нет, предположил, что есть какие-то подводные камни. Возможно 40жильный легче разделять продольно, в смысле допустима большая криворукость.
---------- Post added at 17:10 ---------- Previous post was at 17:05 ----------
Один буржуин написал (правда применительно к Raspberi Pi GPIO), что нужно именно 40, не 80. Почему - не пояснил.
Забавные платы, а что именно ты собрался подключать?
И что за 80-жильные кабели? Я не уверен, что когда-то такое видел.
Возможно 40жильный легче разделять продольно
Ну да, легче с ним работать, но при неимении - и 80 вполне подойдет, можно разобраться
Я не уверен, что когда-то такое видел.
тануу, что их видеть
http://ru.wikipedia.org/wiki/ATA
Сейчас их правда все меньше и меньше, но в раритетной технике еще встречается)
http://upload.wikimedia.org/wikipedia/commons/2/26/ATA_cables.jpg?uselang=ru
Если к DE1, то возможно эту (http://www.wvshare.com/product/VS1003B-MP3-Board.htm) или эту (http://www.wvshare.com/product/UDA1380-Board.htm). USB тоже интересны.
А если оффтопить, то к DE1-SoC практически решил купить это (http://www.wvshare.com/product/SD-Storage-Board.htm) или это (http://www.wvshare.com/product/Micro-SD-Storage-Board.htm).
Для некоторый других девбоард пригодился бы дешевые VGA и PS2 (http://www.wvshare.com/product/VGA-PS2-Board.htm), но, если я правильно понимаю, PS2 5В и просто так к GPIO не подключить.
В чем прикол "отрицания знакомства с 80жильными (http://en.wikipedia.org/wiki/File:ATA_cables.jpg) кабелями"?
---------- Post added at 18:04 ---------- Previous post was at 18:02 ----------
zebest про ATA кабель опередил.
---------- Post added at 18:33 ---------- Previous post was at 18:04 ----------
Сайт у них какой-то тормозной, я сюда (http://files.mail.ru/90B2890D7DAB42F39C2501CD870E713C) выложил часть скачанных архивов.
Ну вот как-то господь миловал, не видел я никогда 80-жильных ATA-кабелей. Это абсолютно невозможно?
Хотя я и много нехороших слов сказал про срам на новых DE1, но если постараться, то все работает. В подтверждение - SRAMный вариант ревизии 405 (http://files.mail.ru/4E10840891AD49A493D6AD6316ACD485). После перевода с SDRAM на SRAM скорость турбы выросла на треть, а если сравнивать с классической ревизией 388 - то почти в два раза. Т.е. это самая быстрая турба с поддержкой ВГ93. Насчет работоспособности на старых DE1 не уверен, но надеюсь, что работает.
скорость турбы выросла на треть, а если сравнивать с классической ревизией 388 - то почти в два раза. Т.е. это самая быстрая турба с поддержкой ВГ93.
Если еще и soft-core T80 на NextZ80 заменить, то и еще где-то в 3.5 раз...
Про nextz80 я думал, но есть несколько проблем:
1. Нужно прикручивать сигнал STACK или забыть про квазидиск, а значит и про большинство ДОСов, значительную часть демок и крутые игрушки.
2. Совместимость по скорости с текущей реализацией ВГ93. Если без него, то у меня были в несколько раз более быстрые версии (T80 на большой частоте + кеш).
3. Возможность переключения норма/турбо на лету с сохранением всех классических векторовских таймингов в нормальном режиме. Вероятно версию ZEKа можно допилить для выполнения этого пункта, но вряд ли я буду это делать.
В принципе возможно все, осталось только найти того, кто сделает :)
Запустил на китайском чуде (http://www.aliexpress.com/item/New-Arrival-Altera-Cyclone-IV-FPGA-EP4CE6E22C8N-Chipset-Development-Board-USB-Cable-Remote-Control-P0013160-Free/1795346213.html). Пока без звука, без SD карты и без remote control-а. Благодаря стараниям ivagor-a, SDRAM версия завелась с полпинка.
Круто. Платка практически бесплатная. Без SD запускал или как-то подцепил?
SD пока не прицепил. Проблема этой платы в почти полном отсуствии свободного I/O. Гребенка слева тупо дублирует пины, которые идут на разъем VGA. Думаю прицепить SD-карту на светодиоды -- их там как раз 4 штуки. Пока гружу "с кассеты", для этого тоже пришлось чуть чуть подпаять : конденсатор и пару резисторов, но это как раз предусмотрено конструктивом.
https://farm6.staticflickr.com/5562/14418086630_c3704a9424_m.jpg (https://flic.kr/p/nY5sQw) https://farm3.staticflickr.com/2916/14601464861_75ee7bfe58_m.jpg (https://flic.kr/p/ofhjNa)
Могу только позавидовать прямым рукам. Звук получается совсем некуда прицепить?
А можешь подробнее про организацию заливки прошивок?
---------- Post added at 20:09 ---------- Previous post was at 20:09 ----------
ВидеоЦАП скольки битный?
---------- Post added at 20:12 ---------- Previous post was at 20:09 ----------
Что-то я совсем слепой тормоз, ты же сразу написал, что без SD и без звука
Там пищалка пьезо стоит, приделаю сегодня на нее ШИМ. Будет довольно аутентично, Вектор вроде тоже не нулевого класса колонками комплектовался.
Видео с позволения сказать ЦАП там резисторный RGB 5/6/5. При том, что это просто резисторы, абсурдная конфигурация по-моему. Лучше бы сделали по 4 бита и оставшиеся пины подарили бы людям.
Прошивка заливается отдельнолежащим USB Blaster-ом. У меня самодельный, но вообще сейчас они китайские стоят гроши.
---------- Post added at 18:21 ---------- Previous post was at 18:20 ----------
Что-то я совсем слепой тормоз, ты же сразу написал, что без SD и без звука
В принципе и то и другое будет, просто времени реально не было. Можно сказать только и успел что воткнуть платку.
Самый интересный вопрос - откуда можно скачать даташит на платку, примеры к ней? Неужели с wxeda.com? Я там ничего не понимаю, или надо через переводчик смотреть?
С этим чуть чуть могилка. Вся информация на каких-то китайских форумах, где невозможно понять абсолютно ничего и гугл транслейт на них ломается. Могу ответить тут на любые вопросы.
Приблизительная схема в аттаче.
Запустил на китайском чуде. Пока без звука, без SD карты и без remote control-а. Благодаря стараниям ivagor-a, SDRAM версия завелась с полпинка.
6,272 LEs хватает? Хотел глянуть, но ссылка (http://zx-pk.ru/showpost.php?p=711422&postcount=292) на исходники оказалась нерабочей :( Думаю попробовать запустить на ReVerSE-U16 (http://zx-pk.ru/showthread.php?t=23528). Если осталось свободно около 800 LEs (нужно для сопряжения с обвеской платы - HDMI, USB HID Kbd...) то на плату под небольшие конфигурации можно установить EP4CE6E22. Что сделает плату значительно дешевле и доступнее :)
Мне интересно, как ты с этой платкой разобрался, есть китайские френды? Схемка, если я правильно понял, не совсем от subjа.
MVV, мой текущий бранч тут https://code.google.com/p/vector06cc/source/browse/branches/wxeda-cycloneiv/
Там реальный треш, поскольку это сейчас все кроится по живому.
Все вместе с дисководом, правда без АЫ, у меня влезло в чего-то около 80% чипа. Точнее скажу, когда приделаю уже SD по настоящему.
ivagor, я ее купил вслепую. Эта схема от нее, она соответствует топологически. Не соответствуют только некоторые номиналы резисторов. Кроме того, к ней прилагается 4 двд с разнообразными сортами мусора, среди которого есть примеры. В них мало хорошего, но оттуда можно быстро понадергать pin assignments.
к ней прилагается 4 двд с разнообразными сортами мусора
Слона я, как обычно, не заметил. Сейчас внимательно еще раз прочитал и увидел среди прочего
3 х cd-rom
Эта схема от нее, она соответствует топологически.
На али написано EP4CE6, а в схеме EP4CE10, я за это зацепился
---------- Post added at 21:33 ---------- Previous post was at 21:30 ----------
Пусть я повторяюсь, но - круто, респект!
На али написано EP4CE6, а в схеме EP4CE10, я за это зацепился
Угу, CE6. Я же говорю -- номиналы в схеме более-менее наугад, причем не только резисторов ;)
Доделал звук и SD карту. Встроенная пищалка совершенно фатальная, к ней в самый раз рупор из бумажки прилеплять и все равно особенно много не услышишь. Но все же лучше, чем ничего.
Приделывание SD карты:
Проводки припаиваются к адаптеру микро-сд:
https://farm4.staticflickr.com/3901/14585361766_f2a52ef4bd_m.jpg (https://flic.kr/p/odRMUA)
На адаптер немного горячего клея...
https://farm4.staticflickr.com/3906/14607807112_b614448176_m.jpg (https://flic.kr/p/ofQQ8j)
Все это прилепляется к тыльной, совершенно лысой, стороне платы. Желательно сначала припаять все проводки, а не как я -- забыть один и потом переделывать...
https://farm4.staticflickr.com/3849/14606348174_f6a8e6d165_m.jpg (https://flic.kr/p/ofHmrd)
SD-карта подпаивается на светодиодные провода. Бонус -- лампочки мерцают, когда идет доступ к диску...
https://farm6.staticflickr.com/5538/14605123051_f9a3cf9b69_m.jpg (https://flic.kr/p/ofB5fp)
set_location_assignment PIN_3 -to SD_DAT3
set_location_assignment PIN_2 -to SD_CMD
set_location_assignment PIN_1 -to SD_CLK
set_location_assignment PIN_141 -to SD_DAT
В общем-то и все. Ресурсы почти под завязку, но все влезло -- даже вместе с жиром в виде двух АЫ. Еще остались умножители свободные =)
+--------------------------------------------------------------------------------------+
; Flow Summary ;
+------------------------------------+-------------------------------------------------+
; Flow Status ; Successful - Wed Jul 09 02:33:03 2014 ;
; Quartus II 64-Bit Version ; 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition ;
; Revision Name ; vector06cc ;
; Top-level Entity Name ; vector06cc ;
; Family ; Cyclone IV E ;
; Device ; EP4CE6E22C8 ;
; Timing Models ; Final ;
; Total logic elements ; 5,936 / 6,272 ( 95 % ) ;
; Total combinational functions ; 5,539 / 6,272 ( 88 % ) ;
; Dedicated logic registers ; 2,072 / 6,272 ( 33 % ) ;
; Total registers ; 2072 ;
; Total pins ; 73 / 92 ( 79 % ) ;
; Total virtual pins ; 0 ;
; Total memory bits ; 199,860 / 276,480 ( 72 % ) ;
; Embedded Multiplier 9-bit elements ; 0 / 30 ( 0 % ) ;
; Total PLLs ; 1 / 2 ( 50 % ) ;
+------------------------------------+-------------------------------------------------+
ivagor, это все твои труды с SDRAM-ом! Тебе взаимный респект.
В общем впечатления хорошие от платы, хоть и есть в ней откровенные ляпы и недоделки. Четвертый Циклон ушел далеко от второго. PLL вообще смешно настраивать, думать не надо. Памяти куча даже в таком маленьком чипе. Каким-то чудом эта плата работает при фактически полном отсутсвии блокировочных конденсаторов.
Когда-нибудь подобным образом (через переходник microSD) планирую подключить к одной из девборд, если не продам ее до тех пор. Или все же куплю wavesharовскую платку SD.
Насчет SDRAMa и респектов - нельзя не упомянуть b2ma - все началось с контроллера SDRAMа, забытого им в РКшном проекте.
Хоть я и темный, но даже мне PLL в четвертом и пятом циклонах нравится больше. И объем внутренней памяти в новых циклонах тоже вдохновляющий, только несколько неудобно ограничение мегафункции на 65536 адресов, компенсирую увеличением разрядности.
неудобно ограничение мегафункции на 65536 адресов
Хм, сейчас попробовал сделать больше - получилось.
https://farm4.staticflickr.com/3879/14485761049_843e1a98c9_m.jpg (https://flic.kr/p/o54j5R)
Добавил выход S-Video, вообще без ЦАП-а. Отсоединил от VGA разъема младшие два разряда (их там зачем-то целых 6) -- для этого выпаял резисторные сборки RP6 и RP15, на их место поставил по резистору 75 ом (они как раз поместились на площадки) и вывел проводками на разъем. Подпаял обе земли S-Video разъема к разным точкам платы: одну к пину 1 D8 (около SMA ввода), вторую к земле около C7, рядом с регулятором 3V3. Земля на качестве картинки очень заметно сказывается.
VGA_G[0] = Люма, VGA_G[1] = хрома. Выводятся через однобитный сигма-дельта модулятор, счетчик 4 бит (пятый бит выход), тактируется на 450 МГц.
Возможность выводить просто композит осталась, кроме того композит из S-Video получается элементарно электрическим путем.
Картинки с монитора:
https://farm4.staticflickr.com/3885/14485982817_2e09484944_m.jpg (https://flic.kr/p/o55s1r)
Текст стал вполне читабельным.
https://farm4.staticflickr.com/3915/14485765370_013a608f37_m.jpg (https://flic.kr/p/o54knm)
Вообще довольно все четко и весело для такого типа сигнала.
Появилась интересная новая фича -- вывод работает одновременно на VGA и на S-Video. Картинка OSD сплющилась по горизонтали, чтобы влезть во VGA-шный размер, но за счет того, что S-Video дает большее горизонтальное разрешение, она нормально читается.
Все то же самое можно попробовать и на DE1.
Чего-то я долго тупил и переполнялся, но все же получилось вот что:
https://farm3.staticflickr.com/2931/14500943568_040ab5864a_b.jpg (https://flic.kr/p/o6p8jq)
Думал как лучше уложить цвета, чтобы их оценить и, внезапно, вспомнил про замечательный тест b2m-a. Спасибо ivagor-у за версию с отключением квазидиска.
https://farm3.staticflickr.com/2914/14693995941_98750123cf_b.jpg (https://flic.kr/p/oosz4B)
Самый крайний красный и самый циановый циан че-то немного страдают. Остальное по-моему неплохо.
Кроме двух упомянутых цветов на удивление здорово получилось. Теперь бы еще версию для DE1 (с выводом через VGAшный разъем) до чего-то похожего довести.
Всем интересующимся - можно получить вывод на ТВ с DE1 (и не только с DE1) через VGAшный разъем без всяких паяний - для этого нужно купить (в Уфе даже могу сказать где) переходники VGA->3RCA или VGA->3RCA+S-Video. Причем мой ТВ LG M2752D нормально работает и без объединения трех сигналов в один - беру с любого вывода (R, G или B) и подаю на композитный вход.
Сейчас проснусь и может быть попробую перетащить это все обратно в версию для DE1 :)
Желательно в сдрамную версию, я со своей особенной де1 тоже хочу приобщиться
Разумеется. Вообще в планах отпочковать SRAM-ную версию, а SDRAM-ную засосать обратно в транк. Но труд...
Причем мой ТВ LG M2752D нормально работает и без объединения трех сигналов в один - беру с любого вывода (R, G или B) и подаю на композитный вход.
Попробовал еще один ТВ - старенький 14" ЭЛТ SHARP 14A1-S купленный в 90х (на нем вектор давал стабильную картинку без переделки синхры) - показывает даже лучше модернового ЖК LG, хотя на 50 Гц ЭЛТ вблизи некомфортно смотреть. Самое главное для нелюбителей паяния - оба ТВ, и новый и старый - хорошо работали без объединения проводков, с G на композит.
Зачекинил в бранч sdram бекпорт изменений для wxeda. В общем все осталось по-прежнему, только качество картинки на композите через VGA-шный разъем стало поприкольней. S-Video вывел на GPIO_0[10:11] - достаточно просто проводки туда надеть, земля рядом на пине 12. Но можно вывести и на ВГАшный разъем, если есть какой-то хитрый переходник, в котором можно по отдельности вытащить сигналы.
PLL для ШИМа получилось сделать только на 432МГц, больше просто не дает на этом циклоне. В принципе картинка ничего получается, но композит по-моему лучше выходит по старинке. С-видео проверял только шимом, с шимом есть шум, но не сильнее на самом деле, чем на WXEDA-шной плате.
Скринкапы:
С бесшимного композита:
http://i.imgur.com/LCuojnm.jpg
С шимного композита (в жизни шум не кажется таким зверским, потому что он все время разный)
http://i.imgur.com/l6cUwQA.jpg
S-video:
http://i.imgur.com/R97J2Nw.jpg
svofski проявляет чудеса дистанционной диагностики и технической поддержки. Теперь и у меня на LG тест b2mа показывает 256 цветов. Пользуюсь композитом через VGA (не ШИМ, на мой взгляд он слишком шумит)
переходники VGA->3RCA или VGA->3RCA+S-Video.
Уточняю. Производитель DAYTON.
Переходник VGA->3RCA нормальный, со стороны VGA сигналы идут с R, G и B.
VGA->3RCA+S-Video очень своеобразный - сигналы подключены на совершенно левые пины, в т.ч. даже на земляные цветных. С R,G и B вобще соединений нет и для DE1 и других подобных платок такой переходник не подходит.
ivagor, тебя спасет комплект вот таких проводков
https://farm6.staticflickr.com/5480/14338589535_9219005025_n.jpg (https://flic.kr/p/nR427X)
Они бывают разной длины и всех половых сочетаний.
Спасибо за информацию, но такие проводки мне не нужны
Их можно воткнуть в вга с одной стороны и в странный переходник с другой.
Я так и понял, но мне такая конструкция не очень нравится. Разве что очень сильно захочется попробовать S-Video
---------- Post added at 14:23 ---------- Previous post was at 14:02 ----------
Строго говоря при использовании таких проводков упомянутый второй переходник не нужен, а нужен SVHS(F)-SVHS(F).
---------- Post added at 14:31 ---------- Previous post was at 14:23 ----------
Посмотрел в инет каталоге магазина - сейчас в наличии таких проводков нет, но были
Если есть ТВ или тюнер поддерживающий PAL-N, то достаточно всего лишь в clockster.v пересчитать фазовый аккумулятор для clkpalFSC с 70.9379 на 57.312896 МГц и тоже будет показывать в цвете.
---------- Post added at 14:50 ---------- Previous post was at 14:24 ----------
Для полного счастья (более точной цветопередачи) еще, как я понимаю, нужно пересчитать коэффициенты для U и V в video.v, но и без этого вполне приемлемо
---------- Post added at 16:17 ---------- Previous post was at 14:50 ----------
Коэффициенты U и V пересчитывать не надо
Еще пара слов про ТВ
1. PAL-N оказался менее экзотичным, чем я ожидал - и древний ЭЛТ SHARP и модерновый ЖК LG его поддерживают
2. Это совсем не откровение, но 4 бита ЦАПа маловато для композитного векторовского сигнала. Только под ЦАП с большей разрядностью удалось подогнать версию, показавшую и на LG и на SHARPе все цвета
ivagor, а какой смысл в поддержке PAL-N? Это чисто спортивный интерес? Вроде сепарация люмы и хромы в композите у него хуже, если ты не живешь в Уругвае, зачем тебе это?
Это чисто спортивный интерес?
В основном да
сепарация люмы и хромы в композите у него хуже
с этим не поспоришь, но он позволил более-менее решить для de2-115 проблему c заметностью на LG паразитного "узора" от цветовой поднесущей. Этот "узор" меняется при изменении опорной частоты фазового аккумулятора (пробовал 240, 300, 360, 480, 600 МГц). При целевой частоте 57.3129 он не пропал, но стал менее заметным, чем при 70.9379
Проблема похоже вызвана соотношением частот вга клока и поднесущей*16, т.к. на de1 вга клока нет и проблемы нет
Я думаю, что узор это скорее оттого, что прочие параметры не очень соблюдены и алиасинг страшный в ЦАП-е.
В магазине есть шнурок RGB (тюльпаны) на SCART, но меня смущает вопрос - а как там с подачей напряжения на 16й контакт? Читал, что в некоторых ТВ можно принудительно с пульта задать, что со скарта RGB. У меня вроде такого нет, но ТВ не в меру умный, детектит со страшной силой, что и куда подсоединено, не исключено, что сам догадается про RGB. Кто-нибудь подключал в цвете RGB к SCARTу без подачи соотв. уровня на 16й контакт скарта?
Еще побаловался с даунгрейдом "8 битной" версии для de2_115 с palFsc*16 на palFsc*4 (все составные части взяты у svofski в репозитории с микроправками). Недостатки у такого варианта есть, но в целом смотрится лучше, чем я ожидал. В тесте b2mа на LG различимы почти все прямоугольники, на шарпе чуть поменьше. И узор на LG от поднесущей более терпимый (на 17.734475 МГц).
И даже PLL позволяет сгенерировать близкие к 17.734475 и 14.328224 частоты - так показывает в цвете, но побочный эффект от приблизительной частоты неприемлемый.
ivagor, так если по RGB подключать, не нужно никаких частот. Почему-то никто этого до сих пор не делал, кажется.
Генерить цветовые поднесущие PLL-ями у меня тоже не получалось -- всегда выходило далековато от требуемой частоты и в лучшем случае все шло полосами, а обычно вообще цвет не цеплялся.
---------- Post added at 15:18 ---------- Previous post was at 15:14 ----------
Кто-нибудь подключал в цвете RGB к SCARTу без подачи соотв. уровня на 16й контакт скарта?
Мы вот к телевизору tnt23 Вектор цепляли без 16-го контакта. Но в том телевизоре всяких меню больше, чем в типичном звездолете. Простой опции "негатив" там почему-то при этом не нашлось ;)
так если по RGB подключать, не нужно никаких частот
? вроде я RGB ни с какими частотами не связывал. Насколько я понимаю, там нужно добавить синхру к каждому компоненту и вроде все
Мы вот к телевизору tnt23 Вектор цепляли без 16-го контакта.
Эх, шнурки дороговатые, жаба душит, но попробовать хочется
Ты и не связывал. Я просто так сказал, что мол интересно было бы посмотреть.
Я просто так сказал, что мол интересно было бы посмотреть.
Мне тоже интересно посмотреть
tnt23, есть ли возможность подключить DE1 к скарту?
Мне тоже интересно посмотреть
tnt23, есть ли возможность подключить DE1 к скарту?
Скарт у меня есть, DE1 где-то тоже была, но это ж нужно какой-то переходник сгондобобить?
Учитывая специфику того, что у тебя уже есть (Вектор в SCART), сгондобаборовать нужно переходник VGA male -> DIN5 female. Такого даже в магазине ivagor-а не встретишь!
Если денег не жалко, то нужен переходник VGA на 3RCA (RGB) и кабель 3RCA (RGB) на SCART. Наверняка питерские магазины электроники не хуже уфимских по ассортименту, где есть и то и другое. Есть, правда сомнение насчет уровней сигналов, возможно они будут маловатые. Ну и кабель нужен именно RGB, а то встречаются и аудио с тремя RCA
Дык гондобобить-то интересней.
Еще с интересом бы посмотрел на пример подключения к компонентному (YPrPb) входу телевизора. У меня, к сожалению, не получилось (ТВ пишет или "нет сигнала" или "неверный формат")
Сравнение результатов компиляции v06cc (правда для de2-115, но это не принципиально) с процами T80 и Vslava
1. T80
Flow Status Successful - Tue Aug 12 19:45:46 2014
Quartus II 32-bit Version 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
Revision Name vector06cc
Top-level Entity Name vector06cc
Family Cyclone IV E
Device EP4CE115F29C7
Timing Models Final
Total logic elements 6,997 / 114,480 ( 6 % )
Total combinational functions 6,633 / 114,480 ( 6 % )
Dedicated logic registers 2,249 / 114,480 ( 2 % )
Total registers 2249
Total pins 518 / 529 ( 98 % )
Total virtual pins 0
Total memory bits 2,821,296 / 3,981,312 ( 71 % )
Embedded Multiplier 9-bit elements 0 / 532 ( 0 % )
Total PLLs 1 / 4 ( 25 % )
2. Vslav
Flow Status Successful - Tue Aug 12 19:36:46 2014
Quartus II 32-bit Version 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
Revision Name vector06cc
Top-level Entity Name vector06cc
Family Cyclone IV E
Device EP4CE115F29C7
Timing Models Final
Total logic elements 6,453 / 114,480 ( 6 % )
Total combinational functions 6,118 / 114,480 ( 5 % )
Dedicated logic registers 2,262 / 114,480 ( 2 % )
Total registers 2262
Total pins 518 / 529 ( 98 % )
Total virtual pins 0
Total memory bits 2,821,296 / 3,981,312 ( 71 % )
Embedded Multiplier 9-bit elements 0 / 532 ( 0 % )
Total PLLs 1 / 4 ( 25 % )
Проц Vslava компактнее (хотя регистров чуть больше), но я лично пока не победил траблы с ресетом в нетурбо для него (а так все работает, SKY NET прошел до конца)
Класс. Я не знаю, хорошая ли идея заменять им T80, все-таки T80 относительно читабельный, но как опцию обязательно надо сделать.
но я лично пока не победил траблы с ресетом в нетурбо для него (а так все работает, SKY NET прошел до конца)
А RESET именно такты F1/F2 считает? Не CLK? У меня сложилось впечатление что ему минимум 2 полных цикла F1/F2 надо с высоким RESET.
Для пробы сделал огромную "выдержку" ресета и дело оказалось не в его длительности. Похоже проблема или в моменте начала или в моменте конца ресета, т.е. он должен совпадать или не совпадать по фазе с чем-то.
Для пробы сделал огромную "выдержку" ресета и дело оказалось не в его длительности. Похоже проблема или в моменте начала или в моменте конца ресета, т.е. он должен совпадать или не совпадать по фазе с чем-то.
"Мой" процессор внутри RESET синхронизирует, там же предполагается внешний физический вход. А при активном RESET генерация F1 и F2 идет (есть же свежедобавленный модуль генерации F1/F2) ?
"Мой" процессор внутри RESET синхронизирует, там же предполагается внешний физический вход. А при активном RESET генерация F1 и F2 идет (есть же свежедобавленный модуль генерации F1/F2) ?
Возможно проблема в своеобразности F1 и F2, которые получились у меня в "нетурбе" (в турбе они как раз и проблем с ресетом нет). Пробовал менять F1 и F2 - вроде даже почти получилось, но отвалился флоп. В общем наличие двух ce создает неудобства, по крайней мере для слабоподготовленных людей типо меня.
---------- Post added at 21:56 ---------- Previous post was at 21:35 ----------
Для нетурбы почти нормален оказался вот такой вариант:
К имевшейся в clockster.v строке
qce3 <= ctr[2] & ctr[1] & !ctr[0];
добавил
qce3_2 <= ctr[2] & !ctr[1] & ctr[0];
и использую их в качестве f1 и f2
Теперь в "нетурбе" ресетит нормально, но осталась одна проблема (она была, просто я про нее не писал отдельно) - после заливки прошивки начинает работать только после ресет
Ну и турбу надо еще обратно прикрутить
после заливки прошивки начинает работать только после ресет
Ну это совсем как на труъ ;)
Я тут посмотрел исходники T80 и даже не знаю как было бы правильно обернуть - пока недостаточно бегло читаю VHDL и не могу быстро разобраться в архитектуре T80 и на что там вход CEN влияет.
Вернул турбу и получилось так:
В vector06cc.v
переключение скоростей
3'bxx1:
begin
cpu_ce <= ~ce12;
cpu_ce2 <= ce12;
end
3'b000:
begin
cpu_ce <= ce3;
cpu_ce2 <= ce3_2;
end
И две скорости (пошаговая и медленная) остались - их еще надо переделать
Проц
vm80a_core(
.pin_clk(clk24), // global module clock (no in original 8080)
.pin_f1(cpu_ce), // clock phase 1 (used as clock enable)
.pin_f2(cpu_ce2), // clock phase 2 (used as clock enable)
.pin_reset(~RESET_n), // module reset
.pin_a(A), // address bus outputs
.pin_hold(HOLD), //
.pin_hlda(HLDA), //
.pin_ready(READY), //
.pin_wait(VAIT), //
.pin_int(INT), //
.pin_inte(INTE), //
.pin_sync(SYNC), //
.pin_dbin(DBIN), //
.pin_wr_n(WR_n),
.pin_din(DI),
.pin_dout(DO));
2. vm80a чуть-чуть покорежил, чтобы наружу были видны раздельные шины данных и в начале там стало так
Хм, там есть уже готовый модуль vm80a_core для использования внутри FPGA, именно с разнесенными шинами. А модуль vm80a - это в моем проекте обертка (по факту внешняя - top) для размещения всего процессора в отдельном чипе.
Насчет турбы забыл прокомментировать, но и так понятно, что вышеприведенный вариант годится только для безвейтового обращения, т.е. с SDRAM не прокатит
---------- Post added at 22:37 ---------- Previous post was at 22:34 ----------
Хм, там есть уже готовый модуль vm80a_core для использования внутри FPGA
Пардон, сильно стормозил
---------- Post added at 22:40 ---------- Previous post was at 22:37 ----------
Для очистки совести скомпилировал с оригинальным vm80a.v с обращением к vm80a_core - кончено же все работает
---------- Post added at 23:15 ---------- Previous post was at 22:40 ----------
Вместо
qce3_2 <= ctr[2] & !ctr[1] & ctr[0];
сделал
qce3_2 <= ctr[2] & ctr[1] & ctr[0];
Работает и так и так, но второй вариант наверно все же лучше
---------- Post added at 23:40 ---------- Previous post was at 23:15 ----------
Насчет qce3_2 - первый вариант (ctr[2] & !ctr[1] & ctr[0]) правильнее, с ним получаются правильные растактовки и мультиколоры.
---------- Post added 13.08.2014 at 00:01 ---------- Previous post was 12.08.2014 at 23:40 ----------
осталась одна проблема (она была, просто я про нее не писал отдельно) - после заливки прошивки начинает работать только после ресет
Добавил принудительный ресет проца и теперь вручную жать ресет позле заливки не нужно
---------- Post added at 00:02 ---------- Previous post was at 00:01 ----------
Vslavу большой респект
Vslavу большой респект
Присоединяюсь к мегареспекту! И ivagorу тоже :D
Теперь бы к трем вариантам i8080 хотя бы по одному варианту i8085 и КР580ВМ1
В v06cc с vm80a.v оставались недопеределанными пошаговый и медленный режим.
Можно сгенерировать cpu_cef2 из clk24 и cpu_ce вот так
reg cpu_cef2;
reg [1:0] cpu_ce_last;
always @(posedge clk24)
begin
cpu_ce_last<={cpu_ce_last[0],cpu_ce};
if (({cpu_ce_last,cpu_ce}==3'b001)||({cpu_ce_last,cpu _ce}==3'b011)) cpu_cef2<=1'b1;
else cpu_cef2<=1'b0;
end
В принципе это работает также и в режиме стандартного быстродействия и в турбо, но:
1. В стандартном режиме не соблюдается растактовка (как и при qce3_2 <= ctr[2] & ctr[1] & ctr[0])
2. Турбо 12 МГц не работает, но работает 6 МГц
Пока нет нормального варианта наверно сойдет
---------- Post added at 23:10 ---------- Previous post was at 21:23 ----------
Раньше я писал в этой теме, что проц b2ma работает в v06cc, но торможение не удается привести к классическому виду и с флопом не дружит. Это все было на де1. Сегодня решил попробовать в той версии для de2-115, которая использует только внутреннюю память. И неожиданно флоп заработал. По жирноте получается между T80 и vm80a.v
Flow Status Successful - Thu Aug 14 22:58:27 2014
Quartus II 32-bit Version 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
Revision Name vector06cc
Top-level Entity Name vector06cc
Family Cyclone IV E
Device EP4CE115F29C7
Timing Models Final
Total logic elements 6,720 / 114,480 ( 6 % )
Total combinational functions 6,355 / 114,480 ( 6 % )
Dedicated logic registers 2,203 / 114,480 ( 2 % )
Total registers 2203
Total pins 518 / 529 ( 98 % )
Total virtual pins 0
Total memory bits 2,821,296 / 3,981,312 ( 71 % )
Embedded Multiplier 9-bit elements 0 / 532 ( 0 % )
Total PLLs 1 / 4 ( 25 % )
Но торможения по прежнему нету и по этому параметру уступает двум соперникам. Зато превосходит в понятности.
ivagor, а может быть ты как-нибудь соберешься с силами и зальешь в SVN версию для DE2? Понятно, что охотников на это вряд ли тут же сразу много найдется, но вообще у DE2 довольно много пользователей и это в основном молодые и энергичные студенты ВУЗов.
Меня пока не устраивает 2 вещи:
1. tv-out. Вероятно для кардинального решения проблемы паразитного узора нужно (осторожно, ненормативные свежепрочитанные термины) перейти от генерации subcarrier-locked сигнала к line-locked. Но в моем исполнении это маловероятно.
2. Переносил "устаревшую" версию и надо бы перенести заново. С другой стороны думаю, что случайных людей среди обладателей этой девборды нет (кроме студентов не забывай и преподов) и любой из них сам все сделает и чего-нибудь еще своего добавит. У меня, например в угаре заморочек с памятью получилось три версии - 16 битная sdram (с ней и sram пробовал), 32 битная sdram и предпочитаемая мною с внутренним рамом.
Вобщем текущий вариант выкладывать не стоит. Разве что я изображу нечто невиданное - тогда пришлю тебе и попрошу куда-нибудь пристроить.
andykarpov
31.08.2014, 00:19
Господа, а у кого еще, кроме меня, не работает SD карточка на борде wxeda ?
Я уже svofski замучал, наверное, в обсуждении тут: http://code.google.com/p/vector06cc/issues/detail?id=46
Не замучал! Но правда не представляю, что еще может быть не так.
Единственное что, на моих попытках чего-то померить видно, что все линии откровенно подсажены светодиодами (которые видимо работают в основном конденсаторами) и что вообще чудо, что сигналы нормально проходят. Но, как я понял, попытки отпаять светодиоды уже были и безуспешные. К сожалению на этой плате совершенно нету свободных ножек.
andykarpov
31.08.2014, 02:47
Не замучал! Но правда не представляю, что еще может быть не так.
Единственное что, на моих попытках чего-то померить видно, что все линии откровенно подсажены светодиодами (которые видимо работают в основном конденсаторами) и что вообще чудо, что сигналы нормально проходят. Но, как я понял, попытки отпаять светодиоды уже были и безуспешные. К сожалению на этой плате совершенно нету свободных ножек.
Там помимо светодиодов есть еще семисегментная сборка, которая также висит на этих же линиях, судя по схеме. Может быть попробовать ее выпаять ? нафиг она кому нужна вообще :) Зато будет куча свободных и чистых контактов. Поэкспериментирую на досуге. А что еще остается делать :)))
Предупреждаю, что может получиться досадно с выпаянной сборкой и неработающей SD картой :)))
andykarpov
31.08.2014, 04:56
Предупреждаю, что может получиться досадно с выпаянной сборкой и неработающей SD картой :)))
Гыгы :) Так и получилось, в общем-то. Зато вместо сборки впаял pin headers, теперь можно экспериментировать с SD-картой без пайки :)
Экспериментировал уже по-всякому, и pull-up резисторы вешал на DAT0 / DAT3, и по питанию карточки ставил всяческие конденсаторы... Никакой реакции.
Там еще на эти пятачки, которые идут к сборке, все сигналы идут через 330 ом резисторы (резисторная сборка RP11, если не ошибаюсь). Может она мешается ? чистые сигналы подходят как раз на светодиоды D2-D5, можно еще попробовать к ним подпаяться.
В общем буду экспериментировать с железом, напоследок оставлю эксперименты с дебагом программной части (уж очень долго идет процесс компиляции всего этого дело, это вам не ардуино :)))
andykarpov
31.08.2014, 21:16
Блин. не знаю, что это было, сделал чистый чекаут из svn, пересобрал проект -и о чудо - все завелось. Даже без замедления spi до 6 МГц. Мистика какая-то, чесслово.
ЗЫ: К этому времени с платы я уже успел выпаять семисегментный индикатор, резисторную сборку RP11 (заменил ее на перемычки), резисторы R26, R28,R29,R30 (которые шли на светодиоды D2-D5). О чем ни капли не жалею :)
Лол. Ну бывает, в Квартусе иногда залипают файлы. Когда происходит необъяснимое, я обычно первым делом делаю clean, удаляю все sof/pof-ы и сверяюсь с репой.
Так как оно теперь, все работает, красота?
andykarpov
31.08.2014, 21:20
Работает все замечательно! Спасибо огромное за помощь и поддержку!!!
Ура! Это очень круто, потому что теперь есть подтверждение повторимости проекта на WXEDA.
andykarpov
31.08.2014, 21:41
Финальная версия SD card mod: https://lh6.googleusercontent.com/-9TVwAhOxQS4/VANcLeGhfSI/AAAAAAAADhI/SzSXZdip8aU/w796-h597-no/2014-08-31%2B20.22.29.jpg
andykarpov
01.09.2014, 01:42
По-идее с выпаянным 7-сегментным индикатором появляется куча свободных пинов, на которые можно завести как минимум выход звука и s-video сигналы (без демонтажа и переделок оригинальной пищалки).
Питание (+3.3v и GND) можно взять (как на фото выше) с IR-приемника, вместо которого также впаяны штырьки :)
Думаю о том, чтобы вторым этажом сделать некий shield со стерео-разъемом, s-video / rca и sd-карточкой.
Да, хорошая идея. IR-приемник — самая феноменальная фича этой платы ;) Заодно, если уж делать дополнительную плату, можно попробовать добавить какой-нибудь простенький восстанавливающий фильтр для S-Video (только его надо делать либо активным, либо при расчете учесть, что нагрузка 75 ом). Но это открытое поле для экспериментов. Вообще не факт, что легко сделать фильтр, от которого картинка правда станет лучше.
Прикупил пару шнурков, в т.ч. 2xRCA<->S-Video и подключил s-video с VGA выхода DE1 (через переходник VGA<->3xRCA). Лучше чем композит, и было бы вобще здорово, если бы не бюджетность шнурка и его длина 5 м (хотел 1,5 или хотя бы 3, но таких не было в наличии).
---------- Post added at 17:54 ---------- Previous post was at 17:32 ----------
Принес еще один ТВ (100 Гц ЭЛТ Самсунг) для экспериментов. Странный момент - при подключении к разъему s-video показывает в ч/б. При подключении s-video к разъему скарт через переходник показывает в цвете, но качество поганенькое. Кстати, это первый из попробованных мною тв, который показывает все цвета при SW4=1 (при SW4=0 тоже все цвета показывает, причем этот вариант качественнее).
---------- Post added at 18:19 ---------- Previous post was at 17:54 ----------
Композит на вышеупомянутом самсунге показывает лучше с-видео, ерунда какая-то.
---------- Post added at 18:21 ---------- Previous post was at 18:19 ----------
И вобще на этом самсе самый лучший (для режима 256 точек) композит из трех попробованных ТВ.
Я вот не попробовал на ЦЦ с FPGA-шным Вектором. По идее модулятор-то один и тот же у меня в обоих проектах, но кто его знает.
Наверно мало кому интересно, но этот самс не поддерживает PAL-N (два других тв поддерживают)
К сожалению не получилось со скартом. Купил шнурок тюльпаны(RGB) на скарт, прозвонил - все правильно, но оба тв со скартами (на самсе их аж две штуки) не показывают. Возможно им все же нужно подать напряжение на 16й контакт.
Раз уж у тебя есть и телевизор и шнурок и такой богатый букет переходников, было бы занятно сделать RGB выход на SCART. На VGA разъем выводить RGB, но с телевизионной разверткой. То есть как это должно было бы быть с настоящим Вектором если бы не порядка дюжины разных бы.
было бы занятно сделать RGB выход на SCART. То есть на VGA разъем RGB, но с телевизионной разверткой.
Так я и сам очень хочу, но нужно или попробовать другие ТВ (может без 16го контакта заработают) или паять свой шнурок с 16 контактом (очень маловероятно)
Можно подпихнуть тонкий проводок в 16 контакт и поверх него вдавить SCART.
Не, пропихивать я не буду.
Нашел реликвию - самопайный шнурок 5DIN (или как его там) на скарт (и батарейку туда можно подключить на 16 контакт), которым когда то подключал вектор.
Ну осталось найти переходник VGA на DIN5 :D
На счет 16-го контакта в SCART, он ведь подключается ко входу "окно" (RGB) микросхемы коммутатора входов в телике, разве без подачи на него питания возможен вообще переход с режима TV на SCART ?
Я не говорю про "умные" современные в которых скорее всего это возможно, но раньше это точно наврядли было возможно.
Кстати, всегда возникал вопрос, почему с Вектора на SCART подавалось 12В, когда телику нужно до 3В...
У меня один из тв со скартом (ЖК LG) как раз очень (местами даже слишком) умный, была надежда, что догадается. Не исключено, что у него скарт без RGB. У самса один из скартов точно с rgb, но он совсем не новый и не такой умный.
Сейчас продается несколько вариантов кабелей тюльпаны(RGB) на скарт, честно говоря не знаю, с какими тв они работают. Есть подозрение, что они для работы в противоположном направлении, т.е. на приставке или ресивере втыкается в скарт, а на ТВ в компонент (на одном из них явным образом написано Component RGB). Т.е. не совсем целевое использование контактов RGB
Нет. И RGB и YPbPr -- это сomponent video. Просто у нас так устаканилась терминология, что "компонент" -- это цветоразностный, а RGB -- это "эржебэ".
Статья про SCART в википедии намекает на то, что все может быть неоднозначно и что YPbPr там тоже может быть. Увы, я про это ничего не знаю.
Там ещё 8-ой контакт для переключения егой-то используется...
http://radiolub.ru/page/raspajka-razema-i-kabelej-scart
Есть подозрение, что они для работы в противоположном направлении, т.е. на приставке или ресивере втыкается в скарт
В моем кабеле кроме трех тюльпанов RGB есть еще два тюльпана на звук. Прозвонил - оказалось, что в скарте они приходят на ВЫХОДЫ звука (контакты 1 и 3), т.е. мое подозрение подтверждается.
А на этом разъёме SCART нет надписи "SCART OUT" ?
Это переходник именно SCART OUT.
Гугл даёт картинки примеров подключения видео-плееров, как вариант SCART (плеера) на тюльпаны TV.
Поэтому и не подключены 8 и 16 входы SCARTа.
Надписи скарт аут на разъеме нет, но после прозванивания аудио-тюльпанов сомнения у меня пропали.
---------- Post added at 22:35 ---------- Previous post was at 22:31 ----------
Странный момент - при подключении к разъему s-video показывает в ч/б.
Скорее всего внутри контакт отвалился, проверить (снаружи, не вскрывая тв) сейчас нечем, а когда-то я к этому разъему тв-аут видяхи подключал и показывало в цвете.
Попробовал ещё пару устройств на предмет тв-аута
1. ЖК LG 32 дюйма. Чуть постарее моего основного ЖК LG и немного больше размером. Он, в отличие от моего LG, VGAшную 50 Гц развертку v06cc не понимает, а вот на ТВ реагирует абсолютно аналогично: показывает композит и s-video (через скартовский переходник). На SW4=1 реакция тоже аналогична - остаются только оттенки синего и желто-зеленого.
Есть еще один ЖК LG, он того же поколения, но еще больше размером и к нему чуть сложнее подступиться, не вижу смысла его пробовать.
2. Интереснее с тюнером AverTV305.
S-video он показывает в ч/б виде, как и ранее упоминавшийся самсунг при подключении через разъем s-video (т.е. s-video у меня показывал в цвете на двух ЛЖ и самсунге только через скартовский переходник, может я с ним что-то перемудрил).
Композит показывает в цвете, но независимо от SW4 только оттенки синего и желто-зеленого. Прикольно то, что если вместо автодетекта выбирать систему вручную, то на всех палах ч/б, а цвет (синее и желто-зеленое) есть только на "NTSC 50"
Вот тот монитор на ЦЦ вел себя практически точно как твой AverTV305, только с S-Video. Синежелтый ок, краснозеленого нет.
Наверно можно уже удалять скриншоты, подогнал я под свой тюнер - всего лишь взял для twUW коэффициенты от tvUV. Теперь тюнер показывает все цвета независимо от sw4. Такой вот "NTSC 50"
---------- Post added at 15:28 ---------- Previous post was at 15:03 ----------
Для LG такой чудо-режим дает строго сине-желтую картинку. Если не будет идей, как принципиально улучшить, надо хотя бы на еще один переключатель повесить.
Скриншоты удаляю
ivagor, тебе жалко сриншотов, да? =) Я не успел дойти до компьютера, а они уже стерты.
---------- Post added at 13:41 ---------- Previous post was at 13:39 ----------
(Хинт для скриншотов: на imgur.com и snag.gy можно заливать как на помойку, не надо ничего создавать и регистрировать)
Жалко места на форуме, отправил почтой. Насчет картинкохранилищ на будущее посмотрю, спасибо
Скриншоты ivagora (-->альбом (http://imgur.com/a/GDW3A#0))
http://i.imgur.com/ZUsY13n.pnghttp://i.imgur.com/TEi8LVY.png
http://i.imgur.com/NUc9WK1.pnghttp://i.imgur.com/bZdYNLe.png
После переделки (http://imgur.com/a/33m8N)
Для полного счастья (более правильных оттенков) вероятно надо слегка повернуть вектора U и V
ivagor, а собственно переделку покажешь? Если у тебя TortoiseSVN -> Right click, Create Patch
Дык я написал, что я сделал, причем сделал я это максимально тупо - закомментировал фрагмент с tvUW, скопировал фрагмент с tvUV и исправил там на tvUW. Выкладывать такое как то стыдно
Ну вот я представляю у себя на работе: у меня бага. Я вместо того, чтобы выкладывать исправление, просто пишу письмо на всех -- "да там фигня, поправить три строчки, такое выкладывать-то стыдно".
В video.v комментируем исходные uvsum c tvUW и вставляем вместо них
uvsum #( +49, -41, -7) (truecolor_R, truecolor_G, truecolor_B, tvUW[0]);
uvsum #( +40, -46, +5) (truecolor_R, truecolor_G, truecolor_B, tvUW[1]);
uvsum #( +26, -45, +18) (truecolor_R, truecolor_G, truecolor_B, tvUW[2]);
uvsum #( +7, -36, +29) (truecolor_R, truecolor_G, truecolor_B, tvUW[3]);
uvsum #( -11, -22, +34) (truecolor_R, truecolor_G, truecolor_B, tvUW[4]);
uvsum #( -29, -5, +35) (truecolor_R, truecolor_G, truecolor_B, tvUW[5]);
uvsum #( -42, +12, +30) (truecolor_R, truecolor_G, truecolor_B, tvUW[6]);
uvsum #( -49, +29, +20) (truecolor_R, truecolor_G, truecolor_B, tvUW[7]);
uvsum #( -49, +41, +7) (truecolor_R, truecolor_G, truecolor_B, tvUW[8]);
uvsum #( -40, +46, -5) (truecolor_R, truecolor_G, truecolor_B, tvUW[9]);
uvsum #( -26, +45, -18) (truecolor_R, truecolor_G, truecolor_B, tvUW[10]);
uvsum #( -7, +36, -29) (truecolor_R, truecolor_G, truecolor_B, tvUW[11]);
uvsum #( +11, +22, -34) (truecolor_R, truecolor_G, truecolor_B, tvUW[12]);
uvsum #( +29, +5, -35) (truecolor_R, truecolor_G, truecolor_B, tvUW[13]);
uvsum #( +42, -12, -30) (truecolor_R, truecolor_G, truecolor_B, tvUW[14]);
uvsum #( +49, -29, -20) (truecolor_R, truecolor_G, truecolor_B, tvUW[15]);
Спасибо! Поиграюсь. Правда, у меня нету ни одного капризного девайса.
Может в списке систем твоего тюнера есть NTSC 50 или нечто подобное?
Да чего-то я не припомню такого, он вообще запредельно ограничен в настройках. Я там до яркости-контрастности добрался и то не сразу. Вообще это DVB-T тюнер, совсем цифровой, то есть такой же нечестный, как и монитор и проектор.
Полазил по менюшкам своего тюнера. По умолчанию там были включены кое-какие улучшайзеры, в т.ч. деинтерлейс. Посмотрел mclrs - не мигает, но без деинтерлейса смотрится не очень, с деинитерлейсом (Blend Fields) весьма хорошо.
Ну конечно, blend fields -- это эффект, который дает идеальный результат. Жаль, что в жизни все не совсем так.
Еще пять копеек про тюнер. Попробовал шим, только не через GPIO, а через D-SUB. Без шумоподавления ИМХО неудовлетворительно, с шумодавом можно жить. Несомненный плюс - оттенки более правильные по сравнению с цаповским вариантом (и не надо никаких вращений векторов). Все же жаль, что на де1 цап хотя бы не по 5, а лучше 6 бит
Погоди, а ты не пробовал мои эксперименты с многобитным линейным ЦАП-ом?
Забыл про это дело, каюсь. У меня переходники не с собой, завтра на LG попробую.
А, ок. Я и сам забыл, но раз ты такие исследования проводишь, то может быть актуально.
Вчера все же нашелся один переходник, позволяющий объединить 2 в 1. И на тюнере видно, что это уже слишком много. С тюнером удобно то, что можно сделать скриншот и, например, построить гистограмму. Один проводник дает примерно 0,7 от динамического диапазона, а с двумя уже слишком насыщенно и некоторые оттенки сливаются. Т.е. для моего тюнера (и для шарпа) такой вариант увеличения битности не прокатит.
У LG АРУ работает в более широком диапазоне (прикольно на ходу подключать и отключать проводники - картинка в первый момент слишком яркая или слишком тусклая, потом на глазах нормализуется), но 3 в 1 с такими строчками в videomod.v (автор варианта - svofski)
assign VGA_R = tv_mode[0] ? tv_cvbs[4:1] : video_r;
assign VGA_G = tv_mode[0] ? tv_cvbs[4:1] : video_g;
assign VGA_B = tv_mode[0] ? {3'bz,tv_cvbs[0]} : video_b;
уже небольшой перебор и для LG.
К сожалению, у меня увеличение битности объединением проводников толком не получится (разве что для LG в некоторой степени), амплитуда сигнала великовата.
---------- Post added at 08:50 ---------- Previous post was at 08:42 ----------
Уточнение - объединение 3 в 1 я делаю двумя последовательно включенными переходниками и практически уверен, что вклад RGB получается разный, в отличие от варианта, если бы они объединялись в одной точке.
---------- Post added at 09:08 ---------- Previous post was at 08:50 ----------
Еще я писал про странности со шнурком 2xrca<->s-video. Прозвонил - оказалось там распайка совсем не такая, как я думал и удивительно, что он на части устройств все же показывал в цвете.
Исхитрился и подключил таки к самсунгу правильное s-video. Из-за обилия переходников на пути немного темновато, но в целом весьма неплохо, лучше чем я ожидал. И шим выглядит на этом тв на удивление хорошо (пробовал и цапнутый и шим варианты). Интересно еще попробовать s-video с тюнером, но это не сегодня, может даже на следующей неделе.
То есть многобитность усиливает амплитуду и сигнал зашкаливает, да? Хмм. А вариант с пересчитанным ЦАП-ом без высокоимпедансных состояний?
Еще как вариант можно подгрузить выход на землю дополнительно через 100 ом просто чтобы он поместился в допустимный диапазон, но подозреваю, что ты не захочешь.
То есть многобитность усиливает амплитуду и сигнал зашкаливает, да? Хмм.
Возможно сказывается то, что я не просто спаял RGB с VGA в одну точку, а использую переходники VGA<->3xRCA и 2xRCA<->RCA.
А вариант с пересчитанным ЦАП-ом без высокоимпедансных состояний?
Его я не пробовал, т.к. под него еще нужно композит растягивать до 6 бит, ну и не вижу причин, почему здесь не будет зашкаливать.
Еще как вариант можно подгрузить выход на землю дополнительно через 100 ом просто чтобы он поместился в допустимный диапазон, но подозреваю, что ты не захочешь.
В принципе могу как-нибудь попробовать подключить через несколько последовательных проводников
Насчет rgb через скарт. Подключение батарейки к 16 контакту (минус батарейки подкючаю чёрте куда, но работает) приводит к переключению скарта на RGB, но проблема с синхрой. Синхру я добавил ко всем трем составляющим, но это не помогает. Для пробы взял B и запулил его одновременно и на B скарта и на Y скарта - вот так синхронизируется, но понятно, что так не пойдет. Маловато трех источников с VGA.
Думаю, что владеющий паяльником человек может спаять переходник с GPIO (шим) на скарт (заодно там и напряжение на 16 контакт взять можно), а мне придется довольствоваться композитом и с-видео.
Теоретически еще остается YPrPb, но что-то у меня с ним не получается
Его я не пробовал, т.к. под него еще нужно композит растягивать до 6 бит, ну и не вижу причин, почему здесь не будет зашкаливать.
Если обычные объединенные в один провод RGB не зашкаливают, то и он не должен. Или они зашкаливают точно так же?
Или они зашкаливают точно так же?
Ну да, я же написал, что для тюнера и шарпа и 2 в 1 уже многовато, для LG 3 в 1 терпимо, но все же многовато
А, понял. Ну ладно, наверное нету особого смысла там страдать, хотя конечно можно было бы пересчитать значения как-нибудь, чтобы все помещалось.
Насчет скарта. Уменьшил уровень V_REF, увеличил "раздваиваемый" B относительно R и G - и отлично показывает через VGA с раздваиванием B в (B и Y).
---------- Post added at 19:45 ---------- Previous post was at 19:03 ----------
Если вдруг кому интересно про скарт. В video.v сделал сигналы так
output reg[3:0] tv_r;
output reg[3:0] tv_g;
output reg[3:0] tv_b;
always @*
casex ({tv_sync,tv_blank})
2'b0x:{tv_r,tv_g,tv_b}<=12'b0;
2'b11:{tv_r,tv_g,tv_b}<=12'h222;
default:
begin
tv_r <= 4'h2+truecolor_R[3:1];
tv_g <= 4'h2+truecolor_G[3:1];
tv_b <= {truecolor_B[3:2],2'h2};
end
endcase
Ну еще конечно надо вывести наружу из video.v и завести в videomod.v
---------- Post added at 19:47 ---------- Previous post was at 19:45 ----------
svofski наверно будет недоволен, что OSD без полупрозрачности
Небольшое резюме по результатам моих упражнений с ТВ.
Подключить DE1 к ТВ или тюнеру через композит или S-Video можно без пайки, через переходники и шнуры, которые можно купить в магазине. Т.к. не все современные ЖК ТВ переваривают 50 Гц с VGA, то это очень ценно.
Остался небольшой вопрос, почему у меня, например, композит нормально показывает с одним проводником, а у svofski слабо. Для себя я решил, что наверно сказывается разница в устройствах отображения или шнурах. Еще отмечу, что размах цветовой вспышки я для всех своих опытов увеличил (по совету svofski) в два раза по сравнению с вариантом в репозитории, у меня так цвета правильнее.
S-Video несомненно лучше, особенно для 512 точек, но у меня из за большого количества проводников сигнал немного (процентов на 15) проседает. Для записи через тюнер лучше ничего не придумаешь, причем в случае записи с DE1 я однозначно за ШИМ.
Кстати, попробовал еще вариант со шнурком S-Video->композит (с конденсатором) и он меня скорее разочаровал.
Скарт еще лучше, но магазинных переходников и шнуров для него недостаточно (мне повезло, что остался шнурок от вектора).
Надеюсь кто-нибудь сделает рабочий вариант с YPrPb - для качественного подключения магазинными шнурами к современным ТВ.
Ну и hdmi бы неплохо для какой-нибудь платки забацать.
andykarpov
11.09.2014, 23:59
Да, хорошая идея. IR-приемник — самая феноменальная фича этой платы ;) Заодно, если уж делать дополнительную плату, можно попробовать добавить какой-нибудь простенький восстанавливающий фильтр для S-Video (только его надо делать либо активным, либо при расчете учесть, что нагрузка 75 ом). Но это открытое поле для экспериментов. Вообще не факт, что легко сделать фильтр, от которого картинка правда станет лучше.
Начал рисовать. Пока на шилде только SD карточка.
Разводил одностороннюю, для повторяемости в домашних условиях.
Детали проекта тут: https://github.com/andykarpov/wxeda-sdcard-shield
Сделано во freeware-версии Eagle 7.0.0, в сгенерированных герберах диаметры отверстий для домашнего сверления все подогнаны к одному мелкому размеру. Есть уже сгенерированные PDF / PS / PNG / ... для ЛУТ или фоторезиста. В проекте используются открытые библиотеки от Sparkfun и Adafruit для некоторых компонентов.
Пытаюсь определиться, куда вешать tape in / tape out, звук и S-Video выход. И какой пассивный фильтр можно сваять для S-Video.
И какой пассивный фильтр можно сваять для S-Video
Я к сожалению не могу порекомендовать ничего определенного — из того, что я пробовал, просто RC в принципе ок, но и без него выходит нормально, а может быть даже лучше. Это как теплый ламповый звук, искажения сильные и так и эдак, можно бесконечно "улучшать" в разные стороны, теплота останется, мертвящая цифра этому видеосигналу точно не грозит ;)
Я бы еще зарезервировал места для резисторов подтяжек к +3.3В на входах FPGA, которые идут к SD карте. Буквально сегодня ivagor показывал схему waveshare-овского адаптера, наверное вот этого http://www.wvshare.com/product/Micro-SD-Storage-Board.htm (там есть ссылка на девелопмент файлы).
andykarpov
12.09.2014, 00:27
Я бы еще зарезервировал места для резисторов подтяжек к +3.3В на входах FPGA, которые идут к SD карте. Буквально сегодня ivagor показывал схему waveshare-овского адаптера, наверное вот этого http://www.wvshare.com/product/Micro-SD-Storage-Board.htm (там есть ссылка на девелопмент файлы).
У меня такой переходник имеется, там не подтяжки, а делители, он типа получается 5V tolerant :) Но подтяжки сделаем, не вопрос. Хотя и без них, вроде бы, работает.
Нет, это другое значит.
Вот эта схема http://www.ozhobbies.eu/dokumentation/micro_sd_module_arduino/Micro%20SD%20Storage%20Board_SCH.pdf
andykarpov
12.09.2014, 00:45
Нет, это другое значит.
Вот эта схема http://www.ozhobbies.eu/dokumentation/micro_sd_module_arduino/Micro%20SD%20Storage%20Board_SCH.pdf
Да, действительно, сорри. Тут подтяжки. При чем подтянуто все, что можно было, даже выход Card Detect :)))
В моем адаптере от DF-Robot там как раз делители.
http://www.dfrobot.com/image/cache/data/DFR0071/20140710/_DSC0327-900x600.jpg
PS: в github выложил версию с подтяжками.
andykarpov
14.09.2014, 02:27
Вот так примерно платка будет выглядеть:
https://lh5.googleusercontent.com/-XyuGBXTCMWY/VBTDz3Xri5I/AAAAAAAADjw/SYoChcYpQLs/w895-h359-no/sdcardmod_render2.png
Добавил tape in / tape output в виде одного стерео-разъема (не знаю, насколько это будет удобно) и RCA выход (вместе с куском схемы на транзисторе из проекта Радио-86РК_SDRAM). Что скажете, господа ? Имеет такое вообще право на жизнь или ну его ?
А чего только композит, а не s-video?
Я не уверен, что такая сложная схема нужна, хотя хуже от нее не будет - на худой конец можно хоть перемычку поставить.
andykarpov
14.09.2014, 03:54
А чего только композит, а не s-video?
Я не уверен, что такая сложная схема нужна, хотя хуже от нее не будет - на худой конец можно хоть перемычку поставить.
:) Если расскажете, что нужно (обвязка) в минимальной конфигурации для S-Video - сделаю. Как минимум там должны быть разделительные конденсаторы, судя по всему, и согласующие сопротивления.
Может также поставить на каждый выход по транзистору ? это как минимум защитит сам циклон от всякий аномалий, которые могут зайти из телевизора на плату :)
Есть ли где-нибудь схемы или описания, как это обычно делают ?
---------- Post added at 02:29 ---------- Previous post was at 02:24 ----------
Вот, нашел, что-то похожее на правду:
http://www.ppa.pl/artykuly/pics/sekcje/sprzet/svideo/schemat.png
---------- Post added at 02:54 ---------- Previous post was at 02:29 ----------
И возникает вопрос - а нужны ли нам эти транзисторы или можно обойтись RC-цепочками 100uF+75R и 1nF+68R ?
А что, разные схемы включения 1145-ой?
http://www.tvgenerator.narod.ru/MU_page_files/ris3.gif
На базе VGA развертки получилось сделать развертку компонента YPbPr 576p50. Пока попробовал на одном ЖК ТВ LG, если кто еще готов попробовать - выложу sof.
Есть пара мелких устранимых недостатков - нужно немножко подкорректировать насыщенность цветов и OSD чересстрочная (от тв).
andykarpov
14.09.2014, 11:49
А что, разные схемы включения 1145-ой?
http://www.tvgenerator.narod.ru/MU_page_files/ris3.gif
Похоже на то, что 1145 умеет делать и композитный сигнал, и раздельный для s-video. Но вопрос в том, нужно ли усиливать сигнал транзистором. Судя по данной схеме - не нужно.
andykarpov
14.09.2014, 14:49
Разъем s-video добавил по самому простому сценарию. Подробности - в бранче https://github.com/andykarpov/wxeda-sdcard-shield/tree/svideo
Выглядит платка так:
https://lh6.googleusercontent.com/-FxrWaB5IEcM/VBVyjlRGyDI/AAAAAAAADkg/EHVwP2PB48E/w895-h366-no/sdcardmod_render3.png
Немного в сторону -- нашел даташит на CXA1145, по-японски, но схемы и обозначения понятны http://www.datasheetarchive.com/dlmain/Datasheets-32/DSA-626723.pdf
Я честно долго смотрел на эту схему и много чего написал, но потом понял, что я совершенно не могу понять, почему она такая и все стер. Зачем диод D1, что делают 100пФ на землю после транзистора, а не перед ним, как было вычислено 68 ом, это вообще фантастика какая-то. Единственное, что мне понятно -- это предохранители. Предохранители ОК.
Upd: нашел, автор пишет, что срисовал схему с Amiga CD32 (AMIGAAA!!!1111)
http://www.ppa.pl/artykuly/pics/sekcje/sprzet/svideo/cd32.png
С моей точки зрения это все от лукавого. Циклон способен выдать току в разы больше, чем нужно. Резисторов 75 ом последовательно в линию должно прекрасно быть достаточно. В то же время я имел неудачный опыт практической невозможности подключить свой s-video к какому-то старому монитору на ЦЦ и не факт, что виной тому не была какая-то электрическая неточность. А схема из Амиги наверняка все-таки у большинства людей работала (хотя лично у меня композит из Амиговского кирпичика-модулятора заваливает белый в магенту).
Но я бы не стал ее копировать. Просто из идейных соображений противостояния культу карго.
---------- Post added at 16:03 ---------- Previous post was at 15:57 ----------
На базе VGA развертки получилось сделать развертку компонента YPbPr 576p50. Пока попробовал на одном ЖК ТВ LG, если кто еще готов попробовать - выложу sof.
Есть пара мелких устранимых недостатков - нужно немножко подкорректировать насыщенность цветов и OSD чересстрочная (от тв).
Я тут, протирая пыль на мониторе, заметил на нем подозрительные входы, которые подозрительно помечены YPbPr. Так что я теоретически могу проверить. Практически не обещаю, потому что мне для этого сначала придется вандализовать какой-нибудь кабель из нераспутываемого клубка. Но ты sof далеко не запрятывай.
---------- Post added at 16:10 ---------- Previous post was at 16:03 ----------
UPD: дошло, что FB это ferrite bead (рогалик ферритовый =) ), а не предохранитель.
---------- Post added at 16:21 ---------- Previous post was at 16:10 ----------
UPD2: http://www.freeinfosociety.com/electronics/schematics/computer/pictures/commodore641.jpg
У этой схемы есть такое преимущество, что ферритовый рогалик обозначен как нечто, имеющее известную индуктивность. Выходит RLC фильтр 3мкгн/220пф с нагрузкой на 75 ом. Посчитал тут http://sim.okawa-denshi.jp/en/RLClowkeisan.htm - выходит срез начиная с 6МГц. Все вроде разумно, но фаза на 6МГц повернута уже на 90 градусов, не знаю, хорошо ли это для сигнала, который кодируется QAM.
andykarpov
14.09.2014, 16:43
UPD: дошло, что FB это ferrite bead (рогалик ферритовый =) ), а не предохранитель.[COLOR="Silver"]
Может все-таки fuse bulb ? ;) А то индуктивность на схеме вроде как обозначается с указанием значения. А тут просто FB1, FB2, ... FBN...
FB = ferrite bead, а fuse обычно FU. И есть-таки странная традиция не обозначать значение индуктивности ferrite bead-ов. Другое дело, что там, где их не обозначают, они обычно стоят в цепях питания аналоговых кусков смешанных схем для фильтрации помех по питанию по принципу "ну хоть как-нибудь хуже-то не будет".
На амижной схеме на самом деле не написано FB, написано "100", сто чего — непонятно, никакие генри в таких количествах не дадут ничего осмысленного для видеосигнала.
Вот фото платы:
http://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Amiga-CD32-Motherboard-Top.jpg/640px-Amiga-CD32-Motherboard-Top.jpg (http://upload.wikimedia.org/wikipedia/commons/4/41/Amiga-CD32-Motherboard-Top.jpg) (клик, большая фотка)
E321R, E331R выглядят как типичные ferrite beads в корпусах 0805, черненькие, матовые, без маркировки. Остается только гадать.
---------- Post added at 17:05 ---------- Previous post was at 17:03 ----------
Кстати интересно, что ferrite beds, обозначенных как FBxxx, на этой плате тоже предостаточно.
andykarpov
14.09.2014, 21:54
Предлагаю забить пока на эти ферритовые рогалики && 100pF. А там посмотрим :)
Более того, есть некоторая трабла с тем, что все контакты из-под 7-сегментного индикатора идут через резисторные сборки, каждый контактец по 330 Ом (в моей версии). И, возможно, сигнал будет слабоват на выходе в итоге.
andykarpov, тогда 75 ом еще допольнительные ставить точно не надо. Или сборку поменять. Ну или уж транзистор оставить ;)
andykarpov
14.09.2014, 22:11
Кстати, вариант поменять сборку на 0 Ом - вообще уматовый. Где бы их еще найти эти сборки :)
Если сборку менять - в схеме ничего изменять дополнительно не прийдется.
Если сборку оставлять - тогда в шилде можно вместо 75 Ом ставить 0 Ом.
Транзистор для RCA версии остался, для S-video версии не влезет (разве что переходить полностью на smd для всего дизайна).
Например, HYC16-4-0J 1206 0603x4.
С помощью коротких проводков мама-мама подключил к DE1-SoC wavesharовскую платку SD. После некоторых приключений, за которыми имел неудовольствие дистанционно понаблюдать svofski все заработало. У такого решения два плюса перед штатным модулем microSD: 1. Не нужен драйвер для HPS; 2. Можно использовать SD и microSD. Тем не менее, с огромным интересом бы посмотрел на версию с драйвером штатного microSD. РК86, кстати, тоже заработал.
Спасибо b2mу за наводку на waveshre и svofski за наводку на проводки и все остальные хорошие дела!
Небольшой, но действенный хинт для тех, кто подключает к современным ТВ.
Столкнулся с тем, что при подключении к компонентному входу ЖК ТВ LG "высветлял" вертикальные границы черного и белого. Судя по учебнику, это похоже на работу апертурной коррекции. Для компонентного входа зажал настройку "четкость" до 43 (из 100) - и стало замечательно.
Также уменьшение четкости (тут аж до 13 из 100, к счастью настройки для каждого входа запоминаются отдельно) очень хорошо сказалось на качестве композита. Да, все несколько замылилось, но имхо для композита так только лучше.
Добил компонентный видеовыход и залил в репозиторий
Китайцы продолжают меня удивлять. Платка (http://www.wayengineer.com/index.php?main_page=product_info&products_id=160#.VDAJfxbgVLN) 8 битного VGA ЦАПа, которую можно воткнуть прямо в терасиковский GPIO. На старших циклоновских DE уже стоит почти такой видеоЦАП, только менее скоростная версия (140 вместо 330 МГц, а на некоторых еще и 10 битный). Хотя я (сослепу, не рассмотрел маркировку), подавал и на штатный 240 и 300 МГц и все работало.
Добавил (в репозитории) СТАРТ-1200 на условную компиляцию. Обратите внимание, что флоппи для старта-1200 надо отключать (в комментариях я это отметил), а то у него 8 Кб ПЗУ и памяти в циклоне на все не хватает.
avk.ghost
11.10.2014, 20:55
Всем привет.
Являюсь обладателем Altera DE1. Когда-то давно был вектор, решил посмотреть, как он выглядит на данный момент в FPGA, благо плата позволяет. Ну и за одно предоставить свои коментарии/впечатления.
Итак, наченм по порядку.
1. Сначала скачал отсюда https://code.google.com/p/vector06cc 2 версии прошивок 353 и 377.
* 353 - залил квазидиск (брал в одном из первых постов темы), сделал ресет (БЛК+ВВОД). Квазидиск видит и грузит с него. При попытке взапуска (БЛК+СБР) - могу увидеть мусор на экране. Иногда менятется палитра, происходит неполная очистка экрана и т.д. МикроДОС не запускается. Иногда перестает работать меню OSD. Меню вызывается, но ничего не возможно выбрать - нажатие курсорных клавиш и enter ник чему не приводит. Лечил перезаливкой sof.
* 377 - тут проблема другая. Постле старта таблица загрузки (экран) заполнена каким-то мусором. Попытка заливки квазидиска оказалась неудачной. Пробовал заливать несколько раз данные в SRAM. После ресета не видит квазидиск.
ПРимерно то же самое было и при пересборке из исходников ревизии 377.
2. Решил обновиться до 433 версии из транка. Вроде экран стал чище, но до микродоса на квазидиске не достучался (могу путать, т.к. было много эксперементов и уже не упомню все).
3. Читая тему заметил, что развивается ветка с SDRAM для данной платы. Решил вытащить ее и скомпилить sof.
Из-того, что заработало:
а) Загрузка с магнитофона (ROM2WAV). Нужно будет поискать старые кассеты, возможно что-то еще осталось.
б) Загрузка с дисковода. Диски видит и переключает.
Не получилось:
а) Запуститься с квыазидиска. Пробовал заливать в SDRAM c адреса 8000 - ничего. При попытке сдампить данную область или весть SDRAM - по всем адресам 00.
Собирал все Квартусом 13.0 build 156.
Плаата - без каких либо модификации и дополнительных устройств на GPIO. Переключатели - SW9:SW8 = 1, остальные - 0.
Подскажите, возможно я что-то делаю не так?
PS. Спасибо огромное за проделанную работу.
PPS. Подскажите плз где можно взять полный МикроДОС со всеми утлитами? в "Базисе" находил либо флопики без файлов/только os.com
Спасибо за ответы.
С уважением,
Андрей
Главный вопрос - какая маркировка SRAM?
avk.ghost
11.10.2014, 21:07
Главный вопрос - какая маркировка SRAM?
SRAM - IS61Wv25616EDBLL-10TLI
SDRAM - IS42S16400J-6TL
Понятно, теперь на форуме стало два обладателя новых ревизий DE1 (у меня тоже такая).
Использующие SRAM классические версии svofski на новой ревизии просто так не пойдут, надо подгонять таймквестом.
В SDRAMных версиях jtag не подключен, поэтому заливка чего-либо (например квазидиска) через контрол панель работать не будет.
avk.ghost
11.10.2014, 21:37
Понятно, теперь на форуме стало два обладателя новых ревизий DE1 (у меня тоже такая).
Плату покупал недавно, пару недель назад. Как раз буду выступать в качестве бета-тестера.
Использующие SRAM классические версии svofski на новой ревизии просто так не пойдут, надо подгонять таймквестом.
Спасибо. Буду знать. Заодно поупражняюсь с таймингами.
В SDRAMных версиях jtag не подключен, поэтому заливка чего-либо (например квазидиска) через контрол панель работать не будет.
Примерно это и подозревал. После того, как получил нули на чтение после записи данных в эти области.
На сколько я понял для подключения JTAG необходим флаг условной компиляции define WITH_DE1_JTAG?
Посмотрел иходники контроллера SDRAM. Нужно еще сделать подключние контроллера к JTAG.
Спасибо за оперативный ответ. Буду следить за развитием событий. Заодно пробовать упражняться в написании на Verilog.
Рекомендую почитать там (http://zx-pk.ru/showthread.php?t=14382&page=6) с поста 58. Кроме таймквеста нужно еще обязательно резисторы в vector06cc.qsf прописать для SRAMа.
В векторовской ветке (http://zx-pk.ru/showthread.php?t=8635&page=23) тоже можно почитать (с поста 229).
Просто включить define jtagа в SDRAMной версии не поможет, там jtagовские сигналы не подсоединены никуда, надо доделывать
---------- Post added 12.10.2014 at 00:15 ---------- Previous post was 11.10.2014 at 23:53 ----------
Программы для дос (https://yadi.sk/d/QKcj37aGbwWj5), как "истинновекторовские" так и обще cp/mные.
Сами досы (http://asdasd.rpg.fi/~svo/scalar/categories/os/) наверно уже видели.
avk.ghost
11.10.2014, 22:24
Рекомендую почитать там (http://zx-pk.ru/showthread.php?t=14382&page=6) с поста 58. Кроме таймквеста нужно еще обязательно резисторы в vector06cc.qsf прописать для SRAMа.
В векторовской ветке (http://zx-pk.ru/showthread.php?t=8635&page=23) тоже можно почитать (с поста 229).
Уже пристипил к прочтению. Сейчас правлю резисторы. Буду пробовать запусткать на 353.
Просто включить define jtagа в SDRAMной версии не поможет, там jtagовские сигналы не подсоединены никуда, надо доделывать
Уже отписаал выше. Так и есть.
Программы для дос, как "истинновекторовские" так и обще cp/mные.
Сами досы наверно уже видели.
За программы спасибо. Отличный набор.
Досы уже все вытащил. :v2_thumb:
А вот это:
http://svo.2.staticpublic.s3-website-us-east-1.amazonaws.com/verilog/palencoder/
тоже работа кого-то из местных обитателей?
avk.ghost
12.10.2014, 12:08
А вот это:
http://svo.2.staticpublic.s3-website-us-east-1.amazonaws.com/verilog/palencoder/
тоже работа кого-то из местных обитателей?
IHMO, сайт svofski. А судя по обсуждениям в теме, возможно, коллективная работа.
А, ну да, пардон.
Мог бы и сам подпись под страницей внимательнее рассмотреть, и по ссылкам догадаться... :)
avk.ghost, если не затруднит попробуйте sramный вариант (https://yadi.sk/d/Qekj9D2nbyFXN) заточенный под EDBLL, ссылку на который я уже выкладывал в этой ветке, но это было давно и она протухла.
avk.ghost
13.10.2014, 16:24
avk.ghost, если не затруднит попробуйте sramный вариант заточенный под EDBLL, ссылку на который я уже выкладывал в этой ветке, но это было давно и она протухла.
Ок. Буду дома - попробую(т.к. плата дома).
ivagor, небольшой фидбэк по ревизии 434.
Добавил (в репозитории) СТАРТ-1200 на условную компиляцию. Обратите внимание, что флоппи для старта-1200 надо отключать (в комментариях я это отметил), а то у него 8 Кб ПЗУ и памяти в циклоне на все не хватает.
Пересобрал с данной ревизией (434). СТАРТ-1200 в условной компиляции отключен. При ресете - не отображалась информация на экране. Т.е. сетка загрузки не показывалась, экран былсиним. При этом загрузчики работали.
Есть подозрение, что я делал сборку без clean project. Перед этим я собрал проект из ревизии 433. Потом в процессе анализа исходников в квартусе сделал update из svn и запустил на компиляцию. Без clean project - не проверял.
Сегодня могу дома повторить эксперемент с переходом между ревизиями, если это необходимо.
Пересобрал с данной ревизией (434). СТАРТ-1200 в условной компиляции отключен. При ресете - не отображалась информация на экране. Т.е. сетка загрузки не показывалась, экран былсиним. При этом загрузчики работали.
Сейчас сделал чекаут в пустой каталог, ничего не изменял, просто откомпилировал - все ОК, стандартную картинку загрузчик показывает и загружает. Перед апдейтом я проверял и конфиг 1200 и вектор, все было нормально.
avk.ghost
13.10.2014, 17:22
Впредь буду обновляться, чисить и пересобирать. Думаю в этом моя проблема.
avk.ghost
14.10.2014, 11:15
avk.ghost, если не затруднит попробуйте sramный вариант заточенный под EDBLL, ссылку на который я уже выкладывал в этой ветке, но это было давно и она протухла.
Все работает без проблем. Спасибо!
Спасибо за проверку! Вот "контроллер SRAM", который там использован
49613
Нетрудно заметить, что он сделан на базе SDRAMного. Его легко можно подогнать (убавляя/добавляя вэйтстейты) под другие частоты (пробовал от 60 до 288).
Достоинства и недостатки очевидны - не нужно париться с таймквестом, но максимального быстродействия из срама так не выжмешь (хотя всё равно быстрее сдрам при произвольном доступе) и переделать под этот контроллер не легче, чем под сдрам.
434 заработал?
avk.ghost
14.10.2014, 12:41
Спасибо за проверку!
Всегда готов оказать посильную помощь!
Вот "контроллер SRAM", который там использован...
Надо будет детально поразбираться с конечным автоматом, реализованным в контроллере.
Так же нужно будет поизучать вариант котроллера SDRAM из 1chipMSX.
По поводу маскимального быстродействия:
IHMO, для эмуляции стандартоного Вектора и Вектора с Z80 этого вполне достаточно.
434 заработал?
Не проверял, вчера пришел поздно. Проверил только Вашу версию c коррекцией. Постараюсь сегодня проверить 434 rev.
Исправил в архиве коммент насчет SRAM data bus (осталось от одного из предыдущих вариантов)
avk.ghost
14.10.2014, 21:12
434 заработал?
Проверил. все ок. Работает без артефактов и проблем.
Оффтоп (потом уберу, если что)
Кто-нибудь может навести на ссылку, где можно скачать примеры от такой (http://www.aliexpress.com/item/Free-shipping-FPGA-development-board-ALTERA-CycloneIV-Video-NIOS-Image-DDR-color-VGA-audio-EP4CE30/1533037371.html) девборды? Ну и чисто из интереса - кто разработчик/производитель?
Странная какая-то плата, на ней даже конденсаторы есть. Точно не WXEDA.
andykarpov
23.10.2014, 02:50
Вот, готовая платка шильдика для WXEDA.
https://farm4.staticflickr.com/3948/15601327551_425db1abcc_b.jpg
Кому интересно - смогу выслать лишние образцы чистой платки. Пишите в личку, плз.
Отчет о закадровом эксперименте. Было желание привести проект к виду, компилируемому с минимальными изменениями почти на любой терасиковской плате любительского уровня.
Проблем (известных мне) две:
1. Базовый клок д.б. 50 МГц без использования 24 или 27 МГц
2. Не везде (по крайней мере на de1-soc) для sdrama в векторе 60 МГц работают на 100%. Желательно 48 или 96 МГц.
Сделал 383.33 МГц из 50. Погрешность небольшая, думаю терпимо. Клок для ТВ-ШИМа теперь 383.33. pal*16 фазовым аккумулятором (24 бита). 48 (для сдрам) и 24 (для остального) делением.
В основном работает, но есть проблемы:
1. Самая большая проблема с ТВ-ШИМ. Во-первых при `define COMPOSITE_PWM проект просто не работает, если Fitter Settings не переключить на Standart Fit (еще у меня Optimization Technique на Speed, это я не трогал) Во-вторых при `define COMPOSITE_PWM и SW5=1 в колонке слышится некий бззз, независимо от положения регулятора громкости.
2. Быстрое турбо с ходу не работает, работают 3 МГц без тормозов. Ну это при желании можно поправить.
---------- Post added at 12:24 ---------- Previous post was at 12:14 ----------
На всякий случай озвучу, что нешимный тв-аут работает в вышеописанном варианте без проблем и посторонних звуков.
ivagor, это великий труд. Спасибо! На фоне этого мелочи типа бзз при композитном шиме — полная ерунда. Рано или поздно с ними разберемся.
На великий как-то не тянет - несколько правок в clockster.v и коррекция параметров pll. Но будет полезно, если получится без побочных эффектов.
Насчет жужжания в динамике - прикольно то, что можно даже вынуть аудио шнур из de1 и все равно будет жужжать. DE1 каким-то местом умудряется излучать в эфир и колонка ловит?
DE1 каким-то местом умудряется излучать в эфир и колонка ловит?
У меня беспроводная клава переставала работать рядом с включенной DE1 с моим проектом (в смысле то печатает, то нет). И от того, что в DE1 загружено тоже как-то влияло. Пришлось сменить клаву :)
Итак пробный вариант (https://yadi.sk/d/eDpIB1EQcUk5z) вектора, компилируемый для de1, de1-soc и de2-115. Исходники общие, разные файлы проектов и топы.
У меня беспроводная клава переставала работать рядом с включенной DE1 с моим проектом (в смысле то печатает, то нет). И от того, что в DE1 загружено тоже как-то влияло.
Возможно de1 нарушает российские нормы на ЭМС
---------- Post added at 14:50 ---------- Previous post was at 14:46 ----------
"Адаптация" для de2, de2-70 заняла бы несколько минут. Аналогично для de0, но без звука (если, например, не подключить что-нибудь звуковое к GPIO).
В твоем подключении с бзз остаются какие-то ненагруженные активные выходы у DE1? Например ТВ-ШИМ включен, но не подключен к ТВ.
DE1 подключена к ТВ через переходник VGA<->3RCA. RCA воткнуты в композитный вход/Y, Pb, Pr. Жужжат (при SW5=1) расположенные вплотную дешевенькие мультимедийные (скорее всего не экранированные) колонки. Примерно в 2х метрах стоят нормальные колонки, в них посторонних звуков нет.
Похоже наводка на колонку идет с кабеля, включенного в ТВ.
Заметил такую вещь - платы были выключены, тв и колонка включены. Когда вынул один конец кабеля из платы (de1-soc) в колонке стал слышен гул (повторюсь - платы были выключены). Если кабель включен в de1-soc и залить в de1 прошивку с шимным композитом - гула нет.
---------- Post added at 00:25 ---------- Previous post was at 00:18 ----------
Неа, дело не в кабеле от ТВ - вынул его и из платы и из ТВ - есть легкий гул.
---------- Post added at 00:36 ---------- Previous post was at 00:25 ----------
Вернее дело не только в кабеле. Эти дурацкие колонки "ловят сигнал" и от блоков питания (послабее) и от тв-шима de1 (посильнее), когда туда воткнут кабель к тв. Вполне возможно, что при использовании нормальных колонок жужжания не будет, может как-нибудь проверю.
Дело видимо в блоке питания от DE1?
Наводка от тв-шима есть и при отключенном блоке питания de1, когда она запитана от usb.
На данный момент склоняюсь к мысли, что основная проблема в колонках. Куплю аудио шнур подлиннее и подключу к нормальным колонкам.
Питание от USB еще не гаранития того, что все хорошо заземлено. А если у тебя розетки без общего заземления, то и вообще. Вообще было бы интересно взять пробу, намотать на нее маленькую антеннку-петлю и поводить вдоль проводов там и сям, поискать осциллографом где фонит. Правда, не факт, что в таком случае не поймается что-то, наведенное самим осциллографом.
Еще у DE1 есть клемма для общего зануления, можно ее с корпусом компьютера объединить.
Вторая версия (https://yadi.sk/d/AC4QPILLd5D4g) "многоплатного" вектора. Добавил ПК6128 на условную компиляцию. Недостатки текущего варианта:
1. Проц не 8085
1.1. Другие растактовки. Наиболее критично для загрузки с магнитофона. Есть 2 временных решения:
а) При конвертации rom в wav утилитой Ramirosа использовать маленькую скорость
б) Просто включить турбо (KEY2). В текущем варианте при этом всего лишь отключаются векторовские тормоза и такой вариант ближе к 8085. По крайней мере грузит при конверсии со средней (дефолтной) скоростью утилитой Ramirosа.
2. Флоп.
2.1. На DE1 не хватает ОЗУ в плисине, поэтому 6128 с флопом только для DE1-SoC и DE2-115
2.2. Напоминаю, что нужны соответствующие досы. Оригинальных в открытом доступе нет, я проверял на хаках (http://zx-pk.ru/showpost.php?p=569499&postcount=117) (работают).
Заодно узнал, что в предыдущем варианте на DE1-SoC не работала загрузка с магнитофона. Пока исправил этот момент переключив аудиокодек обратно на Normal (вместо USB), с генерацией аудиоклока фазовым аккумулятором. Соответсвенно вернулся фоновый шум в SKY NET. К слову, в ранее выкладывавшейся конверсии на DE1-SoC ревизии 432 USB Mode работал полностью (в т.ч. загрузка с магнитофона), т.ч. в принципе возможно все, но не все сразу :)
Лучше поздно, чем никогда
1. Чтение с магнитофона заработает и на DE1-SoC (и не перестанет работать на DE1) при USB Mode, если в soundcodec.v в фрагменте
always @(posedge clk12) begin
if (line8in < 128+HYST) tapein <= 1'b0;
if (line8in > 128-HYST) tapein <= 1'b1;
end
заменить clk12 на clk24.
2. Насчет жужжания при шимном композите. Попробовал нормальные (не дешевые мультимедийные) колонки с услилителем - они не жужжат! Желательно бы, конечно, чтобы и дешевые колнки не жужжали при шимном композите, но с нормальными колонками жить можно.
Триумф субъективности - почему-то на нормальных колонках мне звук v06cc нравится больше, хотя казалось бы, где уж там слышать разницу
Триумф субъективности - почему-то на нормальных колонках мне звук v06cc нравится больше, хотя казалось бы, где уж там слышать разницу
Чего же тут субъективного. Колонки получше получше и воспроизводят все нюансы меандра, предельно насыщенного гармонически.
Ну я как-то не ожидал, что замечу разницу от такого источника
Еще попробовал колонки в ЖК ТВ. Они дохлые, заметно слабее мультимедийных, стоят вплотную к DE1 - но не жужжат. Т.е. из трех попробованных колонок шим композит жужжит только на Genius SW-G106. То ли там экранирования нет, то ли еще что
---------- Post added at 18:50 ---------- Previous post was at 18:45 ----------
Еще попробовал встроенный звук в мониторе Acer. Он (звук, не монитор) вобще суперубогий, но тоже не жужжит. Интересно, почему гениус что-то "ловит" с DE1
Интересно, почему гениус что-то "ловит" с DE1
Нашел такую версию в Инете:
Стандартная болезнь дешёвых колонок, к сожалению, там постоянно экономят на питающих сетевых фильтрах
Если DE1 по питанию гонит ВЧ шум в электросеть, то вот и результат. Еще, в дешевых колонках наверняка неэкранированные провода, через них тоже може наводка идти.
Может и так, но я это проверить не смогу, т.е. шнур перепаивать или экранировать точно не буду. Тем более на всех остальных колонках бззз нет.
Интересно, что жужжать на гениусе стала "мультиверсия" с клоком 384 (точнее 383.33) МГц, а версии в репозитории с клоком 300/432 МГц не жужжат нигде
---------- Post added at 16:04 ---------- Previous post was at 16:02 ----------
Понятно, что жужжит в звуковом диапазоне, а не на сотнях МГц
То, что слышно, это, скорее всего, один из образов, который получается от перемножения частоты ШИМа и какой-то внутренней частоты самих колонок на неком удивительным образом сложившемся нелинейном элементе внутри.
Занятно было бы попробовать сделать что-нибудь, что плавно регулирует клок при прочих равных, и послушать как колонки начинают это воспроизводить. Но в районе 384МГц вряд ли можно сделать плавно.
Как ни странно, но я пришел примерно к той же мысли, только без плавности. Посмотрим, что победит - лень или академический интерес
Потихоньку снимаю возникавшие ранее вопросы.
В последних версиях v06cc реализован компонентный выход в формате 576p50. 576i50 упорно не хотел показывать. Попробовал (на специалисте) сделать чередование высоты кадров 312/313 - и 576i50 заработал. Т.е. при сохранении векторовских экранных времянок без буфера(ов) на кадр (а не на строку/ки) 576i50 не получится.
Ну и фиг бы с ним, 576p50 то работает. Досадно, если шероховатости с пропаданием цветов на некоторых ТВ/тюнерах в PAL тоже связаны с количеством строк в полях, т.к. простого лечения (без буфера(ов) на кадр) нет
Брат привез пару модулей, в т.ч. вавешаровский VGA+PS2. Подключил его к DE1-SoC
VGA работает. Причем для DE1-SoC и DE2-115 даже есть определенная польза - PAL через эту платку показывает без паразитных "узоров", как и на DE1
PS2 я хотел запитать от 3,3В (читал, что некоторые клавиатуры поддерживают) но 2 попробованные клавы не приняли такой вариант. Может еще одну попробую, 5В как то не хочется
---------- Post added at 10:11 ---------- Previous post was at 10:09 ----------
Кстати, шимный композит теперь жужжит в гениусных колонках и от DE1-SoC + эта платка
Еще попробовал с DE1 модуль wm8731 (типа такого (http://ru.aliexpress.com/item/Free-Shipping-1pc-WM8731-module-audio-module-FPGA-audio-circuit-music-player-karaoke-OK/1399542257.html?recommendVersion=1), чуть отличается, покупал еще по старому курсу), работает.
Кстати, шимный композит теперь жужжит в гениусных колонках и от DE1-SoC + эта платка
Это те, которые раньше не жужжали?
Это те единственные, которые раньше жужжали при шимном композите и от DE1
Убрал из предыдущих постов пургу про странности с внешним модулем wm8731 - все отлично работает, в т.ч. DSP mode, просто надо быть внимательным и аккуратным. Но нет худа без добра - зато в процессе разборок я накропал несколько вариантов audio_io, в т.ч. попробовал Master mode - красота, все клоки, кроме главного генерирует сам аудиокодек. В общем рекомендую, если нужно подключить звук через GPIO. Еще бы клавиатуру научиться через GPIO подключать
---------- Post added at 18:10 ---------- Previous post was at 17:29 ----------
Еще один момент по аудио. wavы с ромами воспроизвожу на ноуте, подаю сигнал с его наушникового выхода на линейный вход. Посмотрел сигналтапом сэмплы с АЦП - оказалось, что уровень сигнала маленький. Если немного добавить усиления (I2C_AV_Config.v, SET_LIN_L и SET_LIN_R), то начинает грузить без сбоев даже на высокой скорости (на нормальной то и так грузит без ошибок).
PS2 клавиатура заработала через вавешаровский модуль VGA+PS2 (с питанием 3,3 В), до этого я в проекте ошибался. В общем все модули работают, причем я их не только в векторе проверял
---------- Post added 06.01.2015 at 00:41 ---------- Previous post was 05.01.2015 at 23:12 ----------
Оказывается сейчас есть тв-тюнеры (http://www.beholder.ru/products/t8/) с YPbPr/RGB входом, т.е. можно захватывать более качественную картнику, чем в PALе
Поменять частоту шима в векторе я так и не собрался, но зато попробовал видеошим с другой частотой (258,33 МГц) на специалисте - гениусные колонки и в этом случае шумят, звук немного другой.
Купил вышеупомянутый тюнер с возможностью захвата YPbPr/RGB (композит и s-video, конечно, тоже есть). Да, действительно захватывает, причем, если надо, даже с прогрессивной разверткой с частотой строчной как в вга (480p/576p)
Знаешь, что еще более захватывающе - он может сигнал предназначенный для скарта каптурить (у него это называется RGB). При этом, как и для скарта, нужно синхру на отдельный вход (видео) подавать. Т.е. с большой вероятностью он советские ретрокомпы в цвете без pal-кодера может захватывать, если, конечно, поймет их синхру. Но чересчур дорогой, собака
Ну вот было бы занятно Вектор к нему подключить.
Обладатели реалов могут взять на заметку марку тюнера, вдруг найдут в пределах досягаемости его владельцев
---------- Post added at 21:33 ---------- Previous post was at 21:23 ----------
Кстати, я не помню, писал тебе или нет, здесь похвастаюсь - последняя версия PAL-кодера определяется как PAL и показывает в цвете на всех доступных мне телевизорах и тюнерах. Правда точную причину такого счастья не назову, т.к. имел неосторожность изменить сразу несколько вещей (да, нормальные исследователи так не делают). Мне хочется думать, что это из-за того, что я фазы поменял (сделал как в учебнике). В общем, если у кого pal в текущих версиях без цвета, могу подчистить и выложить новую
Конечно выкладывай, это же круто.
Эту версию я сильно загадил разнообразными экспериментами (PAL, "scart", разные варианты звука, в т.ч. на GPIO, видео и клавиатура на GPIO), прежде чем выкладывать исходник - надо почистить. Если у тебя есть устройство, не показывающее цвет в предыдущих версиях - я могу sof выслать. А если нет, то лучше торопиться не буду, со временем так или иначе доделаю
---------- Post added at 21:49 ---------- Previous post was at 21:45 ----------
Вот только что zebest напиcал, что этот кодер (в специалисте) у него на проекторе цвет не показывает, а speccy2010 - показывает. В общем надо еще дорабатывать
zebest еще может проверить и Вектор, проектор пока не отдаю, клиенты пару-тройку дней подождут, если скажите на чем лучше проверить. Давно загружал, чет была заморочка со чтением файлов с SD
---------- Post added at 19:14 ---------- Previous post was at 19:04 ----------
Цвет есть. Экран синенький в полосочку. Проектор определяет PAL. версия sof от 2011 года
Спасибо, но я в ближайшие дни вряд ли что-то в этом направлении буду делать. Сегодня уже не соображаю, завтра я не дома, потом надо бы по работе начинать делать. Тем более по работе опять пытаются запрягать с плисами (сначала думал, что в новом году отмазался), меньше фана заниматься ими еще и в качестве хобби
---------- Post added at 22:16 ---------- Previous post was at 22:15 ----------
Цвет есть. Экран синенький в полосочку. Проектор определяет PAL. версия sof от 2011 года
О! Избегайте подделок, используйте оригинальные кодеры svofski!
А если еще SW4=1 сделать?
---------- Post added at 22:44 ---------- Previous post was at 22:38 ----------
Я ведь чего так радовался - у меня предыдущие multy на тюнерах тоже неправильный цвет (без красного) показывали (если под псевдонтсц не подшаманить), а последняя версия и на тюнерах в цвете
А если еще SW4=1 сделать?
без изменений.
Причем проектор пишет - Система цвета PAL ( не MONO) . но цвета все-равно нет.
А в специалисте так и пишет - MONO/ ну кроме той старой версии, там PAL вроде пишет, но цвета нет, только вспышки поднесущей же)
Ради интереса попробовал "старую" 388ю ревизию на новом тюнере - со SW4=0 цвета нет, со SW4=1 ведет себя как multy, цвета без красного, как и на старом avere. Т.е. для меня свои нелицензионные версии лучше.
Пара картинок (http://imgur.com/a/ouJYW) с de1
YPbPr
http://i.imgur.com/qyrNvvd.png
RGB
http://i.imgur.com/WLn8hFP.png
Я уже и раньше видел на телевизоре, что для YPbPr 4х битного цапа маловато, но теперь еще и гистограммы можно посмотреть и убедиться. При 8мибитных видеоцапах и с YPbPr все отлично
В мультиверсии планирую убрать PAL и оставить VGA и YPbPr (возможно и RGB). Для de1 YPbPr будет 4х битный, для de2-115 и de1-soc 8ми битный
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot