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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1154
Зарегистрирован: Вт авг 17, 2010 11:58:06
Откуда: Казань

Сообщение den2 »

Подскажите по программаторам для ПЛИС.На работе есть пара устройств на Альтере.Защищены ли они не знаю и вообще ставится ли защита на ПЛИСы не знаю.Пока не читал.Так вот.Вроде есть собранный БайтБластер на LPT .Хочу прикупить УСБишный бластер с Али.Стоит вроде не дорого.Подойдёт ли он и для ПЛИСок от Ксилинкс или там свой нужен?
Хочется хотя бы с простенькими CPLD разобраться.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

[uquote="КРАМ",url="/forum/viewtopic.php?p=3343145#p3343145"][uquote="baghear",url="/forum/viewtopic.php?p=3343104#p3343104"]Чтение с флэшки в режиме онлайн ведёт к лаганию отрисовки[/uquote]
Прорисовка изображения происходит из буферного ОЗУ экрана.[/uquote]
Раньше не сталкивался, что это такое?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 25862
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

В ОЗУ МК формируется область, куда и прорисовывается выводимое изображение. А вывод собственно на дисплей осуществляется уже из этой области (интерфейс связи с экраном/DMA-интерфейс связи с экраном/аппаратный специализированный модуль и т.п.). таким образом, смена элементов изображения происходит очень медленно и чаще всего малыми фрагментами.
Это можно представить себе как два совершенно независимых процесса. Один регенерирует экран, а второй строит собственно изображение.
Иногда таких буферных областей две. В одну подготавливают новую картинку, а вторую выводят. Потом их меняют местами.
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

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

Сообщение Dentorol »

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

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

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

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

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

Сообщение Chip115 »

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

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

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

Сообщение 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/ , правда не с кнопками а с другим микроконтроллером, на ножке Мисо не появляется никаких сигналов, от слова совсем.
Встал на лапы
Аватара пользователя
Сообщения: 91
Зарегистрирован: Сб фев 17, 2018 00:08:56

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

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

Сообщение NebelWefer »

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

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

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

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

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

Сообщение 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]
Судя по напряжению, вы хотите измерять напряжение литиевых аккумов. Тогда почему-бы не питаться от самого аккума, и через делитель мерить его напряжение?
Друг Кота
Аватара пользователя
Сообщения: 7083
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

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

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

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

Сообщение ARV »

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

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

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

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

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

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

Сообщение 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 КБ) 232 скачивания
Открыл глаза
Сообщения: 42
Зарегистрирован: Сб окт 28, 2017 16:51:58

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

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

Сообщение pyzhman »

1.

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

ISR (INT0_vect) 					
{cli();		
															
if(!(PINC&2)) inc--;																
else inc++;
sei();															                
}	
Это обработка энкодера в программе. Проверьте работоспособность порта РС2 на ввод, например, тестовой прошивкой (написать по собственному разумению).
2.
после приветствия
А само приветствие выводится норм?
3. К Нагиричу Владиславу обращались?
Docendo discimus
Контактная информация:
Открыл глаза
Сообщения: 42
Зарегистрирован: Сб окт 28, 2017 16:51:58

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

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

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

Сообщение pyzhman »

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

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

if(!(PINC&2)) inc--;
попробуйте подать на РС1 землю и уже тогда замыкать PD2 пинцетом.
По ЖКИ не подскажу.
Docendo discimus
Контактная информация:
Ответить

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