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

Captain777

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

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

  • Посещение

Сообщения, опубликованные Captain777


  1. 24 минуты назад, tonyk_av сказал:

    Прошу прощения у sidy  за свой вопрос тут, но раз уж тут заговорили о преобразователях USB-CAN и софте для них, то какие преобразователи порекомендуют более опытные коллеги? Пока требования скромные: минимальная цена, отображение сообщений из сети, отправка сообщений.

     

    Обратите внимание на canhacker.

  2. Сдвиньте частоту немного в сторону. Имейте совесть. Хотя бы на 146.100.

    • 144,000-144,035 Первичная 0,5кгц Только для EME: CW 500w- 10w- 5w

    • 144,035-144,110 Первичная 0,5кгц Только для EME и МS: телеграфия (связи без предварительной договоренности 144,100 МГц) 500w- 10w- 5w

    • 144,035-144,110 Первичная 0,5кгц CW (вызывная частота 144,05 МГц) 50w- 10w- 5w

    • 144,110-144,150 Первичная 0,5кгц Только для EME: Цифровые узкополосные виды, (JT65 144,120-144,150 МГц), CW 500w- 10w- 5w

    • 144,110-144,150 Первичная 0,5кгц CW, цифровые узкополосные виды, (PSK31 вызывная частота – 144,138 МГц) 50w- 10w- 5w

    • 144,150-144,165 Первичная 3,0кгц Только для EME: SSB, CW 500w- 10w- 5w

    • 144,165-144,180 Первичная 3,0кгц Все цифровые виды, CW 50w- 10w- 5w

    • 144,180-144,360 Первичная 3,0кгц SSB (вызывные 144,200 МГц и 144,300 МГц), CW 50w- 10w- 5w

    • 144,180-144,360 Первичная 3,0кгц Только для МS: SSB (связи без предварительной договоренности - 144,195-144,205), CW 500w- 10w- 5w

    • 144,360-144,400 Первичная 3,0кгц только для MS: все цифровые виды (вызывная частота 144,370 МГц), CW, SSB 500w- 10w- 5w

    • 144,360-144,400 Первичная 3,0кгц Все цифровые виды, CW, SSB 50w- 10w- 5w

    • 144,110-144,150 Первичная 0,5кгц Только для EME: CW, цифровые узкополосные виды, (JT65 144,120-144,150 МГц) 500w- 10w- 5w

    • 144,110-144,150 Первичная 0,5кгц CW, цифровые узкополосные виды, (вызывная частота PSК31 – 144,138 МГц) 50w- 10w- 5w

    • 144,150-144,165 Первичная 3,0кгц Только для EME: SSB, CW 500w- 10w- 5w

    • 144,165-144,180 Первичная 3,0кгц Все цифровые виды, CW 50w- 10w- 5w

    • 144,180-144,360 Первичная 3,0кгц SSB (вызывные частоты: 144,200 МГц и 144,300 МГц, через метеоры 144,195-144,205 МГц 500 Вт для 1 категории), CW 50w- 10w- 5w

    • 144,360-144,400 Первичная 3,0кгц Все цифровые виды (вызывная частота через метеоры 144,370 МГц, 500 Вт для 1 категории), телеграфия, SSB 50w- 10w- 5w

    • 144,400-144,490 Первичная 0,5кгц Только маяки (CW и цифровые) 50w- 10w- 5w

    • 144,500-144,794 Первичная 25,0кгц Все цифровые виды (вызывные частоты: SSТV – 144,500 МГц RTTY – 144,600 МГц факс – 144,700 МГц АТВ - 144,525 и 144,750 МГц), (дуплекс: 144,630-144,660 МГц передача, 144,660-144,690 МГц прием), автоматические цифровые станции 50w- 10w- 5w

    • 144,794-144,990 Первичная 12,0кгц Цифровые виды (АПРС – 144,800 МГц) 50w- 10w- 5w

    • 144,990-145,194 Первичная 12,0кгц FM, только для ретрансляторов, прием, шаг 12,5 кГц 50w- 10w- 5w

    • 145,194-145,206 Первичная 12,0кгц FM, космическая связь 50w- 10w- 5w

    • 145,206-145,594 Первичная 12,0кгц FM, вызывная частота 145,500 МГц, ретрансляторы ранее записанных сообщений, шаг 12,5 кГц 50w- 10w- 5w Станциям радиолюбительской аварийной службы рекомендуется использовать частоту 145,45 МГц

    • Работа ретрансляторов ранее записанных сообщений на частоте 145,45 МГц и 145,5 МГц запрещается.

    • 145,594-145,7935 Первичная 12,0кгц FM, только для ретрансляторов, передача, шаг 12,5 кГц 50w- 10w- 5w

    • 145,7935-145,806 Первичная 12,0кгц FM 50 10 5 только для работы через спутники 145,806-146,000 Первичная 12,0 Все виды радиосвязи 50w- 10w- 5w только для работы через спутники.

  3. В 03.08.2022 в 23:30, PeterS сказал:

    Могу посмотреть, мне часто из Казани присылают на ремонт СДЭКом 3-4 дня (около 420р).

    У СДЕК сейчас акция "Посылочка". 350руб по России вместе с коробочкой.

  4. Было такое на GD32F105. Передача идет - приема нет. Вылечилось изменением порядка инициализации. STM при этом работал. После, одна прошивка заработала и на STM и на GD. Тоже самое и с USB было. 

  5. Я подключался на живом автомобиле к FD CAN. Там одновременно сосуществуют посылки стандартные и FD. Никто никому не мешает. FD принимает весь трафик, стандартный только стандартные посылки. Друг другу они не мешают.

    PS. Кому интересно - могу лог скинуть.

  6. 26.08.2021 в 11:49, andron_h сказал:

    У меня сейчас в один буфер от машины в панель, в другой из панели в машину. Думаете пропускать через один? Можно взглянуть на реализацию приема передачи, сама оброботка фильтрации и подмены данных мне не интересна. С контрольками под vag я разобрался там crc8H2F с дополнительным числом в зависимости от счетчика и ID.

    Настройка прерываний

    void NVIC_Config_CAN(void)
    {
      NVIC_InitTypeDef  NVIC_InitStructure;
    
      NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
     
      NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn;
      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0;
      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0;
      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
      NVIC_Init(&NVIC_InitStructure);
      
       /* Enable FIFO 0 message pending Interrupt */
      CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
      
      NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX1_IRQn;
      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0;
      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x1;
      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
      NVIC_Init(&NVIC_InitStructure);
    
       /* Enable FIFO 1 message pending Interrupt */
      CAN_ITConfig(CAN1, CAN_IT_FMP1, ENABLE);
    
      NVIC_InitStructure.NVIC_IRQChannel = CAN2_RX0_IRQn;
      NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x1;
      NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0;
      NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
      NVIC_Init(&NVIC_InitStructure);
      
       /* Enable FIFO 0 message pending Interrupt */
      CAN_ITConfig(CAN2, CAN_IT_FMP0, ENABLE);

     

    Прием от машины всех ненужных пакетов - передача в приборку

    void CAN1_RX0_IRQHandler(void)
    {
       if (CAN_GetITStatus(CAN1, CAN_IT_FMP0) != RESET)                 
        {
          CAN_Receive(CAN1, CAN_FIFO0, &Can1RxMessage);         // Читаем почту
          
          
          
          
                Can1TxMessage.StdId = Can1RxMessage.StdId;
                Can1TxMessage.ExtId = Can1RxMessage.ExtId;
                Can1TxMessage.RTR = Can1RxMessage.RTR;
                Can1TxMessage.IDE = Can1RxMessage.IDE;
                Can1TxMessage.DLC = Can1RxMessage.DLC;
                Can1TxMessage.Data[0] = Can1RxMessage.Data[0];
                Can1TxMessage.Data[1] = Can1RxMessage.Data[1];
                Can1TxMessage.Data[2] = Can1RxMessage.Data[2];
                Can1TxMessage.Data[3] = Can1RxMessage.Data[3];
                Can1TxMessage.Data[4] = Can1RxMessage.Data[4];
                Can1TxMessage.Data[5] = Can1RxMessage.Data[5];
                Can1TxMessage.Data[6] = Can1RxMessage.Data[6];
                Can1TxMessage.Data[7] = Can1RxMessage.Data[7];
                
    
                CAN_Transmit(CAN2, &Can1TxMessage);
                InitCan1RxMessage ();
        }
    }

    Прием нужных для изменения ID и отправка в приборку

    void CAN1_RX1_IRQHandler(void)
    {
      if (CAN_GetITStatus(CAN1, CAN_IT_FMP1) != RESET)                 
        {
          CAN_Receive(CAN1, CAN_FIFO1, &Can1Fifo1RxMessage);
          
          Can1Fifo1TxMessage.StdId = Can1Fifo1RxMessage.StdId;
          Can1Fifo1TxMessage.ExtId = Can1Fifo1RxMessage.ExtId;
          Can1Fifo1TxMessage.RTR = Can1Fifo1RxMessage.RTR;
          Can1Fifo1TxMessage.IDE = Can1Fifo1RxMessage.IDE;
          Can1Fifo1TxMessage.DLC = Can1Fifo1RxMessage.DLC;
          Can1Fifo1TxMessage.Data[0] = Can1Fifo1RxMessage.Data[0];
          Can1Fifo1TxMessage.Data[1] = Can1Fifo1RxMessage.Data[1];
          Can1Fifo1TxMessage.Data[2] = Can1Fifo1RxMessage.Data[2];
          Can1Fifo1TxMessage.Data[3] = Can1Fifo1RxMessage.Data[3];
          Can1Fifo1TxMessage.Data[4] = Can1Fifo1RxMessage.Data[4];
          Can1Fifo1TxMessage.Data[5] = Can1Fifo1RxMessage.Data[5];
          Can1Fifo1TxMessage.Data[6] = Can1Fifo1RxMessage.Data[6];
          Can1Fifo1TxMessage.Data[7] = Can1Fifo1RxMessage.Data[7];
                
        Тут все считаем и CRC тоже  
        
                        Can1Fifo1TxMessage.Data[0] = CrcSea;
                        Can1Fifo1TxMessage.Data[1] = CrcBuf[0];
                        Can1Fifo1TxMessage.Data[2] = CrcBuf[1];            // Фильтруемые байты
                        Can1Fifo1TxMessage.Data[3] = CrcBuf[2];
                        Can1Fifo1TxMessage.Data[4] = CrcBuf[3];
                        Can1Fifo1TxMessage.Data[2] = 0x00;            // Фильтруемые байты
                        Can1Fifo1TxMessage.Data[3] = 0x00;
                      }
                  }
                CAN_Transmit(CAN2, &Can1Fifo1TxMessage);
                InitCan1Fifo1RxMessage ();
        }
    }

    Со стороны приборки - все проще

    void CAN2_RX0_IRQHandler(void)
    {
       if (CAN_GetITStatus(CAN2, CAN_IT_FMP0) != RESET)                 
        {
          CAN_Receive(CAN2, CAN_FIFO0, &Can2RxMessage);         // Читаем почту
          
          //
                Can2TxMessage.StdId = Can2RxMessage.StdId;
                Can2TxMessage.ExtId = Can2RxMessage.ExtId;
                Can2TxMessage.RTR = Can2RxMessage.RTR;
                Can2TxMessage.IDE = Can2RxMessage.IDE;
                Can2TxMessage.DLC = Can2RxMessage.DLC;
                Can2TxMessage.Data[0] = Can2RxMessage.Data[0];
                Can2TxMessage.Data[1] = Can2RxMessage.Data[1];
                Can2TxMessage.Data[2] = Can2RxMessage.Data[2];
                Can2TxMessage.Data[3] = Can2RxMessage.Data[3];
                Can2TxMessage.Data[4] = Can2RxMessage.Data[4];
                Can2TxMessage.Data[5] = Can2RxMessage.Data[5];
                Can2TxMessage.Data[6] = Can2RxMessage.Data[6];
                Can2TxMessage.Data[7] = Can2RxMessage.Data[7];
                CAN_Transmit(CAN1, &Can2TxMessage);
                InitCan2RxMessage ();
               
        }
            
    }

     

  7. На HAL удалось только демоверсию сделать. В реальной машине (задача та же BMW G серия) получилось только на SPL. Поток данных от авто к панели значительно выше, чем в обратную сторону, поэтому правильно надо настроить приоритеты. Используйте два буфера FIFO - через один отправляете пакеты не фильтрованные, через второй по маске обрабатываете нужные ID. Не забываем про правильное вычисление контрольных сумм. Могу сказать, что задача эта далеко не такая простая - как кажется на первый взгляд. 

  8. Так а нельзя спросить там где покупаете? Вот один из продавцов кабеля прямо пишет про инструмент : "Для СВЧ кабеля MULTIFLEX 86-04 компания HUBER+SUHNER предлагает широкую гамму соединителей и необходимый для их монтажа инструмент."

  9. 4 часа назад, ovn сказал:

    В режиме CAN_MODE_NORMAL, уже не работает, смотрю логическим анализатором, на ножках тишина, приёма нет. 

    Вам надо иметь минимум два устройства с трансиверами, что бы в таком режиме работало. Пока физически шины не будет - ничего не заработает. Это не UART.

  10. 7 часов назад, JohnKorsh сказал:

    При соединении платы с ЖКИ дисплеем встречал соединения в виде столбика из чередующихся слоёв проводника и изолирующей прокладки. 

    Если не ошибаюсь, это называется "анизотропная токопроводящая резина".

  11. Я использовал "Клей теплопроводящий Радиал 2гр. Keller". Клеил радиаторы 20*20 на выходные транзисторы в плазменном телевизоре. Держится хорошо, точно теплопроводный )))) Демонтаж простой - поворачиваем радиатор на 90 градусов и все. )))

×
×
  • Создать...