Połączeni 2 procków jakby w jeden.
- siekierzyński
- Użytkownik
- Posty: 482
- Rejestracja: 01 cze 2010, 23:12
- Lokalizacja: Nareszcie Polska
Połączeni 2 procków jakby w jeden.
Witam,
przymierzam się do pewnego projektu, w którym potrzebuje połączyć 2 procki (ATMEGA128) w jeden, ponieważ potrzebuje ponad 60 pinów do sterowania. Wiem mógłbym kupić jeden, który ma tyle pinów, ale trochę to drogawe (ok 50zł) i trzeb płacić dodatkowo za wysyłkę.
Moje pytanie brzmi: czy istnieje jakiś sposób na dostęp MASTER do SLAVE, tak, że w master wpisuje PORTB.2 = 1 i to polecenie ma się odnosić do SLAVE. Z tego co się orientuję to są komendy Spiin i Spiout. Ale boje się, że ta 1-sza będzie powodowała zawieszanie programu jak w przypadku komendy Input (dla UART). Czy jest jakiś sposób na obejście tego?
Narzie pytam się teoretycznie, bo nie bawiłem się tym praktycznie.
przymierzam się do pewnego projektu, w którym potrzebuje połączyć 2 procki (ATMEGA128) w jeden, ponieważ potrzebuje ponad 60 pinów do sterowania. Wiem mógłbym kupić jeden, który ma tyle pinów, ale trochę to drogawe (ok 50zł) i trzeb płacić dodatkowo za wysyłkę.
Moje pytanie brzmi: czy istnieje jakiś sposób na dostęp MASTER do SLAVE, tak, że w master wpisuje PORTB.2 = 1 i to polecenie ma się odnosić do SLAVE. Z tego co się orientuję to są komendy Spiin i Spiout. Ale boje się, że ta 1-sza będzie powodowała zawieszanie programu jak w przypadku komendy Input (dla UART). Czy jest jakiś sposób na obejście tego?
Narzie pytam się teoretycznie, bo nie bawiłem się tym praktycznie.
- siekierzyński
- Użytkownik
- Posty: 482
- Rejestracja: 01 cze 2010, 23:12
- Lokalizacja: Nareszcie Polska
Co do 1-szego, to jestem zielony, zaś o drugim słyszałem na lekcjach elektroniki cyfrowej, ale to tylko słyszałem. Muszę sie tym zainteresować.kaliska5 pisze:Jeśli potrzebujesz dużo pinów IO czemu nie użyjesz expanderow albo nawet rejestrów przesuwnych ?
[ Dodano: 2010-12-19, 00:40 ]
Dobra, expandery już załapałem. Rejesry przesuwne jeszcze nie.
Głównie mi tu chodzi, aby 'połączyć' pamięci RAM obu procków, tak, żebym jak najmniej musiał się bawić w jakieś komendy. Oba procki muszą mieć możliwość równoczesnego stępu do pamięci RAM. Może być przepisywanie z jedngo do drugiego, ale chce, żeby pętla główna mi isę nie zatrzymywała przy tym. Procki generowały by programowy sygnał PWM.
Bez sensu jest używać dwóch procesorów wyłącznie w imię zwiększenia ilości pinów. To, jakie rozwiązanie będzie najlepsze, zależy od tego:
1. Jakie to ma być szybkie?
2. Czy te dodatkowe piny to wejścia? Wyjścia? A może oba na raz?
3. Czemu się boisz komend? Możesz prosto i szybko zrobić sobie odpowiednie funkcje i ich używać zamiast zwykłych komend.
1. Jakie to ma być szybkie?
2. Czy te dodatkowe piny to wejścia? Wyjścia? A może oba na raz?
3. Czemu się boisz komend? Możesz prosto i szybko zrobić sobie odpowiednie funkcje i ich używać zamiast zwykłych komend.
-
keruseykaryu
kaliska5 pisze:expanderow albo nawet rejestrów przesuwnych?
Albo FPGA. Albo ATmega1280.mr_x pisze:Albo układu 82C55 (lub podobnego).
[ Dodano: 2010-12-19, 09:49 ]
Są jeszcze Spimove i przerwania.siekierzyński pisze:Z tego co się orientuję to są komendy Spiin i Spiout. Ale boje się, że ta 1-sza będzie powodowała zawieszanie programu jak w przypadku komendy Input (dla UART).
Co do rejestru przesuwnego to tutaj masz fajnie opisane z przykładami w C. Rejestry maja tez 1 duża zaletę są tanie jak barszcz (w lispolu 60gr).
- siekierzyński
- Użytkownik
- Posty: 482
- Rejestracja: 01 cze 2010, 23:12
- Lokalizacja: Nareszcie Polska
Tylko gdzie to można kupić?keruseykaryu pisze:Albo ATmega1280.
EDIT:
Dobra mam. LINK
Czy ktoś może mi powiedzieć, jaka jest różnica między ATMEGA1280-16AU a ATMEGA1280V-8AU bo tego nigdy nie mogę dociec. Są jeszcze końcówki -PUX. To V to wiem co oznacza.
-
keruseykaryu
siekierzyński napisał:
Ja już pomijam że prościej ci by było kupić ATMegę 16 i podłączyć sobie do niej 4 PCFy8574 i już masz 64 porty I/O razem z tymi w procesorze.
Ja tak coś czuję, w kościach że tradycyjnie rzuciłeś się na pierwszy lepszy proc jaki ci tu zaproponowano, a nawet nie wysiliłeś się zajrzeć do jego noty katalogowej i za chwile będzie wysyp tematów co z tym zrobić i jak to zaprogramować ?Tylko gdzie to można kupić?
Jak tego nie wiesz to wątpię że wiesz że te procki programuje się przez JTAG.Czy ktoś może mi powiedzieć, jaka jest różnica między ATMEGA1280-16AU a ATMEGA1280V-8AU bo tego nigdy nie mogę dociec. Są jeszcze końcówki -PUX. To V to wiem co oznacza.
Ja już pomijam że prościej ci by było kupić ATMegę 16 i podłączyć sobie do niej 4 PCFy8574 i już masz 64 porty I/O razem z tymi w procesorze.
- siekierzyński
- Użytkownik
- Posty: 482
- Rejestracja: 01 cze 2010, 23:12
- Lokalizacja: Nareszcie Polska
Włąśnie się zastanawaiłem nad tym, czy BASCOM go obsłuży i czy też ma programowanie SPI. Co do PCF8574 to popatrzę.kayron pisze:i za chwile będzie wysyp tematów co z tym zrobić i jak to zaprogramować ?
[ Dodano: 2010-12-19, 17:03 ]
Na 1-szy rzut oka to PCF8574 są lepsze od 82C55, zależy jeszcze jaka szybkość I2C. Co do JTAG, to mogą być problemy, bo nigdy nie miałem z nim do czynienia.
A to taki wielki problem uruchomić BASCOM i sprawdzić listę obsługiwanych procesorów ?
Zostaje ci jedynie ATMega 128, bo ta jest programowana przez SPI. Dołozysz do tego jednego PCFa8574 i masz 59 linii I/O.
Raczej logiczne jak 8255 ma co najmniej 30 lat na karku jako konstrukcja.Na 1-szy rzut oka to PCF8574 są lepsze od 82C55, zależy jeszcze jaka szybkość I2C.
Musisz mieć programator JTAG, czyli kolejny wydatek.Co do JTAG, to mogą być problemy, bo nigdy nie miałem z nim do czynienia.
Zostaje ci jedynie ATMega 128, bo ta jest programowana przez SPI. Dołozysz do tego jednego PCFa8574 i masz 59 linii I/O.
- siekierzyński
- Użytkownik
- Posty: 482
- Rejestracja: 01 cze 2010, 23:12
- Lokalizacja: Nareszcie Polska
Żaden lepszy (większy) AVR nie jest programowany przez SPI. Wszystkie większe mają JTAG, lub ostatecznie po wgraniu BootLoadera przez RS232.
Tylko pytanie brzmi po co ci taki potwór ? Dla kilku dodatkowych pinów chcesz się uczyć kolejne pół roku jak go ruszyć z miejsca ?
Dla mnie przerost formy nad treścią, to tak jakby budzik budować na Pentium 4.
Tylko pytanie brzmi po co ci taki potwór ? Dla kilku dodatkowych pinów chcesz się uczyć kolejne pół roku jak go ruszyć z miejsca ?
Dla mnie przerost formy nad treścią, to tak jakby budzik budować na Pentium 4.
-
keruseykaryu
Hmmm... Urzekła mnie Twoja historia.kayron pisze:Żaden lepszy (większy) AVR nie jest programowany przez SPI
Tak samo jak Atmega128.30.8 Serial Downloading
Both the Flash and EEPROM memory arrays can be programmed using a serial programming
bus while RESET is pulled to GND. The serial programming interface consists of pins SCK, PDI
(input) and PDO (output). After RESET is set low, the Programming Enable instruction needs to
be executed first before program/erase operations can be executed. NOTE, in Table 30-15 on
page 351, the pin mapping for serial programming is listed. Not all packages use the SPI pins
dedicated for the internal Serial Peripheral Interface - SPI.
Co było do udowodnienia.STK503 is a top module to the STK500 development board from Atmel Corporation. It adds support for 100-pin AVR microcontrollers (ATmega2560, ATmega1280 and ATmega640).
<obrazek>
Features
- Supports the ATmega2560, ATmega1280 and ATmega640.
- Zero Insertion Force (ZIF) socket for 100-pin TQFP packages
- Supports High Voltage Parallel Programming through STK500
- Supports Serial programming through STK500
- Port connectors for port E, F G, H, J, K and L
- On-board RS-232 converter covering the whole operation range from 1.8 to 5.5V
- Footprint for user-mountable SRAM chip
- On-board address latch for easy connection to memory and peripherals
- JTAG Connector for on-chip debugging using JTAGICE mkII
- On-board 32 kHz crystal for easy Real Time Clock implementations
- Supported by AVR Studio 4