Отговори на тема  [ 74 мнения ]  Отиди на страница 1, 2, 3, 4, 5  Следваща
PIC - More InputS are needed :) 
Автор Съобщение
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 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
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
Например MCP23016 на Microchip - I/O expander по I2C. И други производители предлагат подобни - например Maxim. Потърси...


Пон Сеп 19, 2005 10:56 pm
Профил ICQ
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
Абе честно да си кажа бях засичал точно този израз - i/o expander < но не знам що ударих на камък с едно лесно търсене в гоогъл ...

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

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Пон Сеп 19, 2005 11:42 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 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
Профил WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
само пиша, за да отговоря на въпроса,
а после ще разглеждам задълбочено идеите ви :) ;)

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

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Последна промяна the_real_maniac на Вто Сеп 20, 2005 5:19 pm, променена общо 1 път



Вто Сеп 20, 2005 12:49 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

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

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

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Вто Сеп 20, 2005 2:06 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Единственото разумно решение ( според мен ) е преместващ регистър с паралелни входове - напр. 'HC166. За да го ползваш, ти трябват 3 пина от процесора : 2 изхода и един вход. Предимството е, че с тези 3 пина можеш да вържеш колкото си искаш входове - дори 1 милион 8O .


Вто Сеп 20, 2005 2:38 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 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
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Това нещо обикновено не се прави така. Ако искаш повече от 2-3 чипа 'HC166, навързани каскадно, се ползва хардуерният SPI.


Вто Сеп 20, 2005 8:05 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
bateAz написа:
Това нещо обикновено не се прави така. Ако искаш повече от 2-3 чипа 'HC166, навързани каскадно, се ползва хардуерният SPI.


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


Сря Сеп 21, 2005 1:15 am
Профил WWW
Online
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30685
Местоположение: София
Мнение 
Абе за 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
Профил WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пон Юли 04, 2005 11:51 pm
Мнения: 651
Местоположение: София
Мнение 
При XC95xxXL серията, консумацията е около 40мА ... 3.3V ... лично според мен CPLD'ъо е най удачния вариянт за и/о експандер ... супер удобно и гъвкаво ... а и при цена от порядака на 1-2$ за броика си е направо далавера ... ;)

_________________
От наше село са види връо, ама от връо се невиди наше село ... що така и я незнам .. ?!?


Сря Сеп 21, 2005 1:11 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

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

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


Сря Сеп 21, 2005 1:31 pm
Профил WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 74 мнения ]  Отиди на страница 1, 2, 3, 4, 5  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни