Хочется хотя бы с простенькими CPLD разобраться.
Мелкие вопросы по МК и ПЛИС.
Подскажите по программаторам для ПЛИС.На работе есть пара устройств на Альтере.Защищены ли они не знаю и вообще ставится ли защита на ПЛИСы не знаю.Пока не читал.Так вот.Вроде есть собранный БайтБластер на LPT .Хочу прикупить УСБишный бластер с Али.Стоит вроде не дорого.Подойдёт ли он и для ПЛИСок от Ксилинкс или там свой нужен?
Хочется хотя бы с простенькими CPLD разобраться.
Хочется хотя бы с простенькими CPLD разобраться.
- Реклама
- Сообщения: 791
- Зарегистрирован: Вт июн 17, 2014 00:34:26
[uquote="КРАМ",url="/forum/viewtopic.php?p=3343145#p3343145"][uquote="baghear",url="/forum/viewtopic.php?p=3343104#p3343104"]Чтение с флэшки в режиме онлайн ведёт к лаганию отрисовки[/uquote]
Прорисовка изображения происходит из буферного ОЗУ экрана.[/uquote]
Раньше не сталкивался, что это такое?
Прорисовка изображения происходит из буферного ОЗУ экрана.[/uquote]
Раньше не сталкивался, что это такое?
В ОЗУ МК формируется область, куда и прорисовывается выводимое изображение. А вывод собственно на дисплей осуществляется уже из этой области (интерфейс связи с экраном/DMA-интерфейс связи с экраном/аппаратный специализированный модуль и т.п.). таким образом, смена элементов изображения происходит очень медленно и чаще всего малыми фрагментами.
Это можно представить себе как два совершенно независимых процесса. Один регенерирует экран, а второй строит собственно изображение.
Иногда таких буферных областей две. В одну подготавливают новую картинку, а вторую выводят. Потом их меняют местами.
Это можно представить себе как два совершенно независимых процесса. Один регенерирует экран, а второй строит собственно изображение.
Иногда таких буферных областей две. В одну подготавливают новую картинку, а вторую выводят. Потом их меняют местами.
- Сообщения: 791
- Зарегистрирован: Вт июн 17, 2014 00:34:26
Здравствуйте!
Хочу защитить схему интерфейса RS-485 от повышенного напряжения в линии.
Для этого планирую поставить на землю супрессоры SM712 и в разрыв цепи самовосстанавливающиеся предохранители.
Как на схеме (Bourns):

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

В ней предохранители установлены на 200 мА.
И соответственно у меня вопрос: на какой ток ставить самовосстанавливающийся предохранитель?
И еще хотелось бы узнать аналогичный ответ только по интерфейсу RS-232: на какой ток устанавливать самовосстанавливающиеся предохранители в цепях защиты интерфейса RS-232.
У меня имеются в наличии самовосстанавливающиеся предохранители FSMD010-1206 - на 100 мА. Можно их поставить?
Хочу защитить схему интерфейса RS-485 от повышенного напряжения в линии.
Для этого планирую поставить на землю супрессоры SM712 и в разрыв цепи самовосстанавливающиеся предохранители.
Как на схеме (Bourns):
Если по напряжению интерфейса RS-485 все понятно -7 В до +12 В.
То по току, протекающему по линиям интерфейса, я данных не нашел.
Нашел только: "Максимальный ток короткого замыкания драйвера 250 мА"
В приложенной выше схеме установлены самовосстанавливающиеся предохранители на 300 мА.
Есть еще подобная схема (Analog Device):
В ней предохранители установлены на 200 мА.
И соответственно у меня вопрос: на какой ток ставить самовосстанавливающийся предохранитель?
И еще хотелось бы узнать аналогичный ответ только по интерфейсу RS-232: на какой ток устанавливать самовосстанавливающиеся предохранители в цепях защиты интерфейса RS-232.
У меня имеются в наличии самовосстанавливающиеся предохранители FSMD010-1206 - на 100 мА. Можно их поставить?
- Реклама
Всем привет! Есть два устройства, которые общаются через RS485 (UART) по самопальному протоколу. Второе устройство надо переделать. Нужна программа, которая бы слушала линии что бы потом можно было просмотреть что за данные гоняются через UART. Проблема в том, что там постоянно сыпится однотипная информация. Есть ли программа, которая позволяла бы скрывать данные, которые не изменяются. Можно конечно записывать все попсовой Terminal, потом как-то обработать, что бы удалить клоны информации, идущие друг за другом, но хотелось бы в онлайн наблюдать что происходит на линии, но спам мешает. Можете посоветовать подобную софтину?
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
- Сообщения: 91
- Зарегистрирован: Сб фев 17, 2018 00:08:56
Такая вот беда, писал код для устройства плавного пуска, только начал, буквально написал простенький код для проверки кнопок и светодиодов на плате, залил, после чего 13 тинька перестала шиться. Перепроверил все проводки, все дорожки, ничего подозрительного не нашел, расстроился, но взял новую тини, не впаивая в плату, залил в неё ту же прошивку, от чего и она закирпичилась. В чем вообще может быть причина такого странного поведения, и как роскирпичить тиньки? Что-то типа фьюздоктора нужно?
- Сообщения: 91
- Зарегистрирован: Сб фев 17, 2018 00:08:56
UPD: попробовал ресетнуть фьюзы вот этим способом : https://geektimes.com/post/255396/
Фьюзы ресетнулись, дуина спокойно считала их и сигнатуру, но при подключении к обычному программатору выдает avrdude: initialization failed, rc=-1, при этом все подключено верно, и другие мк этим же програматором шьються.
Добавлено after 1 hour 25 minutes 2 seconds:
уже совсем отчаялся, даже такое извращение пытался сделать https://habr.com/post/152052/ , правда не с кнопками а с другим микроконтроллером, на ножке Мисо не появляется никаких сигналов, от слова совсем.
Фьюзы ресетнулись, дуина спокойно считала их и сигнатуру, но при подключении к обычному программатору выдает avrdude: initialization failed, rc=-1, при этом все подключено верно, и другие мк этим же програматором шьються.
Добавлено after 1 hour 25 minutes 2 seconds:
уже совсем отчаялся, даже такое извращение пытался сделать https://habr.com/post/152052/ , правда не с кнопками а с другим микроконтроллером, на ножке Мисо не появляется никаких сигналов, от слова совсем.
- Сообщения: 91
- Зарегистрирован: Сб фев 17, 2018 00:08:56
- Сообщения: 274
- Зарегистрирован: Чт апр 16, 2009 14:23:59
Jack-SidrМожет у Вас фьюзы не прочитав заливаются, поэтому и кирпич? Зачем спасать копеечные тиньки, разве что в научных целях?
А у меня, возможно, глупый вопрос:
Что будет если на вход АЦП подать напряжение выше опорного, при этом:
а) вход выше опорного, но меньше питания ( просто будет макс в регистре?)
б) вход выше опорного, выше питания, но НЕ выше максимального для мк ( например тинька13 питается от 1.8В, на вход подали 4.2, а макс питание 5.5В)
?
А у меня, возможно, глупый вопрос:
Что будет если на вход АЦП подать напряжение выше опорного, при этом:
а) вход выше опорного, но меньше питания ( просто будет макс в регистре?)
б) вход выше опорного, выше питания, но НЕ выше максимального для мк ( например тинька13 питается от 1.8В, на вход подали 4.2, а макс питание 5.5В)
?
В даташите есть ответы на эти вопросы.NebelWefer писал(а):А у меня, возможно, глупый вопрос:
а) Да, будет значение, близкое к максимальному или равное ему.
б) Подавать на выводы напряжение выше напряжения питания плюс немного (обычно 0,5 В) запрещено, т.к. при этом откроется защитный диод, включенный анодом к выводу и катодом к питанию.
Этот пост оказался полезен? Не поленись, нажми
слева!

Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
слева!Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
- Сообщения: 91
- Зарегистрирован: Сб фев 17, 2018 00:08:56
[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]
Судя по напряжению, вы хотите измерять напряжение литиевых аккумов. Тогда почему-бы не питаться от самого аккума, и через делитель мерить его напряжение?
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]
Судя по напряжению, вы хотите измерять напряжение литиевых аккумов. Тогда почему-бы не питаться от самого аккума, и через делитель мерить его напряжение?
если мерять питание - часто прибегают к такому трюку: за опору берут питание, а меряют опорное напряжение - точность будет, конечно ниже, но различить заряд батареи хватит, плюс энергопотребление такого метода намного меньше чем с использованием делителя
Добавлено after 2 minutes 23 seconds:
но тини 13 вроде так не умеет
Добавлено after 2 minutes 23 seconds:
но тини 13 вроде так не умеет
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
да еще и внешние выводы при этом могут вообще не использоваться.Ivanoff-iv писал(а):плюс энергопотребление такого метода намного меньше чем с использованием делителя
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Друзья! Взываю к помощи тех из вас, кто программирует на STM32. Нужно срочно протестировать камень, при этом на месте нет вообще никаких приборов кроме ST-Link. Нужно сделать тестовую прошивку буквально с единственной командой. Раз в секунду (условно) слать что-то в USART. Ибо вообще МК видится как живой при программировании, но его поведение в схеме очень странное, и не похоже на ту прошивку, что мы пытаемся залить.
Камень STM32F100C8T6. USART1, пины PA9, PA10. Кварцевый резонатор стоит на 8МГц.
Сам под STM пишу редко, и сразу такое написать не могу. Надеюсь найдётся специалист со свободным получасом для работы. Уповаю и надеюсь, и да воздастся откликнувшемуся в карму!
Камень STM32F100C8T6. USART1, пины PA9, PA10. Кварцевый резонатор стоит на 8МГц.
Сам под STM пишу редко, и сразу такое написать не могу. Надеюсь найдётся специалист со свободным получасом для работы. Уповаю и надеюсь, и да воздастся откликнувшемуся в карму!
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
[uquote="просто КОТ",url="/forum/viewtopic.php?p=3388450#p3388450"]Раз в секунду (условно) слать что-то в USART[/uquote]
тестик USART:
В Протеусе работает, в железе не проверял:

hex:
тестик 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:
- Сообщения: 42
- Зарегистрирован: Сб окт 28, 2017 16:51:58
http://vip-cxema.org/index.php/home/mik ... e-atmega8a
Товарищи коты, возможно я со своим вопросом немного не в тему но куда ещё обратится я незнаю. просто к брал паяльную станцию по моей ссылке.
проблема заключается в том что энкодер добавляет температуру добавляет и по часовой и против часовой стрелки. пробовал 3 разных энкодера и это ничего не дало. А вторая проблема такая что, после приветствия на экране появляются случайный набор разных символов в случайном порядке. но станция работает, заданную температуру поддерживает. Энкодер пробовал заменить кнопками, на добавление работает, кнопка выбора работает, а на убавление нет. С дисплеем вообще завал, куда копать?
Товарищи коты, возможно я со своим вопросом немного не в тему но куда ещё обратится я незнаю. просто к брал паяльную станцию по моей ссылке.
проблема заключается в том что энкодер добавляет температуру добавляет и по часовой и против часовой стрелки. пробовал 3 разных энкодера и это ничего не дало. А вторая проблема такая что, после приветствия на экране появляются случайный набор разных символов в случайном порядке. но станция работает, заданную температуру поддерживает. Энкодер пробовал заменить кнопками, на добавление работает, кнопка выбора работает, а на убавление нет. С дисплеем вообще завал, куда копать?
1.
Это обработка энкодера в программе. Проверьте работоспособность порта РС2 на ввод, например, тестовой прошивкой (написать по собственному разумению).
2.
3. К Нагиричу Владиславу обращались?
Код: Выделить всё
ISR (INT0_vect)
{cli();
if(!(PINC&2)) inc--;
else inc++;
sei();
}
2.
А само приветствие выводится норм?после приветствия
3. К Нагиричу Владиславу обращались?
Docendo discimus
- Сообщения: 42
- Зарегистрирован: Сб окт 28, 2017 16:51:58
Само приветствие отображается нормально, более того если например при включенной станции выключить фен, и при перезагрузке этот самый фен включить то изображение выводится без всяких искажений. К Нагиричу Владиславу не обращался потому что не могу найти его контактных данных.
Добавлено after 5 minutes 20 seconds:
по поводу энкодера. Если я замыкаю спины пинцетом то на добавление работает, а вот на убавление глухо, не достаточно ли этого что бы сделать выводы? Кстати если пин на который подцеплена кнопка замыкать пинцетом то тоже работает
Добавлено after 5 minutes 20 seconds:
по поводу энкодера. Если я замыкаю спины пинцетом то на добавление работает, а вот на убавление глухо, не достаточно ли этого что бы сделать выводы? Кстати если пин на который подцеплена кнопка замыкать пинцетом то тоже работает
По энкодеру. Судя по
попробуйте подать на РС1 землю и уже тогда замыкать PD2 пинцетом.
По ЖКИ не подскажу.
Код: Выделить всё
if(!(PINC&2)) inc--;По ЖКИ не подскажу.
Docendo discimus




