当前位置: 首页 > news >正文

Linux上位机开发实践(底板设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们谈过,对于需要硬件开发,但是自身硬件开发能力稍显不足的同学来说,可以通过核心板来进行项目的开发。一般来说,基于核心板的项目开发,除了价格贵一点,剩下来的都是优点,比如说不用复杂的布线、不用负责基础软件、也不用负责soc的采购,害怕遇到假货等等。不过考虑到实际数量使用并不多,所以价格贵这个缺点也是可以忽略的。因为如果量不大,光自己投入的精力、打板的费用,都是一笔不小的开支。那么这个时候,问题来了?我们什么时候开始做底板?怎么做底板?怎么测试底板?

1、先用开发板做好软件

        通常开发硬件之前,一般先把软件做好。既然我们选择了某个厂家的核心板,一般先购买一套板子进行开发。这套板子包含了核心板和底板。有了这套板子,我们就可以开发对应的软件了。开发板上面,通常所有的接口都会被接出来,所以就不存在找不到外设的情形。这一步工作通常都是做到前面的。如果软件本身都不能能符合要求,或者说这一步实现不了的话,后面也不用做了。因为硬件怎么着都可以做出来,时间长短的问题。

2、基于厂家给的底板原理图、layout图做开发

        对于底板部分,厂家一般都会给出对应的原理图和layout图,所以这部分不会从0到1开始做。用户所要做的,就是了解一下核心板上b2b接口的信号,然后导出我们自己需要的接口即可。设计的时候,厂家还会给出详细的设计建议,比如电源时序、差分布线、阻抗匹配等等。

        核心板的接口通常都是防反插的,这一点要注意下。

3、先做最小系统

        开始准备开发底板的时候,先把最小系统搭建好。所谓的最小系统,就是可以让系统跑起来的最小电路。读书的时候,所谓的最小系统,就指电源、晶振、复位、输入、输出。回到核心板,内容也差不多。我们把核心板看成大号的mcu,这么来看的话,要使得核心板跑起来,首先也是保证电源,其次是启动模式、复位,最后就是usb otg烧入和串口。这么一来,soc系统电路开发就弱化成了mcu电路开发。等最小系统做好之后,就可以进一步实现后面的外设。

4、接着加上自己需要的外设接口

        有了最小系统,接下来就是把一些常用的接口引到板子边上,另外做一些扩展电路。接口的话,就是常规的232/485/can/usb/mipi csi/mipi dsi。如果涉及到hdmi、触摸ic、有线网络、无线模块,还要做一些额外电路的设计。毕竟这些高速的接口,一般都需要专业的芯片来完成的,相关的扩展电路肯定是少不了的。

5、利用前期开发好的软件验证底板

        前面既然已经完成了对应的软件开发,那么可以确认软件肯定是好的。那么用这个好的软件,去测试有可能不好的硬件,是非常合适的一个选择。如果软件和硬件有可能同时出问题,不是不能解,而是效率比较低。

        比如说一开始拿到板子,我们至少要保证上电后,板子的串口打印是ok的。首先,我们会去确认板子能不能烧录,这是最基础的。不能烧录的话,原因很多,一般来说就是焊接的问题。焊接没问题的话,就要开始量电压、量信号,保证电源没问题。电压没问题的话,后续就是继续看启动模式、复位引脚,经过这样一层一层分析,总能找到问题,直到最小系统跑起来为止。

        有了最小系统,就可以开始验证外设,从gpio、pwm、iic这些最基础的外设验证去做。外设没问题了之后,就开始验证业务流程了,甚至是为后面进一步的压力测试做准备。

6、后期开发bist测试

        硬件和软件不一样,不管是设计的时候,还是采购、生产的时候都会有一定的出错率,这是不可避免的。这个出错率只能降低,不能消除。所以后期的时候,我们拿到第三方贴好片的板子之后,每次都必须要做bist检测。通过了bist,不代表没问题;但是如果bist都过不了,代表一定有问题。

        这个bist一般就是外设的基本测试,上电之后做一下即可。针对csi camera、mipi 屏幕这种接口的测试,还需要准备好对应的环境才能展开去做。

相关文章:

  • matlab与dsp28335联调
  • MySQL索引介绍
  • 什么是VLA
  • 【数据结构】HashMap源码 —— 简单介绍
  • 人工智能之数学基础:奇异值分解SVD
  • JAVA SDK通过proxy对接google: GCS/FCM
  • 实测解析:FP7208 在汽车照明、摄影照明、教育照明以及太阳能照明等不同市场领域的典型应用参数解析和案例分析
  • Kingbase 常用运维命令总结
  • Vue的学习总结-day02
  • Pinyin4j修仙指南:从汉字到拼音的声韵转换大法
  • 部署Fish-Speech实现声音克隆及文本转语音
  • Windows 系统中安装 Git 并配置 GitHub 账户
  • C++基本语法
  • 【C语言】--- 编译和链接
  • C语言程序环境和预处理详解
  • centos7.9升级OpenSSL 1.1.1
  • 代码随想录算法训练营Day23
  • 强化学习的epsilon,应该越来越大?还是越来越小?为什么?
  • 面向对象高级(2)
  • Apache与Nginx网站压测对比
  • 女生做网站编辑好吗/网站是否含有seo收录功能
  • 梧州零距离网论坛/青岛网站优化公司哪家好
  • 德州网站优化/徐州seo外包平台
  • 学习css网站开发/厦门seo推广优化
  • 做网站 挣广告联盟的佣金/搜索引擎优化自然排名的优点
  • photoshop做网站设计/网站运营推广选择乐云seo