Вопросы и замечания по статьям и схемам, представленным на нашем сайте
При поддержке РадиоКОТструктор.ру
Ср июн 01, 2011 23:03:10
ууу.....ет складно для студента, которому надо всего то сдать лабораторку по микропроцесорах. не знаю: правильно я подключил на рис. - но надо такое простое задания решить: типа того, как считать серийной номер етого ds17.. или какие-то подпрограмки запису-чтения 1, 0 - подобно my last post.
- Вложения
-
- 23468796.jpg
- (91.12 KiB) Скачиваний: 510
-
- maket_1wire.rar
- (11.06 KiB) Скачиваний: 360
Ср июн 01, 2011 23:08:43
а где там код на ассемблере, так и не нашел???
Чт июн 02, 2011 07:11:25
ascentman писал(а):а где там код на ассемблере, так и не нашел???
ну и студенты нынче пошли... в трех соснах заблудился - и на весь мир кричать о помощи...
Чт июн 02, 2011 08:23:34
ascentman писал(а):ууу.....ет складно для студента, которому надо всего то сдать лабораторку по микропроцесорах. не знаю: правильно я подключил на рис. - но надо такое простое задания решить: типа того, как считать серийной номер етого ds17.. или какие-то подпрограмки запису-чтения 1, 0 - подобно my last post.
Студент?!:shock: Предложения не согласованы, ошибок больше чем слов. Ну, уважаемый , насмешил так насмешил..
Чт июн 02, 2011 11:12:53
Ранее я кидал ссылку на книгу. Там все подробно описано, есть готовые примеры ПО, включая запись 0 и 1.
Вы сначала рассберитесь с тем как вам советуют, и только потом задавайте новые вопросы.
Пт ноя 02, 2012 10:49:24
Извините вопрос перенес.
Ср ноя 26, 2014 06:57:04
Коты помогите, нужно связать два мк pic16f84a по 1-wire, те к примеру передать с мк на мк значение температуры считанной с датчика DS1820, тоторое хранится к примеру в переменной t.
уточню немного суть, программы пишу и компилирую в среде mikroC fo pic, там имеется даже пример для датчика ds1820, который легко повтирить. а вот как используя их команды из библиотеки передавать с контроллера на контроллер до меня не доходит.
может кто то делал что то подобное, помогите
Ср ноя 26, 2014 07:20:56
Сдаётся мне, что вопрос к сабжу не имеет никакого отношения.
И кстати, что за безумная идея связывать два контроллера по Ван-Вайеру?
Ср ноя 26, 2014 07:55:20
наверно я такой безумный
а есть предложение как по одному проводу данные передать другим способом?
Чт ноя 27, 2014 07:10:43
invisible86 писал(а):как по одному проводу данные передать
Например, обычным UART'ом.
Чт фев 19, 2015 22:26:34
Здравствуйте. Хочу немного поживится умом-разумом. Пишу маленько программу для чтения температуры с >2 термометров DS 18B20. Есть код семейства, серийный номер (все в 16). Первой стоит проблема в вычисление CRC. Использую процедуру со статьи. На выходе получаю CRC в виде от 1 до (как мне кажется) 256. Так понимаю бинарное в десятичном представлении. (верно?) следовательно его нужно переобразовать в двоичную систему, и поставить в конец передаваемой строки (верно?). Дальше вопрос: в CRC передаю байты в обратном порядке (в порядке передачи) то есть если я сначала переобразовываю в бинарный вид код семейства, затем ID датчика (тоже разворачивать?).
Итого я наметил алгоритм:
1 перевожу код семейства в бинарный
2 - перевожу ID датчика в бинарный
3 - разворачиваю бинарный ID код датчика (по байтно)
4 передаю в CRC код семейства затем побайтно ID код девайса
5 после вычисления CRC переобразовываю его в бинарный вид и ставлю в хвост
6 согласно алгоритму (ресет/матч) - передаю: семейство>6 байт ID > CRC
Все ли так? Просто в голове уже каша, вот решил еще добавить "соли", да и темку "апнуть".
Сб фев 21, 2015 12:02:26
Снова. Здравствуйте. Кто может ответить на вопрос связанный с вычислением CRC. Вопрос таков. Имею полученый код семейства (28h) и серийный номер устройства (допустим 00000001b81c (тоже в h)). на вычисление CRC перевожу код семейства (28h) в бинарный вид (00101000) и таким же самым образом перевожу ID (начинаю с 1С = 00011100). Вычисление провожу в паскале, подстановкой в таблицу (все по производителю). Так вот вопрос (!) в CRC я передаю байт в каком виде: 16 или бинарном, и в каком порядке: прямом (00101000), или обратном (00010100)? И какое число я получаю на выходе? десятичное или 16? Заранее благодарен
Чт фев 26, 2015 20:45:37
Что же продолжу монолог. Разобрался уже и с CRC, и с передачей байтов, и с прочей хитростью. Вот дошел до того, что нужно было. Считываю температуру с любого нужного мне датчика (!, во блин достижение то). Но процесс считывания с одного - около 3,5 с. А у меня их будет как минимум 10 (это - 35 сек на одно обновление. Согласитесь, как то не очень гуд). Вот теперь подумываю как бы его "синхронизировать" Гадаю как? Потоки в Delphi относительно команд? Кто как с этим боролся, и как решалось?
Пт фев 27, 2015 09:11:17
процесс считывания с одного - около 3,5 с
чёт хуйня какая-то. Потому и остальным пох на ваши потуги.
Пт фев 27, 2015 10:39:35
Что же, крайне интересная позиция. Надеюсь такой взгляд и отношение на этом форуме имеете только Вы. К тому же мне кажется, что не стоит столь критично отзываться на чужие вопросы, этим можно показать только свою культуру.
Пн мар 02, 2015 21:26:27
И так, отпишусь о проделанном и осмысленном. 1. удалось снизить время на чтение одного датчика с 3,5с до 1с (в принципе это около минимума возможного) и того 10 датчиков - 10с-9с. Для меня это вполне приемлемо. Как. 1. - были дублированы задержки функции и после функции (так как функция скрыта в библиотеке). 2. Была изменена структура считывания температуры (вместо reset/match rom/convertt t/reset/match rom/read scartchpad было использовано: reset/skip rom/convertt t/reset/match rom/read scartchpad). Как то так. Осталось запустить цикл чтения в потоке, и цель вроде как выполнена. спасибо за внимание.
Вт мар 03, 2015 09:05:09
Shyrik27 писал(а):удалось снизить время на чтение одного датчика с 3,5с до 1с (в принципе это около минимума возможного)
Конкретно чтение температуры после преобразования reset/match rom/read scartchpad занимает около 14 мс. Если у вас все датчики делают преобразование температуры одновременно (судя по skip rom/convertt t), непонятно на что у вас уходит 1 с на чтение одного датчика.
Вт мар 10, 2015 07:54:23
Gudd-Head писал(а):непонятно на что у вас уходит 1 с на чтение одного датчика
Видимо, на последовательный подсчёт CRC.
Вт мар 10, 2015 11:15:56
Жуть какая-то. Время на общение с 1 датчиком (со skip rom) уходит менее 20мС, даже если ожидать время обработки прерываний на индикацию. Все остальное время около 1Сек просто тупо ждем, пока датчик совершит очередное преобразование, или можно занять его еще чем-либо. На 10 датчиков думаю время на опрос увеличится до 0,5С примерно, добавится обращение к датчикам по их коду, ну ни как не несколько секунд.
Вот пример с 1 датчиком, зеленый - 1-Wire:
http://img.radiokot.ru/files/19962/lgkm1eslo.png
Вт мар 10, 2015 12:05:00
Хатуль_мадан писал(а):Жуть какая-то.
Вот это уже существенное замечание. Но как же тот факт, что процедура RESET длится >480 us? А мне нужно перед опросом каждого датчика послать MatchROM (следовательно сначала Reset) или тупо посылаем matchrom/read/match rom/read/ Я немного уже позабыл как там код выглядит ((отложил на недельку дабы другие дела подогнать да голову освежить) сегодня гляну и начну экспериментировать более активно, если вы все так уверены в том, что можно достичь (небывалых для моего воображения) <1c на 10 датчиков.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.