Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить

Понять формат данных

Вт мар 19, 2024 14:54:29

Очередной раз всем привет . Я очень сильно и не только Я сразу спотыкаюсь когда коворят про битность формат данных и импульсы.

Я обсолютно не хочу ни кого напрягать и показаться не образованным но Я решился наконец спустся 10 лет практики вьехать в этот вопрос - очень часто в пик контролерах такое есть

Есть страница https://ru.wikipedia.org/wiki/%D0%92%D0 ... 9%D1%81%29

там есть место Формат данных

Прошу на коленях ткните на видео на русском языке которое расказывает про эти милесикунды импульсы чтобы наконецто понять и смог читать эти диаграммы

там говориться что есть старший бит младший бит и всё такое я хочу понять как с ними работать с этими битами . ни как не пойму как это подружить

если есть видео которое разжовывает и на примерах показывает Я с радостью много раз его посмотрю чтобы всёже дошло до меня лично. и чтобы с Этими диаграмами на ТЫ начал говорить .

допустим кокретно в этом примере мне нужно в этой диаграмме получить то число которое предается или несколько чисел которые передаются .

Бесконечно благодарен за любое видео разжовывание. Я не имею каких либо высших образований чтобы прочесть какую нибудь заумную книгу

Re: Понять формат данных

Вт мар 19, 2024 15:38:48

Видео искать лениво, и, вероятно, бесперспективно. А формат описан неплохо. Я никогда с ним раньше не сталкивался, однако непонятных моментов не словил.
Этот интерфейс позволяет передавать данные последовательно - так же, как это делается в интерфейсах COM (UART), 1-WIRE, USB, ETHERNET и других. По нему передаётся некоторое количество битов, по-видимому, обычно небольшое. Сколько именно - это должно определяться в конкретном применении этого интерфейса. Биты собираются в пакет и последовательно, начиная со старшего, передаются по двум линиям (не считая общего провода). Один бит - один короткий импульс на линии Data 0 или Data 1, временнЫе параметры импульсов прописаны в той статье. Конец пакета определяется по паузе - отсутствию передачи данных в течение некоторого, оговорённого заранее, времени.
Что можно передать? Например, такую последовательность символов: 12HELLO, где "12" - это номер, "HELLO" - фасилити (всё в терминах интерфейса).
Сначала переведём эти символы в коды (один символ - один байт, в байте биты идут слева направо, начиная со старшего) :
1: 0x31 = 0b00110001
2: 0x32 = 0b00110010
H: 0x48 = 0b01001000
E: 0x45 = 0b01000101
L: 0x4C = 0b01001100
L: 0x4C = 0b01001100
O: 0x4F = 0b01001111
(Запись 0x - шестнадцатиричный вид числа, 0b - двоичный.)
Теперь плотно стыкуем все биты и получаем последовательность:
00110001001100100100100001000101010011000100110001001111
и передаём её, начиная слева направо, то есть со старшего бита, в линию, как показано на рисунке.

Re: Понять формат данных

Вт мар 19, 2024 15:44:24

Отличие от типового RS232 (и подобных) в том, что для передачи 0 и 1 используются раздельные линии, а не одна общая.
:roll:

Re: Понять формат данных

Вт мар 19, 2024 18:33:33

И ещё в длине импульса, который за каким-то хреном раз в десять короче "импульсоместа". Достаточно было уполовинить это самое "импульсоместо", дабы не расширять чрезмерно спектр сигнала.

Re: Понять формат данных

Вт мар 19, 2024 19:19:29

наверное, тут влияют физические размеры "проволок Виганда", или что там было намагничено :roll:

Добавлено after 37 minutes 44 seconds:
а, вспомнил: где-то промелькнуло, что их количество может быть больше, восемь, что ли.

Re: Понять формат данных

Ср мар 20, 2024 00:16:24

просто используй библиотеку для ардуины или какой у тебя там контроллер

весь смысл в этой фразе
Передача ведётся короткими импульсами. Наличие импульса в линии «Data0» означает что был передан лог.0, наличие импульса в линии «Data1» означает что был передан лог.1.

как делать в коде алгоритм?
есть 2 способа
1. сконфигурировать входы так, чтобы они отлавливали изменение состояния с 1 на 0 и возникало прерывание
при каждом прерывании ты записываеш в переменную 1 или 0

2. использовать софтовый таймер, который тикает в 10 раз чаще, чем длится передача данных
например 1 бит передается в течении 2000мкс или 2мс
значит твой таймер должен тикать с частотой 200мкс и проверять за 1 тик состояние 2х бит на порту и выявлять там лог0 и так же записывать нули и единицы в переменную

потом произвести контроль четности
для этого тебе надо завести 32бит переменную, если у тебя виганд 26

можеш почитать мою статью про кодовый замок, я там немного что-то писал про это дело давно
https://mysku.club/blog/ebay/62597.html

Re: Понять формат данных

Ср мар 20, 2024 01:27:59

Господа, вы как всегда. У чела походу проблемы с пониманием систем счисления и со связью битов с логическими уровнями на линиях физических устройств. А вы про библиотеки, уарты, пакеты, таймеры...

Наверное надо начать с того, что мы пользуемся позиционными системами счисления, независимо от их основания?

Re: Понять формат данных

Ср мар 20, 2024 13:01:18

дык пусть правильно вопрос задает

suzx писал(а):Прошу на коленях ткните на видео на русском языке которое расказывает про эти милесикунды импульсы чтобы наконецто понять и смог читать эти диаграммы

я с этого только понял, что он не знает ,как их читать контроллером
поэтому сразу сказал - юзай библиотеку и не заморачивайся

suzx писал(а):там говориться что есть старший бит младший бит и всё такое я хочу понять как с ними работать с этими битами . ни как не пойму как это подружить

из этого вообще нихера не понятно, что он подразумевает под работой
есть битовые операции, по ним полно роликов



Re: Понять формат данных

Ср мар 20, 2024 13:45:55

Добавлено: Вт мар 19, 2024 15:38:48 - начнем с начала

Вы стыканули все переведённые числа куда пропал 0b - ???
Вы хотите сказать что если давайте возьмем примерно эту страницу которую Я указал ну для примера

в шапке поста

Есть кард ридер RFID чтоли правильно называется при приложении карточки если на карте запрограмировано 12 HELLO то выйдет тупо последовательность этих нулей и единиц ????

00110001001100100100100001000101010011000100110001001111

получается что DATA 0 - он какбы если активный то говорит начало передачи и когда посивный конец передачи или по DATA 0 просто некий импульс тоесть опять же какойто число допцстим единица или 0b00110001 или 00110001 и тогда Библиотека ардуино начинает понимать что типа пошла передача данных на DATA 1

и типа когда передасцо и по DATA 0 опять отправится код закрытия ???



Вопрос такой если эта система подключена к контролеру и с помощью Ардуино я могу паралельно со считывателя забирать информацию чтобы через ардуино отдавать в другую базу ??? что скажите ???

- Связь односторонняя, в момент обнаружения карты происходит однократная передача кадра с кодом карты от считывателя к контроллеру СКУД. Передача идёт старшим битом кода вперёд.
Это что значит старшим битом ???
Бывает както типа наоборот ???? старший бит если в числе это левый самый ???? или самый правый ??? 00110001001100100100100001000101010011000100110001001111

что тут старший бит ???? 1: 0x31 = 0b00110001 - это считается ????


https://ru.wikipedia.org/wiki/%D0%92%D0 ... logram.PNG


тут на картинке DATA 0 - Сколько импульсов ????

200 мкс это получается что логическая не положительная а отрицательная ??? потом идёт первые 2000 мкс потом опять импульс на 200 мкс после этого импульса на 2000 и после этого второго 2000 получается что на DATA 1 импульс в 200 мкс продалжительность 2000 мкс и импульс на DATA 0 это что получается я не пойму

после каждого импульса на DATA 1 проходит импульс 2000 мкс и должно сработать испульс на DATA 0 ???


ещё присмотрелся получается импульсы идут по двум шинам DATA 0 это нули а DATA 1 это единицы и все импульсы с размером 2000 мкс ??? а сам импульс длиться 200 мкс ??? что будет на шине 0 что будет на шине 1
????

Я так понимаю что в ардуино заходит 2 сигнальных кабеля если есть сигнал на контакте ардуино который отвечает за DATA 0 - значит это нули , если на втором появляется сигнал это единицы ???

Я правильно понимаю и нужно чтобы он работал со скоростью счётчик чтоли со скоростью 200 мкс и всё что льется потом соединял это в одну . Я Вас правильно понимаю ????

Re: Понять формат данных

Ср мар 20, 2024 16:09:17

Вы стыканули все переведённые числа
Ага.
куда пропал 0b - ???
А он не нужен, это всего лишь указание читателям на то, что дальше идут двоичные данные. К читателям относится также и компилятор.
Есть кард ридер RFID чтоли правильно называется при приложении карточки если на карте запрограмировано 12 HELLO
Между "12" и "HELLO" не было никакого пробела. Можно и поставить, его код 0x20 = 0b00100000.
то выйдет тупо последовательность этих нулей и единиц ????
00110001001100100100100001000101010011000100110001001111
Конечно. Данные передаются именно нулями и единицами.
получается что DATA 0 - он какбы если активный то говорит начало передачи и когда посивный конец передачи или по DATA 0 просто некий импульс тоесть опять же какойто число допцстим единица или 0b00110001 или 00110001 и тогда Библиотека ардуино начинает понимать что типа пошла передача данных на DATA 1
и типа когда передасцо и по DATA 0 опять отправится код закрытия ???
Здесь появление любого сигнала означает начало передачи. Конец передачи определяется по таймауту, то есть по тому факту, что в течение некоторого времени ничего не передавалось.
Передача идёт старшим битом кода вперёд.
Это что значит старшим битом ???
Старший бит - тот, что записан слева.
Бывает както типа наоборот ????
Бывает. По интерфейсу UART (COM) данные передаются, начиная с младшего бита, по интерфейсу SPI может быть и так, и сяк.

Дальше читать столь грамотное сообщение я не буду, устал.
Последний раз редактировалось mickbell Ср мар 20, 2024 17:28:10, всего редактировалось 2 раз(а).

Re: Понять формат данных

Ср мар 20, 2024 17:00:12

Судя по картинке импульсы имеют отрицательную полярность.

после каждого импульса на DATA 1 проходит импульс 2000 мкс и должно сработать испульс на DATA 0 ???

2000 мкс это не импульс, в время между двумя возможными импульсами. Через каждые 2000 микросекунд импульс может пройти или не пройти, но если пройдет, то только через 2000 мкс после предыдущего. Не через 1500 и не через 2500, а именно через 2000 мкс.

Re: Понять формат данных

Ср мар 20, 2024 18:27:57

Asmodey писал(а):Судя по картинке импульсы имеют отрицательную полярность.

нет, просто шина подтянута к питанию и данными считаются просадки шины до 0

suzx писал(а):Есть кард ридер RFID чтоли правильно называется при приложении карточки если на карте запрограмировано 12 HELLO то выйдет тупо последовательность этих нулей и единиц ????

нет
есть карты простые, которые только содержат некое число и оно написано на карте
есть такие же карты, которые можно записать, но туда кроме числа ничего не влезет

а есть карты, куда можно записать и слово, но там нужен специальный считыватель, которым так же можно и записать что-то
ну еще можно их читать телефоном с nfc модулем

suzx писал(а):Вопрос такой если эта система подключена к контролеру и с помощью Ардуино я могу паралельно со считывателя забирать информацию чтобы через ардуино отдавать в другую базу ??? что скажите ???

можеш

suzx писал(а):Это что значит старшим битом ???
Бывает както типа наоборот ???? старший бит если в числе это левый самый ???? или самый правый ???

старший это который имеет больший вес, т.е. левый

передаваться первым может левый, а может правый
зависит от того, кто как решил и это указывается всегда

suzx писал(а):тут на картинке DATA 0 - Сколько импульсов ????

3

suzx писал(а):200 мкс это получается что логическая не положительная а отрицательная ???

отрицательные это когда напряжение ниже нуля
тут оно падает до нуля с 5в и такой провал на 200мкс считается логической единицей

suzx писал(а): это что получается я не пойму

я тоже не понял, что ты написал
но я понимаю твой гимор - непонимание некоторых вещей, которые на форуме не решить буквами, слишком много их писать придется
это решается платными консультациями по скайпу и написанием кода совместно
только тогда приходит понимание

suzx писал(а):и все импульсы с размером 2000 мкс ???

