Только в этом месяце - скидки на паяльники и электронику с нашими кодами (123avr.com) :
![]() |
|
Совет - умейте правильно находить информацию!
|
Задача - упражнение 7 Цель
задачи: Память это микросхема AT45DB161 - семейства AT45 - DataFlash компании ATMEL. Файловую
систему для микросхем этой серии от
компании ATMEL вы можете найти в файло-обменнике
caxapa.ru или спросить в конфе. Скачайте
АпНоуты - это примеры
применения AVR от производителя этих МК Для выполнения задачи необходимо:
Кратенько
как обычно: - это очень интересная и полезная микросхема - и стоит она не дорого 4-5 $. - занимает всего 5 ножeк МК причем 4-мя из них может делится с другими устройствами имеющими последовательный интерфейс - SPI. - она
миниатюрная и я на макетке смонтировал
ее прямо на "спину" МК медными не изолированными,
тонкими проводками вытащенными из
многожильного провода. После пайки и Обратите внимание: номинальное напряжение питания этой микросхемы 3,6 вольт и ниже! А в апликухе от производителя ее питают 5-ю вольтами. Такое решение я счел оправданным, потому что выводы микросхемы не боятся напряжения 5 вольт - об этом прямо сказано в ДатаШите. А вот какое напряжение точно погубит микросхему в ДШ умолчали. Но в Корпорации "Точка опоры" мне сказали, что ставят такие микросхемы в свои ранее разработанные под 5-ти вольтовые микросхемы устройства - отказов в работе памяти нет. У меня работает "в железе" от 5 вольт. Если для питания этой микросхемы вы примените 3,6 вольт, а МК будет питаться от 5 вольт, то вам нужно будет применить схему согласования уровней сигнала - ее можно легко найти в интернете, на atmel.ru или на том же gaw.ru - там вообще много полезной информации.
Я конвертировал исходный код на языке Си написанный под компилятор IAR из AVR335 под компилятор CodeVisionAVR Исходный код программы AVR335 содержал ошибку! В буфер памяти записывалось не 528 байт а 529 и, соответственно, первый байт сохраняемых данных из каждых 529 пропадал. На качестве звука это почти не отражается, а вот для хранения данных такое не допустимо. Я исправил код и теперь все данные сохраняются без изъяна. Я исправил и комментарии в тексте программы. Главное, я сделал заголовочный файл at45d161.h Этот файл содержит основные функции для работы с этой микросхемой памяти - в нем перечислены все опкоды - команды управления микросхемой - из ДШ. Файл содержит комментарии на русском языке. Я постарался максимально облегчить вам задачу: файл at45d161.h позволяет вам просто записывать байт за байтом в память не задумываясь какие процессы в ней происходят и сколько времени занимают. просто напишите в тексте вашей программы: write_to_flash (vash_byte); и значение хранящееся в вашей переменной: unsigned char vash_byte; будет записано в микросхему памяти, а когда вы снова вызовите эту функцию новое значение будет записано уже в следующую ячейку памяти. все так просто! Для демонстрации работы устройства служит программа в файле main.c - это простая программа, может быть легко модифицирована под ваши потребности.
Обмену данными между МК и ПК посвящены задачи 4 и 5 Для приема данных существует много программ - я использовал LookRS232 вы можете скачать ее. Пример принятых компьютером данных в архиве к задаче (в верху страницы) в файле: 5page.log (читать с низу в верх!). Проверьте его соответствие тому что должна делать программа! Вы можете
использовать любую допустимую для МК
частоту тактирования - сделайте
соответствующие изменения в настройках
скорости UART и свойствах проекта! Ну вот и все, теперь ваше устройство может быть прекрасным Дата-Логером - сохранить внушительный объем данных. помните, что при отключении питания во время записи данных, пропадет содержимое одного из двух, активного в данный момент времени буфера микросхемы. Т.е. вы можете потерять максимум 528 байт отправленных в память последними, так что записывайте данные с запасом ... Если вам что-то не понятно, не получается - пожалуйста перечитайте задачу еще раз, подумайте, просмотрите рекомендованный материал и тексты программ. Я проверил и отладил их в реальной схеме - все работает! Всё ! Задача закончена. |
|
Copyright 2009-2019 123avr.com