nabbla (nabbla1) wrote,
nabbla
nabbla1

Category:

Тонкий клиент на Циклоне

Несколько недель назад suvorow_ отдал мне очень интересную платку:

IMG20200717141622.jpg

В центре композиции ПЛИС Altera Cyclone EP1C6, сбоку стоит оперативная память SDRAM на 64 мегабайта, флэш-память Atmel на 4 мегабита, а для "загрузки" конфигурации в ПЛИС стоит ещё одна маленькая ПЛИС Altera MAX EPM3128 со встроенной ПЗУ.

Также из микросхем: контроллер Ethernet Realtek RTL8201 (в даташите он назван PHYCEIVER), который, похоже, вообще тупой как пробка - даже уровень MAC-адресов и пакетов нужно организовывать "извне".

Из разъёмов: питание 5 вольт, VGA для подключения монитора (ЦАП реализован на толпе резисторов), два разъёма PS/2 (для мыши и для клавиатуры), Ethernet и выход для наушников, причём специального "кодека" также нет, похоже, что просто одна ножка ПЛИС переключается на высокой частоте и сглаживается RC-цепочкой.

Штуковина даже работает:
IMG20200721014754.jpg


Информации о том, что это такое и "с чем его едят" очень мало. Фирму-производитель и короткое описание, похоже, нашёл:
https://www.parkytowers.me.uk/thin/QLXpro/

там описана очень похожая плата, но чуть новее, с добавлением USB. И ПЛИС там вдвое мощнее, EP1C12 вместо EP1C6, которая у меня.

Кроме того, удалось найти старое рекламное объявление, правда, основательно покоцанное при оцифровке:

QLX Pro Ministation Thin Client 

I Up to 30 Simultaneous Users On One PC 

Thin Clients are cheaper, quieter, easier to manage and more secure j 
than standard PCs. The idea is that the Thin Client has just enough |^ J i 
resources to connect to a PC server or workstation and draw the -^^ _ 
users screen over the network. It's cheaper to manage, because Ensy 
Thin Client hardware doesn't need to be updated anywhere near as setup, 
often as traditional desktop PC's - a typical PC has a usefui life of "JJ' 
around 1 year and is full of complicated parts that can faii. Thin Home 
Clients, on the other hand, are extremely simple devices with no pi- 
moving parts, and because ail the memory, processing power and |oft!lare 
storage comes from the server, looking after multiple desktop included 
machines has become an unnecessar/ expense. The average PC rno 
consumes around 400 watts compared with only 5 watts by the QLX 1 7 7 
Pro iviinistation. Connect up to 10 users with Windows 2000/XP and + vat 
up to 30 users with Windows Server* £115.32 

Inc VAT 

For More Information : Visitwww.qlxpro.com or Call 01702 512746


Тот факт, что к одному компьютеру на Windows 2000/XP предлагается подключить до 10 тонких клиентов, могло навести на мысль: тут используется не обычный Windows Remote Desktop, а что-то другое...

Базовый интерфейс (пока не подключился к "удалённому рабочему столу") весьма примитивен, и требует наличия и клавиатуры, и мыши, причём обе PS/2, здесь USB отсутствует как класс. Вот единственная PS/2 клавиатура, которую смог найти у себя дома:
IMG20200726233407.jpg

Вот только разъём у неё "пятиштырьковый":
IMG20200726230144.jpg

Ещё нашёл переходники из USB в PS/2. Всю жизнь думал, что там внутри стоит какая-то хитрая микросхемка, которая реально преобразует интерфейсы. Но suvorow_ меня просветил, что всё гораздо проще: четыре провода USB (общий, +5 и пара проводов данных) напрямую соединены с 4 проводами PS/2 (общий, +5, данные и "тактовая частота"), и всё хитрость в умном контроллере, сидящем в современных USB-клавиатурах и мышах, который догадывается, что его на самом деле воткнули в PS/2 - и начинает вести себя соответствующе!

Прозвонил - и убедился, что так оно и есть. Что удивило меня ещё больше: фиолетовый (для клавы) и зелёный (для мыши) переходники имеют полностью одинаковую цоколёвку, равно как и на материнках с двумя разноцветными разъёмами PS/2 цоколёвка совпадает. Видимо, только чуть позже, когда стали экономить место на устаревших разъёмах, поставили один "совмещённый" PS/2 (двухцветный), где задействованы все пины, и если купить "двойник", он как раз и скоммутирует одно из устройств на вакантные ножки.

Развинтил клавиатуру, чтобы к ней припаять хвостик от мыши - и немножко удивился, что внутри стоит очень древний 8-битный микроконтроллер:
IMG20200726235431.jpg

Почему-то думал, что клавиатура - вещь настолько дешёвая и массовая, что должны были специализированную микросхемку уже разработать, притом без корпуса, просто "кляксой" на плате. Ан нет, здесь ещё всё в выводном монтаже, ностальгия :) Надеюсь, замена 5-штырькового разъёма на PS/2 - не слишком сильной кощунство. Всё-таки на этой клавиатуре уже появились кнопки "винды", значит, особенной исторической ценности она не имеет.

В общем, припаял к ней хвостик от мыши - и она нормально заработала, включённая в этот "тонкий клиент".

IP-адрес он успешно получил, а вот подключиться никуда не смог. Просто отобразить "компьютеры рабочей группы" нельзя, нужно ручками создать подключение:
IMG20200717141614.jpg

