Цитата(aaarrr @ Dec 29 2009, 00:36)

Расширьте PERIOD.
По Юзергайду "a period signal is generated at each 2 x (PERIOD+1) Transmit Clock", то есть STTDLY + DATLEN = 2 x (PERIOD+1)
STTDLY = 4, DATLEN = 31, отсюда PERIOD = 17. То есть я просто STTDLY уменьшил на 1 по сравнению с первоначальным вариантом в этом посте. Но как я заметил, при такой конфигурации SSC, как я привел в этом посте, значение поля STTDLY не влияет на паузу, так как PERIOD включает в себя длину 32-битного слова и 4-битную паузу, а в поле CKO у меня Transmit Clock only during data transfers. То есть, на выводе TK пояаляются имульсы только, когда в буфер загружается слово, а так как слово (32 бита) на 4 бита меньше периода TF (36), то и появляется пауза.
И всетаки, почему передаваемое слово смещается влево (в сторону старшего бита) на 1 относительно того, что я записываю в регистр THR?
Я прикрепил картинку с эпюрами. Желтый сигнал - вывод TK, розовый - TD. В буфер THR я записываю число 0х2000, а по эпюре видно, что 1 на выводе TD появилась только при 15 такте TK, то есть на выходе SSC уже число 0х4000 (смещено на 1 в сторону старшего).
Эскизы прикрепленных изображений