Mcs-51系列单片机编程的三种基本结构程

经常画高速板的同学都知道10个高速板有9个要绕等长,而且内存出现的频率尤其频繁整的现在画板子不绕两下都有点不习惯。好在上期给大家介绍了几种快的不能再快嘚绕等长的方法用绕等长还是非常任性的。看看下图多么漂亮,整齐干净,密密麻麻绕的像一根根肠子似的等长线

内存在高速板Φ的频繁出现,意味着PCB工程师必须掌握内存的PCB设计而且还得熟练的掌握,要会对各种信号进行分组要会选用拓扑结构,要会布局要會设等长规则......当然还得会绕等长。根据小编多年跳槽面试的经验内存的设计要求也是经常会被问到的问题之一,10个面试官有9个会问而伱对答的好坏或者回答问题的深度直接影响到面试官对你的整体印象。以DDR3为例一般的同学可能会从这些方面去回答:

1.考虑BGA可维修性:BGA周邊器件5MM禁布,最小3mm;

2.DFM 可靠性:按照相关的工艺要求布局时器件与器件间满足DFM的间距要求;且考虑元件摆放的美观性;

3.绝对等长是否满足偠求,相对长度是否容易实现:布局时需要确认长度限制及时序要求,留有足够的绕等长空间;

4.滤波、上拉电阻的位置等:滤波电容靠菦各个N放置储能电容均匀放置在芯片周边(在电源平面路径上);上拉电阻按要求放置(布线长度小于500mil)。

1.特征阻抗:单线50欧姆差分100欧姆;

3.所有信号线少换层,尤其是数据线、线不超过2个过孔所有信号线间距至少满足3W原则;

4.数据线、地址(控制)线、时钟线组间间距保歭15mil以上或至少3W;

5.所有信号线都不得跨分割,且有完整的参考平面换层时,如果改变了参考层要注意考虑增加回流地过孔或退耦电容;

6.Vref電源线走线线宽推荐不小于15mil,与同层其他信号线间距最好20mil以上;

7.所有DDR信号距离相应参考面边沿至少30-40mil

1.数据线以DQS为基准等长,地址线、控制線、时钟线为基准等长;

2.数据线最大长度尽量不超过2500mil组内长度误差范围控制在+/-10mil。得益于Wri Leveling技术DQS与时钟线一般无长度误差要求。

3.地址线误差范围控制在+/-50mil

因为内存的设计其实已经很成熟了,对于上述设计要求在各大论坛网站或者相关书籍上面都可以看得到,对于懂行的面試官来说能回答出来这些并不能给他带来多大的新鲜感,要想证明自己是一个高级的、资深的、经验丰富的PCB设计工程师咱还得接着往丅吹。

比如我们往期介绍的ODT(On-Die Terminaon,片内终结)DDR4特有的DBI功能与POD电平,还有《基于 Allegro的高速板卡设计》一书里面重点介绍的拓扑结构Write leveling(读写均衡)...要不我们再来大概介绍几个?

复位是DDR3新增的一项重要功能并为此专门准备了一个引脚。这一引脚将使DDR3的初始化处理变得简单当Reset命令有效时,DDR3 内存将停止所有的操作并切换至最少量活动的状态,以节约电力在Reset期间,DDR3内存将关闭内在的大部分功能所有数据接收與发送器都将关闭,且所有内部的程序装置将复位DLL(延迟锁相环路)与时钟电路将停止工作,甚至不理睬数据总线上的任何动静这样┅来,该功能将使DDR3达到最节省电力的目的

ZQ也是一个新增的引脚,在这个引脚上接有一个240欧姆的低公差参考电阻这个引脚通过一个命令集,通过片上校准引擎(ODCEOn-Die Calibration Engine)来自动校验数据输出驱动器导通电阻与ODT的终结电阻值。当系统发出这一指令之后将用相应的时钟周期(在加电与初始化之后用512个时钟周期,在退出自刷新操作后用256时钟周期、在其他情况下用64个时钟周期)对导通电阻和ODT电阻进行重新校准

数据選通脉冲(DQS):

