Отговори на тема  [ 38 мнения ]  Отиди на страница 1, 2, 3  Следваща
Терминална програмка с ХардФлоу контрол 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Сеп 17, 2011 10:13 am
Мнения: 112
Мнение Терминална програмка с ХардФлоу контрол
Здравейте и за много години на всички :), желая здраве и късмет!
Поводът по който отварям тази тема лежи на следната хардуерна конфигурация:
1. Device -> PC
2. Device <- PC
На РС-то използвам една терминална програмка WTerm, която има опция за разрешаване на Hard Flow Control с линиите съответно CTS и RTS. Освен това този контрол съм го разрешил и от Device Manager на РС-то. Скоростта с която работя е 115 200. В Device пиша мой код в който съм конфигурирал 2 GPIOІта да работят като CTS и RTS. В случай 2 по-горе (когато пращам данни от РС към Device),в моето устройство СТS се явява изход, и чрез него казва на предавателя в определени моменти (PC) "спри да предаваш" и съответно "продължи да предаваш". Обаче при случай 1, когато моето устройство предава към комп-а, комп- а не мърда нито една от двете линии (CTS или RTS). На осцилоскопът не наблюдавам никаква активност на двете линии. В резултат на което естествено губя малки порциики данни.
Въпросът ми е има ли начин или терминална програма, с които да се разреши този Hard Flow Control, от страна на PC-то, и да работи така както се очаква и така както го пише в учебниците. Операционната ми система е Windows 7 x32. Понеже пак казвам, аз този контрол го разрешавам първо от Device Manager на РС-то и след това го активирам и от wTerm терминалът, който ползвам. Благодаря!


Пет Яну 09, 2015 11:58 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: Терминална програмка с ХардФлоу контрол
Предполагам че ползваш някакъв преходник USB - Serial. В него следва да се търси проблема предполагам,а не в PC осфтуера.
Старите FTDI чипове при голям трансфер на данни,нещо се омазваха и или забиваха или се губеха порции данни.
В общия случай ако когато компютъра предва,се съобразява с флоу контрола,значи си е включен.


Пет Яну 09, 2015 12:04 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Сеп 17, 2011 10:13 am
Мнения: 112
Мнение Re: Терминална програмка с ХардФлоу контрол
Здравей, ами не на местото на преходникът който предмопагаш че ползвам имам MAX3238E, който представяла многоканален драйвер на 3-5,5V и след него ми е веднага кабелът RS, след което той отива в КОМ портът на РС-то. Нямам USB кабели и FTDI конвертори.


Пет Яну 09, 2015 12:12 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: Терминална програмка с ХардФлоу контрол
При някои от новите дъна компорта не е истински. Пак се явява някакъв преходник и не работи както стандартния.
Другия проблем може да ти идва от хардуера. Имаше тестови програмки с които може да комутираш пина и да видиш дали сигнала стига до твоето устройство.


Пет Яну 09, 2015 12:23 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: Терминална програмка с ХардФлоу контрол
Прикачени файлове:
RS terminal.rar [321 KiB]
282 пъти


Пет Яну 09, 2015 12:24 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Терминална програмка с ХардФлоу контрол
Цитат:
и да работи така както се очаква и така както го пише в учебниците

В учебниците май-пише и 4 жици за такъв контрол, DTR/DSR CTS/RTS, та сигурно има вариации.


Пет Яну 09, 2015 12:29 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Сеп 17, 2011 10:13 am
Мнения: 112
Мнение Re: Терминална програмка с ХардФлоу контрол
Да в учебниците са 4 линиите, аз ги преслушах и 4-те с цел да открия някаква активност по DTR или DTS за мога да го оправя. Но по на сички пинове от DB9 къплунгът за RS232, няма никаква активност повреме на трансферът, а в изходният ЛОГ виждам че пак се губят байтове. Никола можеш ли да дадеш име или линк на такава програма (за която говориш в твоя пост) за да видя да разклатя CTS/RTS пиновете в РС-то.


Пет Яну 09, 2015 12:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение Re: Терминална програмка с ХардФлоу контрол
Като го разучавах серийния порт някога бях ползвал нещо готово. Но вече не си спомням какво. RealTerm имаше като че ли такива неща,провери.


Пет Яну 09, 2015 1:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Терминална програмка с ХардФлоу контрол
А когато предава ПК има ли някаква активност?


