zoukankan      html  css  js  c++  java
  • 树莓派的缺点

    https://tieba.baidu.com/p/4035478173?red_tag=2829624086

    下文摘自上面的链接

    深入玩了一下Raspberry Pi,才发现其实,它并算的上是开源硬件。其实,这个梗在我开发的过程中不断加重。
    发个帖子来和大家讨论下:


    一、博通,你要摁着多少资源自己专属?


    做为树莓派ARM核心的Broadcom BCM2835这个芯片是专供树莓派的。这就造成了事实上无法采购这个芯片,用于复制、仿制或定制基于树莓派的产品。
    更为残忍的是,BCM2835的手册(Datasheet)也不向公众提供,必须由合作商签订保密协议(NDA)才能获得。这样就造成了就算得到树莓派的电路图(基金会开放电路图倒是真的),也不能完全理解图中涉及BCM2835的部分。
    并且博通对其VideoCore IV显示核心的驱动程序,也采取了和很多驱动程序一致的闭源发布。这就造成了依赖树莓派显示核心的程序,很难迁移到使用其他显示核心(例如Mali)的ARM SoC上:


    这两点都是在树莓派的热销压力之下才有所改变。博通对BCM2835,放出了一个部分的Datasheet描述了芯片的外部总线(但仍没有放全部的Datasheet)。而VideoCore IV显示核心的文档和相关代码,则一直让所有的开发者整整等待了两年,直到2014年的2月份才对外提供。而后还要树莓派基金会去填坑,举办竞赛号召爱好者去把这部分资料应用到树莓派上。
    但根本的一点到现在仍然没有变:树莓派仍然难以仿制和改进,不可能对树莓派去实际执行开源项目的fork-republish机制。为了增强树莓派的定制性,树莓派基金会最近推出了一款笔记本内存大小的核心板,只包含BCM2835和内存,任何对外接口允许自己连接。——但在硬件设计没有变化的情况下,这种努力不过是一种临时手段(workaround),改变不了树莓派无法遵循开源模式的硬伤。
    所以SUSE中国的一位资深工程师(恕我忘记尊姓大名)在2013年的一次线下聚会中,甚至不将Raspberry Pi列入开源硬件之列。这不是没有道理的——不能复制,不能改进,开源软件只运行在皮毛的层次上,这样和传统闭源的PC,在概念上又有什么区别?
    更有极端的说法直接称博通为“开源的敌人”——其实认真审视一下,这个说法虽然激烈,但恐怕也并不特别过分。
    二、基金会,你挖了多少坑没填?


    树莓派基金会真的很努力,也促成了很多和树莓派有关的开发项目。但不得不说的是,树莓派至今为止,仍然有很大一部分工作仍然“挖坑不填”。
    用最大的一个坑举例子:DSI显示接口。DSI是连接液晶裸屏(或模块)的一个硬件接口,从使用情况来看极不流行,很难买到DSI接口的屏幕。在实用价值上,远远落后于常用于液晶电视、笔记本屏幕的LVDS接口。树莓派采用DSI也许有BCM2835硬件设计上的理由。但两年时间过去了,树莓派仍然没有拿出使用DSI接口实际驱动出一个屏幕的例子。
    ……这样问题就很简单了:那当初设计这个DSI口是做什么的?!




    ▲ 基金会,你为什么让所有树莓派的DSI接口一直吃灰?(图片协议:CC-BY-SA)


    三、软硬件设计,还要弄出多少缺陷才算完?


    树莓派的软硬件设计真的不怎么好,这一段要重点说。举3个例子。
    1、怎么给电都不够的5V电源


    树莓派使用单一5V供电,电源本身并不做任何处理,所有5V的设备直接取电,只有CPU的供电用数个低压差(LDO)单独提供。[注B]这本来是一种很简单、显然、低成本的无管理电源设计。但偏偏树莓派在电源上串联了一个自恢复保险(PTC)进去,试图防止出现短路、过流等故障。
    PTC是一种简单的过流保护器件,过流时发热造成内阻上升抵抗过流,异常解除后可以冷却让内阻下降,恢复设备工作。但PTC简单就有简单的问题:PTC自身的电阻不低(实测很可能有0.2Ω以上),串接在电源上容易把电源电压拉下0.3-0.5V左右的程度。——对5V这个低压来说,电源跌落这个程度就很成问题了,极易造成依赖5V的USB等外设欠压异常。
    事实上如果供电电压是5.2-5.4等比5V整数稍微高点的规格,那么树莓派得到的电压还可能在5V上。如果电源老老实实提供5V,那树莓派就麻烦了。这也就是许多人误解“树莓派对电源要求高”的原因——实际上要求高不是性能需要,只是一个设计错误使然。




    ▲ 一颗自作聪明的保险,搞坏了所有的事情。




    2、塞车又缺电的USB接口


    BCM2835处理器实际上只有1个USB主接口。这个接口也是树莓派唯一的高速数据通道。
    常见的树莓派B型,虽然有两个USB和一个以太网接口,但这都是板载的LAN9512芯片的杰作[注C]。这三个接口实际上只是共享1个USB主端口的480Mbps带宽。所以树莓派的USB总线塞车,是每一个树莓派玩家心中的痛。只要图像采集、文件传输等有数据吞吐的任务稍微要求高一点,树莓派就必然的缴*投降。
    另外树莓派对USB的供电,只是把+5V接了上去,根本没有为USB设备上电时的突波做去耦设计[注D]。这样造成的恶果是哪怕USB设备的工作电流本身不大,其插入时的瞬时大电流也会导致CPU供电不足而重启。这个问题不挑设备,社区使用U盘、USB无线网卡等实测都出现过。
    (所以对树莓派而言,用一个有电源输入的USB HUB,把USB的供电单独解决掉是必须的。社区里每天都在讨论“有源HUB怎么选”的问题。)
    这又是一个弱智的毛病。……基金会你们做出样板之后,难道不连接各种各样的USB设备测试一下吗?

  • 相关阅读:
    Spring IoC 容器概述
    OpenSSL生成SSL证书
    吴恩达老师深度学习课程Course4卷积神经网络-第二周课后作业
    吴恩达老师深度学习课程Course4卷积神经网络-第一周课后作业
    PageHelper在SpringBoot的@PostConstruct中不生效
    一个关于List的IndexOutOfBoundsException异常记录
    Mysql中通过关联update将一张表的一个字段更新到另外一张表中
    logback 常用配置(详解)
    Insert into select语句引发的生产事故
    Redis为什么变慢了?常见延迟问题定位与分析
  • 原文地址:https://www.cnblogs.com/qdrs/p/7754024.html
Copyright © 2011-2022 走看看