Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
Добрый день, подскажите пожалуйста что такое Highspeed AD/DA Card?
Re: Мелкие вопросы по МК и ПЛИС.
Вот если выделить вопрошаемый текст, щелкнуть правой кнопкой мыши и в выпавшем списке кликнуть "Перевести выделенное", то получим в итоге что-то вроде "Высокоскоростной АЦП-ЦАП".
С вас за услуги переводчика + НДС 100 белорусских рублей
С вас за услуги переводчика + НДС 100 белорусских рублей
Re: Мелкие вопросы по МК и ПЛИС.
Пытаюсь разобраться с спящими режимами в атмега 8.
С режимом idle все получилось таким образом снизил потребление устройства с 33 мА до 28 мА в нормальном рабочем режиме.
Но если отключить подсветку и вывод на экране и крутить постоянно idle то потребление получается 22 мА
С режимом Powerdown не могу разобраться.
С начала проц вырубался и больше не возвращался но потребление становилось 12 мА.
Потом разобрался что Int1 в из такого режима может пробудить только когда
The low level of INT1 generates an interrupt request
Но не успевал заснуть сразу пробуждался. Тогда я вставил Delay в 5 сек и после чего я уже отпускал кнопку тогда менялся режим int1 и запускал Powerdown. Но проц возвращался из сна обратно и потреблял аж 32мА.
Потом выяснил что о в таймерах крутится. Уже в таймерах поставил проверку флага (переменной которую я задал для определения что я в powerDown) и в таймерах если этот флаг обнаруживается посылает в powerdown и не выполняются другие операции которые в обычном режиме вставлены. Но потребление аж 28-29мА. Отсюда могу предположить что он так и не входит в powerdown.
С режимом idle все получилось таким образом снизил потребление устройства с 33 мА до 28 мА в нормальном рабочем режиме.
Но если отключить подсветку и вывод на экране и крутить постоянно idle то потребление получается 22 мА
С режимом Powerdown не могу разобраться.
С начала проц вырубался и больше не возвращался но потребление становилось 12 мА.
Потом разобрался что Int1 в из такого режима может пробудить только когда
The low level of INT1 generates an interrupt request
Но не успевал заснуть сразу пробуждался. Тогда я вставил Delay в 5 сек и после чего я уже отпускал кнопку тогда менялся режим int1 и запускал Powerdown. Но проц возвращался из сна обратно и потреблял аж 32мА.
Потом выяснил что о в таймерах крутится. Уже в таймерах поставил проверку флага (переменной которую я задал для определения что я в powerDown) и в таймерах если этот флаг обнаруживается посылает в powerdown и не выполняются другие операции которые в обычном режиме вставлены. Но потребление аж 28-29мА. Отсюда могу предположить что он так и не входит в powerdown.
Re: Мелкие вопросы по МК и ПЛИС.
Разве то что Вы написали это не ADC/DAC ?
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
Что вас смущает?baghear писал(а):ADC/DAC ?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
Буквальный перевод "АЦ/ЦА карта". Функциональный блок, как, допустим, вставляемая в материнку видеокарта -- а не интегрированный в нее же видеовыход для монитора. В блоке этом размещены высокоскоростные АЦП - ЦАП .
Re: Мелкие вопросы по МК и ПЛИС.
укоротил выводы от порта LPT до 10см, CVAVR и uniprof (в режимах максимальной задержки Тормоз) увидели тиньку2313. Прочитал, прошил. Поменял фьюзы на заводские, после чего нормально стала читаться и в понипрог. Прошил нужной прошивкой, установил фьюзы на внешний кварц, но в устройстве тинька снова не заработала. (таймер чтота http://radiokot.ru/circuit/digital/home/59/).
Может ли быть нарушен чем-либо функционал мк? Можно ли его проверить тестовой прошивкой (нашел таковую на сайте getchip)?
Может ли быть нарушен чем-либо функционал мк? Можно ли его проверить тестовой прошивкой (нашел таковую на сайте getchip)?
Re: Мелкие вопросы по МК и ПЛИС.
В даташите Atmega 8 написано что когда переводится в idle или ADC noise reduction режиме тогда автоматически стартует АЦП.
После idle стартует после ADC noise reduction нет. Не могу понять в чем дело?
После idle стартует после ADC noise reduction нет. Не могу понять в чем дело?
Re: Мелкие вопросы по МК и ПЛИС.
Смущало то что то, что там нет буквы "С" AD/DA))))
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
AD/DA Cardbaghear писал(а):Смущало то что то, что там нет буквы "С" AD/DA
В железе не стартует или в симуляторе?amd9800 писал(а):После idle стартует после ADC noise reduction нет. Не могу понять в чем дело?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
читаю книжку про микроконтроллеры AVR
в одном месте написано что ячейка памяти ПЗУ - 2байта.
а в другом написано - объем памяти определяется в байтах,сколько ячеек памяти столько и байт
немного запутался
правильно ли что в ПЗУ ячейка 2 байта? в ОЗУ ячейка -1байт?
в одном месте написано что ячейка памяти ПЗУ - 2байта.
а в другом написано - объем памяти определяется в байтах,сколько ячеек памяти столько и байт
немного запутался
правильно ли что в ПЗУ ячейка 2 байта? в ОЗУ ячейка -1байт?
- Engineer_Keen
- Друг Кота
- Сообщения: 3868
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Мелкие вопросы по МК и ПЛИС.
креазот писал(а):правильно ли что в ПЗУ ячейка 2 байта? в ОЗУ ячейка -1байт?
Правильно. Дело в размере команд AVR. Они 16-и разрядные, поэтому и ПЗУ организована по 2 байта.
Из-за этого при доступе к отдельным байтам ПЗУ адрес метки, на которой они находятся данные приходится умножать на 2.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Re: Мелкие вопросы по МК и ПЛИС.
не пойму, как используется пространство ОЗУ, если отбросить регистры общего назначения и регистры ввода/вывода, как все отальное используется? все это пространство отдается под стек?
речь о AVR
речь о AVR
- КРАМ
- Друг Кота
- Сообщения: 25125
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
креазот писал(а):все это пространство отдается под стек?
речь о AVR
Все объявленные переменные и массивы переменных размещаются компилятором в ОЗУ.
РОНы для переменных не используются.
РОНы служат указателями, регистрами передачи значений переменных в функции, указателями стека, буфером данных при вычислениях.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
Почему же? Никто не мешает так делать.КРАМ писал(а):РОНы для переменных не используются.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- КРАМ
- Друг Кота
- Сообщения: 25125
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Мелкие вопросы по МК и ПЛИС.
Gudd-Head писал(а):Никто не мешает так делать.
В АСМе при быдлокодировании не мешает.
А компиляторы так не делают. Как правило не делают.
Возможны конечно исключения.
Например для локальных переменных при ограниченном их количестве...
Последний раз редактировалось КРАМ Чт фев 12, 2015 11:45:18, всего редактировалось 1 раз.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мелкие вопросы по МК и ПЛИС.
IAR AVR позволяет r4-r15 использовать в личных целях


