链接: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。

转:从BeagleBone谈AM335x硬件系统设计的更多相关文章

  1. 浅谈STM32L071硬件I2C挂死

    STM32的IIC问题一直存在,在网上也被很多人吐槽,然而FAE告诉我,硬件IIC的问题在F1,F3,F4系列单片机存在,而在L0上已经解决了,然而这几天调试加密芯片和显示芯片,都是IIC芯片,却再一 ...

  2. 浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)(转)

    引子 STM32的硬件I2C很多人都对它望而却步.因为很多电工都说,STM32 硬件 I2C有BUG.不稳定.死机等等……最后都使用GPIO模拟I2C. 的确,模拟I2C好用.但是在我看来在一个72M ...

  3. ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking

    #!/bin/sh # # ti processor sdk linux am335x evm /bin/setup-minicom.sh hacking # 说明: # 本文主要对TI的sdk中的s ...

  4. BeagleBone Black 从零到一 (2 MLO、U-Boot) 转

    文章原址:jexbat.com/categories/BeagleBone/ 什么是 U-Boot 熟悉嵌入式开发的应该都听过它,U-boot 就是启动系统前的一段引导程序,虽然是引导程序,但是功能非 ...

  5. (转)iOS Wow体验 - 第二章 - iOS用户体验解析(1)

    本文是<iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad>第二章译文精选的第一部分,其余章节将陆续放出.上一 ...

  6. TurnipBit—MicroPython开发板:妥妥拽拽零基础也能玩编程

    可视化编程网站入口:www.turnipbit.com 说到编程.谈到硬件,你也许会想到屌丝逆袭女神的"传奇"故事,也许会浮现出带着眼镜.头发稀少.无精打采的程序猿形象." ...

  7. 利用ZYNQ SOC快速打开算法验证通路(6)——利用AXI总线实时配置sysGen子系统

    利用ZYNQ验证算法的一大优势在于,可以在上位机发送指令借助CPU的控制能力和C语言易开发特点,实时配置算法模块的工作模式.参数等对来对其算法模块性能进行全面的评估.最重要的是无需重新综合硬件模块. ...

  8. ROS零门槛学渣教程系列前言

    为什么选择ROS: 1.ROS是开放源码的,在该平台上可以找到非常很多免费开源的代码包,并且这些例程还带wiki说明文档: 2.机器人领域最新的算法直接支持ROS,简单几个步骤就能运行: 3.ROS工 ...

  9. BSP

    1       BSP概述 BSP即Board Support Package,板级支持包.它来源于嵌入式操作系统与硬件无关的设计思想,操作系统被设计为运行在虚拟的硬件平台上.对于具体的硬件平台,与硬 ...

随机推荐

  1. VA自动补全QT

    发现用了一下,VA不能把QT的东西进行代码自动补全.于是要动下小手脚. 1.在Windows系统环境变量下增加 QTDIR = 你QT的安装目录. 2启动VS->工具->选项->项目 ...

  2. perl 安装AnyEvent::HTTP

    perl 版本 ActivePerl_5.16.2.msi

  3. java并发6-小结

    为什么需要并发   并发其实是一种解耦合的策略,它帮助我们把做什么(目标)和什么时候做(时机)分开.这样做可以明显改进应用程序的吞吐量(获得更多的CPU调度时间)和结构(程序有多个部分在协同工作).做 ...

  4. HDU_2020——按绝对值排序

    Problem Description 输入n(n<=100)个整数,按照绝对值从大到小排序后输出.题目保证对于每一个测试实例,所有的数的绝对值都不相等.   Input 输入数据有多组,每组占 ...

  5. Tradesy | IT桔子

    Tradesy | IT桔子 Tradesy www.tradesy.com   认领 关注 分享

  6. 几款命令行工具(CMD)增强软件

    如果经常要与 命令行工具(CMD)打交道,推荐几款工具来增强与替代 Windows 默认的 CMD. 1.PowerCMD 优点:老牌软件,功能强大,支持自定义配色方案,目前最新版本为 2.2: 缺点 ...

  7. javascript--瀑布流

    简单瀑布流代码实现 html代码例如以下 <!DOCTYPE html> <html> <head> <meta http-equiv="Conte ...

  8. DLNA介绍(包含UPnP,2011/6/20 更新)

    这部分的内容大多来源于网络及官方文档,依照自己的翻译理解整理所成.东西比較多,从头慢慢看还是能够懂个大概的. 文件夹: 一.DNLA的建立 二.DLNA的成员 三.DLNA标准的制定 四.DLNA的设 ...

  9. Java调用天气Webservice的小应用

    废话不多说,直接贴代码: CityReq.java package com.weather; import javax.xml.bind.annotation.XmlElement; import j ...

  10. angularjs金额大写过滤器

    数字转中文 MyAppFilter.filter('rmbFilter',[function(){ function ChinaCost(input){ var numberValue=new Str ...