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

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

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

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

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

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

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

 
Опции темы

Не читается микросхема SI4702

Непрочитано 05.07.2011, 03:54  
sdsrem
Почётный гражданин KAZUS.RUN
 
Аватар для sdsrem
 
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
sdsrem на пути к лучшему
По умолчанию Не читается микросхема SI4702

Не читаеться микросхема SI4702, вроде всё правильно но нет ответа и всё.
Вот код для CVAVR Mega8
PHP код:
#define uchar  unsigned char
#define uint   unsigned int
#define ulong  unsigned long

#define Dout   PORTB.0
#define Din   PINB.0
#define SCK    PORTB.1
#define CS     PORTB.2
#define reset  PORTD.7


unsigned long  R02=0b110000101100000000000001; //h2
unsigned char  RR =0b11101011; //0x0B

typedef union
 {
 unsigned long lg;
 unsigned char arr[3];
 }un;
un un1;

union adcu
 { 
   uint word;
   uchar byte[2];
 };

unsigned char spi_(unsigned char data)
{
   unsigned char miso = 0;
   unsigned char mask = 0x80;

   for( ; mask; mask ››= 1)
   {
       Dout = data & mask;
       SCK = 1;
       if(Din) miso |= mask;
       SCK = 0; 
    }
   return miso;
}

void set_pll()
 {    
     CS=0;    
    spi_(un1.arr[2]);
    spi_(un1.arr[1]);
    spi_(un1.arr[0]);
     CS=1;  
      delay_us(10);
 };
 
 uint max_read(void) 
  {  
   union adcu adc_data;
   {
     CS=0;  imp_1;    //чип селект,+ шлём 1 клок
     spi_(RR);  //шлём адрес для чтения + бит R/W
   // while (Din)
    
     adc_data.byte[1]=spi_(0); //читаем
     adc_data.byte[0]=spi_(0); //читаем
     CS=1; imp_1;   //чип деселект, + шлём 1 клок 
    }
     return (adc_data.word);
  }

  #define out_lcd() { gotoxy(0,7); out_array_(max_read()); print_string(arr_);}

uchar arr_[]="        ";
flash ulong step_razr[]={10000000,1000000,100000,10000,1000,100,10,1};
  
 void out_array_(ulong reg)
 {
  uchar i,atemp;
  ulong val,temp;
  val=reg;
  for (i=0; i‹8; i++)
   { temp=step_razr[i];
      atemp=0;
    while(val ›= temp)
     { atemp++; val-=temp; }
       arr_[i]=atemp+0x30; 
   } 
 } 


 void init_4702(void) 
   { 
    reset=0;
     delay_ms(10);
    reset=1; 
     delay_ms(1);
    
    un1.lg=R02; set_pll();

     max_read();
      out_lcd();
   }; 
 //------------------------------ 
Может кто подскажет где косяк.
Вот ещё по протоколу доташит.

На передачу всё в порядке.
Вложения:
Тип файла: pdf AN230[1].pdf (486.4 Кб, 175 просмотров)
Реклама:

Последний раз редактировалось sdsrem; 06.07.2011 в 20:49.
sdsrem вне форума  
Сказали "Спасибо" sdsrem
warel (28.06.2019)
Непрочитано 05.07.2011, 07:00  
mobil2005
Прописка
 
Аватар для mobil2005
 
Регистрация: 19.07.2006
Адрес: Russia,Yekaterinburg
Сообщений: 184
Сказал спасибо: 12
Сказали Спасибо 75 раз(а) в 43 сообщении(ях)
mobil2005 на пути к лучшему
По умолчанию Re: Не читаеться микросхема SI4702

Сообщение от sdsrem Посмотреть сообщение
На передачу всё в порядке.

