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

PIC - More InputS are needed :)
http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=1034
Страница 1 от 5

Автор:  the_real_maniac [ Пон Сеп 19, 2005 9:38 pm ]
Заглавие:  PIC - More InputS are needed :)

Въпроса ми е на кратко: Какво правите като имате нужда от повече I/O-та , отколкото имате.

В точния случей имам нужда от повече Input крачка от колкото (I/O) разполагам.

И не говориме за +2/3/4 , ами примерно имам нужда от 50 , да не кажа 100+ ;)
-----

Значи вариантите , които до момената са ми известни:

- някаква матрица;

- мултиплексори , които всъщност една основна част от тях си е пак матрицата;

- използване на още Пикове :? в комуникация с един master ...
като нали ще използвам някои от по-големите пикове ;)

- чух някаква идея от приятел за изпозвлане на клетки памет, но в крайна сметка не разбрах за какво става въпрос макар и на момента , когато обсъждахме останах с впечатлението , че ми е станало ясно , но ... тук се надявам , някои да се сети за какво става въпрос ?.

- предложения ?!. :)

Мисля, че ще е интересна тема.

Автор:  Gogo [ Пон Сеп 19, 2005 10:56 pm ]
Заглавие: 

Например MCP23016 на Microchip - I/O expander по I2C. И други производители предлагат подобни - например Maxim. Потърси...

Автор:  the_real_maniac [ Пон Сеп 19, 2005 11:42 pm ]
Заглавие: 

Абе честно да си кажа бях засичал точно този израз - i/o expander < но не знам що ударих на камък с едно лесно търсене в гоогъл ...

пак ще погледна ;)
Само ми е интересно до колко expand-ват :D

Автор:  [ Вто Сеп 20, 2005 12:00 am ]
Заглавие: 

Значи когато ми трябват изходи използвам 4094, CMOS, навързват се серийно, 3 крачета за управление на N на брой чипа.
Потърси в серията HC, HCT & 4000 за преместващи регистри с паралелен вход и последователен изход, които да могат да се навързват серийно, като например 4014, 74hc165, 74hc166, 74F676 ( 16 входов ) и т.н.
Може и микроконтролери да използваш, но имат недостатъка, че трябва да им се пише програма, а и са много по-скъпи от преместващите регистри.
8255 на Intel е 24 I/O чип, но изисква 8-битова шина за управление, има го и в CMOS вариант.
С клетки памет може би е имал предвид адресните линии да ги използваш за входове, а по шината данни да декодирваш кои входове са активни, което изисква на различните адреси да записваш точно определени данни. Сложно и неефективно е според мен.
Какви данни четеш с тия входове ? Скорост ? Нива ? 3 състояния има ли ?

Автор:  the_real_maniac [ Вто Сеп 20, 2005 12:49 pm ]
Заглавие: 

само пиша, за да отговоря на въпроса,
а после ще разглеждам задълбочено идеите ви :) ;)

Чета две състояния - 1 или 0 (логически).

Автор:  Цецо [ Вто Сеп 20, 2005 2:06 pm ]
Заглавие: 

I/O expander е чип който ти дава допълнителни входове и изходи. Най разпространения беше на Филипс, потърси из нета ако не намериш кажи ще ти дам директно референса (сега не ми се търси). Конкретно тоя беше с 8 или 16 пина които можеш да четеш (ако са входове) или пишеш (ако са изходи). Управлява се по I2C, мисля че максималния брой който можеш да навържеш беше достатъчен, че да покриеш 50тина крака. По принцип Микрочип също пуснаха такова нещо, ама тоя на Филипс е много стар и известен и се намираше лесно по разни доставчици.

Иначе най просто е регистри с паралелен/сериен вход/изход, в зависимост каква комбинация ти трябва. Но тогава ти трябва по един чип селект за всеки та да можеш да ги адресираш - което значи минимум 1 крак на процесора на всеки 8 спечелени + още 2 общи за данни и клок.

Автор:  bateAz [ Вто Сеп 20, 2005 2:38 pm ]
Заглавие: 

