|
|
 |
Ответов
|
Feb 1 2007, 00:40
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(beer_warrior @ Jan 31 2007, 23:35)  А и действительно. Не дадите ли ссылку на доку? Момент ведь весьма принципиальный. Вот что написано в мануале к SAM7S: The Memory Controller has a simple, hard-wired priority bus arbiter that gives the control of the bus to one of the two masters. The Peripheral DMA Controller has the highest priority; the ARM processor has the lowest one. [AT91SAM7S.pdf, 6175G–ATARM–22-Nov-06, page 120] Действительно, курить в сторонке будет процессор, а не DMA...
Сообщение отредактировал sonycman - Feb 1 2007, 00:41
|
|
|
|
|
Feb 1 2007, 12:23
|
Местный
  
Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136

|
Цитата(Karl @ Feb 1 2007, 08:49)  Помогите, пожалуйста, с конкретной задачей: Необходимо через ДМА передавать массив в SPI и получать из него ответ (контроллер SAM7S64). Какие операции необходимо произвести? Вот как делаю я (коментарии от специалистов приветствуются  ) Здесь только отсылка, ну и особенности от FreeRTOS, но общий смысл должен быть понятен. Код void SPI_task(void *pvParameters) { unsigned portCHAR i; unsigned portCHAR SPI_buf[8]; ( void ) pvParameters; portENTER_CRITICAL();
AT91F_PMC_EnablePeriphClock(AT91C_BASE_PMC, 1 << AT91C_ID_SPI); AT91F_PIO_CfgPeriph(AT91C_BASE_PIOA, AT91C_PA11_NPCS0 | AT91C_PA12_MISO | AT91C_PA13_MOSI | AT91C_PA14_SPCK, 0); AT91F_SPI_Reset(AT91C_BASE_SPI);
AT91C_BASE_SPI->SPI_MR=0x0E0011;//Master mode, fixed select, disable decoder, FDIV=0 (MCK), PCS=1110
AT91F_SPI_CfgCs(AT91C_BASE_SPI, 0, AT91C_SPI_NCPHA | (128 << 8) | 0x04 ); AT91F_SPI_Enable(AT91C_BASE_SPI); AT91F_PDC_Open(AT91C_BASE_PDC_SPI); for(i=0;i<8;i++) SPI_buf[i]=i; portEXIT_CRITICAL();
for(;;)
{ while(AT91F_SPI_SendFrame(AT91C_BASE_SPI,(char*) &SPI_buf[0],8,0,0) == 0) vTaskDelay(portTICK_RATE_MS * 10); i++; SPI_buf[7]=i; vTaskDelay(portTICK_RATE_MS * 1000); } }
|
|
|
|
|
Feb 1 2007, 14:08
|
Местный
  
Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136

|
Цитата(Karl @ Feb 1 2007, 13:26)  Спасибо, вроде все понятно. А с приемом Вы не разбирались? Нет, мне пока без надобности. Я на прием PDC использую с ADC. Код надо?
|
|
|
|
|
Feb 1 2007, 16:47
|
Частый гость
 
Группа: Свой
Сообщений: 179
Регистрация: 4-02-05
Пользователь №: 2 429

|
Цитата(Kitsok @ Feb 1 2007, 16:08)  Цитата(Karl @ Feb 1 2007, 13:26)  Спасибо, вроде все понятно. А с приемом Вы не разбирались?
Нет, мне пока без надобности. Я на прием PDC использую с ADC. Код надо? Да, пригодится. Кстати, передача заработала сразу  Спасибо! У меня на SPI АЦП сидит. Так что надо и передачу и прием.
|
|
|
|
Сообщений в этой теме
Abakt DMA - для чего он и как его использовать Jan 30 2007, 22:39 beer_warrior DMA aka Direct Memory Access - дает возможность п... Jan 31 2007, 01:07 Abakt Спасибо. подскажите апноут какой нить чтоб посмотр... Jan 31 2007, 01:20 Abakt и какова скорость приема дданных ? например по пар... Jan 31 2007, 01:45 defunct DMA - это маленький простеникий и тупой slave сопр... Jan 31 2007, 02:36 zltigo Цитата(defunct @ Jan 31 2007, 01:36) Доми... Jan 31 2007, 20:34 beer_warrior ЦитатаСпасибо. подскажите апноут какой нить чтоб п... Jan 31 2007, 10:27 Abakt большое спасибо за помощь. сижу разбираюсь. Jan 31 2007, 11:40 Dron_Gus Цитата(zltigo @ Jan 31 2007, 20:34) C сто... Jan 31 2007, 22:17 ASN zltigo
Режим работы контроллера DMA определяется ... Jan 31 2007, 23:05       Kitsok Это инициализация
Код#define NCHANNELS 8
extern ... Feb 2 2007, 11:48        Karl Можно ли одновременно передавать массив данных в S... Feb 6 2007, 13:16         Kitsok Цитата(Karl @ Feb 6 2007, 13:16) Можно ли... Feb 6 2007, 15:28          Karl Цитата(Kitsok @ Feb 6 2007, 17:28) Цитата... Feb 7 2007, 08:44           Kitsok Цитата(Karl @ Feb 7 2007, 08:44) Спасибо,... Feb 12 2007, 19:01  zltigo Цитата(sonycman @ Jan 31 2007, 23:40) The... Feb 1 2007, 19:38   defunct Цитата(zltigo @ Feb 1 2007, 18:38) Причем... Feb 2 2007, 01:46 Dron_Gus Цитата(Kitsok @ Feb 1 2007, 14:08) Нет, м... Feb 1 2007, 14:53 Karl Цитата(Kitsok @ Feb 12 2007, 21:01) Цитат... Feb 15 2007, 07:26 Kitsok Спасибо большое!
Я так и думал, что в общем-т... Feb 15 2007, 18:55 beer_warrior ЦитатаСобственно работа:
Кодfor(;;)
{
whi... Feb 15 2007, 19:59  Karl Цитата(beer_warrior @ Feb 15 2007, 21:59)... Feb 16 2007, 09:29  Kitsok Цитата(beer_warrior @ Feb 15 2007, 19:59)... Feb 16 2007, 11:46   HARMHARM Цитата(Kitsok @ Feb 16 2007, 10:46) Друго... Feb 16 2007, 12:39   Karl Цитата(Kitsok @ Feb 16 2007, 13:46) Вот д... Feb 16 2007, 12:53    Kitsok Цитата(Karl @ Feb 16 2007, 12:53) SPI раб... Feb 20 2007, 01:03     Karl Цитата(Kitsok @ Feb 20 2007, 03:03) Цитат... Feb 20 2007, 06:54      Kitsok Всем привет!
Вчера вперся в непонятную пробле... Feb 20 2007, 12:23 Slonic Подскажите, пожалуйста, можно ли использовать DMA ... Feb 16 2007, 14:35 Dron_Gus А обьясните мне глупому по PDC у SAM7. Предположим... Feb 20 2007, 17:21 Сергей Борщ Цитата(Dron_Gus @ Feb 20 2007, 16:21) Зна... Feb 20 2007, 18:01
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|