|
Смещён приём через PDC для SPI |
|
|
|
Feb 9 2008, 09:02
|

Частый гость
 
Группа: Свой
Сообщений: 169
Регистрация: 17-09-07
Из: Красноярск
Пользователь №: 30 600

|
Последовательность функция для запуска передчи команды по SPI (для dataflash) Код DFChipSelect();
AT91F_PDC_DisableRx(pPdc); AT91F_PDC_SetRx(pPdc, (char *) &(), bCmdSize); AT91F_PDC_SetNextRx(pPdc, pData, dDataSize);
AT91F_PDC_DisableTx(pPdc); AT91F_PDC_SetTx(pPdc, (char *) &(pDataFlash->commandS), bCmdSize); AT91F_PDC_SetNextTx(pPdc, pData, dDataSize);
AT91F_PDC_EnableRx(pPdc); AT91F_PDC_EnableTx(pPdc); В качестве команды засылается запрос на статус регистр (0xD7) размер команды 2 (bCmdSize=2) Глядя на диаграмму передачи со статус регистра видно, что статус регистр должен передаваться по MISO сразу же после 8го тика SCK. Судя по всему так и происходит. Но сам статус регист оказывается не в ((char*)pDataFlash->command) [1], а в ((char*)pDataFlash->command) [0] !!! Как будто датафлэш передаёт данные во время прохождения запроса. Как будто PDC для приёма курит один байт, перед тем как начать приём. Что не учёл, где накосячил? Процессор sam7s256 код из атмеловского апноута для sam7x. Очевидно, что это проявляется не только с датафлэш, тк для АЦП запросы короткие то там я тупо подстроился под эту систему и заставил всё работать. Но это ведь может плохо кончиться!
|
|
|
|
|
 |
Ответов
|
Feb 9 2008, 10:11
|

Частый гость
 
Группа: Свой
Сообщений: 169
Регистрация: 17-09-07
Из: Красноярск
Пользователь №: 30 600

|
Цитата(prottoss @ Feb 9 2008, 16:54)  Это куда?  это накосячил, когда постил. AT91F_PDC_SetTx(pPdc, (char *) &(pDataFlash->command), bCmdSize); так должно быть
Сообщение отредактировал Goofy - Feb 9 2008, 10:11
|
|
|
|
|
Feb 10 2008, 08:05
|

Частый гость
 
Группа: Свой
Сообщений: 169
Регистрация: 17-09-07
Из: Красноярск
Пользователь №: 30 600

|
Цитата(prottoss @ Feb 9 2008, 17:22)  Да Вы и счас накосячили  Я спрашивал про AT91F_PDC_Set Rx(...), а Вы мне про Ерему  это опять же опечатка... спешил... AT91F_PDC_SetRx(pPdc, (char *) &(pDataFlash->command), bCmdSize);
|
|
|
|
|
Feb 10 2008, 09:53
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Goofy @ Feb 10 2008, 15:05)   это опять же опечатка... спешил... AT91F_PDC_SetRx(pPdc, (char *) &(pDataFlash->command), bCmdSize); Я так понимаю command в pDataFlash определена как чтото типа command[CMD_BUF_SIZE]. Если так, тогда зачем в функции AT91F_PDC_SetRx/Tx Вы подсовываете адрес указателя, а не сам указатель??? По моему надо так: Код ...
AT91F_PDC_SetTx(pPdc, pDataFlash->command, bCmdSize);
...
AT91F_PDC_SetRx(pPdc, pDataFlash->command, bCmdSize);
--------------------
|
|
|
|
Сообщений в этой теме
Goofy Смещён приём через PDC для SPI Feb 9 2008, 09:02        prottoss Цитата(Goofy @ Feb 10 2008, 20:34) А можн... Feb 10 2008, 13:55 Goofy За код спасибо большое!
Но то что у меня про... Feb 11 2008, 08:39 prottoss Цитата(Goofy @ Feb 11 2008, 15:39) За код... Feb 11 2008, 08:55  Goofy Цитата(prottoss @ Feb 11 2008, 15:55) не ... Feb 11 2008, 09:02   defunct Goofy
Сдается мне проблема не с RX DMA.
Попробуйте... Feb 11 2008, 11:40 Goofy Код for (i=0;i<4;i++) Bufr[i]=... Feb 11 2008, 18:40 Goofy Это баг самого sam7s. Проявляется видимо не у всех... Feb 14 2008, 10:33 prottoss Цитата(Goofy @ Feb 14 2008, 17:33) Это ба... Feb 14 2008, 11:03  Goofy Цитата(prottoss @ Feb 14 2008, 18:03) 1.Т... Feb 14 2008, 13:14 prottoss Кстати, а как Вы управляете чипселектом? Через жел... Feb 14 2008, 13:21 Goofy Цитата(prottoss @ Feb 14 2008, 20:21) Кст... Feb 14 2008, 13:46  prottoss Цитата(Goofy @ Feb 14 2008, 20:46) Через ... Feb 14 2008, 15:18   Goofy Цитата(prottoss @ Feb 14 2008, 22:18) Ну ... Feb 14 2008, 15:54    prottoss Цитата(Goofy @ Feb 14 2008, 22:54) Работа... Feb 14 2008, 16:10     Goofy Цитата(prottoss @ Feb 14 2008, 23:08) Хот... Feb 14 2008, 16:14      prottoss Цитата(Goofy @ Feb 14 2008, 23:14) угу
П... Feb 14 2008, 16:37       Goofy Подправил
Кодvoid InitSPI(void)
{
AT91F_SP... Feb 14 2008, 18:01        prottoss Цитата(Goofy @ Feb 15 2008, 01:01) Кодuns... Feb 14 2008, 18:12         Goofy Цитата(prottoss @ Feb 15 2008, 01:12) Вот... Feb 14 2008, 18:14 prottoss Блин Название то теме Вы придумали? Что то вы экс... Feb 14 2008, 18:27 Goofy Цитата(prottoss @ Feb 15 2008, 01:27) Бли... Feb 14 2008, 19:19
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|