Realtidsproblem med FTDI 232 R - och lösning.
Postat: 8 november 2014, 10:36:35
Jag har hållit på med ett kort för att styra en remsläsare / stans med en ATmega processor. Den ska kommunicera seriellt och för att styra läsaren ska man skicka en signal "Reader Run" som får läsaren att skicka tillbaka en byte. Allt detta för att vara kompatibel med den PDP-11 jag håller på med. När jag skulle testa detta på en PC (MAC9 så fick jag problem. Det visade sig att jag alltid fick overrun i läsaren och att reader run bara inträffade ungefär var 16:e ms. Mycket felsökande i både Atmega kod och i C-koden för MACen. Ingen lösning tills jag upptäckte att problemet nog hade att göra med USB-dongeln. Efter lite sökande hittade jag den här artikeln.
Sätter jag ned "LatencyTimer" till 1 ms så fungerar det mycket bättre och för att vara helt säker så förändrade jag också ATmega koden så att den har en räknande semafor på reader run. På så sätt så fungerar det både för PDP-11 med bra realtime response och PC / MAC med USB dongle.
Detta är kanske är allmänt känt, men om inte: Kolla "LatencyTimer" om du får problem med USB donglar.
Sätter jag ned "LatencyTimer" till 1 ms så fungerar det mycket bättre och för att vara helt säker så förändrade jag också ATmega koden så att den har en räknande semafor på reader run. På så sätt så fungerar det både för PDP-11 med bra realtime response och PC / MAC med USB dongle.
Detta är kanske är allmänt känt, men om inte: Kolla "LatencyTimer" om du får problem med USB donglar.