96boards硬件规范简介
96boards是Linaro维护的一个硬件标准规范社区,主要目标是为了硬件模块标准化,屏蔽不同处理器的差异。通过标准规范,无论是什么处理器,做成的开发板,在尺寸、接口、电器等方面都是一样的。比如,引出的接口尺寸、长宽等,都有详细的定义:
符合96boards协议的开发板,必须具备一些常用的接口,比如UART、I2C、GPIO、I2S、SD、SPI、USB,这些是嵌入式开发板的基本接口。
而像HDMI、MIPI、LVDS等接口,根据不同的协议版本,则是可选的。96boards硬件标准协议分为不同版本:消费版、企业版、物联网版、AI版等,不同的版本,对接口的定义也不一样。你做一款开发板时,可以根据自己的定位,选择遵守其中的一个协议即可。
从接口定义、到管脚命名,96boards协议都有详细定义。这样做的好处是,无论是哪家的处理器,做出来的开发板,对外接口都是一样的。一个模组模块,可以直接插在不同的开发板上运行,而不是单独适配某个具体的开发板,换了开发板就无法工作了。类似于开源硬件 arduino,96boards协议可以看作是一个高端的面向linux/android的开源硬件协议。开发者在产品开发前期,可以很方便的在这些平台上做前期预研、评估。
而在软件支持方面,符合96boards协议的开发板会最先支持最新版本的内核或Android,很多新特性、新版本软件会在这些平台上运行。这对于碎片化的嵌入式软件生态来说,可以最大程度地实现软件资源共享,减少各自同质化开发带来的资源浪费。
符合SoM Edition协议的硬件开发板,会开放硬件原理图、软件源码,更方便客户在其基础上做二次开发。
目前,基本上所有的芯片/ODM/OEM 厂商都有支持96boards协议的硬件开发板,而且支持的分类也越来越多,比如:
- consumer版
- 企业版
- 物联网版
- AI版
- 自动驾驶版
- SoM版
96boards社区官网是:https://www.96boards.org/,
上面有很多开发板介绍和相关的协议文档,有兴趣可自行去学习。