Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование ATtiny13
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пн май 17, 2021 13:25:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 175 ]     ... , , , , 9
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Вс дек 06, 2020 13:27:22 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2263
Откуда: Беларусь
Рейтинг сообщения: 0
BOB51 писал(а):
У адуринки есть другой способ

я все пытаюсь как-то от ардуинки выше подпрыгнуть.
Ну так пока с переменным успехом. Нужны базовые знания по МК и логике.
Вот пытаюсь разобраться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Вс дек 06, 2020 22:56:37 
Друг Кота
Аватар пользователя

Карма: 88
Рейтинг сообщений: 1050
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 11904
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
А я наоборот - к абсолютным знаниям по конкретным кристаллам под ассемблером добавил ардуинкин Си/С++.
теперь для прикладного применения в максимально жестких условиях можно "переферийку с мозгом" под ассемблером и с полным "потрошением" МК соорудить, а для дальнейшей обработки уже "ардуиноподобные" поставить.
8)
Вариантов подхода достаточно много...
:beer:


Вернуться наверх
 

JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Пн янв 18, 2021 23:08:50 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2263
Откуда: Беларусь
Рейтинг сообщения: 0
И снова здравствуйте!
Вот есть у меня такая задумка

Добавлено after 25 minutes 18 seconds:
есть синтезатор на аttiny13 и lm7001
Lm 7001 управляется с тиньки по 3 пинам


Добавлено after 2 minutes 51 second:
Изображение


Помогите разобраться
у меня есть код для тиньки, он для СБ диапазона
А мне нужно для Двойки сделать

Вот код в котором я попробовал тупо написать частоту Двойки и мою ПЧ. Не удивительно, что ничего у меня не вышло.
Код:
typedef  unsigned char byte ;
typedef  unsigned int  real ;

#include <tiny13.h>
#include <bcd.h>
#include <delay.h>


#define CE   PORTB.2       
#define CL   PORTB.1       
#define DA   PORTB.0       

void lm7001SendByte(byte k)
{
  byte i ;

  for (i = 0; i < 8; i++) {
    if (k&0x1) DA = 1;
    else
    DA = 0;
    delay_us(3);
    CL = 1;
    delay_us(3);
    CL = 0;
    k = k >> 1;
    delay_us(3);
    DA = 0;
  }
}

 
  // Формируем команды
void send_lm7001(){
  real divisor;

  //divisor = (27030 + 465) / 10;  //делим на шаг заданный программно для микросхемы
  divisor = (140575 + 10700) / 10;  //делим на шаг заданный программно для микросхемы
  //         частота + ПЧ
  // пример: (частота + пч) * (кварц / шаг делителя) / реальный кварц
  //          (27135 + 455) * (7200 / 10) / 7200 = 2759
  //          (27135 + 455) * (7200 / 9) / 8000 = 2759

  CL = 0;
  CE = 1;
  delay_us(3);

  lm7001SendByte(divisor & 0x00FF);
  lm7001SendByte((divisor & 0xFF00)>>8);
  lm7001SendByte(0b11010000); 
  // Настройка делителя синтезатора (1-Fmin,101 - 9кГц шаг)
  //                                (1-Fmin, 001 - 10кГц шаг)
  delay_us(3);
  CE = 0;
}

void main(void)
{
PORTB=0x00;
DDRB=0x07;
delay_ms (20);
send_lm7001();      //  отправляем частоту 
delay_ms (200);
   
while (1)
{
#asm("sleep");
}
}     



подскажите как сделать что бы работало для Двойки.

Добавлено after 2 minutes 43 seconds:
счас частота стоит на 161 102.5 что бы я не менял в коде.
Понимаю что не понимаю сути, но пробовал читать, но увы.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Вт янв 19, 2021 13:42:02 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2263
Откуда: Беларусь
Рейтинг сообщения: 0
http://radio-hobby.org/modules/news/art ... oryid=1155

почитал здесь, только вот не совсем понимаю
Цитата:
Рассмотрим примеры составления управляющей последовательности. Предположим, что синтезатор применен в УКВ радиоприемнике с промежуточной частотой 10,7 МГц, который принимает сигнал с несущей частотой 100 МГц. Шаг частотной сетки — 50 кГц.



Найдем необходимый коэффициент деления частоты. Если гетеродин работает на частоте ниже принимаемой, его частота равна 100 - 10,7 = 89,3 МГц. Коэффициент деления
Кдел = 89300:50 = 1786 = 6FA (hex) = 0110 1111 1010 (bin).


на входе F in подаем частоту с гетеродина, а оцифрованнгое значение этой частоты где находится и как сравнивается?


Вернуться наверх
 
Вебинар «Экосистема MEAN WELL. Решения для любых задач электропитания» (20.05.2021)

Приглашаем 20 мая на вебинар, посвященный линейке поставок компании MEAN WELL и ее подходу к производству источников питания — как экосистемы продукции и услуг, которая позволяет подобрать оптимальный источник питания для любых задач электропитания. Рассмотрим весь спектр выпускаемой продукции MEAN WELL в области AC/DC-, DC/DC- и DC/AC-преобразователей с подробным разбором интересных и уникальных новинок, их применении и многое другое.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Вт янв 19, 2021 13:43:36 
Друг Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 282
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 3010
Откуда: Биробиджан
Рейтинг сообщения: 2
Медали: 1
Получил миской по аватаре (1)
Тип данных unsigned int применённый для переменной divisor в микроконтроллерах AVR ограничен размером 2 байта или числа 0...65000. Возможно в этом и проблема, стоит попробовать изменить тип данных на больший.


Вернуться наверх
 
Интеллектуальные ключи верхнего плеча семейства PROFET™+2 12V от Infineon

Компания Infineon представила новое семейство защищенных силовых ключей PROFET™+2 12V. Изделия объединяют в себе функции диагностики и различные защиты. Ключи PROFET™+2 12V имеют одно из самых низких в отрасли сопротивлений в открытом состоянии RDS(ON) (от 2,6 мОм) и выпускаются в миниатюрном корпусе TSDSO-14 с шагом выводов 0,65 мм. Благодаря функции ReverseON все семейство соответствует строгим требованиям по защите от обратной полярности питания, впервые реализованной в одном чипе.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Вт янв 19, 2021 14:45:13 
Мудрый кот

Карма: 18
Рейтинг сообщений: 509
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1875
Рейтинг сообщения: 2
Кстати да. Только 65535 максимальное.
Да вообще если эта часть так и будет статической, лучше макросом задавать.
Код:
#define DIVISOR (140575 + 10700)/10;
...
  lm7001SendByte(DIVISOR & 0x00FF);
  lm7001SendByte((DIVISOR & 0xFF00)>>8);
...

Так оно будет вычисляться на этапе компиляции и не тратить кучу ресурсов МК на лишние расчет. Но если уже как есть, то вот так:
Код:
divisor = (unsigned long)(140575 + 10700) / 10;


Последний раз редактировалось NStorm Вт янв 19, 2021 19:08:22, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Вт янв 19, 2021 17:14:11 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2263
Откуда: Беларусь
Рейтинг сообщения: 0
radteh писал(а):
Тип данных unsigned int применённый для переменной divisor


а я сюда смотрю
Код:
 real divisor;


а оказывает есть еще

Код:
typedef  unsigned char byte ;
typedef  unsigned int  real ;


ок, буду пробовать. спасибо.!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Вт янв 19, 2021 19:08:05 
Мудрый кот

Карма: 18
Рейтинг сообщений: 509
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1875
Рейтинг сообщения: 0
Да, в Си нет такого типа, как "real". Но typedef позволяет создавать свои типы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Вт янв 19, 2021 20:23:33 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2263
Откуда: Беларусь
Рейтинг сообщения: 0
NStorm,

Код:
divisor = (unsigned long)(140575 + 10700) / 10;


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

Добавлено after 41 minute 1 second:
поставил в другой приенмик и перешил снова на 27030 - все отлично работает. Напряжение скачет как-только катушку гетеродина трогаю


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср янв 20, 2021 03:20:20 
Друг Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 282
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 3010
Откуда: Биробиджан
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А переменная так и осталась объявлена как real? Если переменная объявлена как real (unsignet int), а присваивается значение unsignet long, то он всё равно не влезет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср янв 20, 2021 08:59:13 
Мудрый кот

Карма: 18
Рейтинг сообщений: 509
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1875
Рейтинг сообщения: 0
radteh, там присваивается только тому, что в скобках (140575 + 10700), потом оно делится на 10 и должно влезть. Для теста просто можно написать divisor = 15127; временно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср янв 20, 2021 10:36:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2263
Откуда: Беларусь
Рейтинг сообщения: 0
NStorm писал(а):
divisor = 15127


так это число в 2 байта влазит. Тогда зачем до unsignet long расширять?

Я тут прикинул , запущу приенмик на 28000, поменяю контур и посмотрю будет ли работать, может это прибавит ясности.
Это я к тому что может выход гетеродина как-то не так себя ведет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср янв 20, 2021 10:56:23 
Мудрый кот

Карма: 18
Рейтинг сообщений: 509
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1875
Рейтинг сообщения: 0
olegue, это если вы напишите сразу это значение. Когда вы пишите divisor = (140575 + 10700)/10, компилятор смотрит на тип divisor и обрезает значение скобок до его величины, т.е. до 0xFFFF, потом делит уже это значение на 10 и в divisor попадает 6553, а не 15127. Чтобы этого не происходило, я сначала и предложил написать (unsigned long), чтобы 140575 и 10700 компилятор сложил как 32-битную величину.

Добавлено after 8 minutes 18 seconds:
Хотя с оптимизацией тут возможно как статическую величину на этапе компиляции и посчитает правильно...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Ср янв 20, 2021 20:07:32 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 13
Рейтинг сообщений: 84
Зарегистрирован: Сб май 21, 2016 11:04:52
Сообщений: 2263
Откуда: Беларусь
Рейтинг сообщения: 0
NStorm,

понял, согласен. Попробую.

Добавлено after 3 hours 40 minutes 17 seconds:
Воткнул эту строчку
divisor = 15127;

Но, увы, напряжение стоит колом, а частота гетеродина гдето вдалеке от 151 270
Придется применить план Б и запустить приемник гдето в районе 28000 кгц

Добавлено after 37 minutes 5 seconds:
может с выходом гетеродина что-то не так.

Добавлено after 4 hours 36 minutes 59 seconds:
Не реагирует Lm7001 на сигнал с 20 вывода мс3362

странно, частотомер туда вешаю, и он мне частоту показывает
вывод 20 нормально на 3.3к повесил, коворят там открыты коллектор.
Странно


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ATtiny13
СообщениеДобавлено: Пт янв 22, 2021 05:13:31 
Друг Кота
Аватар пользователя

Карма: 23
Рейтинг сообщений: 282
Зарегистрирован: Пт мар 09, 2007 15:01:52
Сообщений: 3010
Откуда: Биробиджан
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А нет ли нужды менять кварц на LM7001?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 175 ]     ... , , , , 9

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y