标签: 树莓派

  • 适合树莓派/SBC的MLC长寿命sd卡?SanDisk Max Endurance 32G tf卡简单测试

    适合树莓派/SBC的MLC长寿命sd卡?SanDisk Max Endurance 32G tf卡简单测试

    时效性提醒:本文首次编写发布于3 年前。

    自从读研之后好久没更新了,正巧前几天树莓派上用的tf卡(micro SD card)又双叒叕挂了一张,启动后出现写I/O错误,文件系统变为只读(fsck没有效果),这次挂的还是Kingston CANVAS Go! Plus,这卡指标有V30 A2,也不算便宜货了,但还是挂的很突然。

    普通的tf卡本就是用分级最差的一档NAND颗粒制作的,据一些资料说目前流行的tf卡采用的都是QLC模式,毫无疑问寿命很差。同时,市场上也有一些长寿命(Endurance)类型的tf卡,但其中一些仅仅是换个名字,寿命没有本质区别,比如之前买过的banq high endurance系列,同样挂了一两个,而且是突然不认盘的那种。

    不过这次测试的SanDisk Max Endurance系列似乎是更靠谱些的,其给出了在行车记录仪场景下的寿命内可录制时间,写入标准为26Mbps,即3.25MB/s速度写入。32G版本的寿命为15000小时(其他版本根据容量成比例),换算成P/E和TBW如下:

    P/E = 3.25/1024*15000*3600/32 = 5355.8349609375 (cycle)

    TBW = 3.25/1024/1024*15000*3600 = 167.3698425293 (TB)

    可以说达到了TLC企业级固态和一些MLC固态的水平,另外根据外网的逆向工程(链接:https://ripitapart.com/2020/07/16/reverse-engineering-and-analysis-of-sandisk-high-endurance-microsdxc-card/),这个tf卡使用了3D TLC NAND,并工作在MLC模式下(pMLC)。

    类似的产品还有Samsung PRO Endurance,32G版本的寿命为17520小时,还要更长些,但在64G及以下的版本写入速度不佳,不足30MB/s,32G版本的性价比也不高,因此没有选择。如果需要128G或以上容量可以考虑这个。

    同时SanDisk还有一个SanDisk High Endurance的系列,略微便宜,但寿命低很多,32G版本的寿命仅为2500小时,虽然应该也比普通tf卡高不少了,但不如MAX系列一步到位。

    下面简单在树莓派4B上测试一下性能,这张卡标称读100MB/s,写40MB/s,不过在树莓派上受硬件限制,任何tf卡的连续读的上限都只有30MB/s左右(树莓派4B),也是正常现象了,测试是Raspbian自带的sdcard 测试项目,结果如下:

    顺序读4k随机读4k随机写
    30.354 MB/s2461 IOPS911 IOPS

    可以看到,它的随机性能可以达到A1标准,但离A2标准还比较远(卡本身没有给出随机性能的指标),但也可能是树莓派硬件限制了。

    这个性能在树莓派上是能达到这个项目的“通过”标准的(10M/1500/500IOPS),由于其吊打普通tf卡的长寿命的优点,我认为这是最适合树莓派或者其他SBC的tf卡类型,说不定卡都能把板子送走。当然代价则是同等容量下相对便宜tf卡近4倍的价格。

  • 树莓派+LCD12864播放BadApple

    时效性提醒:本文首次编写发布于11 年前。

    制作流程

    注意:本制作只支持st7920控制器的LCD12864

    1.先把视频的每一帧都提成图片并压缩到适合显示屏大小,可以选择保持比例,我这里的图片压缩完后的大小是85×64;

    2.把每张图片的数据提出来,并转换成每横向8个点用一个数表示,方便直接传给显示屏,最后把数据按一定格式写到一个文本文件里。最后把所有文本文件拼起来。我用python+Image库实现的。

    3.写一个程序依次从刚才拼起来的文件中取出一张张图片的数据并传到显示屏上就可以了。

    源码下载

    主程序: http://ideone.com/4VXxQN
    视频数据文件: http://pan.baidu.com/s/1sjshtgx

  • 树莓派驱动LCD12864显示屏

    时效性提醒:本文首次编写发布于12 年前。

    适用于ST7920控制器的LCD12864显示屏,使用wiringPi GPIO库,C语言编写.

     

    (更多…)

  • 树莓派B+ GPIO详细对照表

    时效性提醒:本文首次编写发布于12 年前。
     +-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+
     | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
     +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
     |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
     |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
     |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
     |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
     |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
     |  17 |   0 | GPIO. 0 |   IN | 1 | 11 || 12 | 1 | IN   | GPIO. 1 | 1   | 18  |
     |  27 |   2 | GPIO. 2 |   IN | 1 | 13 || 14 |   |      | 0v      |     |     |
     |  22 |   3 | GPIO. 3 |   IN | 1 | 15 || 16 | 1 | IN   | GPIO. 4 | 4   | 23  |
     |     |     |    3.3v |      |   | 17 || 18 | 1 | IN   | GPIO. 5 | 5   | 24  |
     |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
     |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 1 | IN   | GPIO. 6 | 6   | 25  |
     |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 0 | IN   | CE0     | 10  | 8   |
     |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
     |   0 |  30 |   SDA.0 |   IN | 0 | 27 || 28 | 0 | IN   | SCL.0   | 31  | 1   |
     |   5 |  21 | GPIO.21 |   IN | 0 | 29 || 30 |   |      | 0v      |     |     |
     |   6 |  22 | GPIO.22 |   IN | 0 | 31 || 32 | 0 | IN   | GPIO.26 | 26  | 12  |
     |  13 |  23 | GPIO.23 |   IN | 0 | 33 || 34 |   |      | 0v      |     |     |
     |  19 |  24 | GPIO.24 |   IN | 0 | 35 || 36 | 0 | IN   | GPIO.27 | 27  | 16  |
     |  26 |  25 | GPIO.25 |   IN | 0 | 37 || 38 | 0 | IN   | GPIO.28 | 28  | 20  |
     |     |     |      0v |      |   | 39 || 40 | 0 | IN   | GPIO.29 | 29  | 21  |
     +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
     | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
     +-----+-----+---------+------+---+--B Plus--+---+------+---------+-----+-----+