Например TDA7294

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

Текущее время: Сб дек 20, 2025 00:30:14

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


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



Начать новую тему Ответить на тему  [ Сообщений: 42 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 13:18:01 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 0
Здравствуйте! Требуется помощь в небольшой правке, и переносе кода на другой МК. :oops:
Имеется код под ATtiny2313 (ШИМ генератор синуса).
Код:
.CSEG
 .INCLUDE "2313def.inc"
 .org 0
       rjmp reset
 .DEF Step=r30
 .DEF Data=r0
 .DEF SSREG=r23
 .EQU Set_Tabl=16
 .EQU Offset=Set_Tabl<<1
 .EQU END_Tabl=Offset+196
 .org OC1addr
     rjmp TIM1_COMP
 .org OVF1addr
     rjmp TIM1_OvF
 .CSEG
 .org 16
 SinTab:
 .db 5,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64
 .db 67,71,75,79,83,86,90,94,98,101,105,109,112,116,119,123
 .db 126,130,133,136,140,143,146,150,153,156,159,162,165,168,171,174
 .db 177,180,183,185,188,191,193,196,198,201,203,206,208,210,212,214
 .db 217,219,221,223,224,226,228,230,231,233,234,236,237,239,240,241
 .db 242,243,244,245,246,247,248,249,249,250,250,251,251,252,252,252
 .db 252,252,253,252,252,252,252,252,251,251,250,250,249,249,248,247
 .db 246,245,244,243,242,241,240,239,237,236,234,233,231,230,228,226
 .db 224,223,221,219,217,214,212,210,208,206,203,201,198,196,193,191
 .db 188,185,183,180,177,174,171,168,165,162,159,156,153,150,146,143
 .db 140,136,133,130,126,123,119,116,112,109,105,101,98,94,90,86
 .db 83,79,75,71,67,64,60,56,52,48,44,40,36,32,28,24
 .db 20,16,12,8,5,255,255,255,255,255,255,255,255,255,255,255
 TIM1_COMP:
    in   SSREG, SREG
    lpm
    out   OCR1AL, Data
    out   SREG, SSREG
    reti
 TIM1_OvF:
    in   SSREG, SREG
    inc   Step
    out   SREG, SSREG
    reti
 reset:
    clr   r31
    ldi   Step, Offset
          ldi   r20, 0xdf
          out   SPL, r20
          ldi   r20, 0xfc
          out   DDRB, r20
          ldi   r20, 0xf0
          out   PORTB, r20
          ldi   r20, 0x72
          out   DDRD, r20
          ldi   r20, 0x3f
          out   PORTD, r20
          ldi   r20, 0x00
          out   MCUCR, r20
          ldi   r20, 0x00
          out   GIFR, r20
          ldi   r20, 0x00
          out   OCR1AL, r20
          ldi   r20, 16
          out   OCR1AL, r20
          ldi   r20,0xC0
          out   TIMSK, r20
          ldi   r20, 0xB1
          out   TCCR1A, r20
          ldi   r20, 0x04
          out   PORTB, r20 
          WDR
          ldi   r20, 0x00
          out   WDTCR, r20
          ldi   r20, 0x01
          out   TCCR1B, r20
          cbi   PORTD, 6
          cbi   PORTB, 3
          sei   
 m1:
          cpi   Step, END_Tabl
          breq   m2
          rjmp   m1
 m2:
          cli
          wdr
          ldi   Step, Offset
          sbic   PORTB, 7
          rjmp   m3
          sbis   PORTB, 7
          rjmp   m4
 m3: 
          cbi   PORTB, 7
          sei
          rjmp    m1
 m4:
          sbi   PORTB, 7
          sei
          rjmp   m1
Программа "генерирует" на PB3 ШИМ последовательность импульсов частой следования 20кГц., огибающая которых представляет полуволну синуса частотой 50Гц. (инвертор в общем :) ), а на PB7 меандр частотой 50Гц. (для переключения полярности полуволн, по сути плеч моста).
Требуется перенести программу на МК ATtiny13 :oops: , и попутно избавится от сигнала переключения плеч/полярности, а вместо него вывести второй канал ШИМ (ну или выводить один канал ШИМ с двух выводов по очереди :roll: ). Т.е. одну полуволну гоним с одного канала, а вторую с другого (первый в это время молчит), и т.д. Для чего всё это? Что бы максимально упростить схему. :oops:
Примерная схема: :roll:
Изображение
Критика принимается. :) :roll:
Скан программы из журнала с комментариями: :roll:
Изображение

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 13:30:36 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Какую Вы помощь то просите? Что Вы попробовали, что почитали, что не поняли и что не получилось?

З.Ы. Код не читабельный. Одни магические цифры сплошным текстом.
З.З.Ы. В тини13 нет таймера1.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 14:08:19 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 0
Z_h_e писал(а):
Что Вы попробовали, что почитали, что не поняли и что не получилось?
Честно? Ничего не пробовал :oops: , так как ничего в этом не понимаю (для меня это что китайское традиционное письмо :? ). :oops:
Z_h_e писал(а):
Одни магические цифры сплошным текстом.
Ниже спецом разместил с комментариями. :roll: Или всё равно не информативно?
Z_h_e писал(а):
В тини13 нет таймера1.
Получается что никак? Или есть другой способ?

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 14:09:58 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Почему никак, думаю можно. Просто это не изменить программу, а сделать новую.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 14:23:46 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 0
Хорошо, хрен с этим ATtiny13. :tea: "Хотели как лучше, а получилось как всегда".©
Тогда можно просто избавиться от сигнала переключения полуволн (меандр 50Гц.)? А то в исходной схеме потом нехилая схемка на логике один хрен разделяет на 4 ключа с вводом мёртвого времени. Здесь же применён драйвер с общим сигналом управления для верхнего и нижнего ключа с вводом мёртвого времени (заменяющий всю схему на логике из исходной схемы).
Изображение

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 14:37:51 
Собутыльник Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04
Сообщений: 2708
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Вы начертите временные диаграммы, что должно выходить с обоих каналов тиньки13. Понятно что импульсы разной ширины, но думать какой точно и сколько их и в какую фазу вряд ли кому просто так захочется. Программа то не сложная, если будет точная временная диаграмма, может кто и сваяет. Я иногда так делаю (закидываю полностью рабочий код в форум), когда скучно, а мне сейчас очень не скучно :).
Ну в крайнем случае, закинете кому-нибудь на коньяк из виноградников Челябинской области ;).

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 18:07:32 
Друг Кота

Карма: 64
Рейтинг сообщений: 1020
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4369
Откуда: Ижевск
Рейтинг сообщения: 0
Посмотрел в студии исходник. Не стал бы рисковать подключать силовую часть. Делал аналогичную программу генерации синуса 60,(0)Гц (512 точек/период) для FLIP часов и управлением IR4426(IR4427, IR4428 тоже можно подключать)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 18:31:22 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 0
akl писал(а):
Посмотрел в студии исходник. Не стал бы рисковать подключать силовую часть.
Дело в том, что на этом задающем генераторе сделано овер 10 девайсов (не конкретно по этой схеме, а взята лишь задающая часть), и все работают беспроблемно. :wink: Тут вопрос в упрощении аппаратной части (в которой как раз я могу что-то сделать), и соответственно в правке программной (где я откровенно слаб :cry: ) :).

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 18:50:38 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7014
Откуда: Ижевск
Рейтинг сообщения: 0
У этой статьи есть автор. Напишите ему.

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 19:20:44 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 0
Прошло более 10 лет, и как часто это бывает - автор не отвечает. :cry: Собственно если я бы был в силах что либо сделать - не обращался бы за помощью. :) :tea: :roll:

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 19:42:40 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 7
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 817
Откуда: Киселевск
Рейтинг сообщения: 0
Здесь бы подключить к решению STM32, убрать логику и рулить напрямую драйверами.
А почему выбран ATtiny13?

http://we.easyelectronics.ru/STM32/2-x- ... 030f4.html
http://catethysis.ru/stm32-tim-dma-pwm-sin/

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 20:20:49 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 0
Oxford писал(а):
А почему выбран ATtiny13?
korob писал(а):
Что бы максимально упростить схему.

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 20:27:46 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 7
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 817
Откуда: Киселевск
Рейтинг сообщения: 0
В чем это упрощение, у вас же готовая схема есть, с готовым кодом. В чем логика?

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 20:35:18 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 1
Oxford писал(а):
В чем логика?
:oops:
Такую простую задачу с успехом выполнит и ATtiny13 (уверен на 100%, и нет необходимости применять ATtiny2313, STM32, Intel Core i7 и т.д.) это во-первых, а во-вторых хочется избавится от "ненужной" в данном случае логики. :roll: :oops:

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 20:42:40 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 7
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 817
Откуда: Киселевск
Рейтинг сообщения: 0
Да в принципе то можно и на тини13. Просто у тини13 таймер слабоватый. А у стм32 таймера продвинутые + DMA

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Последний раз редактировалось Oxford Сб апр 15, 2017 20:49:16, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 20:46:39 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 0
Я в этом уверен :) , но к сожалению не знаю как реализовать. :cry: :cry: :cry: :oops: Поэтому и "завёл" тему. :)

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 20:53:36 
Опытный кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 7
Зарегистрирован: Вт окт 23, 2012 13:17:25
Сообщений: 817
Откуда: Киселевск
Рейтинг сообщения: 0
Нет смысла ограничиваться только тини13. Он устарел морально. Внешняя логика приколхозена из-за dead time. Посмотрите IR2111 у нее dead time внутри и в управлении проще. С ним тинька13 должна справиться.

_________________
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Сб апр 15, 2017 22:07:10 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Я думаю, что достаточно ШИМ-ить только один полумост, второй полумост пусть переключает направление тока(меандр 50Гц).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Вс апр 16, 2017 08:01:21 
Друг Кота
Аватар пользователя

Карма: 142
Рейтинг сообщений: 5961
Зарегистрирован: Чт авг 09, 2012 01:09:39
Сообщений: 6642
Откуда: Ливны
Рейтинг сообщения: 0
Oxford писал(а):
Внешняя логика приколхозена из-за dead time. Посмотрите IR2111 у нее dead time внутри и в управлении проще.
:)
А я о чём? Мой первый пост со схемой прочли?
Z_h_e писал(а):
Вы начертите временные диаграммы, что должно выходить с обоих каналов тиньки13.
Вот так примерно: :roll:
Изображение

_________________
Большой опыт, порой, не даёт находить/видеть нам простые и очевидные решения. :(
Всегда с уважением, Александр.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: "Перенести" код на другой МК
СообщениеДобавлено: Вс апр 16, 2017 08:05:31 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2135
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18446
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
korob писал(а):
Дело в том, что на этом задающем генераторе сделано овер 10 девайсов ..., и все работают беспроблемно.
девайс коммерческий, ясно-понятно.
обращайтесь в ЛС: за вознаграждение любой ваш каприз.
дорого. долго. качественно. © тёма лебедев

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

Мой уютный бложик... заходите!


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

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


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

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


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

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


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