跳轉到內容

Hempl/GPIO

來自華夏公益教科書

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 = 訊號用於不止一件事
埠 A
引腳 訊號 描述 匯流排引腳
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
埠 B
引腳 訊號 描述 匯流排引腳
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
埠 C
引腳 訊號 描述
PC00 Xin32 32768Hz 晶體“X2” (*)
PC01 Xout32
PC02 Xin0 12MHz 晶體“X1”
PC03 Xout0
PC04 Xin1 未使用
PC05 Xout1
  • ) 在 Mizar32 v1.3.2 之前的電路焊盤 C47 上
埠 X
引腳 訊號 描述 匯流排引腳
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

進一步閱讀

[編輯 | 編輯原始碼]
華夏公益教科書