F20-23 (1041603), страница 34
Текст из файла (страница 34)
Подробнаяинформация относительно интерфейса внешней памяти приведена в разделе 16.Рисунок 17.4. Таблица декодирования приоритетов матрицы(EMIFLE = 0; EMIF в мультиплексированном режиме; P1MDIN = 0xFF)P002●56701234567Биты регистровматрицыSPI0EN: XBR0.1●●●●●●●●●●●●●●●UART1EN: XBR2.2●● ● ●●● ● ●●● ● ● ● ●●●●SMB0EN: XBR0.0●●●●●●●● ● ● ● ●● ● ● ● ● ● ●PCA0ME: XBR0.[5:3]●● ● ● ● ●●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●T2EXE: XBR1.6● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●T4EXE: XBR2.4SYSCKE: XBR1.7● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●CNVSTE: XBR2.0Входы AIN1/Немульт-й адрес (СЗР)CP0E: XBR0.7Мульт-й адр.
(ст.)/Немульт-й адр. (мл.)Ред. 1.4T0E: XBR1.1INT0E: XBR1.2INT1E: XBR1.4AD7/D7AD6/D6AD5/D5T4E: XBR2.3AD4/D4AD3/D3T2E: XBR1.5AD2/D2AD1/D1T1E: XBR1.3AD0/D0A15m/A7CP1E: XBR1.0A14m/A6/WR/RDALE● ● ● ● ●ECI0E: XBR0.6A13m/A5● ● ● ● ●/SYSCLK ● ● ● ● ●T4EXCNVSTRP34A12m/A4T43A11m/A3T2EX2A10m/A2T21A9m/A1/INT10A8m/A0T17AIN1.7/A15/INT06AIN1.6/A14T05AIN1.5/A13CP1P24AIN1.4/A12CP03AIN1.3/A11ECI2AIN1.2/A10CEX41AIN1.1/A9CEX30●●●RX1CEX27●●SCLCEX16●NSSCEX05UART0EN: XBR0.2●MOSITX1P14●MISOSDA3●RX0SCK1AIN1.0/A8Выв. I/OTX0Мульт-ые данные/Немульт-ые данные166C8051F020/1/2/3Рисунок 17.5. Таблица декодирования приоритетов матрицы(EMIFLE = 0; EMIF в немультиплексированном режиме; P1MDIN = 0xFF)P002●●6701234567Биты регистровматрицы●●●●●●●●●●●●●●●●UART1EN: XBR2.2● ● ●●● ● ●● ● ● ● ●●●SMB0EN: XBR0.0●●●●●●●●● ● ● ● ●● ● ● ● ● ● ●PCA0ME: XBR0.[5:3]●● ● ● ● ● ●●● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●T2EXE: XBR1.6● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●T4EXE: XBR2.4SYSCKE: XBR1.7● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●CNVSTE: XBR2.0Входы AIN1/Немульт-й адрес (СЗР)CP0E: XBR0.7CP1E: XBR1.0T0E: XBR1.1INT0E: XBR1.2Мульт-й адр.
(ст.)/Немульт-й адр. (мл.)Ред. 1.4INT1E: XBR1.4AD7/D7AD6/D6AD5/D5AD4/D4T4E: XBR2.3AD3/D3AD2/D2T2E: XBR1.5AD1/D1AD0/D0T1E: XBR1.3A15m/A7A14m/A6/WR/RDALE● ● ● ● ● ●ECI0E: XBR0.6A13m/A5● ● ● ● ● ●/SYSCLK ● ● ● ● ● ●1675SPI0EN: XBR0.1T4EXCNVSTRP34A12m/A4T43A11m/A3T2EX2A10m/A2T21A9m/A1/INT10A8m/A0T17AIN1.7/A15/INT06AIN1.6/A14T05AIN1.5/A13CP1P24AIN1.4/A12CP03AIN1.3/A11ECI2AIN1.2/A10CEX41AIN1.1/A9CEX30●●●RX1CEX27●●SCLCEX16●NSSCEX05UART0EN: XBR0.2●MOSITX1P14●MISOSDA3●RX0SCK1AIN1.0/A8Выв. I/OTX0Мульт-ые данные/Немульт-ые данныеC8051F020/1/2/317.1.8. Пример назначения выводов при помощи матрицыВ этом примере (см.
рис.17.6) мы настроим матрицу таким образом, чтобы назначить выводы портовдля УАПП0, SMBus, УАПП1, /INT0 и /INT1 (всего 8 выводов). Дополнительно мы настроим интерфейсвнешней памяти таким образом, чтобы он работал в мультиплексированном режиме, а для его сигналовиспользовались младшие порты. Затем мы настроим Р1.2, Р1.3 и Р1.4 как аналоговые входы, что позволитизмерять напряжение на этих выводах с помощью АЦП1. Описание настройки (по «шагам») приведено ниже: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. Настраиваем выбранные выводы Порта 1 как аналоговые входы записью значения 0хE3 в регистрP1MDIN (Р1.2, Р1.3 и Р1.4 являются аналоговыми входами, т.е. соответствующие им биты регистраP1MDIN сброшены в 0).4. Включаем матрицу установкой XBARE = 1: XBR2= 0х46.- УАПП0 имеет наивысший приоритет, т.е.
Р0.0 назначается сигналу TX0, а Р0.1 назначается сигналуRX0.- SMBus имеет следующий по порядку приоритет, т.е. Р0.2 назначается сигналу SDA, а Р0.3назначается сигналу SCL.- УАПП1 имеет следующий по порядку приоритет, т.е. Р0.4 назначается сигналу TX1. Т.к. длясигналов интерфейса внешней памяти используются младшие порты, EMIFLE = 1, то матрицабудет пропускать P0.6 (/RD) и P0.7 (/WR). Т.к.
интерфейс внешней памяти работает вмультиплексированном режиме, то матрица будет также пропускать Р0.5 (ALE). Сигналу RX1назначается следующий «не пропускаемый» вывод, которым в этом случае будет Р1.0.- /INT0 имеет следующий по порядку приоритет, т.е. назначается выводу Р1.1.- Т.к. регистр P1MDIN содержит значение 0хЕ3, которое настраивает Р1.2, Р1.3 и Р1.4 каканалоговые входы, то матрица будет пропускать эти выводы.- /INT1 имеет следующий по порядку приоритет, т.е. назначается следующему «не пропускаемому»выводу, которым является Р1.5.- Интерфейс внешней памяти будет использовать порты Р2 и Р3 (обозначенные красными точкамина рис.17.6) во время выполнения команды MOVX, обращающейся к внешней (не встроенной)памяти.5. Настраиваем выходные драйверы вывода TX УАПП0 (TX0, P0.0), вывода TX УАПП1 (TX1, P0.4),ALE, /RD, /WR (P0.[7:3]) как цифровые выходы, для чего записываем значение 0xF1 в регистрP0MDOUT.6.
Настраиваем выходные драйверы портов интерфейса внешней памяти (Р2, Р3) как цифровыевыходы, для чего записываем значение 0xFF в регистры P2MDOUT и P3MDOUT.7. Явным образом отключаем выходные драйверы трех выводов аналоговых входов, для чегоустанавливаем P1MDOUT = 0х00 (выбираем режим выходов с открытым стоком) и Р1 = 0xFF ( лог.
‘1’переводит выход в высокоимпедансное состояние).Ред. 1.4168C8051F020/1/2/3Рисунок 17.6. Пример использования матрицы(EMIFLE = 1; EMIF в мультиплексированном режиме; P1MDIN = 0xЕ3;XBR0 = 0х05; XBR1 = 0х14; XBR2= 0х46)P0Выв. I/O0TX0●27123P3456701234567Биты регистровматрицы●●● ● ●● ● ●●●●●● ● ● ● ●●● ●● ●●● ●●● ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ●● ● ●● ● ● ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● ●● ● ●● ● ● ●PCA0ME: XBR0.[5:3]ECI0E: XBR0.6●●●●●●●●●●●●●●●CP0E: XBR0.7CP1E: XBR1.0T0E: XBR1.1INT0E: XBR1.2●●●●●T1E: XBR1.3●● ●● ● ●● ● ● ●INT1E: XBR1.4T2E: XBR1.5T2EXE: XBR1.6T4E: XBR2.3Входы AIN1/Немульт-й адрес (СЗР)Мульт-й адр. (ст.)/Немульт-й адр. (мл.)Ред.
1.4AD1/D1AD0/D0A15m/A7A14m/A6A13m/A5A12m/A4A11m/A3● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●A10m/A2/WR/RDALE●●●●●A9m/A1● ●● ●● ●●●●●●A8m/A0● ● ● ● ●/SYSCLK ● ● ● ● ●CNVSTR ● ● ● ● ●●●●●●AIN1.7/A15●AIN1.6/A14●AIN1.4/A12●●AIN1.5/A13●UART1EN: XBR2.2AD7/D7●●SMB0EN: XBR0.0AD6/D6●●●T4EX1690AD5/D5●●AIN1.3/A11T46●AIN1.2/A10T2T2EX5●●AIN1.1/A9T1/INT1P24●●AIN1.0/A8/INT03SPI0EN: XBR0.1●CEX3T02AD4/D4●CEX2CP11AD3/D3●●CEX1CP00●●●RX1ECI7●●SCLCEX46●NSSCEX05UART0EN: XBR0.2●MOSITX1P14AD2/D2●MISOSDA3●RX0SCK1Мульт-ые данные/Немульт-ые данныеT4EXE: XBR2.4SYSCKE: XBR1.7CNVSTE: XBR2.0C8051F020/1/2/3Рисунок 17.7. XBR0: Регистр 0 матрицы портов ввода/выводаR/WCP0ER/WECI0ER/WR/WPCA0MEБит 7Бит 6Бит 5Бит 4R/WБит 3R/WUART0ENR/WSPI0ENR/WSMB0ENБит 1Бит 0Бит 2Значениепри сбросе:00000000SFR Адрес:0xE1Бит 7:CP0E: Бит подключения выхода Компаратора 00: CP0 не соединен с выводом порта.1: CP0 соединен с выводом порта.Бит 6:ECI0E: Бит подключения входа ECI ПМС00: ECI не соединен с выводом порта.1: ECI соединен с выводом порта.Биты 3-5: PCA0ME: Биты подключения входов/выходов модуля ПМС0000: Все входы/выходы модуля ПМС не соединены с выводами порта.001: CEX0 соединен с выводом порта.010: CEX0, CEX1 соединены с двумя выводами порта.011: CEX0, CEX1, CEX2 соединены с тремя выводами порта.100: CEX0, CEX1, CEX2, CEX3 соединены с четырьмя выводами порта.101: CEX0, CEX1, CEX2, CEX3, CEX4 соединены с пятью выводами порта.110: Зарезервировано111: ЗарезервированоБит 2:UART0EN: Бит подключения входов/выходов УАПП00: Входы/выходы УАПП0 не соединены с выводами порта.1: TX0 и RX0 соединены с выводами Р0.0 и Р0.1 соответственно.Бит 1:SPI0EN: Бит подключения входов/выходов модуля SPI00: Входы/выходы модуля SPI0 не соединены с выводами порта.1: MISO, MOSI, SCK и NSS соединены с четырьмя выводами порта.Бит 0:SMB0EN: Бит подключения входов/выходов модуля SMBus00: Входы/выходы модуля SMBus0 не соединены с выводами порта.1: SDA и SCL соединены с двумя выводами порта.Ред.