Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Я нашёл ещё один 8b10b код - он вообще кому-нибудь нужен?
Отправлено
vitalyn 25 января 2008 г. 12:32
Вкратце (для тех, кто не в теме). В PCI-e, SATA, DVI используется последовательное кодирование самосинхронизирующимся кодом 8b10. Условия, к нему предъявляемые - примерно одинаковое количество 0 и 1 в потоке, регулярные переходы между уровнями 0 и 1, чтобы обеспечивать устойчивую синхронизацию. Стандартный 8b10b, используемый в SATA и PCI-e (и ещё десяток приложений), обеспечивает не более 6 одинаковых битов подряд (хотя декларируется 5, на самом же деле в потоке при некоторых комбинациях кодов получается 6), а накопленное расхождение количества 1 и 0 может достигать 2. (Считается, что если за кодом с 5 единицами следует код с 6 единицами или с 6 нулями, то расхождение равно 1.)
Короче, я нашёл новый код 8b10b, который имеет не более 4 одинаковых битов подряд и расхождение количества 0 и 1 в потоке - не более 1. Лучше не бывает. Имеются "лишние" коды, которые могут быть использованы в качестве контрольных, например, обозначать начало и конец кадра, межкадровое заполнение, назначащий заполнитель в потоке и т.д. Ещё что не придумал - красивое кодирование-декодирование-синхронизацию.
Вопрос - это кому-нибудь надо? В том плане, что стоит ли мне придумывать красивый кодер-декодер, писать статью об этом коде и тратить на это своё дефицитное время?
Составить ответ | Вернуться на конференцию
Ответы