2000мкс это период повторения импульсов
200мкс это длительность самого импульса

suzx писал(а): что будет на шине 0 что будет на шине 1
????

там ничего не будет, твой контроллер должен отлавливать переход из лог1 в лог0 на каждом проводе и соответственно в переменную записывать единицы или нули
у тебя должно быть 32 бита, но 26 из них тебе потом надо обработать и вытащить данные и проверить четность, чтобы отсеять битый пакет

suzx писал(а):Я так понимаю что в ардуино заходит 2 сигнальных кабеля если есть сигнал на контакте ардуино который отвечает за DATA 0 - значит это нули , если на втором появляется сигнал это единицы ???

там не появляется сигнал и не пропадает
там меняется состояние с 1 на 0 на обеих проводах и это изменение твоя прога должна отлавливать и записывать биты в переменную
кстати твой ридер должен быть установлен в режим 26 бит, там у него для этого отдельный провод есть или если это целый замок с реле и имеет выход виганд, то это настраивается кнопками по мануалу

если просто провод, то его на землю или на 5в подключить, опять же согласно мануалу

suzx писал(а):Я правильно понимаю и нужно чтобы он работал со скоростью счётчик чтоли со скоростью 200 мкс и всё что льется потом соединял это в одну . Я Вас правильно понимаю ????

ты себя понимаеш хоть?

подключи логический анализатор на ридер и посмотри, что он передает и вручную запиши эти нули с единицами на листочке в клеточку и руками декодируй
если цифры совпадут с написанными на карте, то считай процентов 30 работы ты уже сделал :)))

Re: Понять формат данных

Ср мар 20, 2024 20:24:43

Как-то давно мы с дружбаном ржали, придумав по приколу интерфейс в котором нули передаются по одному проводу, а единицы по другому :)) Как потом оказалось, не мы одни такие долбанутые :facepalm:

я тоже не понял, что ты написал
но я понимаю твой гимор - непонимание некоторых вещей, которые на форуме не решить буквами, слишком много их писать придется
это решается платными консультациями по скайпу и написанием кода совместно
только тогда приходит понимание

Ой, вот только не надо. Мне в лохматом 2003_м году понадобился uart интерфейс для своего самодельного устройства, а специализированных микросхем в наличии не было от слова совсем. Интернета не было, Протеуса не было, микроконтроллеров у меня не было. И я на микросхемах 155_й серии за неделю разработал и спаял uart приемопередатчик с шифратором-дешифратором принимаемых/передаваемых данных на параллельную 8-битную шину и с преобразователем RS232-TTL. Да с пьезокерамическим резонатором переточенным из резонатора фильтра ПЧ радиоприемника. А было у меня всего несколько книжек, тестер, осциллограф, шариковая ручка и листочки из тетрадки в клеточку. И ничего, как-то справился, обошелся без платных курсов.

Re: Понять формат данных

Ср мар 20, 2024 22:30:01

есть категории мазохистов и всегда были
да и в 2003 году можно было контроллеры купить

Re: Понять формат данных

Ср мар 20, 2024 23:48:47

Конечно, умение думать и самостоятельно находить решения, это мазохизм. Само собой, что надо было сидеть и ждать когда в провинциальном городке микроконтроллеры в продаже появятся, ага. Год-другой подождать, нам же торопиться некуда, мы вечные. А потом еще лет 5 подождать пока интернет станет не по карточкам, чтобы найти даташиты, ide, компилятор.

И когда, наконец, кто-то платные курсы по теме станет барыжить :)) Лет в 10 легко так уложимся.

Re: Понять формат данных

Чт мар 21, 2024 02:33:50

тс хотел ролик - вот он: :)))


ps а виганд - суперпопулярный интерфейс в скудах/охранках :music:
Спойлери 4канальный виганд элементарно реализуется 2мя таймерами , c софтовой защитой от помех 8) , причем 2 таймера нужны при 2 Mops (напр avr @2Mhz) там прерывание быстрого таймера приходится укладывать в 4-5 инструкций (битовые операции с портом) а логику фиксации достоверного бита выносить в медленный таймер, а на кортексе или даж avr @16M это 1м быстрым таймером можно сделать

Re: Понять формат данных

Чт мар 21, 2024 09:32:53

