Радиоуправление. Переходим на МК.

Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
Ответить
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

Вопрос: В етом фрагменте кода что делаете?

Код: Выделить всё

 
//4.6.2016
PORTB.1= btx & (1<<a) ? 1 : 0;   // PORTB.1=0; // выход Data TX
delay_us(436);
 PORTB.1= ~PORTB.1;   
delay_us(436);
как же и в етом:

Код: Выделить всё

 
//20,6,2016
 PORTB.1= btx & (1<<a) ? 1 : 0;   // PORTB.1=0; // выход Data TX
delay_us(481);
 PORTB.1= ~PORTB.1;   
delay_us(481);
Как же и в въше приведеннъй пример

Код: Выделить всё

//8.8.2016
 PORTB.1= btx & (1<<a) ? 1 : 0;   // PORTB.1=0; // выход Data TX
delay_us(485);
 PORTB.1= ~PORTB.1;   
delay_us(485);
У меня складъвается впечатление что въ пишете программу не зная что пишете.

Вот простой вопрос: Что делаете в етих фрагментах?
Если етот вопрос вам легкии, то посложнее: Сколько (какой обем) информации въ передаете и за сколько времени?
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Реклама
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

botchin писал(а):У меня складъвается впечатление что въ пишете программу не зная что пишете.
:shock: Вот это новость... ))))) а у меня впечатление, что въ не умеете читать программы ...))
Тут всего несколько строчек программы... ))

1-

a=15;
do {
PORTB.1= btx & (1<<a) ? 1 : 0; // PORTB.1=0; // выход Data TX
delay_us(485);
PORTB.1= ~PORTB.1;
delay_us(485);
}
while (a--);
}

По простому: "передающий сдвиговый регистр". Что он делает? То же самое, что делает сдвиговый регистр, например в интерфейсе UART. Вы знает как работает аппаратный UART? Тогда будет всё ясно сразу...

Цитата из даташита: "Передатчик состоит из одного буфера записи, последовательного сдвигового регистра, и управляющей логики..."

И даже схема есть:
1.jpg
(147.93 КБ) 396 скачиваний
Я думаю так понятней будет... ))

Только отличие в том, что UART передаёт кодом NRZ, а у меня манчестер.

2-
для be8708 передаю: 32 бита за 72 милисекунды. Я думаю так понятней будет... ))
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

Код: Выделить всё

 PORTB.1= btx & (1<<a) ? 1 : 0;   // PORTB.1=0; // выход Data TX
delay_us(485);
 PORTB.1= ~PORTB.1;   
delay_us(485);
Здесь, Въ, дорогой roman.com, формируете свой манчестер. Передача идет со скоростью 1mS/бит. Как видите, за двух частей манчестера у вас задержка на 485uS. С учетом цикла и т.д. время подходит к озвученой мною 1mS/бит.

Сейчась, вопрос посложнее: Если скорость передачи 1mS/бит за сколько времени пройдут 96 бита?

Еще посложнее: Если у вас идет передача со скорости 62 пакета/S (пакет 96 бит) какие коефициентъ (на место 485) должнъ стоят в коде въше? на основание етого "Итого: манчестер ( 3 kHz, 16 mc, 62 пак/c ) без уплотнения;". Потом буду спрашивать каким передатчиком постигли такой скоростью.

И прошу не говорите мне про UART-а. Не надо.
roman.com писал(а):32 бита за 72 милисекунды
При скорости бит/mS???? А ето откуда?????

Отдохните и приведите свой мъсли в порядок.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

botchin писал(а):Передача идет со скоростью 1mS/бит. Как видите, за двух частей манчестера у вас задержка на 485uS. С учетом цикла и т.д. время подходит к озвученой мною 1mS/бит.
Угу ))
botchin писал(а):Если скорость передачи 1mS/бит за сколько времени пройдут 96 бита?
За 72 милисекунды.

Считаем для последней программы, для be8708:
----------------------------------------------------------------------------------------------------------------
-Для преамбулы, синхро, паузы = 0,5mS/бит.

-Для манчестера = 1mS/бит. (за двух частей манчестера 0,5mS + 0,5mS)
----------------------------------------------------------------------------------------------------------------
Считаем время пакета:

преамбула - 01010101010101010101010101010101 = 32 бит. х 0,5mS/бит. = 16 мс.

синхро - 11110000 = 8 бит. х 0,5mS/бит. = 4 мс.

ШИМ 1 - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)

ШИМ 2 - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)

кнопки - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)

номер пакета - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)

crc - 01010101010101010101010101010101 = 16 бит. х 1mS/бит. = 16 мс. (за двух частей манчестера 0,5mS + 0,5mS)

пауза - 00001111 = 8 бит. х 0,5mS/бит. = 4 мс.
---------------------------------------------------------------------------------------------------
Итого время пакета: 16 мс. + 4 мс. + 8 мс. + 8 мс. + 8 мс. + 8 мс. + 16 мс. + 4 мс. = 72 мс.
botchin писал(а):
roman.com писал(а):32 бита за 72 милисекунды
При скорости бит/mS???? А ето откуда?????
Всего бит в пакете: 32+8+8+8+8+8+16+8=96 бит.
-----------------------------------------------------------
Из них "полезных" бит:

ШИМ 1= 8 бит.

ШИМ 2= 8 бит.

кнопки= 8 бит.

номер пакета= 8 бит. ("полезных" бит ?)

Итого "полезных" бит: 8+8+8+8=32 бит.
roman.com писал(а):32 бита за 72 милисекунды
Вот такая "высшая математика" ))) :)))

Всё)) :tea:
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

Код: Выделить всё

// преамбула:  // 01010101010101010101010101010101  
for (x=0;x<16;x++) {   
  PORTB.1=1;   // PORTB.1=0; // выход Data TX
   delay_us(497);
  PORTB.1=0;
   delay_us(497);
};
//////////////////////////////////////////////////////////////////////////////////////////////////////    
// синхро:     // 11110000   
 PORTB.1=1;    // PORTB.1=0; // выход Data TX
delay_us(1970);
 PORTB.1=0;   
delay_us(1970);
Преамбула 16 бит * 1mS, а не 32 бит = 16 бит -----16 бит
Синхро - 4mS - 2 * 1970uS -> 2 * (4 * 492,5) = 4 бит -----4 бит
Пауза - 4mS - 2 * 1970uS -> 2 * (4 * 492,5) = 4 бит -----4 бит
Как-то так. Мне лень считать далее. Если у вас 16 бит, а въ говорите 32 ........

Да и синхро у вас по 4 бит (если приравнять его по манчестеру) итого 96-16-4-4 = 72. Т.е. увас все таки 1 мС/бит, а то что въ считаете битъ, как вам захочется - ето не мое дело.

Остался второй вопрос: Расчитайте какая циферка должна стоят в коде если 72 бит (пакет ) * 62 пакета/с? И получается, что все ети циферки, что у вас возле 500uS, въ должнъ заменить на 100uS (для паузъ 4*100). Вот сейчась укажите радио тракта через которого въ прогнали ету частоту. И получили 62 пакета/с т.е. вот ето "манчестер ( 3 kHz, 16 mc, 62 пак/c ) без уплотнения" Как въ получили 16mS?
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Реклама
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

botchin писал(а): Преамбула 16 бит * 1mS, а не 32 бит = 16 бит-----16 бит
Синхро - 4mS - 2 * 1970uS -> 2 * (4 * 492,5) = 4 бит -----4 бит
Пауза - 4mS - 2 * 1970uS -> 2 * (4 * 492,5) = 4 бит -----4 бит
Как-то так. Мне лень считать далее. Если у вас 16 бит, а въ говорите 32 ........
Не могу согласиться)) Это даже не биты, а байты.

Преамбула - всё таки 32 бита. - 4 байта
Синхро - 8 бит. - 1 байт
Пауза - 8 бит. - 1 байт

У меня аналог заводского радиомодуля. В заводских радиомодулях пакеты показаны ввиде байтов (т.е. по 8 бит):
1.jpg
(98.02 КБ) 514 скачиваний
И что бы не путаться, я буду считать тоже байты. Мне так удобней.)) :tea:

А длину пакета удобней считать не в битах, а в импульсах))) Удобней и точнее и быстрее))
Весть пакет состоит из 144 равных частей (импульсов), а один импульс равен 0,5 мс. Значит длина пакета 72 мс. ))
Вот и весь расчёт)) :)))
botchin писал(а):Расчитайте какая циферка должна стоят в коде если 72 бит (пакет ) * 62 пакета/с? И получается, что все ети циферки, что у вас возле 500uS, въ должнъ заменить на 100uS (для паузъ 4*100). Вот сейчась укажите радио тракта через которого въ прогнали ету частоту. И получили 62 пакета/с т.е. вот ето "манчестер ( 3 kHz, 16 mc, 62 пак/c ) без уплотнения" Как въ получили 16mS?
Где у меня 72 бита в пакете?

У меня в пакете 96 бит. А длительность пакета 72 мс.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

roman.com писал(а):Где у меня 72 бита в пакете?
У меня 4 яблоки и 6 ръб => у меня 10 слонов. Въ так считаете.

Так просчитайте если хотите и на 288 "равных частей (импульсов), "

А манчестер будет предавать порциями? Как в ресторане?

Ну въ и даете. Только избежать ответа. Да не отвечайте же. Мне ваш ответ не нужен.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

botchin писал(а):У меня 4 яблоки и 6 ръб => у меня 10 слонов. Въ так считаете.
:))) Это вы так считаете... )) А я считаю нормально))
botchin писал(а):А манчестер будет предавать порциями? Как в ресторане?
Когда нам нужно максимально сократить пакет, не нарушая работу всей схемы... мы будем подавать манчестер порциями, горячим, под соусом... )) И как угодно))

Возьмите и сложите все "еденички" и все "нолики" в пакете и запишите в одну строчку:

Вот весь пакет в одну строчку:

010101010101010101010101010101011111000001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100001111

Весь пакет состоит из 144 "еденичек" и "ноликов". Причём в пакете точно 72 "еденички" и точно 72 "нолика". Обратите внимание, эта величина постоянная и она никогда не меняется. Меняется только расположение "еденичек" и "ноликов" в пакете. Но их общее количество (144) и отношение (72/72) никогда не меняется.

Это сделано специально: в пакете нет постоянной составляющей. Это позволяет передавать пакет через любой радиоканал.

Каждая "еденичка" = 0,5 mc. Эта величина постоянная и она никогда не меняется.

Каждый "нолик" = 0,5 mc. Эта величина постоянная и она никогда не меняется.

Повторяю: всего в пакете 144 "еденичек" и "ноликов" по 0,5 mc. Тогда длительность пакета равна 144 х 0,5 mc = 72 mc.

Короче, всё продуманно))) :tea:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

Дорогой roman.com, ето арифметика для 3 класа. Работа с дробями. Ваша задача 32+8+8+8+8+8+16+8=96 в действителности въглядить так 32/2+8/2+8+8+8+8+16+8/2. Третии клас: Находим НОК (найменшее общее кратное = 2) и получаем 144/2 или 72. Откуда въ взяли 96 бита я никак не понимаю.

Но уже проясняется:
roman.com писал(а):Весь пакет состоит из 144 "еденичек" и "ноликов". Причём в пакете точно 72 "еденички" и точно 72 "нолика".
Сейчась стойт вспомнить, что каждъй бит в манчестере передается одной 0 и одной 1 и можеть бъть наконец озвучим настоящее число битов в пакете.
roman.com писал(а):Это сделано специально: в пакете нет постоянной составляющей. Это позволяет передавать пакет через любой радиоканал.Каждая "еденичка" = 0,5 mc. Эта величина постоянная и она никогда не меняется.Каждый "нолик" = 0,5 mc. Эта величина постоянная и она никогда не меняется.Повторяю: всего в пакете 144 "еденичек" и "ноликов" по 0,5 mc. Тогда длительность пакета равна 144 х 0,5 mc = 72 mc.
Да перестаньте въ из себя господа строит. Почему надо объяснять одно и то-же на 40 страниц? Одинаковое количество 1 и 0 у вас получилось не "специально", а как вследствие того факта, что въ работаете манчестером.

На мои вопросъ въ так и не ответили.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

:))) Вот об этом я и говорю... ето арифметика для 3 класа. а botchin продолжает задавать впоросы)) на 40 страниц))

Всё сделано специально. Изначально формат пакета - не манчестер, а произвольный, кратный 8 бит. Т.к. в пакете есть например синхробайт, который в заводских радиомодулях является так же адресом устройства. Синхробайт может принимать любое значение: от 00000000 до 11111111, но мы специально выбрали именно 11110000 (F0). Как правильно выбрать синхробайт (он же адрес устройства) - подробно рассказано в даташите любого модуля.
Так же и пауза, может быть например 111111111 или 00000000, но мы выбрали именно 00001111 (0F).
Там же и про преамбулу подродно написано... выбор длины преамбулы.
botchin писал(а):бъть наконец озвучим настоящее число битов в пакете.
Озвучиваем: настоящее число битов в пакете 144 бит.