Пет Яну 09, 2015 2:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Терминална програмка с ХардФлоу контрол
Всъщност HyperTerminal /WinXP/ активира плюс на перо 7 и перо 4.
Като натискам бутони , броячът на време заспива , докато не окъся 7 и 8 перо.


Пет Яну 09, 2015 2:50 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Сеп 17, 2011 10:13 am
Мнения: 112
Мнение Re: Терминална програмка с ХардФлоу контрол
Намерих терминална програмка с която мога да клатя ръчно CTS на РС-то. Като го разцъкам, виждам на RTS пинът на моето устройство че достига сигнал. Това говори че като пусна трансферът от устройството към PC-то, терминалити които ползвам немогат да активират CTS на PC-то когато загубя байт. Въпросният терминал който намерих, лошото му е че само като цъкам един бутон от неговият панел мога да активирам CTS на РС-то, а ми се щеше то само да може, автоматично да го прави, когато неможе да смогне с трансферът...... :(


Пет Яну 09, 2015 5:42 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Сеп 17, 2011 10:13 am
Мнения: 112
Мнение Re: Терминална програмка с ХардФлоу контрол
Когато предава РС-то, устройството клати своят CTS (който е вързан към RTS-а на PC-то) и до куплунгът на РС-то достига този сигнал. Така че има активност в случай 2.


Пет Яну 09, 2015 5:47 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Терминална програмка с ХардФлоу контрол
Цитат:
Това говори че като пусна трансферът от устройството към PC-то, терминалити които ползвам немогат да активират CTS на PC-то когато загубя байт

Няма как ПК да активира сигнал, когато загуби байт - не е логично.
По-скоро шв го активира , когато приемният буфер наближи препълване.
Това обаче зависи от софтуера,буферът е софтуерен, оригиналният хардуер няма такава автоматика.
Загубването на байт се следи на логическо/пакетно ниво.
Всъщност какво ти трябва, софтуер за лог докато се бориш от другата страна ?


Пет Яну 09, 2015 7:09 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Сеп 17, 2011 10:13 am
Мнения: 112
Мнение Re: Терминална програмка с ХардФлоу контрол
Както ги обясняваш нещата, а и както ги проучих тези няколко дни, стигаме до едно и също твърдение. Или както го казваш ти "Това обаче зависи от софтуера,буферът е софтуерен, оригиналният хардуер няма такава автоматика.". Понеже аз разчитам от другата страна (в случая от страна на РС-то )този контрол да става автомотично. С една дума буферите в ком-па са достатъчно големи да поемат целият поток, а самият контрол (предполагам) се активира когато FIFO буферите на РС-то са напълнени примирно на 70 %. От страна на моето устройство такъв алгоритъм имам и знам точно на какъм процент да разклатя CTS-а. Но в РС-то нямам софтуер в който мога да пипам. Така че предполагам че ако направя някакво GUI за сериина комуникация, в кодът зад това GUI, мога да окажа когаточно да ми се клати CTS-a от страна на РС-то. Поне аз така ги виждам нещата - софтуер от страна на РС-то с който да оказвам кога да ми се активира хард флау контролът и при какви условия....


Вто Яну 13, 2015 11:02 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 11:22 pm
Мнения: 3084
Мнение Re: Терминална програмка с ХардФлоу контрол
Мисля , че трябва да промениш малко мисленето си. "Класическото" PC има примитивни
серийни портове без FIFO. Подобрената версия има чипове с 16 байта FIFO, но такава автоматика не е заложена. Модерните PC ,каквото и подобрение да имат, то е "нестандартно", ще се поддържа но ниво специализиран драйвер и т.н... Тоест, според мене,
не очаквай такава логика откъм PC. Трябва да решаваш проблема по друг начин - или на протоколно ниво, или минаваш на УСБ или каквото там може да ти свърши работа. Лично аз съм скептичен към система, която разчита на безгрешен 100% трафик. Тоест наличието на грешки и пропускането на байтове трябва да го заложиш в поведението на системата си.

От друга страна - това ,че в момента PC изпуска байтове е проблем, с който също трябва да се пребориш. Има разни софтуерни логери/монитори дето проследяват трафика по серийния порт - та пусни един такъв - може да помогне в търсенето на проблема.


Вто Яну 13, 2015 12:49 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 38 мнения ]  Отиди на страница 1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни