四核Cortex-A53产品软硬件设计与开发

一个基于ARM Cortex-A53 的软硬件设计,系统采用定制化的Android, 包含DI,DO,RFID,指纹识别,摄像头, 大屏幕显示等功能的软硬件设计.

在我的设计中,有多个选择因素需要考虑:

  • GUI支持:需要容易开发
  • 多媒体支持:需要支持硬解, 因为需要播放MP4视频
  • APP开发容易
  • 需要占用资源少
  • 触摸屏支持
  • WebRTC支持

鉴于上述需求, 从 Linux + Qt 与 Android 两个之间最终选择了Android, 但是对Android系统做了一些的裁剪,以及修改:

  • 修改launcher
  • 精简系统: 因为内存只有1GB
  • 修改root权限处理: 主要是为了对一些硬件的使用不需要再开发一个HAL module

有一个服务器端程序,可以用来存储和管理设备/板子,可以用来注册RFID,指纹等。

在板子上面APP使用Android APK开发,系统深层定制去除不需要的应用和功能,launcher等均修改过,也写了一些HAL Module用来与硬件模块驱动。

多个板子/设备之间可以通讯,例如下面是两个板都在同一个车间中,有两个不同的电话图标,两者可以相互打电话。

Hub and other boards

另外也可以进行视频通话,门禁控制等。

在整体上,硬件上对于EMC/EMI均进行了考研与相关设计,以及器件的处理, 如基本的TVS/PTC等防护.

整体硬件上耗电量大的有:

  • BT, WiFI
  • 7寸触摸屏 LCD
  • 带3W扬声器
  • 摄像头
  • SoC
  • USBHub+USB网卡

计算下来, 最终选用的主电源为5V~3A的DCDC电源.

因为有屏幕显示,因此这边有多种电压, 例如正压和负压给LCD显示,有的IC需要5V,有的需要3.3V,因此选用两级DCDC做不同电压输出.

Debugging

这个问题表现为在长时间使用后,网卡无法正常收发数据包,然后reset USB hub之后又可以, 基本上是属于USBHub的问题. 在压力测试与多次调试后,最终决定更换USBHub芯片,然后就好了. 另外GL850/GL852这个USBHub在使用过程中非常烫,发热严重.

为了详细调查这个问题,额外做了USB Hub板子和RTL8501板子:

Other modules

这个是为了用来控制电磁门禁:

Connect Door controller

  • RFID卡
  • 指纹识别
  • 485
  • 录音+扬声器
  • 触摸屏

这个项目是属于做PoC验证,后续做了铝合金的外壳。