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

 
 
> ds2431, кто работал - отзовитесь.
SasaVitebsk
сообщение Jan 10 2011, 18:25
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Что-то у меня не клеится. Причём на ровном месте.
Моделирую ситуацию в протеусе.
Команда write_scratchpad.
Передаю команду, TA1, TA2 + 8 байт данных. И получаю CRC16 инверсное. Всё согласно даташиту (насколько я его понял). Все эти 11 байт я считаю в CRC. В начале CRC обнуляю. Результат протеуса отличается от моего хоть убей.
При этом CRC реализовал уже 2 способами (табличным и медленным) согласно разных документов и мой результат по обоим подпрограммам совпадает.

Где я допустил хомут? Кто подскажет?
Заранее благодарю.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Jan 11 2011, 07:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



CRC8 используется в командах с LaserROM. А именно READROM, MATCHROM и т.д. CRC16 используется в командах scratchpad. Read и write.
Сам алгоритм генерации у меня верный. Я его проверил на примере из даташита.
Меня интересует не алгоритм генерации, а то как считается этот CRC конкретно в DS2431.
Я руководствуюсь даташитом
Цитата
With the Write Scratchpad command, the CRC is generated
by first clearing the CRC generator and then
shifting in the command code, the target addresses
TA1 and TA2, and all the data bytes as they were sent
by the bus master. The DS2431 transmits this CRC only
if E[2:0] = 111b.
With the Read Scratchpad command, the CRC is generated
by first clearing the CRC generator and then
shifting in the command code, the target addresses
TA1 and TA2, the E/S byte, and the scratchpad data as
they were sent by the DS2431. The DS2431 transmits
this CRC only if the reading continues through the end
of the scratchpad. For more information on generating
CRC values, refer to Application Note 27.


Далее вижу
Цитата
Tx (Reset) Reset pulse
Rx (Presence) Presence pulse
Tx CCh Issue “Skip ROM” command
Tx 0Fh Issue “Write Scratchpad” command
Tx 20h TA1, beginning offset = 20h
Tx 00h TA2, address = 0020h
Tx <8 Data Bytes> Write 8 bytes of data to scratchpad
Rx <2 Bytes CRC-16> Read CRC to check for data integrity


Я делаю так:
1. обнуляю CRC
2. считаю Write Scratchpad
3. считаю TA1
4. считаю TA2
5. считаю 8 байт данных
6. читаю CRC16 и инвертирую (2 байта)

У меня не совпадает с протеусом. Что я делаю не так.

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- SasaVitebsk   ds2431   Jan 10 2011, 18:25
- - leg   Вот этот код вроде со всеми далласами дружил, про ...   Jan 10 2011, 19:11
- - Diusha   А есть возможность попробовать с другим экземпляро...   Jan 11 2011, 03:01
- - SasaVitebsk   Особое внимание для тех кто читает. )) Я спрашиваю...   Jan 11 2011, 04:01
- - ILYAUL   ЦитатаЕщё раз. Сама ds имеет генератор crc8 (станд...   Jan 11 2011, 05:48
- - SasaVitebsk   Нашёл исходники для компа. Там 3 вид CRC и опять ж...   Jan 12 2011, 03:39
- - ILYAUL   А Вы вот такую "штучку" у "Максим...   Jan 12 2011, 04:02
|- - SasaVitebsk   Цитата(ILYAUL @ Jan 12 2011, 10:02) А Вы ...   Jan 12 2011, 08:47
|- - Andrew_k5   Кто работал с ds2431, поделитесь исходником для Co...   May 20 2011, 09:09
|- - DmitryM   Цитата(SasaVitebsk @ Jan 12 2011, 12:47) ...   Jul 26 2011, 08:00
- - Rtem   SasaVitebsk, извините за нескромный вопрос, но в к...   Jul 20 2012, 20:28
- - million68   Работаю с DS2431. Как сбросить Protection Control ...   Aug 1 2012, 18:14
|- - DmitryM   Цитата(million68 @ Aug 1 2012, 22:14) Раб...   Aug 2 2012, 07:27
- - million68   Там чуть ниже: "Each page can be individually...   Aug 2 2012, 07:49
- - DmitryM   Цитата(million68 @ Aug 2 2012, 11:49) Та...   Aug 2 2012, 13:26


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

 


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


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