Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.03.2009, 20:11  
Binary_Man
Частый гость
 
Регистрация: 30.09.2008
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Binary_Man на пути к лучшему
По умолчанию pic18f4550 + max1270

Здравствуйте, Уважаемые...
Помогите студенту связать две микросхемы по SPI

Код:
       TRISCbits.TRISC7=0; //sdo 
       TRISBbits.TRISB1=0; //sck       
       TRISAbits.TRISA5=0; //ss
       TRISBbits.TRISB0=1; //sdi
                                                
       LATAbits.LATA5=1;
       OpenSPI(SPI_FOSC_64,MODE_00,SMPEND);
    while(1)
    {   USBDeviceTasks(); 
        ProcessIO();
       LATAbits.LATA5=0;
       WriteSPI(conf);     // char conf=0xAD;
       LATAbits.LATA5=1;
       adc = ReadSPI();           
    }
что неверно? (MCC1
сделал всё в железе, а результата нет.
схема и разводка в архиве

Прикрепленный файл: 246955.zip
Реклама:
Binary_Man вне форума  
Непрочитано 17.03.2009, 10:05  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: pic18f4550 + max1270

Сообщение от Binary_Man
Здравствуйте, Уважаемые...
Помогите студенту связать две микросхемы по SPI

Код:
    {   USBDeviceTasks(); 
        ProcessIO();
       LATAbits.LATA5=0; // Выбрали кристалл
       WriteSPI(conf);     // char conf=0xAD;
       LATAbits.LATA5=1; // сняли выборку
       adc = ReadSPI(); 
    }
что неверно? (MCC1
сделал всё в железе, а результата нет.
схема и разводка в архиве
Вообще-то работу с SPI нужно было-бы делать внутри ProcessIO().
МАХ1270 для меня не знаком, поэтому два варианта.
Первый - если между чтением и записью выборку кристалла нужно снимать
Код:
    {   USBDeviceTasks(); 
        ProcessIO();
       LATAbits.LATA5=0; // Выбрали кристалл
       WriteSPI(conf);     // char conf=0xAD;
       LATAbits.LATA5=1; // сняли выборку
//возможно нужна будет дополнительная задержка
       LATAbits.LATA5=0; // Выбрали кристалл
       adc = ReadSPI(); 
       LATAbits.LATA5=1; // сняли выборку         
    }
Второй - если МАХ допускает подряд операции чтения-записи
Код:
    {   USBDeviceTasks(); 
        ProcessIO();
       LATAbits.LATA5=0; // Выбрали кристалл
       WriteSPI(conf);     // char conf=0xAD;
       adc = ReadSPI(); 
       LATAbits.LATA5=1; // сняли выборку         
    }
Прикрепленный файл: 246955.zip
MisterDi вне форума  
Непрочитано 17.03.2009, 10:31  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию

Только что посмотред даташит на МАХ, и думаю, что проще будет не заморачиваться со стандартными SPI-функциями, а написать своё, т.к. физически интерфейс SPI, но логика работы не стандартная. Если хочется стандартных функций, то я бы воспользовался CCS вместо MCC18, но там тоже не все однозначно.
MisterDi вне форума  
Непрочитано 17.03.2009, 15:50  
Binary_Man
Частый гость
 
Регистрация: 30.09.2008
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Binary_Man на пути к лучшему
По умолчанию

Ваши полезные советы в первом посте не помогли...
Скажите, а в чем нестандартность МАКСовского SPI?
Код:
//(внутри ProcessIO() )
LATAbits.LATA5=0; //CS=0
WriteSPI(conf);
Delay10TCYx(2);    //задержка 20 клоков
ads = ReadSPI();
//по рисунку CS=1 вроде как не нужен
вроде по даташиту,но не работает
Придется осваивать CSS?
или вообще отказаться от библиотек?

-- Прилагается рисунок: --

Binary_Man вне форума  
Непрочитано 17.03.2009, 16:48  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Я бы выбрал второе. Самому написать - 15 мин работы. Уже от многих людей слышал - гемор с аппаратным spi - оно того не стоит.Никакого выигрыша - ни по коду - ни по быстроте. Пока сохранишь контекст прерывания, пока восстановишь...
(С) Чукча не виноват, стюардесса виновата - то отстегните ремни, то пристегните ремни...
__________________
warez
urry вне форума  
Непрочитано 17.03.2009, 17:42  
Binary_Man
Частый гость
 
Регистрация: 30.09.2008
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Binary_Man на пути к лучшему
По умолчанию

За 15 минут у меня не получиться...
нн да
попал...
Binary_Man вне форума  
Непрочитано 17.03.2009, 21:16  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию

Не так страшен черт как его малютка (с) всего-то делов - два цикла формирующие 25 импульсов. И запись- чтение битов. Собственно и все.
MisterDi вне форума  
Непрочитано 17.03.2009, 21:48  
Binary_Man
Частый гость
 
Регистрация: 30.09.2008
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Binary_Man на пути к лучшему
По умолчанию

А примерчика у Вас случайно не будет?
Binary_Man вне форума  
Непрочитано 18.03.2009, 18:12  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию

когда-то давно делал так
Код:
#define aS_Data PORTB,3
#define aCarry  STATUS,0

char XferByte(char val) //via SPI
{
 char cnt=8;
 char out_data=0;

  spi_data=val;
  while (cnt›0)
   {
        S_Clk=0;
        Rlcf(spi_data,1,1);
        out_data*=2;
        if (SDI==1) out_data++;
        _asm
         btfss  aCarry,0
         bcf    aS_Data,0
         btfsc  aCarry,0
         bsf    aS_Data,0
        _endasm;
    Delay10TCYx(1);
        S_Clk=1;
    Delay10TCYx(1);
        cnt--;
   }
}
этот код был написан давно, поэтому 100% гарантию работоспособности дать не могу.
MisterDi вне форума  
Непрочитано 18.03.2009, 19:42  
Binary_Man
Частый гость
 
Регистрация: 30.09.2008
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Binary_Man на пути к лучшему
По умолчанию

Спасибо.
Вы мне сильно помогли.
щас дело должно пойти...

А для других АЦП,трансиверов и прочего встроенные функции SPI тоже криво работают ? или только один MAXim отличился ?
Binary_Man вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC18F4550 в CDC режиме Binary_Man Микроконтроллеры, АЦП, память и т.д 17 14.03.2009 17:38
Проблема с PIC18f4550 byeloruss Микроконтроллеры, АЦП, память и т.д 0 06.11.2008 19:27
USB в PIC18F4550 реально ли для радиолюбителя Simbr Микроконтроллеры, АЦП, память и т.д 3 26.06.2008 18:49
USB HID PIC18F4550 нужна помощь! tower2007 Микроконтроллеры, АЦП, память и т.д 0 17.04.2008 04:33
Программатор Willem и pic18f4550. urry Микроконтроллеры, АЦП, память и т.д 8 02.12.2007 13:46


Часовой пояс GMT +4, время: 11:59.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot