|
stm32f4 external parallel ADC |
|
|
|
Jun 26 2018, 09:22
|
Участник

Группа: Участник
Сообщений: 61
Регистрация: 2-10-17
Пользователь №: 99 572

|
Есть необходимость привинтить к контроллеру внешний ацп с паралельным интерфейсом . Есть вариант adc1410s080 если удасться достать или более доступный LTC2246 Оба 14 битные с похожими простыми паралельными интерфейсами. Считывает данные по перепаду на клоке Хочу привинтить их к FSMC как внешнюю SRAM CS использовать как клок Может у кого то есть подобный практический опыт подключения АЦП или других устройств? Так же интересует стабильность такого клока от СТМ32.
|
|
|
|
|
Jun 26 2018, 19:58
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(spirit_1 @ Jun 26 2018, 12:22)  Хочу привинтить их к FSMC как внешнюю SRAM CS использовать как клок Подсказка есть тут: https://www.st.com/content/ccc/resource/tec....CD00201397.pdfЦитата Так же интересует стабильность такого клока от СТМ32. Зависит от кода - CS (точнее NEx) дергается лишь при обращении к соотв. региону внешней памяти. Это вам не DDR.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Jun 27 2018, 06:37
|
Участник

Группа: Участник
Сообщений: 61
Регистрация: 2-10-17
Пользователь №: 99 572

|
Цитата(khach @ Jun 26 2018, 21:36)  14бит и менее к DCMI ( параллельному интерфейсу камеры) легко прикручиваются. Сбор данных по DMA. Синхронизации строчные и кадровые отключить. Спасибо. Вчера все просто получилось Поднял в кубе SRAM с одним битом адреса . О не дает, ругаеться Попробовал считать . Затем поднял DMA mem to mem тоже без особых проблем все завелось . Покак просто попробовал подавать напряжения на ноги и смотрел что читает в отладчике Ну и осцилографом клок посмотрел тот что NE1 у меня. Единсьвенная проблемка это была небольшая задержка между байтами что для ацп неприемлемо Пропала после того как в кубе ДМА аоменял значение thкуырщдв на любое кроме full- теперь всевь пакет идет равномерно Цитата(Forger @ Jun 26 2018, 20:58)  Подсказка есть тут: https://www.st.com/content/ccc/resource/tec....CD00201397.pdfЗависит от кода - CS (точнее NEx) дергается лишь при обращении к соотв. региону внешней памяти. Это вам не DDR. Насколько я понимаю CS в SRAM дергаеться всегда не зависимо от того к какому участку памяти обращаемся. Он так и называпеться -чип селект выбор кристалл.?
|
|
|
|
|
Jun 27 2018, 07:27
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(spirit_1 @ Jun 27 2018, 09:37)  Насколько я понимаю CS в SRAM дергаеться всегда не зависимо от того к какому участку памяти обращаемся. Он так и называпеться -чип селект выбор кристалл.? Обычно линий CS несколько (у ST они называются NE0, NE1 и т. д.). Каждая из них привязана к своему региону памяти. Разумеется, когда идет обращение к одному и тому же региону, то дергается только один соотв. NE. Подробности см. в даташите. Не ленитесь по-чаще это делать
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Jun 27 2018, 07:43
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(jcxz @ Jun 27 2018, 10:31)  Вообще сомневаюсь, что там реально нужен внешний АЦП. Безусловно в реальности такие АЦП с таким потоком данных обычно вешают на толстую ПЛИС (буферы, цифровые фильтры). ПЛИС "цепляется" к соотв. и достаточно "злобному" МК. А причина, почему в данном случае используется АЦП, который тут как из пушки по воробьям, скорее выходит за рамки этой темы. Ждем новой темы в стиле "как заставить stm32f4 обрабатывать поток данных с внешнего АЦП под 50 мегасэмплов в сек без тормозов?"
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Jun 27 2018, 09:16
|
Участник

Группа: Участник
Сообщений: 61
Регистрация: 2-10-17
Пользователь №: 99 572

