NGP/NGV(可编程单板游戏机)开发进度(更新模拟器)

大约算是游戏机,主要采用的是Cortex-M的单片机

目前硬件大概是比Arduboy这类的强很多了(回头可以把那边的代码搞过来试试)


之前的帖子 ←很早之前发过一次,是旧版的。

首先是上面提到的帖子里介绍过的东西:

1.jpg

正面PCB图

2.jpg

 背面PCB图

这个大概算是开源游戏机一类的硬件,目前NPGv2采用的是STM32F405,板载ST-LINK和各种存储器。

提供USB OTG HS和USB Device FS两个接口,相对于上个版本,这个版本除了接插件都使用了贴片。

并且板可以直接进行JLC的SMT,板载TP4056,只需要外接带保护板的电池。

屏幕依然是SPI接口,SPI Flash使用的是另外一个接口。

当然设计风格也改了,新的风格看起来更美观。


然后是还在设计中的下一个大版本的游戏机(是大版本)

全称是NyaGame Vita(上文的叫NyaGame Portable)

3.jpg

正面图

4.jpg

 背面图

这个版本采用的是5寸IPS屏,带电容触摸,使用24位8080接口(用RGB888带同步信号的话芯片脚不够)

目前NGV的PCB设计工作还未完成,因此还未进行后期设计。

这块板采用STM32F429ZGT6,图形音频和部分外设由AL3S10LG144承担,二者使用FMC通信。

板载三片SPI Flash,和一片IS42S16160,后者挂到FMC上。

这个板肯定是不好做电池供电的,因为屏幕会很耗电。

电源使用了3片AMS1117-3.3和1片AMS1117-1.2,背面图可见那壮观的电源电路(包括那个巨大的开关)

这个板就没法找JLC做SMT了,因为AL3S10LG144没法焊。

板对外给出USB Device FS接口,以及SWD和JTAG。

除了8个按十字排列的按键以外,还有8个独立的功能按键。

这个板是双层板,一开始自动布,通了。但是不敢用。因为FMC和SDRAM都是第一次用,就手动布了。

主要是这个板还得应付大创,因此it works就差不多了。

等板出来之后试验一下这个布线能不能用,因为看市面上的开发板上带的SDRAM都没做等长,而且这里还能把操作频率降低。

FPGA侧还有许多工作要做,毕竟是想把图形部分做到那边去,这也是大创的主要工作。


最后以一个表情结尾 

TIM图片20171215141631.jpg
 
 

 

 

[修改于 1 年前 - 2018-08-23 10:02:51]

来自 电子技术
2018-7-5 18:14:19
1楼

期待成品,另外外壳打算3D打印?

折叠评论
加载评论中,请稍候...
折叠评论
drzzm32(作者)
2楼
引用:ry7740kptv 发表于1 楼的内容:
期待成品,另外外壳打算3D打印?

目前还没考虑外壳,外壳成本还是比较高

折叠评论
加载评论中,请稍候...
折叠评论
2018-07-07 22:54:05
2018-7-7 22:54:05
3楼

不试试安路新的FPGA ELF2么,据说很不错的样子

折叠评论
加载评论中,请稍候...
折叠评论
2018-07-08 17:18:53
drzzm32(作者)
4楼
引用:rpg-7 发表于3 楼的内容:
不试试安路新的FPGA ELF2么,据说很不错的样子

ELF是CPLD啊,资源肯定不够

另外这个AL3S10是内嵌了SDRAM的,32位的宽度,基本上可以单片跑个软核CPU了

折叠评论
加载评论中,请稍候...
折叠评论
2018-07-09 07:45:43
5楼

ELF2好像是带M3核的FPGA~

折叠评论
加载评论中,请稍候...
折叠评论
drzzm32(作者)
6楼
引用:ry7740kptv 发表于5 楼的内容:
ELF2好像是带M3核的FPGA~

目前来看还是带SDRAM的要好点(如果外置的SDRAM翻车的话)

之前也考虑过要不要上GD32F450,也怕翻车,就先上STM32F429

429有个好,能找到现成的uboot和uclinux,到时候可以折腾下

折叠评论
加载评论中,请稍候...
折叠评论
2018-07-10 07:49:16
7楼
引用:drzzm32 发表于6 楼的内容:
目前来看还是带SDRAM的要好点(如果外置的SDRAM翻车的话)之前也考虑过要不要上GD32F450.....

429贵点,另外必须要跑Linux?

折叠评论
加载评论中,请稍候...
折叠评论
drzzm32(作者)
8楼
引用:ry7740kptv 发表于7 楼的内容:
429贵点,另外必须要跑Linux?

预留这个可能性,毕竟硬件做出来后就没法改了