Единственото разумно решение ( според мен ) е преместващ регистър с паралелни входове - напр. 'HC166. За да го ползваш, ти трябват 3 пина от процесора : 2 изхода и един вход. Предимството е, че с тези 3 пина можеш да вържеш колкото си искаш входове - дори 1 милион 8O .

Автор:  Реконструктор [ Вто Сеп 20, 2005 3:28 pm ]
Заглавие: 

Може и с паралелни регистри, но тогава ще ти трябва по 1 линия за чип селект за всеки регистър. Но пък ще е доста по-бързо от серийното изпълнение.

Автор:  [ Вто Сеп 20, 2005 3:54 pm ]
Заглавие: 

За управление на N на брой преместващи регистри с паралелен вход и последователен изход са нужни само 3 крачета: Chip Select или още наричан Strobe е общ за всички регистри, Clock-а също е общ за всички и серийния изход на последния регистър става Data Input за процесора. За да стане обаче този номер, трябва преместващите регистри да имат и допълнителен последователен вход, на който вход се завързва последователния изход за данни на предходния регистър. По този начин ако имаш нужда от да речем 80 входа, слагаш 10 бр. 8-битови регистъра, активираш Strobe, при което входовете се прочитат и запомнят в регистъра, след което следва 80 такта на Clock-a, съответно 80 бита ще ти влезнат през Data Input входа на процесора. Ако професора е на 4 MHz и приемем, че за приемането на 1 бит ти са нужни 15 инструкции, то след 1200us ще си прочел всички входове, което прави около 833 четения в секунда. Ако използваш 74F676, ще ти трябват само 5 чипа, тъй като той има 16 паралелни входа и изпълнява условието да има освен серийния изход и сериен вход. Но той пък има допълнително краче Mode, за което ще ти трябват не 3, а 4 I/O пина за управлението.

Автор:  bateAz [ Вто Сеп 20, 2005 8:05 pm ]
Заглавие: 

Това нещо обикновено не се прави така. Ако искаш повече от 2-3 чипа 'HC166, навързани каскадно, се ползва хардуерният SPI.

Автор:  [ Сря Сеп 21, 2005 1:15 am ]
Заглавие: 

bateAz написа:
Това нещо обикновено не се прави така. Ако искаш повече от 2-3 чипа 'HC166, навързани каскадно, се ползва хардуерният SPI.


Когато ми се наложи да правя такива I/O разширения, обикновено тръгвам със същата идея, че трябва да използвам SPI модула, обаче като опре до опроводяване на печатна платка, все така става, че ми е по-удобно да пусна шината на други крачета и да я направя софтуерно. Е, 80 входа или изхода не ми се е налагало, но до 40 изхода съм стигал с 4094 ( мисля, че ги зареждах софтуерно за 300-400 микросекунди )

Автор:  ToHu [ Сря Сеп 21, 2005 5:37 am ]
Заглавие: 

Абе за 50 пина .. едно малко CPLD пък по какувто схтес интерфеис по такъв ... но всицки последователни гълтат време

Автор:  [ Сря Сеп 21, 2005 10:00 am ]
Заглавие: 

@ToHu, имаш ли представа каква е консумацията на такова CPLD, както и цената му ? Никога не съм пробвал с CPLD. С 4 бр. 4094 при +5V консумацията е 10 мкА.

Автор:  BrainStorm [ Сря Сеп 21, 2005 1:11 pm ]
Заглавие: 

При XC95xxXL серията, консумацията е около 40мА ... 3.3V ... лично според мен CPLD'ъо е най удачния вариянт за и/о експандер ... супер удобно и гъвкаво ... а и при цена от порядака на 1-2$ за броика си е направо далавера ... ;)

Автор:  [ Сря Сеп 21, 2005 1:31 pm ]
Заглавие: 

BrainStorm написа:
При XC95xxXL серията, консумацията е около 40мА ... 3.3V ... лично според мен CPLD'ъо е най удачния вариянт за и/о експандер ... супер удобно и гъвкаво ... а и при цена от порядака на 1-2$ за броика си е направо далавера ... ;)

Цената е хубава, но консумацията е твърде голяма. За малка консумация и много крачета е май по-удобно големи PIC-ове да се използват. Колко входа и/или изхода може да се разширят с XC95xxXL ?

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