Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
По моему всем понятно что здесь просто Аписка. Вместо К написал М.
По существу вопроса - я прав? TWI больше 222Кгц не разогнать при такте 8 Мгц???
Программный I2C тут не помощник?
По существу вопроса - я прав? TWI больше 222Кгц не разогнать при такте 8 Мгц???
Программный I2C тут не помощник?
KIT
- Кислый
- Поставщик валерьянки для Кота
- Сообщения: 2095
- Зарегистрирован: Чт апр 08, 2010 18:50:01
- Откуда: Краснодар
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Вопросец не из разряда теории, а из разряда личного опыта.. делать ничего не собираюсь, просто интересно
дано :
плис, ацп, срам, и MICROконтроллер с дисплеем
классическая ситуация : плис разруливает чтение\запись во внешнюю статическую память.
теперь сам вопрос. допустим я взял две микросхемы sram. одну под нужды ацп, вторую под задачи контроллера (допустим реализуем фрейм буфер). если обьединить их шины, то получим просто более большое адресное пространство. если не обьединять шины, то можно одновременно, независимо работать с двумя микросхемами, плис разрулит адресацию, но потребуется много ног (почти в двое больше). а если взять и повесить две микросхемы sram на одну адресную шину, а шины данных будут разные (равно как и не обьединем пин(-ы) WE\RE ? получим "память" в которую по одному адресу находятся две ячейки с независимым чтением\записью ?
или такой способ будет крайне неудобным ?
дано :
плис, ацп, срам, и MICROконтроллер с дисплеем
классическая ситуация : плис разруливает чтение\запись во внешнюю статическую память.
теперь сам вопрос. допустим я взял две микросхемы sram. одну под нужды ацп, вторую под задачи контроллера (допустим реализуем фрейм буфер). если обьединить их шины, то получим просто более большое адресное пространство. если не обьединять шины, то можно одновременно, независимо работать с двумя микросхемами, плис разрулит адресацию, но потребуется много ног (почти в двое больше). а если взять и повесить две микросхемы sram на одну адресную шину, а шины данных будут разные (равно как и не обьединем пин(-ы) WE\RE ? получим "память" в которую по одному адресу находятся две ячейки с независимым чтением\записью ?
или такой способ будет крайне неудобным ?
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
- Кислый
- Поставщик валерьянки для Кота
- Сообщения: 2095
- Зарегистрирован: Чт апр 08, 2010 18:50:01
- Откуда: Краснодар
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
я как бы понимаю, что бредово уже от того, что обычно во время записи данных с ацп в sram для инкрементирования адреса используется банальный счетчик.. а это жесткая по функциональности штуковина.. максимум что можно - задать начальный, конечный адреса и шаг (ин-/де-)крементирования..
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
@hobbyelectronics
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Кислый писал(а):ли такой способ будет крайне неудобным ?
Можно сделать виртуальное увеличение адреса, лишь бы он не занимал слишком много места.
И в процедуре чтения сделать разделение по адресу:
если в адресном пространстве первой срам, то активируем первую
если в пространстве второй, то ,соответственно вторую.
В поисках истины человек развивается.
Re: Мелкие вопросы по МК и ПЛИС.
Насколько могу судить, (некоторые) цифровые осциллографы сделаны с раздельной памятью выборок, которая заполняется с АЦП через ПЛИС, и отдельно есть ОЗУ для МК, куда потом все переписывается и обрабатывается. Может, можно выкинуть какой-то финт, например сформировать в ПЛИСине мультиплексор, который будет наполнять SRAM, а потом подключать ее к МК, давая для МК сигнал готовности. Или, может, в каких-то МК есть режим DMA для ускорения загрузки ОЗУ... но это дилетантские рассуждения, т.к. с ПЛИС не работаю.
- КРАМ
- Друг Кота
- Сообщения: 25122
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
SmarTrunk писал(а):......Или, может, в каких-то МК есть режим DMA для ускорения загрузки ОЗУ... но это дилетантские рассуждения, т.к. с ПЛИС не работаю.
Таких МК очень много.
ДМА бывает двух типов: внутрицикловый и с захватом системной шины. Первый подразумевает специальную ОТДЕЛЬНУЮ внутрипроцессорную шину ДМА и двухпортовое ОЗУ. Второй использует общую шину и соответственно теряет время на остановки ядра во время загрузки ОЗУ от периферии.
Внутрицикловый ДМА имеется в PIC24HJ и dsPIC33F. Я использую достаточно недорогой dsPIC33F128MC802(804). Помимо ДМА там имеется 4 УВХ при АЦП, что позволяет СИНХРОННО преобразовывать данные с 4 каналов и упаковывать их в ОЗУ УПОРЯДОЧЕННО...
Правда из 16К ОЗУ только 2К являются двухпортовыми, остальная память ДМА недоступна. Но и этот объем дает широкие возможности.
Re: Мелкие вопросы по МК и ПЛИС.
Добрый Вечер! Если на входе 2,5В то что будет на выходе в регистрах ADCH и ADCL?
Код: Выделить всё
В МК ATmega8 имеется встроенный 10-битный АЦП. Что значит 10-битный?
Это значит что входное напряжение от GND до Uвх будет линейно разбито на 210 частей.
Минимальный код равен 0, максимальный 2^10 = 1023. Например, у нас максимальное
входное напряжение на входе МК составляет 5В. Значит шаг измерения составляет 5/1024=0.0049,
т.е. 4.9мВ (2,5/1024 = 2.4мВ) Измеренное напряжение преобразуется в 10-битное число и сохраняется в регистрах ADCL и ADCH.
Вот как преобразовать 2,4мВ в 10-битное число пока не знаю!- urry
- Сверлит текстолит когтями
- Сообщения: 1262
- Зарегистрирован: Пн дек 08, 2008 10:58:48
- Откуда: Винница
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Код: Выделить всё
Это значит что входное напряжение от GND до Uвх будет линейно разбито на 210 частей.
Минимальный код равен 0, максимальный 2^10 = 1023. Например, у нас максимальное
входное напряжение на входе МК составляет 5В. Значит шаг измерения составляет 5/1024=0.0049,
Что это было ???
Напряжение "шага" определяется напряжением Vref, частный случай, когда оно равно напряжению питания...
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Это значит что входное напряжение от GND до Uвх будет линейно разбито на 210 частей.
Откуда это число?
Минимальный код равен 0, максимальный 2^10 = 1023.
это правильно.Значение ацп при напряжении 2,5 вольт будет зависеть от источника опорного напряжения.
Таким образом для опорного напряжения +5в шаг будет
5/1024=0.0048828125 соответственно самое большое значение напряжения которое мы сможем отличить
это 5-0.0048875855=4.99511241в
либо 0.0048875855*1023=4.99511241в
все напряжения выше опорного будут показываться как 1023
получается немного неровно,но 2,5в при этом опорном +5в
2,5/0.0048875855=511 или 1FF в шестнадцатеричном коде.
ADCL=0xFF;
ADCH=0x01;
Если же выбрать внутренний источник опорного напряжения 2,56 в,
то шаг 2,56/1024 =0.0025в
максимальное напряжение 2.5575
2,5 при опорном 2,56
2,5/0.0025=1000 или 3E8 в шестнадцатеричном коде.
ADCL=0xE8;
ADCH=0x03;
читаем всегда сначала младший байт потом старший.
В поисках истины человек развивается.
Re: Мелкие вопросы по МК и ПЛИС.
Atmega 128 ,через dragon по ISP отладить можно или нет. Что-то не врублюсь - debug не запускается . fuse -включён
Re: Мелкие вопросы по МК и ПЛИС.
Только через JTAG. Интерфейс ISP не предназначен для отладки. In-System Programming по заглавным буквам. Дракон еще умеет по одному проводу отлаживать - DW (DebugWare Interface), но 128-я мега его не поддерживает, насколько я помню.ILYAUL писал(а):Atmega 128 ,через dragon по ISP отладить можно или нет.
С уважением,
Виктор.
Виктор.
- vitalik_1984
- Поставщик валерьянки для Кота
- Сообщения: 2482
- Зарегистрирован: Пт авг 27, 2010 05:57:06
- Откуда: Тюмень
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
ILYAUL писал(а):Atmega 128 ,через dragon по ISP отладить можно или нет. Что-то не врублюсь - debug не запускается . fuse -включён
Во первых непонятно в какой программе вы работаете...
Во вторых если вы не знаете как ставить биты в программе.
советую не пользоваться ничем другим, кроме AVR Studio там единственное где все логично понятно как точно фьюз биты сконфигурировать без заглядывания в ДШ
И вам уже сказали про ISP и дебаг вайр
В поисках истины человек развивается.
-
mainbord
- Родился
- Сообщения: 3
- Зарегистрирован: Чт май 31, 2012 15:23:17
- Откуда: Москва
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Здравствуйте. Имеется ПЛИС xilinx Spartan-3e. Необходимо заставить данную плату оцифровывать аудио сигнал и отправлять его на ЦАП в реальном времени (это нужно для дальнейшей обработки сигнала). АЦП и ЦАП на плате имеются, есть готовые реализации, найденные в интернете и написанные лично. Всё упирается в сложность, не могу до конца написать проект. Язык написания VHDL. Если есть люди, которые работали с этой платой или имеют представление как это можно сделать, напишите, пожалуйста. Всю документацию, материалы и наработки могу предоставить. Есть много мелких вопросов, поэтому, наверное, нет смысла их задавать здесь.
Я использовал для управления ацп и цап процессор picoblaze kspcm3. Не могу понять, как подключаются выходные и входные порты процессора к выводам на плате, и не разберусь с кодом на ассемблере для процессора.
Если ошибся темой, направьте в нужное русло.
Я использовал для управления ацп и цап процессор picoblaze kspcm3. Не могу понять, как подключаются выходные и входные порты процессора к выводам на плате, и не разберусь с кодом на ассемблере для процессора.
Если ошибся темой, направьте в нужное русло.
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Откровенно говоря не понимаю зачем там пикоблэйз...
По моему, достаточно было бы сформировать сигналы управления АЦП (один файл), сигналы управления ЦАП (второй файл) и связать эти два "блока" в файле верхнего уровня - ведь никакой обработки в ПЛИС не производите
По моему, достаточно было бы сформировать сигналы управления АЦП (один файл), сигналы управления ЦАП (второй файл) и связать эти два "блока" в файле верхнего уровня - ведь никакой обработки в ПЛИС не производите
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
-
mainbord
- Родился
- Сообщения: 3
- Зарегистрирован: Чт май 31, 2012 15:23:17
- Откуда: Москва
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
В дальнейшем предполагаю добавить обработку в ПЛИС, сейчас бы в этом разобраться. Мне показалось решение с процессором намного проще. Так как АЦП, ЦАП, и другие устройства которые можно потом задействовать (кнопки, экран, диоды), подключаются по последовательному SPI интерфейму, и описывать всё это на vhdl крайне долго, по моим прикидкам выйдет намного дольше чем на процессоре, но я новичок, могу ошибаться. К тому же примеры по подключению данных устройств есть на форуме xilinx, и ко всему есть документация, то есть с нуля писать не придётся.
- Meteor
- Друг Кота
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Для описания на VHDL надо думать не программками, а схемами.
Делать сдиговый регистр достаточно просто, например
MOSI<=Sh_rg(7);
Sh_rg(7 downto 1):=Sh_rg(6 downto 0);
Ну нехватает тут еще синхроимпульса - но дело недолгое
Делать сдиговый регистр достаточно просто, например
MOSI<=Sh_rg(7);
Sh_rg(7 downto 1):=Sh_rg(6 downto 0);
Ну нехватает тут еще синхроимпульса - но дело недолгое
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Мелкие вопросы по МК и ПЛИС.
Для МК ATmega8-16PI нужен кварц 4 МГц, а какой кварц нужен для МК ATmega32 ?
даешь высокое напряжение
Re: Мелкие вопросы по МК и ПЛИС.
а какой кварц нужен для МК ATmega32
А в даташите не пишут?
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Что значит "нужен"? Нужен на ту частоту, которая нужна вам. А не мк. МК лишь ограничивает частоту, смотрим по даташиту. Если же у вас задача применить один мк вместо другого, то меняем без проблем. В плане этих 4х МГц.
Docendo discimus
Re: Мелкие вопросы по МК и ПЛИС.
как подключить МК так чтобы можно было управлять эл.двигателем на 220Вольт?