Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Dentorol
Нашел транзистор. Понюхал.
Сообщения: 155
Зарегистрирован: Пн июн 21, 2010 19:57:07
Откуда: Россия - родина моя

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Dentorol »

Здравствуйте!

Хочу защитить схему интерфейса RS-485 от повышенного напряжения в линии.
Для этого планирую поставить на землю супрессоры SM712 и в разрыв цепи самовосстанавливающиеся предохранители.
Как на схеме (Bourns):
Изображение
Если по напряжению интерфейса RS-485 все понятно -7 В до +12 В.
То по току, протекающему по линиям интерфейса, я данных не нашел.
Нашел только: "Максимальный ток короткого замыкания драйвера 250 мА"
В приложенной выше схеме установлены самовосстанавливающиеся предохранители на 300 мА.
Есть еще подобная схема (Analog Device):
Изображение
В ней предохранители установлены на 200 мА.

И соответственно у меня вопрос: на какой ток ставить самовосстанавливающийся предохранитель?

И еще хотелось бы узнать аналогичный ответ только по интерфейсу RS-232: на какой ток устанавливать самовосстанавливающиеся предохранители в цепях защиты интерфейса RS-232.

У меня имеются в наличии самовосстанавливающиеся предохранители FSMD010-1206 - на 100 мА. Можно их поставить?
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chip115 »

Всем привет! Есть два устройства, которые общаются через RS485 (UART) по самопальному протоколу. Второе устройство надо переделать. Нужна программа, которая бы слушала линии что бы потом можно было просмотреть что за данные гоняются через UART. Проблема в том, что там постоянно сыпится однотипная информация. Есть ли программа, которая позволяла бы скрывать данные, которые не изменяются. Можно конечно записывать все попсовой Terminal, потом как-то обработать, что бы удалить клоны информации, идущие друг за другом, но хотелось бы в онлайн наблюдать что происходит на линии, но спам мешает. Можете посоветовать подобную софтину?
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Аватара пользователя
Jack-Sidr
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб фев 17, 2018 00:08:56

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Jack-Sidr »

Такая вот беда, писал код для устройства плавного пуска, только начал, буквально написал простенький код для проверки кнопок и светодиодов на плате, залил, после чего 13 тинька перестала шиться. Перепроверил все проводки, все дорожки, ничего подозрительного не нашел, расстроился, но взял новую тини, не впаивая в плату, залил в неё ту же прошивку, от чего и она закирпичилась. В чем вообще может быть причина такого странного поведения, и как роскирпичить тиньки? Что-то типа фьюздоктора нужно?
Аватара пользователя
Jack-Sidr
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб фев 17, 2018 00:08:56

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Jack-Sidr »

UPD: попробовал ресетнуть фьюзы вот этим способом : https://geektimes.com/post/255396/
Фьюзы ресетнулись, дуина спокойно считала их и сигнатуру, но при подключении к обычному программатору выдает avrdude: initialization failed, rc=-1, при этом все подключено верно, и другие мк этим же програматором шьються. :(

Добавлено after 1 hour 25 minutes 2 seconds:
уже совсем отчаялся, даже такое извращение пытался сделать https://habr.com/post/152052/ , правда не с кнопками а с другим микроконтроллером, на ножке Мисо не появляется никаких сигналов, от слова совсем.
Аватара пользователя
Jack-Sidr
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб фев 17, 2018 00:08:56

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Jack-Sidr »

Серьезно? никто с подобным не сталкивался?
NebelWefer
Грызет канифоль
Сообщения: 274
Зарегистрирован: Чт апр 16, 2009 14:23:59

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение NebelWefer »

Jack-SidrМожет у Вас фьюзы не прочитав заливаются, поэтому и кирпич? Зачем спасать копеечные тиньки, разве что в научных целях?

А у меня, возможно, глупый вопрос:
Что будет если на вход АЦП подать напряжение выше опорного, при этом:
а) вход выше опорного, но меньше питания ( просто будет макс в регистре?)
б) вход выше опорного, выше питания, но НЕ выше максимального для мк ( например тинька13 питается от 1.8В, на вход подали 4.2, а макс питание 5.5В)

?
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение *Trigger* »

NebelWefer писал(а):А у меня, возможно, глупый вопрос:

В даташите есть ответы на эти вопросы.
а) Да, будет значение, близкое к максимальному или равное ему.
б) Подавать на выводы напряжение выше напряжения питания плюс немного (обычно 0,5 В) запрещено, т.к. при этом откроется защитный диод, включенный анодом к выводу и катодом к питанию.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Jack-Sidr
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб фев 17, 2018 00:08:56

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Jack-Sidr »

