<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Статьи]]></title>
    <link>https://habr.com/ru/users/oleh_plotnikov/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя oleh_plotnikov]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sun, 23 Aug 2026 17:16:41 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    
    <item>
      <title><![CDATA[Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 3]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/329854/</guid>
      <link>https://habr.com/ru/articles/329854/?utm_campaign=329854&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[В первой части я описал на примере <a href="http://store.digilentinc.com/cmod-a7-breadboardable-artix-7-fpga-module">cmoda7</a> как портировать MIPSfpga (<a href="https://habrahabr.ru/post/329808/">Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 1</a>) на FPGA платы отличные от уже портированых среди которых такие популярные как: basys3, nexys4, nexys4_ddr фирмы Xilinx, а так же de0, de0_cv, de0_nano, de1, DE1, de10_lite, de2_115, DE2-115 фирмы Altera(Intel), во второй части как интегрировать клавиатуру <a href="http://store.digilentinc.com/pmod-kypd-16-button-keypad/">Pmod KYPD</a> (<a href="https://habrahabr.ru/post/329852/">Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 2</a>).<br/>
<br/>
В этой части добавим к MIPSfpga-plus встроенный АЦП, и популярный LCD от Nokia 5100.<br/>
С предыдущих частей можно сделать вывод, что интеграция периферии в MIPSFPGA состоит из пять основных этапов:<br/>
<ul>
<li>Добавление модуля интерфейса общения с периферией (i2c, spi, и т.д.).</li>
<li>Соединение входных/выходных портов модуля с шиной AHB-Lite.</li>
<li>Присваивание адресов сигналов подключаемого устройства.</li>
<li>Добавление констрейнов на физические контакты платы.</li>
<li>Написание программы для MIPS процессора.</li>
</ul><br/>
<br/>
<b><h3>Подключение встроенного в cmoda7 АЦП</h3></b><br/>
<img src="https://habrastorage.org/web/061/11e/9ed/06111e9ed96546418478e21e15cdd696.JPG"/><br/>
Как я уже говорил плата cmodA7 имеет встроенный АЦП, pin 15 и 16 используются в качестве аналоговых входов модуля FPGA. Диапазон работы встроенного АЦП от 0-1V, поэтому используется внешняя схема для увеличения входного напряжения до 3.3V. <br/>
<img src="https://habrastorage.org/web/163/30f/a8d/16330fa8d024420687eb1392e7ad03c2.png"/><br/>
<br/>
Эта схема позволяет модулю XACD точно измерить любое напряжение от 0 В и 3,3 В (по отношению к GND). Чтобы работать с АЦП в Vivado существует блок IP (интеллектуальной собственности) Xilinx, с помощью которого можно будет просто его интегрировать в нашу систему MIPSfpga.<br/>
 <a href="https://habr.com/ru/articles/329854/?utm_campaign=329854&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut"></a>]]></description>
      
      <pubDate>Wed, 31 May 2017 03:55:47 GMT</pubDate>
      <dc:creator><![CDATA[oleh_plotnikov]]></dc:creator>
      <category><![CDATA[FPGA]]></category><category><![CDATA[Анализ и проектирование систем]]></category><category><![CDATA[Параллельное программирование]]></category><category><![CDATA[Программирование микроконтроллеров]]></category>
      <category><![CDATA[плис]]></category><category><![CDATA[fpga]]></category><category><![CDATA[mips]]></category><category><![CDATA[verilog]]></category><category><![CDATA[vhdl]]></category><category><![CDATA[altera]]></category><category><![CDATA[xilinx]]></category><category><![CDATA[uart]]></category><category><![CDATA[spi]]></category><category><![CDATA[imagination technologies]]></category><category><![CDATA[mips microaptiv UP]]></category><category><![CDATA[mipsfpga]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 2]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/329852/</guid>
      <link>https://habr.com/ru/articles/329852/?utm_campaign=329852&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[MIPSfpga микропроцессор MIPS32 microAptiv описаный на языке Verilog для образовательных целей фирмы Imagination, который имеет кэш-память и блок управления памятью. Код процессора доступен пользователю (<a href="http://www.silicon-russia.com/2015/12/11/mipsfpga-download-instructions/">инструкция по скачиванию</a>) и может использоваться для моделирования и реализации процессора на FPGA плате.<br/>
<br/>
Данная статья является продолжением статьи о том <a href="https://habrahabr.ru/post/329808/">как портировать MIPSfpga-plus на другие платы</a>, и в ней будет описано как интегрировать периферию в систему MIPSfpga-plus на примере 16 кнопочной клавиатуры Digillent Pmod KYPD:<br/>
<br/>
<img src="https://habrastorage.org/web/987/724/9b2/9877249b202e4c3ba61b012379e10c79.JPG"/><br/>
<br/>
Подключение клавиатуры к процессору позволит пользователю общаться с ним. В общем 16 кнопочные клавиатуры бывают в различных представлениях, но реализация и принцип работы у них одинаковый. Поэтому, по даному примеру можно интегрировать и схожие клавиатуры.<br/>
<br/>
Интеграция встроенного в плату АЦП, а так же подключения дисплея от Nokia 5100 описана в следующей части моего tutorial:<br/>
<br/>
<a href="https://habrahabr.ru/post/329854/">Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 3</a><br/>
<br/>
Так же о том как начать работать с MIPSfpga написано в <a href="https://habrahabr.ru/post/275215/">статье</a>.<br/>
 <a href="https://habr.com/ru/articles/329852/?utm_campaign=329852&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut"></a>]]></description>
      
      <pubDate>Wed, 31 May 2017 03:39:33 GMT</pubDate>
      <dc:creator><![CDATA[oleh_plotnikov]]></dc:creator>
      <category><![CDATA[FPGA]]></category><category><![CDATA[Анализ и проектирование систем]]></category><category><![CDATA[Программирование микроконтроллеров]]></category>
      <category><![CDATA[плис]]></category><category><![CDATA[fpga]]></category><category><![CDATA[mips]]></category><category><![CDATA[verilog]]></category><category><![CDATA[vhdl]]></category><category><![CDATA[altera]]></category><category><![CDATA[xilinx]]></category><category><![CDATA[uart]]></category><category><![CDATA[spi]]></category><category><![CDATA[imagination technologies]]></category><category><![CDATA[mips microaptiv UP]]></category><category><![CDATA[mipsfpga]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 1]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/329808/</guid>
      <link>https://habr.com/ru/articles/329808/?utm_campaign=329808&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[MIPSfpga представляет собой предназначенный для образовательных целей микропроцессор MIPS32 microAptiv фирмы Imagination, который имеет кэш-память и блок управления памятью. Код процессора на языке Verilog доступен пользователю и может использоваться для моделирования и реализации процессора на FPGA плате. <br/>
<br/>
В даной статье будет описано на примере Digilent cmodA7 как портировать процессор MIPSfpga-plus на другие платы.<br/>
<br/>
<img src="https://habrastorage.org/web/2e8/3b4/cc1/2e83b4cc177149f6ba7f5afc2640e63f.JPG"/><br/>
<br/>
На сегодняшний день MIPSFPGA портирован на популярные платы таких фирм как ALTERA и Xilinx, среди них Basys 3, Nexys4 ddr, и другие (полный список находится на <a href="https://github.com/MIPSfpga/mipsfpga-plus">github</a>). Такие платы наиболее популярны среди разработчиков на FPGA. Цена на такие платы довольно не маленькая, да и загружаются программы в ядро MIPSfpga с использованием интерфейса EJTAG и адаптера Bus Blaster ценой около 50$. Адаптер Bus Blaster получает команды по высокоскоростному кабелю USB 2.0 и преобразует их в последовательный протокол EJTAG, это позволяет загружать программы в ядро MIPSfpga и управлять отладкой программ, которые на нем выполняются. Проблема с относительно дорогим Bus Blaster была решена введением в систему MIPSfpga ряда улучшений. Улучшеный вариант системи MIPSfpga, названый MIPSfpga-plus включает в себя такие новые функции:<br/>
<br/>
 — Возможность загрузки программного обеспечения с использованием USB-to-UART коннектора ценой в $ 5 FTDI вместо $ 50 Bus Blaster, который иногда не так уж и легко достать.<br/>
<br/>
 — Возможность изменять тактовую частоту на лету с 50 или 25 МГц до 1 Гц (один цикл в секунду) для наблюдения за работой процессора в режиме реального времени, включая промахи в кэш-памяти и перенаправления конвеера.<br/>
<br/>
 — Пример интеграции датчика освещенности с протоколом SPI.<br/>
<br/>
 — Небольшая последовательность инициализации программного обеспечения, которая вписывается в 1 КБ вместо 32 КБ памяти, что позволяет переносить MIPSfpga на более широкий выбор плат FPGA без использования внешней памяти. Реализация UART описана в статье: <a href="https://habrahabr.ru/post/325168/">MIPSfpga и UART</a>.<br/>
 <a href="https://habr.com/ru/articles/329808/?utm_campaign=329808&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut"></a>]]></description>
      
      <pubDate>Tue, 30 May 2017 13:19:48 GMT</pubDate>
      <dc:creator><![CDATA[oleh_plotnikov]]></dc:creator>
      <category><![CDATA[FPGA]]></category><category><![CDATA[Анализ и проектирование систем]]></category><category><![CDATA[Программирование микроконтроллеров]]></category>
      <category><![CDATA[плис]]></category><category><![CDATA[fpga]]></category><category><![CDATA[mips]]></category><category><![CDATA[verilog]]></category><category><![CDATA[vhdl]]></category><category><![CDATA[altera]]></category><category><![CDATA[xilinx]]></category><category><![CDATA[uart]]></category><category><![CDATA[spi]]></category><category><![CDATA[imagination technologies]]></category><category><![CDATA[mips microaptiv UP]]></category><category><![CDATA[mipsfpga]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
