МАРСОХОД

Open Source Hardware Project

Проекты Altera Quartus Prime для платы Марсоход3

Новогодние слайды на плате Марсоход3bis

Продолжаю работать над проектом USB терминала в плате Марсоход3bis.

В принципе, уже есть какой-то результат: я могу через USB кабель, через FTDI в синхронном режиме с ноутбука загружать картинки в плату и отображать их на мониторе, подключенном к плате.

Оно у меня так еще неделю назад работало, но как-то не очень стабильно, да и очень сложно тогда получилось. Контроллер SDRAM, который я взял на opencores когда-то давно по умолчанию работает с 32-х бинтыми данными не зависимо от шины SDRAM. Видимо из-за того, что автор контроллера использовал его с wishbon bus. Мне же сейчас в этом проекте 32 бита данных не очень удобно. Я использую 16-ти битный видео режим high-color ( R5-G6-B5 ). Микросхема SDRAM у меня на плате Марсоход3bis одна и так же 16-ти битная. Пришлось немного исправлять контроллер.

Еще трудность с которой столкнулся - неудобство с burst mode. Я микросхему памяти программирую на пакетное чтение слов данных из памяти SDRAM, по 8 слов за один запрос на чтение. Burst mode / пакетная передача существенно повышает производительность памяти. Но на запись это не очень удобно. Вспомнил, что SDRAM можно запрограммировать в режим одиночной записи и пакетного чтения. Переделал проект и стало гораздо надежней и проще.

Ну и, конечно, сделал в Visual Studio программу, которая из командной строки берет имя файла изображения (bitmap или jpeg) и считывает и посылает на плату.

ПОлучилось прямо новогоднее настроение.

Весь проект можно взять на GitHub https://github.com/marsohod4you/UsbHwThinClient4Vm

Конечно, еще не все работает идеально. Запись пока работает не очень быстро - нужно разбираться почему. Может просто более длинными пакетами нужно писать в плату? Буду смотреть.

Еще проблемка - иногда на экране нет нет да и появится непрорисованная линия - где-то редко почему-то глючит запись. Нужно разбираться.

 

 

Комментарии  

+1 #9 Viktorr 18.03.2016 18:43
Вспомнил, что SDRAM можно запрограммирова ть в режим одиночной записи и пакетного чтения. Переделал проект и стало гораздо надежней и проще. Нельзя ли поподробнее описать данные которые вы переделали, какой максимальный пакет можно установить? Можете ли вы вернуться к описанию контролера sdram, а то приходиться по всему сайту собирать информацию, а результат не всегда какой хотелось, могли бы вы создать отдельную статью о том контролера который вы взяли с opencore?
+2 #8 nckm 16.01.2016 17:00
Цитирую николай77:
я к тому что... времена работы на одном компьютере вдвоем или по графику машинного времени давно прошли... зачем это реально нужно? чтоб сэкономить на цене компа...? ... сомнительная цель...

тут много всего.. во-первых, так получилось, что я все время как-то связан с работами по тонкому клиенту..
ну и потом - история развивается по спирали... вот будет доллар по 200 руб - и люди вспомнят про терминальные технологии :-), будут так или иначе опять использовать
+1 #7 victor 13.01.2016 22:17
Уважаемый nckm, очень хотелось бы с Вами пообщаться через Интернет. Как с Вами можно связаться? На сайте есть форум, но он не позволяет отправлять сообщения в личку. Очень хотелось бы Вам задать несколько вопросов по вычислительной технике. Это возможно или Вы сейчас заняты и Вам не до того?
+1 #6 николай77 11.01.2016 12:59
я к тому что... времена работы на одном компьютере вдвоем или по графику машинного времени давно прошли... зачем это реально нужно? чтоб сэкономить на цене компа...? ... сомнительная цель...
+1 #5 николай77 11.01.2016 12:54
Скажите какой практический смысл проекта USB терминала ?
+1 #4 alexx188 27.12.2015 00:53
Цитирую nckm:
Цитирую alexx188:
Контроллер памяти плохой. Советую посмотреть на контроллер от ORPSoC для de0-nano. В нем встроенный арбитер есть, кэш и другие плюшки.

ну честно говоря я и из этого-то контроллера думаю, как мне всякое лишнее повыбрасывать, всякие плюшки вроде регенерации, например.. да и вообще упростить можно.. как по мне - чем проще - тем надежней..


У вас уже был проек фреймбуфер - почему бы не использовать?

Еще один вопрос по разрешению: Если вы передаете картину без сжатия то получается, что для USB 2.0 максимальное разрешение 1024x768 (1024х768х2 байта х30 кад/с х8бит = 360Mbit/s) . Маловато по-моему.
+1 #3 nckm 26.12.2015 05:04
Цитирую alexx188:
Контроллер памяти плохой. Советую посмотреть на контроллер от ORPSoC для de0-nano. В нем встроенный арбитер есть, кэш и другие плюшки.

ну честно говоря я и из этого-то контроллера думаю, как мне всякое лишнее повыбрасывать, всякие плюшки вроде регенерации, например.. да и вообще упростить можно.. как по мне - чем проще - тем надежней..
+1 #2 alexx188 24.12.2015 10:32
Контроллер памяти плохой. Советую посмотреть на контроллер от ORPSoC для de0-nano. В нем встроенный арбитер есть, кэш и другие плюшки.
+1 #1 alman 23.12.2015 20:57
Для практических целей уже можно использовать - показывать презентации или рекламу. Хотя то же самое можно сделать с ноутбуком, если подключить телевизор к HDMI выходу.

Но для практический целей наверное лучше сделать две страницы - пока одна загружается, предыдущая отображается. Памяти для такого режима хватит?

Если при этом останутся свободные логические элементы, то можно сделать загрузку картинок через Ethernet. Или использовать свободные логические элементы для различных эффектов при переключении картинок.

Наверное если продавать Марсоходы не только студентам и энтузиастам, но и конечным потребителям, то можно на этом заработать.

Добавить комментарий


Защитный код
Обновить


GitHub YouTube Twitter
Вы здесь: Начало Проекты Проект Марсоход3 Новогодние слайды на плате Марсоход3bis