Jump to content

    

Vladimir_T

Свой
  • Content Count

    524
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Vladimir_T

  • Rank
    Vladimir_T

Recent Profile Visitors

3268 profile views
  1. По RS422

    Все так! На объекте масса разномастной аппаратуры, мое беспокойство вызвано только возможными ошибками при подключении. Скорее всего все будет как надо - буду пробовать.
  2. По RS422

    Хочу всех поблагодарить за ответы. Именно такая ситуация и сложилась - для ЖД локомотива делается прибор. Гальваноразвяку RS422 сделал, питание от бортовой сети через DC/DC, экранирование предусмотрено, соединение корпусами есть, а вот соединять напрямую земли - просто боязно! Нужно мне еще ГОСТы изучать...
  3. По RS422

    Здравствуйте, уважаемые коллеги! Подскажите для RS422 обязательно соединять устройства со общему проводу GND? Где-то на схемах он есть, а где-то его нет? Почему не достаточно штатных дифференциальных сигналов AB и YZ?
  4. Вот теперь - точно я увяз! То, о чем вы пишете - это отдельный огромный пласт науки и технологий. Работали у нас Специалисты по данному направлению, да только их уже нет, остались лишь огромная библиотека и масса кристаллов для акустооптики.
  5. Эх! Во я вляпался! Эти датчики, как мне пояснили из Мураты только для парковочных систем авто. Извлек из промышленного дальномера DUS-16 датчик, подключил в свою схему и все заработало, как надо! Но этот датчик без маркировки и потому не могу знать его параметров и условий эксплуатации.
  6. Здравствуйте, хочу спросить по диаграмме направленности ультразвукового датчика фирмы Murata MA58MF14-7N. Собрал типовую схему для этого датчика, работает схема нормально. Не нормально только с диаграммой: пока мишень (стальная крашенная крышка корпуса от ПК) находится строго перпендикулярно оси излучения датчика, то эхо сигнал чудесный! Как только мишень под углом более 2-3 градусов, дистанция 6м - эхо пропадает! На датчик установил рупор - угол 15 град, длина 200мм из листового алюминия. В чем может быть дело? Промышленный ультразвуковой дальномер с подобным рупором не чувствителен даже к большим заклонам мишени. MA58MF14-7N.pdf
  7. stm32f407 SPI обнаружил косяк

    Уважаемые коллеги, прочел материалы по данной теме SPI в STM32F4xx, но прежде все "неточности" работы SPI обнаружил у себя на MCU STM32F410. Мастером является STM32F405 , а ведомым STM32F410. На обоих процессорам обмен производится через прерывания. У мастера обмен: прием/передача без ошибок. А ведомый ведет себя так: принимает без ошибок, а вот передает - с ошибками! Но главное, что пока идет прием одного байта, он умудряется несколько раз вызвать прерывание по опустошению буфера TX. Код обработчика простой, инициализация также. Может будут какие-либо мысли - поделитесь со мной, пожалуйста. Идея обмена проста. В фоновом режиме получаем последовательность и в также заполняем буфер передатчика: опустел буфер, взвелся флаг TXE в SPI->SR, вырабатывается прерывание и в буфер передатчика заносим очередное значение. Но когда начинается обмен, то флаг TXE появляется чаще RXNE, хотя они должны следовать один после другого. Потому тестовые счетчики Cnt1 и Cnt2. SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; //Config SPI Protocol SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_NSS = SPI_NSS_Hard; // SPI_InitStructure.SPI_Mode = SPI_Mode_Slave; SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; // High SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; // SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; // SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; // 16 SPI_Init(SPI1, &SPI_InitStructure); SPI_Cmd(SPI1, ENABLE); SPI_CalculateCRC(SPI1, DISABLE); SPI_SSOutputCmd(SPI1, DISABLE); Cnt_Tx = Cnt_Rx =0; SPI_I2S_ITConfig(SPI1, SPI_I2S_IT_RXNE, ENABLE); SPI_I2S_ITConfig(SPI1, SPI_I2S_IT_TXE, ENABLE); /***************************************************************************** SPI1_IRQHandler (); ******************************************************************************/ TControl *pCtrl = &Control; u32 Cnt1 =0, Cnt2=0, Cnt3=0; __irq void SPI1_IRQHandler(void) { if (SPI_I2S_GetITStatus(SPI1, SPI_IT_TXE)) { SPI1->DR = *pOut_Buff++; if (++Cnt_Tx == Cnt_Pack) { Cnt_Tx = 0; Cnt1 ++; // For Test pOut_Buff = (u8*)&SPI_USonic_Out; // Init pointer } } if (SPI_I2S_GetITStatus(SPI1, SPI_IT_RXNE)) { *pIn_Buff++ = SPI1->DR; if (++Cnt_Rx == Cnt_Pack) { Cnt_Rx = 0; Cnt2++; // For Test pCtrl-> Link_SPI = True; // Link is Ready pIn_Buff = (u8*)&SPI_USonic_In; // Init pointer } } } // SPI1_IRQHandler ();
  8. Про HardFault

    Спасибо Всем за помощь! Дело было в настройках размеров ОЗУ. Scatter load пытал инициализировать массив, размер которого для 405 был уже предельным, а для 410 совсем запредельный!
  9. Про HardFault

    Здравствуйте, уважаемые программисты, подскажите где мне искать решение? Как написано в описании STM32F410R8 программно абсолютно совместим с STM32F405RGT8, на котором успешно работает проект. Но когда этот же проект из Keil 4.70 загружаю d STM32F410, после запуска процессор улетает на HardFault из Startup. Все проверил карты памяти одинаковы, стеки настроены. В отладчике ловлю-ловлю вижу, что LR = 0xFFFFFFF9, почему так? Может для STM32F410 нужен другой Startup, тогда где его взять?
  10. Вопрос о программировании Flash STM32F405

    Сигнал NRST формируется автоматически из программатора ULink. Огромное вам спасибо! Долго бы еще копался без вашей помощи! Интуитивно я клацал этими флажками, но бессистемно, потому ничего не получалось!
  11. Вопрос о программировании Flash STM32F405

    С сигналом NRST стал процессор программироваться всегда, но отладчик не стартует, дает такое сообщение Keil: Cannot access Memory *** error 57: illegal address (0x08000000) К сожалению у меня в наличии платы, которые были до этого запрограммированы через BootLoader в цехе. Не пойму, что такое с ними произошло, что SWD с этими процессорами не дружит... Был ли у кого-либо опыт программирования поочередно: когда через BootLoader, а когда через SWD?
  12. Вопрос о программировании Flash STM32F405

    Подскажите, пожалуйста, сигнал NRST сброса процессора обязательно нужно задействовать при использовании SWD? Или можно без него, т.е. обойтись минимально возможным количеством сигналов: SWDIO, SWCLK, GND? Вопрос возник из-за того, что часто от Keil имею ошибку доступа в Flash/
  13. Вопрос о программировании Flash STM32F405

    Утилитой STMFlashLoader (ST) снял все защиты: чтение/запись. И все заработало! Спасибо всем за полезные советы!
  14. Вопрос о программировании Flash STM32F405

    Проверил, все выводы настроены по умолчанию, на SWD. SDK Keil, программатор Ulink 2 (фирменный), сообщение при загрузки: ULINK: Flash Timeout.Reset Target and try it again. uVision: Error.Flash DownLoaded Error Подключил программатор JLink 7, тот же самое - не программируется. Пробовал найти на сайте Segger утилиту JFasher, но для JLink 7 не нашел.
  15. Вопрос о программировании Flash STM32F405

    Действительно, этот момент нужно тщательнее просмотреть!