Есть МК Atmega 128 к нему нужно подсоединить матрицу типа CMOS MCM20027, в даташите на матрицу есть типовая схема ее подключения, но куда подключать: 1,29,30,43,44,45,46,47,48 ноги? Можете подсказать если кто таким занимался?
А также после того нужно подрубить МК к ОЗУ типа SRAM DPS128X24Bn3 и на блок схеме показаны адреса на МК А( 15:8 ), но на блок схеме таких выводов нету? Де они?
Возможно ли на RD подавать сигналы с ОЗУ и с Матрицы на разных частотах или нужен мультиплексор?
Типовая схема подкл. CMOS сенсора: http://content.foto.mail.ru/bk/mereann/42/s-43.jpg
МК:http://content.foto.mail.ru/bk/mereann/42/s-44.JPG
МК и ОЗУ:http://content.foto.mail.ru/bk/mereann/42/i-45.jpg
Как совместить МК Atmega 128 с Cmos матрицей и ОЗУ?
- Реклама
- NiTr0
- Друг Кота
- Сообщения: 3051
- Зарегистрирован: Пт авг 10, 2007 12:49:55
- Откуда: kr.ua
- Контактная информация:
А почитать ДШ - нет? 
Мега 128 не умеет полноценно (аппаратно) работать с внешней памятью - прийдется эмулировать дерганьем ногами. Потому что куда подключите - ваше личное дело.
Насчет матрицы - в ДШ вроде как должно быть описано, что и как ей дергать, чтобы получить с нее изображение. Даже с временными диаграммами.
Мега 128 не умеет полноценно (аппаратно) работать с внешней памятью - прийдется эмулировать дерганьем ногами. Потому что куда подключите - ваше личное дело.
Насчет матрицы - в ДШ вроде как должно быть описано, что и как ей дергать, чтобы получить с нее изображение. Даже с временными диаграммами.
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Чем обусловлен выбор элементной базы?
И сенсор, и память довольно древние (а память так и вообще специфическая).
Думаю, с таким комплектом будет не так просто.
И дело не в том, может мега128 работать с памятью "полноценно(аппаратно)" или нет - она может, просто объём памяти для произвольного аппаратного доступа ограничен 64Кбайт минус внутреннее адресное пространство.
Ну для 8-битников это обычное явление. Надо больше - нужно организовывать страничный доступ, а в пределах страницы нормальная работа в нормальном "аппаратном" темпе.
Но это само по себе не поможет. Не потому, что внешней памяти нужно больше 64К - можно уложить данные так, чтбы строка изображения не пересекала границу страницы и страницы переключать между строками.
Кстати, даже если ограничиться 8-битными данными с сенсора, не брать все 10 бит - всё равно нужно будет 1,25 мегабайта ОЗУ, а в указанной микросхеме только 384килобайта - несколько микросхем планируется? Или будет урезаться картинка, устанавливаться такое окно, что всё влезет?
Просто сенсор хочет быть "мастером", лупит видеосигнал после снятия сброса, сопровождая его синхроимпульсами. А мега128 тоже умеет быть только мастером.
Прямолинейные варианты - программируемая логика или процессор с видео-портом. Дороже, зато в некотором смісле проще.
Можно, исхитриться с мегой так, что она будет выдавать нужные стробы на ОЗУ в те моменты, когда сенсор выдаёт данные. Затактировать сенсор по входу master clock от микроконтроллера, зная период пикселов и время начала строки от запуска сенсора - выставить в микроконтроллере нужные задержки и от них микроконтроллером перебирать адреса.
Но если защёлка адреса (стандартная вещь при подключении внешнего статического ОЗУ к микроконтроллеру/микропроцессору) - это "триггер или хз", а ноги I2C_DATA, I2C_CLK канала управления сенсора непонятно куда подключать - придётся слишком много объяснять начиная с азов, имеющих отношение к цифровой и микропроцессорной технике вообще, а не к данной троице.
Рекомендую для начала посмотреть тему про видео-граббер и разобраться, как делаются такие вещи (имитация прямого доступа к памяти от источника видеосигнала к памяти микроконтроллера).
Грубо, на уровне подходов - там можно заменить синхроселектор и видео-АЦП на Ваш сенсор.
И сенсор, и память довольно древние (а память так и вообще специфическая).
Думаю, с таким комплектом будет не так просто.
И дело не в том, может мега128 работать с памятью "полноценно(аппаратно)" или нет - она может, просто объём памяти для произвольного аппаратного доступа ограничен 64Кбайт минус внутреннее адресное пространство.
Ну для 8-битников это обычное явление. Надо больше - нужно организовывать страничный доступ, а в пределах страницы нормальная работа в нормальном "аппаратном" темпе.
Но это само по себе не поможет. Не потому, что внешней памяти нужно больше 64К - можно уложить данные так, чтбы строка изображения не пересекала границу страницы и страницы переключать между строками.
Кстати, даже если ограничиться 8-битными данными с сенсора, не брать все 10 бит - всё равно нужно будет 1,25 мегабайта ОЗУ, а в указанной микросхеме только 384килобайта - несколько микросхем планируется? Или будет урезаться картинка, устанавливаться такое окно, что всё влезет?
Просто сенсор хочет быть "мастером", лупит видеосигнал после снятия сброса, сопровождая его синхроимпульсами. А мега128 тоже умеет быть только мастером.
Прямолинейные варианты - программируемая логика или процессор с видео-портом. Дороже, зато в некотором смісле проще.
Можно, исхитриться с мегой так, что она будет выдавать нужные стробы на ОЗУ в те моменты, когда сенсор выдаёт данные. Затактировать сенсор по входу master clock от микроконтроллера, зная период пикселов и время начала строки от запуска сенсора - выставить в микроконтроллере нужные задержки и от них микроконтроллером перебирать адреса.
Но если защёлка адреса (стандартная вещь при подключении внешнего статического ОЗУ к микроконтроллеру/микропроцессору) - это "триггер или хз", а ноги I2C_DATA, I2C_CLK канала управления сенсора непонятно куда подключать - придётся слишком много объяснять начиная с азов, имеющих отношение к цифровой и микропроцессорной технике вообще, а не к данной троице.
Рекомендую для начала посмотреть тему про видео-граббер и разобраться, как делаются такие вещи (имитация прямого доступа к памяти от источника видеосигнала к памяти микроконтроллера).
Грубо, на уровне подходов - там можно заменить синхроселектор и видео-АЦП на Ваш сенсор.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
- Реклама
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: Как совместить МК Atmega 128 с Cmos матрицей и ОЗУ?
Прошу прощения за задержку - вышел из строя очередной винчестер.
Отвечаю сразу на несколько вопросов в личку.
Взять однин сенсор проще всего как модуль от видеокамеры от мобильного телефона. Подборка цоколёвок есть тут, но место подозрительное, всё время рвётся что-то установить. Лучше отключить java-скрипты.
Часть сенсоров имеет параллельный интерфейс, похожий на тот, который у обсуждаемого в этой теме.
Бывает последовательный интерфейс. Частоты там, конечно, не для AVR, но и для параллельного интерфейса не легче - для заданного разрешения и частоты кадров число мегабит в секунду одинаковое независимо от интерфейса. Тактовую сенсора всё равно нужно снижать, вопрос только - насколько сильно.
Большинство сенсоров более-менее прилично могу работать при накоплении до долей секудны и дольше, т.е. медленнее в десятки раз от штатной частоты. Шумы, конечно, растут.
Если сенсор с параллельным интерфейсом цеплять так, как в упомянутой теме на электрониксе, то частоту снижать нужно бует меньше, так как данные не проходят через микроконтроллер, выходит эдакий "прямой доступ к памяти". Подробно рассказывать тут нет смысла - есть та тема, там есть схемы и все исходники, для ознакомления со способом самое то.
"чёрно-белость" того проекта несущественна. Из "цветного" сенсора пикселы всё равно вычитываются по одному, часто один и тот же сенсор выпускается в двух вариантах - ч/б и цветном - различающихся только нанесением светофильтров.
Все 1,25 "цветных" мегапиксела с данного сенсора получаются потом при обработке интерполяцией, к каждому пикселу "дорисовываются" нужные цветоовые составлющие исходя из значения соседних. В простом варианте из четвёрки пикселовможно сделать не четыре цветных, а один, взяв для зелёного полусумму двух, а R и B пустив как есть.
Выйдет 640*512
Память - из реально доступного сейчас (реальный ли проект, бумажный ли - всё равно стоит опираться на имеющуюся элементную базу) можно предложить 3-вольтовую AS7C34096 - 512К*8 - в упомянутой в первом сообщении - три банка по 128К*8. Три AS7C34096 дадут нужный объём. Хотя, раз всё равно ногодрыг, одна какая-нибудь EDO DRAM 1Mx16 из старого винчестера или 72-ногого SIMM на 4 или 8 мегабайт пошла бы лучше, но для начинающего, пожалуй, сложнее.
Отвечаю сразу на несколько вопросов в личку.
Взять однин сенсор проще всего как модуль от видеокамеры от мобильного телефона. Подборка цоколёвок есть тут, но место подозрительное, всё время рвётся что-то установить. Лучше отключить java-скрипты.
Часть сенсоров имеет параллельный интерфейс, похожий на тот, который у обсуждаемого в этой теме.
Бывает последовательный интерфейс. Частоты там, конечно, не для AVR, но и для параллельного интерфейса не легче - для заданного разрешения и частоты кадров число мегабит в секунду одинаковое независимо от интерфейса. Тактовую сенсора всё равно нужно снижать, вопрос только - насколько сильно.
Большинство сенсоров более-менее прилично могу работать при накоплении до долей секудны и дольше, т.е. медленнее в десятки раз от штатной частоты. Шумы, конечно, растут.
Если сенсор с параллельным интерфейсом цеплять так, как в упомянутой теме на электрониксе, то частоту снижать нужно бует меньше, так как данные не проходят через микроконтроллер, выходит эдакий "прямой доступ к памяти". Подробно рассказывать тут нет смысла - есть та тема, там есть схемы и все исходники, для ознакомления со способом самое то.
"чёрно-белость" того проекта несущественна. Из "цветного" сенсора пикселы всё равно вычитываются по одному, часто один и тот же сенсор выпускается в двух вариантах - ч/б и цветном - различающихся только нанесением светофильтров.
Все 1,25 "цветных" мегапиксела с данного сенсора получаются потом при обработке интерполяцией, к каждому пикселу "дорисовываются" нужные цветоовые составлющие исходя из значения соседних. В простом варианте из четвёрки пикселов
Код: Выделить всё
R G
G BВыйдет 640*512
Память - из реально доступного сейчас (реальный ли проект, бумажный ли - всё равно стоит опираться на имеющуюся элементную базу) можно предложить 3-вольтовую AS7C34096 - 512К*8 - в упомянутой в первом сообщении - три банка по 128К*8. Три AS7C34096 дадут нужный объём. Хотя, раз всё равно ногодрыг, одна какая-нибудь EDO DRAM 1Mx16 из старого винчестера или 72-ногого SIMM на 4 или 8 мегабайт пошла бы лучше, но для начинающего, пожалуй, сложнее.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.


