MicroConverter - Описание ошибок и аномалий ADuC812
¬Ошибки и аномалии
¬MicroConverter™
¬Компоненты Analog Devices

Введение (Original Rev.E.2)

A.Настоящий документ представляет известные (выявленные) ошибки, аномалии и недочеты работы MicroConverter™ ADuC812 для данной редакции чипа.
B.Настоящий документ годен для изделий, обозначенных следующим образом.
 
    (Этап производства)
    ADUC812BS
    Штамп даты    Логотип AD
    Номер партииr
 
    где штамп даты больше или равен 9933
 
    (Исключение)
    Ошибки и аномалии, перечисленные в этом документе принадлежат
    и изделиям с номером партии/штампом даты = F104366.1/9925
C.Ошибки и аномалии, присущие изделиям предыдущих ревизий, доступны в PDF формате (см. список выше).
D.Настоящий документ периодически обновляется вследствие выпуска чипов новых редакций.
E.ADI заверяет, что все ревизии кристалла направлены на улучшение его эксплуатационных характеристик. AD гарантирует, что все будущие ревизии кристалла, тем не менее, сохранят системно - программную совместимость с учетом настоящих рекомендаций.
 

Ошибки и аномалии

1) ФУНКЦИЯ АЦП - РАБОТА В РЕЖИМЕ ПДП
 Исходный текст При работе в обычном режиме или в режиме ПДП АЦП можно запускать одним из 4-х способов: Однократный Программный Запуск, Циклический Программный Запуск, Внешний Запуск и Запуск по Таймеру 2. Начало режима ПДП инициируется установкой бита DMA в регистре ADCCON2 SFR , при этом, контроллер DMA стартует с адреса, записанного в регистрах DMAL/H/P. Как только процесс преобразования с ПДП заканчивается, биты DMA и управления преобразованием сбрасываются контроллером ПДП.
 В текущем кристалле a. При запуске от Таймера 2 режим ПДП не будет начат до тех пор, пока адрес ПДП в регистрах DMAL/H/H в начале не будет установлен 000000Н.
б. Биты режима преобразования (EXTC, T2C) не сбрасываются до завершения процесса ПДП, начатого Таймером 2 или Внешним Запуском.
в. Запись в регистры адреса ПДП DMAL и DMAH может испортить содержимое младшего бита (LSB) соседних регистров (DMAH, DMAP).
 Как обойти a. При работе с ПДП, инициируемым Таймером 2, гарантируйте прежде всего, что установлен начальный адрес 000000Н.
б. При работе с ПДП , инициируемым Таймером 2 или Сигналами Внешнего Запуска, обеспечьте прежде всего, чтобы биты ЕХЕС и Т2С сбрасывались путем записи в них 0 сразу же по завершению режима ПДП. Это гарантирует, что АЦП остановит преобразование сразу же по завершению ПДП.
в. Адрес ПДП следует записывать в следующем порядке: DMAL, DMAH, DMAP.
 
2) ФУНКЦИЯ АЦП - ВРЕМЯ МЕЖДУ А-Ц ПРЕОБРАЗОВАНИЯМИ
 Исходный текст АЦП может быть инициировано одним из четырех событий в нормальном и ПДП режимах, соответственно, одиночное программное преобразование, непрерывное программное преобразование, преобразование по триггеру внешнего вывода и Таймер 2. Во всех режимах работы АЦП специфицировано для 12-разрядных характеристик нелинейности INL и DNL.
 В текущем кристалле Если А-Ц преобразование инициировано спустя более 100 мс от последнего преобразования, точность нового результата не гарантируется.
 Как обойти Пропустите или повторите первое преобразование, если время между этим и предыдущим преобразованием больше 100 мс.
 
3) ФУНКЦИЯ UART - РЕЖИМ МУЛЬТИПРОЦЕССОРНОЙ СВЯЗИ
 Исходный текст При работе UART в режиме 2 или 3 (программируемом через SCON) имеется специальная возможность для мультипроцессорной связи. В этих режимах с линии принимается девять бит данных, причем 9-й бит записывается в разряд RB8. В этом режиме порт можно запрограммировать таким образом, что тогда, когда принимается стоповый бит, прерывание Последовательного Порта возникает только при RB8(SCON) = 1. Эта возможность реализуется путем установки бита разрешения SM2 в регистре SCON.
 В текущем кристалле При установленном бите SM2 прерывание от последовательного порта будет возникать всякий раз по приходу стопового бита вне зависимости от состояния бита RB8.
 Как обойти В прикладной программе обслуживания прерывания от последовательного порта следует использовать программный опрос бита RB8. Если RB8 = 0, следует выйти из прерывания, если RB8 = 1, выполнить программу обслуживания прерывания.
 
