Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Требуется совет в разработке с FPGA
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Михаил Миняйло
Требуется сделать систему сбора данных с 2х быстрых 2х-канальных 10-битных АЦП MAX1181(80Msps), осонованную на Cyclone II. Управление работы системы будет идти через сигнальный процессор TI TMS320LF2407A. Данные собираются внутри FPGA в FIFO по ккомманде от TMS. Далее, по комманде с удаленного компьютера через тот же TMS эти данные необходимо передать через MCP2515 по шине CAN(MCP2515 присоединен по шине SPI). Хотелось бы получить несколько советов по реализации системы конфигурации и управлению CAN-контроллера.
SM
Цитата(Михаил Миняйло @ Feb 19 2014, 12:20) *
Хотелось бы получить несколько советов по реализации системы конфигурации и управлению CAN-контроллера.


Я посоветую все это сделать на TMSе, не загружая FPGA этой протокольщиной, которая значительно лучше ложится на процессор.
Михаил Миняйло
Цитата(SM @ Feb 19 2014, 15:38) *
Я посоветую все это сделать на TMSе, не загружая FPGA этой протокольщиной, которая значительно лучше ложится на процессор.

я бы вообще избавился от mcp2515, т.к. у tms есть свой can-контроллер, но схема не моя, осталось разработать прошивку для cyclone ii.
SM
Ну так сделайте толкьо FIFO в циклоне, чтобы TMS читал его с параллельной шины своей. А все остальное в TMS
ZASADA
MCP2515 явно лишнее звено. CAN-контроллер можно брать или процессорный или в самой плис сделать
SM
Цитата(Михаил Миняйло @ Feb 19 2014, 13:10) *
я бы вообще избавился от mcp2515, т.к. у tms есть свой can-контроллер, но схема не моя.


Да-да, хоть она не Ваша, но исправить ее при помощи скальпеля и соплей всегда можно sm.gif sm.gif - у Вас есть все основания указать на некомпетентность разработчика схемы.
Михаил Миняйло
Цитата(SM @ Feb 19 2014, 16:42) *
Да-да, хоть она не Ваша, но исправить ее при помощи скальпеля и соплей всегда можно sm.gif sm.gif - у Вас есть все основания указать на некомпетентность разработчика схемы.

А что вы думаете насчет использования Nios для таких целей. Я почитал Гугл, в подобных случаях люди предлагают использовать именно его.
SM
На кой он Вам, когда у вас есть нормальный процессор с нормальным CAN на борту? NIOS используют когда процессора снаружи нет, или он не справляется, Вам это вряд-ли грозит. Или хочется побольше работы себе придумать?
Михаил Миняйло
Цитата(SM @ Feb 20 2014, 13:38) *
На кой он Вам, когда у вас есть нормальный процессор с нормальным CAN на борту? NIOS используют когда процессора снаружи нет, или он не справляется, Вам это вряд-ли грозит. Или хочется побольше работы себе придумать?

Физически править плату науч.руководитель не разрешит, а передача по импровизированной последовательной шине с дуплексированием не кажется намного более легким решением.
Maverick
Цитата(Михаил Миняйло @ Feb 20 2014, 08:59) *
Физически править плату науч.руководитель не разрешит, а передача по импровизированной последовательной шине с дуплексированием не кажется намного более легким решением.

Варианты решения проблемы:
- тогда принимайте, что есть и работайте с ним...
- делайте новую плату как Вы считаете правильным....
- доказывайте своему руководителю про некоректное схемотехническое решение (которым является Ваша плата) и получайте разрешение на правку платы или на изготовление новой платы, хотя ... сделать на существующей плате несколько соплей как вариант для проверки решения можно...

PS предлагаю такой вариант попробуйте посмотреть возможность пин ту пин замены существующей плис на Cyclone III (будет больше логики) ... Подсоедините к плис MCP2515 по шине SPI и организовывайте передачу.
В принципе можно попробовать обойтись и без микропроцессора, хотя я не знаю полного ТЗ на разработку... Всегда будет возможность организовать микропроцессор внутри плис.
Но мне не понятен момент АЦП 80Msps, а CAN имеет 1 Мбит/с - разброс скоростей большой, где будете хранить данные,т.е. организовывать буффер? Тем более у CAN есть недостатки:
- Небольшое количество данных, которое можно передать в одном пакете (до 8 байт).
- Большой размер служебных данных в пакете (по отношению к полезным данным).
Почему выбран CAN ?
SM
Цитата(Михаил Миняйло @ Feb 20 2014, 10:59) *
Физически править плату науч.руководитель не разрешит.

Если грамотно обосновать, то просто обязан разрешить! Это же улучшение качества устройства - устранение неоптимальности и неудобности схемы, ее удешевление - прямая задача разработчика. Доказывайте с пристрастием!

PS соплей там немного, три провода к трансиверу от процессора, а резать ничего не надо, просто снять MCP2515 с платы (или не ставить).

А у процессора, если уж на то пошло, и SPI есть, вот через него и работайте с MCP2515, если совсем припрут. NIOS тут явно и откровенно "третий лишний", когда есть такой мощный микропроцессор снаружи. В лучшем случае, протяните просто проводами SPI от процессора к SPI MCP.
Maverick
Цитата(SM @ Feb 20 2014, 09:19) *
есть такой мощный микропроцессор снаружи

кстати там АЦП тоже есть...
SM
Цитата(Maverick @ Feb 20 2014, 11:54) *
кстати там АЦП тоже есть...

Но никак не 80 мспс (видимо нужны короткие выборки, но шустрые)
Maverick
Цитата(SM @ Feb 20 2014, 09:54) *
Но никак не 80 мспс

а микропроцессор будет успевать принимать и передавать данные без потерь, если данные будут поступать с 80 мспс?

Цитата
external memory interface (LF2407A)
The TMS320LF2407A can address up to 64Kх16 words of memory (or registers) in each of the program, data, and I / O spaces. On-chip memory, when enabled, occupies some of this off-chip range.
SM
А нигде не сказано, что там реалтайм поток от непрерывной работы этих АЦП.
Maverick
Цитата(SM @ Feb 20 2014, 09:57) *
А нигде не сказано, что там реалтайм поток от непрерывной работы этих АЦП.

я тоже не знаю, но Михаил Миняйло такие цифры привел без уточнений... sm.gif
Михаил Миняйло
Цитата(Maverick @ Feb 20 2014, 14:13) *
Варианты решения проблемы:
- тогда принимайте, что есть и работайте с ним...
- делайте новую плату как Вы считаете правильным....
- доказывайте своему руководителю про некоректное схемотехническое решение (которым является Ваша плата) и получайте разрешение на правку платы или на изготовление новой платы, хотя ... сделать на существующей плате несколько соплей как вариант для проверки решения можно...

PS предлагаю такой вариант попробуйте посмотреть возможность пин ту пин замены существующей плис на Cyclone III (будет больше логики) ... Подсоедините к плис MCP2515 по шине SPI и организовывайте передачу.
В принципе можно попробовать обойтись и без микропроцессора, хотя я не знаю полного ТЗ на разработку... Всегда будет возможность организовать микропроцессор внутри плис.
Но мне не понятен момент АЦП 80Msps, а CAN имеет 1 Мбит/с - разброс скоростей большой, где будете хранить данные,т.е. организовывать буффер? Тем более у CAN есть недостатки:
- Небольшое количество данных, которое можно передать в одном пакете (до 8 байт).
- Большой размер служебных данных в пакете (по отношению к полезным данным).
Почему выбран CAN ?

CAN стандартно используется по всему институту для организации практически всего исследовательского процесса. Мне не надо одновременно передавать все 4 канала в реальном времени.
Тут измерения происходят так:
•приходит прерывание на процессор,
•процессор обрабатывает его, сигналив fpga, чтобы она запоминала кадр(длиной примерно 500 10-битных слов, по кадру на каждый канал), кадр складируетея во внутр. FIFO ППВМ. Внутри примерно 3-4 кадра на канал.
•по шине CAN на процессор приходит запрос на передачу кадров с каждого канала, процессор сигналив ППВМке, она начинает передачу по шине CAN через MCP2515.
Ну и основная для меня сложность в организации работы между cyclone II и собственно mcp2515.

Цитата(Maverick @ Feb 20 2014, 15:02) *
я тоже не знаю, но Михаил Миняйло такие цифры привел без уточнений... sm.gif


Ну логично, что я не буду передавать 3.2 гбит по шине can biggrin.gif
SM
Цитата(Михаил Миняйло @ Feb 20 2014, 12:17) *
Ну и основная для меня сложность в организации работы между cyclone II и собственно mcp2515.


А Вы их там себе не создавайте, просто протяните интерфейс SPI от TMS до MCP через ПЛИС проводами, и работайте с ней из TMS, как будто ПЛИС там и нет.

Но я бы категорически настоял со снятия MCP2515 с платы и протаскивании на CAN-трансивер сигналов прямо с TMS
Михаил Миняйло
вот, кстати, хотел спросить:
а сколько стоит разработка подобного устройства на рынке сейчас?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.