ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
6 мая
847822
Evgeny_CD, Архитектор (13.06.2018 21:22, просмотров: 1180)
Новые dsPIC33CK256MP508 -> содержат инструкцию BFINS --> Bit Field Insert from Wb into Ws. И это гениально, поскольку позволяет легко сделать [схему кодирования с переменным числом битов]! Они копались в моей голове :) http://caxapa.ru/847646.html
http://caxapa.ru/846932.html
Пусть у нас физический канал связи умеет передавать 8 бит (как пример) за один раз. Нам надо с максимальной эффективностью передать биты, и 4 управляющих слова - начало пакета - конец пакета - заполнитель между пакетами - синхросигнал (резерв) Делаем так. Если старший бит ==0, то байт несет 8 информационных битов. == 1, то 5 информационных бит. Старший - признак командного слова, и 2 следующих бита - само слово (4 варианта). Можно также выбрать другие биты, это не важно (возможно, тактовая эффективность будет хуже). Эффективнее этой схемы нет по КПД канала. Но как все это декодировать? Больного много суеты на приемном конце. Чтобы сложить принятое в байтовый буфер, придется сдвигать все принятые байты и разделять принятые биты между двумя байтами в буфере. В ПЛИСке то все ок, а вот процессором муторно. А вот с операцией BFINS Bit Field Insert from Wb into Ws за 2 такта! декодер кратно ускоряется! Для операций сжатия/восстановления это тоже должно быть очень эффективно!