МАРСОХОД

Open Source Hardware Project

FPGA & CPLD Блогchips

САПР Altera Quartus II / Quartus Prime, язык Verilog HDL, ПЛИС Cyclone III, Cyclone IV, MAX II, MAX10.
Платы разработчика серии Марсоход, Марсоход2, Марсоход3.


Копирование экрана виртуальной машины на терминал USBTerm



Только что прошел еще один очень важный этап в своем проекте USBTerm.

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

Как работает видеоадаптер проекта USBTerm

Хочу поподробнее рассказать, как работает видеодаптер, используемый в проекте USBTerm.

Мы уже не раз писали про всякие видеоконтроллеры на нашем сайте, вот хотя бы некоторые из статей:

Здесь же, в этой статье, я хочу сделать акцент на расчет пропускной способности и согласования записи и чтения в видеопамяти.

Итак, видеорежим.
Я делаю, так называемый HD-Ready: 1280x720 60Hz, 16 бит на пиксел, выход HDMI платы Марсоход3.
Выбор этого режима не случаен. Этот режим поддерживается большинством современных телевизоров и мониторов и у него не такие уж и высокие частоты. Спецификацию беру из VESA стандарта:

vesa

Тактовая частота для вывода пикселов 74,250 МГц. Это в общем-то не очень высокая частота для ПЛИС, но поскольку пикселы будут кодироваться для HDMI в сигналы TMDS (Transition-Minimized Differential Signaling), то выходная частота будет уже в 5 раз выше, то есть 370 МГц - это уже довольно много.

Передача видео кадров в плату Марсоход3


Вот закончил очередной этап моего проекта USBTerm. На этом видео показано, как видеофайл декодируется на ноутбуке c с помощью программы FFMPEG, а отображается на плате Марсоход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

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

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

 

 

Покупайте платы Марсоход3 и Марсоход3bis!

Реклама платы Марсоход3

Покупайте наши платы Марсоход3 и Марсоход3bis!!!

Теперь у нас есть много печатных плат и есть чипы Altera MAX10 - так что производство разворачивается и расширяется.

Подробнее о платах можно почитать вот здесь.

Сделать заказ можно в нашем интернет магазине. Спешите оформить заказ: к сожалению, в новом году возможно повышение цены на платы (сами знаете почему)...

 


GitHub YouTube Twitter
Вы здесь: Начало