|
COM-порт для SPI |
|
|
|
Jul 9 2006, 03:02
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191

|
SPI на COM порте: Схематехника - м/с мах232 или подобная с 2-мя каналами в одну сторону и с 2-мя в другую. Резисторы 4k7 на землю после СОМа. Для Delphi использовал компонент TMS Async32 10 Sep 2002 srс. Для управления ногой Тх использовал команду "break" (разрыв порта в высоко-импедансное состояние). С остальными управляющими ногами проблем не было. Скорость 115Кб/с. Столкнулся с маленьким траблом. Под ХР из за её особенностей, наблюдались ошибки (примерно 30-50%) при передачи пакетами по 256 байт. Под W98 - ниодной ошибки. В этом форуме мне присоветовали блокировать все процессы под ХР и использовать нулевой уровень. http://electronix.ru/forum/index.php?showtopic=11244Проверял на переходнике USD->COM - работает как часы.
|
|
|
|
|
Jul 9 2006, 21:05
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191

|
Цитата(rezident @ Jul 9 2006, 22:26)  А как вы всего на двух выходных линиях передатчика сделали SPI? Без CS(SS)-а что ли? Как в таком случае начало/конец пакета определяется? Для моей задачи SS сигнал не требовался. Цель данного девайса - программатор для ATMega64 и тут же через UART контроллера прошивалась 16Мбит flash м/с. Начало пакета - это комп как мастер. Конец пакета, в данном случае, не надо отслеживать. Длина известная. Правда, Reset на м/к я подключил не через мах232. Резистор 4к7 + стабилитрон 5V1. По этой анологии и SS можно вывести.
|
|
|
|
|
Jul 10 2006, 09:57
|

Частый гость
 
Группа: Свой
Сообщений: 86
Регистрация: 13-06-04
Из: Minsk
Пользователь №: 29

|
Цитата(Eduard_k @ Jul 8 2006, 01:26)  Есть ли какая нибудь возможность управлять линиями COM-порта по отдельности? Т.е. чтобы каким-то образом в один момент времени задавать уровни выходов порта отдельно. Чтобы использовать COM-порт для каких-то отладочных целей. Как можно реализовать SPI на COM-порту? Есть ли кикие нибудь ньюансы при использовании USB<->COM преобразователей т.е. при отладке виртуальными COM-портами? Порекомендуйте ресурс по программированию на котором можно получить полную информацию о работе с COM-портом в среде MS Visual C++.
Спасибо. У меня есть нечто подходящее. Работает с LPT или COM, для COM схема стыка простая (см. на http://avr.nikolaew.org/debug) - такая же как для отладчика. То есть несколько резисторов и диодов. Позволяет управлять линиями данных и строба, а также обмен байтом организовать.  Если интересно, выложу где-нибудь. Что касается виртуальных USB COM-портов, то все работает, но очень медленно. Слышал только про FT2232 - к нему есть драйвер, организующий SPI - но сия микросхема в руки пока не попадалась, так что проверить/пощупать не мог.
|
|
|
|
|
Jul 10 2006, 12:21
|
Местный
  
Группа: Участник
Сообщений: 216
Регистрация: 26-05-06
Из: Коломна
Пользователь №: 17 479

|
Цитата(-Al- @ Jul 8 2006, 16:28)  Rx, Tx дергать не получится, можно только сигналы управления вручную переключать. SPI на COM порту реализовать врядли получится, по крайней мере просто проводками, тут контроллер понадобится. Виртуальны COM порт (тот, что USB->COM) ничем не отличается от обычного по крайней мере под виндами. RX - это вход )), а вот TX можно дергать если UART 16450 или 16550, такие микросхемы раньше на персоналках стояли, сейчас, вероятно, ничего не изменилось.
|
|
|
|
|
Aug 5 2006, 21:15
|
Частый гость
 
Группа: Свой
Сообщений: 181
Регистрация: 25-02-06
Пользователь №: 14 663

|
Цитата(nml @ Jul 10 2006, 13:57)  Что касается виртуальных USB COM-портов, то все работает, но очень медленно. Странно, виртуальные порты обычно шустрее стандартных. Цитата Слышал только про FT2232 - к нему есть драйвер, организующий SPI - но сия микросхема в руки пока не попадалась, так что проверить/пощупать не мог. Так дело всё же в дровах? Может кто встречал и на другие чипы?
|
|
|
|
|
Aug 10 2006, 10:01
|
Знающий
   
Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063

|
Всеми сигналами СОМ порта можно управлять. SPI протокол хоть и считается 3-проводным, однако для него необходимо 6 линий связи . Входные (для СОМ порта) RDY , OUT и выходные SCLK,CS,IN,RESET. В СОМ порту , к сожаленю, наоборот 5 входных линий RxD,DCD,CTS,DSR,RI и 3 выходных TxD,RTS,DTR. Если не использовать CS(заземлить), а TX использовать для сброса, то в принципе СОМ порт можно использовать для SPI протокола.Например: TxD -> RESET RTS -> SCLK DTR -> IN DCD -> OUT CTS -> RDY
и необходимо согласовать уровни.
|
|
|
|
|
Aug 11 2006, 04:24
|
Знающий
   
Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063

|
Цитата(rezident @ Aug 10 2006, 16:38)  Цитата(upc2 @ Aug 10 2006, 16:01)  Всеми сигналами СОМ порта можно управлять. SPI протокол хоть и считается 3-проводным, однако для него необходимо 6 линий связи .
Во-первых SPI это не протокол, а интерфейс. Во-вторых, откуда вы это взяли? Вы знакомы с SPI только по интерфейсу DataFlash что ли? Попробуйте передать по нему без протокола.Зачем реплики? Поделитесь своими познаниями.
|
|
|
|
|
Aug 11 2006, 07:51
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(upc2 @ Aug 11 2006, 10:24)  Цитата(rezident @ Aug 10 2006, 16:38)  Цитата(upc2 @ Aug 10 2006, 16:01)  Всеми сигналами СОМ порта можно управлять. SPI протокол хоть и считается 3-проводным, однако для него необходимо 6 линий связи .
Во-первых SPI это не протокол, а интерфейс. Во-вторых, откуда вы это взяли? Вы знакомы с SPI только по интерфейсу DataFlash что ли? Попробуйте передать по нему без протокола.Зачем реплики? Поделитесь своими познаниями. Гы  Реплика совершенно в тему. Вот у меня к SPI-порту МК прицеплен регистр с последовательным входом и параллельным выходом 74HC595? Огласите, пожалуйста, название протокола по которому я делаю запись в этот регистр, если вас это не затруднит. Или по-вашему это уже не SPI?
Сообщение отредактировал rezident - Aug 11 2006, 07:52
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|