|
Цитата(Forger @ Jun 27 2018, 08:43)  Безусловно в реальности такие АЦП с таким потоком данных обычно вешают на толстую ПЛИС (буферы, цифровые фильтры). ПЛИС "цепляется" к соотв. и достаточно "злобному" МК. А причина, почему в данном случае используется АЦП, который тут как из пушки по воробьям, скорее выходит за рамки этой темы. Ждем новой темы в стиле "как заставить stm32f4 обрабатывать поток данных с внешнего АЦП под 50 мегасэмплов в сек без тормозов?"  Здесь все очень просто. Это НЕ ПОТОК ДАННЫХ поэтому и применяеться контроллер . Мы оцифровываем короткий участок с обьемом до сотни выборок и потом можем достаточно долго его обрабатывать Пэтому выполнить преобразование например Герцеля для длока из 50-100 точек можно и на ф4 без всяких проблемм По поводу скорости то FMC f4 по датащиту обеспечивает скорость работы с памятью до 90 мгц. Хотелось бы это посмотреть так как мне 25 вполне хватит
|
|
|
|
|
Jun 27 2018, 09:38
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(spirit_1 @ Jun 27 2018, 12:16)  По поводу скорости то FMC f4 по датащиту обеспечивает скорость работы с памятью до 90 мгц. Хотелось бы это посмотреть так как мне 25 вполне хватит Это с памятью. С определённым интерфейсом и сигналами. У АЦП они немного другие и такой скорости там можно и не получить, а получить раза в 2 меньше. А тогда получается, что LPC4370 однозначно лучше связки из STM32F4+внешний_АЦП. Ну если конечно младшие 2 бита слова данных АЦП не критичны. Тем более если хватит 80MSPS - то на LPC4370 это без проблем, а через FSMC 80MSPS - вряд-ли.
|
|
|
|
|
Jun 27 2018, 10:32
|
Участник

Группа: Участник
Сообщений: 61
Регистрация: 2-10-17
Пользователь №: 99 572

|
Цитата(khach @ Jun 27 2018, 10:45)  По FSMC очень нерегулярно обмен происходит. Данные с АЦП будут терятся. Можно конечно поставить FIFO, но мелких микросхем FIFO сейчас найти трудно, да и обвязки логикой они требуют. Поэтому получается FPGA. Если FIFO все таки удалось найти, то там получается сложная система прерываний и запросов DMA, чтобы не было ни переполнения, ни опустошения FIFO. Заводили сигналы записи-чтения в FIFO на таймеры STM32 чтобы аппаратно считать обьем данных для обмена. А на DCMI этих проблем нет. Скорость обмена до половины тактовой процессора, FIFO встроеное. https://www.st.com/content/ccc/resource/tec....DM00373474.pdfСобираем до 64 к выборок с АЦП, потом неспешно крутим фурье в оффлайне или еще какую цифровую обработку. Проблема, если надо 2 и более АЦП на DCMI поставить или если вывыедены только 8 бит DCMI ( на многих макетных платах так сделано) . Тогда пришлось мультиплексор из мелкой CPLD делать. минимально надо 20м выборок, Поэтому шанс есть всетаки что потянет Поясните пожалуйста фразу По FSMC очень нерегулярно обмен происходит. Данные с АЦП будут терятся. Это происходит при каких то определенных скоростях ? В чем заключаеться потеря. ? Не высталяються сигналы на шину или наоборот сигналы выставляються но несчитываються при этом данные с внешнего устрройства . По поводу LPC4370 заказал сегодня для изучения демоплату ОМ13054 Буду паралельно узучать и пробовать но это думаю не очень быстрро будет. Подскажите пожалуйста по ней русорсы для начала. Особенно примеры конфигураций итд чтото живое
|
|
|
|
|
Jun 27 2018, 10:39
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(spirit_1 @ Jun 27 2018, 13:32)  По поводу LPC4370 заказал сегодня для изучения демоплату ОМ13054 Буду паралельно узучать и пробовать но это думаю не очень быстрро будет. Подскажите пожалуйста по ней русорсы для начала. Особенно примеры конфигураций итд чтото живое Не знаю, наверное какие-то примеры есть - не интересовался. Я делал всё по юзер-мануалу и даташиту. Заказывал 2шт. ОМ13054 - в одну прошил J-Link. Хотя можно пользоваться и внешним J-Link если имеется соответствующий кабель для него. В качестве бонусов отладки на данном МК есть ETB. PS: В то время тоже сначала хотел STM32F4+внешний_АЦП_на_FSMC (типа AD9226). Но нужно было около 50MSPS. Но из юзермануала на STM32F4 неясно было - можно ли вообще осуществить сопряжение с данным АЦП (по его сигналам) хотя-бы на половинной частоте FSMC? Тоже нужно было сделать выборку в пару тысяч отсчётов непрерывно, а потом сравнительно неспеша их обработать. А потом нашёл LPC4370 и все проблемы решились
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|