Курс  AVR123.nm.ru


Electronic Banner Exchange (ElBE)
 


 

 
         
 

 

Задача - упражнение  7

 



поиск   GOOGLE   по 
Краткому Курсу AVR


введите интересующие вас слова

 

 

Книги и учебники по электронике
и микроконтроллерам  скачать

 

  

Цель задачи:  

Добавить в устройство и научиться использовать 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 и

Для приема данных существует много программ - я использовал  LookRS232  вы можете скачать ее.

Пример принятых компьютером данных в архиве к задаче (в верху страницы) в файле: 5page.log (читать с низу в верх!). Проверьте его соответствие тому что должна делать программа! 

 

Вы можете использовать любую допустимую для МК частоту тактирования - сделайте соответствующие изменения в настройках скорости UART и свойствах проекта! 

 

Ну вот и  все, теперь ваше устройство может быть прекрасным Дата-Логером - сохранить внушительный объем данных. 

помните, что при отключении питания во время записи данных, пропадет содержимое одного из двух, активного в данный момент времени буфера микросхемы. Т.е. вы можете потерять максимум 528 байт отправленных в память последними, так что записывайте данные с запасом ...

 

 

 

Если вам что-то не понятно, не получается - пожалуйста перечитайте задачу еще раз, подумайте,  просмотрите рекомендованный материал и тексты программ. 

Я проверил и отладил их в реальной схеме - все работает! 

 

 

 

Всё !   Задача закончена.

 

 

 

 

Задачи Упражнения курса

 

 

 

 

 

 

 

 

Хостинг от uCoz