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

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

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

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

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

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


 
Опции темы
Непрочитано 18.05.2016, 12:22  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: Пишем свое API

Наверное просто данный случай весъма запущеный, спорить не о чем. Если сделать по уму, то аппаратура во всём выиграет по сравнению с ногодрыгом.
Реклама:
cogen вне форума  
Непрочитано 18.05.2016, 12:43  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от cogen Посмотреть сообщение
Наверное просто данный случай весъма запущеный
И2Ц сам по себе унылый и запущенный.
Сообщение от cogen Посмотреть сообщение
Если сделать по уму, то аппаратура во всём выиграет по сравнению с ногодрыгом.
Не в случае с И2Ц. Это у вас от недостатка знаний по железу. Железо разных производителей пестрит ерратами и костылями по И2Ц. Протокол не сильно шустрый, объёмы невелики, поэтому в сложившейся ситуации, для мастера, ногодрыжный вариант будет в большинстве случаев нормальным решением. Для слэйва, конечно, наилучшим будет хардварное решение.
STM32F0 вне форума  
Непрочитано 18.05.2016, 13:10  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: Пишем свое API

Шина как шина, простейший протокол, синхронная альтернатива UART/MODBUS
Я конечно не опытный практик, измученный нарзаном, поэтому наивно полагаю что как-нибудь железо работает. Конечно, если оно теряет прерывания по приему байта, то толку в нем нет, но наверняка в следующей ревизии это чинят. Расскажите конкретнее про грабли - где и какие.
Объемы бывают и большие, скажем килобайтный буфер сенсора. Дрыгать пином вдобавок к другим задачам - не слишком ли накладно?
cogen вне форума  
Непрочитано 18.05.2016, 13:45  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Пишем свое API

Кстати, касательно I2C master на STM, оно отлично работает на прерываниях и DMA. Все легко, интуитивно понятно и как-то не вызывает проблем. А вот методом ожидания флагов... короче, килобайтные посылки разумнее делать на прерываниях. А мелкие пачки лучше гонять ногодрыгом. Хотя если пользовать RTOS, наплевать и на ногодрыг с килобайтами.
Easyrider83 вне форума  
Непрочитано 22.05.2016, 00:04  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Пишем свое API

Фильтр Калмана. Еще не тестировал.
Код:
void KalmanFloatCalc (KalmanFloatTypeDefStruct * KalmanFloatStruct)
{
  KalmanFloatStruct-›Result = KalmanFloatStruct-›K * KalmanFloatStruct-›Value;
  KalmanFloatStruct-›Value = 1.0 - KalmanFloatStruct-›K;
  KalmanFloatStruct-›Previous *= KalmanFloatStruct-›Value;
  KalmanFloatStruct-›Result += KalmanFloatStruct-›Previous;
  KalmanFloatStruct-›Previous = KalmanFloatStruct-›Result;
}
Код:
typedef struct
{
  float Result;                 //результирующее значение
  float Value;                  //исходное значение
  float Previous;               //результат вычисления в предыдущей интерации
  float K;                      //коэффициент стабилизации, по-умолчанию = 0.1
}KalmanFloatTypeDefStruct;
Взято отсюда.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
akegor (22.05.2016)
Непрочитано 22.05.2016, 00:11  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,982
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Пишем свое API

Сообщение от cogen Посмотреть сообщение
синхронная альтернатива UART/MODBUS
никуя се альтернатива! внутриплатная и межобъектная - разница, как хер с пальцем! а MODBUS вообще за "уй притянут сюда, это программная реализация над аппаратным решением
jump вне форума  
Непрочитано 22.05.2016, 01:23  
cogen
Прописка
 
Регистрация: 25.04.2010
Сообщений: 24
Сказал спасибо: 9
Сказали Спасибо 17 раз(а) в 17 сообщении(ях)
cogen на пути к лучшему
По умолчанию Re: Пишем свое API

i2c ногодрыгом тоже чисто программная реализация, и что? и ниразу не внутриплатная, в текущем проекте несколько отдельных плат на ней висят, а в одном предыдущем проекте - наоборот, два контроллера на одной плате по UART на 1Мбит общались. Некоторые извращенцы и на 100 метров i2c используют тыц.
С другой стороны, здесь сказано: This optional MODBUS on Serial Line system should only be used for short length ( typically less than 20m ) point to point interconnection.
Шину можно даже без согласователей сделать, тот же STM32 имеет возможность переключать вывод TX в конфигурацию с открытым стоком.

Последний раз редактировалось cogen; 22.05.2016 в 01:28.
cogen вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
свое USB устройство ESWANT Микроконтроллеры, АЦП, память и т.д 2 08.09.2009 14:58


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


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