Задача -
упражнение 7
Книги и
учебники по электронике
и микроконтроллерам
скачать
Цель
задачи:
Добавить в устройство и научиться
использовать 2 МегаБайта
памяти - не
забывающей данные при выключении
питания.
Память это
микросхема AT45DB161
- семейства
AT45 - DataFlash компании ATMEL.
И
DataFlash AT45DB041
FAQ - часто задаваемые вопросы по DataFlash
Файловую
систему для микросхем этой серии от
компании ATMEL вы можете найти в файло-обменнике
caxapa.ru или спросить в конфе
телесистем
За основу для этой задачи я взял АпНоут -
пример применения этой микросхемы
памяти от производителя, AN AVR335
(здесь
он есть на русском языке).
Скачайте
АпНоуты - это примеры
применения AVR
от производителя этих МК
со схемами и примерами кода.
Для
выполнения задачи необходимо:
- Установленный компилятор Си
для AVR CodeVisionAVR
- Data Sheet - ДШ на
МК
AVR AT90s8535
- Data Sheet
на AT45DB161
- архив
с текстами программ (56 кБ
Си исходники для DataFlash AT45
AT45DB161 и AT45DB041 )
- прочитать статью: Последовательная
память семейства DataFlash® корпорации Atmel -
идеальное решение для реализации
внешней памяти
Если
у вас нет модели AT45 для VMLAB или PROTEUS то
ещё :
- макетная
плата или устройство содержащее схему:

- источник
питания 5 вольт, стабилизированный.
- адаптер
для внутрисистемного программирования -
ISP (см подробней о прошивании МК стр.
7 курса)
- адаптер
для соединения МК с COM портом компьютера
выполненный на микросхеме MAX232 или на
одном из множества более дешевых клонов.
пример в задаче 4 курса.
-
свободное время и желание.
Кратенько
как обычно:
Если вы прочитали рекомендуемые
материалы то наверно поняли, что:
- это очень
интересная и полезная микросхема - и
стоит
она не дорого - всего 4-5 $.
- занимает
всего 5 ножeк МК причем 4-мя из них может
делится с другими устройствами имеющими
последовательный интерфейс - SPI.
- она
миниатюрная и я на макетке смонтировал
ее прямо на "спину" МК медными не изолированными,
тонкими проводками вытащенными из
многожильного провода. После пайки и
монтажа я покрыл их лаком для ногтей.
Обратите
внимание: номинальное
напряжение питания этой микросхемы 3,6
вольт и ниже! А в апликухе
от производителя ее питают 5-ю вольтами.
Такое решение я счел оправданным, потому
что выводы микросхемы не боятся
напряжения 5 вольт - об этом прямо
сказано в ДатаШите.
А вот
какое напряжение точно погубит
микросхему в ДШ умолчали.
Но в
Корпорации "Точка опоры" мне
сказали, что ставят такие микросхемы в
свои ранее разработанные под 5-ти
вольтовые микросхемы устройства -
отказов в работе памяти нет. У
меня работает "в железе" от 5 вольт.
Если для
питания этой микросхемы вы примените 3,6
вольт, а МК будет питаться от 5 вольт, то
вам нужно будет применить схему
согласования уровней сигнала - ее можно
легко найти в интернете, на atmel.ru
или на том же gaw.ru - там
вообще много полезной информации.
|
|
|
|
Программируя
для AVR я пришел к выводу, что CodeVisionAVR
это наиболее простой
для старта и приятный в работе
компилятор.
А его Help
и особенно раздел о
Генераторе Начального текста
программы (CodeWizard) конфигурирующего
по вашему запросу аппаратуру МК - это
практически курс AVR, мой ему и в
подметки не годится!
|
|
|
|
|
Я
конвертировал исходный код на языке Си
написанный под
компилятор IAR из AVR335
под компилятор CodeVisionAVR
Исходный
код программы AVR335
содержал ошибку!
В буфер памяти записывалось не
528 байт а 529 и, соответственно, первый
байт сохраняемых данных из каждых 529
пропадал. На качестве звука это почти
не отражается, а вот для хранения данных
такое не допустимо.
Я
исправил код и теперь все данные
сохраняются без изъяна.
Исправил и комментарии в тексте
программы.
Сделал заголовочный файл
at45d161.h
Этот файл
содержит основные функции для работы с
этой микросхемой памяти - в нем
перечислены все опкоды - команды
управления микросхемой - из ДШ.
Файл содержит комментарии
на русском языке.
ПОЧТОЙ по
России !
Программаторы
USB AVR PIC ARM 8051,
прошивание микроконтроллеров AVR PIC LPC ARM 8051 на заказ,
изготовление "любительских" печатных плат по
ЛУТ
технологии,
сборка
электронных наборов - Мастер
Кит и других,
закупка для вас радио деталей
электронных компонентов в "Тэрраэлектроника"
+ добавлю резисторы и конденсаторы + отправка почтой,
изготовление электронных устройств для вас на заказ
не дорого по вашим схемам
или
разработаю сам, другие
услуги для
радио электронщиков любителей,
для
мастеровых людей и хоббийщиков
RC моделистов и
для строящих
Роботов,
компоненты для самодельных станков с ЧПУ.
На сайте -
"МК ПОЧТОЙ народ РУ"
|
Программатор для AVR на USB

