Например TDA7294

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

Текущее время: Чт дек 18, 2025 22:00:29

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


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



Начать новую тему Ответить на тему  [ Сообщений: 2585 ]     ... , , , 14, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс июл 21, 2013 20:28:39 
Родился
Аватар пользователя

Зарегистрирован: Чт июн 21, 2012 09:59:29
Сообщений: 15
Рейтинг сообщения: 0
Да, вполне получилось, оперировать выводом в программе, набрался смелости и попробовал прошить, только подал вначале низкий уровень (дабы не сжечь чего нибудь):
Спойлер
Код:
while (PD_IDR_bit.IDR2 == 0) //Пока PD2=0 выполняем цикл...
 {
  PD_DDR_bit.DDR2 = 1;   // Ножка PD2 конфигурируется на вывод (переключение бита ввода на вывод)
  PD_CR1_bit.C12 = 1;   // Выход типа Push-pull
  PD_CR2_bit.C22 = 1;   // Скорость переключения - до 10 МГц.
 
  PD_ODR_bit.ODR2 = 0;  //Подтянем пин к земле (работает!)
  PC_ODR_bit.ODR7 = 0; //Подтянем пин к земле - светодиод горит
  PC_ODR_bit.ODR4 = 0; //Подтянем пин к земле - светодиод горит
  DelayLong(); // ждем 3 секунды
 
  PD_DDR_bit.DDR2 = 0;   // Ножка PD2 конфигурируется на ввод (переключение бита вывода на ввод)
  PD_CR1_bit.C12 = 0;   // Выход плавающий - установлен подтягивающий резистор
  PD_CR2_bit.C22 = 1;   // Прерывание ВКЛючено
  EXTI_CR1_bit.PDIS = 0; //Прерывание по спаду напряжения (задний фронт)
 
  DelayShort(); // ждем 1,5 секунды
 }

Спасибо всем за советы.
P.S. При изучении мануала по STM8S возник еще вопрос по прерываниям, конкретно интересует, возможно ли программно выставить приоритет по отдельным пинам порта? Т.е. в STM8L это сделать можно, для STM8S, как я понял, приоритет можно выставить только для всего порта? Например "средний приоритет" для порта D будет выглядеть так?:
Спойлер
Код:
ITC_SPR2_bit.VECT6SPR = 0; //средний приоритет порт D

методика поиска:
идем в датшит к мк (в моем случае STM8S103F2P6), смотрим таблицу:
"Interrupt vector mapping"
6 | EXTI3 | Port D external interrupts
стр.42
далее идем в RM0016:
"Software priority register x (ITC_SPRx)"
стр.68
вектору 6 соответствует:
ITC_SPR2 VECT6SPR[1:0]
правильно ли я понял методику нахождения бита?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт июл 30, 2013 06:14:22 
Открыл глаза

Зарегистрирован: Вт янв 18, 2011 08:15:32
Сообщений: 40
Рейтинг сообщения: 0
Здравствуйте. Подскажите что это может быть? Какие есть варианты? Работаю с STM8L. И столкнулся со следующим: В основном цикле ждём события, событие происходит, программа проходит все положенные функции и, дойдя до последней функции в основном цикле, выполняет её и сбрасывается. То есть начинается полностью с нуля. При этом в отладке ни каких ошибок не возникает. Из-за чего программа может сбрасываться?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт июл 30, 2013 08:47:33 
Встал на лапы

Карма: 1
Рейтинг сообщений: 11
Зарегистрирован: Пт июл 06, 2012 14:28:17
Сообщений: 108
Откуда: Россия. г.Смоленск
Рейтинг сообщения: 0
Телепаты в отпуске. Выложи свой проект/код.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт июл 30, 2013 09:14:56 
Собутыльник Кота
Аватар пользователя

Карма: -22
Рейтинг сообщений: -63
Зарегистрирован: Вт сен 14, 2010 10:27:19
Сообщений: 2584
Рейтинг сообщения: 0
Ruslan-maniak писал(а):
Из-за чего программа может сбрасываться?
из-за того что можно иногда увидеть в специальном регистре в котором отображается причина.

_________________
Будете проходить мимо- проходите!


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт окт 29, 2013 22:12:25 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
Начал разбираться с шиной I2C.
На STM8S105C6 выполнено Slave устройство.
Инициализацию шины прописал с использованием бита АСК(регистр I2C_CR2), но при аппаратной отладке ST-Linkoм видно, что бит АСК не устнавливается при записи I2C_CR2, а остаётся = 0. Сответственно, после приёма адреса вместо АСК мастер получает в ответ NACK и отваливается.
Прикол в том, что при отладке в симуляторе всё работает. Сталкивался кто-нибудь с проблемой не записи бита АСК?

Дополню. Попытался вывести отладочную информацию через UART - не выдаётся. Инициализацию UART взял из рабочего проекта. Фигня какая-то. Или контроллер битый или компилятор глючный (IAR 1.40.1).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Сб ноя 02, 2013 19:29:02 
Опытный кот

Карма: 16
Рейтинг сообщений: 177
Зарегистрирован: Сб апр 14, 2012 16:11:35
Сообщений: 718
Рейтинг сообщения: 0
Итак, по моему предыдущему посту:
1. Проблема с UART - не правильно настроил порт.
2. Бит АСК устанавливается ТОЛЬКО ПОСЛЕ ВКЛЮЧЕНИЯ ИНТЕРФЕЙСА I2C БИТОМ РЕ !!!.
В общем интерфейс заработал, но пока есть проблемы с обработкой состояния RESTART.
Продолжаю разбираться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 02:47:55 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
Никто не в курсе, STM8L-DISCOVERY может использоваться для программирования/отладки пятивольтовых STM8S ? Если запитываю STM8S103F3 от 3.3в, то все зашибись, если от 5в, то шьет через раз. Несколько разных экземпляров попробовал на макетках, все без толку. Это мне так повезло или я странного хочу?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 09:18:44 
Встал на лапы

Карма: 1
Рейтинг сообщений: 11
Зарегистрирован: Пт июл 06, 2012 14:28:17
Сообщений: 108
Откуда: Россия. г.Смоленск
Рейтинг сообщения: 0
Вы же сами написали:
Цитата:
STM8S103F3 от 3.3в, то все зашибись,

Ну так в чем дело? Вперед! А вообще там скорей всего уровни не согласованы. Хотите - помудрите с преобразователями уровней. А может лучше предусмотреть лишний пин в разъеме для подачи стороннего напряжения 3,3в и джампер для переключения между напряжениями.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 14:09:27 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
Внешнее 3.3в питание не очень вписывается в схему, где STM8S103F3 является лишь ее частью. Хочется отладки в боевых условиях. Пробовал простейший преобразователь уровней на полевиках по линиям reset и swim, но по неизвестной причине дискавери так и не увидел МК. Осциллографом видно, что они пытаются общаться и согласование уровней похоже, что работает, только софт все время пишет об ошибке.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 15:14:19 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Может велика задержка сигнала, реализованная таким способом? Программатор начинает общаться с контроллером слишком рано, пока сигнал сброса на контроллере не достиг нужного уровня.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 16:20:13 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
Да вроде нечему там задержку вносить. Полевики, в моем случае 2n7002, по частотам вроде неплохой диапазон имеют. Временные характеристики конвертера посмотреть нечем, т.к. кроме старенького осцилла из оборудования более ничего.

Попутный вопрос: как относится дискавери к длине проводов на swim-е? У меня кабель сантиметров тридцать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 16:26:49 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
По частотам у него диапазон неплохой только если в затвор пол ампера вкачивать, емкость затвора ведь не нулевая, потом емкость монтажа на выходе а подпирающий резистор конечного сопротивления - к нулю прижать можно быстро, а обратно напряжение будет расти куда медленней.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 17:17:02 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
Господь с вами, емкость затвора у него 30пф, откуда пол-амперы ? Да и схема включения, по сути, с общим затвором:
Изображение
Неоткуда бы частотным потерям браться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 17:32:07 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Емкость затвора и резистор в 4.7кОм образует RC-цепочку которая является НЧ-фильтром фактически. Можно в принципе оценить время заряда в таких условиях, найти формулу расчета... вобщем при таких характеристиках цепи 63% напряжения на выходе такого фильтра появится спустя 0.14мкс а 95% через 0.4мкс - уже задержка...
На выходе, 10кОм и наверняка практически такая же емкость... еще одна задержка.
Критична ли? или нет? черт его знает... Попробуй осцилографом измерить фактичесую задержку подав прямоугольник на вход.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 19:57:59 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
Стоп-стоп-стоп.. Это резистивный делитель на 3.3в. Затвор туда жестко приколочен и никакой динамики не ожидается. Параллельно затвору на землю можно хоть 1000мкф емкость вешать, ничего не изменится. Выходная емкость тут тоже никаким боком.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 20:31:26 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Потому что эта емкость исток-затвор. Именно туда и приходит твой сигнал. Если взять идеальные условия, на входе прямоугольник - он через эту емкость просадит твое опорное напряжение до тех пор пока затвор не зарядится. И еще неизвестно как транзистор отнесется к отрицательному напряжению на затворе относительно истока. И кстати, при каком напряжении на входе транзистор начнет открываться, а при каком откроется полностью? Может он у тебя еле-еле открывается и выход не дотягивает? Не помню какое там напряжение отпирания у 2N7000...
Очень было бы интересно глянуть на двухканальном осциллографе вход и выход с этой схемы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 23:15:03 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
Емкость исток-затвор в таком включении будет проходной по отношению к пути следования сигнала. 30пф в худшем случае уголки фронтов чуть призакруглит.
Насчет напряжения отпирания, тут да, стоит озадачиться. Был бы двухканальный осцилл, можно было бы поразглядывать в подробностях.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн ноя 04, 2013 23:38:19 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
Даже в симуляторе, уже видно какая фигня происходит. Обрати внимание на то что происходит с опорным напряжением... а ты говоришь никак не влияет?

Он 250нс никак не может открыться, а после перехода в 0 - столько же продолжает открываться и не хочет закрываться.


Вложения:
povtoritel.jpg [64 KiB]
Скачиваний: 682
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт ноя 05, 2013 12:46:45 
Друг Кота

Карма: 20
Рейтинг сообщений: 230
Зарегистрирован: Пт сен 13, 2013 13:11:31
Сообщений: 6452
Рейтинг сообщения: 0
Что за модель полевика используется? Я в протезе покрутил 2n7002, так он вполне нормальный меандр рисует. Вот если делитель вниз подвигать, то где-то в районе 2.5в начинается похожая фигня. Но тут как раз с отпиранием наверное проблемы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт ноя 05, 2013 14:49:23 
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4550
Откуда: Украина, Славутич
Рейтинг сообщения: 0
2N7000 как и в схеме. 2N7002 это тот же кристалл только в SOT-23 корпусе.


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


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

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


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