Hempl/GPIO
外观
< Hempl
GPIO 代表通用输入/输出,是 AVR32UC3A 微控制器的所有引脚的通用名称。除电源引脚、复位处理器的引脚和 USB JTAG 信号连接外,微控制器的每个引脚都是一个 GPIO 引脚。这包括与 SDRAM 的连接以及所有其他输入或输出信号。
每个 GPIO 引脚都可以被编程为具有三种功能之一,而三种功能对于每个引脚是不同的。当 Mizar32 开启时,它是聋哑和盲目的,板载软件必须做的第一件事是为能够与外界通信的每个 GPIO 引脚编程正确的功能。
例如,Hempl 在启动时会执行以下操作:
- 它将连接到振荡器晶体的引脚编程为振荡器输入。这将它的处理速度从 115kHz(内部振荡器)提高到 66MHz(外部振荡器)。它还会将连接到 32768Hz 晶体的引脚编程为振荡器输入,以便它能够准确地测量时间;
- 它将连接到 SDRAM 内存的 LCD 引脚编程为 SDRAM 内存引脚,以便除了 64Kbyte(A 型和 B 型)或 32Kbyte(C 型)内部 RAM 之外,它还可以访问 32Mbyte SDRAM 内存芯片;
- 如果您已将 Hempl 控制台配置为在串行端口上,它会将 UART0 的 RX 和 TX 引脚编程为 RS232 通信;
- 如果您的 Hempl 固件包含 MMC/SD 卡支持,则第二个 SPI 端口
SPI1
的引脚将被编程为 MMC/SD 卡通信。
所有其他设备的 GPIO 引脚将在您第一次从 Lua 调用它们时被编程为执行它们的功能。如果您未使用某些设备,您可以随意使用它的 GPIO 引脚作为简单的输入/输出引脚:有关如何操作的更多详细信息,请参阅 PIO 部分。
在 Mizar32 上,以下功能分配给 GPIO 引脚
图例
- X = 引脚未连接到任何东西
- Foo/Bar = 信号用于不止一件事
引脚 | 信号 | 描述 | 总线引脚 |
---|---|---|---|
PA00 | UART0_RX | 右侧总线串行端口 | BUS4 引脚 3 |
PA01 | UART0_TX | BUS4 引脚 4 | |
PA02 | GPIO2 | 总线 GPIO,最大 4mA,VGA SRAM /HOLD 引脚 | BUS5 引脚 11 |
PA03 | UART0_RTS | 右侧总线串行端口 | BUS4 引脚 5 |
PA04 | UART0_CTS | BUS4 引脚 6 | |
PA05 | UART1_RX | 左侧总线串行端口 | BUS3 引脚 3 |
PA06 | UART1_TX | BUS3 引脚 4 | |
PA07 | GPIO7 | 总线 GPIO,最大 4mA | BUS5 引脚 12 |
PA08 | UART1_RTS | 左侧总线串行端口 | BUS3 引脚 10 |
PA09 | UART1_CTS | BUS3 引脚 9 | |
PA10 | SPI0_CS0 | 左侧总线 SPI | BUS1 引脚 12 |
PA11 | SPI0_MISO | BUS1 引脚 13 | |
PA12 | SPI0_MOSI | BUS1 引脚 14 | |
PA13 | SPI0_SCK | BUS1 引脚 15 | |
PA14 | SPI1_CS0 | SD 卡芯片选择 | 无 |
PA15 | SPI1_SCK | 右侧总线 SPI/SD 卡时钟 | BUS4 引脚 9 |
PA16 | SPI1_MOSI | 右侧总线 SPI/SD 卡数据输入(主机->卡) | BUS4 引脚 10 |
PA17 | SPI1_MISO | 右侧总线 SPI/SD 卡数据输出(卡->主机) | BUS4 引脚 11 |
PA18 | SPI1_CS1 | “FREE” | 无 |
PA19 | SPI1_CS2 | 右侧总线 SPI 芯片选择 | BUS4 引脚 12 |
PA20 | EXT_INT | ? | BUS5 引脚 13 |
PA21 | ADC0 | ADC | BUS5 引脚 5 |
PA22 | ADC1 | BUS5 引脚 6 | |
PA23 | ADC2 | BUS5 引脚 7 | |
PA24 | ETHERNET | 以太网中断 | BUS2 引脚 3 |
PA25 | ADC4 | ADC | BUS6 引脚 4 |
PA26 | ADC5 | BUS6 引脚 5 | |
PA27 | ADC6 | BUS6 引脚 6 | |
PA28 | ADC7 | BUS6 引脚 7 | |
PA29 | SDA | I2C | BUS2 引脚 10 |
PA30 | SCL | BUS2 引脚 11 |
引脚 | 信号 | 描述 | 总线引脚 |
---|---|---|---|
PB00 | REF_CLK | 以太网 | BUS1 引脚 3 |
PB01 | TX_EN | BUS1 引脚 4 | |
PB02 | TX0 | BUS1 引脚 5 | |
PB03 | TX1 | BUS1 引脚 6 | |
PB04 | X | 无 | |
PB05 | RX0 | BUS2 引脚 5 | |
PB06 | RX1 | BUS2 引脚 6 | |
PB07 | RX_ER | BUS2 引脚 7 | |
PB08 | MDC | BUS2 引脚 4 | |
PB09 | MDIO | BUS2 引脚 8 | |
PB10 | SDCK | SDRAM | 无 |
PB11 | SDCKE | 无 | |
PB12 | RASn | 无 | |
PB13 | CASn | 无 | |
PB14 | SDWEn | 无 | |
PB15 | RX_DV | 以太网 | BUS1 引脚 7 |
PB16 | SDA10 | SDRAM A10 | 无 |
PB17 | GPIO49 | 总线 GPIO,最大 4mA | BUS5 引脚 8 |
PB18 | GPIO50/PWM6 | 总线 GPIO,最大 4mA/PWM 通道 6 | BUS5 引脚 9 |
PB19 | PWM0 | PWM | BUS4 引脚 7 |
PB20 | PWM1 | BUS4 引脚 8 | |
PB21 | PWM2 | 无 | |
PB22 | PWM3 | BUS6 引脚 1 | |
PB23 | UART1_DCD | 左侧总线串行端口 | BUS3 引脚 5 |
PB24 | UART1_DSR | BUS3 引脚 6 | |
PB25 | UART1_DTR | BUS3 引脚 7 | |
PB26 | UART1_RI | BUS3 引脚 8 | |
PB27 | PWM4 | PWM 通道 4 | BUS6 引脚 2 |
PB28 | PWM5 | BUS6 引脚 3 | |
PB29 | GPIO61/LED | 板载 LED(0=点亮) | 无 |
PB30 | GPIO62 | 总线 GPIO,最大 4mA | BUS6 引脚 9 |
PB31 | GPIO63 | BUS6 引脚 10 |
引脚 | 信号 | 描述 |
---|---|---|
PC00 | Xin32 | 32768Hz 晶体“X2” (*) |
PC01 | Xout32 | |
PC02 | Xin0 | 12MHz 晶体“X1” |
PC03 | Xout0 | |
PC04 | Xin1 | 未使用 |
PC05 | Xout1 |
- ) 在 Mizar32 v1.3.2 之前的电路焊盘 C47 上
引脚 | 信号 | 描述 | 总线引脚 |
---|---|---|---|
PX00 | D10 | SDRAM | 无 |
PX01 | D9 | ||
PX02 | D8 | ||
PX03 | D7 | ||
PX04 | D6 | ||
PX05 | D5 | ||
PX06 | D4 | ||
PX07 | D3 | ||
PX08 | D2 | ||
PX09 | D1 | ||
PX10 | D0 | ||
PX11 | DQM1 | ||
PX12 | X | ||
PX13 | X | ||
PX14 | CS1n | ||
PX15 | X | ||
PX16 | GPIO88/BUTTON | 总线 GPIO/主板上的按钮(按下时为低电平) | BUS6 引脚 13 |
PX17 | A17 | SDRAM BA1 | 无 |
PX18 | A16 | SDRAM BA0 | |
PX19 | GPIO85 | 总线 GPIO,最大 4mA | BUS6 引脚 12 |
PX20 | A14 | SDRAM A12 | 无 |
PX21 | A13 | SDRAM A11 | |
PX22 | GPIO82 | 总线 GPIO,最大 4mA(SDRAM A10 在 PB16 上) | BUS6 引脚 11 |
PX23 | A11 | SDRAM A9 | 无 |
PX24 | A10 | SDRAM A8 | |
PX25 | A9 | SDRAM A7 | |
PX26 | A8 | SDRAM A6 | |
PX27 | A7 | SDRAM A5 | |
PX28 | A6 | SDRAM A4 | |
PX29 | A5 | SDRAM A3 | |
PX30 | A4 | SDRAM A2 | |
PX31 | A3 | SDRAM A1 | |
PX32 | A2 | SDRAM A0 | |
PX33 | GPIO71 | 总线 GPIO,最大 4mA | BUS5 引脚 10 |
PX34 | DQM0 | SDRAM | 无 |
PX35 | D15 | ||
PX36 | D14 | ||
PX37 | D13 | ||
PX38 | D12 | ||
PX39 | D11 |
总线重命名
在 Mizar32 v1.3.2 中,总线连接器被重命名了
旧 | 新 | 也称为 |
---|---|---|
P3 | BUS1 | BUS_HALF_LEFT_UP |
P4 | BUS2 | BUS_HALF_LEFT_DOWN |
P2 | BUS3 | BUS_HALF_LEFT_EXT |
P5 | BUS4 | BUS_HALF_RIGHT_UP |
P6 | BUS5 | BUS_HALF_RIGHT_DOWN |
P7 | BUS6 | BUS_HALF_RIGHT_EXT |
- PIO 部分进一步解释了这些引脚的使用方式。
- 在Atmel AVR32UC3A 数据手册,第 12.7 节“外设:I/O 线上的外设多路复用”,表 12-9。中,有一个关于可以分配给每个 GPIO 引脚的可能功能的汇总表。
- AVR32 GNU 工具链中
/usr/avr32/include/avr32/uc3a0128.h
文件的最后一部分给出了每个引脚可以分配哪些功能的完整定义。