|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 7:52 pm
PIC - More InputS are needed :)
| Автор |
Съобщение |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
 PIC - More InputS are needed :)
Въпроса ми е на кратко: Какво правите като имате нужда от повече I/O-та , отколкото имате.
В точния случей имам нужда от повече Input крачка от колкото (I/O) разполагам.
И не говориме за +2/3/4 , ами примерно имам нужда от 50 , да не кажа 100+
-----
Значи вариантите , които до момената са ми известни:
- някаква матрица;
- мултиплексори , които всъщност една основна част от тях си е пак матрицата;
- използване на още Пикове  в комуникация с един master ...
като нали ще използвам някои от по-големите пикове
- чух някаква идея от приятел за изпозвлане на клетки памет, но в крайна сметка не разбрах за какво става въпрос макар и на момента , когато обсъждахме останах с впечатлението , че ми е станало ясно , но ... тук се надявам , някои да се сети за какво става въпрос ?.
- предложения ?!.
Мисля, че ще е интересна тема.
|
| Пон Сеп 19, 2005 9:38 pm |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
Например MCP23016 на Microchip - I/O expander по I2C. И други производители предлагат подобни - например Maxim. Потърси...
|
| Пон Сеп 19, 2005 10:56 pm |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
Абе честно да си кажа бях засичал точно този израз - i/o expander < но не знам що ударих на камък с едно лесно търсене в гоогъл ...
пак ще погледна
Само ми е интересно до колко expand-ват 
|
| Пон Сеп 19, 2005 11:42 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Значи когато ми трябват изходи използвам 4094, CMOS, навързват се серийно, 3 крачета за управление на N на брой чипа.
Потърси в серията HC, HCT & 4000 за преместващи регистри с паралелен вход и последователен изход, които да могат да се навързват серийно, като например 4014, 74hc165, 74hc166, 74F676 ( 16 входов ) и т.н.
Може и микроконтролери да използваш, но имат недостатъка, че трябва да им се пише програма, а и са много по-скъпи от преместващите регистри.
8255 на Intel е 24 I/O чип, но изисква 8-битова шина за управление, има го и в CMOS вариант.
С клетки памет може би е имал предвид адресните линии да ги използваш за входове, а по шината данни да декодирваш кои входове са активни, което изисква на различните адреси да записваш точно определени данни. Сложно и неефективно е според мен.
Какви данни четеш с тия входове ? Скорост ? Нива ? 3 състояния има ли ?
|
| Вто Сеп 20, 2005 12:00 am |
|
 |
|
the_real_maniac
Ранг: Почетен член
Регистриран на: Пет Авг 19, 2005 11:38 am Мнения: 978 Местоположение: Europe -> BG
|
само пиша, за да отговоря на въпроса,
а после ще разглеждам задълбочено идеите ви
Чета две състояния - 1 или 0 (логически).
Последна промяна the_real_maniac на Вто Сеп 20, 2005 5:19 pm, променена общо 1 път
|
| Вто Сеп 20, 2005 12:49 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
I/O expander е чип който ти дава допълнителни входове и изходи. Най разпространения беше на Филипс, потърси из нета ако не намериш кажи ще ти дам директно референса (сега не ми се търси). Конкретно тоя беше с 8 или 16 пина които можеш да четеш (ако са входове) или пишеш (ако са изходи). Управлява се по I2C, мисля че максималния брой който можеш да навържеш беше достатъчен, че да покриеш 50тина крака. По принцип Микрочип също пуснаха такова нещо, ама тоя на Филипс е много стар и известен и се намираше лесно по разни доставчици.
Иначе най просто е регистри с паралелен/сериен вход/изход, в зависимост каква комбинация ти трябва. Но тогава ти трябва по един чип селект за всеки та да можеш да ги адресираш - което значи минимум 1 крак на процесора на всеки 8 спечелени + още 2 общи за данни и клок.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Сеп 20, 2005 2:06 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
Единственото разумно решение ( според мен ) е преместващ регистър с паралелни входове - напр. 'HC166. За да го ползваш, ти трябват 3 пина от процесора : 2 изхода и един вход. Предимството е, че с тези 3 пина можеш да вържеш колкото си искаш входове - дори 1 милион  .
|
| Вто Сеп 20, 2005 2:38 pm |
|
 |
|
Реконструктор
Ранг: Форумен бог
Регистриран на: Съб Сеп 25, 2004 12:32 pm Мнения: 8382 Местоположение: София
|
Може и с паралелни регистри, но тогава ще ти трябва по 1 линия за чип селект за всеки регистър. Но пък ще е доста по-бързо от серийното изпълнение.
|
| Вто Сеп 20, 2005 3:28 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
За управление на 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 пина за управлението.
|
| Вто Сеп 20, 2005 3:54 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
Това нещо обикновено не се прави така. Ако искаш повече от 2-3 чипа 'HC166, навързани каскадно, се ползва хардуерният SPI.
|
| Вто Сеп 20, 2005 8:05 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Когато ми се наложи да правя такива I/O разширения, обикновено тръгвам със същата идея, че трябва да използвам SPI модула, обаче като опре до опроводяване на печатна платка, все така става, че ми е по-удобно да пусна шината на други крачета и да я направя софтуерно. Е, 80 входа или изхода не ми се е налагало, но до 40 изхода съм стигал с 4094 ( мисля, че ги зареждах софтуерно за 300-400 микросекунди )
|
| Сря Сеп 21, 2005 1:15 am |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Абе за 50 пина .. едно малко CPLD пък по какувто схтес интерфеис по такъв ... но всицки последователни гълтат време
|
| Сря Сеп 21, 2005 5:37 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
@ToHu, имаш ли представа каква е консумацията на такова CPLD, както и цената му ? Никога не съм пробвал с CPLD. С 4 бр. 4094 при +5V консумацията е 10 мкА.
|
| Сря Сеп 21, 2005 10:00 am |
|
 |
|
BrainStorm
Ранг: Почетен член
Регистриран на: Пон Юли 04, 2005 11:51 pm Мнения: 651 Местоположение: София
|
При XC95xxXL серията, консумацията е около 40мА ... 3.3V ... лично според мен CPLD'ъо е най удачния вариянт за и/о експандер ... супер удобно и гъвкаво ... а и при цена от порядака на 1-2$ за броика си е направо далавера ... 
_________________ От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?
|
| Сря Сеп 21, 2005 1:11 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Цената е хубава, но консумацията е твърде голяма. За малка консумация и много крачета е май по-удобно големи PIC-ове да се използват. Колко входа и/или изхода може да се разширят с XC95xxXL ?
|
| Сря Сеп 21, 2005 1:31 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 6 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|