| Автор |
Съобщение |
|
Grubi
Ранг: Форумен бог
Регистриран на: Чет Мар 16, 2006 9:42 am Мнения: 12095 Местоположение: Гьотеборг
|
 Многоканален вход и идентификатор
Не съм правил досега такова, затова ще го сложа в академия. Значи, 8 входа, които могат да събуждат някаква система плюс идентификация от кой вход (кои входове) звъни будилника Според настъпалите мотиката - по-добре с логики или директно да сложа контролер / програмируема логика Горните две - събуждането и идентификацията, ще събуждат захранване и по-голям контролер. Друг въпрос е колко ще трае сигнала на будилника, за колко време ще се събуди системата преди да разбере кой я е събудил и т.н. Ако ще е с логики си мисля за 74HC4078, 8 входово ИЛИ https://www.st.com/resource/en/datasheet/CD00000322.pdfhttps://www.ti.com/product/CD4078B?keyMatch=74HC4078и за идентификация https://www.ti.com/lit/ds/symlink/sn74h ... NQodNPIPzwhttps://www.ti.com/lit/ds/symlink/cd74h ... e.com%252F
|
| Вто Юни 27, 2023 9:26 am |
|
 |
|
emilvtc
Ранг: Форумен бог
Регистриран на: Вто Фев 06, 2007 8:44 pm Мнения: 3175 Местоположение: Пловдив
|
 Re: Многоканален вход и идентификатор
Ако нямаш 9 входни пина в основния ти процесор единия от които ти е вход за прекъсване/будене - аз бих сложил малък микроконтролер, който да има прекъсване/будене по външен пин (твоите 8 сигнала). Така продълцителността на събуждащия сигнал няма да е проблем, защото статус регистъра на прекъсванията в микроконтролерчето ще ти ги е запомнило. От там на сетне малкия буди големия проц и големия чете по някакъв интерфейс сериен или паралелен статуса, кой точно сигнал го е събудил. Има малки контролерчета под 0.5$. В процеса на разработване винаги може да ти дойде идея и за допълнителна функкционалност на устройството ти, която би могла да се поеме от това мцу.
Е, зависи и колко бройки ще се произвеждат. Малкия контролер ще трябва да се програмира при производството, докато обикновената логика - не. Като цена - вариантите са почти съизмерими.
|
| Вто Юни 27, 2023 10:25 am |
|
 |
|
Grubi
Ранг: Форумен бог
Регистриран на: Чет Мар 16, 2006 9:42 am Мнения: 12095 Местоположение: Гьотеборг
|
 Re: Многоканален вход и идентификатор
Да, съгласен съм. Трябва да видя само тези (всички) източници на събуждане, колко време ще продължава сигнала им за събуждане - т.е. импулс с определено времетраене, или смяна на състоянието, докато външно не го върнеш в първоначалното му състояние. Да не се окаже, че докато се събудя нещата са се променили.
Но, обикновена ИЛИ логика за събуждане и 8 GPIO на основния контролер вероятно ще е ОК, пинове има достатъчно. Ако искам някаква момента памет или по-сложна функция, вероятно няма как да стане без външен контролер.
|
| Вто Юни 27, 2023 10:42 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 Re: Многоканален вход и идентификатор
Виж порт експандерите дали няма да ти свършат работа.
|
| Вто Юни 27, 2023 10:50 am |
|
 |
|
Grubi
Ранг: Форумен бог
Регистриран на: Чет Мар 16, 2006 9:42 am Мнения: 12095 Местоположение: Гьотеборг
|
 Re: Многоканален вход и идентификатор
имаш предвид от GPIO - I2C например? и такъв експандер да има събуждане някакво си?
|
| Вто Юни 27, 2023 11:04 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 Re: Многоканален вход и идентификатор
Виж MCP23X08, например.
|
| Вто Юни 27, 2023 11:15 am |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
 Re: Многоканален вход и идентификатор
Бате, при положение, че MCU-тата струват стотинки е абсолютна ерес да мислиш за квото и да било друго.  Модерната електроника за мен е мцу, захранване и усилване за актуаторите.
|
| Вто Юни 27, 2023 1:41 pm |
|
 |
|
Bai Ui
Ранг: Форумен бог
Регистриран на: Вто Ное 06, 2018 5:18 pm Мнения: 1750
|
 Re: Многоканален вход и идентификатор
аз също съм с две ръце за програмируема логика обаче ако е за серийно производство това предполага порт за програмиране и допълнителни инструкции и манипулации при асемблирането/тестването. От друга страна програмирането на логиката може да се извърши директно от процесора, т.е. конфигурацията да бъде част от кода за мцу-то. Това с порт експандера дето Desert Leo го предложи не е лошо, има и прекъсване.
_________________ “Intelligence is the ability to adapt to change.” Stephen Hawking
Последна промяна Bai Ui на Вто Юни 27, 2023 2:27 pm, променена общо 1 път
|
| Вто Юни 27, 2023 2:09 pm |
|
 |
|
syscop
Ранг: Форумен бог
Регистриран на: Пет Юни 03, 2005 9:39 pm Мнения: 2277
|
 Re: Многоканален вход и идентификатор
Зависи много от конкретната ситуация. Аз избрах pca9555 заради "...No glitch on power-up...".
_________________ Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ! Опонентът се оборва с ФАКТИ, а не с ЕПИТЕТИ!
|
| Вто Юни 27, 2023 2:17 pm |
|
 |
