Witam,
Będę potrzebował jakąś pamięć 512kB do mikrokontrolera AVR. Najprawdopodobniej będzie to ATMEGA8535 albo jakiś podobny obsługujący I2C, choć być może będzie jakiś z większą liczbą pinów I/O. W każdym razie powinien obsługiwać I2C, powinien mieć przetwornik ADC. Na razie rozglądam się czego by tu można użyć... Chwilowo moją uwagę zwróciła pamięć o symbolu: 628512LP07SMD- nie jestem jednak pewny czy jest odpowiednia. Pamięć której potrzebuję musi zachowywać zawartość po odłączeniu zasilania. Dobrze też by było żeby była właśnie w SMD.
Zasadniczo zadanie do którego potrzebuję jest nastepujące: urządzenie ma być czymś w rodzaju cyfrowego dyktafonu. Chcę mieć dostęp do zapisanych komunikatów głosowych i móc je w dowolnej chwili odczytywać. Komunikaty te będą zapisane "raz na zawsze" i na dobrą sprawę nie jest potrebna możliwość ich zmiany. To będzie kierowane do przetwornika DAC i odtwarzane jako dźwięk. Na poniższym rysunku przedstawiłem moją wstępną koncepcję, choć zdaję sobie sprawę, że rozwiązanie to ma poważne wady. Przede wszystkim pamięć musiałaby być wcześniej zapisana i można by było z niej tylko wysyłać dane do DAC. Samo programowanie to też trudność przy takim rozwiązaniu- właściwie to na razie nie wiem jak to rozwiązać. Trzeba by było z mikrokontrolera podawać adresy i w tym samym czasie do szyny danych podawać liczby do zapisania. Pewnie się to da zrobić, zle może jest jakiś prostszy sposób?? W związku z tym kilka moich pytań:
1. Czy są pamięci adresowane szeregowo? Jeśli tak to jakie? Jeśli takie są to na pewno mają dużo większy czas dostępu- jakiego rzędu?
2. Dużo lepiej niż na moim rysunku byłoby połączyć 8-bitową szynę danych do mikrokontrolera. Ale razem z 16-bitową szyną adresową i 3 pinami sterującymi mam wtedy 27 zajętych pinów. W ATMEGA8535 jest tylko 32 I/O- zostaje mi 5. Będę potrzebował podłączyć jeszcze 2 urządzenia na I2C i dodatkowo 1 albo 2 piny muszę mieć wolne... Czyli braknie. ATMEGA8515 ma o 35 linii I/O, ale z tego co się zorientowałem nie obsługuje I2C. Jak to rozwiązać?
3. Czy jest jakiś AVR z przetwornikiem DAC?
4. Może jakaś inna pamięć niż ta którą znalazłem będzie lepsza do tego celu? Odnośnie zachowywania zawartości po odłączeniu zasilania- czy stan pamięci trzeba podtrzymywać jakąś bateryjką Li-Ion, czy są też takie które po prostu "same z siebie" się nie kasują (zdaje się, że EEPROM o ile dobrze myślę)?
5. Czy ktoś mógłby udzielić mi jakichś wskazówek jak się za to zabrać? Nie chodzi mi tu o narysowanie schematu i napisanie kodu... potrzebuję konkretnych wskazówek z czego się można szybko i skutecznie nauczyć. No i na co powinienem zwrócić uwagę. Jak się takie coś programuje z PC? Pewnie wiele osób ma dużo doświadczenia w tej dziedzinie. Będę wdzięczny jeśli ktoś coś podpowie.
Będę potrzebował jakąś pamięć 512kB do mikrokontrolera AVR. Najprawdopodobniej będzie to ATMEGA8535 albo jakiś podobny obsługujący I2C, choć być może będzie jakiś z większą liczbą pinów I/O. W każdym razie powinien obsługiwać I2C, powinien mieć przetwornik ADC. Na razie rozglądam się czego by tu można użyć... Chwilowo moją uwagę zwróciła pamięć o symbolu: 628512LP07SMD- nie jestem jednak pewny czy jest odpowiednia. Pamięć której potrzebuję musi zachowywać zawartość po odłączeniu zasilania. Dobrze też by było żeby była właśnie w SMD.
Zasadniczo zadanie do którego potrzebuję jest nastepujące: urządzenie ma być czymś w rodzaju cyfrowego dyktafonu. Chcę mieć dostęp do zapisanych komunikatów głosowych i móc je w dowolnej chwili odczytywać. Komunikaty te będą zapisane "raz na zawsze" i na dobrą sprawę nie jest potrebna możliwość ich zmiany. To będzie kierowane do przetwornika DAC i odtwarzane jako dźwięk. Na poniższym rysunku przedstawiłem moją wstępną koncepcję, choć zdaję sobie sprawę, że rozwiązanie to ma poważne wady. Przede wszystkim pamięć musiałaby być wcześniej zapisana i można by było z niej tylko wysyłać dane do DAC. Samo programowanie to też trudność przy takim rozwiązaniu- właściwie to na razie nie wiem jak to rozwiązać. Trzeba by było z mikrokontrolera podawać adresy i w tym samym czasie do szyny danych podawać liczby do zapisania. Pewnie się to da zrobić, zle może jest jakiś prostszy sposób?? W związku z tym kilka moich pytań:
1. Czy są pamięci adresowane szeregowo? Jeśli tak to jakie? Jeśli takie są to na pewno mają dużo większy czas dostępu- jakiego rzędu?
2. Dużo lepiej niż na moim rysunku byłoby połączyć 8-bitową szynę danych do mikrokontrolera. Ale razem z 16-bitową szyną adresową i 3 pinami sterującymi mam wtedy 27 zajętych pinów. W ATMEGA8535 jest tylko 32 I/O- zostaje mi 5. Będę potrzebował podłączyć jeszcze 2 urządzenia na I2C i dodatkowo 1 albo 2 piny muszę mieć wolne... Czyli braknie. ATMEGA8515 ma o 35 linii I/O, ale z tego co się zorientowałem nie obsługuje I2C. Jak to rozwiązać?
3. Czy jest jakiś AVR z przetwornikiem DAC?
4. Może jakaś inna pamięć niż ta którą znalazłem będzie lepsza do tego celu? Odnośnie zachowywania zawartości po odłączeniu zasilania- czy stan pamięci trzeba podtrzymywać jakąś bateryjką Li-Ion, czy są też takie które po prostu "same z siebie" się nie kasują (zdaje się, że EEPROM o ile dobrze myślę)?
5. Czy ktoś mógłby udzielić mi jakichś wskazówek jak się za to zabrać? Nie chodzi mi tu o narysowanie schematu i napisanie kodu... potrzebuję konkretnych wskazówek z czego się można szybko i skutecznie nauczyć. No i na co powinienem zwrócić uwagę. Jak się takie coś programuje z PC? Pewnie wiele osób ma dużo doświadczenia w tej dziedzinie. Będę wdzięczny jeśli ktoś coś podpowie.