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

Can -> Usb


X-shadow

Рекомендуемые сообщения

Здрасте. Знаю такую хорошую микросхему FT232BM которая без проблем делает UART -> USB. Есть ли что-то подобное для интерфейса CAN?

Лучше сорок раз по разу чем ни разу сорок раз..

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Здрасте. Знаю такую хорошую микросхему FT232BM которая без проблем делает UART -> USB. Есть ли что-то подобное для интерфейса CAN?

Можешь использовать ПИКи, там есть встроенный CAN. А дальше дело техники.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Т.е использовать пик в качестве переходника? Типа софтворная эмуляция USB?? А можно ли будет выжать всю скорость CAN в данном случае? Просто у меня есть задача при которой нужно очень быстро отсылать пакеты с информацией на комп. Я впринципе мог бы использовать стандартный UART -> USB но скорости уарта мне совсем мало. Софтворная эмуляция на USB напрямую с моего контроллера мне тоже не подходит - будет дополнительное прерывание которое будет мне мешать. Может есть какие идеи? Главный контроллер - Tms320f2812zhhs работает на частоте 150 мГц

Лучше сорок раз по разу чем ни разу сорок раз..

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Т.е использовать пик в качестве переходника? Типа софтворная эмуляция USB?? А можно ли будет выжать всю скорость CAN в данном случае? Просто у меня есть задача при которой нужно очень быстро отсылать пакеты с информацией на комп. Я впринципе мог бы использовать стандартный UART -> USB но скорости уарта мне совсем мало. Софтворная эмуляция на USB напрямую с моего контроллера мне тоже не подходит - будет дополнительное прерывание которое будет мне мешать. Может есть какие идеи? Главный контроллер - Tms320f2812zhhs работает на частоте 150 мГц

Это не софтовая эмуляция. Некоторые PIC18ххх поддерживают аппаратно CAN. Так что всё должно работать по спецификации. А пик можно использовать и не только в качестве переходника. Можно им обрабатывать пакеты, и выдвать управление на основной проц. Если опишешь свою задачу, то может будут какие-нибудь конкретные предложения.

Ссылка на комментарий
Поделиться на другие сайты

Т.е использовать пик в качестве переходника? Типа софтворная эмуляция USB?? А можно ли будет выжать всю скорость CAN в данном случае? Просто у меня есть задача при которой нужно очень быстро отсылать пакеты с информацией на комп. Я впринципе мог бы использовать стандартный UART -> USB но скорости уарта мне совсем мало. Софтворная эмуляция на USB напрямую с моего контроллера мне тоже не подходит - будет дополнительное прерывание которое будет мне мешать. Может есть какие идеи? Главный контроллер - Tms320f2812zhhs работает на частоте 150 мГц

О какой скорости примерно идёт речь?

Может задуматься об PCI слоте?

Ссылка на комментарий
Поделиться на другие сайты

72 датчика * 3 координаты * 4 байта. Столько должен отсылать контроллер на комп с частотой 500 раз в секунду. Это только сам контроллер на такой частоте работает)))

Лучше сорок раз по разу чем ни разу сорок раз..

Ссылка на комментарий
Поделиться на другие сайты

Идея идиоцкая, поэтому прошу строго не судить, но может быть в ней что-то и неидиоцкое найдется :) Короче, у Атмел вышел новый контроллер с аппаратной поддержкой УСБ 2.0 и есть контроллеры с поддержкой CAN, так вот тупо их сцепить ногами и все :) типа параллельная 8-битная шина ну или как там получица, кстати получица должна достаточно быстрая шина :)

Ссылка на комментарий
Поделиться на другие сайты

3 контроллера для преобразования CAN в USB это серьезно)))

Может есть выход попроще?

Лучше сорок раз по разу чем ни разу сорок раз..

Ссылка на комментарий
Поделиться на другие сайты

В идеале это контроллер где есть и кан и усб, но я таких не встречал, если наткнусь, сообщу

Нашел

Компания ЭЛЕКТРОСНАБ формирует свой склад по продукции Atmel с учетом требований заказчиков. Присылайте ваши запросы по электронной почте и мы в самые короткие сроки сообщим вам цену на заинтересовавшие вас компоненты, а при отсутствии этих деталей на нашем складе, сообщим вам сроки поставки со склада фирмы Atmel. Мы стараемся поддерживать на наших складах в России большой выбор 8-разрядных микроконтроллеров, а также самые современные микроконтроллеры на основе ядра ARM:

AT91SAM7S64-AU

AT91SAM7S128-AU

AT91SAM7S256-AU

Микроконтроллеры серии AT91SAM7S / AT91SAM7X являются одними из самых перспективных среди 32-х разрядых м/к на основе ядра ARM. Высокая производительность сочетается в них с наличием различных перифирийных устройств и портов ввода/вывода CAN, USB, Ethernet и т.д. Также мы можем вам предложить средства отладки и программирования для этих м/к:

AT91SAM7S-EK - отладочный комплект

AT91SAM-ICE - программатор для м/к серии AT91SAM7S

Подробнее о 32-х разрядных микроконтроллерах на сайте фирмы Atmel:

http://www.atmel.com/products/AT91/overview.asp

http://atmel.ru/Articles/Atmel34.htm

http://atmel.ru/Production/tables/at91arm.htm

Действуйте :)

Изменено пользователем Maniac999
Ссылка на комментарий
Поделиться на другие сайты

3 контроллера для преобразования CAN в USB это серьезно)))

Может есть выход попроще?

Однозначно, поможет только USB. Так что придётся делать на МК с поддержкой USB(Например PIC18F2455), или использовать отдельный преобразователь USB-SPI (Например MAX3420). Можно правда и на Ethernet попробовать (Например PIC18F97J60).

Ссылка на комментарий
Поделиться на другие сайты

Выше я приводил ссылки, так вот, в семействе атмел есть замечательная штука AT91SAM9262

там есть и кан и усб и езернет и еще туева хуча фсяких фичей.

Плюс тактовая частота 180 МГц, что выше чем заявленная у Tms320f2812zhhs 150 МГц. Получается очень красивое решение один камень, толпа датчиков, и вся эта красота втыкается в усб :)

--------------------------

А самым красивым было бы конечно, если бы камень пулял данные с датчиков не в усб а в езернет, вообсче красиво получается, притаранил эдакую коробочку на производство, достал кабелек, воткнул в хаб и фсё, модная придумка интегрирована в СУТП :)....

Изменено пользователем Maniac999
Ссылка на комментарий
Поделиться на другие сайты

X-shadow, насколько я понимаю, ты с москвы. Так вот у атмел есть дистрибьютер в москве.

127486, Москва

Коровинское шоссе, д.10, стр.2, офис 30

Тел./факс: (095)933-0743

Время работы: с 10 до 18

(понедельник-пятница)

E-mail: moscow@efo.ru,

www: http://www.efo.ru

Партнер ООО "ЭФО" корпорация "Точка Опоры"

105082, Москва,

ул. Б.Почтовая, д.34, строение.8, офис 101

Телефоны:

(095) 956-3942 (3 линии)

(095) 956-3943 (факс)

Почта: sales@fulcrum.ru

Сайт: www.fulcrum.ru

а тут список дистрибьютеров в других городах

