| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Многоканален вход и идентификатор http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=18864 |
Страница 1 от 2 |
| Автор: | Grubi [ Вто Юни 27, 2023 9:26 am ] |
| Заглавие: | Многоканален вход и идентификатор |
Не съм правил досега такова, затова ще го сложа в академия. Значи, 8 входа, които могат да събуждат някаква система плюс идентификация от кой вход (кои входове) звъни будилника Според настъпалите мотиката - по-добре с логики или директно да сложа контролер / програмируема логика Горните две - събуждането и идентификацията, ще събуждат захранване и по-голям контролер. Друг въпрос е колко ще трае сигнала на будилника, за колко време ще се събуди системата преди да разбере кой я е събудил и т.н. Ако ще е с логики си мисля за 74HC4078, 8 входово ИЛИ https://www.st.com/resource/en/datasheet/CD00000322.pdf https://www.ti.com/product/CD4078B?keyMatch=74HC4078 и за идентификация https://www.ti.com/lit/ds/symlink/sn74h ... NQodNPIPzw https://www.ti.com/lit/ds/symlink/cd74h ... e.com%252F |
|
| Автор: | emilvtc [ Вто Юни 27, 2023 10:25 am ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
Ако нямаш 9 входни пина в основния ти процесор единия от които ти е вход за прекъсване/будене - аз бих сложил малък микроконтролер, който да има прекъсване/будене по външен пин (твоите 8 сигнала). Така продълцителността на събуждащия сигнал няма да е проблем, защото статус регистъра на прекъсванията в микроконтролерчето ще ти ги е запомнило. От там на сетне малкия буди големия проц и големия чете по някакъв интерфейс сериен или паралелен статуса, кой точно сигнал го е събудил. Има малки контролерчета под 0.5$. В процеса на разработване винаги може да ти дойде идея и за допълнителна функкционалност на устройството ти, която би могла да се поеме от това мцу. Е, зависи и колко бройки ще се произвеждат. Малкия контролер ще трябва да се програмира при производството, докато обикновената логика - не. Като цена - вариантите са почти съизмерими. |
|
| Автор: | Grubi [ Вто Юни 27, 2023 10:42 am ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
Да, съгласен съм. Трябва да видя само тези (всички) източници на събуждане, колко време ще продължава сигнала им за събуждане - т.е. импулс с определено времетраене, или смяна на състоянието, докато външно не го върнеш в първоначалното му състояние. Да не се окаже, че докато се събудя нещата са се променили. Но, обикновена ИЛИ логика за събуждане и 8 GPIO на основния контролер вероятно ще е ОК, пинове има достатъчно. Ако искам някаква момента памет или по-сложна функция, вероятно няма как да стане без външен контролер. |
|
| Автор: | Desert Leo [ Вто Юни 27, 2023 10:50 am ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
Виж порт експандерите дали няма да ти свършат работа. |
|
| Автор: | Grubi [ Вто Юни 27, 2023 11:04 am ] | |||||||||
| Заглавие: | Re: Многоканален вход и идентификатор | |||||||||
имаш предвид от GPIO - I2C например? и такъв експандер да има събуждане някакво си? |
||||||||||
| Автор: | Desert Leo [ Вто Юни 27, 2023 11:15 am ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
Виж MCP23X08, например. |
|
| Автор: | Реконструктор [ Вто Юни 27, 2023 1:41 pm ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
Бате, при положение, че MCU-тата струват стотинки е абсолютна ерес да мислиш за квото и да било друго. |
|
| Автор: | Bai Ui [ Вто Юни 27, 2023 2:09 pm ] | |||||||||
| Заглавие: | Re: Многоканален вход и идентификатор | |||||||||
аз също съм с две ръце за програмируема логика обаче ако е за серийно производство това предполага порт за програмиране и допълнителни инструкции и манипулации при асемблирането/тестването. От друга страна програмирането на логиката може да се извърши директно от процесора, т.е. конфигурацията да бъде част от кода за мцу-то. Това с порт експандера дето Desert Leo го предложи не е лошо, има и прекъсване. |
||||||||||
| Автор: | syscop [ Вто Юни 27, 2023 2:17 pm ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
Зависи много от конкретната ситуация. Аз избрах pca9555 заради "...No glitch on power-up...". |
|
| Автор: | Grubi [ Вто Юни 27, 2023 7:47 pm ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
Благодаря за предложенията - ще включа кантара и да видим. Мисля, че външнo многоканално ИЛИ ще е най-добре, а послед идентификацията процесора да я мисли като се събуди, след като съм го дръпнал за опашката. Външен експандер или процесор ще искат още програмиране, а това не е добра идея за лично моето приложение, но може да стане. PCA-то съм го използвал за едни светодиоди, нямаше грешка там - но преди него беше Малинка, та им беше лесно на софтуеристите...имаха готова библиотека. |
|
| Автор: | itso.t [ Вто Юни 27, 2023 8:44 pm ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
И "PCA"-то и другите експандери са елементарни за подкарване. Не ги мисли програмистите... Твърдата логика не предлага никаква гъвкавост. Ако утре се наложи да се смени полярността на някой сигнал, и греда. А 8-портово или са 4 двойни диода в SOT23 или друга подобна бълха. Не си споменал за нива на сигналите. Всичко е 0 - 5V? |
|
| Автор: | emilvtc [ Вто Юни 27, 2023 10:40 pm ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
При твърдата логика "без памет" ще е проблем, ако събуждащите 8 сигнала са по-кратки от времето за събуждане на проца. Примерно ако се буди за 10uS а сигналите ти са с продължителност 1uS. Проца през 8 входовото AND/OR ще ти се събуди, но като сканира входовете може и да не разбере кой точно го е събудил. Ако добавиш 8 битов паралелен регистър примерно 74хх373 или 74хх374 или нещо от този род и прекараш 8-те сигнала през него, а той се лачва от изхода на 8 входовия AND или OR (зависи какви са ти активните нива) би могло да се направи нещо, но пак ако прицъкат 2 сигнала бързо един след друг - тази схема ще лачне последния и проца като се събуди ще прочете последния сигнал, а не първия, който първи е предизвикал буденето. Зависи каква е логиката на това, което правиш и дали разните там ексепшъни на схемата с твърда логика са приемливи за теб или не. |
|
| Автор: | itso.t [ Вто Юни 27, 2023 10:53 pm ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
За енкодера който си харесал... Това е приоритетен енкодер. Ако има сигнал на няколко входа, с приоритет е тоя с най-голяма стойност. Например ако има сигнал на входове 2 и 7, "печели" 7. Няма как да разбереш колко инициатора на събуждане има. |
|
| Автор: | ToHu [ Вто Юни 27, 2023 11:01 pm ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
Каква консумация гониш, тия експандери имат предимството, че ще ти генерират прекъсване и запишат нивата, така че ще знаеш какво те е събудило, но да се събудиш, да го изчетеш, си иска време, тоа време е батерия. Подходящ малък контролер, с читаво направен IOC може да ти свръши по-добра работа. Ако бюджета не те притиска много и ти трябва нещо икономично 8051F931, в момента тъкмо съжалявам, че спестих един долар и сложих смотан пик |
|
| Автор: | velio [ Сря Юни 28, 2023 7:07 pm ] |
| Заглавие: | Re: Многоканален вход и идентификатор |
И аз да се запиша - I2C експандерите са добра идея. PCA9555 примерно се произвежда от няколко фирми. В някои ситуации може да се окажат чувствителни към ESD смущения. Имали сме такива проблеми. Чиповете на някои производители са по-чувствителни от чиповете на други (за 9555 става въпрос). Програмируема логика бих използвал само за развой. За производство - дискретни чипове - ем по-евтино, ем не се изисква програмиране. Малък MCU е най-добрия вариант. Ние сменихме PCA9555 с MCU и от тогава слънцето изгря за нас. Има изключително евтини (ST имаха слоган - 32 бита за 32 цента |
|
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|