Изучаем САПР Altera Quartus II / Intel Quartus Prime, язык описания аппаратуры Verilog HDL и кое-что про VHDL. Программируем FPGA Altera / Intel Cyclone III, Cyclone IV, MAX II, MAX10. Экспериментируем с платами разработчика FPGA серии Марсоход, Марсоход2, Марсоход3. А еще разбираемся с FPGA Gowin.
Участник нашего форума Nepston просит помочь реализовать небольшой проект на FPGA Cyclone III. Собственно FPGA стоит на девелопер ките Альтеры Cyclone III FPGA Development Kit.
В самом начале задача стояла вот так: с компьютера передать два числа на плату через USB, там сложить их и передать обратно на ПК. Конечно, это только подготовительный этап к какой-то другой работе - видимо на плате будут отрабатываться сложные алгоритмы и нужно подавать им входные данные и читать выходные. Ну второй этап не начать без первого.
Скажу честно, мне сразу показалось, что задача легкая. Однако почитав описание на имеющуюся у Nepston-а плату как-то энтузиазма поубавилось. Все это действительно довольно странно. Плата девелопер кита вроде бы хорошая:
У нее много возможностей: и большой емкий чип FPGA, и куча интерфейсов: ethernet, flash, graphics, character display, DDR, и т.д. Даже USB интерфейса вроде бы два: есть микросхема FTDI и есть микросхема Cypress. Однако при ближайшем рассмотрении оказалось, что не все так радужно. Простого решения как бы и нет...
Хочу обрадовать жаждущих приобрести наш замечательный программатор MBFTDI. Наконец-то изготовлена очередная коммерческая партия. Условия его приобретения здесь - в интернет магазине
Драйвер для интеграции с квартусом находится в стадии написания, и, я надеюсь, выйдет через некоторое время. Кому очень не терпится, или, кроме прошивки чипов необходимо использовать какие-нибудь средства отладки, временно(!), и только под виндовс, можно использовать драйвер стороннего производителя. Подробнее по почте e-mail: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..
Выбор чипа для фреймбуфера фоторамки оказался не простым. Изначально был соблазн использовать статическое ОЗУ. Оно имеет очень простой интерфейс - данные, адреса, и, практически один управляющий сигнал - "разрешение записи" (WE). Могут быть еще какие- нибудь управляющие сигналы, типа CS и/или OE, но при использовании всего одного чипа они не нужны. Но, после продолжительных поисков в компьютерном хламе и изучения множества даташитов, ничего подходящего найти не удалось - либо недостаточный объем, слабое быстродействие или +5В питание.
Описанный в предыдущей статье параллельный интерфейс чаще всего бывает у панелей небольшого размера, до 7-10 дюймов. У панелей большего размера значительное распространение получил другой, более сложный интерфейс, называемый "в народе" - "LVDS". Хочу отметить, что под этим обычно подразумевают не только способ электрического подключения (при помощи дифференциальных сигналов), но и простенький протокол, в совокупности, я бы назвал это "методом". Он называется FPD-Link. Изначально FPD-Link использовался в ноутбуках, а сейчас таким методом подключают панели даже в больших плоских телевизорах.
Небольшое лирическое отступление. Мой первый опыт работы с такими панелями был довольно давно, в году, эдак , 2004. Тогда в магазинах еще не было плоских телевизоров и фоторамок, плоские мониторы только появлялись, а TFT-панели были, в основном, на ноутбуках. Ноутбуки , в свою очередь, имеют свойство ломаться, и мне было жалко выбрасывать панель от сломанного ноутбука, и я сделал из нее часики. Даже сохранилось видео того года:
Подробнее...