FORUM Carcd

FORUM Carcd (https://carcd.ru/forum/index.php)
-   Клуб программистов (https://carcd.ru/forum/19/)
-   -   Проэкт can <> rs232 (https://carcd.ru/forum/19/thread1249/)

pixel 10.09.2005 17:45

to deniss

посмотрите , может поможет при работе с ком в реалтайм

желательно выложить спецификацию необходимых Вам

команд может чем-нибудь помог-бы

не сам так друга попросил-бы из epam-sistems

если не по теме то пожалуйста удали

**

немного инфы по теме CAN

****

добавляю кальк с утилитами загрузки

richi 26.01.2006 19:20

usb-can

http://www.qprotos.com/datasheet/QuickCAN_1.0.pdf

кто шо думает

Saulyss 07.02.2006 09:39

А стоит ли разробатывать ?



http://www.mictronics.de/?page=can_bus



Здесь со всеми исходниками и т.т.

Wladi 07.02.2006 21:18

Это уже второй клон (теперь как Open Source) известного CANUSB интерфейса от LAWICEL. www.canusb.com. Не знаю, как работают клоны, но оригиналом я доволен. Я в прошлом году софт под него написал.

msn 21.03.2006 02:28

Может я уже и не сильно помогу. Делал переходник RS <-> Ethernet (все работает без проблем до сих пор).

Общая задумка такая:



1. В МК организовывается обслуживания двух прерываний:

- принятие новых данных от CAN: запихивает принятые данные в FIFO, увеличивает кол-во данных в FIFO и указатель на следующий записываемый байт / блок в FIFO, а в случае отсутствия текущей передачи байта, т.е. когда все предыдущие байты уже были переданы в комп и FIFO пустое принудительно инициализирует прерывание окончания передачи байта

- окончание передачи текущего байта: при наличии данных в FIFO передает текущий байт в комп уменьшая кол-во данных в FIFO и увеличивая указатель на следующий читаемый байт из FIFO.

Такая организация обеспечивает полностью два асинхронных потока, первый принимает все что пришло, а второй по мере возможности передает все что есть в FIFO в комп, они связаны между собой только счетчиком кол-ва байт в FIFO. Можно также организовать проверку переполнения FIFO, если оно полностью забито то не принимать текущий блок от CAN.



2. В ПК хорошо бы реализовать прием всех данных в отдельном потоке (thread), меньше будет влияние GUI и соответственно видны и соответственно оболочка не будет виснуть в случае непредвиденных ситуаций. Избавится от потери байт очень просто, с помощью функции SetupComm(hCom, 0x10000, 0x10000) установить размеры системных буферов, т.е. система сама все пробуфиризирует на уровне ядра, и ни какая мышь и даже просмотр фильмов и 100 % загрузка CPU не приведут к потери данных. Прием данных можно организовать в потоке следующим образом: читаем непрерывно 1 байт, если байт прочитан то он говорит сколько байт будет передано в следующем пакете (данный байт должен быть записан в FIFO в прерывании CAN, так как только там известно сколько было получено байт), место циклического чтения байта можно организовать событие по маске (но для этого нужно хорошо MSDN прочитать). После успешного принятия байта длины пакета читаем весь пакет за одни раз.



3. Если нужна гарантированная передача данных + высокая скорость до ~900 Kb/s и не хочется делать контрольную сумму и прочие проверки, рекомендую вместо MAX 232 использовать CP210x. Это преобразователь RS <-> USB, с МК сопрягается по TxD и RxD, а в винде работает как обычный ком порт, но с гарантированной доставкой данных.

alex03 24.03.2006 19:56

А я правильно понимаю что в этих клонах на AVR ни о каких 1MBit/sec непрерывного трафика и речи идти не может?

Какая реальная скорость.



Думаю на AT91SAM7A3 забубенить.

AutoNinja 07.05.2007 03:00

Хочу поднять тему.

Как у народа с реализациями ?

Wladi 07.05.2007 15:07

Появилась ещё одна разработка с набором комманд от Lawicel.

http://www.canhack.de/viewtopic.php?t=24

ddk_f 07.05.2007 21:24

Возможно реализовать на Aтмелях MSC51 , там есть три контролера в разных корпусах 89C51CC01 , 89C51CC02 и 89C51CC03.

metronom 07.05.2007 21:34

можно глянуть тут _http://www.mictronics.de/?page=can_bus - схемы, исходники и все такое


Текущее время: 08:34. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot