;)
  thinkIT.ru — первый IT-портал города  
 
 
Первый IT-портал города
 
 
Почта:
Пароль:
    Забыли пароль?
  • Звездные войны: Эпизод I 3D
  • Путешествие-2 3D
  • Значит, война
  • Код доступа «Кейптаун»
  • Такие разные близнецы
  • Хроника
  • На Байкал
  • На грани
  • Все любят китов
  • Одержимая
  • Ржевский против Наполеона 3D

Кино в Таганроге

 

Рубрика: blog!

5
Еще два примера

Еще два примера


Некоторые примеры использования универсальной платы Марсоход.

Автор: николай | Добавлено: 07 Июня, 2010 | Чуток комментариев | Просмотров: 1517
Почти наверняка читатели этого блога уже знакомы с таганрогским ИТ-проектом Марсоход. Для тех, кто слышит о нем впервые, сделаю небольшое вступление.
Проект "Марсоход" - это Open Source Hardware Project. Небольшая плата с чипом CPLD компании Altera, восемь светодиодов на ней, 4 кнопочки, два разъема для подключения (шаговых) двигателей, разъем для программирования - вот в общем и почти все.



Описание платы, ее схема и различные проекты, реализованные с ее помощью - все это опубликовано на сайте http://marsohod.org. Плату Марсоход можно использовать для создания небольших устройств автоматики и разных ИТ- игрушек,  для изучения основ цифровой техники и программирования.
Меня часто спрашивают: «Зачем все это? Ведь есть же микроконтроллеры! Для разных поделок есть плата Arduino!» Все это верно. Действительно микроконтроллеры для многих задач подходят просто отлично. Мы же предлагаем несколько «иной путь». Использование микросхем CPLD и FPGA дает дополнительные возможности, зачастую недоступные микроконтроллерам. В этой статье я хочу привести два интересных примера использования платы Марсоход.

Пример первый. Микроконтроллер.

Меня так часто спрашивали «какой микроконтроллер» стоит на плате Марсоход, что я уже честно устал объяснять, что на нашей плате стоит ПЛИС, а не микроконтроллер. С другой стороны это натолкнуло меня на мысль, что раз людям хочется иметь микроконтроллер, значит нужно его им дать! Вся прелесть ПЛИС состоит в том, что у нас имеется «абсолютная свобода». Если нужен процессор, значит его можно сделать. Вы когда нибудь задумывались о том, чтобы сделать «свой процессор»? Конечно, сейчас я не собираюсь конкурировать с Интел (ну может чуть позже, не сейчас :-).
Сейчас я хочу рассказать про «проект за 2 дня» - реализация микроконтроллера на плате Марсоход. Самое главное решить, какую систему команд реализовывать. Можно сделать все с нуля, тогда придется еще делать как минимум «ассемблер». Второй вариант -опереться на известную архитектуру и реализовать хотя бы ее часть. Я пошел по второму пути и сделал «ReducedAVR».

Места в нашем чипе не очень много, поэтому я реализовал только 17 команд широко известного восьмиразрядного микропроцессора AVR: ADD, SUB, AND, EOR, OR, MOV, CP, LSR, SUBI, ANDI, ORI, CPI, LDI, BREQ, BRNE, BRCS, BRCС.
Несмотря на то, что и команд и регистров в моем микроконтроллере получилось не много, все равно, для него вполне можно писать настоящие программы. Я для написания тестовой программы использовал Atmel AVR Studio – ведь мой микроконтроллер – это почти настоящий AVR!
Более подробное описание моего микроконтроллера, а так же его исходный текст на языке Verilog, можно взять, как обычно, на нашем сайте: http://www.marsohod.org/index.php/projects/66-makeavr
Там же есть демонстрационное видео.

Итак, подведем первый итог:
1)    В ПЛИС можно реализовать микропроцессор;
2)    Из ПЛИС можно сделать микроконтроллер, а вот из микроконтроллера сделать ПЛИС – никогда!
3)    Вы сами можете выбрать себе нужную систему команд (хоть AVR, хоть PIC) и реализовать ее, а при желании даже расширить набор инструкций или вообще сделать свой CPU c нуля;
4)    Реализованный в ПЛИС микроконтроллер может быть тесно объединен с другими аппаратными блоками в той же ПЛИС.


Пример второй. Тестер. Помощник администратора локальных сетей.

Вот уж чего точно нельзя сделать с помощью микроконтроллера, так это тестер разъема UTP на кабеле. Вещь очень полезная для администраторов локальных сетей. Если Вы занимаетесь прокладкой сетевого кабеля, обжимом разъемов, поиском неисправностей в локальных сетях, то эта штука для Вас. И сделать ее можно из платы Марсоход.



Аналогов НЕТ!
К плате Марсоход дополнительно подключена «дочерняя платка» с разъемом для UTP кабеля. Для проверки имеющегося или только что обжатого кабеля нужно воткнуть его разъем в разъем тестера. Если загорелись все восемь светодиодов на плате, то все нормально, разъем в порядке. А вот если какая-то витая пара имеет плохой контакт в разъеме или короткое замыкание поблизости, то соответствующие светодиоды на плате не горят.
Наш тестер – это не устройство для прозвона кабеля от начала до конца. Тестируется только один конец кабеля, разъем и его окрестности до полутора метров (все что за этой дистанцией никак не влияет на результаты измерений). Метр-полтора от разъема – это как раз самый уязвимый участок кабельной системы. Именно разъем зачастую является источником проблем.
Как это работает? Ну, посылается тестовый импульс в кабель, измеряется отклик в нужный момент времени... Подробнее опять же на нашем сайте: http://www.marsohod.org/index.php/projects/68-utptester. Там же весь проект с исходниками, пояснения и демонстрационное видео.
Мы даже думаем, не сделать ли такое устройство в виде брелка? Это был бы отличный ИТ-шный подарок!

Вывод: микросхемы ПЛИС – отличное начало для реализации новых идей. Плата Марсоход – хорошая помощь для начинающих и опытных разработчиков.
 
Удачи!

Комментарии:

Dan Dan | 07 Июня 2010 13:30ссылка сюда
Круто! Вы сделали это! (Микроконтроллер)
Вы только на thinkIT пишете о своих работах, или еще где-то пиарите "Марсоход"? Ведь проект может быть интересен многим, не только Таганрожцам.
it_3.0 it_3.0 | 07 Июня 2010 16:11ссылка сюда
Николай, Вы все больше и больше интригуете своими платами )

Скажите, на такой ПЛИС получится организовать таймер? Чтобы это все использовать мне еще нужно купить программатор, если да, то сколько он стоит? Можно ли к плате каким-нибудь образом добавить элементы управления (аналоговые, например, переменный резистор)?
николай николай | 07 Июня 2010 16:19ссылка сюдаответ на
а что за таймер Вам нужен? для каких целей? напишите подробнее и мы это сделаем!
it_3.0 it_3.0 | 07 Июня 2010 16:24ссылка сюдаответ на
таймер который сможет учитывать текущее время суток, чтобы, например, днем, с промежутком в несколько часов, включать на определенное время двигатель который будет рыбкам корм насыпать? И для тех же целей интересует возможность подключения дополнительных устройств для управления параметрами всего устройства.
Шапокляк Шапокляк | 07 Июня 2010 22:26ссылка сюдаответ на
светодиодики для аквариума мы уже покупали, платы нам еще не хватает :)))
Авторизуйтесь чтобы не быть Серой Анонимностью!

 

Играть в тетрис бесплатно он-лайн, без регистраций и смс =)






Время играть в тетрис!

Играть в тетрис проще простого. Жмем на иконку и вперед.


Найди нас везде!

Теперь ты можешь найти нас во всех популярных социальных сетях. Читай thinkit.ru где тебе удобно!


Банкоматы Таганрога

Теперь ты сможешь легко узнать, где именно находится ближайший банкомат.

 

 
  CreativeCUBE - разработка и поддержка сайтовПроизводство и поддержка сайтов
cCube.ru
  При воровстве с этого сайта ссылка обязательна.
Copyright © 2008-2012 thinkit.ru
Связаться с нами