В даташитах длину пакета чаше указывают в байтах. У нас длина пакета 18 байт. Полезная нагрузка 4 байта.
Так проще )). :tea:

На какие ещё вопросы я не ответил?))) Уже все разложили по битикам... )) Опять остались вопросы? ))
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

botchin писал(а):Как въ получили 16mS?
ето при длине пакета 96
botchin писал(а):Расчитайте какая циферка должна стоят в коде если 72 бит (пакет ) * 62 пакета/с?
PS: Здесь 72 читать как 144 - из за новой версии счисления.

Бъли и други только за последних двух страниц. Так и не ответили.

Вот еще один: Если въ, до сих пор говорили, что в пакете 96 бит, как я вам могу доверять, что там 144? Завтра сколько будут?

Вот еще один: Если манчестер передает один бит в две части и большая част пакета именно манчестер, а другая част (преамбула и CRC) передаются в точь как манчестер, как "полубитов" (частей) манчестера въ умудрились считать как битъ? Оба "полубита" (части) манчестера 0-1;1-0 (по определению того самого манчестера) делают бит!!!!! Никак не пойму. :shock: :o :shock:

Упрямство качество хорошее, но после некоего предела, оно носит другое имя.

PS: Заливаюсь от смеха. :))) :))) :))) :))) :)))
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

botchin писал(а):Если въ, до сих пор говорили, что в пакете 96 бит, как я вам могу доверять, что там 144? Завтра сколько будут?
Это въ сами себя запутали))) посмотрите на предыдущей странице: я везде считаю биты в пакете, а не "манчестеры" в пакете ))) :))) Это въ перевели весь пакет в манчестер... преамбулу, синхро, ... всё у вас оказалось чудным образом "в манчестере" )))
botchin писал(а):Преамбула 16 бит * 1mS, а не 32 бит = 16 бит -----16 бит
Синхро - 4mS - 2 * 1970uS -> 2 * (4 * 492,5) = 4 бит -----4 бит
Пауза - 4mS - 2 * 1970uS -> 2 * (4 * 492,5) = 4 бит -----4 бит
Как-то так. Мне лень считать далее. Если у вас 16 бит, а въ говорите 32 ........

Да и синхро у вас по 4 бит (если приравнять его по манчестеру)
Всё прировняли к манчестеру... ))) Это я заливаюсь от смеха )))) :)))

Преамбула - это преамбула. Никто преамбулу в "манчестерах" не считает )) Как и синхро... и паузу..

Пеняйте на себя))
botchin писал(а):16mS? при при длине пакета 96
Да очень просто. В примере на предыдущей странице был вопрос как можно ужать пакет и повысить скорость передачи. Я привёл пример как это сделать:
roman.com писал(а):Можно отключить счётчик... ))
01010101010101010101010101010101 - 32 бит - преамбула
+
11110000 - 8 бит - синхро
+
0101010101010101 - 16 бит - кнопки
+
01010101010101010101010101010101 - 32 бит - crc
+
00001111 - 8 бит - пауза
=
96 бит.

Итого: манчестер ( 3 kHz, 16 mc, 62 пак/c ) без уплотнения;
Как в этом примере мы получили длительность пакета 16mS?

1- мы сократили пакет: выкинули "лишнии байты" из пакета - ШИМ 1, ШИМ2, счётчик пакетов. Остались только кнопки. У нас получился пакет 96 бит. (или 12 байт).

2- затем мы увеличили тактовую в 3 раза, c 1 кГц до 3 кГц. Теперь длительность бита у нас: 0,5 / 3 = 0,1666666.... мс.

Теперь можите сами посчитать длительность пакета: 96 бит x 0,1666666.... мс. = 16 мс.

Скорость передачи пакетов получилась: 62,5 пакета в секунду. (округляем до 62).
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

roman.com писал(а):Это въ сами себя запутали)))
Посмотрите на етой-же странице:
roman.com писал(а): Считаем для последней программы, для be8708:
----------------------------------------------------------------------------------------------------------------
-Для преамбулы, синхро, паузы = 0,5mS/бит.

-Для манчестера = 1mS/бит. (за двух частей манчестера 0,5mS + 0,5mS)
----------------------------------------------------------------------------------------------------------------
Считаем время пакета:

преамбула - 01010101010101010101010101010101 = 32 бит. х 0,5mS/бит. = 16 мс.

синхро - 11110000 = 8 бит. х 0,5mS/бит. = 4 мс.

ШИМ 1 - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)

ШИМ 2 - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)

кнопки - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)

номер пакета - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)

crc - 01010101010101010101010101010101 = 16 бит. х 1mS/бит. = 16 мс. (за двух частей манчестера 0,5mS + 0,5mS)

пауза - 00001111 = 8 бит. х 0,5mS/бит. = 4 мс.
---------------------------------------------------------------------------------------------------
Итого время пакета: 16 мс. + 4 мс. + 8 мс. + 8 мс. + 8 мс. + 8 мс. + 16 мс. + 4 мс. = 72 мс.

Всего бит в пакете: 32+8+8+8+8+8+16+8=96 бит.

Вот такая "высшая математика" ))) :)))

Всё)) :tea:
А потом здесь их стало 144
И сравните с последнего вашего поста.
roman.com писал(а):01010101010101010101010101010101 - 32 бит - преамбула
+
11110000 - 8 бит - синхро
+
0101010101010101 - 16 бит - кнопки
+
01010101010101010101010101010101 - 32 бит - crc
+
00001111 - 8 бит - пауза
=
96 бит.
У вас один раз 96=96 а второй 96=144. И оба раза въ считаете - я отдъхаю. :shock: :facepalm: Пойду кофе пить :tea:

Думал спросить и про радиотракта (да я спрашивал уже) - не буду. Оставлю вас разбиратся самим с собой и с байтами, битами, бодами и т.д..
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

Это две системы счисления. одна как образец...

P.S. Если вы не можите самомстоятельно даже посчитать количество бит в пакете... то помоему вам ещё рано заниматься разработкой аппаратуры радиоуправления.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

roman.com писал(а):Это две системы счисления. одна как образец...
Да?! а мне по какой считать?

Рассмотрим скедующее:

Код: Выделить всё

int crc;         // crc - crc 
...
int ut;          // ut - ШИМ 1/ШИМ 2 > TX буфер 
int kt;          // kt - кнопки > TX буфер 
....

btx=ut;         // tx  -1  11111111 11111111 ........ ........ ........ ........  
 tx();           
btx=kt;         // tx  -2  ........ ........ 11111111 11111111 ........ ........     
 tx();            
btx=crc;        // tx  -3  ........ ........ ........ ........ 11111111 11111111
 tx();
....
//И сама функция tx()
void tx(void)
{
///////////////////////////////////  манчестер  
a=15;    
 do  {
 PORTB.1= btx & (1<<a) ? 1 : 0;   // PORTB.1=0; // выход Data TX
delay_us(485);
 PORTB.1= ~PORTB.1;   
delay_us(485);
     }
 while (a--);
}

Как видим наш друг, roman.com, обьявляет переменнъе типа int - 16bit. В ut и kt обьединяет по две восxмибитовъх переменнъх (ну как их получает я не следил), а crc въчисляет. Резултат всех операциях являются числа типа int (16 бит). Он их передает одной и той-же функцией (tx) а в резултате у него получается
roman.com писал(а):ШИМ 1 - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)
ШИМ 2 - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)
кнопки - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)
номер пакета - 0101010101010101 = 8 бит. х 1mS/бит. = 8 мс. (за двух частей манчестера 0,5mS + 0,5mS)
Отметим - ето манчестер. И верно. Отправил 2*2*8 бит = 32 бит
Етим же путьем он отправляет crc. И получается:
crc - 01010101010101010101010101010101 = 16 бит. х 1mS/бит. = 16 мс. (за двух частей манчестера 0,5mS + 0,5mS)
верно.
01010101010101010101010101010101 - 32 бит - crc
??????
Если рассмотрим отправки преамбулу, то та-же фигня. Отправка 16 (шестнадцати) битов которъе потом (в его понимания) превращаются в 32!!!!???? :o :shock:
roman.com писал(а):вам ещё рано заниматься разработкой аппаратуры радиоуправления
Ето сразу, сию минуту, или можно подoждать секунд 20-30?
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

Молодец. Добрался до функций.

Общее количество бит в пакете уже посчитал?

Изначально был задан конкретный вопрос: какая длина пакета (мс) ? какая скорость передачи пакетов (пакетов в секунду) ?

Причём тут фукции ... не ясно.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

