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

Pridnya

Свой
  • Постов

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

  • Посещение

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


  1. Нужно "Прошивка должна быть подписана цифровой подписью в соответствии с X509v3. Другие сертификаты не допускаются". И трафик при обновлении прошивки должен шифроваться. Получается, что прошивка должна иметь цифровую подпись, наверное, для проверки подлинности. Обмен между приложением и девайсом должен быть зашифрован. Похоже, что девайс принимает прошивку, расшифровывает её, проверяет подпись (подлинность прошивки) и обновляется.
  2. Диагностическое приложение для ПК генерирует сертификат X509v3 для пользователя c Login Password (кто запустил на ПК диагностическое приложение) - получили файл сертификата. Как закрытым ключом подписать свой файл bin? И где взять этот закрытый ключ? Предполагается, что открытый ключ известен всем экземплярам (приложениям для ПК). PS: Открытый и закрытый ключ используется в алгоритмах асимметричного шифрования, а в моем случае прошивка шифруется алгоритмом симметричного шифрования - один ключ, закрытый.
  3. Всем привет! Есть прошивка для микроконтроллера - файл *.bin полученный из *.hex, она встраивается в проект диагностического приложение для ПК - как файл ресурса, проект собирается с последней версией прошивки и после запуска диагностического приложения на ПК можно обновить прошивку в девайсе через интерфейс USB. Появилось требование "файл прошивки должен быть подписан сертификатом x509v3". Как это сделать?
  4. А уточнить можете? В данный момент прием пакетов более 64-х байт выполняю склейкой пакетов по 64 байта. 64+64=128, 64+32=96. Каждый раз при вызове функции копирую фрагмент данных в другой массив. #define APP_RX_DATA_SIZE 64 #define APP_TX_DATA_SIZE 128 uint8_t UserRxBufferFS[APP_RX_DATA_SIZE]; uint8_t UserTxBufferFS[APP_TX_DATA_SIZE]; uint8_t UserRxBuffer[256]; uint8_t UserTxBuffer[256]; uint16_t UsbRxCtr = 0; uint16_t UsbLenCtr = 0; static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) { /* USER CODE BEGIN 6 */ USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &UserRxBufferFS[0]); USBD_CDC_ReceivePacket(&hUsbDeviceFS); memcpy(UserRxBuffer + (64*UsbRxCtr), UserRxBufferFS, *Len); UsbRxCtr++; UsbLenCtr += (*Len); return (USBD_OK); /* USER CODE END 6 */ }
  5. STM32CubeMX USB CDC CDC_Receive_FS

    Здравствуйте, уважаемые разработчики! Функция принимающая данные вызывается каждый раз при приеме 64-х байт. Если принимается пакет из 128 байт, то она вызывается дважды, при этом при второй пакет из 64-х байт записывается с начала буфера UserRxBufferFS. Я предполагал, что APP_RX_DATA_SIZE 128 позволит принимать пакеты до 128 байт. #define APP_RX_DATA_SIZE 128 #define APP_TX_DATA_SIZE 128 uint8_t UserRxBufferFS[APP_RX_DATA_SIZE]; uint8_t UserTxBufferFS[APP_TX_DATA_SIZE]; static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len) { /* USER CODE BEGIN 6 */ USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &UserRxBufferFS[0]); USBD_CDC_ReceivePacket(&hUsbDeviceFS); return (USBD_OK); /* USER CODE END 6 */ } Функция передачи корректно передает 128 байт: memcpy(UserTxBufferFS, "01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH01234567ABCDEFGH", 128); Stat = CDC_Transmit_FS((uint8_t*)UserTxBufferFS, 128); Вопрос к функции приёма. Где я косячу?
  6. System Viewer File

    Здравствуйте! Можно ли как-то отредактировать файл STM32***.SFR, чтобы в нем появились недостающие регистры (нет регистров ADC, RCC, FDCAN)?
  7. Вот поэтому я и прошу совета, т.к. в описании на ULINK-и разных версий написано "поддержка Cortex M", "настраиваемые пользователем алгоритмы программирования FLASH...", но это относится к M0,M3,M4, а меня интересует M23. Может, на форуме есть разработчики, использующие ULINK для какого-нибудь Cortex-M23 (а желательно для Renesas RA2L1).
  8. Keil ULINK & Renesas RA2L1 Group (Cortex-M23)

    Здравствуйте, уважаемые разработчики! Интересует вопрос, Keil ULINK поддерживает отладку и программирование микроконтроллеров из серии RA2L1 (Cortex M23)? Renesas E2 Lite поддерживает, но его нет в списке отладчиков, в Keil. На данный момент остается только Segger JLink (версия 7.23). Кто что посоветует?
  9. Здравствуйте, уважаемые разработчики! Интересует вопрос, Keil ULINK поддерживает отладку и программирование микроконтроллеров из серии RA2L1? Renesas E2 Lite поддерживает, но его нет в списке отладчиков, в Keil. На данный момент остается только Segger JLink (версия 7.23). Кто что посоветует?
  10. STM32F4 I2S DMA

    Помоим подсчетам модуль I2S STM32F407 не может выдать частоту MainClock 49.152 MHz из-за ограничений на значения делителя и верхнего значения частоты I2SCLOCK <= 192 MHz. Минимальный делитель равен 4, а верхнее значение частоты I2SCLOCK <= 192 MHz. Или я не прав? Наверное, поэтому нужно использовать внешний генератор MainClock 49.152 MHz.
  11. STM32F4 I2S DMA

    От внешнего кварцевого генератора подаете сигнал на вход mclk I2S Slave?
  12. STM32F4 I2S DMA

    49.152 MHz = 1024 * Fs, где Fs=48kHz, но судя по описанию на STA333W, режим 1024*Fs не поддерживается микросхемой (я приводил таблицу в начале топика), поддерживаются режимы 32-768, поэтому не понятно, какая частота должна подаваться на вход ХTI. Сейчас частота XTI кратна Fs: XTI=256*Fs=12.288 MHz, где Fs=48kHz, но работают два канала из четырех, левый 200 Гц, правый 100 Гц. STM32F407 I2S умеет выдавать Fs*256. А в этом описании есть два термина external clock и internal clock (49.152 MHz for Fs 48 kHz) и еще к чему-то PLL упоминается, что предполагает кратность частот (подаем одну - получаем другую).
  13. STM32F4 I2S DMA

    Внутреннего I2S PLL вполне хватает для некторых комбинаций частот. Не очень понятно, какую частоту нужно подавать на вход XTI STA333W. Работает (два канала из четырех) только от XTI=12.288 MHz = Fs*256, где Fs=48kHz, 16 бит на канал. Т.е. частоты на входах получаются такие: XTI = 12.288 MHz = Fs * 256. BCKI = 1.536 MHz = Fs * 32, где 32 бита на два канала. LRCKI = Fs = 48 kHz. Fpwm = 384kHz = Fs *8. А в документации на STA333W написано, что для Fs = 48 kHz нужна частота 49,152 MHz. Вот здесь совсем не понятно, почему 49.152 MHz и вообще не описаны поддержиаемые частоты XTI, BCLKI. Никто не мешает обрабатывать сэмплы через один, достаточно написать свои обработчики. Если данные приходят не от I2S, то нужно собирать их в буфер.
  14. STM32F4 I2S DMA

    Да, это одна из особенностей реализации I2S в STM32F407. Получается что два буфера данных нужно слить в один с чередованием данных и затем отправить в I2S через DMA. А иначе как разработчики микроконтроллера предполагали использовать режим I2S DMA? Пока только так и работает. Вот в STM32F427 обнаружил SAI (Serial audio interface), нужно его посмотреть.
  15. STM32F4 I2S DMA

    В STM32F4 есть интерфейсы для передачи аудио: STM32F407 I2S, в STM32F427 I2S и SAI (Serial audio interface). Вообще интерфейс I2S в STM32F4 поддерживает режим MainClock = 256 × Fs; (Fs is the audio sampling frequency), но фирма STMicroelectronics производит микросхемы Digital Terminal Audio (таблица из документации), у которых эти множители разные, от 32*Fs до 768*Fs. И у STM32F407 есть ограничения на настройку I2S PLL, например, для поддержки некоторых частот придется использовать кварц 6.144 МГц, 12.288 МГц и другие, т.к. у самих микросхем Digital Terminal Audio есть еще дополнительные требования к тактовой частоте MainClock. Т.е. при использовании кварца на 8 МГц не удается настроить I2S PLL на частоту 49.152 МГц.
  16. STM32F4 I2S DMA

    Здравствуйте! Master соединен со Slave, по интерфейсу передаются данные двух каналов (левого и правого) с использованием DMA, но для этого создается новый буфер двойного размера в котором данные каналов чередуются. Правильная ли это реализация I2S + DMA или есть способ проще? Вообще, не очень понятно, как предполагалось создавать двойной буфер чередующихся данных. Может быть с использование DMA memory-tomemory с инкрементом адреса на два? Или как?
  17. Здравствуйте, уважаемые специалисты! По типовой схеме собран аудиоусилитель, микросхема STA333W. Микросхема имеет два интерфейса I2C и I2S, по первому интерфейсу все регистры микросхемы пишутся и читаются, а по интерфейсу I2S микросхема получает аудиопоток (48 кГц, 2 канала по 16 бит). Удалось частично запустить микросхему - работают два канала из четырех, 1A и 2A, каналы 1B и 2B выдают минимальный ШИМ (т.е. работает половина левого канала и половина правого). При этом тактовые частоты на линиях интерфейса I2S следующие: XTI = 12.228 MHz; (Fs*256) BCLKI = 1.53 MHz; LRCLKI = Fs = 48 kHz; А в техописании на микросхему написано: The STA333W supports sample rates of 32 kHz, 44.1 kHz, 48 KHz, 88.2 kHz, 96 kHz, 176.4 kHz, and 192 kHz. Therefore the internal clock is: 32.768 MHz for 32 kHz 45.1584 MHz for 44.1 kHz, 88.2 kHz, and 176.4 kHz 49.152 MHz for 48 kHz, 96 kHz, and 192 kHz The external clock frequency provided to the XTI pin must be a multiple of the input sample frequency (f S ). Вроде как есть два термина external clock и internal clock, получается что микросхема из внешнего тактового сигнала XTI=12.228 MHz формирует внутренний сигнал PLL=12.22*4=49.152 MHz? Или на вход XTI нужно подавать 49.152 MHz? Если подать на вход XTI частоту 49.152 МГц, то на выходе микросхемы вообще отсутствуют импульсы.
  18. Здравствуйте! Подскажите пожалуйста, совместима ли топлогия Full Bridge Phase-Shifted с режимом Peak Current Control? Оба режима реализованы в микроконтроллере STM32F3. По отдельности работают, для Full Bridge Phase-Shifted фазовый сдвиг меняю в прерывании от таймера TIM1, т.е. программно, а Peak Current Control работает в случае однофазного или двухфазного повышающего преобразователя (для ограничения тока используется компаратор COMP2). Интересует вопрос совместимости.
  19. Спасибо за участие! С TMS не работал, ознакомлюсь.
  20. Здравствуйте! Peak Current Control реализовал на однофазном и двухфазном повышающем конвертере. Full Bridge Phase Shifted реализовал без Peak Current Control, в преывании от таймера TIM1 меняю фазовый сдвиг между сигналами. Подскажите, пожалуйста, совместимы ли Full Bridge Phase Shifted и Peak Current Control с использованием этого микроконтроллера? Никак не получается совместить.
  21. А я туплю, почему она есть только в некоторых схемах, которые я раньше не встречал. И номиналы у RC у разных производителей разные. Вообще в микросхеме есть soft-start и в типовом варианте включения такой цепочки нет, поэтому я и не сообразил. Оказывается для реализации soft-start (удлинения что ли ? ) нужно еще и эту цепь добавлять. Поэкспериментирую. Спасибо!
  22. Здравствуйте! Подскажите пожалуйста назначение RCD цепи возле TL431. Уже у нескольких производителей видел такую цепочку, в Application Note, но назначение понять не могу, добавил к своей схеме (прямоходовый импульсный преобразователь) - разницы не увидел. Когда эта цепочка работает, может, я не создаю такой режим?
  23. Спасибо! Теперь понятно.
×
×
  • Создать...