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

 
 
> at45db, не отзывается
alexei_u
сообщение Dec 1 2013, 14:40
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 10-07-13
Пользователь №: 77 466



Добрый вечер!
at45db не хочет отзываться.
Посылаю через usci-spi запрос на стату занятости и проверки ай-ди,в ответ нули.
Подключил анализатор логики,вот скриншот:
каналы: 0-clk,1-miso,2-mosi,3-CS
Вот скриншот из даташита:

выглядит один-в-один.
По подключению: 5 и 6 нога припаяны,на них 3.5В.через 1к 3.5В на ресет.На 7й ГНД,на 1й-МоСи,2аф-КЛК,8ая-МИСО.
В чем может быть дело?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Dec 1 2013, 21:14
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(alexei_u @ Dec 1 2013, 19:40) *
В чем может быть дело?

Если я правильно рассмотрел и понял времянки, то у вас используется SPI MODE 1 или 2
Ссылка 1, ссылка 2, ссылка 3.
В то время как Dataflash поддерживает только SPI MODE 0 и SPI MODE 3.
Плюс к этому см. в datasheet раздел
Цитата
16. Power-On/Reset State
When power is first applied to the device, or when recovering from a reset condition, the device will default to SPI
Mode 3
. In addition, the output pin (SO) will be in a high impedance state, and a high-to-low transition on the CS pin will
be required to start a valid instruction. The SPI mode (Mode 3 or Mode 0) will be automatically selected on every falling
edge of CS by sampling the inactive clock state.

Лично я всегда стараюсь использовать SPI MODE 3 как более-менее "универсальный". Может и вам это поможет?

P.S. не стоит такие скрины постить. Будьте скормнее. Картинка распирает страницу так, что она даже на мониторе с разрешением FullHD (1920x1080) в размер экрана не влазит.
Go to the top of the page
 
+Quote Post
alexei_u
сообщение Dec 2 2013, 15:20
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 10-07-13
Пользователь №: 77 466



Цитата(rezident @ Dec 2 2013, 01:14) *
Если я правильно рассмотрел и понял времянки, то у вас используется SPI MODE 1 или 2
Ссылка 1, ссылка 2, ссылка 3.
В то время как Dataflash поддерживает только SPI MODE 0 и SPI MODE 3.
Плюс к этому см. в datasheet раздел

Лично я всегда стараюсь использовать SPI MODE 3 как более-менее "универсальный". Может и вам это поможет?

P.S. не стоит такие скрины постить. Будьте скормнее. Картинка распирает страницу так, что она даже на мониторе с разрешением FullHD (1920x1080) в размер экрана не влазит.

Спасибо за ответ!
К сожалению,сегодня боролся с ЕМСом,проверю завтра. У меня стоял мод0,попробую поменять завтра.
На счёт картинок,это верно. Не подумал даже,что так может случиться-первый пост тут с картинкам,в следующй раз обязательно нажму на "ресайз"
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 2 2013, 18:08
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(alexei_u @ Dec 2 2013, 20:20) *
У меня стоял мод0,попробую поменять завтра.

Приведите текст вашей функции инициализации модуля. Модуль USCI именно с AT45DBxx я не "скрещивал" (хотя был вполне успешный опыт работы модуля USART с AT45DB081), но M25PE16 (SPI Serial Flash от Micron) работает с модулем USCI в MSP430F5438A без каких-либо проблем. Использую режим SPI MODE 3.
Go to the top of the page
 
+Quote Post
alexei_u
сообщение Dec 4 2013, 22:00
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 10-07-13
Пользователь №: 77 466



Цитата(rezident @ Dec 2 2013, 22:08) *
Приведите текст вашей функции инициализации модуля. Модуль USCI именно с AT45DBxx я не "скрещивал" (хотя был вполне успешный опыт работы модуля USART с AT45DB081), но M25PE16 (SPI Serial Flash от Micron) работает с модулем USCI в MSP430F5438A без каких-либо проблем. Использую режим SPI MODE 3.

Добрый вечер!
Заработала-стала отзываться. Надо было UСCKPL=1(Полярность) выставить.
Всем большое спасибо!
Go to the top of the page
 
+Quote Post
alexei_u
сообщение Dec 5 2013, 16:04
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 10-07-13
Пользователь №: 77 466



Что-то дело у меня не далек ушло...
Пытаюсь записать в буфер 1 информацию, а потом её же плучить.
Код:
CODE
/*
* main.c
*/
#include "msp430.h"
#include "stdint.h"

#define SPIRXBUF UCB0RXBUF
#define SPI_SEND(x) UCB0TXBUF=x
#define SPITXREADY (IFG2&UCB0TXIFG) /* Wait for TX to be ready */
#define SPITXDONE (UCB0STAT&UCBUSY) /* Wait for TX to finish */
#define SPIRXREADY (IFG2&UCB0RXIFG) /* Wait for TX to be ready */
#define SPIRXFG_CLR IFG2 &= ~UCB0RXIFG
#define dummy 0xff
#define f_on P1OUT&=~BIT4
#define f_off P1OUT|=BIT4

int data1;
char data;

void f_buf_write(int buf_nb,char data,int adress)
{
f_on;
switch(buf_nb)
{case 1:
SPI_SEND(0x84);
break;
case 2:
SPI_SEND(0x87);
break;
}
while (!SPITXREADY);
SPI_SEND(dummy);
while (!SPITXREADY);
SPI_SEND(adress>>8);
while (!SPITXREADY);
SPI_SEND(adress);
while (!SPITXREADY);
SPI_SEND(data);
while(SPITXDONE);
f_off;
}

int f_buf_read(int buf_nb,char data,int adress)
{
f_on;
switch(buf_nb)
{case 1:
SPI_SEND(0xD4);
break;
case 2:
SPI_SEND(0x56);
break;
}
while(!SPITXREADY);
SPI_SEND(dummy);
while(!SPITXREADY);
SPI_SEND(adress>>8);
while(!SPITXREADY);
SPI_SEND(adress);
while(!SPITXREADY);
SPI_SEND(dummy);
while(!SPITXREADY);
SPI_SEND(dummy);//transition starts here
while(!SPIRXREADY);
data=SPIRXBUF;// Breakpoint toggled here
data1=(int)data;
f_off;
return data1;
}

void main(void) {
P2SEL=0;
P2SEL2=0;
P2DIR&=~BIT0;
P2OUT&=~BIT0;
P1DIR|=BIT4|BIT0;
P1OUT|=BIT4; // CS f_off
P1SEL|=BIT5|BIT6|BIT7;
P1SEL2|=BIT5|BIT6|BIT7;
UCB0CTL0 = UCMST+UCMSB+UCSYNC+UCCKPL+UCCKPH; // 3-pin, 8-bit SPI master; mode 3 spi
UCB0CTL1 = UCSSEL_2+UCSWRST; //
UCB0BR0 |= 0x0F; //
UCB0BR1 = 0;
UCB0CTL1 &= ~UCSWRST; //start SPI
SPI_SEND(0X01);
f_buf_write(1,0xa5,0);
data1=f_buf_read(1,data,0);
}

Ставлю брейкпоинт и смотрю,что у меня получается от флешки. Данные не свпадаютsad.gif
ПДФ с даташитом: http://www.atmel.com/images/doc3443.pdf там для чтения тличаются ОП-кды для SPI mode 3 и 0.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 18:51
Рейтинг@Mail.ru


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