折叠评论
加载评论中,请稍候...
折叠评论
2018-07-14 23:15:34
2018-7-14 23:15:34
drzzm32(作者)
9楼

嗯。。。目前板已经从JLC回来了,但是板还没到手,得让别人去取。

接下来的焊接工作就要让别人接手了。。。


元器件到了的时候看着屏幕的接插件,突然有种不祥的预感。。。

打开PCB工程测量后发现接插件买错了,跟板上的封装不一致(被屏幕的卖家坑了)

目前要么是走本地电子市场去找(估计这种51pin的类FPC接插件不太好找),要么是淘宝再等几天

其他封装估计得拿到板的实物才能检查,当然唯一要检查的可能就是FPGA。

这个国产的芯片是用的比较小的QFP封装,名曰EQFP-144,18x18mm的尺寸,这芯片的封装是从他家官方示例板上抄过来的,也确认过datasheet


剩下的就等另外一位的进度了,虽然是去找本地的相关公司去焊接,但是做的钢网能不能用还是个问题。。。

哎如果JLC早点支持FPGA焊接就没这么多破事了。。。

折叠评论
加载评论中,请稍候...
折叠评论
10楼

建议楼主改一个清晰明确并且有吸引力的标题

折叠评论
加载评论中,请稍候...
折叠评论
2018-07-15 09:52:57
drzzm32(作者)
11楼
引用:虎哥 发表于10 楼的内容:
建议楼主改一个清晰明确并且有吸引力的标题

已修改

TIM图片20171215141631.jpg

以为帖子还在茶话版。。。 

折叠评论
加载评论中,请稍候...
折叠评论
2018-08-23 10:14:10
2018-8-23 10:14:10
drzzm32(作者)
12楼

这会把模拟器的bug修完了,部分功能开发会先在模拟器上进行。

图形部分使用SDL2,板上的物理按键也由SDL2处理。

8239CFADDE99AC3E0AC2D09E8EC0A279.jpg

串口输入输出则对应系统的基本输入输出流,这里的输入是利用conio.h做的非阻塞输入。

考虑到板上实际为单线程,因此模拟器也未设置多线程。

源码地址:https://github.com/NSDN/NGV/tree/master/cortex/emulator

需要使用mingw编译,如要在linux上编译可能需要安装ncurses和SDL

预编译文件:

ngv-emu-180823.zip
639k
ZIP
3次下载

 编译目标为Windows x64


源码结构:

Mode                LastWriteTime         Length Name          Info
----                -------------         ------ ----          ----
d-----        2018.8.22     16:27                Assets        各种资源,对应板上的SD卡。其中logo.bmp为GUI使用
d-----        2018.8.21     23:04                Drivers       驱动程序库,包含基本驱动库NGV,脚本引擎NSASM以及SDL库
-a----        2018.8.22     13:06             19 .gitignore    git ignore
-a----        2018.8.23      9:59           1787 app.cpp       用户程序文件
-a----        2018.8.22     13:36            763 main.cpp      主程序文件,入口点
-a----        2018.8.22     23:46            417 make.bat      编译脚本
-a----        2018.8.23      9:53           6465 sdl.cpp       SDL函数封装
-a----        2018.8.22     11:36            295 sdl.h         SDL函数封装头
-a----        2018.8.21     18:49            597 util.cpp      其他函数
-a----        2018.8.21     18:49            641 util.h        其他函数头

整个项目包含c99和c++11的代码,统一按c++11编译。


SDL图形窗口中,WSAD和光标对应板上左右摇杆按键,ESC退出模拟器,Backspace复位

Console窗口对应串口输入输出,Ctrl-C退出模拟器


欢迎star,fork,repo

 

折叠评论
加载评论中,请稍候...
折叠评论
2019-08-16 12:31:50
2019-8-16 12:31:50
13楼

楼主,请问你要怎么实现游戏的运行呢?我本科毕设也想做这个,uclinux的移植教程找到了,不知道怎么实现在uclinux系统下运行游戏

折叠评论
加载评论中,请稍候...
折叠评论
2019-08-19 17:29:16
2019-8-19 17:29:16
14楼
引用 zhengdalu123 发表于 13 楼的内容:
楼主,请问你要怎么实现游戏的运行呢?我本科毕设也想做这个,uclinux的移植教程找到了,不知道怎么.....

就是说,游戏是自己在linux系统下编写的还是通过别的方法把已经编译的,储存在tf卡中的游戏应用程序在linux系统中打开运行?

折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
ID:{{user.uid}}
{{user.username}}
{{user.info.certsName}}
{{user.description}}
{{format("YYYY/MM/DD", user.toc)}}注册,{{fromNow(user.tlv)}}活动
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png