http://atmel.ru/Buy/Buy.htm

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Релюхи не причём. При неисправности релюх симптомы были бы другие. И ИБП даже не клацает когда переходит в  "аварию".   Да. Аккум новый. Более того - 2 новых пробовал. И без АКБ тоже. Не влияет. Да мелкие особо не вздуваются ж. Хотя С21 под подозрением..   Спасибо. Буду иметь ввиду.
    • #include <Wire.h> #include <Oregon_TM.h> #include <BME280I2C.h> //////////////////////////////////////////////////////////////////////////////////////////////////////////// //Скетч для устройства, передающего данные датчика BME280 в формате Oregon Scientific THGN132N //Принципиальная схема прилагается. //Для работы необходима библиотека https://github.com/finitespace/BME280/ //Устройство работает от 3-ех пальчиковых батареек, для экономии электричества заливать скетч нужно через ISP //////////////////////////////////////////////////////////////////////////////////////////////////////////// //Также возможна передача данных в формате - THP (температура, влажность, давление, напряжение батареи) //Пример с приёмником поддерживает расшифоовку THP //////////////////////////////////////////////////////////////////////////////////////////////////////////// # define THGN_SEND 1 // Передавать ли данные в формате THGN132 # define THP_SEND 0 // Передавать ли данные в формате THP # define DEVICE_LOG 1 //Писать ли лог В Serial # define DONE_PIN 15 // вывод сигнала об окончании работы на таймер # define BME_WAIT 10 // Сколько мс ожидать датчик BME # define BATTERY_THR 3.5 // Порог напряжения для выставляения флага разряда батарейки (THGN) ///////////////////////////////////////////////////////////////////////////////////////////////// //Ниблы датчика THP //Во всех полях младшие ниблы идут вперёд!!! // 1-2 - тип (55) // 3 - канал (0-7) // 4-6 - (температура от -100С) * 10. Т.е. +25.1С = 1251 = 4E3h // 7-9 - Влажность *10 Т.е. 25.1% = 251 = 0FBh // 10-12 - (давление от 500ммртст) * 10. Т.е. 765мм = 2650 = A5Ah // 13-15 - данные с АЦП (A0) // 16-17 - CheckSUM // 18-19 - CRC8 (poly 0x07 start 0x00) ///////////////////////////////////////////////////////////////////////////////////////////////// Oregon_TM transmitter(4); BME280I2C bme; bool bme_present = false; float bme_temp(NAN), bme_hum(NAN), bme_pres(NAN); ///////////////////////////////////////////////////////////////////////////////////////////////// void setup() { digitalWrite(DONE_PIN, LOW); pinMode(DONE_PIN, OUTPUT); #ifdef DEVICE_LOG Serial.begin(115200); Serial.println("Waiting for BMEsensor..."); #endif //Обмен данными с BME////////////////////////////////// Wire.begin(); while(!bme.begin()) { if (millis() > BME_WAIT) break; } if (!bme.begin()) { #ifdef DEVICE_LOG Serial.println("No BME sensor found"); #endif bme_present = false; } else { switch(bme.chipModel()) { case BME280::ChipModel_BME280: bme_present = true; bme.read(bme_pres, bme_temp, bme_hum); #ifdef DEVICE_LOG Serial.println("Found BME280 sensor! Success."); Serial.print("Temperature = "); Serial.print(bme_temp, 1); Serial.println("C"); Serial.print("Humidity = "); Serial.print(bme_hum, 1); Serial.println("%"); Serial.print("Pressure = "); Serial.print(bme_pres * 0.75, 1); Serial.println("mmHg"); #endif break; default: #ifdef DEVICE_LOG Serial.println("Found UNKNOWN sensor! Error!"); #endif bme_present = false; } } //Напряжения батареи/////////////////////////////////////////// word battvotage = (word)(((float)(1.1 * 16368) / Vbg()) * 100); #ifdef DEVICE_LOG Serial.print("Battery voltage = "); Serial.println(battvotage,HEX); #endif //Подготовка и отправка данных THGN////////////////////////////////////// transmitter.protocol == 2; if (THGN_SEND) { transmitter.setType(THGN132); transmitter.setChannel(3); transmitter.setBatteryFlag(battvotage < BATTERY_THR); if (bme_present) { if (bme_hum > 98) bme_hum = 98; if (bme_hum < 2) bme_hum = 2; if (bme_temp > 70) bme_temp = 70; if (bme_temp < -50) bme_temp = -50; transmitter.setTemperature(bme_temp); transmitter.setHumidity(bme_hum); transmitter.setComfort(bme_temp, bme_hum); } else { transmitter.setTemperature(-49.9); transmitter.setHumidity(2); transmitter.setComfort(-49.9, 2); } transmitter.SendPacket(); } // Если отправляются оба формата пакетов, межу ними надо выдержать паузу if (THP_SEND && THGN_SEND) delay(100); //Подготовка и отправка данных THP////////////////////////////////////// if (THP_SEND) { transmitter.setType(THP); transmitter.setChannelTHP(1); transmitter.setBatteryTHP( battvotage); if (bme_present) { transmitter.setTemperatureTHP(bme_temp); transmitter.setHumidityTHP(bme_hum); transmitter.setPressureTHP(bme_pres * 0.75); // перевод Pa в mmHg } else { transmitter.setErrorTHP(); } transmitter.SendPacket(); } #ifdef DEVICE_LOG Serial.println(); Serial.print(millis()); Serial.println("ms"); Serial.println(); #endif //Команда на отключение питания digitalWrite(DONE_PIN, HIGH); } ///////////////////////////////////////////////////////////////////////////////////////////////// void loop(){} ///////////////////////////////////////////////////////////////////////////////////////////////// int Vbg() { ADMUX = (1<<REFS0)|(0<<REFS1)|(1<<MUX3)|(1<<MUX2)|(1<<MUX1)|(0<<MUX0); long buffersamp=0; for (int n=0x0; n<=0xff; n++ ) { ADCSRA = 0xc7; while (bit_is_set(ADCSRA,ADSC)); buffersamp += ADC; } buffersamp >>=4; //16368 full scale 14bit ADCSRA &= ~(1 << ADEN); // отключаем АЦП return buffersamp; } Вот код программы. Пробовал по разному и от 5в запитывал и всю систему от 3,3 в. Причем голая ардуинка с таймером работает в нормальном режиме некоторое время, но потом все равно слетает и начинает питать мк постоянно( Причем это происходит всегда через разный промежуток времени.
    • На фото может быть название , характеристики и т.д. И по этому фото я смогу выбрать такой же в инете.. самому мне не собрать..
    • А что даст фотка? Тот же щуп, только чуть крупнее и с проводами питания.
    • Для меня наверное лучше купить готовый.. цель повысить чувствительность до 1 mV.. Наверное на Авто стоит покупать , мне бы фотку какую нить..такого активного щупа..))
    • Так на схемах обозначается подключение к сети 220 В.
×
×
  • Создать...