Для реализации одного из наших проектов нам понадобилось найти способы наладить взаимодействие между «взрослыми» серверами, служащих для накопления и обработки больших массивов информации и нашим устройством с микроконтроллером «STM32», эту самую информацию собирающим. Одним из вопросов, возникающих при проектировании радиоэлектронных систем, является передача данных (например, первоначальных настроек) от сервера к контроллеру.
Метод передачи данных, разумеется, может разниться в зависимости от решаемой задачи. При больших объемах информации, возможно, будет предпочтительнее использовать какой-то бинарный протокол, возможно, даже с сжатием информации. В случае же, если объем передаваемой информации относительно небольшой, можно передавать данные в формате JSON. В плюсы такому методу можно записать как удобство интерпретации передаваемой информации «на глаз», так как это практически просто удобочитаемый текстовый поток, так и простоту обработки при помощи готовых библиотек.
Новогодние праздники благополучно миновали. И пришло время создать какой-нибудь проект для нашей платы VE-EP4CE10E. В этот раз повторим проект Breakout. Дизайн g31_breakout_game позволяет пользователю играть в версию Breakout, в которой игрок должен перемещать подвижную ракетку горизонтально, чтобы отправить мяч вверх и разбить цветные блоки. Игрок начинается с 5 жизней и теряет каждый раз, когда мяч попадает не возвращаться на ракетку. Когда все жизни потеряны, игрок проигрывает. Есть 7 уровней, которые игрок должен завершить, за разбитые блоки начисляются очки. Эта реализация имеет несколько улучшений по сравнению c оригиналом:
Дорогие друзья, мы рады вступить в новый год вместе с вами! Позвольте поздравить вас с этим замечательным праздником, пожелать здоровья, успехов и благополучия вам и вашим семьям. Чтобы в новом году были новые победы и свершения, исполнялись самые заветные желания. А мы и впредь будем помогать вам идти к своим целям, отдавая лучшее, что у нас есть. Искренне ваша Визуальная электроника.
В качестве новогоднего проекты мы создадим новогоднюю картинку, переливающуюся всеми цветами радуги. Для начала изменим код нашего преобразователя bmp to mif из проекта Частотомер с VGA выходом. В монохромном bmp файле 1 байт содержит 8 точек изображения, что вполне логично. Поэтому добавляем еще один цикл, перебирающий биты в байте:
Pipe Mania — компьютерная игра-головоломка, разработанная в 1989 году компанией The Assembly Line для Amiga. Она была портирована на несколько других платформ компанией LucasFilm под названием Pipe Dream. LucasFilm выступил в качестве генерального дистрибьютора игры в США. Задачей игрока является построение непрерывной трубопроводной сети на клетчатом поле из случайных сегментов труб за ограниченное время
Как вы уже догадались на замечательном сайте GitHub была обнаружена игра: Pipemania. Естественно она была незамедлительно портирована на нашу плату VE-EP4CE10E.
Кре́стики-но́лики — логическая игра между двумя противниками на квадратном поле 3 на 3 клетки или бо́льшего размера (вплоть до «бесконечного поля»). Один из игроков играет «крестиками», второй — «ноликами». В традиционной китайской игре (Гомоку) используются черные и белые камни.
На горячо любимом сайте GitHub была обнаружена замечательная игра: крестики-нолики. Специалистами Визуальной электроники она была портирована на нашу плату VE-XC6SLX9.
LatticeMico32 является 32-разрядным микропроцессором с soft core, разработанным Lattice Semiconductor и оптимизированным для программируемых вентильных матриц (FPGA). Он использует Гарвардскую архитектуру, что означает, что шины инструкции и данных являются отдельными. Логика арбитража шин может быть использована для объединения двух шин, при желании.
LatticeMico32 лицензируется по бесплатной лицензии. Это означает, что Mico32 не ограничивается ПЛИС Lattice, и может быть легально использован на любой хост-архитектуры (ПЛИС, asic или эмуляции программного обеспечения (например, в qemu)). Можно встроить LatticeMico32 ядра в ПЛИС xilinx и altera.