Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Програмиране на AVR през SPI + памет на SPI
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=9522
Страница 1 от 2

Автор:  Реконструктор [ Чет Ное 17, 2011 1:24 pm ]
Заглавие:  Програмиране на AVR през SPI + памет на SPI

За проекта си с гайгера ми се иска да сложа един атмелски флаш на 8 мбита. :) Проблема е, че си програмирам контролера по SPI и не знам как ще се съвместят двете. Гледах некви схеми по нета, ама на всичките контролера се програмираше през JTAG. Това, което ми дойде на ум е, естествено, да сложа захранването на паметта на едно ключе или джъмпер и да я изключвам когато качвам софта. Обаче ми се вижда адски досадно и със сигурност някой ден ще го изпусна и ще остане включено. :( Дайде малко акъл. :)

Автор:  Wise [ Чет Ное 17, 2011 2:40 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Гледах, че хората /Nordic semi/ съветват да се сложат последователно по 1к резистори, ама там
програмират по SPI EEPROM, закачен за проца/bootloader/.
Но мисля, че ще стане и в твоя случай. Т.е. - идея само - не съм го пробвал още!

Автор:  bobyk [ Чет Ное 17, 2011 4:33 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Аз ги свързвам директоно, няма проблеми.

Прикачени файлове:
Clipboard02.jpg
Clipboard02.jpg [ 66.39 KiB | Прегледано 2875 пъти ]

Автор:  Реконструктор [ Чет Ное 17, 2011 7:33 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

bobyk написа:
Аз ги свързвам директоно, няма проблеми.


Аааа, сега чак включих, че CS за това служи. :D Ръчно ли го управляваш, или си има няква хитра логика в самия контролер?

Автор:  bobyk [ Чет Ное 17, 2011 11:02 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

CS-а си го управлявам аз когато се обръщам към чипа, обаче сега си мисля, че може би е добре да има един пул-уп на него понеже докато контролера се програмира CS-а ще е висящ(пина ще е three-state) и ..., но въпреки това не съм имал проблеми. А иначе флашовете са 5v толерантни така че и с това нямаш грижи.

Автор:  Реконструктор [ Пон Дек 12, 2011 12:12 am ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Колега, кой драйвер ползвате за паметта? :) Моя чип е AT45DB081D.

Автор:  bobyk [ Пон Дек 12, 2011 2:01 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Ами този дето по схемата (картинката).

Автор:  Реконструктор [ Пон Дек 12, 2011 3:59 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Имам предвид софтуерен драйвер. :)

Автор:  Cekins [ Пон Дек 12, 2011 4:49 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Рек това не е NVidia 520GT - за какво ти е драйвер ?

Автор:  ike [ Пон Дек 12, 2011 6:18 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

При търсене с гугъл http://www.google.com/search?num=100&hl ... &q=avr+spi не излизат ли туториали, апликейшън нотове и библиотеки?

Автор:  bobyk [ Пон Дек 12, 2011 10:08 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Ами чак пък драйвер, написал съм си малка библиотечка (то и това е силно казано защото кода си е интергриран в основната програмка), ама аз правя 3 неща чете на страница (Flash_page->MCU_bufer), запис на страница (MCU_bufer->Flash_bufer->Flash_page) и модифициране (Flash_page->Flash_bufer, modify Flash_bufer, Flash_bufer->Flash_page) това са няколко десетки реда код. Файлова система не ползвам.
П.П. Обаче балансирам "натоварването" на страниците с една Lookup Table. Кода ми не е директно използваем за това не поствам, страниците си ги форматирам на 256 байта(твойте ще да са по-големи)
Ето ти поне командите:
Код:
//Flash Memory Commands
#define CMD_SRR  0xD7      // Status Register Read
#define CMD_PCR1 0x3D      // Programming the Configuration Register - 4 bytes sequence
#define CMD_PCR2 0x2A      // Programming the Configuration Register
#define CMD_PCR3 0x80      // Programming the Configuration Register
#define CMD_PCR4 0xA6      // Programming the Configuration Register
#define CMD_MDR  0x9F      // Manufacturer and Device ID Read
#define CMD_CAR  0x0B      // Continuous Array Read
#define CMD_CARL 0x03      // Continuous Array Read Low freq (33MHz)
#define CMD_MPBT 0x53      // Main Memory to Buffer Transfer (200us)
#define CMD_BRD  0xD4      // Buffer ReaD
#define CMD_BRDL 0xD1      // Buffer ReaD Low freq (33MHz)
#define CMD_BWR  0x84      // Buffer WRite
#define CMD_BMPP 0x83      // Buffer to Main Memory Page Program with built-in erase
#define CMD_CER1 0xC7      // Chip ERase - 4 bytes sequence
#define CMD_CER2 0x94      // Chip ERase
#define CMD_CER3 0x80      // Chip ERase
#define CMD_CER4 0x9A      // Chip ERase

Автор:  Реконструктор [ Вто Дек 13, 2011 2:10 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Абе докато му натъкмя протокола ше побелея. :( Няма начин някъде да няма нещо готово.

Автор:  michev [ Вто Дек 13, 2011 2:45 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Има.
В AVR Software framework и в библиотеките на Microchip, като сякаш по разбираемо е написано във втората.
Има реализирани дори малки файлови системи за флаш чипове.

Автор:  bobyk [ Сря Дек 14, 2011 9:44 am ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Както Tgi казва по-бързо и лесно ми е да го направя сам от колкото да диря другите какво са правили, час четене на пдф-а и час писане(и проби) и си готов. При мен всичко си тръгна от раз, това е просто една памет.
Не разбрах файлова система ще му пускаш ли или ще си караш по някаква твоя система.

Автор:  Реконструктор [ Сря Дек 14, 2011 3:33 pm ]
Заглавие:  Re: Програмиране на AVR през SPI + памет на SPI

Вчера влезнах на атмел сайта да видя тези AVR Software framework и се оказа, че са пуснали новата версия на AVR студио. :) Така че ще си имам занимавка за доста време напред. Иначе в ASF наистина има драйвер за AT45 обаче е за xmega. Но от друга страна, изключвайки spi комуникацията, на протоколно ниво би трябвало да няма разлика.

Цитат:
Не разбрах файлова система ще му пускаш ли или ще си караш по някаква твоя система.

Не, никви файлови системи, трябва ми просто четене и писане, нищо повече.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/