[uquote="NebelWefer",url="/forum/viewtopic.php?p=3382881#p3382881"]Может у Вас фьюзы не прочитав заливаются, поэтому и кирпич? Зачем спасать копеечные тиньки, разве что в научных целях?[/uquote]
1)И в научных целях, и потому что робота застопорилась, боюсь дальше код писать, не хотелось бы еще пару закирпичить.
2)Вариант с фьюзами тоже не особо катит, так-как вторая превратилась в кирпич, когда я фьюзы вообще не трогал, а оставил заводские.
Нашел на другом форуме похожий случай, где у парня тини13 перестала шиться одним программатором, но USBASP спокойно прошил её, лично я пользуюсь USBTiny, попробую собрать Асп, думаю лишним не будет.

Добавлено after 5 minutes 19 seconds:
[uquote="NebelWefer",url="/forum/viewtopic.php?p=3382881#p3382881"]например тинька13 питается от 1.8В, на вход подали 4.2, а макс питание 5.5В)[/uquote]
Судя по напряжению, вы хотите измерять напряжение литиевых аккумов. Тогда почему-бы не питаться от самого аккума, и через делитель мерить его напряжение?
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Ivanoff-iv »

если мерять питание - часто прибегают к такому трюку: за опору берут питание, а меряют опорное напряжение - точность будет, конечно ниже, но различить заряд батареи хватит, плюс энергопотребление такого метода намного меньше чем с использованием делителя

Добавлено after 2 minutes 23 seconds:
но тини 13 вроде так не умеет
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ARV »

Ivanoff-iv писал(а):плюс энергопотребление такого метода намного меньше чем с использованием делителя
да еще и внешние выводы при этом могут вообще не использоваться.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение просто КОТ »

Друзья! Взываю к помощи тех из вас, кто программирует на STM32. Нужно срочно протестировать камень, при этом на месте нет вообще никаких приборов кроме ST-Link. Нужно сделать тестовую прошивку буквально с единственной командой. Раз в секунду (условно) слать что-то в USART. Ибо вообще МК видится как живой при программировании, но его поведение в схеме очень странное, и не похоже на ту прошивку, что мы пытаемся залить.

Камень STM32F100C8T6. USART1, пины PA9, PA10. Кварцевый резонатор стоит на 8МГц.

Сам под STM пишу редко, и сразу такое написать не могу. Надеюсь найдётся специалист со свободным получасом для работы. Уповаю и надеюсь, и да воздастся откликнувшемуся в карму!
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение oleg110592 »

[uquote="просто КОТ",url="/forum/viewtopic.php?p=3388450#p3388450"]Раз в секунду (условно) слать что-то в USART[/uquote]
тестик USART:
Спойлер

Код: Выделить всё

#include "stm32f10x.h"

volatile uint32_t msTicks;

unsigned char InitClk()
{
    unsigned long int TimeOut = 10000;
    //HSE
    RCC->CR   |=  RCC_CR_HSEON;
    while((RCC->CR & RCC_CR_HSERDY)==0)
        if(TimeOut) TimeOut--;
    if(TimeOut==0) return 1;
    RCC->CR   |=  RCC_CR_CSSON;
    RCC->CFGR &= ~RCC_CFGR_SW;
    RCC->CFGR |=  RCC_CFGR_SW_HSE;
    return 0;
}

void USART1_Init(void)
{
    RCC->APB2ENR |=   RCC_APB2ENR_IOPAEN;
    RCC->APB2ENR |=   RCC_APB2ENR_AFIOEN;
    RCC->APB2ENR |=   RCC_APB2ENR_USART1EN;

    GPIOA->CRH   |=   GPIO_CRH_MODE9 | GPIO_CRH_CNF9_1;
    GPIOA->CRH   |=   GPIO_CRH_CNF10_0;
   //Baud rate = F_clk/USART_BRR = 80000000/9600 = 833 = 0x341
    USART1->BRR   =   0x0341;
    USART1->CR1  |=   USART_CR1_UE | USART_CR1_TE | USART_CR1_RE;
}

void USART1_SendData(unsigned char data)
{
    USART1->DR  =  data;
    while((USART1->SR & USART_SR_TC)==0);
    USART1->SR &=  ~USART_SR_TC;
}

unsigned char USART1_ReceiveData(void)
{
    while((USART1->SR & USART_SR_RXNE)==0);
    return   USART1->DR;
}

void Delay (uint32_t dlyTicks)
{
    uint32_t curTicks;

    curTicks = msTicks;
    while ((msTicks - curTicks) < dlyTicks);
}

int main (void)
{
    InitClk();
    USART1_Init();
    SysTick_Config(8000000UL / 1000);    // SysTick 1 msec interrupts
    while (1)
    {
        USART1_SendData('H');
        USART1_SendData('e');
        USART1_SendData('l');
        USART1_SendData('l');
        USART1_SendData('o');
        USART1_SendData('\r');
        Delay(1000);
    }
}

void SysTick_Handler(void)
{
    msTicks++;
}

void NMI_Handler(void)
{
    if (RCC->CIR & RCC_CIR_CSSF) RCC->CIR |= RCC_CIR_CSSC;
}

В Протеусе работает, в железе не проверял:
Изображение
hex:
STM32F100C8T6TestUSART.zip
(1.08 КБ) 222 скачивания
Андрей Василенко
Открыл глаза
Сообщения: 42
Зарегистрирован: Сб окт 28, 2017 16:51:58

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Андрей Василенко »

