|
Клуб программистов Раздел только для программистов. Кто задаст глупый вопрос или даст глупый ответ,будет забанен сразу. |
|
Опции темы |
06.01.2005, 22:20 | #1 |
Модератор
Регистрация: 05.02.2004
Сообщений: 575
Вес репутации: 0
Репутация: 0
|
чем больше думаю тем лучше понимаю что мне это пока не по зубам, слишком много подводных камней вылезло, идея следующая :
Хочу взять пик 18f258 (цена 6 $) пик имеет апаратный кан и uart на борту, и написать программу которая будет пересылать пакеты туда обратно (типа елм) Процесоры перебирал долго, с учетом того что мне всеравно на чем делать (не работал ни с тем ни с другим) смотрел и пики и avr , пик понравился больше, может я и не прав, если что поправьте , только с аргументами (такие как пик это вчерашний день не принимаю) Теперь о первых трудностях, если брать на ком порт низкую скорость (типа 9600) то проблем особых нет, но это неприемлемо с моей позиции хотябы потому что я хочу работать и с мегабитным каном, ну хоть изредка, а если в 100 раз ниже скорость будет то никакого кеша не хватит, тем более что памяти в пике мало. Поэтому надо скорость побольше, например 115200 но вылезла другая проблема, достаточно интенсивно поводить мышкой в винде и теряются байты, тоесть надо делать с апаратным контролем приема-передачи, мне это уже не по зубам, по крайней мере пока, так как с контролерами никогда не работал. Если делать серьезный протокол в котором все это будет учтено то ресурсов пика может и не хватить, я так понимаю что почти вся свободная озу (1.5 Кб) пойдет под кеш. Подобный проэкт уже есть и реализован, вот только реализация мне не нравится http://www.canpic.com/CANPIC_software1.htm Пишу в первую очередь к людям котоые с контролерами плотно работают и вот с какой целью, стоит ли начинать ??? и по зубам ли все это Сделать я могу и сам, только получится как из под топора если не хуже , если идея нравится то давайте обсудим, одним словом жду мнений |
07.01.2005, 01:10 | #2 |
Reverse Engineer
Регистрация: 06.06.2004
Адрес: Москва
Сообщений: 2,360
Вес репутации: 10
|
Поставь своей проге приоритет реалтайм и ничего не будет терятся. Кстати байты могут терятся если ты пытаешься одновременно еще и монитор кома юзать. Аппаратно не надо ничего делать.
Пик рулит! |
09.01.2005, 13:23 | #3 |
Местный
Регистрация: 22.11.2004
Сообщений: 1,912
Вес репутации: 0
|
Год назад делал КАН в КОМ.
Апаратная база старая 51 контроллер внешний КАН и внешняя ОЗУ. Сейчас вплотную работаю с процессорами СИГНАЛ. Это улучшеный 51-й. На борту у них есть и кан и два КОМа но цена около 150 гр. на мой взгляд плюс его в том что отладчик под сигналы стоит 400гр. вообще тема очень интересная. Давай в понедельник пообщаемся. |
10.01.2005, 03:14 | #4 |
Местный
Регистрация: 27.11.2004
Сообщений: 2,406
Вес репутации: 0
Репутация: 0
|
Денис, а ты это сделал уже, что в ссылке написанно?
Я к сожалению не силен в Си. Пик мона найти и с памятью поболее. Я вот думаю как конвертнуть прогу на ассемблер. |
10.01.2005, 09:09 | #5 |
Модератор
Регистрация: 05.02.2004
Сообщений: 575
Вес репутации: 0
Репутация: 0
|
Что касается ссылки, это делал не я , да и реализация мне не понравилась, из тех процесоров что поддерживают кан и ком по соотношению цена-качество этот наверное самый лучший. Если я буду писать , то писать буду на паскале для пика, он дает асеблер на выходе, я посмотрел, код достаточно компактный , а скорость написания намного выше, при желании всегда можно в асемблере код поправить.
|
04.02.2005, 21:40 | #6 |
Модератор
Регистрация: 05.02.2004
Сообщений: 575
Вес репутации: 0
Репутация: 0
|
проба пера для контролеров pic18f258 кан в rs232
Команды идут в ascii PW и PR соответственно запись и чтение регистра пика O Режим работы после команды следует 2 числа (например O80 режим настройки контролера) , равнозначно pw6f80 B установка скорости кана , пример В01f805 (это 3 команды pw7001, pw71f8, pw7205) R чтение cancon и canstat регистров , (PR6e и PR6f) M и F маски и фильтра сообщений соответственно, формат MnMask где n номер маски (1 или 0) Mask 4 байта, фильтр аналогичен, только n от 0 до 5 T , вид TidDldata где Id 4 байта DL 1 байт (длинна сообщения) и data до 8 байт 1 байт 2 ascii символа, ввод команды по коду 13 данные от контролера идут просто байтами, без преобразования в ascii , програма написана без использования прерываний, если приходит сообщение то оно просто передается в rs232 пожелания по протоколу обмена принимаются, если это конечно комуто интересно ссылка на русское описание кана для этого пика Ссылка на калькулятор для регистров установки скорости работы кана |
12.02.2005, 12:45 | #7 |
Местный
Регистрация: 27.11.2004
Сообщений: 2,406
Вес репутации: 0
Репутация: 0
|
Пока одно пожелание:
при написании АСМА активнее пользуйся ТАВ ом. |
19.02.2005, 15:10 | #8 |
Местный
Регистрация: 27.11.2004
Сообщений: 2,406
Вес репутации: 0
Репутация: 0
|
Для Дениса от другого Дениса, как обещал .
Посмотрел, вроде шняга какаято, а вроде и нет... |
03.06.2005, 22:08 | #9 |
Модератор
Регистрация: 05.02.2004
Сообщений: 575
Вес репутации: 0
Репутация: 0
|
малость переписал, исходник тут http://deniss.kiev.ua/progrramers/
почти все команды передаются в ascii и заканчиваются кодом 0dh (перевод строки) команды : 'B' установка скорости, вид BXXYYZZ + 0dh где xx первый делитель yy второй и zz третий 'M' маска приемника вид MxXXYYZZKK + 0dh где x номер маски 0 или 1 для каждого из приемных буферов, XXYYZZKK сама маска 'F' аналогично маске, только № фильтра от 0 до 5 'O' запись управляющего регистра контролера Oxx + 0dh где хх значение (00 открыть, 80 закрыть, режим настройки) все выше перечисленые команды доступны только в режиме настройки 'T' передача сообщения, вид T1HHHHHHHHLLDATA + 0dh HH-заголовок, LL длинна сообщения и дальше сообщение(data) 'R' чтение статусного регистра 'S' програмирование быстрой передачи , SmHHHHHHHHLLDATA + 0dh HH-заголовок, LL длинна сообщения и дальше сообщение(data) m-id передачи в диапазоне 90h-BFh быстрая передача , это вызов заранее запрограмированой строки путем передачи 2 байт а именно Id + 0dh |
21.08.2005, 20:54 | #10 |
Гость
Сообщений: n/a
|
Hi All
Вернулся с отдыха... Почитал... Предлагаю не изобретать велосипед и использовать мною разработанный протокол... Это не текстовый протокол, а пакетный... с контрольными суммами и синхронизацией... Мое железо я уже предлагаю... стоимость 100 USD, сделано на AT90CAN128 Интерфейс - USB to COM - скорость 921600 Предусмотрен режим асинхронного захвата пакетов из сети для мониторинга... Посмотреть пример проги можно здесь - http://carcd.ru/forum/index.php?showtopic=8444 Для разработчиков протокол прилагается к железу... Возможна консультация по организации буферов в Windows для исключения потерь пакетов Если будут вопросы - ICQ 47108904 или alodin@mail.ru Сейчас более-менеее буду в он-лайне |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблемы с pcmcia-rs232 | GOLANt | Помощь начинающим | 15 | 20.04.2007 08:13 |
Pdf на преобразователи Rs232-usb | MrQwas | Даташиты | 0 | 19.01.2006 07:33 |
St-lab Cardbus Rs232 | Диагностика | 0 | 01.01.1970 03:00 |