rekrut1993 Опубликовано 6 апреля, 2017 Поделиться Опубликовано 6 апреля, 2017 (изменено) Добрый день всем! Говорю сразу, что я начинающий разработчик FPGA и опыта огромного нет, а эту задачу мне дали в качестве курсовой работы. Поэтому, заранее говорю спасибо всем откликнувшимся! Задача состоит вот в чем: Есть FPGA Altera Cyclone IV на которой нет сетевого модуля под Ethernet, но есть сетевой модуль Arduino ENC28J60. Стоит задача написания драйвера для взаимодействия сетевого модуля Adruino и ПЛИС через протокол SPI, причем с возможностью отсылать данные(по Ethernet) на плис с компьютера(как я понимаю на стороне компьютера должен быть написан клиент для соединения с модулем Adruino), к примеру, буфер размером 64Кб(Но в идеале размер буфера может регулироваться на стороне клиента) и получения уведомления от ПЛИС о принятии этого буфера. Почитал про протокол SPI, теория понятна. Понятно как это должно работать(на основе двух 8-битовых сдвиговых регистров), понятно , что ПЛИС будет выступать в качестве Master-устройства. а Arduino в качесвте Slave-устройства. Понятно как их подсоединить (4 провода: MISO, MOSI, SCLK и SS(slave select)). Есть так же идея реализовать на стороне ПЛИС(Master-устройство) 3 функции на языке Verilog: 1 - функция инициализации, которая будет говорить модулю Adruino о том, что сейчас будут посылаться данные с компьютера, 2 - функция чтения одного байта с сдвигового регистра ардуино, 3 - функция записи одного байта в сдвиговый регистр ардуино. Но а что тогда должно быть на стороне Arduino(Slave-устройство)? На каком языке и что нужно там описать? С пониманием небольшие трудности. Так же не понятно как это все должно взаимодействовать с компьютером? Какую библиотеку использовать для отсылки данных на модуль Arduino? Использовать сокеты? Подойдёт ли Boost asio или может что-то другое? Подскажите пожалуйста куда мне двигаться дальше и с чего начать вообще. Фотографии ПЛИС и сетевого модуля прилагаю. Изменено 6 апреля, 2017 пользователем rekrut1993 Опечатка 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Falconist Опубликовано 6 апреля, 2017 Поделиться Опубликовано 6 апреля, 2017 Вам не кажется, что схемотехника имеет крайне косвенное отношение к протоколу обмена? 0 Просят - не откажи. Не просят - не навязывайся! Простота хуже воровства. Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
rekrut1993 Опубликовано 6 апреля, 2017 Автор Поделиться Опубликовано 6 апреля, 2017 13 минуты назад, Falconist сказал: Вам не кажется, что схемотехника имеет крайне косвенное отношение к протоколу обмена? Возможно. Но быть может кто-нибудь поможет. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Григорий Т. Опубликовано 6 апреля, 2017 Поделиться Опубликовано 6 апреля, 2017 Только что, rekrut1993 сказал: сетевой модуль Arduino ENC28J60 Это просто сетевой модуль. К Arduino не имеет никакого отношения. У него жёсткая архитектура и программировать там нечего. Только задать режим работы по прописанному протоколу, который есть в даташите. Всю вашу курсовую можно списать отсюда. http://we.easyelectronics.ru/electro-and-pc/podklyuchenie-mikrokontrollera-k-lokalnoy-seti-rabotaem-s-enc28j60.html 1 Никогда не спорьте с дураком - люди могут не заметить между вами разницы Ссылка на комментарий Поделиться на другие сайты Поделиться
rekrut1993 Опубликовано 6 апреля, 2017 Автор Поделиться Опубликовано 6 апреля, 2017 1 минуту назад, Григорий Т. сказал: Это просто сетевой модуль. К Arduino не имеет никакого отношения. У него жёсткая архитектура и программировать там нечего. Только задать режим работы по прописанному протоколу, который есть в даташите. Спасибо. А как быть с кодом который должен быть реализован на стороне Slave-устройства? Где он должен быть реализован? в ПЛИС? Или режим работы, про который Вы говорите это и есть код для Slave-устройства? 15 минут назад, Григорий Т. сказал: Это просто сетевой модуль. К Arduino не имеет никакого отношения. У него жёсткая архитектура и программировать там нечего. Только задать режим работы по прописанному протоколу, который есть в даташите. Всю вашу курсовую можно списать отсюда. http://we.easyelectronics.ru/electro-and-pc/podklyuchenie-mikrokontrollera-k-lokalnoy-seti-rabotaem-s-enc28j60.html Вы наверное позже добавили ссылку. Спасибо Вам! Буду разбираться. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
BARS_ Опубликовано 6 апреля, 2017 Поделиться Опубликовано 6 апреля, 2017 Только что, rekrut1993 сказал: А как быть с кодом который должен быть реализован на стороне Slave-устройства? Какая вам ПЛИС? Вам и за микроконтроллер браться рано... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.