А на мой взгляд косяк у вас там закрался
Сообщение от sdsrem Посмотреть сообщение
Dout = data & mask;
Надо или так(предпочтительней ибо быстрее)
Цитата:
Dout = 0;
if(data & mask )
Dout = 1;
или
Цитата:
if(data & mask )
Dout = 1;
else
Dout = 0;
А то в вашем коде при spi_(0хFF) вы просто в PORTB.0 шлете от 0х01 до 0х80 хотя переменная должна быть битовой и либо 0 либо 1.
И что он записывает в битовую переменную при отправке туда байта я лишь догадыватся могу, но наверное лишь первый бит
__________________
Разработка электроники на заказ, написание ПО для ПК и МК.Обращайтесь в личку.

Последний раз редактировалось mobil2005; 05.07.2011 в 07:09.
mobil2005 вне форума  
Сказали "Спасибо" mobil2005
warel (28.06.2019)
Непрочитано 05.07.2011, 08:09  
sdsrem
Почётный гражданин KAZUS.RUN
 
Аватар для sdsrem
 
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
sdsrem на пути к лучшему
По умолчанию Re: Не читаеться микросхема SI4702

Сообщение от mobil2005 Посмотреть сообщение

А на мой взгляд косяк у вас там закрался

Надо или так(предпочтительней ибо быстрее)

или

А то в вашем коде при spi_(0хFF) вы просто в PORTB.0 шлете от 0х01 до 0х80 хотя переменная должна быть битовой и либо 0 либо 1.
И что он записывает в битовую переменную при отправке туда байта я лишь догадыватся могу, но наверное лишь первый бит
Нет с выводом полный порядок, хотя можно сделать как предложили вы, я так тоже делал.
Дело не в этом, дело в приёме, нет приёма, совсем нет.
sdsrem вне форума  
Сказали "Спасибо" sdsrem
warel (28.06.2019)
Непрочитано 05.07.2011, 08:45  
mobil2005
Прописка
 
Аватар для mobil2005
 
Регистрация: 19.07.2006
Адрес: Russia,Yekaterinburg
Сообщений: 184
Сказал спасибо: 12
Сказали Спасибо 75 раз(а) в 43 сообщении(ях)
mobil2005 на пути к лучшему
По умолчанию Re: Не читаеться микросхема SI4702

Сообщение от sdsrem Посмотреть сообщение
Нет с выводом полный порядок
И как же вы определили с ним все в порядке если у вас ничего не работает
__________________
Разработка электроники на заказ, написание ПО для ПК и МК.Обращайтесь в личку.
mobil2005 вне форума  
Сказали "Спасибо" mobil2005
warel (28.06.2019)
Непрочитано 05.07.2011, 13:37  
XoDoK11
Гражданин KAZUS.RUN
 
Аватар для XoDoK11
 
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
XoDoK11 на пути к лучшему
По умолчанию Re: Не читаеться микросхема SI4702

Цитата:
CS=0;imp_1; //чип селект,+ шлём 1 клок
Его можно вообще не дергать. CS=0; в начале
С++ в Mega8 не есть хорошо. В С ошибок меньше будет и отлаживать проще.
Может использовать 2-проводный режим - похож на I2C (навскидку)?
XoDoK11 вне форума  
Сказали "Спасибо" XoDoK11
warel (28.06.2019)
Непрочитано 05.07.2011, 13:57  
heady69
Прописка
 
Регистрация: 25.09.2009
Адрес: Ivanovo
Сообщений: 156
Сказал спасибо: 3
Сказали Спасибо 67 раз(а) в 60 сообщении(ях)
heady69 на пути к лучшему
По умолчанию Re: Не читается микросхема SI4702

Сообщение от sdsrem Посмотреть сообщение
Dout = data & mask;
SCK = 1;
if(Din) miso |= mask;
SCK = 0;
После выдачи данных на PORTB.0 наверное стоит переключить порт в режим ввода?
heady69 вне форума  
Сказали "Спасибо" heady69
warel (28.06.2019)
Непрочитано 05.07.2011, 17:41  
sdsrem
Почётный гражданин KAZUS.RUN
 
