roboforum.ru

Технический форум по робототехнике.
Текущее время: 22 май 2025, 07:00

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: SPI не слышит - оглох.
СообщениеДобавлено: 30 окт 2012, 21:12 
Не в сети
Аватара пользователя

Зарегистрирован: 30 окт 2012, 20:37
Сообщения: 4
Трое суток идут ожесточенные бои с шиной SPI и EEPROM M25P10.
Что только не делал:
Разные конфиги.
Занижал клок до t=20мс.
Разные EEPROM.
Все бесполезно. Не может такого быть. Чувствую что где то косяк, причем детский косяк.
Не могут все SPI EEPROM в протеусе глючить!
Микроконтроллер благополучно отсылает бит RDSR (и не только), но память игнорит и молчит зараза.
На i2c переходить не хочется, но походу придется.
Было замечено, что если отправить бит который память не знает(0b11111111) она начинает ругаться. Мол "ункнован команд" и все дела.
Есть хоть идея у кого???

#define SDO_PIN TRISC5
#define SDI_PIN TRISC4
#define SCK_PIN TRISC3
#define SS_PIN TRISA5

int main(int argc, char** argv){
T0IE=0;
GIE=0;

TRISB=0;
PORTB=0;
TRISA=1;
PORTA=0;
TRISC=0;
PORTC=0;

while(1==1)
{ RB4=0;
init_spi();

spi_send(0b00000101);
PORTB=SSPSTAT;

}

spi_send(unsigned char byte) { //отправка

SSPBUF = byte; //
DelayUs(100);
SSPBUF = 0b00000000;//
DelayUs(100);
byte = SSPBUF; //
DelayUs(100);
return byte;
}

void init_spi() //настройка
{
SSPEN=1;
SDI_PIN =1;
SDO_PIN =0;
SCK_PIN =0;
SS_PIN =1;
SMP=0;
CKE=0;
CKP=0;

SSPM3=0;
SSPM2=0;
SSPM1=1;
SSPM0=0;
}

Я где то касячнул!!!


Вложения:
Комментарий к файлу: Протеус проэкт
proteus.zip [32.42 КиБ]
Скачиваний: 0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI не слышит - оглох.
СообщениеДобавлено: 31 окт 2012, 11:45 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
DelayUs(100); разве это не задержка в 100 мкс ?

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI не слышит - оглох.
СообщениеДобавлено: 31 окт 2012, 13:36 
Не в сети
Аватара пользователя

Зарегистрирован: 30 окт 2012, 20:37
Сообщения: 4
DelayUs(100); задержка в 100 маш. циклов.
А что?

#define DelayUs(x) {
unsigned char _dcnt; \
_dcnt = (x)/((12MHZ)/(XTAL_FREQ))|1; \
while(--_dcnt != 0) \
continue;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI не слышит - оглох.
СообщениеДобавлено: 31 окт 2012, 16:36 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2009, 13:37
Сообщения: 750
Откуда: Porto Franco "Odessa"
не слишком ли малый промежуток времени ....

_________________
die Wahrheit ist irgendwo da draußen


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI не слышит - оглох.
СообщениеДобавлено: 31 окт 2012, 17:02 
Не в сети
Аватара пользователя

Зарегистрирован: 30 окт 2012, 20:37
Сообщения: 4
Я его до секунды растягивал. А так он шире тактового импульса в несколько раз.
В даташите промежутков местами вообще нет.
Идет байт за байтом не различить (когда серия из байтов).

Вот и2ц работает как часы, но медленная зараза.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI не слышит - оглох.
СообщениеДобавлено: 31 окт 2012, 17:06 
Не в сети
Аватара пользователя

Зарегистрирован: 01 сен 2009, 14:58
Сообщения: 1142
Откуда: Чехия
прог. языки: C/С++, VHDL, Verilog, ASM, Python
Мод SPI проверь, чтоб одинаковые были на девайсе и мк. Также проверь входы типа СЕ/CS/ENABLE памяьти...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI не слышит - оглох.
СообщениеДобавлено: 31 окт 2012, 17:15 
Не в сети
Аватара пользователя

Зарегистрирован: 30 окт 2012, 20:37
Сообщения: 4
Моды проверял.
Ставил (1.1) и (0.0) другие девайс не держит.

Хммм...
Есть поддержка 1Мгц.
А какую скорость можно развить? :roll:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SPI не слышит - оглох.
СообщениеДобавлено: 31 окт 2012, 19:44 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
если не запамятовал, максимум половина тактовой + смотря что подключили к контроллеру. :) вы даташит откройте и уточните.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO