zubr писал(а):И правильно! Не надо разбираться почему они теряются. Наверное так и должно быть.
Использовался стандартный драйвер Windows (usbser.sys), совместно как с библиотекой qExtSerialPort, так и просто с функциями winapi. Проблема вероятнее всего в самом драйвере usbser.sys. http://www.microchip.com/forums/fb.aspx?m=332576:
When the transfer size is just the multiple of 64 bytes (max packet size of bulk IN EP), ReadFile doesn't finish until zero length packet is received, even if the actual transfer size is equal to the requested size.
Как раз мой случай - слал блоки по 512 байт, последний принимается не полностью.
zubr писал(а):А ты уверен что при работе напрямую они не будут теряться?
Проверено, не теряются.
zubr писал(а):Наверное всеже проблема не в последовательном порте, а где то рядом.
Да, похоже что рядом с портом - в его драйвере.
=DeaD= писал(а):2blindman: А через что под виндой работал? может там буфер увеличить, данные успеваешь забирать?
Успеваю, весь блок данных забирается в свой буфер одним вызовом ReadFile
Если кто думает, что тема заглохла, то сильно ошибается. Потихоньку пишу софт, а также вношу изменения в схему, исправляя найденные косяки.
Возник вопрос по защите от перенапряжения. Я поставил 2 диода между входом ОУ и +/- питания. Защищать-то оно будет, но только до тех пор, пока не снято питание. А потом может быть кирдык. Соответственно вопрос - как это поправить? Изначально думал поставить стабилитроны встречно-параллельно, но мне сказали, что это плохо, типа они при 70% от номинала будут валить сигнал ...
Стабилитрон на питание поставь. А лучще TVS. без них питание не поможет так как стабилизаторы обычно не сопротивляются подъему напруги на выходе и сами кирдыкаются без диода с выхода анодом на вход катодом. TVS и конденсатор - это сила, так как спасает схему и от кирдыка самого стабилизатора.
Пока что вариант решения проблемы вижу такой: входной делитель с фиксированным коэффициентом, питание повторителя поднять минимум до +-6В с заменой ОУ (у OPA2350 максимум +-3), управляемый делитель между повторителем и дифф. драйвером. У него входное сопротивление на порядки меньше, чем у повторителя, соответственно гораздо меньше будет сказываться паразитная емкость.