zoukankan      html  css  js  c++  java
  • 转:从BeagleBone谈AM335x硬件系统设计

    链接:http://blog.chinaunix.net/uid-730738-id-3266690.html    作者:chenzhufly

    从BeagleBone谈AM335x硬件系统设计

    日期:2012-04-25  
       如果不是要试用BeagleBone,也不会花着大把的时间去研究AM335X的硬件系统设计,这些天翻阅了TI好多的文档资料,有一些小小的心得,和大家共享一下,全当做个记录,时间久了可以回来翻翻。
     
       关于AM335X的硬件系统介绍可以参考这个链接:http://processors.wiki.ti.com/index.php/AM335x_Hardware_Design_Guide
       我主要按以下的顺序,谈谈我最近的一些收获,仅供大家参考。
     
    BeagleBone的参考手册:《BeagleBone Rev A3 System Reference Manual》
     
     
       1) 关于电源
       
        TI总是宣传AM335x只要5美元,你们在看看它配套使用的电源芯片,价格也不菲啊,都在4美元左右,真他妈的坑爹!而且电源芯片选择的余地也不大,这点对于系统设计来说倒是一件好事,不用过多的纠结,使用成熟的方案就行了。
      
        常见的搭配:可以参考一下《AM335x power options》
     
        
    也就这几颗料,AM335X_EVM中使用的是TPS65910,在BeagleBone中使用的是TPS65217
     
    有以下几个文档可以参考:
    《TPS65217 User’s Guide for AM335x Processors (SLVU551)》
    《TPS65910A User's Guide For AM335x Processors (SWCU093)》
    《Powering the AM335x With the TPS650250 (SLVA487)》

    《Power Management Units for Embedded Processors》

     
    BeagleBone上用的TPS65217也是挺有意思的,看到了吧,有A,B,C三种,有啥区别呢?看看下面的图可能就有启发了。
     
     
    很明显我们用的是TPS65217B,为啥呢?AM3359只有ZCZ封装,板载memory是DDR2的。
     
    那么AM3359有几种电源呢?《在AM335x ARM® Cortex™-A8 Microprocessors (MPUs)》第77页有详细的介绍,主要有1.1V,1.8V,3.3V
     
     
     
    在不同的模式下,系统的主频不一样,对VDD_MPU,VDD_CORE的电压需求也不一样。
     
     
    为什么需要专门的电源芯片,估计是和它各个电源的上电顺序有关。普通的电源芯片能不能满足系统设计要求,目前还没看到成熟的方案,谁也不想自己去当个小白鼠,还是随大流的好。AM335x各个电压的上电顺序如下:
     
     
    由于拿到的试用板子是A3版本的,而且芯片型号也是XAM3359,属于实验样品,没有标明芯片的速率等级,也不知道能跑多快。不过从Linux的系统打印来看,应该是在500MHz或者600MHz
     
    IO的电压也有两种,1.8V或3.3V
    从上面的图上可以看到这样的话,Supply voltage range for dual- voltage IO domain
    BeagleBone上是直接接在3.3V上的
     
     
    BeagleBone Rev3的原理图可以从这个地址得到:https://github.com/CircuitCo/BeagleBone-RevA3
     
    关于电源功耗的评估在这个地址可以看到:http://processors.wiki.ti.com/index.php/AM335x_Power_Consumption_Summary,还是挺详细的
     
     
    2)  关于时钟
     
    详细的细节参考datasheet吧,主要的就下面两句话:
    • The device operation requires a 32k optional crystal and HF crystal with either 19.2,24,25,26 MHz reference clock for operation.
    • A 32.768-kHz clock input is an optional for the RTC.
     
    BeagleBone采用的是24MHz外部时钟,原理图如下:
     
     
    至于内部的主时钟和外部输入的时钟是啥关系,这个还需要进一步的研究,不过和硬件设计本身没有太大的关系。
     
    3)  关于启动模式
    The following boot modes are supported:
    • NOR Flash boot
    • NAND Flash boot
    • SPI boot
    • SD/MMC boot
    • EMAC boot
    • UART boot
    • USB boot (like an ethernet card, not as mass storage)
     
    前面4个应该是目前比较流行的启动模式,NorFlash目前随着文件系统和应用的不断扩大,已经渐渐的没落了。现在比较如日中天的应该是从NandFlash启动
    BeagleBone目前只是的是从SD卡启动,这个在调试阶段还是挺方便的,做生产的话就有些牵强了,最起码我是不推荐使用的
     
    在这里不得不提美光的一颗memory芯片,型号:MT29CxGxxMAxxxJA
    有什么特色呢:137-Ball NAND Flash with LP-DRAM MCP,也就是memory里面既有nand也有LP-DRAM
    恰好这个AM335X都支持,这样的memory我很喜欢。可以把系统设计的更加的小巧,而且不用SD卡启动了,适合产品开发。
    同时我也见过成功的案例,DM3730 + 这个料
     
     
     
     
    关于系统的启动流程不在这个里面讨论了,有空单独说说
     
    4)  关于网口
     
    尼玛,不是都标榜有千兆网口吗,我翻遍所有的和AM335X相关的demo板,都是百兆网口,这是为什么??这是为什么???
    貌似BeagleBone的接口的接法是MII接口,只有和手册上的RGMII接口类似,但是时钟又是25MHz的,速率只能到100M啊,是不是换成125M的就能到1000M?不过LAN8710也不支持千兆网,哈哈。好奇怪的哦
     
    科普一下:
    RGMII(Reduced Gigabit Media Independent Interface)是Reduced GMII(吉比特介质独立接口)。GMII和RGMII均采用8位数据接口,工作时钟125MHz,因此传输速率可达1000Mbps。同时兼容MII所规定的10/100 Mbps工作方式,支持传输速率:10M/100M/1000Mb/s ,其对应clk 信号分别为:2.5MHz/25MHz/125MHz。RGMII数据结构符合IEEE以太网标准,接口定义见IEEE 802.3-2000。
  • 相关阅读:
    spring参数类型异常输出(二), SpringMvc参数类型转换错误输出(二)
    spring参数类型异常输出,SpringMvc参数类型转换错误输出
    Linux下载jdk ,Linux如何下载jdk
    Linux安装Jdk,CentOS安装Jdk
    Linux系统ifconfig命令找不到,centos ifconfig Command not found
    centos could not retrieve mirrorlist
    Spring声明式事务(xml配置事务方式)
    微信上传图文消息invalid media_id hint,thumb_media_id怎么获取
    云虚拟主机开源 DedeCMS 安装指南
    安装dede显示dir的解决办法
  • 原文地址:https://www.cnblogs.com/yfz0/p/4793252.html
Copyright © 2011-2022 走看看