Jump to content

Search the Community

Showing results for tags 'CAN'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

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

Blogs

There are no results to display.

There are no results to display.

Marker Groups

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

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


ICQ


Skype


Интересы


Город


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


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

Found 10 results

  1. Вот такая плата была когда-то давно разработана и изготовлена... Но ни разу не включалась, не проверялась и не налаживалась. Схема с перечнем сохранилась только на бумаге. Схема предназначалась для изучения/освоения микроконтроллера AT90PWM3 и CAN, использование их для управления трехфазным инвертором. На плате установлены: микроконтроллер AT90PWM3-16SQ в типовой обвязке с кварцем; внешний CAN-контроллер MCP2510-I/SO; драйвер CAN-шины MCP2551-I/SN; регистр SN74HC597 для ввода 8 дискретных сигналов; 4 оптрона ILD74 для развязки дискретных сигналов; Операционный усилитель AD824AR для аналоговых сигналов, подаваемых на МК; элементы N74AHCT86D для возможности инвертирования выходных сигналов (при помощи перемычек) буфер SN74AC244DWR для умощнения выходных сигналов; преобразователь питания ИРБИС МПА10А (входное напряжение 9...18В); необходимая обвязка, включая восстанавливаемый предохранитель, кварц, защитные диоды на входах и т.п. На плате много контрольных точек, есть технологические перемычки. Схема оттрассирована в расчете на то, что МК формирует 3 двуполярных ШИМ-сигнала (т.е. всего 6 ШИМ-ов для верхних и нижних ключей отдельно) возможностью индивидуально проинвертировать каждый (т.к. драйверы IGBT могут иметь как прямые, так и инверсные входы). 4 аналоговых сигнала с датчиков тока или напряжения поступают в МК для реализации ОС и защит. Управление ведется по CAN и с помощью 8 дискретных сигналов. Больше подробностей вспомнить не могу... Плата, как видите, даже не мылась от канифоли - так и пролежала 10 лет... Паялась профессиональнми монтажниками вручную, трассировалась тоже, но за качество, увы, не порчусь головой... Думаю, плата может быть хорошей основой для самодельного инвертора или как экспериментальная основа для изучения микроконтроллера, CAN-контроллера и шины, а так же вообще для всяких поделок. Отправлю почтой РФ комплект: Схема - 1 лист А1 эскиз размещения компонентов на плате - 1 лист А4 (немного поврежден, но читаем) перечень компонентов - 2 листа А4 эскиз печатной платы - 1/2 листа А4 плата в сборе дополнительный контролер AT90PWM3B (на плате распаян другой - AT90PWM3) Цена 3000 рублей, доставка отдельно. Бонусом могу добавить дополнительный CAN-контроллер и CAN-драйвер.
  2. Добрый день! Прошу подсказать вот в каком вопросе. Есть CAN шина с "умным домом" к ней подключены разные устройства. На концах установлены согласующие резисторы 120 ОМ. Есть в середине шины одно устройство, которое на 1,5 метра отходит от шины (датчик температуры). Его сняли, а провод то остался. Вопрос нужно ли что-то ставить между H и L на этом проводе? Если ничего не ставить не будет ли он антенной (1,5 м все таки)? Спасибо.
  3. Основные обязанности: •проектирование, разработка и поддержка ПО для встраиваемых систем; •сопровождение кода и тестов; •документирование разрабатываемого ПО; Требования к кандидату: • опыт работы от 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 С уважением, Михаил.
  4. Доброе утро! Возник вопрос, по CAN протоколу! Bit stuffing - когда узел передает последовательно в шину 5 бит с одинаковым значением, то он добавляет шестой бит с противоположным значением. Принимающие узлы этот дополнительный бит удаляют. Если узел обнаруживает на шине больше 5 последовательных бит с одинаковым значением, то он генерирует ошибку Stuff Error . Вопрос вот в чем - нужно ли добавлять Stuff бит - если в поле CRC, с CRC[4]...CRC[0] будут все нули или все единицы? (на картинке просто пример кановского протокола - и это не пример пакета) Нет под рукой проверить, как аппаратно это работает! CAN-Bus-frame_in_base_format_without_stuffbits.svg
  5. Доброго дня. Помогите советом. Имеется блок управления климатом от ваз калина 2 и машина без can шины. блок обеспечивает связь и управление по отдельным проводам со всеми датчиками, моторедукторами заслонок и мотором вентилятора. но в его распиновке нет вывода под сингал включения муфты компрессора кондиционера. есть can hi и can low. можно ли это обойти и получить сигнал (любой полярности, постоянный при работе). можно подъпояться к кнопке, но кнопка это сигнал для мозгов климата, мозг так же сам может включать и выключать кондюк. если преобразователь в can это какая то стандартная микруха - помогите опознать ее. или как вариант преобразователь can в аналог обратно.
  6. Пытался настроить 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 */
  7. Всем привет! озадачился проблемой мультиплексирования CAN шины в автомобиле. имеется контроллер шины CAN и две шины. Необходимо объединить эти две шины и при необходимости разъединять. \ Основные требования: минимальные габариты (микросхема) Поиски по просторам интернета ничего хорошего не дали.
  8. Доброго времени суток форумчане. Вторую неделю не могу запустить 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)
  9. Здравствуйте! Помогите пожалста начинающему. У меня отладочная плата на базе 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()? зачем тогда нужен символ "&"? простите за глупые вопросы
  10. Всем привет! Пытаюсь заставить работать CAN 1 , но пока все четно (( Да и не совсем пока я разобрался с stellarisware. помогите осилить ) Вроде бы раскурил пример для платы EK-LM3S8962. Вырезал то, что надо. Не понимаю, почему не работает? Что я упустил? И до удаления ненужных функций не работала (( Как я понял, пример был заточен на получение данных по CAN, потом данные изменялись и отправлялись в ответ. И так снова. Как вообще работает машина? Посылка должна уйти при вызове функции CANMessageSet ? Не надо там как то пинать еще? Я не стал подключать прерывания. Может это как то повлияло? Можете проверить, правильно ли я инициализировал CAN интерфейс? CAN.rar
×
×
  • Create New...