Отсюда и пляшем.DC Current per I/O Pin ........... 40.0 mA
Мелкие вопросы по МК и ПЛИС.
Читаем даташит:
Docendo discimus
- Реклама
Если вопрос был о разводке на плате "веером" с одного выхода на три входа микросхем преобразователей интерфейсов, то потянет. Только меры против "звона" не забудьте меры принять.Евгений33 писал(а):выход параллелится на три драйвера интерфейса (RS-485, RS-422, RS-232). Может ли один USART обслуживать три драйвера одновременно ?
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Kavka писал(а):Только меры против "звона" не забудьте меры принять.
В пределах этого "вейера"?
Какая же скорость предполагается у сего УАРТа?
если я пишу на Си для AVR и в своей проге тело некой ф-ции написал на асме, то могу ли я быть уверенным что компилятор не будет оптимизировать данную ф-цию вообще ?
Tell Me The Truth
Компилятор компилирует компилируемое, т.е. сишный код. Ассемблерная вставка на вашей совести и остается девственной.
Docendo discimus
- Реклама
тоесть вы хотите сказать что определенную задачу на асме мона решить только одним способом и поэтому компилятор в данном случае умывает руки ?
Tell Me The Truth
Ага только потом после него может поработать оптимизатор 
В код вижн могут одинаковые участки помещаться в функции для уменьшения размера программы. В любом случае можно сравнить свою функцию с кодом на выходе.
В код вижн могут одинаковые участки помещаться в функции для уменьшения размера программы. В любом случае можно сравнить свою функцию с кодом на выходе.
А что делать компилятору? С Си он переводит функции в машинный код, а ассемблерная вставка это уже по-сути машинный код, только написанный в более понятном человеку виде, там просто нечего переделывать, разве что ошибки проверить. А вот каким способом решить задачу на ассемблере решает человек, он может написать INC R16, а может SUBI R16,-1, тут компилятор за него думать не будет. Оптимизатор да, другое дело, но если код небольшой и написан грамотно, ему ИМХО делать будет нечего 
Ассемблерная вставка не трогается.vitalik_1984 писал(а):одинаковые участки помещаться в функции для уменьшения размера программы
Docendo discimus
вот как бы сделать так чтобы и оптимизатор не трогал ассемблерный кусок кода ?Engineer_Keen писал(а):Оптимизатор да, другое дело,
типа.....мне именно вот так надо, и не твоего ума это дело
Последний раз редактировалось FreshMan Ср окт 23, 2013 14:46:11, всего редактировалось 1 раз.
Tell Me The Truth
КодеВижн вашу ассемблерную вставку не тронет, не переживайте. В конце концов, напишите да и проверьте!
Docendo discimus
Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры. Пусть они хоть раз в секунду, хоть в три часа.КРАМ писал(а):В пределах этого "вейера"?
Какая же скорость предполагается у сего УАРТа?
Тут где-то была тема про 1-wire с термометрами подключенными "звездой" - и скорости не высокие, а звенит в "звезде" только так.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
А каким образом скорость нарастания связана с работой УАРТа?Kavka писал(а):Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры.
И причем тут 1-Wire? В огороде бузина...
"Звезда" по УАРТу контроллера до драйверов имеет ничтожную дальность, а значит и реактивные паразитные параметры линии.
Звон на выходе МК определяется ФРОНТОМ ГЕНЕРИРУЕМОГО СИГНАЛА. Чем круче фронт, тем сильнее звон. При прочих равных параметрах. Увеличение емкости в нагрузке УВЕЛИЧИТ длительность фронта и УМЕНЬШИТ звон. С точки зрения спектра сигнала он станет уже и волновые процессы в оставшемся спектре исчезнут за слишком малой длиной линий передачи.
С 1-Wire картина СОВЕРШЕННО другая.
Во первых, шлейфы длинные (это ВНЕсхемная линия передачи), во вторых она ВЫСОКООМНАЯ и несогласованная с волновым сопротивлением витой пары или чего там еще...
Отсюда и звон...
Во первых, подумайте, как крутизна фронта связана с со скоростью нарастания напряжения?КРАМ писал(а):...Kavka писал(а):Вопрос не в скорости УАРТа, а в скорости нарастания/спада фронтов на выходе микры.
Звон на выходе МК определяется ФРОНТОМ ГЕНЕРИРУЕМОГО СИГНАЛА. Чем круче фронт, тем сильнее звон. При прочих равных параметрах. Увеличение емкости в нагрузке УВЕЛИЧИТ длительность фронта и УМЕНЬШИТ звон.
Во вторых, увеличение ёмкости, скажем так, на тракте точка-точка, это одно. На концах звезды это другое, и, в идеале, надо согласовывать звезду. В реальности, практически тотально, все на это забивают. Однако, пусть и редко, но встречаются вопли типа "я раньше так делал, а сейчас не работает". Поэтому об этом надо знать и быть готовым к непредвиденным последствиям. (чёт half-life вспомнился
Про 1-wire, да, может и не совсем удачный пример, как вы указали, из-за масштаба линий. Но ничего не мешает стечению обстоятельств сотворить "звенящую звезду" на плате.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Крутизна фронта и есть скорость нарастания напряжения.
Это полные синонимы.
Вы не поняли о чем я спросил.
Дело в принципе работы приемника УАРТа. Ему на фронты положить.... болт...
Мажоритарному приемнику нужен ПОТЕНЦИАЛ нуля или единицы необходимой продолжительности. Какой при этом был фронт - глубоко наплевать. Звоны звезды в пределах печатной платы от МК до драйверов - максимум 10 наносекунд...
Так о какой скорости УАРТа тут идет речь?

Это полные синонимы.
Вы не поняли о чем я спросил.
Дело в принципе работы приемника УАРТа. Ему на фронты положить.... болт...
Мажоритарному приемнику нужен ПОТЕНЦИАЛ нуля или единицы необходимой продолжительности. Какой при этом был фронт - глубоко наплевать. Звоны звезды в пределах печатной платы от МК до драйверов - максимум 10 наносекунд...
Так о какой скорости УАРТа тут идет речь?
Ааа... Вон куда вы упираете! Про принцип работы УАРТа - это да. Я и не спорю.
А про 10нс - это смотря как развести дорожки и каких размеров плата. Ладно, это я уже занудствую
Просто, IMHO, меры по предотвращению "звона", так сказать, это правило хорошего тона. Но как всегда - на вкус и цвет...
А про 10нс - это смотря как развести дорожки и каких размеров плата. Ладно, это я уже занудствую
Просто, IMHO, меры по предотвращению "звона", так сказать, это правило хорошего тона. Но как всегда - на вкус и цвет...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Да как не разводи...Kavka писал(а): А про 10нс - это смотря как развести дорожки и каких размеров плата.
И размеры платы не имеют значения. Имеет значение РАССТОЯНИЕ между драйверами и МК.
Однако огромных плат с максимальным удалением драйверов и МК я чего то не встречал... Люди умнее, чем кажутся на первый взгляд...
Имеет значение КАЧЕСТВО ЗЕМЛИ на этой плате. Но плохая земля не создает звона. Плохая земля создает ПОМЕХИ ОТ ДРУГИХ СИГНАЛОВ. Поскольку суммирует токи разных сигналов и создает падение напряжения от этого тока приложенное ко входам всех этих сигналов.
Вот эти помехи СПОСОБНЫ нарушить работу УАРТа...
- Сообщения: 219
- Зарегистрирован: Вт мар 12, 2013 16:05:45
Можно ли реализовать на МК функцию удерживания кнопок (INT0 и INT1) в течение трех секунд и чтобы потом запускалась какая-нибудь задача.
Реализовать можно.
Но только САМОМУ. Помощь в таком случае гарантируется.
Но только САМОМУ. Помощь в таком случае гарантируется.
- Сообщения: 219
- Зарегистрирован: Вт мар 12, 2013 16:05:45
Сделал так:
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)
//EIFR = 0b00000000; //External interrupt flag register
только при очень четком одновременном нажатии кнопок срабатывает алгоритм, а надо реализовать удержание на 3 секунды.
if (EIFR == 0b00000011)
или
while (EIFR==0b00000011)
//EIFR = 0b00000000; //External interrupt flag register
только при очень четком одновременном нажатии кнопок срабатывает алгоритм, а надо реализовать удержание на 3 секунды.