Asmodey писал(а):Само собой, что надо было сидеть и ждать когда в провинциальном городке микроконтроллеры в продаже появятся, ага.

а почты не было там что ли? я в мухосранск еще в начале 90х заказывал детали почтой
Asmodey писал(а):А потом еще лет 5 подождать пока интернет станет не по карточкам, чтобы найти даташиты, ide, компилятор.

у меня в 99м инторнет был по минутам и я не парнуху смотрел, а читал эхи фидо и сцайты, как позвонить нахаляву между странами
про хакиров и все такое
мог бы и даташиты скачать, только я нихера не понимал в коденье, как раз в 2003 мы с корешем занялись этой темой
он в быдловуз пошел, а я в пту кажется или еще тогда практику проходил в одной конторе

вобщем ковыряли мы авр и тогда уже были какие-то мануалы по этому делу и даже на сях, хотя я помню он на асме делал

когда я хотел, то меня ничего не останавливало и в 90х я даже по квартирам ходил и искал барахло ненужное
а в 2000 уже в берлине ездил по домам и покупал платы для сборки компутеров и даже 35кг принтер лазерный припер, чтобы платы делать лутом
правда он оказался полным гавном для плат

так что если ты нашел протокол юарт и смог запилить кучу мелкасхем, то найти даташит на авр тоже можно было бы
в моем мухосранске у кореша из соседнего дома был инторнет в 96 или 97 году и у моего одноклассника тоже

Re: Понять формат данных

Чт мар 21, 2024 10:25:47

так что если ты нашел протокол юарт и смог запилить кучу мелкасхем, то найти даташит на авр тоже можно было бы

Угу, и через год у меня был бы уже ненужный к тому времени uart :)))

А что касается микроконтроллеров, в те времена некоторые знали что они существуют, но мало кто знал что это вообще такое. Но когда они по настоящему появились, мне уже не нужно было раскуривать что такое spi и uart. Вот если бы я сидел и ждал когда мне на блюдечке все принесут в одном корпусе вместе с процем и памятью, у меня тогда точно бы непреодолимые проблемы появились. А если бы я ждал видосиков по теме, тогда и вовсе писец был бы.

у меня в 99м инторнет был по минутам

У тебя или у мамы с папой?

Re: Понять формат данных

Чт мар 21, 2024 13:27:06

Спасибо за Выше сказаное Вам

Буду перечитывать не однократно Выше посты и с помошью интелекта и всяких переменных писать на Ардуинки ИДЕ хочется паралельно снифить информациюю с кард ридера который подключен по этому порту и дальше передавать куда ну пока не знаю хотябы на дисплей который выводил бы информацию в нормальных числах чтобы понять какие цифры там зашиты

Re: Понять формат данных

Чт мар 21, 2024 15:56:28

suzx писал(а):ну пока не знаю хотябы на дисплей который выводил бы информацию в нормальных числах чтобы понять какие цифры там зашиты

для этого и используется ардуина и ее библиотеки, чтобы быстро сгавнякать прототип
вон я же там в статье писал и скриншот прилепил, что там получается на выходе
в первый раз для меня это тоже было непонятное

Asmodey писал(а):У тебя или у мамы с папой?

скажем так - из моих денег оплачивалось, пока я жил с ними (детское пособие типа)
главное что был и не только у меня, как я уже написал выше

контроллерами занялся позже, потому что пик 84й был дорогой у нас, а 89с это гавно древнее
у меня был такой набор
Изображение

Diese C-Control war die erste die es gab.
Sie wurde mit einer PLUS-ähnlichen grafischen Oberfläche programmiert.
Produziert wurde diese bis etwa 1995.
Äußerlich ist diese identisch mit der jetzigen C-Control I V1.1,
besitzt jedoch ein zur PLUS und Basic-IDE inkompatibles
Betriebssystem, welches einen Tausch des Controller-Chips
erforderlich macht.


Добавлено after 15 minutes 5 seconds:


автор, если тебе просто надо данные в какую-то базу совать, то лучше взять готовую прошивку
https://wifi-iot.com/p/wiki/143/ru/

или
https://tasmota.github.io/docs/Components/#tasmota32
там етсть виганд, но походу тебе придется ее самому собрать
я собирал с поддержкой энергомонитора китайского
Ответить