Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Проблем с логика
http://mcu-bg.com/mcu_site/viewtopic.php?f=6&t=17590
Страница 3 от 3

Автор:  al_at [ Сря Ное 04, 2020 6:14 pm ]
Заглавие:  Re: Проблем с логика

Моля! Ако някоя задачка ми се стори интересна така ме обсебва,
че си зарязвам работата. И за мен беше полезно в случая.

Автор:  Н'бабане Гт'муан'га [ Съб Ное 07, 2020 10:46 am ]
Заглавие:  Re: Проблем с логика

В рядък проблясък на гениалност ми хрумна че вероятно мога да оптимизирам цялата схема до само един 4-битов суматор (примерно HC283). Особено помага входния пренос.
Сега само трябва да намеря подходящото свързване... :)

Автор:  al_at [ Съб Ное 07, 2020 10:36 pm ]
Заглавие:  Re: Проблем с логика

За суматора се сетих. Но не можах да намеря това пусто подходящо свързване ... :)

Автор:  bongo_x2 [ Съб Ное 07, 2020 10:53 pm ]
Заглавие:  Re: Проблем с логика

Мии викаш, нямало вече PROM-ове, пък си е най-универсалното. Направи си с джъмпери, вече платките са микроскопични. За следващият път ще смениш няколко вии да речем.

Автор:  al_at [ Пон Ное 09, 2020 6:20 pm ]
Заглавие:  Re: Проблем с логика

Като се разпише идеята за ROM с джъмпери се получава доста хардуер:
1 - трябва декодер 3:8
2 - трябва схема за изолиране на състоянията едно от друго - диоди, транзистори или гейтове
3 - ако в т.2 са използвани диоди, добре е да има изходен буфер
Т.е. нещо такова, само че с декодер 3:8 и 4 бита данни:
https://www.eeeguide.com/programmable-read-only-memory/
Като се събере едно над друго, става доста далече от оптимално.

Автор:  Jack [ Сря Ное 11, 2020 5:27 pm ]
Заглавие:  Re: Проблем с логика

Значи, всичките решения дотук са добри и работещи, но с по два чипа, а борбата е епична за един брой чип. :D .
Казваш ще е за дистрибуция на клок. В тоя смисъл ( в сферата на дивите фантазии) -какво е това на входа - 001, 010... бинарен брояч който се
клочи от някакъв сигнал :?: . Ако е такъв- не може ли да се махне (така един чип по-малко) и сигнала директно да клочи някакъв брояч на Джонсън (примерно HEF4017B и др.)
Първите четири изхода Q1-Q4 директно за първата половина от таблицата, вторите четири (Q5-Q8) навързани към линиите на първите в някакъв порядък (в сферата на
дивите, фантазии :D ).

ПС - раздуйте малко, как ги правите тея логики с навързване на суматори ?

Автор:  bongo_x2 [ Сря Ное 11, 2020 5:51 pm ]
Заглавие:  Re: Проблем с логика

Що да не може?! Остава някой чип да го клочи :)
А диодите не са чип :D

Автор:  Jack [ Пет Ное 13, 2020 8:46 pm ]
Заглавие:  Re: Проблем с логика

Извинявам се на Бабането предварително(ако му цапам темата), ама днес пак се почесвах по главата дето не ме сърби в продължение на половин-един час, как
може да се изгради мапваща функция само със суматор и пак достигнах до заключението че не може(или аз не мога) и затова ми стана интересно.
Ако описаната функция трябва да се изгради със суматор, то първата колонка цифри би следвало да е на входа(на А-линиите), втората на изхода, а на Б-линиите би следвало да се подадат цифрите от третата колонка:

(0 на вход А) ---->(1-изход)// (+1 на вход B )
1 ---->2 // (+1)
2 ---->4 // (+2)
3 ---->8 // (+5)
4 ---->5 // (+1)
5 ---->13 // (+8)
6 ---->10 // (+4)
7 ---->14 // (+7)

Тогава какъв е смисъла вместо да генерираме направо изхода(цифрите от втората колонка), да преместим купчинката от AND/OR гейтове ( физически такива или в някакъв 'пакет' - Мукс, Декодер, Пром) на вход Б за да генерираме числата в скобите. Аз ли нещо пропускам.
Сега, друг е въпроса ако трябва да добавим някакъв корекционен коефициент, който е еднакъв за всички редове. Примерно:

1--->4 (+3)
2--->5(+3)
3--->6(+3)

и т.н. :-k
Ако може да се получи направо първата табличка(без купчинка допълнителни AND/OR), то какъв би бил работния подход.

Автор:  Н'бабане Гт'муан'га [ Пет Ное 13, 2020 9:32 pm ]
Заглавие:  Re: Проблем с логика

Значи, ето малко допълнителни детайли и как процедирах.
Както вече бях писал, това е блок за дистрибуция на клокове в една система. Има четири външни входа-изхода за клок, и един вътрешен. Single-Ended на сравнително ниска честота - до 50 мегахерца.
Клиентът ми искаше с дефинирани комбинации да избира откъде да идва вътрешния клок (условно именувани горе, долу, ляво, дясно), както и да се свързват вътрешно едно с друго за да може клока да се предава нататък по веригата. Примерно комбинация 101 да свърже накъсо левия и десния канал и т.н. Всички комбинации обаче също трябва да осигуряват и вътрешния клок.

Аз загубих доста време да си блъскам главата над първоначалната таблица докато не се оказа че тя е просто примерна и може да се размести, стига комбинациите да останат същите. Така че след като я прередих се получи линейна функция за трансфер на всички канали с изключение на един. След допълнително обсъждане клиентът се съгласи че е ок да се вдигне още един бит (оригинално бяха три в за комбинацията 111) така че решението се получи само с един логически елемент.

Ето така изглежда в сегашния си вид

Прикачени файлове:
image_2020-11-13_193110.png
image_2020-11-13_193110.png [ 49.91 KiB | Прегледано 828 пъти ]

Страница 3 от 3 Часовете са според зоната UTC + 1 час [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/