Mam pytania sondażowe i proszę o odpowiedzi stosownie do zapytań. Przykładem oczekiwanych odpowiedzi są te z końca.
Pytania:
1. Jaki rodzaj emulatora używasz, synchronizacja na którym pinie RS, stabilna osiągalna prędkość. 2. Kabel SIO: typ scalaka, złącze, długość kabla, dodatki (opisać: diody świecące, ekranowany kabel, ekranowana elektronika, itp... 3. Atari: model, usunięte kondensatory w torze SIO czy niemodyfikowane.
Odpowiedź: 1. Aspeqt, DSR, 57600 bps 2. MAX232, RS232, 5 mb. , nic 3. 800XL, nie
ps) żaden z emulatorów SIO wykorzystujący klasyczny pecetowy UART nie wyciągnie więcej niż 57600bps, powyżej różnica zegarów taktujących Baud Rate Generator w przypadku obu UART-ów (POKEY vs PC) jest zbyt duża i powoduje błędy transmisji
SIUP jest USB? dobrze kojarzę? Ma chyba FT232. A ja pisałem o standardowych UART-ach zgodnych z 16550, takich klasycznych portach COM obecnych na starszych płytach głównych.
Ja zrobiłem sobie podobny interface oparty o FT232 również, i działa z prędkością HSINDEX=0 (125000bps), ale tylko z FT232. Żaden z klasycznych portów COM (prawdziwych opartych na UART16550) nie działa poprawnie powyżej 57600bps. Tak jak pisałem różnica w taktowaniu BRG po obu stronach jest zbyt duża aby można było zachować poprawną transmisję.
Teoretycznie gdy mamy klasyczny UART (com port) powinno jeszcze dać się uzyskać 115200 bps, po stronie Atari ustawiając 110840bps (HSINDEX=1), czyli najbliższy odpowiednik pecetowego 115200bps (6x19200bps), gdzie odchyłka jest <5%, to samo tyczy się szybkości 76800bps (4x19200, HSINDEX=5).
Niestety na pecetach które posiadam jakoś to nie działało, ale nie bardzo wnikałem dlaczego, szczególnie że PC z klasycznymi COM-ami stały się rzadkością, a ja przesiadłem się na FT232. Ale sprawdzę to ponownie przy najbliższej okazji i dam znać.
Powiedz, do czego Ci to jest potrzebne, bo pomysły lepiej przychodzą do głowy, jak się zna problem.
Wg mnie może nie działać z wyższymi częstotliwościami, bo te odchyłki typu 5% to jest przesunięcie bitu stopu o pół jego długości (przy 10 bitach transmisji wraz ze start i stop). A dzisiejsze uarty śmarty SAMPLUJĄ linię np. 4 czy 8 razy na bod i biorą wynik (np. medianę, czy porównanie). Więc próg błędu prędkości transmisji jest zbyt duży, bo start bit może się przesunąć (tzn jego wykrycie).
Wg mnie bezpieczny margines to max 2-3%, 5% jest teoretycznie brzegowy, powyżej tego progu nie ma prawa (znów teoretycznie) działać, poniżej może się zdarzyć, że zadziała.
Nie wiem, jak pokey wykrywa stan linii, ale na 90% sampluje raz w połowie bitu.