реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Опять квитирование на FT232R, Как остановить поток данных?На CTS не реагирует
Мур
сообщение Sep 13 2006, 07:24
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



wub.gif Всё хорошо было, пока длина командного пакета с РС была короткой-> 6байт. Проблема была не видна..Когда стал отправлять 9 байт,-тишина! Смотрю, что разбив посылку пополам,-эффект есть. Осциллографом глянул, а там никакого торможения выгрузки из буфера НЕТ, хоть контроллер мой это просит (CTS в 1, по выходу их п\п-> в 0). Игрался в отладке я с монитором для СОМ портов. Смотрел ответы, формировал команды.
Контроллер подключен штатно,- кроме линий данных МК принимает RTS и передаёт на CTS моей FT232R
help.gif Подскажите, корефаны, что не хватает в этом супе? 1111493779.gif
Go to the top of the page
 
+Quote Post
Shurmas
сообщение Sep 13 2006, 07:58
Сообщение #2


Местный
***

Группа: Новичок
Сообщений: 232
Регистрация: 24-06-06
Пользователь №: 18 332



вы проверили что CTS в 1 физически ? т.е. напряжение присутствует ?
Go to the top of the page
 
+Quote Post
Мур
сообщение Sep 13 2006, 10:00
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Shurmas @ Sep 13 2006, 10:58) *
вы проверили что CTS в 1 физически ? т.е. напряжение присутствует ?

Конечно! Если-бы не проверил, то не писал-бы... blink.gif
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 13 2006, 10:28
Сообщение #4


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Контроллер должен иметь возможность принять не менее 16 байт после сброса готовности. Иначе даже со стандартным портом будут проблемы - FIFO продолжает пихать байты в линию и после переключения CTS.
Снятие готовности не является жестким требованием для остановки передачи, а сигнализирует о заполнении буфера на 3/4. На практике по крайней мере так.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Мур
сообщение Sep 13 2006, 11:01
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



cheers.gif
Спасибо ОГРОМНОЕ! Жаль, что так! Для такой дорогой микросхемы могли-бы корректнее сделать для обмена с простенькими МК excl.gif
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 13 2006, 11:03
Сообщение #6


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(Мур @ Sep 13 2006, 15:01) *
cheers.gif
Спасибо ОГРОМНОЕ! Жаль, что так! Для такой дорогой микросхемы могли-бы корректнее сделать для обмена с простенькими МК excl.gif


Это общая практика квитирования для RS-232, не только для USBшного адаптера


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Мур
сообщение Sep 13 2006, 11:36
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Тут не просто квитирование... Тут управление буфером! Квитанции уместны на уровне одиночных посылок, тем более на аппаратном уровне...Квитанцией называть это как-то язык не поворачивается...
Это что-то типа шлюзования... Так...Стоп! Это уже лирика...
Далее...На скорости 921600бит\с мне нужно в периоде 10мкС БЫСТРО(запретить остальные 6 прерываний!) снять в буфер из 16 байт посылки, а разбор уже вести в основном теле, пока не приму решение. Обслужить вновь вкл прерывания и разрешить дальнейшую выгрузку FIFO,если нужно... smile3046.gif
Go to the top of the page
 
+Quote Post
Мур
сообщение Sep 15 2006, 08:36
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(DS_ @ Sep 13 2006, 13:28) *
Контроллер должен иметь возможность принять не менее 16 байт после сброса готовности. Иначе даже со стандартным портом будут проблемы - FIFO продолжает пихать байты в линию и после переключения CTS.
Снятие готовности не является жестким требованием для остановки передачи, а сигнализирует о заполнении буфера на 3/4. На практике по крайней мере так.

maniac.gif Кто мне скажет зачем нужна приёмная ножка CTS? Написал прогу с отдельной буферизацией(кольцевой!) на 40 байт... Отправляю пачку на 51 байт и вижу, НИКАКОГО торможения НЕТ!!! Осциллограмма прилагается...Мужики, в чём дело? В таком случае выходом может быть XON\XOFF, а это лишние тормоза для РС... 1111493779.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 23:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01425 секунд с 7
ELECTRONIX ©2004-2016