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

 
 
> f149 UART1(SPI mode)&DataFlash - грабли
O.L.
сообщение Jun 10 2005, 07:28
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 10-06-05
Из: Новосибирск
Пользователь №: 5 890



Пытаюсь отработать процедуры для AT45DB161. UART0 - SerialPort, UART1 SPI 3-wire.

Чтение и запись обоих буферов DataFlash проходит, есть грабельки, но не смертельные.
Прямое чтение страницы MM из DataFlash как и запись MM через оба буфера - вообще без проблем.
Операции стирания страниц, запись содержимого любого из буферов в любую страницу MM, загрузка любой страницы MM в любой буфер - не проходят вообще.
Перебор уровней оптимизации IAR-овского компайлера не влияет, процедуры то простенькие, существенной разницы в ассемблерных листингах нет.
Передрал несколько вариантов инициализации порта, вот так выглядит самый устойчивый.
Код
//    - initialisation spi1 UART module -----------
void spi1_init (void)
{
    U1CTL |= CHAR + SYNC + MM + SWRST;  // 8-bit, SPI, Master
    U1TCTL |= CKPL + SSEL1 + STC;      // Polarity, SMCLK, 3-wire
    U1BR0 = 0x02;          // SPICLK = SMCLK/2 ~ 4MHz
    U1BR1 = 0x00;
    U1MCTL = 0x00;
    ME2 |= USPIE1;          // Module enable
    U1CTL &= ~SWRST;      // Restart USART SPI, SPI enable
//    IE2 |= URXIE1 + UTXIE1;        // RX and TX interrupt enable
}

Опыта работы с DataFlash не так много. Собственно сами процедуры работы перенес с HiTech для pic18-го и DF AT45D011
Вторую неделю бъюсь и здравых мыслей уже нет. Остались только дурацкий колпак и бубен ...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
O.L.
сообщение Jun 10 2005, 09:53
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 96
Регистрация: 10-06-05
Из: Новосибирск
Пользователь №: 5 890



Грамотная инициализация, спасибо. Сейчас буду корректоровать свою.
Я в начале то же попробовал поиграть значениями в регистрах битрейт делителя, но flash работает только при установленных значениях
U1BR0 = 0x02;
U1BR1 = 0x00;

У меня кварц 7 372 800, но при U1BR1 = 0x00, а U1BR0 = 0x03, U1BR0 = 0x04 и т.д. регистр статуса микросхемы просто не читается.

Я вобщем то же хочу работать по прерываниям, но с "налету" не получилось, вот и начал разбираться детально. Тем более, что под HiTech-ем все так и работало.
Go to the top of the page
 
+Quote Post
kpv
сообщение Jun 10 2005, 10:11
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 138
Регистрация: 1-06-04
Из: Nighny Novgorod
Пользователь №: 27



Цитата(O.L. @ Jun 10 2005, 12:53)
У меня кварц 7 372 800, но при U1BR1 = 0x00, а U1BR0 = 0x03, U1BR0 = 0x04 и т.д. регистр статуса микросхемы просто не читается.

всё сходится - spi работает на большой скорости и пока, по опросу, бит освобождения UxTXBUF проверяется, есть большая вероятность, что за это время и передача закончится, в случае низких скоростей, получается так, что не успевает на 100%


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- O.L.   f149 UART1(SPI mode)&DataFlash - грабли   Jun 10 2005, 07:28
- - kpv   Цитата(O.L. @ Jun 10 2005, 10:28)Вторую недел...   Jun 10 2005, 08:03
- - O.L.   "Несмертельные" грабли, Это при записи с...   Jun 10 2005, 08:29
|- - kpv   первое, что бросается в глаза UTXIFGx, indicates t...   Jun 10 2005, 09:03
|- - kpv   при таком варианте, по опросу, попробуй использова...   Jun 10 2005, 09:05
|- - O.L.   Цитата(kpv @ Jun 10 2005, 16:05)при таком вар...   Jun 10 2005, 10:00
|- - kpv   Цитата(O.L. @ Jun 10 2005, 13:00)Слабоват я п...   Jun 10 2005, 10:06
|- - O.L.   Цитата(kpv @ Jun 10 2005, 17:06)Цитата(O.L. ...   Jun 10 2005, 10:20
|- - kpv   а как, собственно, определяется, что запись не про...   Jun 10 2005, 10:27
|- - kpv   все, как было, можно было и оставить, только перед...   Jun 10 2005, 10:30
|- - O.L.   Всяко по прерываниям лучше, я ж не спорю. Доберусь...   Jun 10 2005, 10:59
- - rezident   У меня такая процедура инициализации SPI. Код voi...   Jun 10 2005, 09:25
- - rezident   Я на прерывания посадил простой транспортный прото...   Jun 10 2005, 13:16
- - //Nikson   Поднимаю старую тему. Есть F149 и две SPI-DataFla...   Apr 11 2006, 18:49
- - rezident   //Nikson, два момента. 1. Вы бы не поленились еще...   Apr 11 2006, 19:52
- - //Nikson   rezident, Да, точно. Эти 2 куска управляют только ...   Apr 11 2006, 21:12
- - rezident   Цитата(//Nikson @ Apr 12 2006, 03:12) ИМХ...   Apr 11 2006, 21:43


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

 


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


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