Нужно заменить программируемую логику :)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
Starp
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пн окт 19, 2009 09:48:40
Откуда: Питер
Контактная информация:

Нужно заменить программируемую логику :)

Сообщение Starp »

Добрый всем вечер.
Есть значит одна схемка (ADS адаптер).
Изображение
Там используется программируемая логика, нужно её заменить. Помогите пожалуйста. Вот список функций:

PIN12 = /PIN2
PIN13 = /PIN4
/PIN14 = PIN6 * PIN3 * /PIN9 + PIN6 * PIN5
/PIN15 = / (/PIN2 * PIN3 * /PIN9) + PIN9
PIN16 = /PIN2 * /PIN3 * /PIN9 + /PIN2 * PIN9
PIN17 = GND
PIN18 = PIN5
PIN19 = /PIN5

Ну или хоть объясните как вообще к этой проблеме подойти? :)
Последний раз редактировалось Starp Вт июл 20, 2010 14:26:54, всего редактировалось 1 раз.
Аватара пользователя
NiTr0
Друг Кота
Сообщения: 3051
Зарегистрирован: Пт авг 10, 2007 12:49:55
Откуда: kr.ua
Контактная информация:

Re: Нужно заменить программируемую логику :)

Сообщение NiTr0 »

Starp писал(а):PIN12 = /PIN2
PIN13 = /PIN4
PIN14 = PIN6 * PIN3 * /PIN9 + PIN6 * PIN5
PIN15 = / (/PIN2 * PIN3 * /PIN9) + PIN9
PIN16 = /PIN2 * /PIN3 * /PIN9 + /PIN2 * PIN9
PIN17 = GND
PIN18 = PIN5
PIN19 = /PIN5

Ну или хоть объясните как вообще к этой проблеме подойти? :)


А в чем проблема? Банальные операции И (*), ИЛИ (+), НЕ (/).
Ну и ессно выражения прекрасно можно упростить...
Аватара пользователя
Negor
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср мар 07, 2007 22:58:02
Откуда: Черкассы, Украина
Контактная информация:

Re: Нужно заменить программируемую логику :)

Сообщение Negor »

Если делать глобально, не под конкретную задачу то моё предложение таково - вам нужно взять любой доступный контроллер(AVR или PIC) и превратеть его в PLC-контроллер. Каким образом? Эта задача не нова. Если что. вот ссылка
There is only 10 kind of people: those who understands binary code and those who dont!!!
Аватара пользователя
Starp
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пн окт 19, 2009 09:48:40
Откуда: Питер
Контактная информация:

Re: Нужно заменить программируемую логику :)

Сообщение Starp »

Про заменить микроконтроллером можно поподробнее?
Тоесть в главном цикле написать SWITCH со всеми возможными вариантами и все? :)
Аватара пользователя
Meteor
Друг Кота
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....
Контактная информация:

Re: Нужно заменить программируемую логику :)

Сообщение Meteor »

А вас скорость работы на МК устроит потом?
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Нужно заменить программируемую логику :)

Сообщение uldemir »

Как-то не уверен что это прокатит. Все-таки palce имеет задержку распространения сигнала 25нс. На микроконтроллере такое не получишь. Т.е. в общем случае такая замена неадекватна. Такая замена допустима, только при анализе работы всей схемы и наличии дополнительных условий допускающих такую замену.
Ну или хоть объясните как вообще к этой проблеме подойти?
Чтобы что посоветовать, надо знать ваши возможности. Я бы зашил xc9536 (из пушки по воробьям, но ведь главное результат?). Или в стародавние времена один горелый контроллер с PAL22xxxx заменил тремя микросхемами простой логики.

Однако приведенные вами выражения не особо и сложные, думаю, тоже можно уложиться в 3 микросхемы простой логики, если их есть где разместить. 12, 13 и 19 - по одному инвертору от ЛН1. 17, 18 - просто перемычки. только надо подумать над 14-16 как по-компактнее уложить во что-нибудь.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Нужно заменить программируемую логику :)

Сообщение Jack_A »

Starp писал(а):Про заменить микроконтроллером можно поподробнее?
Тоесть в главном цикле написать SWITCH со всеми возможными вариантами и все? :)


Я не знаю, каким боком тут SWITCH, но если задержка в 1 мкс не критична, то это делается в пол-пинка ( весь цикл - 4 команды ) :

Например, для AVR :

ldi r16,0
out DDRA,r16 ; порт А на ввод
ldi r16,0xFF
out DDRB,r16 ; порт B на вывод
ldi ZH,high (CODE_TAB<<1) ; кодовую таблицу размещаем на границе страницы

loop: in ZL,PINA
lpm
out PORTB,r0
rjmp loop

.org 0x200

CODE_TAB:
.db ....... ; здесь выходные коды

Выходную кодовую таблицу, чтоб не мучиться и не ошибаться, можно сгенерировать простейшей
программой.
Аватара пользователя
DrWatson
Опытный кот
Сообщения: 890
Зарегистрирован: Вт янв 20, 2009 14:49:08
Откуда: Гондурас, Мурманск

Re: Нужно заменить программируемую логику :)

Сообщение DrWatson »

Starp писал(а):Ну или хоть объясните как вообще к этой проблеме подойти? :)

Взять учебник по цифровой схемотехнике и почитать про синтез цифровых схем, ну и изучить булеву логику и преобразования булевых функций.
Для реализации на логике потребуется максимум 3 микросхемы: 6xНЕ (ЛН1), 3x3И-НЕ (ЛА4) - для PIN14, сдвоенный мультиплексор 4х1 (КП2) - для PIN15, PIN16
- Если вы такие умные, то почему тогда строем не ходите?
ἓν οἶδα ὅτι οὐδὲν οἶδα (с) Σωκράτης
Pe3ucTop
Прорезались зубы
Сообщения: 231
Зарегистрирован: Пт ноя 16, 2007 13:52:44
Откуда: Рига, Латвия

Re: Нужно заменить программируемую логику :)

Сообщение Pe3ucTop »

И ещё - проверте правильно ли у вас записаны уравнения..
На схеме приведенной вами некоторые уравнения для инверсных выходов, в вашем случае для прямых.
К примеру PIN14 = SG_TX_OUT ; а уравнение на схеме для /SG_TX_OUT ..
kypatop
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс июл 04, 2010 13:04:18
Откуда: Хмельницкая обл.

Re: Нужно заменить программируемую логику :)

Сообщение kypatop »

Добрый день!
Форумчане, проверьте, пожалуйста, правильно ли я заменил ПЛИС логикой:
/16=/2*/3*/9+/2*9
в этом выражении незнаю правильно ли сделать так:
16=2*3*9+2*/9

и еще одно
15=2+/3+9

ну и соббстенно логика :
Изображение
Вложения
pl.JPG
(42.11 КБ) 456 скачиваний
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Нужно заменить программируемую логику :)

Сообщение uldemir »

Проверка элементарна. Составьте таблицы истинности для обоих формул. Если совпадают - правильно, если нет... то увы. Тем более, что там всего 3 аргумента и, соответственно, только 8 комбинаций. У мене не совпали.
Более того, с приведенным в начале темы листком не совпадает.
для 16 пина: /p2*/p3*/p9 + /p2*p9 => /(p2+p3+p9) + /(p2+/p9) => /((p2+p3+p9)*(p2+/p9)) => /((p2+p3+p9)*/(/p2*p9)) - 2 элемента 2И-НЕ и 1 элемент 3ИЛИ
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
kypatop
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс июл 04, 2010 13:04:18
Откуда: Хмельницкая обл.

Re: Нужно заменить программируемую логику :)

Сообщение kypatop »

А так?
Изображение
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Нужно заменить программируемую логику :)

Сообщение uldemir »

А вы по каким формулам схемы-то рисуете?
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
kypatop
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вс июл 04, 2010 13:04:18
Откуда: Хмельницкая обл.

Re: Нужно заменить программируемую логику :)

Сообщение kypatop »

по вашей, в предыдущем посте, только вместо 15 нада поставить 16 на моей схеме
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Нужно заменить программируемую логику :)

Сообщение uldemir »

У меня получается так:
Изображение
Не знаю есть ли 3ИЛИ в TTL микросхемах, поэтому использовал 3ИЛИ-НЕ и следом еще один элемент НЕ.
disclaimer: входные линии нарисованы не по порядку и от балды.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»