樹莓派的缺點


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設備測試一下嗎?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM