МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2

ТЕМА: Связь MAX II с микроконтроллером

Связь MAX II с микроконтроллером 7 года 6 мес. назад #337

  • marat-ab
  • marat-ab аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 14
  • Спасибо получено: 0
Добрый день!
Может я не совсем внимательно смотрел, но среди проектов я не нашёл такого, где Марсоход работает с микроконтроллером.
Задача стоит примерно следующая: По определённой команде (может от ПК или от кнопки, не важно) МК записывает в UFM МAX II информацию. По другой команде МК даёт сигнал MAX II для старта. MAX II при старте первым делом смотрит в UFM, нужным образом настраивается и начинает работу.
Вопрос: как наилучшим образом организовать связь МК и MAX II?
По идее наверное лучше всего подойдёт SPI. Идея была такая: создать два блока ALTUFM, один с доступом по SPI, второй по PARALLEL. (SPI смотрит из ПЛИС наружу, а параллельный используется для внутренних нужд (это критично, нужно чтобы он был параллельный)) НО! два таких блока не похоже не могут находится в одном проекте.
Тогда появился следующий вариант: в ПЛИС сделать мост SPI<->PARALLEL и подключить к ALTUFM_parallel и вывести сигнал nwrite от МК к ПЛИС. Параллельно мосту к ALTUFM_parallel подцепить другую шину, через которую можно читать данные из UFM.
Опыта связи МК и ПЛИС у меня нет.
Есть ли какие-либо отработанные решения таких задач?
:)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #348

Не получиться так как вы хотите по простому определить один и тот же блок в последовательный и параллельный флеш. Надо бы конкретней понять задачу. Для чего нужен UFM и для каких целей нужен мост к нему от МК.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #366

  • marat-ab
  • marat-ab аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 14
  • Спасибо получено: 0
Спасибо за ответ!
Более детальное изучение задачи показало: UFM не нужно использовать. (В ней должна была лежать таблица данных на 8192 бита).
Решено использовать внешнюю RAM на такой же объём. Теперь возник вопрос по выбору RAM и совместной работе микроконтроллера и ПЛИС с этой памятью.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #367

И все таки нельзя ли более подробно раскрыть устройство которое Вы пытаетесь сделать. В соседней ветке Юрий уже давал советы относительно внешнего RAM каким он должен быть и как его прежде всего совместить по уровню сигналов с MAXII. Там же есть проект в котором я тестировал возможность использования внешнего RAM и размещал там содержимое UFM. С микроконтроллером проще, AVR например питается в широком диапазоне напряжений и легко может быть задействован совместно с MAXII при том же питании до 4.6В. Однако как говорит Юрий :) в ПЛИС все должно быть органично возможно для Ваших целей сгодиться использовать либо редуцированный AVR (Николай демонстрировал такой Reduced AVR ) либо конечный автомат.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от digitalinvitro.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #368

  • marat-ab
  • marat-ab аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 14
  • Спасибо получено: 0

digitalinvitro пишет: И все таки нельзя ли более подробно раскрыть устройство которое Вы пытаетесь сделать.

Конечно можно :) ! Генератор сигналов произвольной формы))

digitalinvitro пишет: В соседней ветке Юрий уже давал советы относительно внешнего RAM каким он должен быть и как его прежде всего совместить по уровню сигналов с MAXII.

Да, очень интересно. Уже начал потихоньку знакомиться.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #369

marat-ab пишет: Генератор сигналов произвольной формы))


Значит будет ШИМ или DAC?

Все таки давайте проанализуруем для каких целей будет использован MCU (микроконтроллер)? Если можно давайте в виде последовательных пунктов. Рассмотрим с Вами возможность использования "самопального" МК, либо автомата?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #370

  • marat-ab
  • marat-ab аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 14
  • Спасибо получено: 0
Будет DAC!
Микроконтроллер выполняет следующие задачи:
1. Принимает от ПК таблицу для генерации
2. Записывает таблицу в RAM
3. Запускает и останавливает работу ПЛИС (т.е. генерацию сигнала).
4. Передает значение шага генерирования в ПЛИС (генерация по принципу DDS)
5. Управляет дисплеем и кнопками.
и т.п.

По итогу совместная работа МК и ПЛИС сводится к передаче от МК команд старт/стоп и значения шага к ПЛИС.
Сейчас думаем какую микросхему RAM использовать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #371

marat-ab пишет: Микроконтроллер выполняет следующие задачи:
1. Принимает от ПК таблицу для генерации


На этом этапе какой интерфейс будет использоваться для передачи данных? RS232, USB?
А каким образом будут строиться таблицы для генерации? С кнопок МК или при помощи ПК?

marat-ab пишет: 2. Записывает таблицу в RAM


А расчет по достаточным объемам ОЗУ имеется? Каков будет минимальный период квантования? Каково разрешение DAC? Длина таблиц?
Или тут наоборот исходя из объемов ОЗУ получаем нужные характеристики?

Тут вот какой наводящий вопрос - почему бы не принимая например по RS232 или USB данные не писать их сразу в RAM?

marat-ab пишет: 3. Запускает и останавливает работу ПЛИС (т.е. генерацию сигнала).


В принципе тут тоже можно обойтись без МК, точнее в этом пункте это сделать проще чем в других.

marat-ab пишет: 4. Передает значение шага генерирования в ПЛИС (генерация по принципу DDS)


Тут честно говоря не совсем понял, шаг генерирования тут можно и выразиться проще фаза периодического сигнала может быть обеспечена управляемым счетчиком, через сравнение значения его выхода с заданным. ИМХО конечно но если и делать МК в конструкции то генерировать фазу/шаг стоит самостоятельно с помощью ПЛИС, нет?

marat-ab пишет: 5. Управляет дисплеем и кнопками.
и т.п.


А какой уровень сервиса планируется? И каков уровень автономности? Если все равно будет ПК, то может интерфейс к устройству переложить на него?

marat-ab пишет: По итогу совместная работа МК и ПЛИС сводится к передаче от МК команд старт/стоп и значения шага к ПЛИС.
Сейчас думаем какую микросхему RAM использовать.


Не совсем понимаю с шагом, может имеется ввиду стартовый шаг - т.е. начало развертки смещается по фазе как один из параметров генерации. А для чего такой нюанс необходим?

Что из RAM есть под рукой, может оттолкнуться от имеющегося?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #372

  • marat-ab
  • marat-ab аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 14
  • Спасибо получено: 0

digitalinvitro пишет: На этом этапе какой интерфейс будет использоваться для передачи данных? RS232, USB?
А каким образом будут строиться таблицы для генерации? С кнопок МК или при помощи ПК?

По RS232.
Таблицы для генерации будут рассчитываться при помощи ПК.

digitalinvitro пишет: А расчет по достаточным объемам ОЗУ имеется? Каков будет минимальный период квантования? Каково разрешение DAC? Длина таблиц?
Или тут наоборот исходя из объемов ОЗУ получаем нужные характеристики?


ОЗУ: в первом приближении 8192 бит. (если исп. 12 битный ЦАП, то в такой памяти можно уместить примерно 128 отчётов на четверть периода)
DAC: предварительно 12 бит (это первый вариант).
Если с ОЗУ такого объема возникнут проблемы, то соответственно из объемов ОЗУ будем получать нужные характеристики.

digitalinvitro пишет: Тут вот какой наводящий вопрос - почему бы не принимая например по RS232 или USB данные не писать их сразу в RAM?


МК будет сохранять эти данные у себя в памяти (Flash, EEPROM). Это нужно для автономной (от ПК) работы генератора.

digitalinvitro пишет: Тут честно говоря не совсем понял, шаг генерирования тут можно и выразиться проще фаза периодического сигнала может быть обеспечена управляемым счетчиком, через сравнение значения его выхода с заданным. ИМХО конечно но если и делать МК в конструкции то генерировать фазу/шаг стоит самостоятельно с помощью ПЛИС, нет?

(И правда, я немного мудрёно здесь выразился)
ПЛИС генерирует фазу сигнала. Она получается следующим образом: на каждом такте работы новое значение фазы определяется как текущая фаза, плюс добавка. Эта добавка - называется код частоты. Она передается от МК.

digitalinvitro пишет: А какой уровень сервиса планируется? И каков уровень автономности? Если все равно будет ПК, то может интерфейс к устройству переложить на него?

До конца пока не определились, но дисплей, кнопки Пуск/Стоп + что-нибудь ещё, будет!

digitalinvitro пишет: Не совсем понимаю с шагом, может имеется ввиду стартовый шаг - т.е. начало развертки смещается по фазе как один из параметров генерации. А для чего такой нюанс необходим?


Шаг - это код частоты. Описание см. выше)

digitalinvitro пишет: Что из RAM есть под рукой, может оттолкнуться от имеющегося?

К сожалению ни одной RAM под рукой нет. Хуже того с ними никогда не работал :(
Поэтому сижу и изучаю эту тему (что есть, сколько стоит и т.п.)
Если вы можете подсказать какую-нибудь популярную и ходовую модель, буду очень благодарен.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от marat-ab.

Re: Связь MAX II с микроконтроллером 7 года 6 мес. назад #373

marat-ab пишет: ОЗУ: в первом приближении 8192 бит. (если исп. 12 битный ЦАП, то в такой памяти можно уместить примерно 128 отчётов на четверть периода)
DAC: предварительно 12 бит (это первый вариант).
Если с ОЗУ такого объема возникнут проблемы, то соответственно из объемов ОЗУ будем получать нужные характеристики.


Вам ОЗУ хватит с лихвой :) вот например UT61256CJC-12 и стоит не дорого и 12нс очень неплохо. Скорее всего ограничение будет по частотности ОЗУ. Вот Вы хотите 12 бит DAC, а для этого придется затратить два такта ОЗУ что бы набрать 16бит, из которых 4бита будут лишние (а жаль). Какой максимальной частоты планируете получить сигнал?

marat-ab пишет:

digitalinvitro пишет: Тут вот какой наводящий вопрос - почему бы не принимая например по RS232 или USB данные не писать их сразу в RAM?


МК будет сохранять эти данные у себя в памяти (Flash, EEPROM). Это нужно для автономной (от ПК) работы генератора.


А какое кол-во огибающих (форм сигналов) планируется использовать автономно? Может быть объема UFM хватит 8192? Если сигнал гармонический может вообще в ПЛИС сделать формирователь из одной исходной таблицы?

marat-ab пишет: (И правда, я немного мудрёно здесь выразился)
ПЛИС генерирует фазу сигнала. Она получается следующим образом: на каждом такте работы новое значение фазы определяется как текущая фаза, плюс добавка. Эта добавка - называется код частоты. Она передается от МК.


Все просек, приращение фазы. Эту постоянную в принципе достаточно легко будет ввести с помощью 4 кнопок. Надо считать конечно но при желании можно все в один MAX уложить.

marat-ab пишет:

digitalinvitro пишет: А какой уровень сервиса планируется? И каков уровень автономности? Если все равно будет ПК, то может интерфейс к устройству переложить на него?

До конца пока не определились, но дисплей, кнопки Пуск/Стоп + что-нибудь ещё, будет!


Тут вот Николай PS/2 клавиатуру подключал честно говоря не знаю сколько туда LE's ушло но как вариант :)?

marat-ab пишет: Если вы можете подсказать какую-нибудь популярную и ходовую модель, буду очень благодарен.


Указанная выше SRAM подойдет?
Спасибо сказали: marat-ab

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от digitalinvitro.
  • Страница:
  • 1
  • 2
Время создания страницы: 0.195 секунд

facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Forum Наш форум Вопросы о плате Марсоход Связь MAX II с микроконтроллером