Собран и проверен -
стоит всего 500 рублей
в Москве, а по России пересылка почтой всего
100 рублей.
В подарок к программатору вы бесплатно получаете
дополнительный микроконтроллер
ATmega8 -16PU и
уникальный DVD с
материалами по электронике и библиотекой КНИГ !
Микроконтроллер ATmega8
прошитый для этого программатора
можно приобрести отдельно за 120
рублей
+ схема и и рисунок платы.
Программатор позволяет питать
ваше устройство от
USB.
Скачать документацию на программатор.
Обращайтесь к
Семенову Михаилу. |
|
|
Электронные компоненты
ПОЧТОЙ
из
"Тэрраэлектроника"
- мои услуги - это 350
рублей для заказов до 1500 руб. оплаты в Тэрру,
450 руб. для заказов на сумму 1500-3000 рублей и
650 рублей для заказов
стоимостью более 3000 рублей. После получения
денег я выкупаю ваш заказ в "Тэрраэлектроника"
или получаю если его оплатили вы
сами и отправляю его вам почтой.
Укомплектую резисторами и конденсаторами. |
|
|
Программатор
отладчик
для всех микроконтроллеров PIC
на USB -
PICkit2
Полный аналог собран
мной и проверен в
работе - только корпус
прямоугольный без закруглений а разъемы такие
же, кнопка
КРАСНАЯ,
все функции фирменного - всего
899 руб.
Микроконтроллер PIC18F2550 прошитый для
самостоятельного изготовления
программатора
PICkit2 можно приобрести
отдельно за 239
рублей
+
схема и и рисунок платы.
Прочитайте подробно о
PICkit2
и о его возможностях.
Средняя цена фирменного -
1550
рублей ! |
|
Программаторы изготовлены качественно, надежно,
высылаются полностью собранные, протестированные и
готовые к
работе. К программаторам получаемым по почте приложен
бесплатно
DVD
диск с драйверами для
программаторов, ПО для разработки программ для
AVR PIC ARM 8051
и огромным количеством документации от производителей МК и
множеством книг по микроконтроллерам и электронике на русском
языке, учебными материалами для начинающих.
Вы можете приобрести
уникальный DVD
всего за
199
рублей с пересылкой по
России.
Скачайте
содержание этого DVD
и ознакомьтесь.
|
Прошивка, программирование
микроконтроллеров AVR PIC
ARM 8051 LPC
на заказ
вашими прошивками. Вы
присылаете прошивку - я
проверяю, что файл читается программатором и
сообщаю вам номер счета, вы переводите
деньги, я покупаю нужный МК, прошиваю и
отправляю вам.
Цена услуги со стоимостью услуги по покупке МК
25 рублей
при прошивке 21 микроконтроллера и более
35 рублей за 11-20 МК
45 рублей за 5-10 МК
65 рублей за 2-4 МК
80 рублей за 1 МК
Для популярных
AVR ATmega8
ATmega16 ATmega169
ATtiny2313 AT90s2313
ATtiny13 и популярных
PIC16F84 PIC18F452
PIC18F2550 PIC18c508
PIC16F628 PIC24FJ64GA002 dsPIC30F2010
dsPIC30F2020 dsPIC30F2012
стоимость прошивки одного МК
- 60 рублей.
|
|
Цены могут уменьшаться при комбинации ЛЮБЫХ
услуг
например
получение различных компонентов в
"Тэрраэлектроника" + прошивка AVR PIC
из этой закупки естественно будет стоить дешевле.
Есть
прошивки ко многим конструкторам наборам МастерКит
и других производителей - стоимость таких прошивок подлежит
отдельной оплате. Спрашивайте какие прошивки вам нужны.
6) Я могу купить вам наборы электронные МастерКит и других
производителей - собрать и настроить и отправить вам, цена
услуги от 500 рублей.
7) Изготовление печатных плат по лазерно утюжной технологии -
ЛУТ - по вашим рисункам для печати на лазерном принтере.
8) Изготовить, спаять нужную вам схему, электронное устройство.
9) Разработать нужное вам устройство по КОНКРЕТНОМУ техническому
заданию.
10) Разработать новую прошивку для любых электронных устройств
или наборов МастерКит и аналогичных.
|
Я
постарался максимально облегчить вам
задачу:
файл
at45d161.h позволяет
вам просто записывать байт за байтом в
память не задумываясь какие процессы в
ней происходят и сколько времени
занимают.
просто
напишите в тексте вашей программы:
write_to_flash (vash_byte);
и значение
хранящееся в вашей переменной:
unsigned char
vash_byte;
будет
записано в микросхему памяти, а когда вы
снова вызовите эту функцию новое
значение будет записано уже в следующую
ячейку памяти.
все
так просто!
Для
демонстрации работы устройства служит
программа в файле main.c - это
простая программа, может быть легко
модифицирована под ваши потребности.
В процессе работы МК будет
мигать светодиодами, красный у меня
подключен к PA4 а зеленый к PA5. Еще он будет
выводить данные считанные из памяти в UART
на адаптер rs232 в ПК. настройте
соответствующий порт на скорость 115200.
Обмену
данными между МК и ПК
посвящены задачи 4 и 5
Для приема
данных существует много программ - я
использовал LookRS232 вы можете скачать
ее.
Пример
принятых компьютером данных в архиве к
задаче (в верху страницы) в файле: 5page.log
(читать с низу в верх!). Проверьте его
соответствие тому что должна делать
программа!
Вы можете
использовать любую допустимую для МК
частоту тактирования - сделайте
соответствующие изменения в настройках
скорости UART и свойствах проекта!
Ну
вот и все, теперь ваше устройство
может быть прекрасным Дата-Логером -
сохранить внушительный объем данных.
помните,
что при отключении питания во время
записи данных, пропадет содержимое
одного из двух, активного в данный
момент времени буфера микросхемы. Т.е. вы
можете потерять максимум 528 байт отправленных
в память последними, так что записывайте
данные с запасом ...
Если
вам что-то не понятно, не получается -
пожалуйста перечитайте задачу еще раз,
подумайте, просмотрите
рекомендованный материал и тексты
программ.
Я
проверил и отладил их в реальной схеме -
все работает!
Всё
! Задача закончена.
Задачи
Упражнения курса
|