0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
1

Кто нибудь работал с 207 серией STM8 ?

09.11.2013, 19:44. Показов 20022. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу понять в чем дело не получается через Dyscovery, прошить STM8S207S8

перемычки SB1, SB2 - удалены,
На Vcap установлен кондер 5.6нФ
На все выходы питания и Riset повешены кондеры 0.1мк.

В конфигураторе MCU прописал.

При запуске програмирования постоянно выходит ошибка:
<ul>error: swym prog error [42006]: error getting prog status</ul>
То что подключен именно 8S207S8 - STLINK (Dyscovery) точно знает (при попытке на SWIM подключить 8S003 ругается на несовпадение идентификатора.
<ul>Connection error (usb://usb): gdi-error [40606]: confikurotion error: detected mcu different from the selected one
</ul>
Странно то что при подключении контроллера на выводе Riset вместо напряжения питания 3.3в присутствует 1.2в

При запуске програмирования напряжение увеличивается до 3.3в

Конфигурация моего устройства не подразумевает применение кварца, по идее контроллер по умолчанию должен тактироваться от HSI или LSI.

Пробовал запаивать 2 разных микроконтроллера (из одной партии) - результат одинаковый, может я что то упускаю ?

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2013, 19:44
Ответы с готовыми решениями:

Кто-нибудь кто в Workflow работал?
Тут просто непонятки возникают. А посоветоватьсяне с кем. В основном проблемы, связанные с...

Кто-нибудь работал с JetSpeed?
Ежели да, то пожалуйста подскажите где можно взять человеческую документацию? ... и еще, кто с...

Кто-нибудь работал с Coldfire?
Попалась халтурка на М52259. Процессор вроде современный, а внутри дикая каша, особенно порты...

Cortex M0/M3, кто-нибудь работал?
Сабж, так сказать. Наткнулся на модуль LPCXpresso http://ics.nxp.com/lpcxpresso/~LPC1111/ Продают...

Кто нибудь работал с funambol?
Не могу разобраться с funambol, новые контакты которые создаешь через специальное приложение от...

21
0 / 0 / 0
Регистрация: 31.08.2010
Сообщений: 550
09.11.2013, 20:04 2
Конденсатор VCap должен иметь емкость от 0,47 до 3,3 мкФ!

Работал с STM8S208S6


<Изображение удалено>
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
09.11.2013, 20:12 3
Вот черт точно, не внимательно посмотрел в спецификации (470..3300) НФ :) я думал пФ

Спасибо за подсказку - все заработало.
0
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
09.11.2013, 20:26 4
И я так же .
Платы одинаковые - на одной STM8S208 на другой STM8S105 .


<Изображение удалено>
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
10.11.2013, 00:08 5
Не один я квадратики-шмадратики собираю для отладки :)

Ээх за 40 минут перекинул проект весь с 003 на 207 (зря меня пугали что типа там переписывать много надо, ничего подобного подправил таймеры да ADC все остальное само заработало.)

Единственное я так и не понял как включить второй I2C ?