Аватар для sdsrem
 
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
sdsrem на пути к лучшему
По умолчанию Re: Не читаеться микросхема SI4702

Сообщение от mobil2005 Посмотреть сообщение
И как же вы определили с ним все в порядке если у вас ничего не работает
Да радио работает, поёт и пляшет, и каналы и звук меняются.


(Его можно вообще не дергать. CS=0; в начале
С++ в Mega8 не есть хорошо. В С ошибок меньше будет и отлаживать проще.
Может использовать 2-проводный режим - похож на I2C (навскидку)? )

CS= непременное условие после каждого слова.
Да сдесь вроде как не на C++ а просто C .
С двухпроводном режимом нет проблем, по i2c всё работает и читает и пишит.


(После выдачи данных на PORTB.0 наверное стоит переключить порт в режим ввода?)
Ну дык вроде с этим делом тоже порядок

#define Dout PORTB.0
#define Din PINB.0
или нет ???
sdsrem вне форума  
Сказали "Спасибо" sdsrem
warel (28.06.2019)
Непрочитано 05.07.2011, 18:11  
XoDoK11
Гражданин KAZUS.RUN
 
Аватар для XoDoK11
 
Регистрация: 17.08.2008
Сообщений: 770
Сказал спасибо: 52
Сказали Спасибо 450 раз(а) в 202 сообщении(ях)
XoDoK11 на пути к лучшему
По умолчанию Re: Не читаеться микросхема SI4702

Сообщение от sdsrem Посмотреть сообщение
Да радио работает, поёт и пляшет, и каналы и звук меняются.
С двухпроводном режимом нет проблем, по i2c всё работает и читает и пишит.
А двухпроводный чем не устраивает?
XoDoK11 вне форума  
Сказали "Спасибо" XoDoK11
warel (28.06.2019)
Непрочитано 05.07.2011, 19:56  
sdsrem
Почётный гражданин KAZUS.RUN
 
Аватар для sdsrem
 
Регистрация: 08.09.2009
Сообщений: 1,139
Сказал спасибо: 138
Сказали Спасибо 366 раз(а) в 230 сообщении(ях)
sdsrem на пути к лучшему
По умолчанию Re: Не читаеться микросхема SI4702

Сообщение от XoDoK11 Посмотреть сообщение
А двухпроводный чем не устраивает?


Скорость низкая

Всем спасибо, решил проблему.

Последний раз редактировалось sdsrem; 06.07.2011 в 09:11.
sdsrem вне форума  
Сказали "Спасибо" sdsrem
warel (28.06.2019)
Непрочитано 06.07.2011, 09:39  
heady69
Прописка
 
Регистрация: 25.09.2009
Адрес: Ivanovo
Сообщений: 156
Сказал спасибо: 3
Сказали Спасибо 67 раз(а) в 60 сообщении(ях)
heady69 на пути к лучшему
По умолчанию Re: Не читается микросхема SI4702

Сообщение от sdsrem Посмотреть сообщение
#define Dout PORTB.0
#define Din PINB.0
или нет ???
За направление передачи данных разряда 0 порта B отвечает бит 0 регистра DDRB(=1 - выход, 0-вход) что-то в программе не просматривается изменение этого бита

Последний раз редактировалось heady69; 06.07.2011 в 09:42.
heady69 вне форума  
Сказали "Спасибо" heady69
warel (28.06.2019)
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите опознать, что за микросхема? Pausa Микроконтроллеры, АЦП, память и т.д 19 18.03.2016 20:06
Микросхема CP2103: уровни сигнала на RX/TX Haster Микроконтроллеры, АЦП, память и т.д 6 18.02.2011 23:48
микросхема tm1618 alipovoleg Видеотехника 1 04.03.2010 14:24
Нужна микросхема "обратный счётчик" Skrut Информация по радиокомпонентам 12 19.06.2008 12:50


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.