F40-43a (1041604), страница 37
Текст из файла (страница 37)
Например, при установке в 1 бита P3MDOUT.7 выходной драйверпорта Р3.7 будет настроен как цифровой двухтактный выход, при сбросе в 0 бита P3MDOUT.7 выходнойдрайвер порта Р3.7 будет настроен как выход с открытым стоком. По умолчанию выходные драйверы всехпортов настраиваются как выходы с открытым стоком.Регистры PnMDOUT управляют режимами выхода выводов портов независимо от того, назначает ли ихматрица цифровым ресурсам или нет. Исключением являются только выводы модуля SMBus (SDA, SCL),вывод приемника УАПП0 (RX0, в режиме 0) и вывод приемника УАПП1 (RX1, в режиме 0), которые всегданастроены как выходы с открытым стоком независимо от настроек соответствующих бит регистров PnMDOUT.Ред. 1.3194C8051F040/1/2/317.1.3. Настройка выводов портов как цифровых входовВывод порта настраивается как цифровой вход переводом его выходного драйвера в режим выхода соткрытым стоком и записью лог.
‘1’ в соответствующий бит регистра данных порта. Например. Р3.7настраивается как цифровой вход сбросом в 0 бита P3MDOUT.7 и установкой в 1 бита Р3.7.Если вывод порта назначен посредством матрицы цифровому периферийному модулю и этот выводфункционирует как вход (например, RX0, вывод приемника УАПП0), то выходной драйвер этого выводаавтоматически отключается.17.1.4. Слаботоковые подтяжкиКаждый вывод порта имеет внутреннюю слаботоковую подтяжку, которая по умолчанию включена.Она обеспечивает соединение данного вывода с шиной питания VDD через резистор с высокимсопротивлением (около 100кОм). Слаботоковые подтяжки можно глобально отключить, установив в 1 битотключения слаботоковых подтяжек WEAKPUD (XBR2.7). Слаботоковые подтяжки автоматическиотключаются у любого вывода, на который выдается лог.
‘0’, т.е. выход вывода не будет конфликтовать ссобственной слаботоковой подтяжкой. Кроме этого, слаботоковые подтяжки выводов портов 1, 2 и 3 можноотключить, настроив эти выводы как аналоговые входы (см. раздел 17.1.5).17.1.5. Настройка выводов Портов 1, 2 и 3 как аналоговых входов.Выводы Порта 1 могут функционировать в качестве аналоговых входов мультиплексора АЦП2, выводыПорта 2 могут служить аналоговыми входами компараторов напряжения, а выводы Порта 3 могутфункционировать как входы АЦП0. Вывод порта настраивается как аналоговый вход сбросом в 0соответствующего бита в регистрах PnMDIN (см.
рис.17.13). По умолчанию все порты настраиваются какцифровые входы. Настройка вывода порта как аналогового входа:1. Разрывает цепь тока цифрового входа от этого вывода. Это исключает увеличение тока потребленияпри напряжении на этом выводе, близком к значению VDD/2. Чтение бита данных порта возвратитлог.
‘0’ независимо от напряжения на выводе порта.2. Отключает слаботоковую подтяжку от этого вывода.3. Заставляет матрицу «пропускать» этот вывод, если выводы порта назначены цифровымпериферийным модулям.Следует иметь ввиду, что выходные драйверы выводов, настроенных как аналоговые входы, неотключаются явным образом.
Поэтому биты регистров PnMDOUT, соответствующие выводам, настроеннымкак аналоговые входы, следует явно сбросить в 0 (режим выхода с открытым стоком), а соответствующие битыданных портов следует установить в 1 (высокоимпедансное состояние). Также следует иметь ввиду, что нетребуется настраивать вывод порта как аналоговый вход, чтобы использовать его в качестве входа модулейАЦП или компараторов; однако, строго рекомендуется так делать. Подробная информация приведена вразделах данного технического описания, посвященным соответствующим периферийным модулям.195Ред.
1.3C8051F040/1/2/317.1.6. Распределение выводов интерфейса внешней памятиЕсли для сигналов интерфейса внешней памяти используются младшие порты (Р0 – Р3), то следуетустановить в 1 бит EMIFLE (XBR2.5), тогда матрица не будет назначать периферийным модулям портыP0.7 (/WR), P0.6 (/RD) и, если интерфейс внешней памяти функционирует в мультиплексированном режиме,P0.5 (ALE). Пример таблицы декодирования приоритетов матрицы для EMIFLE = 1 и мультиплексированногорежима показан на рис.17.4.
Пример таблицы декодирования приоритетов матрицы для EMIFLE = 1 инемультиплексированного режима показан на рис.17.5.Если для сигналов интерфейса внешней памяти используются младшие порты и происходит обращениек внешней (не встроенной) памяти с помощью команды MOVX, то в течение фазы выполнения команды MOVXинтерфейс внешней памяти будет управлять состоянием выхода находящихся под его влиянием выводовпортов независимо от состояния регистров матрицы или состояния регистров данных портов. Работаинтерфейса внешней памяти не влияет на конфигурацию выходных драйверов выводов портов, за исключениемопераций чтения, при которых явным образом отключаются выходные драйверы шины данных.
Вбольшинстве случаев выводы портов ввода/вывода общего назначения, используемые интерфейсомвнешней памяти (особенно линии /WR и /RD), следует настроить как цифровые двухтактные выходы иперевести в состояние лог. ‘1’. Подробная информация относительно интерфейса внешней памяти приведенав разделе 16.Ред. 1.3196C8051F040/1/2/3Рисунок 17.4. Таблица декодирования приоритетов матрицыP0Выв. I/O0TX0●2CEX0CEX1CEX27CP23P245670123P34567012345●● ● ●●● ●●● ● ●● ●● ● ●● ● ● ●●● ●●● ● ●●● ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●UART1EN: XBR2.2●● ●● ● ●● ● ● ●●● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ● ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●PCA0ME: XBR0.[5:3]●● ●● ● ●● ● ● ●ECI0E: XBR0.6CP0E: XBR0.7CP1E: XBR1.0CP2E: XBR3.3●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ●● ● ●● ● ● ●●T4●T4EX●/SYSCLK ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●Мульт-й адр. (ст.)/Немульт-й адр.
(мл.)Ред. 1.3T1E: XBR1.3●●●●●●●●●●●●AD5/D5AD4/D4AD3/D3AD2/D2AD1/D1AD0/D0A15m/A7A14m/A6A13m/A5A12m/A4A11m/A3A10m/A2A9m/A1A8m/A0AIN1.7/A15AIN1.6/A14AIN1.5/A13AIN1.4/A12/WR/RDALEВходы AIN1/Немульт-й адрес (СЗР)197T0E: XBR1.1INT0E: XBR1.2INT1E: XBR1.4T2E: XBR1.5T2EXE: XBR1.6T3E: XBR3.0●● ●● ●● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●AIN1.3/A11● ● ● ● ●CNVSTR2 ● ● ● ● ●CNVSTR0AIN1.2/A10T3T3EXAIN1.1/A9T2T2EXAIN1.0/A8T1/INT1Биты регистровматрицыSMB0EN: XBR0.0● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●/INT07NSS не разводится на вывод порта в трехпроводном режиме SPI●●● ● ● ● ●● ● ● ● ●● ● ● ● ●T06SPI0EN: XBR0.1CEX5CP12●CEX4ECI1●●CEX3CP00AD7/D7RX16●NSSTX15UART0EN: XBR0.2●MOSISCLP14AD6/D6●MISOSDA3●RX0SCK1Мульт-ые данные/Немульт-ые данныеT3EXE: XBR3.1T4E: XBR2.3T4EXE: XBR2.4SYSCKE: XBR1.7CNVSTE0: XBR2.0CNVSTE2: XBR3.2C8051F040/1/2/3Рисунок 17.5.
Таблица декодирования приоритетов матрицы(EMIFLE = 1; EMIF в немультиплексированном режиме; P1MDIN = 0xFF)P0Выв. I/O0TX0●2●CEX3CEX4CEX50123P245670123P3456701234567Биты регистровматрицыSPI0EN: XBR0.1NSS не разводится на вывод порта в трехпроводном режиме SPI●● ● ● ●●● ● ●●● ● ● ●● ● ●●RX1CEX27●●●SCLCEX16●●NSSCEX05●MOSITX1P14UART0EN: XBR0.2●MISOSDA3●RX0SCK1●●● ● ●● ● ● ●● ● ● ●●●UART1EN: XBR2.2● ● ● ● ●● ● ●●SMB0EN: XBR0.0● ●● ● ● ● ● ●● ●●● ● ● ● ● ● ●● ● ● ● ● ● ● ●●● ● ● ● ● ● ● ● ●●PCA0ME: XBR0.[5:3]● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●ECI0E: XBR0.6CP0● ● ● ● ● ●● ● ● ● ● ●CP1● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●CP1E: XBR1.0CP2● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●CP2E: XBR3.3T0● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●/INT0● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●INT0E: XBR1.2T1● ● ● ● ● ●● ● ● ● ● ●/INT1● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●INT1E: XBR1.4T2● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●T2EX● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●T2EXE: XBR1.6T3● ● ● ● ● ●● ● ● ● ● ●T3EX● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●T3EXE: XBR3.1T4● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●ECICP0E: XBR0.7T0E: XBR1.1T1E: XBR1.3T2E: XBR1.5T3E: XBR3.0T4E: XBR2.3Входы AIN1/Немульт-й адрес (СЗР)Мульт-й адр.
(ст.)/Немульт-й адр. (мл.)Ред. 1.3T4EXE: XBR2.4AD7/D7AD6/D6AD5/D5AD4/D4AD3/D3AD2/D2AD1/D1AD0/D0A15m/A7A14m/A6A13m/A5A12m/A4A11m/A3A10m/A2/WR/RDALEA9m/A1CNVSTE2: XBR3.2A8m/A0● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●AIN1.7/A15● ● ● ● ● ●AIN1.6/A14CNVSTR2AIN1.5/A13CNVSTE0: XBR2.0AIN1.4/A12● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●AIN1.3/A11● ● ● ● ● ●AIN1.2/A10SYSCKE: XBR1.7CNVSTR0AIN1.1/A9● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●AIN1.0/A8● ● ● ● ● ●/SYSCLK ● ● ● ● ● ●T4EXМульт-ые данные/Немульт-ые данные198C8051F040/1/2/317.1.7.
Пример назначения выводов при помощи матрицыВ этом примере (см. рис.17.6) мы настроим матрицу таким образом, чтобы назначить выводы портовдля УАПП0, SMBus, УАПП1, /INT0 и /INT1 (всего 8 выводов). Дополнительно мы настроим интерфейсвнешней памяти таким образом, чтобы он работал в мультиплексированном режиме, а для его сигналовиспользовались младшие порты. Затем мы настроим Р1.2, Р1.3 и Р1.4 как аналоговые входы, что позволитизмерять напряжение на этих выводах с помощью АЦП2. Описание настройки (по «шагам») приведено ниже:1. XBR0, XBR1 и XBR2 настраиваются так, чтобы UART0EN = 1, SMB0EN = 1, INT0E = 1, INT1E = 1, иEMIFLE = 1. Таким образом: XBR0 = 0х05, XBR1 = 0х14 и XBR2= 0х02.2. Настраиваем интерфейс внешней памяти на использование младших портов и на работу вмультиплексированном режиме. PRTSEL = 0, EMD2 = 0.3.