реклама на сайте
подробности

 
 
> непонятки с DS2482
asket
сообщение Nov 25 2009, 10:57
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 91
Регистрация: 24-08-06
Из: Москва
Пользователь №: 19 809



Для экономии ножек на МК мною было принято решение использовать DS2482-800, для апробирования взята микросхема DS2482-100, проблема такая: после ресет шины микруха не видит сигнала присутствия, хотя физически сигнал присутствует (на осциллографе) и передается со стороны подключаемого к нему DS2406 (dual switch), а DS2482 упорно не хочет ставить флаг PPD (presence pulse detected) в регистре статусе. Кто нибудь сталкивался с этой проблемой? Как решали этот впрос?

Привожу пример кода для STM32, вроде все должно работать

Код
u32 OWReset(void)
{
   u8 command;
   u8 status;
   u32 poll_count = 0;

   // 1-Wire reset (Case B)
   //   S AD,0 [A] 1WRS [A] Sr AD,1 [A] [Status] A [Status] A\ P
   //                                   \--------/        
   //                       Repeat until 1WB bit has changed to 0
   //  [] indicates from slave
  
   command = CMD_1WRS;
   while (I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY));
   I2C_Master_BufferWrite(I2C_address, &command, 1);
  
   // loop checking 1WB bit for completion of 1-Wire operation
   // abort if poll limit reached
   do
   {
      while (I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY));
      status = I2C_Master_BufferRead1Byte(I2C_address);
   }
   while ((status & STATUS_1WB) && (poll_count++ < POLL_LIMIT));

   // check for failure due to poll limit reached
   if (poll_count >= POLL_LIMIT)
   {
      DS2482_reset();
      return FALSE;
   }

   // check for short condition
   if (status & STATUS_SD)
      short_detected = TRUE;
   else
      short_detected = FALSE;

   // check for presence detect
   if (status & STATUS_PPD)
      return TRUE;
   else
      return FALSE;
}


Заранее благодарен за любую помощь! Она нужна как воздух, срочно!

Сообщение отредактировал asket - Nov 25 2009, 10:58
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01343 секунд с 7
ELECTRONIX ©2004-2016