四核Cortex-A53产品软硬件设计与开发
目录
一个基于ARM Cortex-A53
的软硬件设计,系统采用定制化的Android, 包含DI,DO,RFID,指纹识别,摄像头, 大屏幕显示等功能的软硬件设计.
SW
系统软件的选择
在我的设计中,有多个选择因素需要考虑:
- GUI支持:需要容易开发
- 多媒体支持:需要支持硬解, 因为需要播放MP4视频
- APP开发容易
- 需要占用资源少
- 触摸屏支持
- WebRTC支持
鉴于上述需求, 从 Linux + Qt 与 Android 两个之间最终选择了Android, 但是对Android系统做了一些的裁剪,以及修改:
- 修改launcher
- 精简系统: 因为内存只有1GB
- 修改root权限处理: 主要是为了对一些硬件的使用不需要再开发一个HAL module
其他软件
有一个服务器端程序,可以用来存储和管理设备/板子,可以用来注册RFID,指纹等。
在板子上面APP使用Android APK开发,系统深层定制去除不需要的应用和功能,launcher等均修改过,也写了一些HAL Module用来与硬件模块驱动。
多个板子/设备之间可以通讯,例如下面是两个板都在同一个车间中,有两个不同的电话图标,两者可以相互打电话。
另外也可以进行视频通话,门禁控制等。
HW
在整体上,硬件上对于EMC/EMI均进行了考研与相关设计,以及器件的处理, 如基本的TVS/PTC等防护.
整体硬件上耗电量大的有:
- BT, WiFI
- 7寸触摸屏 LCD
- 带3W扬声器
- 摄像头
- SoC
- USBHub+USB网卡
计算下来, 最终选用的主电源为5V~3A的DCDC电源.
因为有屏幕显示,因此这边有多种电压, 例如正压和负压给LCD显示,有的IC需要5V,有的需要3.3V,因此选用两级DCDC做不同电压输出.
硬件问题:GL852 与 RTL8501网卡的冲突在一起不稳定
这个问题表现为在长时间使用后,网卡无法正常收发数据包,然后reset USB hub之后又可以, 基本上是属于USBHub的问题. 在压力测试与多次调试后,最终决定更换USBHub芯片,然后就好了. 另外GL850/GL852这个USBHub在使用过程中非常烫,发热严重.
为了详细调查这个问题,额外做了USB Hub板子和RTL8501板子:
继电器驱动额外板子
这个是为了用来控制电磁门禁:
其他外设
- RFID卡
- 指纹识别
- 485
- 录音+扬声器
- 触摸屏
外壳
这个项目是属于做PoC验证,后续做了铝合金的外壳。