Potrzebuje wielu wyjsc w swoim projekcie i tak sobie myslalem ze moze zamiast kupowac kontroler z duza iloscia portow I/O moze istnieja uklady interfejow laczace sie przez SPI z kontrolerem i udostepniajace wiele portow. Ktos moze slyszal cos o tym? Jezeli tak to bardzo prosilbym o wskazowke ( producent, kod ) oraz ewentualnie jakiegos dystrybutora w Polsce.
Zalezy od ktorej strony spojrzec. Czasem nie da sie wziac wiekszego procesora (bo albo nie ma, albo wyszloby jeszcze drozej), a portow po prostu brakuje.
Czasem tez mozna sobie ulatwic czyms takim prowadzenie sciezek - na przyklad jak masz procesor po jednej stronie plytki, a na drugim koncu musisz czyms posterowac. Zamiast prowadzic 16 sciezek, prosciej puscic I2C z ekspanderem na koncu.
Alez ja patrze z tej samej strony. 2 kosci 595 kosztuja w sumie 82 grosze. Powiedzmy, ze 1.5 zlotego jesli sie kupuje w detalu. Linii sterujacych niewiele wiecej trzeba, bo 3.
Nie chce mi sie teraz sprawdzac jakiej wielkosci sa te kosci Microchipa, ale ekspandery Philipsa sa w obudowie WSO. 595 sa w SO.
Interfejs I2C wcale nie jest lepszy. To, ze nie wymaga chip selectu oddzielnie dla kazdego urzadzenia i ma tylko 1 linie danych (zamiast 2), okupuje znaczaco nizsza predkoscia transmisji: zegar 100/400 kHz w porownaniu do 20-30 MHz (zalezy od mozliwosci konkretnego scalaka) przy SPI.
Szybciej niz 400 kHz? OK - no to liczmy nawet i 500 kHz. Malutko. :( Z pamieci zewnetrznej odczytasz z ta predkoscia tylko 62 KB/s.
? Srednio popedzany AVR (16MHz) moze taktowac sprzetowy interfejs SPI z polowa zegara czyli 8 MHz. Jezeli chcesz zrobic SPI na piechote, bit-po-bicie, to da sie osiagnac spokojnie okolo 1 MHz.
A sprzetowy SPI maja na prawde proste procki, wiecej niz sprzetowy I2C.
Ale musisz wypchac przez I2C adres urzadzenia - a to jest znacznie wolniej niz wyzerowac jedna linie I/O.
Just try. Moge potwierdzic jednak na 100% dzialanie z zegarem 8 MHz (odczyt z pamieci DataFlash). Trzeba by sprobowac szybszym prockiem. A sygnaly smigajace z czestotliwoscia 20 MHz na odleglosc kilku cm (po PCB) to zaden problem.
IMHO I2C nie ma racji bytu w przyszlosci - z interfejsow zjadajacych mniejsza liczbe linii ale z wiekszym zasiegiem istnieje np. dallasowy
1-wire (ale trzeba sie wiecej napocic nad obsluga). A niezly szybszy interfejs o zasiegu lokalnym (kilkanascie cm) to SPI.
:-o To dziwne, moze nieprawidlowo zaprojektowany PCB? Ja pracuje ostatnio na plytce 4-warstwowej i nie mam zadnych problemow z zakloceniami przy kilku-kilkunastu MHz.
Maksymalna predkosc transmisji zalezy tez od konkretnego scalaka, Atmel pisze ze pamieci DataFlash wyrabiaja max. 20 MHz i nie mam podstaw im nie wierzyc.
Pisalismy chyba o interfejsach lokalnych, smigajacych po PCB? Jezeli chodzi o wieksze transfery to HyperTransport bedzie jak znalazl.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.