4) ФУНКЦИЯ SPI - ВЛИЯНИЕ БИТА ISPI В ПРЕРЫВАНИИ ОТ SPI
 Исходный текст Бит ISPI в регистре SPICON при возникновении прерывания от SPI устанавливается в конце передачи (на 8-м такте передачи). В общем случае этот бит можно использовать в программе обслуживания прерывания SPI по Адресу Вектора 003ВН. Иначе этот бит можно проверять программно для определения момента приема нового события или завершения передачи байта.
 В текущем кристалле Этот бит автоматически очищается при переходе по вектору прерывания от SPI. Однако в этот бит не доступен для программной записи и не очищается при последовательном доступе к данным в программном опросе данного бита. Сказанное выше означает, что при использовании схемы программного опроса бит ISPI устанавливается после первой передачи и не будет очищаться при других последовательных передачах, что приведет к считыванию одного и того же начального байта, либо к порче переданной информации из-за доступа к ней в моменты, когда передача еще не завершена.
 Как обойти A При обслуживании SPI работать только в режиме прерывания, избегая тем самым проблему, связанную с недоступностью бита ISPI.
 Как обойти B При обслуживании SPI в режиме "Ведущий" использовать холостые "NOP" операции, давая тем самым время для передачи 8 бит данных, до обращения к регистру данных SPI.
 
5) ФУНКЦИЯ SPI - РАБОТА В РЕЖИМЕ "ВЕДОМЫЙ"
 Исходный текст При синхронном взаимодействии в режиме "Ведомый" (CPOL=0/1, CPHA=0) новая величина MSB появится в MISO в момент отрицательного перепада строба SS/.
 В текущем кристалле При синхронном взаимодействии в режиме "Ведомый" SPI как передатчик работает не правильно при 00 и 10 (т.е. когда CPHA=0). Старший разряд передаваемого байта MSB искажается MSB только что принятого байта.
 Как обойти Для передачи в режиме "Ведомый" следует использовать Альтернативный режим работы (CPOL=0/1, CPHA=1).
 
6) ФУНКЦИЯ ПОДТЯГИВАНИЯ К ПИТАНИЮ В ПОРТУ 2 И ПОРТУ 3.3
 Исходный текст Подобно стандартному 8051 функционально Порт 2 (Р2.0 - Р2.7) и Порт 3 (Р3.0 - Р3.7) - порты цифрового ввода/вывода ADuC812 имеют встроенные внутренние резисторы к питанию.
 В текущем кристалле В данной версии кристалла все контакты Порта 2 и Порт 3.3 при использовании в качестве цифрового вывода, выполнены по схеме с открытым стоком.
 Как обойти При использовании Порта 2 и Порт 3.3 в качестве цифрового вывода следует использовать внешние резисторы на источник питания.
 
7) ПАМЯТЬ FLASH/EE - ПРОГРАММИРОВАНИЕ ПРИ 3В ПИТАНИИ
 Исходный текст ADuC812 содержит два раздельных массива FLASH/EE памяти: 8К байт внутренней памяти кода (программ) и 640 байт памяти данных. 8КБ памяти кода можно программировать либо через последовательный интерфейс, либо в режиме параллельного программирования, в то время как 640 Б можно заполнять программным образом из пользовательского прикладного программного обеспечения посредством интерфейса через регистры SFR.
 В текущем кристалле В настоящей редакции кристалла программирование всей FLASH/EE памяти возможно только при напряжении цифрового источника питания (DVdd) не менее чем 4.5В.
 Как обойти Устройство следует программировать при DVdd = 5В.
 
8) ВЫПОЛНЕНИЕ ПРОГРАММЫ - ПЕРЕХОД С ВНУТРЕННЕЙ ПАМЯТИ КОДА К ВНЕШНЕЙ
 Исходный текст Как и в случае стандартного микроконтроллера 8051, ADuC812 будет исполнять код во внутренней памяти, когда контакт ЕА/ = 1 - находится при высоком логическом уровне. Если счетчик команд переходит границу 8К внутренней памяти или осуществляет переход в область адресов памяти больших чем 8К (например, по инструкции безусловного перехода), то разрешается доступ к внешней памяти программ с тем, чтобы можно было продолжить там выполнение кода.
 В текущем кристалле Переход с внутренней памяти кода к внешней происходит не корректно. Выходы порта Р0, содержащего младший байт адреса, во время выборки кода операции работают не корректно в момент выполнения цикла выборки первого байта кода, что приводит к не верному выполнению операции. Эта аномалия имеет место в момент перехода с внутренней памяти к внешней или при выполнении инструкции безусловного перехода, или при выполнении команды обращения к подпрограмме, расположенной во внешней памяти.
 Как обойти Прикладная программа пользователя должна выполнить непосредственно перед переходом в область внешней памяти загрузку Порта Р0: "MOV P0, #00H", что позволяет обойти указанную аномалию.
 
9) ФУНКЦИЯ PSMCON.1 БИТА В РЕГИСТРЕ PSMCON SFR
 Исходный текст Бит PSMCON.1 в регистре PSMCON SFR можно использовать для индикации того, который из источников питания (цифровой или аналоговый) находится в подпороговом, сбойном состоянии. При PSMCON.1 = 0 в состоянии сбоя находится DVdd, а при PSMCON.1 = 1 - AVdd.
 В текущем кристалле Если биты выбора величины порога соответствуют значениям 4.63В или 4.37В, то бит PSMCON.1 может не верно указывать на то, который из источников находится в состоянии сбоя (AVdd или DVdd).
 Как обойти Решение пока не найдено.
 Информация Следует отметить, что в то время как поведение бита индикатора перехода подозрительно, монитор PSM на 100% работоспособен (даже при 4.63В или 4.37В) и генерирует прерывание как только напряжение на одном из источников понижается ниже установленного порога.
 
11) НАПРЯЖЕНИЕ НА ЛОГИЧЕСКОМ ВХОДЕ XTAL1
   Вход XTAL1 не включен в спецификацию по высокому входному уровню. Напряжение высокого уровня на входе XTAL1 должно быть не менее 4.0 В.
 
12) ВХОД В РЕЖИМ ПОСЛЕДОВАТЕЛЬНОЙ ЗАГРУЗКИ
 Исходный текст Если вывод PSEN/ (#41) заземлен через внешний согласующий резистор во время нового энергетического цикла или снятии уровня сигнала на выводе RESET (#15), ADuC812 переходит в режим последовательной загрузки.
 В текущем кристалле Некоторые устройства ADuC812, находясь в описанных условиях, могут не перейти в режим последовательной загрузки, оставаясь вместо этого в нормальном рабочем режиме.
 Как обойти Для устройств с номером версии ядра меньше V210: необходимо применять режим параллельного программирования для устройств, отказывающихся переходить в режим последовательного программирования.
 
Для устройств с номером версии ядра равным или больше V210: устройства могут войти в режим последовательного программирования при температуре равной или меньше 25°С, для устройств при более высокой температуре дальнейшее переключение вывода RESET должно гарантировать вход в режим последовательного программирования.
 
Номер версии ядра описан в строке идентификации, возвращаемой ADuC812 через последовательный порт во время входа в режим последовательного программирования. Обратитесь к техническому замечанию uC004 для уточнения деталей.
 
13) ВНЕШНЯЯ ОПЕРАЦИЯ НАЧАЛЬНОГО СБРОСА - ОБНОВЛЕНИЕ ДОКУМЕНТАЦИИ
   Вся документация по ADuC812 обновлена для включения рекомендаций по внешнему управлению вывода RESET (#15) схемой начального сброса во время различных режимов. Эти рекомендации включены в новую ревизию (Rev.A) спецификации ADuC812.
 
14) ФУНКЦИЯ UART - ФОРМИРОВАНИЕ СКОРОСТИ ОБМЕНА В РЕЖИМЕ СОСТАВНОГО ТАЙМЕРА
 Исходный текст Таймер 0 может использоваться как два 8-битных таймера (Режим 3). Поскольку в режиме составного таймера флаг переполнения Таймера 1 использует Таймер 0, Таймер 1 может использоваться только или для формирования скорости обмена, или как таймер, поскольку он не требует прерываний.
 В текущем кристалле Если таймеры сконфигурированы как описано выше, и Таймер 1 выступает в роли формирователя скорости обмена UART, перезагружающее значение в TH1 не записывается в TH0, поэтому скорость обмена устанавливается неправильно.
 Как обойти Решение пока не найдено.
 Информация Все другие режимы работы таймеров и формирования скорости обмена UART работают корректно.
 
15) ФУНКЦИЯ СБРОСА ПРИ ЗАПУСКЕ ТОЛЬКО ИЗ ВНЕШНЕЙ ПАМЯТИ
 Исходный текст ADuC812 может быть сброшен тремя способами:
а. при включении питания, б. переключением RESET, в. сторожевым таймером.
 В текущем кристалле а. при запуске только из внешней памяти, т.е. контакт EA/ находится на низком уровне, сброс ADuC812 через RESET вызовет перевод изделия в режим внутренней эмуляции.
б. при запуске только из внешней памяти, т.е. контакт EA/ находится на низком уровне, сторожевой таймер может вызвать перевод изделия в режим внутренней эмуляции.
 Как обойти а. последовательное переключение RESET вызовет сброс изделия.
б. вывод PSEN/ должен быть переведен на низкий уровень через внешний резистор (максимум 4 Ом), это предотвратит перевод изделия в режим внутренней эмуляции и вызовет корректный сброс изделия.
 Информация а. эта проблема не возникает в режиме загрузке только из внутренней памяти.
б. эта проблема не возникает в режиме загрузке из внутренней и внешней памяти.
в. эта проблема не возникает при включении питания ADuC812.