11 / 15 / 8
Регистрация: 12.10.2011
Сообщений: 808
|
||||||||||||||
1 | ||||||||||||||
Протокол I2C SMBUS05.03.2024, 11:29. Показов 770. Ответов 6
Метки нет Все метки)
(
Доброго дня!
Прочитал анализатором общение по интерфейсу, такой воспос, как я понял в нем есть контрольный байт, но согласно описания расчета crc не получается повторить. Задача сделать эмулятор родного аккумулятора. Может кто знает как рассчитать, что бы было как в оригинале?
тоже по запросу 0x3D Bad PEC 0x43 should be 0x80 пытался посмотреть на биты, ничего в голову не приходит...
0
|
05.03.2024, 11:29 | |
Ответы с готовыми решениями:
6
AT24c64+STM32F3 I2C протокол I2C UART SMBUs И снова smbus и winring |
763 / 378 / 56
Регистрация: 22.09.2023
Сообщений: 1,114
|
|
05.03.2024, 11:57 | 2 |
Полагаю, это можно найти в описании протокола на http://smbus.org/specs/
Добавлено: не поленился, скачал, бегло просмотрел, оно там есть:
0
|
11 / 15 / 8
Регистрация: 12.10.2011
Сообщений: 808
|
|
05.03.2024, 14:48 [ТС] | 3 |
Да,но если посчитать то не получается то что шлет блок, на запрос 3D блок шлет crc 0x43 а по расчету получается 0x80....
0
|
763 / 378 / 56
Регистрация: 22.09.2023
Сообщений: 1,114
|
|
05.03.2024, 16:48 | 4 |
У первого попавшегося калькулятора не получается ни 0x80 ни 0x43. Так может это не контрольная сумма?
Вот ведь они пишут: Хотя согласен - описание контрольной суммы более чем скудное. Ни начальное значение, ни направление сдвига, ни инверсия не указаны. Может это поможет:
0
|
11 / 15 / 8
Регистрация: 12.10.2011
Сообщений: 808
|
|
05.03.2024, 16:56 [ТС] | 5 |
Вот нашел:
Добавлено через 2 минуты Вот нашел PEC - это байт проверки на ошибки CRC-8, вычисляемый по всем байтам сообщения (включая адреса и биты чтения/записи). PEC добавляется к сообщению устройством, предоставившим последний байт данных. Я пытаюсь рассчитать crc на 2 байта, 0xF6 и 0x10 это байты с данными, получается еще и адрес устройства 0x0B надо добавить? http://www.smbus.org/specs/smbus20.pdf
0
|
763 / 378 / 56
Регистрация: 22.09.2023
Сообщений: 1,114
|
|
05.03.2024, 17:09 | 6 |
Я вам это же самое английским по белому на картинке из спецификации в первом сообщении выложил. И да, там было написано, что надо считать и адрес тоже. Но 0x43 все равно не получится, я проверял. Да и анализатор ваш в предыдущей теме на этот PEC ругался. Значит это не PEC, а просто еще один байт ответа.
0
|
11 / 15 / 8
Регистрация: 12.10.2011
Сообщений: 808
|
|
05.03.2024, 17:39 [ТС] | 7 |
Это может быть байт ответа, наверное, но если я отдельно посылаю команду аккумулятору, то то он отвечает 2-я байтами, в спецификации написано что 3D это милливольты. если подключаюсь сканером к линии то идет 3 байта. вот что меня смутило...
0
|
05.03.2024, 17:39 | |
Помогаю со студенческими работами здесь
7
Конвертер i2c в usb - MIKROE-1421, FTDI click USB 2.0 to I2C для ПК
Драйвера для PCI-устройство Intel 82801GB ICH7 - SMBus Controller Как прочитать данные по SMBus c адреса 0x50 через winring0.sys Python Библиотека smbus вылетает ошибка OSError: [Errno 121] Remote I/O error Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Новые блоги и статьи
![]() |
||||
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной.
Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
|
Формулы поворота
Igor3D 10.03.2025
Добрый день
Тема
Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости".
x' = x * cos(a) - y * sin(a)
y' = y * cos(a) + x * sin(a)
Как бы Вы их. . .
|
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
|
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
|
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
|
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view.
string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
|
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
|
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет!
Отправлено 19 февраля 2025 года в 17:20:21 UTC
Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home.
Мы официально. . .
|
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
|
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
|