реклама на сайте
подробности

 
 
> Помогите с AT26DF161, Чтото не пишет
Mixal_
сообщение Mar 5 2007, 14:44
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 24
Регистрация: 20-10-06
Из: Алтайский край г. Барнаул
Пользователь №: 21 498



Здравствуйте!
Не могу разобраться с dataflash AT26DF161. Может ктонить работал с такой...или любой из серии AT26...

Пытаюсь записать несколько байт в Sequential Program Mode.
Затем пытаюсь считать.

Вот код:
Код
AT26WriteBlock:
clr tmp0
sts PORTG,tmp0; CS=0
call CS_wait
ldi tmp0,0xAD ; sequential program mode
call SPIWriteByte
lds tmp0,AT26_addr+2
call SPIWriteByte
lds tmp0,AT26_addr+1
call SPIWriteByte
lds tmp0,AT26_addr
call SPIWriteByte
ldi R30,LOW(flash_buf)
ldi R31,HIGH(flash_buf)
ld tmp0,Z+
call SPIWriteByte
ldi tmp0,1
sts PORTG,tmp0; CS=1
call CS_wait
call AT26Wait
ldi tmp3,15
wr_spi_loop:
clr tmp0
sts PORTG,tmp0; CS=0
call CS_wait
ldi tmp0,0xAD ; sequential program mode
call SPIWriteByte
ld tmp0,Z+
call SPIWriteByte
ldi tmp0,1
sts PORTG,tmp0; CS=1
call CS_wait
call AT26Wait
dec tmp3
tst tmp3
brne wr_spi_loop
call AT26WriteDisable
ret

AT26ReadBlock:
clr tmp0
sts PORTG,tmp0; CS=0
call CS_wait
ldi tmp0,0x0B
call SPIWriteByte
lds tmp0,AT26_addr+2
call SPIWriteByte
lds tmp0,AT26_addr+1
call SPIWriteByte
lds tmp0,AT26_addr
call SPIWriteByte
call SPIWriteByte; dummy
ldi R30,LOW(flash_buf)
ldi R31,HIGH(flash_buf)
ldi tmp3,16
rd_spi_loop:
call SPIReadByte
st Z+,tmp0
dec tmp3
tst tmp3
brne rd_spi_loop
ldi tmp0,1
sts PORTG,tmp0; CS=1
call CS_wait
ret


Перед записью делаю глобальный унлок вот так:

Код
call SPIMasterInit
call AT26WriteEnable; разрешаю запись
clr tmp1
call AT26WriteStatus; сбрасываю бит SPRL регистра статуса
call AT26WriteEnable; разрешаю запись
call AT26WriteBlock ; пишу в память
call AT26ReadBlock ; тут считываются одни 0xFF


SPI настроен правильно и микросхема подключена и согласована по уровням.
Device ID считывается правильно. Может гдето косяк в алгоритме разблокировки защиты записи?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 17:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01352 секунд с 7
ELECTRONIX ©2004-2016