http://vip-cxema.org/index.php/home/mik ... e-atmega8a
Товарищи коты, возможно я со своим вопросом немного не в тему но куда ещё обратится я незнаю. просто к брал паяльную станцию по моей ссылке.
проблема заключается в том что энкодер добавляет температуру добавляет и по часовой и против часовой стрелки. пробовал 3 разных энкодера и это ничего не дало. А вторая проблема такая что, после приветствия на экране появляются случайный набор разных символов в случайном порядке. но станция работает, заданную температуру поддерживает. Энкодер пробовал заменить кнопками, на добавление работает, кнопка выбора работает, а на убавление нет. С дисплеем вообще завал, куда копать?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

1.

Код: Выделить всё

ISR (INT0_vect)                
{cli();      
                                             
if(!(PINC&2)) inc--;                                                
else inc++;
sei();                                                            
}   

Это обработка энкодера в программе. Проверьте работоспособность порта РС2 на ввод, например, тестовой прошивкой (написать по собственному разумению).
2.
после приветствия
А само приветствие выводится норм?
3. К Нагиричу Владиславу обращались?
Docendo discimus
Андрей Василенко
Открыл глаза
Сообщения: 42
Зарегистрирован: Сб окт 28, 2017 16:51:58

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Андрей Василенко »

Само приветствие отображается нормально, более того если например при включенной станции выключить фен, и при перезагрузке этот самый фен включить то изображение выводится без всяких искажений. К Нагиричу Владиславу не обращался потому что не могу найти его контактных данных.

Добавлено after 5 minutes 20 seconds:
по поводу энкодера. Если я замыкаю спины пинцетом то на добавление работает, а вот на убавление глухо, не достаточно ли этого что бы сделать выводы? Кстати если пин на который подцеплена кнопка замыкать пинцетом то тоже работает
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

По энкодеру. Судя по

Код: Выделить всё

if(!(PINC&2)) inc--;

попробуйте подать на РС1 землю и уже тогда замыкать PD2 пинцетом.
По ЖКИ не подскажу.
Docendo discimus
Аватара пользователя
RAVEN
Встал на лапы
Сообщения: 90
Зарегистрирован: Сб мар 08, 2008 23:48:09
Откуда: Питер.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение RAVEN »

Доброго времени суток, уважаемые Коты. Прошу помочь мне с одной проблемой. Собираю проект http://arduino.ru/forum/proekty/khronog ... ent-371445 .(мои посты на последних страницах под ником Raven 18) Проблема в том что фьюзы там для extreme_burner_avr а у меня CodeVisionAVR. Пробовал поставить extreme_burner_avr но ей вроде как для работы нужны какие то толи драйвера толи библиотеки, хрен его знает- постоянно пишет ошибку и не запускается. Я не очень силён в программировании поэтому и прошу помощи. Что посоветуете? Может быть их (фьюзы) как то можно "конвертировать"?
Аватара пользователя
Linuxoid91
Грызет канифоль
Сообщения: 295
Зарегистрирован: Вс дек 18, 2011 14:41:24
Откуда: Ангарск

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Linuxoid91 »

Добрый день. Что за корпус #57? Или это все SOIC-14?

Изображение
arkhnchul
Друг Кота
Сообщения: 3092
Зарегистрирован: Пн апр 06, 2015 11:01:53
Откуда: москва, уфа

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение arkhnchul »

SL в маркировке - да, SOIC.
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chip115 »

всем привет!
Хочу прикрутить к проекту DFU bootloader от популярной ардуино (сам бутлоадер взял отсюда generic_boot20_pb9.bin).
Бут зашил, светодиод мигает. Заливаю прошивку (программа просто зажигает светодиод). Прошивка устанавливается, но юсб отваливается и комп видит неопознанное устройство.
Почему так происходит? Область памяти бутлоадера защитил от записи.
Камень STM32F103C8. IDE IAR
В настройках линкера указал начало флеша как 0x08002000, в начале функции main прописал NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);
Получился какой-то одноразовый бутлоадер...
Подскажите как заставить работать бутлоадер правильно ?

Вот код

Код: Выделить всё

#include "stm32f10x.h"
int main(void)
{
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000);

  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , ENABLE);                             
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; ;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_SetBits(GPIOB, GPIO_Pin_9);

   while (1)
  {};
 
 
}


UPD
Вроде понял. Цитата от сюда
Чтобы не нажимать каждый раз ресет, платы основанные на libmaple/stm32duino используют трюк. Они слушают usb serial порт. Если там возникает сигнал DTR и передается ключевая последовательность байт, то микроконтроллер перегружается в бутлоадер. Смотреть в функцию rxHook().
Но вот не пойму что за ключевая последовательность байт и как этот DTR "выглядит", если рассматривать его через призму виртуального COM порта? В RS232 этот сигнал представлен отдельным проводом...
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Ответить

Вернуться в «Разные вопросы по МК»