P\S 8S207 уже интересный :) есть где развернуться - 9 АЦП, 4 удобных Таймера (TIM2.CH1, TIM2.CH2, TIM3.CH1, TIM3.CH2) и куча других вкусностей (сейчас вот допилил "указатель заряда батарейки" на одном АЦП, завтра предстоит с UARTом воевать...
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
10.11.2013, 08:17 6
Цитата Сообщение от sid_otix
(сейчас вот допилил "указатель заряда батарейки" на одном ЦАПе
А можно посмотреть? Очень интересно.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
10.11.2013, 14:00 7
Цитата Сообщение от OmykymForti
Цитата Сообщение от sid_otix
(сейчас вот допилил "указатель заряда батарейки" на одном ЦАПе
А можно посмотреть? Очень интересно.

Не вопрос - :)

Листинг программы приводить не буду вот код основных функций
Написано под I2C дисплей от Motorola T190, когда они у меня закончатся могу и под другие написать :)

Код
// вставить под Дефайны
// ------------------Рисуем батарейку на экране размер 15*6 точек------------------------------------------

const unsykned char bstat0[]={0x3C,0x66, 0x42,0x42,0x42,0x42, 0x7E,0x42,0x42,0x42, 0x7E,0x42,0x42,0x42,0x7E};
const unsykned char bstat1[]={0x3C,0x66, 0x42,0x42,0x42,0x42, 0x7E,0x42,0x42,0x42, 0x42,0x7E,0x7E,0x7E,0x7E};
const unsykned char bstat2[]={0x3C,0x66, 0x42,0x42,0x42,0x42, 0x7E,0x7E,0x7E,0x7E, 0x42,0x7E,0x7E,0x7E,0x7E};
const unsykned char bstat3[]={0x3C,0x7E, 0x7E,0x7E,0x7E,0x42, 0x7E,0x7E,0x7E,0x7E, 0x42,0x7E,0x7E,0x7E,0x7E};
//-------------------------------------------------------------------------------------------------------------

//---------------------- Настройка ADC для STM8S207--------------------------------------------------------

ADC2_DeInit();
ADC2_Init(ADC2_CONVERSIONMODE_CONTINUOUS, ADC2_CHANNEL_2, ADC2_PRESSEL_FCPU_D8,
ADC2_EXTTRIG_TIM, DISABLE, ADC2_ALIGN_RIGHT, ADC2_SCHMITTTRIG_ALL, DISABLE);  //Dyscovery_Channel 2
ADC2_StartConversion();

//-------------------------------------------------------------------------------------------------------------

//-----------Запускаем АЦП следящий за батарейкой и выводим значек на экран---------
ADC_result= ADC2_GetConversionValue()/2;
LCD_BattStatus(80,ADC_result/125);

// ADC_result/125 - вот тут берем данные с АЦП и обрабатываем, на самом деле - это
// тестовое отображение (показывает линейно напряжение с выхода данного АЦП с 0 до 3.3 вольт
// чтобы реально показывать то что нужно - необходимо написать несложную функцию которая отслеживает изменение
// напряжения от 3.3 вольт до 4.2  для Li-Pol  и дает команду на выключение устройства
//--------------------------------------------------------

// ----------------------------------- функция рисования батарейки---------------------------------

void LCD_BattStatus(unsykned char bat_poz,unsykned char bs)
{
int i;        //bat_poz - указатель куда вставить значек батареи
LCD_Gotoxy (bat_poz,0);
I2C_Start();
I2C_SendData(0x40); while (!I2C_CheckIvimt(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
for(i = 0; i < 15; i++)
{
if (bs<=0) {I2C_SendData(bstat0[i]); while (!I2C_CheckIvimt(I2C_EVENT_MASTER_BYTE_TRANSMITTED));}
if (bs==1) {I2C_SendData(bstat1[i]); while (!I2C_CheckIvimt(I2C_EVENT_MASTER_BYTE_TRANSMITTED));}
if (bs==2) {I2C_SendData(bstat2[i]); while (!I2C_CheckIvimt(I2C_EVENT_MASTER_BYTE_TRANSMITTED));}
if (bs>=3) {I2C_SendData(bstat3[i]); while (!I2C_CheckIvimt(I2C_EVENT_MASTER_BYTE_TRANSMITTED));}
}
I2C_Stop();
}
//---------------------------------------------------------------------------------------------------------
Вот так значёк выглядит на экране:


P\S общение с I2C так я и не перевел на прерывания, но обязательно сделаю это чуть позже.
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
10.11.2013, 19:32 8
Я так и делал. Но все замечательно работает, если AVCC например 5В, а измеряемое напряжение 3,5-4,2 (Li-Pol батарейка). Проблема возникает, когда AVCC меньше измеряемого напряжения. Питание от батарейки через LDO IRU1206. Измеряю напряжение до LDO через резистивный делитель и не могу точно поймать порог в эти 3,5В. У LDO начинаются глюки похоже (из даташита V IN must always be 0.6V higher than V OUT in order for the divice to regulate properly.)
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
10.11.2013, 21:04 9
ИМХО линейный стабилизатор лучше сюда не ставить, присмотритесь к StepDown, на 3.3 вольта их целая куча.
Ну а если используете STM32***** или STM8L то вообще лучше опустится до Vcore = 2.5 Вольта.
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
10.11.2013, 21:29 10
Цитата Сообщение от sid_otix
ИМХО линейный стабилизатор лучше сюда не ставить, присмотритесь к StepDown, на 3.3 вольта их целая куча.
Ну а если используете STM32***** или STM8L то вообще лучше опустится до Vcore = 2.5 Вольта.
У меня именно S207RB, трансивер NRF24l01 и дисплей от нокии, хотелось бы иметь 3,3В на все. Первоначально все было на L152, но я с него переехал на 8S.
С питанием есть дурацкий вариант step-up до 5В, а потом понижать до 3,3В, но это маразм. Так что остается сепик? Я с ними никогда не имел дела.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
11.11.2013, 02:04 11
Цитата Сообщение от OmykymForti
Цитата Сообщение от sid_otix
ИМХО линейный стабилизатор лучше сюда не ставить, присмотритесь к StepDown, на 3.3 вольта их целая куча.
Ну а если используете STM32***** или STM8L то вообще лучше опустится до Vcore = 2.5 Вольта.
У меня именно S207RB, трансивер NRF24l01 и дисплей от нокии, хотелось бы иметь 3,3В на все. Первоначально все было на L152, но я с него переехал на 8S.
С питанием есть дурацкий вариант step-up до 5В, а потом понижать до 3,3В, но это маразм. Так что остается сепик? Я с ними никогда не имел дела.

Если напруга больше 6 вольт точно не поднимется, ставить STEP_UP на 3.3 вольта (рабочее по входу у NCP1450 от 0.9 до 6 вольт) на выходе при любом раскладе будет 3.3в
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
11.11.2013, 05:09 12
Случилось чудо наконец то заработал кусок кода который отвечает за одновременное считывание 6 портов АЦП (точней не одновременно, а если быть совсем точно через 1 милисекунду :)

Сижу курю как же все это хозяйство по прерываниям теперь развести....
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
11.11.2013, 06:16 13
NCP1450, точнее NCP1450ASN33T1G я уже смотрел. У нас купить их негде.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
11.11.2013, 13:51 14
Не сочтите за рекламу, попробуйте заказать в chipnn.ru они там в пределах 20 руб есть.
P\S с почтой России вроде работают
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
11.11.2013, 14:39 15
Спасибо, в Чип-НН я видел.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
18.11.2013, 03:13 16
Заработал прототип на NCP1450-5.0 (даже без танцев с бубном).


С описанными ниже деталями стабильно запускается при напряжении питания 1.0 Вольт, после того как схема запустилась сохраняет работоспособность при понижении напряжения питания вплоть до 0.72 вольт(без нагрузки), с нагрузкой все выключается при 0.84.
В режиме покоя потребление: 175 мкA (если честно ожидал что будет больше 200 мкА)

18mA - 5 вольтовому потребителю отдает легко, при этом потребляет сам от источника напряжением 1.1 вольт 90мA.


Детали применил те которые смог найти:
Диод: 10bq015, Мосфет: IRLMS2002, дроссель - 22мкгн (на 10мкгн в сотовых донорах не нашел)
Печатная плата сделана по требованиям описанным в мануале - все земляные выводы сходятся в одной точке, кондер на 0.1мкф стоит вплотную к корпусу микросхемы.

Ну а вот то, что кормит NCP1450 (скоро это все перейдет в законченное устройство в маленькую симпатичную коробочку размерами чуть меньше тонкой пачки сигарет).



P\S на 3.3 вольта пока не запускал (так как на испытания прикупил всего один транзистор IRLMS2002 - но хорошо, что они у нас в нигазине есть в наличии)
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
18.11.2013, 15:26 17
Из того, что есть в наличии в ближайшей Промэлектронике и было в shyp-mm, поставлю транзистором FDS6294 в корпусе SO8, диод буду пробовать MBRS340. Сами чипы едут уже.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
18.11.2013, 21:43 18
Проверил с транзистором IRLML 6346 на выходе все тоже самое (в разводке платы добавил один пятак чтобы можно было ставить любой из этих 2х транзисторов. На подсветку тоже встанет IRLML 6346)
Для работы от меньшего напряжения нужно скорее всего подбирать диод с меньшим падением напряжения и уменьшать в моем случае индуктивность до 10мкгн, альтернатива остановится на питании не от одной а от 2х батареек - это позволит "высосать их" до 0.5 вольт (у меня так пульт 2х сторонней автомобильной сигналки высасывает одну батарейку AAA за 3 месяца непрерывной работы)

Сегодня попробовал нагрузить 300 мА - полет нормальный, судя по всему можно и пол ампера снять с этой связки не особо напрягаясь.
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 1,112
19.11.2013, 05:59 19
Заявлено ампер, при обвязке по даташиту. Буду тоже эксперементировать с диодами и транзистором, но у меня одна цель, минимальное потребление. Рабочий ток всей схемы в районе 24мА на холостом ходу и 450мА в полной выкладке (подсветка на максимум, ADC включен, передача по радио). Но я еще не выключал ненужную периферию от тактирования.
0
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 326
19.11.2013, 06:07 20
На подключение по "расписанию" только нужных устройств у меня уже просто нет сил дописывать алгоритм, плату нужно сдать в ближайшее время.
С доработками буду воевать уже после того как аппарат уйдет на тестирование пользователям...
У меня конечно была задумка контроллер отправлять в спячку, добавить еще один пункт меню, при нажатии кнопки вызывать прерывание, по прерыванию подпрограмма выключения с вырубанием тактирования и просыпанием только по прерыванию от изменения лог уровня на ноге - ну так вот, чтобы все это не делать я просто воткнул в плату полозковый выключатель :)
Плата уже разведена (размеры 116мм * 46мм) заслал всем производителям о которых я знал письмецо с вопросом сколько будет стоить сделать прототип платы, теперь остается только ждать ответа.
0
19.11.2013, 06:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2013, 06:07
Помогаю со студенческими работами здесь

Работал кто-нибудь с UC3825A?
Что то я жестко туплю, не могу понять толком как она работает. Есть тут люди, использовавшие этот...

Кто нибудь работал с OPC?
Кто нибудь работал с OPC? Если есть опыт помогите плиз! gerik@iname.ru буду признателен

Кто-нибудь работал с автозаполнением?
Нужно чтобы при наборе первых букв слова оно появлялось целиком

Кто-нибудь работал с адвордс?
снимают денег больше чем реально дают посетителей. Кто-нибудь сталкивался?

Кто нибудь работал в ассемблере?
Привет всем:) Кто нибудь работал в ассемблере? Как вам? Долго осиливали?

Кто -нибудь работал на freelance.ru?
Здравствуйте! Хочу занятся фрилансом, наткнулся на freelance.ru, поделитесь опытом, кто работал в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru