hi!
Co do tego iż RS-232 jest przeżytkiem... dla przeciętnego użytkownika TAK! jak najbardziej TAK! Zwykłego użytkownika gó## obchodzi co i gdzie podłączac... wybierać jakiś com1, com2, itd. i do tego wolne jak na dzisiejsze czasy. Wszystko to prawda.
Ale teraz popatrzmy na to z drugiej strony. USB... hmm... po RS-a się poprostu podpinało parę kabli i wystarczyło oprogramować to po stronie PC w bardzo prosty sposób. Nie trzeba było pisać żadnych sterowników. Z punktu widzenia elektroniki też właściwie nie trzeba było ponosić żadnych nakładów. Każdy zastosowany, nawet najprostrzy mikrokontroler ma już wbudowanego sprzętowego RS'a wystarczyło dodać tylko konwerter napięcia w stylu MAX232.
A teraz nagle przychodzi do Ciebie USB... i co... porażka. Gdybyś sam chciał zaimplementować stos USB i cały protokół komunikacji (wraz z formowaniem ramek, liczeniem CRC, itd.) to nasz miktrokontroler musiałby mieć jakąś szaloną wydajność i nic innego by nie robił tylko obsługiwał USB ;)
Na szczęście dobre firmy postanowiły wyprodukować układy pośredniczące które można wepchnąć pomiędzy nasz mikrokontroer a USB. Do wyboru mamy kilkanaście jak nie kilkadziesiąt rozwiązań, począwszy od scalaków FTDI a zakończywszy na Cypress Semiconductor. Tu już na szczęscie producent się zatroszczył o napisanie sterownika do tego pod windows. Z drugiej strony scalaka mamy albo dane otrzymane wysłane z/do USB w postaci równoległej lub szeregowej... jak kto lubi.
Teraz tylko chętnego z chwilą wolnego czasu i mamy SIO2USB :D Scalaki od FTDI mają dwa rodzaje sterowników, jedne z nich mają tzw. dostęp bezpośredni i za pomocą kilku prostych funkcji mamy dostęp do USB. Lub jeżeli mamy gotowe programy napisane kiedyś pod RS'a to mamy możliwość aby sterownik od FTDI zainstalował nam "wirtualny port COMx", który z poziomu windy obsługuje się tak samo jak starego poczciwego RS'a.
Także na początek może wystarczyłoby zastosować FTDI232 (http://www.ftdichip.com/Products/FT232BM.htm)
Tylko nie wiem do końca jak byłoby ze zgodnością tego z prawdziwym RS'em. Nigdy tego nie testowałem i czuję iż mogłby by być problemy. APE jest bardzo wrażliwe na opóżnienia czasowe. Nie wiem jakie opóźnienie wnosi przesłanie tego wszytkiego przez USB i jakie opóźnienie wnosi jądro systemu operacyjnego. Należałoby to sprawdzić w praktyce po prostu.
Cześć przelotek USB<->RS232 kiedyś była oparta na scalakach FTDI232 jednak są one droższe od konkurencyjnych rozwiązań wiec większość przejścówiek zawiera inne tańsze scalaki konkurencji (ja widziałem już Cygnal'a i Cypress'a). Nie testowałem żadnej z tych przelotek pod względem kompatybilności z APE. Może warto by było sprawdzić które tak naprawdę działają a które nie ;)
Jeżeli Drac030 zechciałby rozebrać swoją przelotkę i sprawdzić jakie ustrojstwo w niej siedzi to już wiedzielibyśmy jaki scalak z Ape na pewno nie chodzi :D Mam w robocie jakąś przejścówkę-krzak firmy "mint". Sprawdzę jaki scalak tam siedzi i czy działa z APE.
Kiedyś zaczołem pracować nad czyś w stylu SIO2USB. Zastosowałem kontroler microchipa oraz scalaka FTDI245. Niestety totalny brak wolnego czasu oraz brak doświadczenia w pisaniu aplikacji pod Windę zaowocował totalnym zarzuceniem projektu w oczekiwaniu na lepsze czasy.
pozdrawiam
Seban