Различия
Здесь показаны различия между двумя версиями данной страницы.
— |
ru:stati:alluoc:uoc [2014/09/04 14:09] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Устройство и совместимость микросхем семейства UOC I ====== | ||
+ | |||
+ | Телевизионные процессоры Ultimate One Chip (UOC) серии TDA93xx/TDA95xx (выпускались до конца сентября 2009г). | ||
+ | БОльшая часть информации о них взята отсюда: | ||
+ | http://www.anyram.net/anyram_ru/portfolio/index.php | ||
+ | |||
+ | Собственно, они первоначально и исследовали все основные проблемы. | ||
+ | ==== Устройство микросхемы UOC ==== | ||
+ | |||
+ | UOC содержат внутри 2 кристалла: | ||
+ | |||
+ | 1. Собственно микроконтроллер на базе x51, аналогичный применявшимся ранее SAA55xx/SAA56xx с интегрированной OTP ROM различного объема и телетекстом (опционально), в нескольких версиях. | ||
+ | |||
+ | 2. Сигнальный процессор, во многом подобный TDA8844/TDA8885, также в нескольких версиях. | ||
+ | |||
+ | Управление сигнальным процессором - по внутренней I2C шине. | ||
+ | ==== Маркировка микросхем UOC ==== | ||
+ | |||
+ | Маркировка на корпусе м/с: | ||
+ | |||
+ | [{{ :ru:stati:uoc-01.jpg?400|Маркировка на корпусе м/с}}] | ||
+ | |||
+ | Номер прошивки (четыре цифры в конце заводской маркировки) - уникален и не повторяется внутри группы UOC TDA93xx/95xx. То есть, например, номеру 0792 соответствует только **TDA9381PS/N2/3I0792** (третья строка - партномер от LG **0ICTMPH010A**), и никаких других TDA93...(TDA95...) с окончанием 0792 нет и не может быть никогда. | ||
+ | |||
+ | Остальные элементы маркировки имеют служебное назначение. | ||
+ | |||
+ | [{{ :ru:stati:alluoc:other_lines.png?600 }}] | ||
+ | |||
+ | ==== Взаимная совместимость ПО ==== | ||
+ | Кроме запрограммированных при изготовлении, UOC выпускались и в виде OTP (однократно программируемых болванок с различным набором опций). | ||
+ | |||
+ | Совместимость прошивок ROM и OTP болванок определяется следующими различиями: | ||
+ | |||
+ | 1. Версия микроконтроллера и сигнального процессора: 2 основных типа – тип 1 (TDA93xxPS/N1) и улучшенный – тип 2 (все остальные). Между собой ограниченно совместимы, но лучше обойтись без экспериментов. | ||
+ | |||
+ | [[ru:stati:alluoc:uocn1n2fw|Возможности применения и адаптации ПО в UOC разных версий]] | ||
+ | |||
+ | 2. Размер памяти (ROM/RAM): 64K/1K или 128K/2K. Прошивки меньшего размера ROM могут быть размещены в болванке с бОльшим. Прошивки, рассчитанные на 2K RAM, не будут работать в болванке с 1K RAM. | ||
+ | |||
+ | 3. Телетекст: нет телетекста, 1-страничный, 10-страничный. Прошивки от м/с с 1-страничным телетекстом можно поместить в болванку без него – работать будет все, кроме приема телетекста. Прошивки от м/с с 10-страничным телетекстом требуют 2K RAM, иначе ничего работать не будет вообще. | ||
+ | |||
+ | 4. Путь обработки звука: FM или QSS. Касается только корпусов SDIP-64. Прошивки от FM нельзя переносить в болванки QSS, и наоборот – не будет звука. Для корпусов QFP-80 этого различия нет. | ||
+ | |||
+ | 5. Структура памяти: обычная или Split Memory. Между собой несовместимы. | ||
+ | |||
+ | 6. В серии TDA959x вывод 44 для корпуса SDIP-64 (49 – для QFP-80) используется как выход сигнала Scan Velocity Modulation (SVM). В серии Split Memory эта опция есть в TDA9376. | ||
+ | |||
+ | SVM – вещь малополезная, к тому же работающая только в системе PAL, ее отсутствие практически незаметно. Поэтому можно спокойно размещать прошивки от TDA959x в других болванках. | ||
+ | |||
+ | В то же время перенос прошивки обычной м/с в корпусе SDIP-64 в болванку с SVM может быть затруднителен, поскольку вывод 44 (линейный выход звука) будет занят под SVM, и звуковой сигнал придется снимать с вывода Audio Deemphasis: 28 (FM) или 32 (QSS в режиме внутреннего декодирования) через повторитель, что потребует изменений в схеме. | ||
+ | |||
+ | В корпусе QFP-80 вывод 49 практически никогда не используется, поэтому такие болванки с SVM можно применять вместо обычных. | ||
+ | |||
+ | 7. TDA939xH значительно отличаются от всех остальных: нет радиоканала, и выводы аналоговой части расположены по-другому. Несовместимы с другими. | ||
+ | |||
+ | Bсе остальные опции, в том числе EW-коррекция, системы ТВ и т.д. на самом деле присутствуют всегда, независимо от названия болванки. На рисунках изменяемые опции выделены: | ||
+ | |||
+ | Для корпуса SDIP-64 | ||
+ | |||
+ | [{{ :ru:stati:uoc-02.jpg?400|Опции для корпуса SDIP-64}}] | ||
+ | |||
+ | Для корпуса QFP-80 | ||
+ | |||
+ | [{{ :ru:stati:uoc-03.jpg?400|Опции для корпуса QFP-80}}] | ||
+ | |||
+ | Однако если при разработке ПО использовались библиотеки Philips (а таких прошивок большинство), то прямой перенос ПО из одного типа болванок в другой невозможен. Это связано с наличием предустановленных байтов сигнатуры в Character ROM: прошивки, созданные средствами разработки от Philips, при инициализации обращаются к сигнатуре. Чтобы избежать этого при смене болванки, требуется патч. Задача – сделать прошивку не зависящей от сигнатуры. | ||
+ | |||
+ | UOC типа Split Memory (см. таблицу) принципиально отличаются по структуре памяти. Их прошивки несовместимы с обычными, хотя назначение выводов одинаково, и в одном и том же шасси могут стоять как обычные, так и Split Memory. Они проще, чем обычные UOC, корпуса SDIP-64 тоже бывают разных конфигураций по звуку (FM и QSS). И также при переносе прошивок может потребоваться патч. | ||
+ | |||
+ | В предложенной программе предусмотрен скрипт для патча. | ||
+ | |||
+ | {{:ru:stati:alluoc:uoc_patch..pdf|Интересующимся - простое описание процесса}} | ||
+ | |||
+ | Для анализа прошивок применим встроенный в программу hex-редактор с функцией поиска и сравнения. Можно также использовать, например, 010-Editor или что-нибудь попроще, например, редактор от какого-нибудь программатора. | ||
+ | |||
+ | В таблице {{:ru:stati:alluoc:otpdevice_.xls|OTPDevice+}} указаны основные параметры для разных типов UOC. | ||
+ | |||
+ | Очень подробно об этом - опять же на сайте разработчиков: | ||
+ | |||
+ | http://www.anyram.net/forum/viewtopic.php?id=18 | ||
+ | |||
+ | http://www.anyram.net/forum/viewtopic.php?id=42 | ||