-
- Да нету прямой связи между фронтом CS и (пере)записью каких-либо
унутренних регистров! Внутренняя логика устройства может работать
совсем от другого тактового сигнала и начать обрабатывать
(пере-записывать принятые или подкидывать в последовательный канал
выходные данные) еще до завершения транзакции. CS это лишь признак
начала/окончания транзакции и усё! Он управляет логикой интерфейса
связи, а не логикой работы самого устройства. - reZident(13.06.2023 13:46)
- Да, можэт. От тот техасский АЦП из этой серии. Воткнуть его в
цэпочку устройств, нельзя. Для работы его нужно выделить в
отдельный загончик. По входу он должэн ловить только то, что нужно
только ему. Т.е. это голимая пропиретарщина. Я вам это ужэ пол-дня
объясняю. Причом нет никакой причины, чтобы нельзя было сделать по
уму. Обычное рукожопие. - mse homjak(13.06.2023 14:04)
- А я вам объясняю, что нету прямой связи между CS и внутренней
логикой работы устройства. Взять тот же STM32. У него сдвиговый
регистр максимум 16-разрядный, а передавать через SPI можно ажно
килобайты без "отмашки" каждых 2 байт CS-ом, не так ли? Потому, что
унутренний конвейер позволяет подтаскивать данные в сдвиговый
регистр SPI и производить перезапись в/из него согласно своей
унутренней логике работы модуля SPI. Фронт CS, то бишь NSS лишь
запрещает тактировать reZident(133 знак., 13.06.2023 14:33)
- Можно. Но в регистрах управления есть биты, отвечающие за это. Т.е.
можно (было бы) отмахивать CS каждое слово, а можно не обмахивать.
Можно было бы пользовать устройства типа ЕЕПРОМ, с последовательной
многобайтной записью и можно было бы пользовать устройства с
фиксированной длиной слова. Причом, используя ДМА. А так, налицо
какая-то херня, когда имеем, вроде бы, полный набор для скоростной
работы с узлом без участия процэссора, но вынуждены сидеть в цыкле
и mse homjak(24 знак., 13.06.2023 14:48)
- Хужэ того, чтобы привести работу CS в нормальное состояние, достаточно просто вывести на него сигнал ~BUSY. Фсио. Ну, разве что, подмешать к нему TXempty, если BUSY формируется через жопу(скорее всего). Делов-то. А имеем откровенное рукожопство, замешанное на похуизме. Пипл хавает. - mse homjak(13.06.2023 17:44)
- Можно. Но в регистрах управления есть биты, отвечающие за это. Т.е.
можно (было бы) отмахивать CS каждое слово, а можно не обмахивать.
Можно было бы пользовать устройства типа ЕЕПРОМ, с последовательной
многобайтной записью и можно было бы пользовать устройства с
фиксированной длиной слова. Причом, используя ДМА. А так, налицо
какая-то херня, когда имеем, вроде бы, полный набор для скоростной
работы с узлом без участия процэссора, но вынуждены сидеть в цыкле
и mse homjak(24 знак., 13.06.2023 14:48)
- А я вам объясняю, что нету прямой связи между CS и внутренней
логикой работы устройства. Взять тот же STM32. У него сдвиговый
регистр максимум 16-разрядный, а передавать через SPI можно ажно
килобайты без "отмашки" каждых 2 байт CS-ом, не так ли? Потому, что
унутренний конвейер позволяет подтаскивать данные в сдвиговый
регистр SPI и производить перезапись в/из него согласно своей
унутренней логике работы модуля SPI. Фронт CS, то бишь NSS лишь
запрещает тактировать reZident(133 знак., 13.06.2023 14:33)
- Да, можэт. От тот техасский АЦП из этой серии. Воткнуть его в
цэпочку устройств, нельзя. Для работы его нужно выделить в
отдельный загончик. По входу он должэн ловить только то, что нужно
только ему. Т.е. это голимая пропиретарщина. Я вам это ужэ пол-дня
объясняю. Причом нет никакой причины, чтобы нельзя было сделать по
уму. Обычное рукожопие. - mse homjak(13.06.2023 14:04)
- Да нету прямой связи между фронтом CS и (пере)записью каких-либо
унутренних регистров! Внутренняя логика устройства может работать
совсем от другого тактового сигнала и начать обрабатывать
(пере-записывать принятые или подкидывать в последовательный канал
выходные данные) еще до завершения транзакции. CS это лишь признак
начала/окончания транзакции и усё! Он управляет логикой интерфейса
связи, а не логикой работы самого устройства. - reZident(13.06.2023 13:46)