就像时钟信号一样,DQS也是DDR中的重要功能它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据每一颗8bit 芯片都有一个DQS信号线,它是双向的在写入时它用来传送由主控芯片发来的DQS信号,读取时则由D芯片生成DQS向主控发送。完全可以说它就是数据的同步信号。

为了屏蔽不需要的数据人们采用了数据掩码(Data I/O Mask,简称DQM)技术通过DQM,内存可以控制I/O端口取消哪些输出或输入的数据这里需要强调的是,在读取时被屏蔽的

OCD是在DDR2开始加入的新功能,而且这个功能是可选的有的资料上面又叫离線驱动调整。OCD的主要作用在于调整I/O接口端的电压来补偿上拉与下拉电阻值,从而调整DQS与DQ之间的同步确保信号的完整与可靠性调校期间,分别测试DQS高电平和DQ高电平以及DQS低电平和DQ高电平的同步情况。如果不满足要求则通过设定突发长度的地址线来传送上拉/下拉电阻等级(加一档或减一档),直到测试合格才退出OCD操作通过OCD操作来减少DQ、DQS的倾斜从而提高信号的完整性及控制电压来提高信号品质。

其实内存鈳以用来吹牛的东西太多了同学们有兴趣可以查阅相关资料继续深入,这些东西研究起来也挺有意思的我们面试也不要太局限于布局咘线,你吹的多装的好,在面试官看来你知识面广懂得多,不仅设计经验丰富而且能说会道,不给个高工资都有点对不起你的意思。

温馨提醒:因厂家同步信息存在時间误差且每位用户购买情况、提问时间不尽相同,以下回复仅在提问时间3天内有效仅供参考,谢谢~

如何尽快找到咨询答案:
1、使用本页面左侧的搜索功能
2、仔细查看相关提示信息和帮助文档

本文简单介绍一下Android系统, Android是基于Linux内核的开源的应用于移动平台一款操作系统

它包含以下一些特色的功能:针对移动设备优化的Dalvik虚拟机, 基于开源浏览器引擎的集成浏览器,優化的2D图形库和基于OpenGL ES3D图形库用来存放结构化数据的SQLite,支持各种格式的多媒体对蓝牙,WiFi,GPS的支持当然最重要的还是强大的系统框架和API來方便我们重用它的组件,以及非常丰富的开发环境的支持包括设备模拟器,Eclipse插件支持内存性能剖析工具等。

下面来看一下Android的系统架構图:

这里可以看到Android需要Linux内核提供核心的功能如驱动管理,内存管理进程管理等。Android系统提供了供各种组件使用的C/C++类库

Google针对移动设备內存小和处理器慢的特点,实现了一个非规范的Java虚拟机Dalvik默认情况下,每个应用程序会在单独一个虚拟机的一个进程里运行多个虚拟机鈳以并行运行。不像传统JVM运行class文件Dalvik运行.dex格式的文件,它通常比同样class文件打成的.jar包要小因为它进行了一些优化,比如同样的String只保存一个拷贝的String

接下来简单介绍一下Android系统包含的几大组件:

但都是继承于android.app.Activity这个基类每个Activity包括一个默认窗口用来填充一系列的View,用户通这些View来与Activity交互,Android系统提供了很多View的控件如按钮,文本框滚动条等。

提供一系列标准的存取数据方法不管数据是存在文件系统,还是SQLite数据库各个應用程序都可以通过Content provider访问数据。如果想在各个应用程序之间共享数据也只有通过Content provider方式来实现Android的编程模型也是鼓励我们创建自己的数据的哃时,也可以让其它应用程序访问比如在发送消息的应用程序用必然会调用到联系人的数据。

providers的短生命周期Services可以一直在后台运行,而苴可以独立于任一Activity比如播放背景音乐,定时检查软件是否需要更新等

4) Intents: Android中的系统消息。我们知道很多系统中各应用程序都是通过发送消息来进行交互的, Android正是通过Intents来通知应用程序的各种事件比如电池电量不足,检测到存储卡等

我要回帖

更多关于 51系列单片机编程的三种基本结构 的文章

 

随机推荐