|
Расширение числа I/O |
|
|
|
Jan 14 2011, 16:56
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(aaarrr @ Jan 15 2011, 02:09)  Воистину "погромистский" подход Я, по крайней мере, хоть какие то подходы предложил - Вы ни одного Цитата(Dopler @ Jan 15 2011, 03:17)  покажите мне проц, у которого SPI на прием хотя бы половина тактовой). Любая дохлая AVR-ка c аппаратным SPI на борту Цитата(prottoss @ Jan 15 2011, 03:53)  Любая дохлая AVR-ка c аппаратным SPI на борту Извиняюсь - SLAVE - только в 4 раза меньше тактовой или ниже
--------------------
|
|
|
|
|
Jan 14 2011, 17:29
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(prottoss @ Jan 14 2011, 22:56)  Я, по крайней мере, хоть какие то подходы предложил - Вы ни одного I'm useless  Пойду убьюсь веником. Цитата(firstvald @ Jan 14 2011, 23:19)  Если бы вы решали такую задачу, так бы не сказали. Представьте себе, успешно решал безо всяких МК. Цитата(firstvald @ Jan 14 2011, 23:19)  Впоследствии многоногий вспомогательный проц решал все и никто никогда даже не вспоминал про это место. Кроме производства, надо полагать. Однажды попала мне в руки платка, где расширение IO было сделано при помощи восьми(!) AT90S2313. Стыдно.
|
|
|
|
|
Jan 14 2011, 17:43
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Чтобы развеять все вопросы по периферийному процессору посчитаем время переключения: 1. У меня 24 канала, частота дискретизации по каждому 500 гЦ, т.е. имеем 12 КГц переключение, или по 80 мкС на каждое переключение. 2. Возьмем половину времени на переходной процесс, т.е. надо уложится в 40 мкС. 3. Возьмем АВР с внутренним генератором (внешний не рассматриваю даже близко) - частота SPI 2 МГц (и то это не допустимо, частота должна быть строго 1/4 тактовой) - период 0.5 мкС. 4. В каждый канал надо передать минимум 10 бит - 5 бит на адрес и 5 бит данных (мне нужно 5 IO линий в каждый канал). Итого: 0.5 * 10 * 24 = 120 мкС, т.е. не вмещаемся никак. Можно попробовать соединить контроллеры последовательно, но тогда вся гибкость пропадет и вообще толку применять их не будет.
Это я уже позже подумал - при таком подходе не надо обновлять все каналы одновременно, достаточно только один (текущий) выключить, один (следующий) включить, т.е. по времени должны укладываться нормально.
Прибор питается от USB, только на эту цепь уйдет 5 мА * 24 == 120 мА энергии, т.е. 1/4 всего питания.
P.S. В моем случае похоже HC594 подойдет, третье состояние мне не нужно, а сброс у нее есть. Спасибо scifi за наводку, как-то я ее пропустил.
|
|
|
|
|
Jan 23 2011, 03:45
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 9-10-08
Пользователь №: 40 814

|
Я вообще с ПЛИС дела никогда не имел, очень примерно представляю что это такое, и посему походу глупый вопрос: можно ли в ПЛИС "засунуть" какую-либо простую функцию, например вот такую: m = ((2 - t)*8)/a
а на выходе иметь значение переменной m или нельзя?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|