|
Grubi
Ранг: Форумен бог
Регистриран на: Чет Мар 16, 2006 9:42 am Мнения: 12095 Местоположение: Гьотеборг
|
 Re: Многоканален вход и идентификатор
Благодаря за предложенията - ще включа кантара и да видим. Мисля, че външнo многоканално ИЛИ ще е най-добре, а послед идентификацията процесора да я мисли като се събуди, след като съм го дръпнал за опашката. Външен експандер или процесор ще искат още програмиране, а това не е добра идея за лично моето приложение, но може да стане. PCA-то съм го използвал за едни светодиоди, нямаше грешка там - но преди него беше Малинка, та им беше лесно на софтуеристите...имаха готова библиотека.
|
| Вто Юни 27, 2023 7:47 pm |
|
 |
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 2:21 am Мнения: 12765 Местоположение: София
|
 Re: Многоканален вход и идентификатор
И "PCA"-то и другите експандери са елементарни за подкарване. Не ги мисли програмистите... Твърдата логика не предлага никаква гъвкавост. Ако утре се наложи да се смени полярността на някой сигнал, и греда. А 8-портово или са 4 двойни диода в SOT23 или друга подобна бълха. Не си споменал за нива на сигналите. Всичко е 0 - 5V?
|
| Вто Юни 27, 2023 8:44 pm |
|
 |
|
emilvtc
Ранг: Форумен бог
Регистриран на: Вто Фев 06, 2007 8:44 pm Мнения: 3175 Местоположение: Пловдив
|
 Re: Многоканален вход и идентификатор
При твърдата логика "без памет" ще е проблем, ако събуждащите 8 сигнала са по-кратки от времето за събуждане на проца. Примерно ако се буди за 10uS а сигналите ти са с продължителност 1uS. Проца през 8 входовото AND/OR ще ти се събуди, но като сканира входовете може и да не разбере кой точно го е събудил. Ако добавиш 8 битов паралелен регистър примерно 74хх373 или 74хх374 или нещо от този род и прекараш 8-те сигнала през него, а той се лачва от изхода на 8 входовия AND или OR (зависи какви са ти активните нива) би могло да се направи нещо, но пак ако прицъкат 2 сигнала бързо един след друг - тази схема ще лачне последния и проца като се събуди ще прочете последния сигнал, а не първия, който първи е предизвикал буденето.
Зависи каква е логиката на това, което правиш и дали разните там ексепшъни на схемата с твърда логика са приемливи за теб или не.
|
| Вто Юни 27, 2023 10:40 pm |
|
 |
|
itso.t
Ранг: Форумен бог
Регистриран на: Чет Фев 03, 2005 2:21 am Мнения: 12765 Местоположение: София
|
 Re: Многоканален вход и идентификатор
За енкодера който си харесал... Това е приоритетен енкодер. Ако има сигнал на няколко входа, с приоритет е тоя с най-голяма стойност. Например ако има сигнал на входове 2 и 7, "печели" 7. Няма как да разбереш колко инициатора на събуждане има.
|
| Вто Юни 27, 2023 10:53 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30684 Местоположение: София
|
 Re: Многоканален вход и идентификатор
Каква консумация гониш, тия експандери имат предимството, че ще ти генерират прекъсване и запишат нивата, така че ще знаеш какво те е събудило, но да се събудиш, да го изчетеш, си иска време, тоа време е батерия. Подходящ малък контролер, с читаво направен IOC може да ти свръши по-добра работа. Ако бюджета не те притиска много и ти трябва нещо икономично 8051F931, в момента тъкмо съжалявам, че спестих един долар и сложих смотан пик  С този например имаш прекъсване port match което всъщност е not match, та зареждаш при всяка промяна текушите портове в регистъра за мач и ходиш да спиш. Като има дисмач, то ще те събути, ще направи каквото трябва и пак ще заспи. Ако искаш да си спестиш долар, може някой пик, ама гледай да е с новите ядра, и ми се струва там трудно ще докараш тока на 931, но пък ако не гониш консумация също става. Защо да слагаш експандери, или външни логики ...
|
| Вто Юни 27, 2023 11:01 pm |
|
 |
|
velio
Ранг: Форумен бог
Регистриран на: Вто Юни 07, 2005 6:20 pm Мнения: 3532
|
 Re: Многоканален вход и идентификатор
И аз да се запиша - I2C експандерите са добра идея. PCA9555 примерно се произвежда от няколко фирми. В някои ситуации може да се окажат чувствителни към ESD смущения. Имали сме такива проблеми. Чиповете на някои производители са по-чувствителни от чиповете на други (за 9555 става въпрос). Програмируема логика бих използвал само за развой. За производство - дискретни чипове - ем по-евтино, ем не се изисква програмиране. Малък MCU е най-добрия вариант. Ние сменихме PCA9555 с MCU и от тогава слънцето изгря за нас. Има изключително евтини (ST имаха слоган - 32 бита за 32 цента  ). Предимства много - най-вече че е гъвкаво и може да се "втвърди" програмно против смущения. Три - четири дискретни логики стъпват на същата цена, но заемат значително повече място на платката.
|
| Сря Юни 28, 2023 7:07 pm |
|
|