roman.com писал(а):Молодец.
Спасибо, только в ответе сказать тоже самое, не могу.
roman.com писал(а):Причём тут фукции
Потому, что тебе самому тебе не понятно, что тъ передаеш. У тебя скажем (прошивка для be8708) 9 байтов. Утверждать, что ети 9 байтов чудодейнъм образом сначала претворились в 96 битов, а потом и в 144 - извини, но ето ...... Самое мягкое, что могу сказать - ничего не понимаеш в программу, что сотворил (если въ ее писали - а то я уже сомневаюсь). Если не знаеш в 9 байтов содержатся в точь 72 бита. Ето основа. Аксиома. А если в 9 байтов содержатся 72 бита въ ответьте мне как въ передаете 96, 144, 288 или черт знает уже сколько. У вас количество битов в один и тот-же пакет случайное число в доволно большом диапазоне.

В коде въ и передаете манчестором байтъ - частичное исключение СИ и пауза - но и они сделанъ по манчестеру, только 4 раза удлиненъ. Каким образом байтъ у вас удвояются и их число меняется от посту к посту - мне ума не постижимо. Градация такая байт, бит, бод. если память не изменяет. Вот въ и определитесь где въ находитесь.

И хватит ерунду всякую писать, а?

PS: Старъй я. Не помню.
В нашем случае понятие бод не совсем подходить. Здесь нужен специалист по манчестеру и он должен сказать как назъвается полу бит в коде манчестера.

Если примем определение для бода :
Бод — единица скорости передачи сигнала, измеряемая числом дискретных переходов или событий в секунду. Бод используется как единица измерения при обозначении скорости модемов для коммутируемых телефонных линий, выражающая число изменений состояния канала связи в секунду
то тогда у roman.com въходять 132 бода/пакет или 1833 бода/секунду :))) Новое число. Такое не бъло :)))
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

botchin писал(а):И хватит ерунду всякую писать, а?
согласен. хватит)) Вот и не пиши больше. Уже до Бод дошли... :facepalm:

Прошивка для be8708:

Пакет:
010101010101010101010101010101011111000001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100001111

Всего 144 бит. Один бит = 0,5 мс. Пакет 72 мс. 144/8=18 байт. Полезная нагрузка 4 байта. Скорость передачи пакетов: 13,8 пакета в секунду.

Всё)) Если хотим передавать быстрей, то или нужен меньше пакет, и/или больше тактовая частота и/или "шире" радиоканал. Выше писал...
Ну и ладно.))
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2042
Зарегистрирован: Чт дек 27, 2012 20:46:09
Откуда: Болгария, г. Лом

Сообщение botchin »

Уважаемъй roman.com, въ передаете 9 байт информация (+ служебную), которая каким то чудодейнъм образом претворяются в 144 бита (18 байтов). Если сделаете ретранслятор то на въходе уже будут все 36 байта. Вот такая машина для удвоения информации. Информационное пертетуум мобиле. Жаль, нобелевки уже раздали. А то вам точно дали бъ что-то. Жаль.

Вот и сами разбирайтес что и как передаете или спросите у создателя программъ, если не слушали когда он объяснял.

И ставь ети пакетъ в spoiler
Спойлер010101010101010101010101010101011111000001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100001111
А то весь екран поганять.
Лом - ето город в Болгарии, а не инструмент юстировки електроники.
Друг Кота
Сообщения: 9448
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

botchin писал(а):Жаль, нобелевки уже раздали.
Теперь всё ясно... Всем раздали, а тебе не досталось... Конечно тебе обидно.)) Ты решил нам всем тут доказать, что ты тоже достоен Нобеля..))

Это всё объясняет.

Ты уже посчитал, сколько тут бит?

010101010101010101010101010101011111000001010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010100001111

Может калькулятор нужен? Хотя врятли поможет... ))) А пока botchin считает биты в пакете... мы продолжим.


Прошивка для be8708: есть маленькая ошибочка)) Подсчёт контрольной суммы... начальное значение буфера забыли правильно установить)) В заводских модулях начальное значение для CRC 8/16 - FF/FFFF... и не спроста))

Вообще.. все эти CRC... много книжек написано умными людьми.. Полиномчики всякие...

Н у и ладно. )) Просто такие мелкие ошибки в программе могут всё испортить.. Тем ещё есть над чем поработать)) На всякий случай просто напоминаю... программки у нас в тестовом режимчике))

Для be8708:
PCM 256-2.rar
(858.05 КБ) 259 скачиваний
P.S. Тесты продолжаются)))

Вообщем.. как то так)) :tea:
Ответить

Вернуться в «Радиотехника: приемники, передатчики, антенны»