Я новичок во встраиваемой разработке, но некоторое время интересовался этой областью. Я думаю, что это достаточно близко к программированию; и я видел достаточно людей, которые демонстрируют знания в этой области, поэтому я спрошу здесь.
Я решил, что классным проектом, который охватит множество различных областей программирования и аппаратного обеспечения, будет разработка KVM на основе цифровых ЛВС. Моя конечная игра состоит в том, чтобы иметь несколько «блоков», которые содержат много (я думал 4-8) VGA и PS / 2 парных гнездовых портов и один порт Ethernet. Вы должны подключить устройство к локальной сети и к компьютерам, а затем получить к нему доступ с помощью программного обеспечения, работающего на других клиентах на базе Windows в сети. Каждый блок будет иметь свой собственный IP, но отвечать на какой-то пакет широковещательной рассылки, чтобы у каждого клиента был полный список всех компьютеров, подключенных к каждому блоку. Как вы можете догадаться, я не слишком разбираюсь в сетевом программировании (еще одна причина, по которой я выбрал этот проект).
Моя первоначальная идея состояла в том, чтобы каждый блок содержал три микропроцессора. Один (который имеет много аналоговых портов ввода / вывода) будет взаимодействовать с VGA и PS / 2 I / O. Это преобразовало бы VGA в какой-то цифровой пакет, который был бы отправлен (IC2 / USB / что угодно) на второй процессор. Он также получил бы цифровую упаковку от второго процессора, содержащую ввод от мыши / клавиатуры, отправленный от клиента. Затем он преобразовал бы это в аналоговый выход и отправил бы их через порты PS / 2.
Второй процессор получает выходные данные VGA от каждого активного компьютера, объединяет их в одно изображение и сжимает с использованием сжатия JPEG. Теперь сжатое изображение будет отправлено на третий процессор.
Третий процессор будет отслеживать все активные клиенты и взаимодействовать с картой Ethernet. Он отправит сжатый вывод на монитор нужным клиентам, а также получит ввод с клавиатуры / мыши, который будет отправлен на второй процессор.
Это первый встроенный проект, о котором я когда-либо задумывался. У меня есть следующие вопросы. Примечание: меня больше интересует, как вы пришли к ответу, чем сам ответ. Это опыт обучения больше всего на свете. Хотя я работаю в ремонтно-технической мастерской, у которой текущий аналоговый KVM выходит из строя и у меня недостаточно портов для того количества машин, которое у нас постоянно на стенде; так что, если я смогу сделать это достаточно дешево, это может быть полезно.
Вопрос 1:
Мой нынешний план совершенно идиотский? Думаю я о проблеме?
Вопрос 2:
Насколько быстрым должен быть каждый процессор? Первым будет преобразование возможного
165 888 000 байт (1440 * 900 * 32 * 4) (максимальное разрешение, которое я хочу поддерживать, максимальное время, умноженное на 4 компьютера)
Это примерно 158 МБ. На какой скорости должен работать процессор, чтобы обрабатывать такое количество данных 30 раз в секунду?
Затем то же самое относится ко второму процессору, который должен сжимать 158 МБ пикселей в JEPG. Процессор локальной сети должен был бы работать намного меньше из-за сжатия.
Вопрос 3:
Куда мне обратиться, чтобы получить оборудование, необходимое для его сборки? Что касается микропроцессоров, у них должен быть доступен компилятор Си. Я думаю, что мог бы сойти с ума, написав сжатый JPEG в ASM.
В основном я застрял. Трудно, если не невозможно, найти достаточно ресурсов в сети, чтобы начать в этой области; так что мне интересно, может ли кто-нибудь здесь указать мне правильное направление.
Кроме того, я довольно ограничен в своих знаниях в области электроники.
EDIT
Я не понимаю, почему этот вопрос был отклонен. На мой взгляд, этот вопрос может дать ответы, которые могут помочь программистам войти во встроенную разработку. У меня есть идея, и я знаю, как процессоры и память работают достаточно хорошо для кодирования. Однако в моих знаниях существует разрыв между знанием этого и способностью внедрять свои собственные устройства. Это было бы полезно для тех, кто находится в моем положении.