¬Ошибки и аномалии ¬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. | |