Ввёл туда IP-адрес своего файл-сервера, вместе с логином и паролем, но ничего не вышло:
IMG20200729134414.jpg

Потом ещё и попросили некий серийный номер ввести:
IMG20200729134637.jpg

Похоже, UTMA расшифровывается как Ultra Thin Multiple Access и требует установки специального программного обеспечения на тот компьютер, который должен выступить "сервером": https://www.foxnetwork.ru/index.php/36-reviews/reviews/77--ncomputing-l300

Из-за того, что к этой платке больше никакой документации нет, а сайт производителя уже не работает, я как-то потерял интерес запустить её "по прямому назначению" - наверняка же там множество версий сервера, и с переходом на новую версию нужно качать обновления на тонкие клиенты (такая опция там есть, и она "железно" завязана на конкретный сайт), поэтому шансов запустить всё как положено не так уж много. Не говоря о том, что софт, судя по всему, дофига платный.

Дальше мысль пошла - как можно эту штуку приспособить под какие-нибудь свои нужды? Если глянуть на плату (фото в начале поста), в левом нижнем углу есть коннектор 2х5, похожий на JTAG. Я проследил, куда идут дорожки, оказалось, они действительно идут на выводы JTAG от МАЛЕНЬКОЙ ПЛИС MAX3128:
IMG20200717152331.jpg

И цоколёвка - о чудо - совпала с таковой у USB Blaster'а, главное его нужной стороной втыкнуть. Правда, плюс питания "болтается в воздухе" - он нужен, чтобы USB Blaster мог работать с огромным зоопарком разных чипов, начиная с 5-вольтовых и вплоть до более современных с периферией 2,5 вольта. Но я вычитал, что входы MAX3128 являются 5 volts - tolerant, и попробовал-таки подключиться:
IMG20200720141826.jpg

ДА! По крайней мере, эту маленькую ПЛИС можно перепрограммировать. У неё всего 128 "макроблоков". До конца не понял отличия макроблока от "логического элемента" в более новых ПЛИС. 1-битный регистр в нём ровно один, так что у нас в общей сложности 128 бит регистров, а вот комбинаторная логика, видимо, может быть чуточку сложнее, чем в ЛЭ, хотя точных правил я пока не понял.

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

Справа на плате есть ещё один нераспаяный разъём 2х5, у которого цоколёвка точь-в-точь повторяет таковую у JTAG, только "ножки данных" идут не на специальные выходы Altera MAX, а на её I/O. Я очень надеялся, что они прошили Altera MAX так, чтобы эти ножки "транзитом" шли на JTAG Циклона, чтобы и с ним можно было поиграться. Запаял туда недостающий разъём, подключаюсь - что-то не то...
IMG20200723145530.jpg

И прозвонка Циклона показала: его входы JTAG "висят в воздухе", увы... Подпаяться к ним очень тяжело, проще будет перепрошить Altera MAX, чтобы она позволяла конфигурировать Циклон какими-то другими способами. Как вариант, к этому правому разъёму подключить кардридер для MicroSD (по SPI) - и заставить прочитывать прошивку из файла, лежащего в корне, с определённым названием.

Не знаю, получится ли реализовать такую логику на 128 макроблоках. Не получится такую - можно наплевать на файловую систему и записывать прошивку в конкретный сегмент MicroSD, используя тот же HxD editor.

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

Но тот факт, что кто-то умудрился в 5980 ЛЭ и 92 килобита внутренней памяти ПЛИС упихать управление монитором, клавиатурой, мышкой, звуком и полный стек сетевых технологий, и всё это с 64 мегабайтами оперативки - несколько возвращает веру в человечество! Сейчас как-то уже привыкаешь, что на этот минимум уже нужна операционная система в 5..10 гигабайт в лучшем случае, и хотя бы 4 гига оперативы, а оно вон как, оказывается :) И кстати, этот Циклон даже слабее той отечественной ПЛИС 5576ХС4Т, которая сейчас у меня в макете. Так что послужит напоминанием: ДОЛЖЕН ВЛЕЗТЬ, задача-то пустяковая!
Tags: ПЛИС, программки, робот-мусорщик, странные девайсы
Subscribe

Recent Posts from This Journal

  • Великая Октябрьская резня бензопилой

    Сегодня прокатился прочистить Абрамцевскую просеку. Как обычно, с приключениями. Выезжал на велосипеде, а вернулся на самокате. Первый раз по этим…

  • Очередная несуразность в единицах измерения

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

  • Big Data, чтоб их... (3)

    "В предыдущих сериях": мой прибор выдаёт 6 значений: 3 координаты и 3 угла, т.е все 6 степеней свободы твёрдого тела. Причём ошибки измерения этих 6…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 13 comments

Recent Posts from This Journal

  • Великая Октябрьская резня бензопилой

    Сегодня прокатился прочистить Абрамцевскую просеку. Как обычно, с приключениями. Выезжал на велосипеде, а вернулся на самокате. Первый раз по этим…

  • Очередная несуразность в единицах измерения

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

  • Big Data, чтоб их... (3)

    "В предыдущих сериях": мой прибор выдаёт 6 значений: 3 координаты и 3 угла, т.е все 6 степеней свободы твёрдого тела. Причём ошибки измерения этих 6…