-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Разъясните кто-нибудь порядок настройки PLL в STM32F10x? Что за чем следует? Найденные куски кода либо не включают HSE (регистр настраивается именно для работы с HSE, по факту работает HSI, либо не пееключается), либо не включают умножитель.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
HSI->PLL:
HSE->PLL:
Спойлер
Код: Выделить всё
RCC->CFGR |= RCC_CFGR_PLLMULL6; //HSI / 2 * 6 = 24 MHz
RCC->CR |= RCC_CR_PLLON; //enable PLL
while((RCC->CR & RCC_CR_PLLRDY) == 0) {} //wait till PLL is ready
RCC->CFGR &= ~RCC_CFGR_SW; //clear SW bits
RCC->CFGR |= RCC_CFGR_SW_PLL; //select PLL as system clock
while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_1) {} //wait till PLL is used
HSE->PLL:
Спойлер
Код: Выделить всё
RCC->CR |= RCC_CR_HSEON; //enable HSE
while((RCC->CR & RCC_CR_HSERDY) == 0) {} //wait till HSE is ready
RCC->CFGR |= RCC_CFGR_HPRE_DIV1 | //HCLK = SYSCLK
RCC_CFGR_PPRE2_DIV1 | //PCLK2 = HCLK
RCC_CFGR_PPRE1_DIV1; //PCLK1 = HCLK
RCC->CFGR &= ~RCC_CFGR_PLLMULL; //clear PLLMULL bits
RCC->CFGR |= RCC_CFGR_PLLSRC_PREDIV1 | //PLL source = PREDIV1
RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | //HSE / 2 = 4 MHz
RCC_CFGR_PLLMULL6; //4 * 6 = 24 MHz
RCC->CR |= RCC_CR_PLLON; //enable PLL
while((RCC->CR & RCC_CR_PLLRDY) == 0) {} //wait till PLL is ready
RCC->CFGR &= ~RCC_CFGR_SW; //clear SW bits
RCC->CFGR |= RCC_CFGR_SW_PLL; //select PLL as system clock
while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_1) {} //wait till PLL is used
-
Chettuser
Re: Мелкие вопросы по МК и ПЛИС.
Пользуюсь вот этим:
RCC_CFGR_SW_HSE - в этом случае работает PLL.
В случае записи вида:
RCC_CFGR_SW_PLL - в этом нет, работает только HSE.
Подмена вместо них RCC_CFGR_SW_0 или 1, на замену HSE и PLL так же результата не принесли.
Пользуюсь ЕмБлохом по причине слабого компа на работе. Хотя в данном случае это не имеет значения - CMSIS и SPL те же самые.
Спойлер
Код: Выделить всё
void Init_Clk()
{
FLASH->ACR |= FLASH_ACR_PRFTBE; //Включить буфер предварительной выборки
FLASH->ACR &= ~FLASH_ACR_LATENCY; //Очистить FLASH_ACR_LATENCY
FLASH->ACR |= FLASH_ACR_LATENCY_2; //Пропускать 2 такта
RCC->CFGR = 0;
[b] RCC->CFGR |= RCC_CFGR_SW_HSE; // Включаем SYSCLK от PLL ???
while ((RCC->CFGR & RCC_CFGR_SWS_HSE) == 1){}[/b]
RCC->CR &=~(RCC_CR_PLLON); // Отключаем PLL
while((RCC->CR & RCC_CR_PLLRDY) == 1){}
RCC->CFGR &=~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL); // Обнуление CFGR
RCC->CFGR |= RCC_CFGR_PLLSRC;
RCC->CFGR |= RCC_CFGR_PLLMULL16; // Умножить частоту PLL_MUL
RCC->CR |= RCC_CR_PLLON; // Запустить PLL
while((RCC->CR &RCC_CR_PLLRDY)==0){} // Ожидание готовности PLL
RCC->CFGR &= ~(RCC_CFGR_SW); // Очистить биты SW0 и SW1
RCC->CFGR |= RCC_CFGR_SW_PLL; // Тактирование с выхода PLL
while((RCC->CFGR & RCC_CFGR_SWS)!=0x08){} // Ожидание переключения на PLL
}RCC_CFGR_SW_HSE - в этом случае работает PLL.
В случае записи вида:
RCC_CFGR_SW_PLL - в этом нет, работает только HSE.
Подмена вместо них RCC_CFGR_SW_0 или 1, на замену HSE и PLL так же результата не принесли.
Пользуюсь ЕмБлохом по причине слабого компа на работе. Хотя в данном случае это не имеет значения - CMSIS и SPL те же самые.