• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!

Поиск по сайту

Результаты поиска по тегам 'can'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Световые эффекты и LED
    • Роботы и модели на ДУ-управлении
    • Автоматика
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Автомобильная электроника
    • Системы охраны и наблюдения. Личная безопасность
    • Питание
    • Электрика
    • Промышленная электроника
    • Ремонт
    • Металлоискатели
    • Измерительная техника
    • Мастерская радиолюбителя
    • Сотовая связь
    • Спутниковое ТВ
    • КВ и УКВ радиосвязь
    • Жучки
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • AVR
    • PIC
    • STM32
    • Arduino и Raspberry Pi
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Конкурсы сайта с призами
    • Сайт Паяльник и форум
    • Курилка
    • Технический английский (English)
    • Наши проекты для Android и Web
    • FAQ (Архив)
    • Личные блоги
    • Корзина
    • Вопросы с VK
  • ATX->ЛБП Переделки
  • Юмор в youtube Киловольты юмора
  • Надежность и группы продавцов Радиолюбительская доска объявлений exDIY
  • разные темы Переделки

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Местоположения

  • Пользователи форума

Группа


ICQ


Skype


Интересы


Город


Сфера радиоэлектроники


Оборудование

Найдено 8 результатов

  1. Основные обязанности: •проектирование, разработка и поддержка ПО для встраиваемых систем; •сопровождение кода и тестов; •документирование разрабатываемого ПО; Требования к кандидату: • опыт работы от 3 лет; • уверенное знание C; • опыт разработки встраиваемых приложений; • опыт работы с платформами на ARM-процессорах; • опыт работы с STM32; • опыт работы с ОСРВ (желательно FreeRTOS); • опыт работы с Keil, System Workbench; • опыт работы c ModBus, USB, CAN; Приветствуется: • опыт проектирования архитектур ПО; • знание Python; Условия: •трудоустройство по ТК РФ; •доход обсуждается с успешным кандидатом (от 60 тыс.руб.) •дистанционная работа, можно работать из дома; •выплаты заработной платы 2 раза в месяц Наш сайт: http://i-mt.net/ Моя почта: dezh@i-mt.net Мой мобильный: +7963 776 36 55 С уважением, Михаил.
  2. Доброе утро! Возник вопрос, по CAN протоколу! Bit stuffing - когда узел передает последовательно в шину 5 бит с одинаковым значением, то он добавляет шестой бит с противоположным значением. Принимающие узлы этот дополнительный бит удаляют. Если узел обнаруживает на шине больше 5 последовательных бит с одинаковым значением, то он генерирует ошибку Stuff Error . Вопрос вот в чем - нужно ли добавлять Stuff бит - если в поле CRC, с CRC[4]...CRC[0] будут все нули или все единицы? (на картинке просто пример кановского протокола - и это не пример пакета) Нет под рукой проверить, как аппаратно это работает! CAN-Bus-frame_in_base_format_without_stuffbits.svg
  3. Доброго дня. Помогите советом. Имеется блок управления климатом от ваз калина 2 и машина без can шины. блок обеспечивает связь и управление по отдельным проводам со всеми датчиками, моторедукторами заслонок и мотором вентилятора. но в его распиновке нет вывода под сингал включения муфты компрессора кондиционера. есть can hi и can low. можно ли это обойти и получить сигнал (любой полярности, постоянный при работе). можно подъпояться к кнопке, но кнопка это сигнал для мозгов климата, мозг так же сам может включать и выключать кондюк. если преобразователь в can это какая то стандартная микруха - помогите опознать ее. или как вариант преобразователь can в аналог обратно.
  4. Пытался настроить CAN для связи с устройством, для конфигурации CAN_BTR использовал онлайн калькулятор. После компиляции сразу было ясно что связи по CAN нет, при анализе сигнала видно что чистота пакетов из STM в пять раз ниже чем чистота из устройства. Может кто то помочь настроить инициализацию CAN через регистры. Камень STM32F407AVG Частота проца: 168 mHz; Необходимая скорость CAN: 500kBs Пины PB12, PB13. На данный момент функция инициализации выглядит так: void CAN_Init (void) { RCC->APB1ENR |= RCC_APB1ENR_CAN2EN; // enable clock for CAN2 GPIOB->MODER |= (0 << 24); //PB12 IN GPIOB->MODER |= (2 << 26); //PB13 OUT GPIOB->OTYPER |= (0 << 12); //OTYPE PUSH-PULL GPIOB->OTYPER |= (0 << 13); //OTYPE PUSH-PULL GPIOB->PUPDR |= (0 << 24); //PushUP-PushDOWN NO PP GPIOB->PUPDR |= (0 << 26); //PushUP-PushDOWN NO PP GPIOB->OSPEEDR |= (2 << 24); //PIN SPEED FAST GPIOB->OSPEEDR |= (2 << 26); //PIN SPEED FAST GPIOB->AFR[1] |= (9 << 20); //AlternateFunction AF9(CAN) GPIOB->AFR[1] |= (9 << 24); //AlternateFunction AF9(CAN) CAN2->MCR = (CAN_MCR_NART | CAN_MCR_INRQ); // init mode, disable auto. retransmission // Note: only FIFO 0, transmit mailbox 0 used CAN2->IER = (CAN_IER_FMPIE0 | CAN_IER_TMEIE); // FIFO 0 msg pending, Transmit mbx empty CAN2->BTR = 0x001c0014; } Настройки камня: /** * @brief System Clock Configuration * The system Clock is configured as follow : * System Clock source = PLL (HSE) * SYSCLK(Hz) = 168000000 * HCLK(Hz) = 168000000 * AHB Prescaler = 1 * APB1 Prescaler = 4 * APB2 Prescaler = 2 * HSE Frequency(Hz) = HSE_VALUE * PLL_M = (HSE_VALUE/1000000u) * PLL_N = 336 * PLL_P = 2 * PLL_Q = 7 * VDD(V) = 3.3 * Main regulator output voltage = Scale1 mode * Flash Latency(WS) = 5 * @param None * @retval None */
  5. Всем привет! озадачился проблемой мультиплексирования CAN шины в автомобиле. имеется контроллер шины CAN и две шины. Необходимо объединить эти две шины и при необходимости разъединять. \ Основные требования: минимальные габариты (микросхема) Поиски по просторам интернета ничего хорошего не дали.
  6. Проблема С Can В Stm32F042

    Доброго времени суток форумчане. Вторую неделю не могу запустить can на STM32F042. Инициализацию брал с STM32F0xx_Snippets_Package_V1.0.0 с примера работы для STM32F072. Пример скорее всего рабочий. Но процессор у меня в корпусе 20 ножек. По там нет кановских ножек PA_11 и PA_12. Их нужно ремапить на ноги PA_9 и PA_10. Во всем остальном вроде как инициализация должна подойти для моего процессора. Но осциллограф молчит . Инициализация вешается на цикле while((CAN->MSR & CAN_MSR_INAK)==CAN_MSR_INAK) { } Инициализация в loopback режиме. С каном только начал работать, поэтому мало что в нем понимаю. Во всем интернете не нашел не одного примера инициализации кроме приведенного выше для F0 линейки STM. Думаю может я ремапнул ноги как то не правильно или еще где какая детская ошибка ? В описании примера написано что на ноге PA12 я могу отследить, работает ли передача. Но увы… Привожу код инициализации, может кто чем поможет. Инициализация ног КАН __INLINE void Configure_GPIO_CAN(void) { RCC->AHBENR |= RCC_AHBENR_GPIOAEN; SYSCFG->CFGR1 |= SYSCFG_CFGR1_PA11_PA12_RMP; // Добавил ремап для ног PA_9, PA_10 GPIOA->MODER = (GPIOA->MODER & ~(GPIO_MODER_MODER11 | GPIO_MODER_MODER12))\ | (GPIO_MODER_MODER11_1 | GPIO_MODER_MODER12_1); /* (1) */ GPIOA->AFR[1] = (GPIOA->AFR[1] &~ (GPIO_AFRH_AFR11 | GPIO_AFRH_AFR12))\ | (4 << (3 * 4)) | (4 << (4 * 4)); } Инициализация Кана: __INLINE void Configure_CAN(void) { RCC->APB1ENR |= RCC_APB1ENR_CANEN; CAN->MCR |= CAN_MCR_INRQ; /* (1) */ while((CAN->MSR & CAN_MSR_INAK)!=CAN_MSR_INAK) /* (2) */ { } CAN->MCR &=~ CAN_MCR_SLEEP; /* (3) */ CAN->BTR |= CAN_BTR_LBKM | 2 << 20 | 3 << 16 | 5 << 0; /* (4) */ CAN->MCR &=~ CAN_MCR_INRQ; while((CAN->MSR & CAN_MSR_INAK)==CAN_MSR_INAK) /* (6) */ { } // Из цикла программа не выходит!!! GPIOA->ODR ^= GPIO_ODR_5; CAN->FMR = CAN_FMR_FINIT; /* (7) */ CAN->FA1R = CAN_FA1R_FACT0; /* (8) */ #if (FILTER_LIST) CAN->FM1R = CAN_FM1R_FBM0; /* (9) */ CAN->sFilterRegister[0].FR1 = CAN_ID2 << 5 | CAN_ID1 << (16+5); /* (10) */ #else CAN->sFilterRegister[0].FR1 = CAN_ID1 << 5 | CAN_ID_MASK << 16; /* (11) */ #endif CAN->FMR &=~ CAN_FMR_FINIT; /* (12) */ CAN->IER |= CAN_IER_FMPIE0; /* (13) */ NVIC_SetPriority(CEC_CAN_IRQn, 1); /* (16) */ NVIC_EnableIRQ(CEC_CAN_IRQn); /* (17) */ } Передача данных: Void TRANSMIT() { if ((CAN->TSR & CAN_TSR_TME0) == CAN_TSR_TME0) /* (1) */ { CAN->sTxMailBox[0].TDTR = 1; CAN->sTxMailBox[0].TDLR = CMD; CAN->sTxMailBox[0].TIR = (uint32_t)(CAN_ID << 21 | CAN_TI0R_TXRQ); /* (4) */ } } // Из Референсе мануал на STM32F0 Дефайны программы. #define CMD_TOGGLE (0xDA) #define CAN_ID_MASK (0xFF70U) #define CAN_ID1 (0x651U) #define CAN_ID2 (0x652U) #define FILTER_LIST (0)
  7. Can + Stm32 Помогите Разобраться

    Здравствуйте! Помогите пожалста начинающему. У меня отладочная плата на базе STM32f103RE Диодами помигал, прерывание по кнопке сделал, дисплей зажег. Нужно ковырять интерфейсы, до этого никогда не имел с ними дела, без подсказок мне сложно разобраться. Как работают примеры не понятно Для начала хочу хоть что-нибудь послать по CAN. Как я понял, посылки в CAN формируются без адреса, устройство само определяет получать ли ей посылку или отвергнуть. Сам кадр выглядит так: Не могу понять для себя последовательность действий при формировании кадра. Сейчас я это вижу примерно так: 1) Разрешаю тактирование портов ввода-вывода, CAN, альтернативных функций порта(в моем случае) 2) Настраиваю порты ввода-вывода. Tx - выход push-pull, Rx - input with pull-up/pull-down 3) Настраиваю CAN: -режим работы. к примеру ставлю нормал -выставляю baudrate. в регистр нужно заносить значение в герцах в шестнадцатеричной форме? -задаю длину посылки, выставляю RTR и IDE -что за регистр NVIC? и почему его нет в даташите, а в примерах он настраивается: NVIC_InitStructure.NVIC_IRQChannel = CAN1_RX0_IRQn; -собираю посылку и отправляю. на этом этапе тоже не понятно, посылка собирается с помощью массива? как отправить посылку? и еще пара вопросов по СИ: 1) void Init_RxMes(CanRxMsg *RxMessage); в скобках перечисляются входные параметры функции, что значит звездочка? и почему запятой нет? 2) uint8_t KeyNumber = 0x0; unit8_t - говорит о том, что число восьмибитное? 3) NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); здесь собирается структура и результат обрабатывается через NVIC_Init()? зачем тогда нужен символ "&"? простите за глупые вопросы
  8. Всем привет! Пытаюсь заставить работать CAN 1 , но пока все четно (( Да и не совсем пока я разобрался с stellarisware. помогите осилить ) Вроде бы раскурил пример для платы EK-LM3S8962. Вырезал то, что надо. Не понимаю, почему не работает? Что я упустил? И до удаления ненужных функций не работала (( Как я понял, пример был заточен на получение данных по CAN, потом данные изменялись и отправлялись в ответ. И так снова. Как вообще работает машина? Посылка должна уйти при вызове функции CANMessageSet ? Не надо там как то пинать еще? Я не стал подключать прерывания. Может это как то повлияло? Можете проверить, правильно ли я инициализировал CAN интерфейс? CAN.rar