Перейти к содержанию

    

#Eugene

Участник
  • Публикаций

    10
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный
  1. Цитата(skripach @ Apr 6 2018, 00:52) Это откуда ж в DB9 столько пауэра возьмется? С этим проблем нет, даже наличие питания на DB-9 не обязательно - припаяем, если нет. На тех модулях, что на фото такая опция есть.
  2. Куплю мост WiFi <> RS232 или RS485 похожей конструкции: разъем DB-9 встроен в модуль. Питание от 5 вольт через DB-9. Может есть у кого?
  3. alex_os, понятно. Скользящее окно с таким демодулятором тоже не нужно, т.е. просто разбиваем входные отсчеты на блоки по sps отсчетов и скармливаем демодулятору?
  4. Доброго времени суток. Мне нужно сделать CPFSK модем на микроконтроллере. Почитал про разные демодуляторы и выбрал вот такой: [attachment=81252:Demodula...ncfsk_1_.png] Столкнулся с такой задачей впервые и хочу узнать - правильно ли я понимаю как производится демодуляция и декодирование. Ответите на несколько вопросов? Вопросы: 1) Опорные сигналы длиной SPS отсчетов? SPS - кол-во отсчетов на символ. 2) На вход этого демодулятора подается порция SPS отсчетов из буфера, потом отсчеты смещаются как на картинке и т.д. и т.п. [attachment=81253:demod.PNG] В результате, если информационное сообщение выглядело так: 1 0 1, то получим на выходе демодулятора последовательность типа: 111111 0000000 1111111 ? 3) Вот таким методом: http://dspsys.org/dsparticles/32-vkfalg ищем преамбулу, чтобы определить начало пакета и считаем нули/еденицы, собираем байтики? Спасибо.
  5. Наконец то я разобрался. Чем больше R тем меньше ширина импульса и по этому при R = 2048 я их не замечал на экране осциллографа Так и должно быть? Странно как-то...
  6. Спасибо, разобрался. Загрузил только что в регистр R 100100000000000 (2048), кварц стоит на 3200 кГц, на выходе fR появился сигнал частотой 800 кГц, значит в регистр загрузилось не 2048, а 4, но почему? Загружаю вот так: Кодvoid send(unsigned int data,unsigned int length) {   int i; for(i=0;i!=length;i++)    {      wait    if((data & (1<<i))!=0)    {    DATA=1;      }          else    {    DATA=0;    }    wait    CLK=1;        wait    CLK=0;        wait   } } void main(void) {   send(0b100100000000000,15);   delay_us(500);   ENB=1;   delay_us(500);   ENB=0;   while(1); }
  7. Цитатазагрузили 14 бит значения ÷ N counter N counter 10-и битный же?
  8. Понятно, исправил код в первом посте, правильно? Черт, не заметил временные диаграммы в даташите
  9. Эмм... А как иначе? первым берем следующий бит, вторым продвигаем его по регистру к концу... Или я что-то не понимаю? Код в первом посте обновил.
  10. Здравствуйте! Потребовалось загрузить в последовательный сдвиговый регистр PLL синтезатора MC145158 некоторые данные, загружать решил при помощи микроконтроллера attiny2313, написал для этого в CodeVision AVR следующую программу: Код#include<tiny2313.h> #include<delay.h>   #define CLK PORTB.0 #define DATA PORTB.1   #define ENB PORTB.2 #define led PORTD.5 #define wait delay_us(500); void send(unsigned int data,unsigned int length) {   int i,j; for(i=length;i!=0;i--)    {      if((data & (1<<i))!=0)    {    DATA=1;      }          else    {    DATA=0;    }        CLK=1;    wait    CLK=0;        wait   } } void main(void) {   DDRB=0b00000111;   DDRD.5=1;   send(0b10001110110110,14);   send(0b0001000000,10);     send(0b00100000,8);   wait   ENB=1; //включаем защелку, передаем данные в счетчики   delay_ms(10);   ENB=0;   led=1;   while(1); } Вроде бы все правильно, код работает, но загружает в регистр что-то не то, на ножке fR PLL синтезатора должен появиться сигнал с частотой 1.5625 кГц, но его нет В чем может быть проблема?