Мелкие вопросы по МК и ПЛИС.
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
AD вообще вкусная контора. Только сэмплы в РФ уже вроде бы не шлёт.
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Гуру, подскажите, EmBlocks + FreeRTOS кто-нибудь скрещивал? Что в итоге?
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Всем привет!
В общем есть модули ZigBee MRF24J40MA (4 штуки, хз зачем купил) от микрочипа. Сам я предпочитаю STM. Инициализировать и передать байт получилось. Хотелось бы поднять простенькую сеть пока без координаторов, тупо роутеры.
Ни кто не замарачивался с портированием ZigBee стека от микрочипа под STM32?
Благодарное ли это дело? Ни разу не занимался адаптацией стека.
В общем есть модули ZigBee MRF24J40MA (4 штуки, хз зачем купил) от микрочипа. Сам я предпочитаю STM. Инициализировать и передать байт получилось. Хотелось бы поднять простенькую сеть пока без координаторов, тупо роутеры.
Ни кто не замарачивался с портированием ZigBee стека от микрочипа под STM32?
Благодарное ли это дело? Ни разу не занимался адаптацией стека.
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Вот не пойму - на некоторых сайтах видел как объединяют несколько пинов для увеличения нагрузочной способности. Вопрос - можно ли так делать? Вроде как это некорректно?
И еще один вопрос - дайте волшебный пинок, каким образом реализовать преобразование BIN2BCD на verilog с большим количеством (27) бит?
И еще один вопрос - дайте волшебный пинок, каким образом реализовать преобразование BIN2BCD на verilog с большим количеством (27) бит?
Re: Мелкие вопросы по МК и ПЛИС.
Несколько пинов можно объединять, только управлять ими надо синхронно и не превышать нагрузочную способность самих пинов и ножек питания.
По второму вопросу вот что попалось в кэше яндекса - тынц.
По второму вопросу вот что попалось в кэше яндекса - тынц.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Chettuser писал(а):Вот не пойму - на некоторых сайтах видел как объединяют несколько пинов для увеличения нагрузочной способности. Вопрос - можно ли так делать? Вроде как это некорректно?
И еще один вопрос - дайте волшебный пинок, каким образом реализовать преобразование BIN2BCD на verilog с большим количеством (27) бит?
Вообще объединять выходы на прямую - это плохой тон. Почему бы не воспользоваться буфером, если уж надо усилить выход по току? Просто можно ошибиться и получить "сквозняк".
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
- Chip115
- Сверлит текстолит когтями
- Сообщения: 1132
- Зарегистрирован: Пт фев 16, 2007 14:18:20
- Откуда: Новосибирск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Kavka писал(а):Несколько пинов можно объединять, только управлять ими надо синхронно и не превышать нагрузочную способность самих пинов и ножек питания.
По второму вопросу вот что попалось в кэше яндекса - тынц.
разделяют нагрузку на пин, на порт и на кристалл. Если пин рассчитан, например, на 10 мА, то это не факт, что порт, в котором 10 бит (например) выдержит 100 мА. Нагрузка на порт может быть ограничена 80 мА, а на кристал еще меньше. Надо курить доку на конкретный мк.
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Re: Мелкие вопросы по МК и ПЛИС.
Привет, помогите разобраться как выставить фьюзы по этим скриншотам в пони прог или аналогичной программе (с галочками)?
- Вложения
-
- фьюзы 2.jpg
- (29.86 КБ) 300 скачиваний
-
- Фьюзы.jpg
- (47.33 КБ) 332 скачивания
Re: Мелкие вопросы по МК и ПЛИС.
Открываете DS на ATmega8; открываете раздел Memory Programming и выставляете. Например,
Internal Calibrated RC Oscillator 8MHz CKSEL3...0 0100 (галка, нет галки, галка,галка)... Некоторые FUSE-биты устанавливаются прямо из указанного раздела, для других придётся походить по указанным в разделе страницам.
Internal Calibrated RC Oscillator 8MHz CKSEL3...0 0100 (галка, нет галки, галка,галка)... Некоторые FUSE-биты устанавливаются прямо из указанного раздела, для других придётся походить по указанным в разделе страницам.
Re: Мелкие вопросы по МК и ПЛИС.
что быстрее копирование скажем данных из 1 области памяти в другую самим процессором или модулем DMA? По идее проц же быстрее т.к. для DMA пропускная способность системной шины огрничена
- Slabovik
- Друг Кота
- Сообщения: 17234
- Зарегистрирован: Чт апр 04, 2013 12:46:59
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Зависит от конкретной архитектуры. Вот при i8085 ещё надо сильно постараться, чтобы DMA получился медленнее процессора 
Re: Мелкие вопросы по МК и ПЛИС.
ну ок, а может ли DMA работать быстрее чем проц?
- КРАМ
- Друг Кота
- Сообщения: 25154
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
DMA работает с частотой шины памяти.
- Slabovik
- Друг Кота
- Сообщения: 17234
- Зарегистрирован: Чт апр 04, 2013 12:46:59
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Вроде ответил уже 
Ладно, ответ в-лоб: может. Может быстрее. А может и медленнее.
Ведь DMA и придуман в те времена, когда проц был явно медленен. Если проц быстр при двигании массивов, то смысл городить для этого какой-то DMA, который будет медленнее, для меня ускользает. Но бывает, что смысл есть и в этом, но тогда он несколько другой, например, не отвлекать по-уши загруженный проц от каких-то своих вычислений.
p.s. Всё это без привязки к конкретной архитектуре достаточно отвлечённо, потому что на каждое общепринятое правило найдётся общепринятое же исключение. Поэтому, если встаёт вопрос о том, делать DMA или нет - нужно взвесить оба (а может и более) варианта, и посмотреть, что будет в итоге интереснее...
Ладно, ответ в-лоб: может. Может быстрее. А может и медленнее.
Ведь DMA и придуман в те времена, когда проц был явно медленен. Если проц быстр при двигании массивов, то смысл городить для этого какой-то DMA, который будет медленнее, для меня ускользает. Но бывает, что смысл есть и в этом, но тогда он несколько другой, например, не отвлекать по-уши загруженный проц от каких-то своих вычислений.
p.s. Всё это без привязки к конкретной архитектуре достаточно отвлечённо, потому что на каждое общепринятое правило найдётся общепринятое же исключение. Поэтому, если встаёт вопрос о том, делать DMA или нет - нужно взвесить оба (а может и более) варианта, и посмотреть, что будет в итоге интереснее...
- КРАМ
- Друг Кота
- Сообщения: 25154
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
jazz393 писал(а):По идее проц же быстрее т.к. для DMA пропускная способность системной шины огрничена
Чем ограничена пропускная способность шины для DMA?
Либо DMA совершает транзакции внутри цикла процессора в тех его тактах, когда шина свободна, либо вообще DMA захватывает шину, останавливая процессор.
У DMA при работе с шиной обычно высший приоритет, поскольку на DMA строится диаграмма реального времени.
Транзакции память-память у DMA всегда выполняются за один машинный цикл. А вот процессор может выполнить это действие за один цикл только при косвенной автоинкрементной адресации. Ну и распараллеливание процессов DMA и процессора позволяет увеличить общую производительность ЭВМ.
Re: Мелкие вопросы по МК и ПЛИС.
Транзакции память-память у DMA всегда выполняются за один машинный цикл.
Не всегда... Память тоже разная бывает и может существовать на разных шинах...
"Я не даю готовых решений, я заставляю думать!"(С)
Re: Мелкие вопросы по МК и ПЛИС.
КРАМ писал(а):Чем ограничена пропускная способность шины для DMA?
Либо DMA совершает транзакции внутри цикла процессора в тех его тактах, когда шина свободна, либо вообще DMA захватывает шину, останавливая процессор.
.
ну вот я читал статью(попробую найти сейчас), там черным по белому написано что у ARMов к примеру она ограничена, и за счёт этого скорость копирования DMA по сравнению с процессором ниже на 30%.
вообщем видимо зависит от архитектуры всё, просто был на собеседовании - и там задали такой вопрос, стало интересно какой же на него правильный ответ ...
Re: Мелкие вопросы по МК и ПЛИС.
Где-то проскакивала таблица тестов ДМА/не ДМА на STM32... Там разница туда-сюда несколько процентов... но не 30%...
У STM32 действительно ДМА не блокирует полностью ядро... там свой хитрый механизм... У STM8... если не ошибаюсь... приоритет можно менять...
У STM32 действительно ДМА не блокирует полностью ядро... там свой хитрый механизм... У STM8... если не ошибаюсь... приоритет можно менять...
"Я не даю готовых решений, я заставляю думать!"(С)
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Мелкие вопросы по МК и ПЛИС.
и за счёт этого скорость копирования DMA по сравнению с процессором ниже на 30%.
Применительно к STM32:
The above code transfers ten words of data between two arrays in SRAM first with the DMA and then using the
Cortex CPU. In both cases a timer is started at the beginning of the transfer and when the transfer ends. In this
example the DMA unit takes 220 cycles and the CPU takes 536.
(The Insider’s Guide To The STM32, стр. 42)
- Ytm
- Нашел транзистор. Понюхал.
- Сообщения: 160
- Зарегистрирован: Ср окт 02, 2013 15:59:28
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
А какой самый простой способ подать на avr ~220 чтобы получить высокий уровень на ноге? К примеру для детекции наличия напряжения