Перейти к содержанию
    

vlad_new

Участник
  • Постов

    224
  • Зарегистрирован

  • Посещение

Весь контент vlad_new


  1. На STM32F4 То же было. Похоже они новый мэнуал выложили и тут же убрали. Я оттуда успел только калибровку Vref выдрать. 0x1FFF7A2A - значение short при 3,3V и температуре в 30С. Проверил. Не совпадает F3 и F4:( Нашел. Для F4 в электрических параметрах на STM32F427xx-STM32F429xx, хотя во всех F4xx присутствует :) VREFIN_CAL Raw data acquired at temperature of 30 °C VDDA = 3.3 V 0x1FFF 7A2A - 0x1FFF 7A2B TS_CAL1 TS ADC raw data acquired at temperature of 30 °C, VDDA= 3.3 V 0x1FFF 7A2C - 0x1FFF 7A2D TS_CAL2 TS ADC raw data acquired at temperature of 110 °C, VDDA= 3.3 V 0x1FFF 7A2E - 0x1FFF 7A2F
  2. Регистры калибровки STM32F4

    Потерял доку, где были описаны регистры и их адреса с колибровочными зоводскими значениями для VREF и температуры. Однодневный поиск по ST почему то ничего не дал.
  3. Проблема с STM32F107vc

    Если массив объявлен локально ( внутри функции), то не хватает глубины стека. 1.Увеличить стек или 2. Объявить массив глобальным или 3. Объявить массив локально статическим подставив static short v1[640]={}
  4. Я тут то же ковырялся с дырой для флеша в кейле. Ничего у меня с дыркой в регионе не вышло. Взял и тупо в ассемблерный файл, сразу после таблицы описания векторов, влепил SPACE(0x8000). Не красиво конечно, но времени не было.
  5. Тогда так: NVIC_PriorityGroup_0 - вытисняющих приоритетов нет. NVIC_PriorityGroup_4 - вроде то же не безопасно применять. В 3 ядре с этим были проблеммы. Ну не удается урвать 15 уровней, ну и фиг с ним. Значит, если я правильно понял, остается NVIC_PriorityGroup_3 (8 вытисняющих приоритета в 2 группах). Тогда в NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority я должен указывать приоритет от 0 до 7, а в NVIC_InitStructure.NVIC_IRQChannelSubPriority указывать всегда 0 или 1. Так будут работать 8 вытисняющих уровней?
  6. Перетаскиваю огромный проект с F3 на F4. Обновил KEIL. Старый проект был написан в кейловском стиле и c его визартами. Теперь приходится все переводить на стандартные библиотеки. И вот с приоритетами я тут здорово засел. У меня используется 8 вытисняющик друг друга приоритетов. Делал все вроде как по описанию, а получается все как то наоборот. Объясните плиз, как все же правильно задавать, к примеру, 15 вытисняющих приоритетов: NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3); Это вроде как схема разделения групп и подгруп. Вот так я получу свои 15 приоритетов? И что тогда здесь указывать? NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = ???; NVIC_InitStructure.NVIC_IRQChannelSubPriority = ???; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); И еще. В новом кейле, (в режиме отладки) окно Nested Vectored Interrupt Controller (NVIC) в поле Pryority показывает номера от 0 до 255. Раньше было от 0 до 15. Это меня совсем в тупик завело.
  7. Есть ограничение на скорость лапки в 50 мГц. Но если особо её нагружать на ёмкость не будите, то получите 14 нс.
  8. Спасибки. Значит сам дурак. Почаще по эрратам надо шарить. На до же именно ревизия Z. :(
  9. Разбирался в свое время с 99 лапой и решил сажать ее на VDD (+3,3В). Уже не помню почему так повелось, может потому что в дискавере она так по дефаулту стоит. Вроде не было проблем, но тут пришла партия чипов (KOR HP 309 ревизия Z), так они все стали делать мне к.з. по питанию. Стал разбираться, окозалось, если 99 лапу поднять, то чип начинает нормально работать. Может я какую эррату пропустил или еще что? Или все таки партия бракованная?
  10. Как освободить лапы от JTAG и оставить только 2 лапы SWD в STM32F4 ?
  11. Ну да. Мне тоже понравилось.Через указатель действительно красивее чем с секциями возиться. Всем спасибо.
  12. KEIL и BKP 4 килобайта

    Есть возможность объявлять статические переменные, массивы и структуры для STM32F4XX, что бы компилятор их определял в BKP память, но при этом не инициализировал. Сейчас я это делаю через структуру, объедененную с union. Вот и подумал может есть способ покрасивее.
  13. Keil 4.72

    Очевидно фатальные ошибки типа зависания под каким нибудь виндоус 8 или в виртуальной машине ;)
  14. На лапе точно можно получить 50 мгц - это я проверял. И то, что все равно везде ставят отдельные генераторы это я в курсе. Сам удивляюсь зачем. Могу только предположить, что 107 просто мог не тянуть, а 207 из за ерраты, а 407 тогда еще не было. Мне на днях привезут плату с депешкой и с 407. Вот и посмотрим что получится в RMII без внешнего генератора. Самому интересно. Хотя наверняка кто нибудь это уже пробывал сделать.
  15. А я то тут причем. Вопрос был быть или не быть! Ответ: - пациен скорее жив, чем мертв. Про подробный диагноз пациент не спрашивал. :) Да и все давно нарисовано. Берем схему кейловского демо борда с PHY и смотрим как там все тактируется. Там можно выбирать варианты тактирования.
  16. А с чего Вы решили, что надо умножать. Там делить надо либо на 2 либо на 4. На счет дерганья в F2 - это правильное замечание. Пусть автор F4 ставит. Хотя, как я уже писал и на F2 все работает, даже если там фронт и подергивается. Видимо в phy модеме все равно частота делится и ему начихать на это дрожание. На осциллоскопе выглядело все очень стабильным и без дрожания. Правда я уменьшал полосу лап до 50 мгц, иначе модем не всегда запускался, хотя у меня дешевый реалтек стоит, а не депешка.
  17. Не понятно что Вы этим хотели сказать. USB 48 мгц есть, В STM есть лапка, которая может программироваться на вывод частоты генератора. Используя кварц в 25 мгц можем запрограммировать ее на 25 или 50 мГц. Как раз под MII или RMII. У меня так все и работает. А про 168Мгц. это Вы придумали. Автор темы про это не писал. Что не так ?
  18. Запросто. К примеру для STM32F207 это выглядит так: *----------------------------------------------------------------------------- * System Clock source | PLL (HSE) *----------------------------------------------------------------------------- * SYSCLK(Hz) | 120000000 *----------------------------------------------------------------------------- * HCLK(Hz) | 120000000 *----------------------------------------------------------------------------- * AHB Prescaler | 1 *----------------------------------------------------------------------------- * APB1 Prescaler | 4 *----------------------------------------------------------------------------- * APB2 Prescaler | 2 *----------------------------------------------------------------------------- * HSE Frequency(Hz) | 25000000 *----------------------------------------------------------------------------- * PLL_M | 25 *----------------------------------------------------------------------------- * PLL_N | 240 *----------------------------------------------------------------------------- * PLL_P | 2 *----------------------------------------------------------------------------- * PLL_Q | 5 *----------------------------------------------------------------------------- * Flash Latency(WS) | 3 *----------------------------------------------------------------------------- * Prefetch Buffer | ON *----------------------------------------------------------------------------- * Instruction cache | ON *----------------------------------------------------------------------------- * Data cache | ON *----------------------------------------------------------------------------- * Require 48MHz for USB OTG FS, | Enabled * SDIO and RNG clock | *----------------------------------------------------------------------------- Для F4 надо просто пересчитать. Короче кварц в 25 мГц спосет USB и Ethernet одновременно.
  19. Поставте в while несколько __nop(). Дайте DMA немножко больше тактов на передачу данных. Может все и будет нормально, если перефирию слишком часто не дергать. Ну так просто для интересу. К стате, чего Вы к таким скоростям ADC привязались? Сигма дельта, который Вы хотите на таких скоростях не работает.
  20. STM32F4 + SPI FLASH MX25L256

    Положено подтягивать через 2 кОм.
  21. Чего тут предполагать, когда АЦП и сторожевик сидят на одной шине. У F3 это вроде бы AHB1 (ну не помню точно, да это и не важно).
  22. M3 делит шину между ядром и ДМА с коэффициентом 1:3. Как они делятся в М4 незнаю. Читать надо.
  23. При вашей скорости в 64кбайта вам внешняя оперативка не нужна. По спецификации операция записи на SD может занимать до 250мс. Это в худшем случае. Реальное время записи на современную карточку 4 класса не превышает 5о мс. Ваша программа должна обеспечивать буферизацию данных как минимум на это время. Следовательно надо 2 буфера по 16кило. На всякий пожарный сделайте 2 буфера по 32 кило. Что касается кол-ва циклов перезаписи, то они не зависят от объема ваших буферов, поскольку их колличество определяется внутренним механизмом карточки ( колличеством стираний блоков ). Естественно при условии, что вы не будите каждый раз закрывать файл все должно хватить с большим запасом.
  24. Вылетают ATMega 8

    Все прочитал. Рекомендации осмыслил. Пошел разводить плату. Всем большое спасибо.
×
×
  • Создать...