经由前面的笔记,我们打造出了一款游戏掌机。
W801学习笔记十:HLK-W801制作学习机/NES游戏机(总结)
然而,考虑到后续的游戏开发,总是忧心容量不足。故而,在正式展开软件开发工作以前,最终进行一下升级改造。
1、把PB0-PB5给psram使用,扩展一个8M的内存。这样,就有足够的内存做显示的BUFF了。
2、由于PB0-PB5被psram占用,所以LCD改为8位屏。数据位占用PB8-PB15
3、PA9-PA14给SD卡使用。
4、PA2、3、5、15给 GT30字库使用。
5、PA0、1、4给I2S接口使用,接个声音模块。
汇总:
端口 | 说明 | 对接设备 |
PA0 | i2s_do | MAX98357_DIN |
PA1 | i2s_ws | MAX98357_LRC |
PA2 | ZK_SCLK | GT30_SCL |
PA3 | ZK_MOSI | GT30_SDA |
PA4 | i2s_ck | MAX98357_RCLK |
PA5 | ZK_MISO | GT30_FSO |
PA6 | LCD_RST | LCD_RST |
PA7 | LCD_CS | LCD_CS |
PA8 | LCD_RS | LCD_RS |
PA9 | SDIO_CK | SD_CK |
PA10 | SDIO_CMD | SD_CMD |
PA11 | SDIO_D0 | SD_D0 |
PA12 | SDIO_D1 | SD_D1 |
PA13 | SDIO_D2 | SD_D2 |
PA14 | SDIO_D3 | SD_D3 |
PA15 | ZK_CS | ZK_CS |
PB0 | psram_CK | psram_CK |
PB1 | psram_CS | psram_CS |
PB2 | psram_D0 | psram_D0 |
PB3 | psram_D1 | psram_D1 |
PB4 | psram_D2 | psram_D2 |
PB5 | psram_D3 | psram_D3 |
PB6 | LCD_WR | LCD_WR |
PB7 | ||
PB8 | LCD_D0 | LCD_D0 |
PB9 | LCD_D1 | LCD_D1 |
PB10 | LCD_D2 | LCD_D2 |
PB11 | LCD_D3 | LCD_D3 |
PB12 | LCD_D4 | LCD_D4 |
PB13 | LCD_D5 | LCD_D5 |
PB14 | LCD_D6 | LCD_D6 |
PB15 | LCD_D7 | LCD_D7 |
PB16 | KEY_UP | KEY_UP |
PB17 | KEY_RIGHT | KEY_RIGHT |
PB18 | KEY_DOWN | KEY_DOWN |
PB19 | UART_TX | 串口读写 |
PB20 | UART_RX | 串口读写 |
PB21 | KEY_A | KEY_A |
PB22 | KEY_C | KEY_C |
PB23 | KEY_B | KEY_B |
PB24 | KEY_D | KEY_D |
PB25 | KEY_Exit | KEY_Exit |
PB26 | KEY_Select | KEY_Select |
PB27 | KEY_LEFT | KEY_LEFT |
用得满满当当的。
看看下新的PCB布局:
PCB文件已提供下载,共同学习。
注意:
LCD屏从16位改为8位,各家修改方法可能不一样,而我这一款需要将软排线后面的跳线改一下。
看下最终成品效果: