|
Отказ от использования стандартного SPI, Необходимо переделать код |
|
|
|
Jul 11 2006, 07:18
|

Частый гость
 
Группа: Новичок
Сообщений: 116
Регистрация: 14-02-06
Из: Москва. Перово
Пользователь №: 14 296

|
Всё дело в том, что не устраивает скорость передачи (делится на 2), вот и пришло в голову руками впихивать биты на ножки: MOSI PB5; MISO PB6; SCK PB7. младший в перёд, защёлка по фронту. У меня туго с операциями сдвига, компилятор ICC, подскажите плиз кто может. Код void transSPI(CMDT command, MyByte8T address, MyByte8T *buffer, MyByte8T len) { MyByte8T dummyRX = 0; MyByte8T dummyTX = 0xFF;
if (len > 0x80 || len == 0) return;
PORTB &= ~BIT(3);
SPDR = command | (len & 0x7F); while(!(SPSR &(1 << SPIF))); dummyRX = SPDR;
SPDR = address; while(!(SPSR &(1 << SPIF))); dummyRX = SPDR;
switch(command) { case READ_CMD: while(len-- > 0) { SPDR = dummyTX; while(!(SPSR &(1 << SPIF))); *buffer++ = SPDR; } break; case WRITE_CMD: while(len-- > 0) { SPDR = *buffer++; while(!(SPSR &(1 << SPIF))); dummyRX = SPDR; } } PORTB |= 1<<PORTD3;
}
|
|
|
|
|
 |
Ответов
|
Jul 12 2006, 05:36
|

Частый гость
 
Группа: Новичок
Сообщений: 116
Регистрация: 14-02-06
Из: Москва. Перово
Пользователь №: 14 296

|
Цитата(IgorKossak) По-моему лучше увеличить тактовую у МК (до 16 МГц) и использовать всё-таки встроенный SPI. Частота SPI в этом случае может быть поднята до 8 МГц. Именно ето я и хочу зделать, но я и так работаю на 16МГц-вом такте, остаётся контроллер менять.
|
|
|
|
|
Jul 12 2006, 06:43
|
Частый гость
 
Группа: Участник
Сообщений: 177
Регистрация: 25-08-05
Из: Ставрополь
Пользователь №: 7 964

|
Цитата($ilent @ Jul 12 2006, 09:36)  Цитата(IgorKossak) По-моему лучше увеличить тактовую у МК (до 16 МГц) и использовать всё-таки встроенный SPI. Частота SPI в этом случае может быть поднята до 8 МГц. Именно ето я и хочу зделать, но я и так работаю на 16МГц-вом такте, остаётся контроллер менять. Неужто 8 МГц тактовой SPI (практически 8Мбит/с в пределе) не хватает при 2 Мбит/с радиоканале  ?
|
|
|
|
|
Jul 12 2006, 07:00
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(ksv198 @ Jul 12 2006, 09:43)  Неужто 8 МГц тактовой SPI (практически 8Мбит/с в пределе) не хватает при 2 Мбит/с радиоканале  ? Дело даже не в том, что хватает или не хватает, а в том, что автор задумал переплюнуть аппаратный контролер работающий на на тактовой частоте контролера и выполняющий действие по задвиганию и приему бита за теоретически минимальное время в два такта, ПРОГРАММОЙ, которая по его задумке наверное должна выполнится за ОДИН такт. Больше есего поражает, что эта "идея" вообще ОБСУЖДАЕТСЯ!
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
$ilent Отказ от использования стандартного SPI Jul 11 2006, 07:18 ksv198 Цитата($ilent @ Jul 11 2006, 11:18) ... Jul 11 2006, 07:40 $ilent Цитата(ksv198 @ Jul 11 2006, 11:40) Быстр... Jul 11 2006, 07:49  Karl Цитата($ilent @ Jul 11 2006, 13:49) ... Jul 11 2006, 07:57  ksv198 Цитата($ilent @ Jul 11 2006, 11:49) ... Jul 11 2006, 09:25  SpiritDance Цитата($ilent @ Jul 11 2006, 11:49) ... Jul 11 2006, 14:47 $ilent ну конечно не с каждым, а через один.
на PB7 выдав... Jul 11 2006, 08:18 $ilent подскажите как какое нить число по битно положить ... Jul 11 2006, 08:49 Igor26 Цитата($ilent @ Jul 11 2006, 12:49) ... Jul 11 2006, 09:10 Rst7 Ах вот в чем дело, у вас тут ICC оказывается? Коне... Jul 11 2006, 09:11 $ilent Цитата(Rst7 @ Jul 11 2006, 13:11) Ах вот ... Jul 11 2006, 10:29  Rst7 Цитата($ilent @ Jul 11 2006, 13:29) ... Jul 11 2006, 11:34 $ilent Не, всё дело в том, что мега16 работает с приёмопе... Jul 11 2006, 11:59 Rst7 Цитата($ilent @ Jul 11 2006, 14:59) ... Jul 11 2006, 12:36 $ilent Да именно так, я пытаюсь уменьшить время затрачено... Jul 11 2006, 12:56 IgorKossak По-моему лучше увеличить тактовую у МК (до 16 МГц)... Jul 11 2006, 13:17 SpiritDance Угу на pentium 4.
8 Мгц SPI - это (8 Мбит/c - расх... Jul 12 2006, 06:38 Nanobyte Может, прикрутить к процессору сдвиговый регистр и... Jul 12 2006, 07:13 zltigo Цитата(Nanobyte @ Jul 12 2006, 10:13) Тог... Jul 12 2006, 07:22 $ilent Всем участвующим, сочусвтвующим, делящимся, насмех... Jul 12 2006, 07:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|