FPGA chips

Изучаем САПР Altera Quartus II / Intel Quartus Prime, язык описания аппаратуры Verilog HDL и кое-что про VHDL. Программируем FPGA Altera / Intel Cyclone III, Cyclone IV, MAX II, MAX10. Экспериментируем с платами разработчика  FPGA серии Марсоход, Марсоход2, Марсоход3. А еще разбираемся с FPGA Gowin.


Сегодня я хочу рассказать о программе Scratch.
Scratch – это совершенно уникальная среда программирования для детей. Или правильнее сказать – среда для обучения программированию. Какому языку программирования она учит? Языку Scratch!
Язык программирования Scratch
И, конечно, наберитесь терпения, в конце концов вы узнаете, какая может быть связь между программой Scratch и платой Марсоход.

Измерение зависимости частоты генератора платы Марсоход от напряжения питания и температуры

Наш чип на плате Марсоход EPM240T100C5 имеет встроенный генератор, но, к сожалению, не очень понятно с основным его параметром - частотой внутреннего генератора. Вот что сказано в документации к микросхеме (

):

Частота внутреннего генератора микросхемы EPM240T100C5
После того как в нашем арсенале появился  замечательный приборчик - частотомер, мы решили выяснить истину в этом вопросе.

Частотомер из платы Марсоход

Давно хотел начать разговор про цифро-аналоговое и аналого-цифровое
преобразование, но данная статья не об этом. В кратце только скажу, что одним из самых доступных для нас методов построения АЦП - промежуточное преобразование измеряемого параметра в частоту. Таким методом мы уже пытались измерять емкость конденсатора в статье "Генератор".  Для облегчения подобных экспериментов, было решено сделать специальный прибор, позволяющий измерять  частоту.

Я уже писал кое-что про USB. 

usbplug

Тема эта очень сложная, но с другой стороны очень полезная и нужная. У меня одна статья была про USB протокол вообще, а вторая – это был уже первый проект USB для платы Марсоход.  Хорошо бы, чтоб Вы сперва прочитали те статьи. Тогда и эту будет легче понять. К сожалению в том первом проекте не все было сделано достаточно хорошо, и вот, потратив еще немного времени, мы выпускаем следующую версию проекта низкоскоростного устройства USB для нашей платы Марсоход.
Что было улучшено?

  • Десктипторы и всякие другие пакеты раньше кодировались в логике, а теперь перенесены в UFM (User Flash Memory) чипа. Это позволило освободить немного места в чипе и сделать дескрипторы «длиннее и осмысленней».
  • Теперь мы предлагаем Windows драйвер для нашего устройства!
  • Теперь устройство должно правильно распознавать назначение USB адреса, а значит, может работать через USB хабы без конфликтов с другими устройствими.
  • Были исправлены ошибки связанные с «bit stuffing»
  • Теперь в наше устройство можно не только писать, но и можно читать из него!

Итак, попробую описать мой проект.

У нас уже было несколько проектов для платы Марсоход, когда мы подключали ее к ПК. Это были интерфейсы USB, PS/2, Ethernet. Теперь я подумал: "А почему бы не подключить нашу плату по последовательному порту RS232?".

Последовательный интерфейс, конечно, довольно старый и довольно примитивный, но, как ни странно, не собирается уходить со сцены. Даже когда настольные ПК и ноутбуки стали выпускаться без разъемов последовательных портов тут же появились в продаже шнуры USB-to-Serial. Они по прежнему позволяют подключать устройства по последовательному интерфейсу.

В чем же такая привлекательность этого интерфейса? Главные преимущества - это простота реализации в аппаратуре и простота программирования. Даже повсеместный USB несомненно проигрывает по этим критериям.

Итак, мы решили подключить плату Марсоход к персональному компьютеру по последовательному интерфейсу. Что нам нужно знать для этого?