F60-67 (1041605), страница 37
Текст из файла (страница 37)
Кроме этого, допустимое напряжение на выводахПорта 0 составляет 5В. Структурная схема ячейки порта ввода/вывода показана на рис.18.1. Электрическиехарактеристики портов ввода/вывода приведены в табл. 18.1.Рисунок 18.1. Структурная схема ячейки порта ввода/вывода/ВКЛЮЧЕНИЕ СЛАБОТОКОВОЙПОДТЯЖКИ/ВЫБОР РЕЖИМА(ОТКР. СТОК / ЦИФР.
ВЫХОД)VDDVDD/ВКЛЮЧЕНИЕВЫХОДА ПОРТА(СЛАБОТОКОВАЯПОДТЯЖКА)ВНЕШНИЙВЫВОДПОРТАВЫХОД ПОРТАВыбор аналоговоговхода(Порт 1, 2, 3)АНАЛОГОВЫЙВХОДDGNDВХОД ПОРТАТаблица 18.1. Электрические характеристики портов ввода/выводаVDD = 2.7 … 3.6В, Т = от -40ºC до +85ºC, если не указано иное.ПАРАМЕТРУСЛОВИЯВыходное напряжениеIOH= -10мкА, порт ввода/вывода – цифровой вход/выходвысокого уровня (VOH)IOH= -3мА, порт ввода/вывода – цифровой вход/выходВыходное напряжениеIOL= 10мкАIOL= 8.5мАнизкого уровня (VOL)Входное напряжениевысокого уровня (VIH)Входное напряжениенизкого уровня (VIL)Ток утечки входаDGND < Вывод порта < VDD, вывод ввысокоимпедансном состоянии,слаботоковая подтяжка отключенаслаботоковая подтяжка включенаВходная емкость203Ред. 1.2Мин.VDD –0.1VDD –0.7Тип.Макс.Ед.
изм.В0.10.6ВВ0.7 xVDD0.3 xVDDВмкА±1105пФC8051F060/1/2/3/4/5/6/7Микроконтроллеры имеют различные цифровые ресурсы, которые доступны через четыре младшихпорта ввода/вывода: Р0, Р1, Р2 и (для C8051F060/2/4/6) Р3. Каждый из выводов портов Р0, Р1, Р2 и Р3 можетбыть определен либо как вывод ввода/вывода общего назначения, либо как вывод, управляемый внутреннимицифровыми ресурсами (например, УАПП0 или /INT1), как показано на рис.18.2.
Разработчик системыопределяет, какие цифровые ресурсы будут назначены внешним выводам, ограничиваясь только количествомдоступных выводов. Гибкость при распределении ресурсов достигается благодаря использованиюприоритетного декодера матрицы. Следует иметь ввиду, что состояние вывода порта ввода/вывода всегдаможно прочитать из соответствующего регистра данных независимо от того, как функционирует этот вывод:как вывод ввода/вывода общего назначения или как вывод, назначенный какому-либо внутреннему цифровомуресурсу.
Выводы Порта 2 могут использоваться как входы аналоговых компараторов напряжения. В МКC8051F060/1/2/3 выводы Порта 1 могут использоваться как аналоговые входы АЦП2.Старшие порты (в МК C8051F060/2/4/6) могут использоваться как порты ввода/вывода общегоназначения, доступные в побайтном режиме адресации, или как выводы интерфейса внешней памяти, сигналыкоторого активны во время выполнения команды MOVX, обращающейся по адресу, расположенному вовнешней (не встроенной) памяти. Подробная информация об интерфейсе внешней памяти приведена вразделе 17.Рисунок 18.2. Функциональная схема портов ввода/выводаНаибольшийприоритет2УАПП02SMBus(внутренние цифровые сигналы)РегистрыP0MDOUT, P1MDOUT,P2MDOUT, P3MDOUT4SPIНаименьшийприоритетРегистрыXBR0, XBR1, XBR2,XBR3 P1MDIN,P2MDIN, P3MDIN2УАПП1ВнешниевыводыПриоритетныйдекодер86ПМСВыходыкомп-вЯчейкиввода/выводапорта 0P0.0Ячейкиввода/выводапорта 1P1.0Ячейкиввода/выводапорта 2P2.0Ячейкиввода/выводапорта 3P3.0НаибольшийприоритетP0.72ЦифроваяматрицаT0, T1,T2, T2EX,T3, T3EX,T4,T4EX,/INT0,/INT18P1.788/SYSCLKP2.7CNVSTR288P0(P0.0-P0.7)На входАЦП28P1ЗащелкипортовP3.7НаименьшийприоритеттолькоC8051F060/2На компараторы(P1.0-P1.7)8P2(P2.0-P2.7)8P3(P3.0-P3.7)Ред.
1.2204C8051F060/1/2/3/4/5/6/718.1. Порты 3 – 0 и приоритетный декодер матрицыПриоритетный декодер матрицы, или “матрица”, распределяет и назначает выводы портов Р3 – Р0цифровым периферийным модулям (УАПП, SMBus, ПМС, таймеры и т.д.) микроконтроллера, используя дляэтого приоритеты. Выводы портов распределяются, начиная с порта Р0.0 и (если необходимо) до порта Р3.7(C8051F060/2/4/6) или Р2.7 (C8051F061/3/5/7).
Цифровые периферийные модули назначаются выводам портов всоответствии с их приоритетом (см. рис. 18.3). УАПП0 имеет наивысший приоритет, CNVSTR2 имеет самыйнизкий приоритет.18.1.1. Назначение и распределение выводов при помощи матрицыМатрица назначает выводы портов периферийным модулям, если соответствующие биты подключенияв регистрах конфигурации матрицы XBR0, XBR1, XBR2 и XBR3 установлены в 1 (см.
рис.18.5, рис.18.6,Рисунок 18.3. Таблица декодирования приоритетов матрицы(P1MDIN = 0xFF; P2MDIN = 0xFF)Выв. I/OP00670123P3456701234567●SPI0EN: XBR0.1●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●SMB0EN: XBR0.0●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●UART1EN: XBR2.2PCA0ME: XBR0.[5:3]●●●●●●●●●●●●●●●●ECI0E: XBR0.6●●●●●●●●●●●●●●●CP0E: XBR0.7●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●CP0-●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●CP0+●NSS не разводится на вывод порта в трехпроводном режиме SPICP2-●●●●●●●●●●●●●●●●CP2+●●● ●●●●● ●●●●● ●●●●●CP1-●●●CP0●CP1●CP2●T0●/INT0●T1●/INT1●T2●T2EX●T3●T3EX●T4●T4EX/SYSCLK ●CNVSTR2 ●Биты регистровматрицы●●CEX52055UART0EN: XBR0.2CEX4ECIP24CP1+CEX33AIN2.7CEX22AIN2.6CEX11AIN2.5CEX00AIN2.4RX17AIN2.3TX16AIN2.2SDA5AIN2.1●MOSISCLP14●MISONSS3●RX0SCK2AIN2.0TX01CP1E: XBR1.0Ред.
1.2CP2E: XBR3.3T0E: XBR1.1INT0E: XBR1.2T1E: XBR1.3INT1E: XBR1.4●●●●●●●●T2E: XBR1.5●●●●●●●T2EXE: XBR1.6●●●●●●T3E: XBR3.0●●●●●T3EXE: XBR3.1●● ●● ● ●● ● ● ●T4E: XBR2.3T4EXE: XBR2.4SYSCKE: XBR1.7CNVSTE2: XBR3.2C8051F060/1/2/3/4/5/6/7рис.18.7 и рис.18.8). Например, если бит UART0EN (XBR0.2) установлен в 1, то выводы TX0 и RX0 будутотображены на порты Р0.0 и Р0.1 соответственно. Т.к.
УАПП0 имеет наивысший приоритет, то его выводывсегда будут отображаться на порты Р0.0 и Р0.1, когда бит UART0EN установлен в 1. Если биты подключенияцифровых модулей не установлены в 1, то их порты не доступны на внешних выводах портов МК. Важно такжеиметь ввиду, что, если выбраны последовательные порты (т.е. SMBus, SPI, УАПП), то матрица распределяетвсе выводы, ассоциированные с ними. Нельзя, например, назначить вывод RX0 модуля УАПП0 и не назначитьвывод TX0 этого же модуля. SPI может работать в 3-х или 4-х проводном режиме (с выводом NSS или безнего). Назначение внешних выводов микроконтроллера для каждой комбинации подключенных периферийныхмодулей будет уникальным.Все выводы портов Р0 – Р3, не распределенные при помощи матрицы, могут быть доступны каквыводы ввода/вывода общего назначения путем чтения и записи соответствующих регистров данных портов(см.
рис.18.9, рис.18.11, рис.18.14 и рис.18.17), которые доступны как в побитном, так и в побайтном режимахадресации. Состояния выходных драйверов выводов портов, которые распределены матрицей и управляютсяцифровыми периферийными модулями, определяются этими модулями. Запись регистров данных этих портов(или распределенных матрицей битов портов) не будет влиять на состояние этих выводов.Чтение регистра данных порта (или бита порта) всегда возвратит в качестве результата логическоесостояние на выводе порта независимо от того, распределен данный порт матрицей или нет.
Исключениемявляются команды типа чтение-модификация-запись (ANL, ORL, XRL, JBC, CPL, INC, DEC, DJNZ, CLR, SETВи битовые команды MOV). В течение цикла чтения команд типа чтение-модификация-запись считываетсясодержимое регистра данных порта, а не логическое состояние самих выводов портов.Т.к. регистры матрицы влияют на подключение внутренних периферийных модулей к внешнимвыводам МК, то они обычно настраиваются в процессе инициализации системы до настройки самихпериферийных модулей. После первоначальной настройки регистры матрицы обычно не перенастраиваются.После правильной настройки регистров матрицы она включается установкой в 1 бита XBARE(XBR2.4). Пока бит XBARE не установлен в 1, выходные драйверы портов Р0 – Р3 явным образомотключаются, чтобы предотвратить возможные конфликты на выводах портов во время записирегистров матрицы и других регистров, которые могут влиять на внешние выводы МК.Выходные драйверы выводов, распределенных матрицей для входных сигналов (например, RX0 и т.п.),явным образом отключаются; таким образом значения регистров данных портов и регистров PnMDOUT невлияют на состояние этих выводов.18.1.2.
Настройка выходных драйверов портовВыходные драйверы портов Р0 – Р3 остаются отключенными до тех пор, пока матрица не будетвключена установкой в 1 бита XBARE (XBR2.4).Выходной драйвер каждого порта можно настроить либо как цифровой двухтактный выход, либо каквыход с открытым стоком. При работе в режиме цифрового двухтактного выхода запись лог. ‘0’ всоответствующий бит регистра данных порта приведет к «притягиванию» данного вывода порта к землянойшине GND, а запись лог. ‘1’ приведет к «притягиванию» данного вывода порта к шине питания VDD. Приработе в режиме выхода с открытым стоком запись лог. ‘0’ в соответствующий бит регистра данных портаприведет к «притягиванию» данного вывода порта к земляной шине GND, а при записи лог.
‘1’ данный выводпорта будет переведен в высокоимпедансное состояние. Режим выхода с открытым стоком полезен в томслучае, если требуется предотвратить конфликты между различными устройствами в системе, когда выводпорта участвует в коллективном взаимодействии, при котором несколько выходов подключаются к одной и тойже физической линии (например, сигнал SDA шины SMBus).Режимы выходов портов Р0 – Р3 определяются битами соответствующих регистров PnMDOUT (см.рис.18.10, рис.18.13, рис.18.16, рис.18.18). Например, при установке в 1 бита P3MDOUT.7 выходной драйверпорта Р3.7 будет настроен как цифровой двухтактный выход, при сбросе в 0 бита P3MDOUT.7 выходнойдрайвер порта Р3.7 будет настроен как выход с открытым стоком. По умолчанию выходные драйверы всехпортов настраиваются как выходы с открытым стоком.Регистры PnMDOUT управляют режимами выхода выводов портов независимо от того, назначает ли ихматрица цифровым ресурсам или нет.