Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
baghear
Опытный кот
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение baghear »

Добрый день, подскажите пожалуйста что такое Highspeed AD/DA Card?
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Jack_A »

Вот если выделить вопрошаемый текст, щелкнуть правой кнопкой мыши и в выпавшем списке кликнуть "Перевести выделенное", то получим в итоге что-то вроде "Высокоскоростной АЦП-ЦАП".
С вас за услуги переводчика + НДС 100 белорусских рублей :)
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение amd9800 »

Пытаюсь разобраться с спящими режимами в атмега 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.
Аватара пользователя
baghear
Опытный кот
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение baghear »

Разве то что Вы написали это не ADC/DAC ?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

baghear писал(а):ADC/DAC ?
Что вас смущает?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Jack_A »

Буквальный перевод "АЦ/ЦА карта". Функциональный блок, как, допустим, вставляемая в материнку видеокарта -- а не интегрированный в нее же видеовыход для монитора. В блоке этом размещены высокоскоростные АЦП - ЦАП .
Аватара пользователя
druzhok
Встал на лапы
Сообщения: 89
Зарегистрирован: Чт янв 31, 2013 18:13:50
Откуда: Таганрог

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение druzhok »

укоротил выводы от порта LPT до 10см, CVAVR и uniprof (в режимах максимальной задержки Тормоз) увидели тиньку2313. Прочитал, прошил. Поменял фьюзы на заводские, после чего нормально стала читаться и в понипрог. Прошил нужной прошивкой, установил фьюзы на внешний кварц, но в устройстве тинька снова не заработала. (таймер чтота http://radiokot.ru/circuit/digital/home/59/).
Может ли быть нарушен чем-либо функционал мк? Можно ли его проверить тестовой прошивкой (нашел таковую на сайте getchip)?
amd9800
Опытный кот
Сообщения: 822
Зарегистрирован: Вс июн 02, 2013 12:23:03

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение amd9800 »

В даташите Atmega 8 написано что когда переводится в idle или ADC noise reduction режиме тогда автоматически стартует АЦП.
После idle стартует после ADC noise reduction нет. Не могу понять в чем дело?
Аватара пользователя
baghear
Опытный кот
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение baghear »

Смущало то что то, что там нет буквы "С" AD/DA))))
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

baghear писал(а):Смущало то что то, что там нет буквы "С" AD/DA
AD/DA Card
amd9800 писал(а):После idle стартует после ADC noise reduction нет. Не могу понять в чем дело?
В железе не стартует или в симуляторе?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
креазот
Встал на лапы
Сообщения: 135
Зарегистрирован: Ср фев 04, 2015 21:08:59

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение креазот »

читаю книжку про микроконтроллеры AVR
в одном месте написано что ячейка памяти ПЗУ - 2байта.
а в другом написано - объем памяти определяется в байтах,сколько ячеек памяти столько и байт
немного запутался
правильно ли что в ПЗУ ячейка 2 байта? в ОЗУ ячейка -1байт?
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Engineer_Keen »

креазот писал(а):правильно ли что в ПЗУ ячейка 2 байта? в ОЗУ ячейка -1байт?

Правильно. Дело в размере команд AVR. Они 16-и разрядные, поэтому и ПЗУ организована по 2 байта.
Из-за этого при доступе к отдельным байтам ПЗУ адрес метки, на которой они находятся данные приходится умножать на 2.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
креазот
Встал на лапы
Сообщения: 135
Зарегистрирован: Ср фев 04, 2015 21:08:59

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение креазот »

не пойму, как используется пространство ОЗУ, если отбросить регистры общего назначения и регистры ввода/вывода, как все отальное используется? все это пространство отдается под стек?
речь о AVR
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25124
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

креазот писал(а):все это пространство отдается под стек?
речь о AVR

Все объявленные переменные и массивы переменных размещаются компилятором в ОЗУ.
РОНы для переменных не используются.
РОНы служат указателями, регистрами передачи значений переменных в функции, указателями стека, буфером данных при вычислениях.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

КРАМ писал(а):РОНы для переменных не используются.
Почему же? Никто не мешает так делать.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25124
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение КРАМ »

Gudd-Head писал(а):Никто не мешает так делать.

В АСМе при быдлокодировании не мешает.
А компиляторы так не делают. Как правило не делают.
Возможны конечно исключения.
Например для локальных переменных при ограниченном их количестве...
Последний раз редактировалось КРАМ Чт фев 12, 2015 11:45:18, всего редактировалось 1 раз.
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение oleg110592 »

IAR AVR позволяет r4-r15 использовать в личных целях
Изображение
Chettuser

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Разъясните кто-нибудь порядок настройки PLL в STM32F10x? Что за чем следует? Найденные куски кода либо не включают HSE (регистр настраивается именно для работы с HSE, по факту работает HSI, либо не пееключается), либо не включают умножитель.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Леонид Иванович »

HSI->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: Мелкие вопросы по МК и ПЛИС.

Сообщение Chettuser »

Пользуюсь вот этим:
Спойлер

Код: Выделить всё

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 те же самые.
Ответить

Вернуться в «Разные вопросы по МК»