Свежие обсуждения
Микроконтроллеры

Жизненно важная тема - выбор семейства МК

1 3

Остается FIFO+ПЛИС.
Более-менее "навороченные" фифо имеют кучу полезных сигналов вроде: пустой, почти пустой, полный, почти полный и кучу полезных режимов (особенно полезна возможность циклической записи). До кучи почти пустой и почти полный имеют настраиваемые пороги... но тут опять же корпус неудобный.

 

мне кажется топикстартер уже не участвует в этом ликбезе ) И тут какойто оффтопик пошел

 

ФИФО специализированное - дорого, посему потрошим 486 материнку.

7000 серия имеет уже менее вкусную цену, более 300 за корпус, это 1000 с лишним за блок логики - неинтересно 74HC обойдутся дешевле....

Сигналы от ФИФО не нужны, оно только должно уметь следующее - пишем по кольцу постоянно с частотой сигнала "ТАКТ", по поступлении сигнала "ПУСК" (выбор одного из 3 х входов) писать еще N раз (где N=(1-2048)) и стоять до сигнала "СБРОС", по этому сигналу переход в начало. Есть еще вход "Чтение" по нему память перевести в режим чтения , а "ТАКТ" брать с другого входа.

Блок сравнения - читать с шины данные и сравнивать их с числом N (0-256), в зависимости от установки (больше, меньше, равно) выработать сигнал "ПУСК". Не менять его состояние до сигнала "СБРОС2" Имеет 2 канала по 8 бит независимые друг от друга.

ДКПД. Делит входной сигнал на 1, 2,5,10,20,50,100,200,500,1000,2000,5000,10000,20000,50000,100000,200000,500000.

Форомирует короткий импульс в 1 такт на выходе. Больше ничего не делает.

По хорошему кто-то четвертый декодирует данные поступающие по I2C и управляет оставшимися 3 частями (только слев и только прием).

 

Wladimir_TS: Сигналы от ФИФО не нужны, оно только должно уметь следующее - пишем по кольцу постоянно с частотой сигнала "ТАКТ", по поступлении сигнала "ПУСК" (выбор одного из 3 х входов) писать еще N раз (где N=(1-2048)) и стоять до сигнала "СБРОС", по этому сигналу переход в начало. Есть еще вход "Чтение" по нему память перевести в режим чтения , а "ТАКТ" брать с другого входа.

Почему же не нужны. Если Вам нужно дописывать N значений, значит Вы можете настроить границу срабатывания сигнала "почти полный" на это самое N.

Сигнал "почти пустой" тоже можно с пользой использовать для создания "предистории". Примерный алгоритм такой:
1 сброс всего и вся.
2 подача тактов на запись ФИФО от "генератора развертки"
3 дожидаемся снятия сигнала "почти пустой" и начинаем подавать тот же такт с "генератора развертки" на вход чтения ФИФО. тем самым поддерживаем постоянное количество выборок в "предистории"...
4 как только приходит сигнал синхронизации, перестаем подавать такты с "генератора развертки" на вход чтения ФИФО и дожидаемся полного заполнения ФИФО.
5 вычитываем данные из ФИФО импульсами с МК.
6 переходим на пункт 1
В результате получаем N выборок предистории (зависит от порога срабатывания "почи пустой")...

Далее. Зачем вам "цифровая" синхронизация? Можно же классический компаратор + ЦАП.

З.Ы. я явно влезаю в середину разговора не совсем осознавая Вашу задумку. Так что может отморозил глупости.

 

Wladimir_TS: Для осцила возьми Propeller P8X32A в корпусе DIP-40 ;)

 

То Dron_Gus :

А нафига городить компаратор + ЦАП, когда уже есть постоянно работающий АЦП со всеми цепями ?
Цифру ее легче сравнивать, нежели аналог.

То Different :

Над Propeller P8X32A уже думал - не пойдет - у него всего фактических 20 МИПС, а производительность за счет паралельной работы ядер. А мне нужна моноядерные 160 МИПС.

 

А распараллелить задачу не возможно разве?

 

Как, если каждое из ядер работает на скорости ниже скорости потока данных.

 

Простите за лирическое отступление.

Весьма сладким для осцилла выглядит контроллер CY7C6801x(3/4/5) по следующим причинам:
-- Имеет на борту мост USB 2.0 - порты
-- Микроконтроллер MCS51 для прозаичных задач - программировать порты на связь с USB, сам работает с портами (для установки делителя например)
-- 4 кила FIFO на борту, который автоматом сбрасывается на комп при заполнении.

Реальная скорость, которую удалось добиться (не мне, я пока еще с ним разбираюсь) - 40.000.000 выборок в секунду.

Так что вот так. Ессно контроллер более подойдёт в основном для домашних "игружек"....

Как, если каждое из ядер работает на скорости ниже скорости потока данных.
Для записи в FIFO CY7C6801x(3/4/5) ядро не использует

 
1 3