Сочетание точных и конечно многоскоростных синхро углов - PullRequest
0 голосов
/ 12 июня 2019

Я хочу объединить двоичные выходные данные курса и точную синхронизацию, иногда называемую объединением многоскоростных преобразователей.

Синхронизатор курса связан x1, поэтому его MSB соответствует весу 180 градусов, а его LSB (10 бит) - 0,35 градуса. Точная синхронизация подключена через коробку передач X36, поэтому она вращается 10 раз за оборот синхро хода, так что ее MSB взвешивается на 5 градусов. и его LSB (14 бит) 0,0006 градуса, и, следовательно, его взвешивание не соответствует синхронизирующему взвешиванию курса, поэтому его просто нельзя добавить.

Единственная ссылка, которую я могу найти в Интернете, касается приложения, генерируемого аппаратной логикой, но его перевод затрудняет просмотр формулы, используемой для сопоставления x36 и x1, чтобы сделать это в программном обеспечении. http://www.ecrimpower.com/uploads/file/20180511/14/_1526021615.pdf

Итак, для двоичных входов: - курс 1011101110 MSB = 180 Каждый бит взвешен / 2, поэтому 180,90,45,22,5 ..... штраф 0101110111000 MSB = 5 Каждый бит взвешен / 2, поэтому 5,2.5,1.25 .....

Комбинированный выходной сигнал должен составлять 263,671 градуса (взят из существующей системы отображения 1980-х)

Большое спасибо Пол

1 Ответ

0 голосов
/ 12 июня 2019

Коллега придумала решение, которое я опубликую здесь, так как в случае, если кто-то ищет в будущем подобные вещи, потому что там ничего нет ....

Сначала преобразуйте данныебиты от каждой синхронизации, добавляя угол каждого взвешивания битов. Синхронизация курса = BB 80 Hex будет 180 + 45 + 22,5 + 11,25 и т. д. = 263,671 градуса. Fine Synchro = 5D C0 Hex будет 90 + 22,5 + 11,25 + 5,625 и т.д. = 131,835 градусов.

Теперь, чтобы объединить эти два угловых положения, чтобы получить 12-битный угол разрешения, мы возьмем курс x1 и разделим на 10, затем возьмем целое число и умножим на 10, чтобы дать нам значение курса на том же весе, что и штраф,263.671 / 10 = 26.3671. Int 26 * 10 = 260. Затем мы берем точную синхронизацию x36 и делим на 36, так что она имеет тот же вес, что и курс x1.131,835 / 36 = 3,6621 Затем мы просто добавляем два.260 + 3,6621 = 263,6621 градуса

...