精华内容
下载资源
问答
  • UI设计规范-全文篇
    万次阅读
    2019-05-24 15:48:04

    目录

    UI设计规范 1

    1. 界面规范 1

    1.1. 总体原则 1

    1.2. 原则详述 2

    1.2.1. 用户控制 2

    1.2.2. 清楚一致的设计 2

    1.3. 细节约定 3

    1.3.1. 界面风格 3

    1.3.2. 统一术语 14

    关于UI规范的几点意见 15

    深圳UI设计交流QQ群:611531774 

    UI设计规范

    1. 界面规范

    1.1. 总体原则

    l 以用户为中心。设计由用户控制的界面,而不是界面控制用户。

    l 清楚一致的设计。所有界面的风格保持一致,所有具有相同含义的术语保持一致,且易于理解

    l 拥有良好的直觉特征。以用户所熟悉的现实世界事务的抽象来给用户暗示和隐喻,来帮助用户能迅速学会软件的使用。

     

    l 较快的响应速度。

    l 简单且美观。

    1.2. 原则详述

    1.2.1. 用户控制

    用户界面设计的一个重要原则是用户应该总是感觉在控制软件而不是感觉被软件所控制。

    l 操作上假设是用户-而不是计算机或软件-开始动作。用户扮演主动角色,而不是扮演被动角色。在需要自动执行任务时,要以允许用户进行选择或控制它的方式来实现该自动任务。

    l 提供用户自定义设置。因为用户的技能和喜好各不相同,因此他们必须能够个性化界面的某些方面。Windows为用户提供了对许多这方面的访问。您的软件应该反应不同的系统属性-例如颜色、字体或其他选项的用户设置。

    l 采取交互式和易于感应的窗口,尽量避免使用模态对话框,而使用"非模式"辅助窗口。 "模式"是一种状态,它排除一般的交互,或者限制用户只能进行特定的交互。当最好使用一个模式或该模式只是可替换的设计时-例如,用于在一个绘图程序中选定一个特定感觉-请确保该模式是显然的、可见的,是一个明确的用户选定的结果,并且容易取消。

    l 在后台运行长进程时,保持前台式交互。例如,当正在打印一个文档,即使该文档不能被改变,用户也应该可以最小化该窗口。

    l 谅解。用户喜欢探索一个界面,并经常从尝试和错误中学习。一个有效的界面允许交互式的发现,它只提供一组合适的选择,并在用户可能破坏系统或数据的情况时发出警告。如果可行,还应提供可逆转或可还原的操作。即使在设计得很好得界面中,用户也可能犯错误。这些错误既可以是物理上得(偶然地指向了错误的命令或数据),也可以是逻辑上的(对选定哪一个命令或哪些数据做出了错误的决定)。有效的设计避免很可能导致错误的情况。它还包容潜在的用户错误,并且使用户易于还原。

    1.2.2. 清楚一致的设计

    一致允许用户将已有的知识传递到新的任务中,更快地学习新事物,并将更多的注意力集中在任务上。这是因为他们不必花时间来尝试记住交互中的不同。通过提供一种稳定的感觉,一致使得界面熟悉而又可预测。一致在界面的所有方面都是很重要的,包括命令的名称、信息的可视表示,操作行为,以及元素在屏幕和窗口内部的放置。

    l 相同含义的词使用统一的术语。比如对于仓库中存放的物料,不可同时又称为物品、货物、备品、产品和材料等等,而统一约定一个称谓,且此称谓是用户熟悉的和易于理解的。

    l 使用一组一致的命令和界面来展示常见功能。例如,避免一个"复制"命令在一种情况下立刻执行一个操作,但在另一种情况显示一个对话框要求用户键入目标然后才执行。应该使用同样的命令来执行对用户来说相似的功能。

    l 操作环境内的一致。保持Windows提供的交互操作和界面约定之间的高度一致,用户将能很快熟悉软件的使用。

    l 使用隐喻的一致性。如果一个特定的行为更多的是一个不同的事物的特征,而不是它的隐喻的含义,那么用户可能在学习将行为和该事物相关联时遇到困难。例如,对于放在回收站中的对象而言,焚烧炉和废纸箩代表不同的模型。

    l 建立项目保留字。通过建立保留字来明确和统一术语和操作命令。

    l 提供可视反馈。在后台运行长进程时(时间超过1~10秒,视具体情况而定),必须提供进度条等信息指示。

    l 除非特别必要时,不要提供声音反馈。在有严重的问题发生时,可以使用声音来提示用户,但是通常应该允许用户取消声音。

    l 保持文字内容清楚。信息的表达要言简意赅,易于理解而又不罗嗦;避免使用冗长的文字给用户反馈。

    1.2.3. 有良好的直觉特征

    l 用熟悉的隐喻为用户的任务提供直接而直观的界面。通过允许用户利用他们的知识和经验,隐喻使得预测和学习基于软件的表示的行为更加容易。

    l 在使用隐喻时,不需要将基于计算机的实现局限在真实世界的对应物上范围之内。例如,与其基于纸张的对应物不同,Windows桌面上的文件夹可以被用来组织各种对象,例如打印机、计算器、以及其他文件夹。同样,Windows文件夹可以其真实世界对应物不可能的方式被排序。在界面中使用隐喻的目的是提供一个认知的桥梁;隐喻并不以其自身为最终目的。

    l 隐喻支持用户认知而不是记忆。用户记起与一个熟悉的事物相关联的意义要比他们记起一个特定命令的名称要容易得多。

    l 同常见软件保持一致性。出色的用户界面在程序中将实现同用户以前用过的其它成功软件一致的动作。

    1.2.4. 较快的响应速度

    l 保持界面能很快对用户操作作出反应。

    l 提供快捷键。特别对于有大量录入项的界面,能让用户不使用鼠标即可完成快速数据录入。在用户界面中加入一些功能,这些功能可以让熟练用户在不同的区域快速的输入数据。这些功能包括重复功能、快捷键、带有有意义的图标的按钮等等,所有这些可以使速度快的用户可以控制界面并加快数据的输入。

    l 除非必要,不要重绘屏幕。

    1.2.5. 简单且美观

    l 简单。界面应该很简单(不是过分单纯化)、易于学习、并且易于使用。它还必须提供对应用程序的所有功能的访问。在界面中,扩大功能和保持简单是相互矛盾的。一个有效的设计应该平衡这些目标。支持简单性的一种方法是将信息的表示减少到进行充分交流所需的最少信息。例如,避免命令名和消息的文字描述。不相关或冗长的句子扰乱了您的设计,使得用户难以很容易地提取重要信息。另一个设计简单而有用的界面的方法是使用自然的映射和语意。界面元素的排列和表示影响它们的意义和关联。简单还与熟悉相互关联。熟悉的事物通常似乎更简单。尽可能尝试建立利用用户已有的知识和经历的联系。您可以使用渐进揭示来帮助用户管理复杂的事物。"渐进揭示"涉及到仔细的信息组织,以便只在恰当的时候才显示信息。通过隐藏向用户表达的信息,您减少了用户必须处理的信息数量。例如,您可以使用菜单来显示操作或选择的列表,还可以使用对话框来显示一组选项。渐进揭示并不意味着对显示信息使用非传统的技术,例如需要一个修饰键作为访问基本功能的唯一方法,或者强迫用户通过一个更长的分级交互序列。这会使用户界面更加复杂和麻烦。

    l 美观。可视设计是应用程序界面的重要部分。可视属性提供了非常好的印象,并传达特定对象的交互行为的重要线索。同时,出现在屏幕上的每一个可视元素也是很重要的,它们可能竞争用户的注意。提供清楚地促进用户对表达的信息的理解的连贯环境。图形或可视设计器的技巧对于这一方面是无价的。

    1.3. 细节约定

    1.3.1. 界面风格

    1.3.1.1. 普通外观

    l 使用一致性一致的外观将使用户界面更易于理解和使用。用户界面控件看起来应该是一致的。

    l 使用安排和流程在西方文化中(包括中国),人们习惯于从左到右,从上到下进行阅读,因此,应该将重要信息放在上面和左边。左上角最容易吸引起人们的注意力。

    l 使用对齐通常,使用左对齐来使用户界面控件更易于浏览。对于数值文本,应该使用小数点对齐或右对齐。对于非数值文本,应该避免使用右对齐或居中对齐。不必对什么都使用中间对齐,或者使它们保持对称形式。在右边或底部保留空白区域更适合习惯。

    l 使用分组将相关的用户界面控件分成组,以体现它们之间的关系。同时,还要显示相关信息。将控件放在它所作用的对象旁。使用空格、分组框、线条和标签,或者其它分隔符对用户界面控件进行分组。

    l 使用强调使用焦点、位置、分组、层次、启用/禁用、大小、颜色或者字体等,来将注意力集中在需要首先看到的用户界面控件上。尽量以可视的方式指明用户接下来应该进行的操作。

    l 使用可视的提示尽量使用近似的大小和间距来指出用户界面控件是相似的,而使用不同的大小和间距来指出用户界面控件视是不同的。

    l 使用空格使用空格来创建一个"透气室",以使窗口布局更易于理解,并且查看起来更舒服。空格的多少要适当,不要显得太分散。但是,要避免过多地使用空格。如果可能,尽量使窗口小一些。

    l 警惕空洞不要到处粘贴公司或产品的名称及徽标。虽然在启动屏或"关于"框中出现公司或产品名称及徽标是完全可以接受的,但其他窗口中的可用空间应该出现其他内容。如果没有其他内容,那么应尽量使窗口小一些。

    l 注意大小使用用户界面控件的分辨率具有独立性。使用系统规格(使用GetGystemMetrics API 函数)或文本规格(使用GetTextMetrics或GetTextExtentPoint32 API 函数)来确定用户界面控件的大小。任何显示文本的对象(如对话框或定义的文本文档)都应该使用文本规格。

    l 考虑使用资源或预定义的布局网格资源模板或预定义的布局网格有助于您在不同的窗口之间实现一致性。

    注意,下页所示图的第二个对话框,与第一个不同,它有一个紧凑、从左到右、从上到下的流程,并且,左对齐的标签很便于浏览;通过对齐编辑框并调整其大小,使它显得更有组织,更加平衡。

    不合理的

    平衡的对话框

    1.3.1.2. Windows的可视提示

    暗示与用户只需通过查看可视提示来确定对象的使用方式的能力有关。在Windows中,请保持使用下面的可视提示:

    l 可以单击凸起的项目。

    l 可以单击当鼠标从其上移过时突出显示的项目。

    l 不能单击下凹的项目。

    l 可以编辑具有白色背景和闪烁垂直条(光标)的项目。

    l 不能编辑具有灰色背景的项目。

    l 灰色项目是被禁用的。

    l 可以拖动凸起的项目。

    1.3.1.3. 交互

    l 尽量提供对所有功能的键盘访问理想情况下,除了绘图这样的图形功能,其他所有的功能都应该只能通过键盘来访问。

    l 尽量提供对所有功能的鼠标访问理想情况下,除了文本输入外,其他所有功能都应该只能通过鼠标来访问。

    l 确保具有明显后果的操作要求用户进行明确的选择*用户需要完全明确他将要进行危险性操作或破坏性操作。

    l 对于使有耗时的操作都给出反馈*在进行长时间的操作时,要确保有等待光标、进度表或其他的可视反馈。用户应该能够取消长时间的操作。如果可以取消未完成的操作,那么将按钮标记为"取消",否则将按钮标记为"停止"。

    l 可视的指示模式*向用户提供一种可视的反馈,以指出用户进入一种模式,通常可以通过更改光标或标题栏文本来做到这一点。

    l 确保单击和双击的一致性*单击用于非按钮选定,而双击用于选定并执行默认操作。换句话说,双击(在列表框、组合框,或其他接受双击的控件中)的效果应该与选定控件中的一个项目,然后按下Enter键的效果一样。

    l 鼠标右键仅用于快捷菜单*确保鼠标右键仅用于快捷菜单,而不要用于其他用途。

    l 不要使用鼠标中键*如果用户的鼠标有中键,那么让用户使用"控制面板"中的"鼠标"实用程序自己分配中键的行为。

    l 保持分配的快捷键的一致性组合功能键和Ctrl键用于快捷键。习惯上不将Alt键用于组合键,业务Alt键常常被用于访问键。尽量避免使用Alt键和Ctrl键,因为这种组合会使快捷键非常麻烦,而且也很不方便。

    l 将快捷键作为补充方式*千万不要将快捷键作为访问命令的唯一方法。应该让用户有更多的明显选择。

    l 避免水平滚动条与垂直滚动条不同,水平滚动条并不受欢迎,因为它会使项目阅读起来比较困难。解决的办法有:尽量使用垂直滚动条、加宽窗口、减小文本的宽度,或者使文本自动换行等。当然,如果确实需要,还可以使用水平滚动条。

    1.3.1.4. 程序

    l 只有主程序窗口才有标题栏图标、菜单栏、工具栏和状态栏*因为单击主窗口的任务栏按钮也会激活二级窗口,所以二级窗口绝对不要显示在任务栏中。二级窗口不要因为使用菜单栏、工具栏或状态栏而使其变得复杂。可以使用标题栏图Subtopic

      Subtopic

    标来明显区分主窗口和二级窗口。另外,绝对不要使用默认的Windows图标(飘动的窗口图标)作为窗口图标。

    l 简化默认配置让用户按自己的速度来学习和使用程序。

    l 应用程序应该使用多文档界面(MDI)或单文档(SDI)这些程序界面应该与应用程序的使用模式匹配。

    l 默认情况下,应用程序应该保持为最大化当应用程序占用整个屏幕时,常常能够提高用户的工作效率。

    l 实用程序应该使用SDI或对话框界面这些程序界面应该与实用程序的使用模式匹配。对于实用程序,建议不要使用MDI界面,因为管理这些窗口需要付出很多努力。

    l 实用程序应该在小屏幕范围内运行实用程序常常与其他程序一起运行,因此它们需要在小屏幕范围内运行。实用程序应该有灵活的窗口布局,以适应多种不同的大小。实用程序很少以最大化的形式运行。

    l 使用实际文档的SDI程序必须支持运行多个实例*运行多个实例使用户能够同时操作多个文档。

    l 使用"退出"命令终止程序使用"退出"终止程序;使用"关闭"移走主窗口和非模式对话框;使用"取消"移走模式对话框。当关闭主窗口并不表示终止进程时,对于主窗口使用"关闭"来代替使用"退出"。例如:关闭打印机状态窗口不会取消打印任务。

    1.3.1.5. 默认

    l 保存和恢复用户选择程序应该能够恢复到其最后退出的状态。MDI程序应该能够恢复文档窗口的大小和位置。对话框通常应该使用最后输入的值作为默认值。

    l 提供适当的默认值提供提供适当的默认值来减少用户不必要的操作,从而帮助用户完成工作。提供最可能使用并给出设置实际使用方式的默认值。通常,最好的默认值是用户最后输入的值。

    l 考虑选择默认值时的安全性* 不应该将不可恢复或破坏性的操作设置为默认值。不要使用令用户感到莫名其妙的默认值。

    1.3.1.6. 窗体

    对话框窗体大小尽量不要超过640*460,留20给任务栏。并且高和宽(或W宽和高)的比应该大致保持为3:4(或4:3)。一般应该将窗体的"Position"属性定义为 "poDesktopCenter","WindowState"属性为"wsNormal",某些主界面设置为"wsMaximized"。"ShowHint"属性设为"True"。如果是模式对话框,则将"BorderStyle"属性设置为"bsDialog"。

    窗体文件(*.dfm)保存为文本格式,以便在VSS中比较不同版本之间的差别。如果窗体大小超过屏幕大小,则在Delphi开发环境中打开时,大小会有改变,并且影响到运行时刻效果。由于每个人的屏幕大小设置不一样,有些是1024*768,有些是800*600,因此在设计期间请注意窗体大小,尽量不要超过800*600,以免出现上述问题。

    

    1.3.1.7. 布局和间距

    窗体控件布局和间距尽量保持与Windows标准一致。控件与窗体的上、下、左、右边距为7象素。右下角主命令按钮之间的间距为6象素,如果主命令按钮在右上角,之间的间距则为4象素。主命令按钮一般情况为75×21象素,如果按钮的文本很长,应该适当加宽按钮的宽度。如下图。其它详细资料请完全参照错误!书签自引用无效。和命令按钮。

    控件的"TabOrder"属性值应该与控件排列顺序一致,即遵循从上到下、从左到右这样一个流程。如果在PageControl的多个页面中存在类似的控件,应该尽量使得它们在各个页面中出现的位置/大小比较一致,以免在页面间切换时产生闪烁感。

    1.3.1.8. 图标、图片

    不同界面中的同一功能应该使用同样的图标和图片。图标、图片的色调、风格尽量保持一致。图标、图片的隐喻应能确切表示功能的含义,如果不能,就直接使用文本,以免混淆用户。如果功能是一个动作时,可能比较难找到确切表示该功能的图标,这时应该尽量采用此动作相关的名词做图标。例如Windows中的"剪切"功能就是用一把剪刀来表示的。

    1.3.1.9. 提示信息(Hint)

    工具栏按钮应该设置工具提示 "Hint" 属性。Hint能帮助用户更方便地理解和使用。详细资料可以参照工具栏、工具提示。

    如果使用了"TSpeedButton"控件,并且只有图标,同样应对它设置"Hint"属性。如果不是特殊情况,应尽量避免使用"TSpeedButton"控件,而使用"TButton"控件代替。

    1.3.1.10. 标点符号

    在标识控件用途的标签文本(Label)和提示信息(Hint)中,应使用半角符号。如果是指导性标签文本(如解释按钮功能的句子),则使用全角符号,并且句子应遵循中文标点符号标准。如下图Microsoft标准对话框例子。其他详细资料可参照静态文本。

    1.3.1.11. 对话框

    l 对话框应该在所有视频模式下都能够正确显示当在VGA模式(640×480)下显示时,对话框应该不超过640×460(留20像素给任务栏)。这将确保对话框能够显示在所有的视频模式下。

    l 确保模式对话框的模式*确保使用具有父窗口的模式对话框都提供正确的父窗口句柄,而不时提供NULL句柄。如果没有提供父窗口句柄,那么父窗口仍处于活动状态,因此该对话框实际上并不是模式对话框。

    l 不要使用可滚动的对话框*也就是说,不要使用需要滚动条来进行完全查看的对话框。这种对话框使用起来非常不方便,并且也时完全不必要的。应该重新设计这种对话框。

    l 不要在作为二级窗口的对话框中使用菜单栏*使用这种对话框需要付出很多努力。注意,在用作主窗口的对话框(如"查找"实用工具)中,菜单栏时可以接受的。还要注意的是,在所有对话框中,快捷菜单和菜单按钮都是可以接受的。

    二级对话框不要使用菜单栏,但可以使用菜单按钮。

    l 不要在作为二级窗口的对话框中使用标题栏图标*标题栏图标用于区别主窗口和二级窗口。

    l 不要在任务栏上显示作为二级窗口的对话框*注意,单击主窗口的的任务栏图标也将激活二级窗口。

    l 对话框中使用下页图所示的页面布局和间距。

    l 对于相似的对话框,使用控件位置来强调其相似性。如果意义相同的同一控件出现在一些相似的对话框中,那么它应该显示在相同的位置。另一方面,应避免将可能会产生混淆的不同控件放在同一位置。

    l 对非模式对话框最好使用可停放的对话框可停放对话框在功能上与非模式对话框是等效的,但其位置设置更为灵活。

    l 策略地设置输入焦点将最初的输入焦点设置在最可能首先使用的控件上。

    l 在对话框标题文本中不要出现省略号例如,作为选择"打印选项…"命令结果而显示地对话框的标题应该为"对于选项"。但是,表示命令正在执行过程中菜单对话框(如"连接到Internet…"对话框)是一种例外情况。

    l 为所有可处理访问键的控件分配访问键*访问键可以使用户的手保持在键盘上,从而使访问程序更加方便。您可以直接在其标题中为诸如命令按钮、单选按钮、复选框等控件分配访问键。通过提供静态文本标签或带有访问键、在Tab顺序上先于控件的组框,您可以为诸如编辑框、列表框、组合框等控件分配访问键。在其他情况下不要为组框分配访问键-这会使人产生混淆。"确定"按钮没有访问键,因为在作为默认按钮时,它通过提Enter键来选定的。"取消"按钮也没有访问键,因为Esc键预览清除模式对话框。如果可能,避免使用小写的g、j、p、q或y作访问键,也避免使用这些字母前后的字母作为访问键。下划线不能与这些字母的下行字母分开。当然,访问键必须是唯一的。

    l 避免使用粗体文本尽量少使用粗体文本。在Windows 3.1 的对话框中,粗体文本用于在旧式的视频硬件上绘制被禁用的文本(即抖动的灰色文本)。因为现在的视频硬件可以绘制没有抖动的灰色文本,所以Windows 为了使外观更加清洁,现在Windows 在对话框中使用正常文本。粗体文本仅用于强调。对于大多数对话框不要粗体文本。

    l 提供环境敏感的帮助对于复杂的对话框,应该为整个对话框提供环境敏感的帮助(通过帮助按钮或F1键访问),或者为个别控件提供控件特定的帮助(通过"这是什么?"按钮或Shift+F1 键来访问),或者同时提供这两种帮助。

    1.3.1.12. 对话框的主要命令按钮

    l 将主命令按钮与对话框主体分开*主命令按钮包括像"确定"、"取消"、"关闭"、"帮助"、"停止"、"隐藏",以及其他相关按钮的等命令按钮。这种分开使主命令按钮更易于查找和识别。

    l 认真选择对话框的方向在西方文化中,人们习惯于从左到右、从上到下进行阅读,因此,将主命令按钮靠底部或右边放置更容易被发现。您应该选择对话框的外观比例与屏幕的外观比例(通常高与宽的比例为3:4)相似的方向。这将使对话框的外观看起来更加舒服,并且更易于在屏幕上进行定位。如果按钮具有不同的大小,那么可以将它们放在对话框菜单底部。当不能确定时,也可以将按钮放在底部,因为这种定位方式最为常见,也更易于阅读。

    l 将排列在底部的主命令按钮右对齐右对齐主命令按钮适合从左到右的阅读习惯。当只有一个主命令按钮时,您或许希望例外地将其居中放置。

    右对齐主命令按钮

    l 避免使用多行或多列的主命令按钮多行或多列的主命令按钮对用户是一个打击。如果有许多主命令按钮,那么注意,通常在右边排成一列与在底部排成一行相比可以放置更多的按钮。另外,您可以考虑使用命令菜单。如果必须使用很多按钮,那么注意使用多行别使用多列的效果好。

    l 对模式对话框,通常提供"确定"和"取消"按钮*要使用对话框,用户需要能够方便地识别前进(使用"确定"按钮)和后退(使用"取消"按钮)的方式。您可以使用更明确的按钮代替"确定"按钮,但绝对不要在模式对话框中替换"取消"按钮,除非用"停止"来表明正在进行的操作无法取消。

    l 对于非模式对话框或或作为主窗口的对话框,提供"关闭"按钮而不提供"确定"和"取消"按钮*将"确定"和"取消"按钮用于非模式对话框或作为主窗口的对话框可以使对话框看起来像是模式对话框。而且,当用于非模式环境中时,"确定"和"取消"时没有什么意义的。使用"关闭"按钮可以消除这种混淆。

    l 通常将"确定"按钮排第一,"取消"其次,"帮助"最后*"确定"或其等价按钮通常作为第一个主命令按钮。"取消"按钮应该位于"确定"的右边或下面。将"确定"和"取消"按钮放在一起。"帮助"按钮应该时最后一个按钮。如果没有"确定"按钮,那么应该将"取消"按钮放在"帮助"按钮的前面。这可以使主命令按钮更易于查找和识别。

    l 确保"取消"按钮真正用于取消操作*当取消时,程序的状态栏应该与之前显示的模式对话框完全相同。如果不是这样,那么应该用"停止"按钮来代替"取消"按钮。模式对话框中的"取消"按钮应该与标题栏中的"关闭"按钮效果相同。而属性表是个例外,因为"取消"按钮不会取消已经应用的更改。

    1.3.1.13. 属性表和属性页

    l 让属性页独立工作避免使一个属性页的行为或操作受其他属性页的限止。用户不可能发现属性页之间的这种独立关系。在属性页的使用顺序方面应该没有限止。用户应该能够随时查看任意的属性页。

    l 属性页的布局相互独立一些属性页通常不会占用同样大小的空间。占用空间较小的属性页应该与最大的属性页的布局的格式方式不同,因为将会产生额外的空间(见下图)。

    属性页的布局保持独立,避免居中。

    l 用属性表代替使用带选项卡的对话框使用属性表而不使用带选项卡的对话框除了具有一致性之外,没有什么明显的实用性优势。另外,对于实际显示对象属性的对话框使用属性表,而对于其他用途,所有带选项卡的对话框。

    l 对属性显示总采用属性表,即使仅有一个页*采用属性表能够明确告诉用户查看的使属性而不是一般的对话框。属性表有一个"应用"按钮来帮助用户测试设置。

    l 绝对不要使用两行以上的标签*最好使用一行标签,但两行也是可接受的,两行以上就太多了,可用级连属性设置或多个对话框代替。

    l 总为属性提供"应用"按钮再说一次,提供"应用"按钮帮助用户对设置进行测试。

    l 对显示属性的属性表总是在其标题中写上"属性"一词和对象的名称*请注意,不是所有的属性表都是用来显示属性的。

    l 总将命令按钮放在右边*适用于所有页的命令按钮必须置于标签页区域的外面,而仅适用于单个页的命令按钮必须置于该标签页的里面。

    1.3.1.14. 向导

    l 对高级的、复杂的或不常用的任务使用向导向导对非常高级或复杂的任务十分有用,省去了用户许多麻烦的操作。当向导用于不常用的任务时,其效果最好。对常用任务使用向导则显得大而不当。

    1.3.1.15. 控件

    l 尽量采用标准控件尽可能采用标准控件(6个最早的控件和新的Win32常用控件)。采用非标准控件的程序与绝大多数Windows程序看起来不一致。只用完全合理时才使用自定义控件。

    l 定制标准控件时要小心改变标准控件的标准外观或行为时一定要小心,这是个常常出错的地方。

    l 将无效控件置为不可用*将不适用于当前程序状态的控件置为不可用。

    l 取消不必要滚动条尽量使控件的尺寸足够大,避免使用滚动条。

    1.3.1.16. 命令按钮

    l 采用最小的宽度和标准的高度带文字的命令按钮应该采用50个对话单位(75个像素点)的最小宽度、14个对话单位(21个像素点)的标准高度。尽量将不同大小的带文字命令按钮的个数控制在两个以内。对父窗口拖动(owner-draw)按钮或无文字的按钮(如"…"),其大小可以任意设置,原则是使命令按钮外观简朴一致。高度大于14个对话单位(21个像素点)的按钮看起来不够专业。尽管不限制命令按钮的最大宽度,但宽度超过200个对话单位的按钮使不妥当的。请参阅下图所示关于命令按钮的实例。

    命令按钮大小示例

    l 针对国际化适当加宽按钮尽管50个对话单位(75个像素点)的宽度是适合英语文字的最小宽度,但对需要针对其他语言进行本地化的程序来说,可能就太小了。对于需要翻译为其他语言的程序,将命令按钮的最小宽度定为60个对话单位可能更适合。

    l 将无效按钮置为不可用,以取消报错*绝对不要使可用的按钮仅产生一条出错信息。

    l 总采用省略号来表示需要更多信息*命令中的省略号表示执行命令时需要更多信息,而不是简单的确认。省略号并不表示一定会出现对话框。

    l 绝对不要指定双击行为*用户意料不到命令按钮会响应双击,因此不可能发现这样的行为。

    命令按钮大小使用Window标准75×21象素。一般情况下,"确定"和"取消"按钮的属性设置如下:

    btnOk: TButton

    Caption = '确定'

    Default = True

    ModalResult = mrOk

    end

    object btnCancel: TButton

    Cancel = True

    Caption = '取消'

    ModalResult = mrCancel

    End

    "确定"和"取消"按钮一般被映射为Enter键和Esc键,因此不应该对它们指定访问键,除此以外的命令按钮都应该指定一个访问键。如下图:

    主命令按钮在下

    如果主命令按钮在右上角,应该布置为这样。

    主命令按钮在上

    如有其他不明,请参照命令按钮。

    如果设计期间未指定"ModalResult",注意一定要在按钮的"OnClick" 事件代码中为"ModalResult"赋值。

    1.3.1.17. 复选框

    l 用复选框开关选项,用单选按钮改变模式*用复选框进行选项的开关操作是很有效的,但如果用来将模式改变为另外一种状态就难免让人迷惑了。例如,可用一个复选框来表示是否显示工具栏,但若用复选框来切换打印机的横向模式和纵向模式就会使人糊涂,对横向和纵向模式应该用一组单选按钮代替。

    l 避免一组复选框中选项个数超过8个应该考虑用复选框列表代替,它占用的空间更少,但复选框列表需要滚动时使用就稍稍麻烦了。尽管控件足够或保持与同一窗口中其他复选框一致时,采用复选框时可取的,但大于8个左右的复选框就未免太多了。

    l 考虑将修改组的复选框置于应该分组框中这样的分组使得复选框之间的关系更为明显。

    l 宁可竖向对齐虽然更合适的情况下采用横向对齐或直角对齐也是可以接受的,但竖向对齐的一组复选框更易于浏览。

    1.3.1.18. 单选按钮

    l 避免一组单选按钮中的选项个数超过8个考虑用列表或组合框代替,它们占用的空间更少,但要记住控件使用更麻烦些。尽管控件足够或保持与同一窗口中其他单选按钮一致时,采用单选按钮是可取的,但多于8个的单选按钮未免太多了。

    l 避免使用单选按钮进行开 / 关或是 / 否选择用复选框代替。

    l 总将单选按钮置于一个分组框中*由于单选按钮是一组相互排斥的选项,所以分组框使选择更为明确。

    l 宁可竖向对齐虽然更合适的情况下采用横向对齐或直角对齐也是可以接受的,但竖向对齐的一组单选按钮更易于浏览。

    1.3.1.19. 组合框

    l 总给组合框提供一个标签*必须用标签来表明组合框的用途。

    l 使组合框的下拉列表最少有5行长少于5行的列表就没有可用的滑块,不易于滚动。请注意,如果组合框没有足够的列项来填满列表,那么将自动缩短列表的长度。

    l 避免组合框的列项少于4考虑用单选按钮代替,它们虽然多占空间,但更易于操作。如果空间更为重要或为了保持与同一窗口中的其它组合框一致时,采用组合框则更为可取。

    1.3.1.20. 编辑框

    l 总给编辑框提供一个标签*必须用标签来标明编辑框的用途。如果标签在左边,将标签文字与编辑框文本垂直对齐。

    l 避免有输入限制的编辑框将编辑框用于用户对任何文本的输入或数字编辑框用于数字的编辑。对于输入受限的情况,使用其他的控件,如组合框、列表、滑块和微调框。对于日期和时间,使用日期和时间拾取控件。

    l 用微调框和浏览按钮使编辑框可视微调框和浏览按钮是简单的可视机制,它们帮助用户在编辑框中进行有效的输入。避免让用户必须输入。仅对数字编采用带微调框的编辑框,对于文本,使用组合框代替。

    l 按期望输入来设置编辑框的宽度编辑框的宽度是对期望输入的可视提示。例如,如果用户是输入地址,两个字符宽的State字段明显暗示用户输入两个字符的州名缩写。如果期望的输入没有特别的大小,就选择与其他编辑框或控件一致的宽度。

    l 总采用数字编辑框用于数字输入*当用户在数字字段中输入非数字文本时,不应该有任何出错消息。

    1.3.1.21. 滑块

    l 总给滑块提供一个标签* 必须用标签来标明滑块的用途。而且,滑块还应该有标明高、低值意义和当前选择的标签-当然都不带冒号。

    1.3.1.22. 静态文本

    l 左对齐静态文本标签左对齐使得标签外观更有条理,且易于浏览。

    l 宁可将静态文本标签置于相关控件的左边,而不是上面这样对齐使标签更易于被发现,且方便了标签和控件的浏览。很明显,长控件是例外情况,如列表视图、树形视图(Tree)和多行编辑框。

    l 总在用于标识控件的静态文本标签后带上冒号*使用冒号明显表示为控件标签的文本。为控件提供附加信息的标签不应该有冒号,如用来解释滑块控件的标签。标签也可作为屏幕读出器的输入信息。

    l 对非标签文本总用只读编辑框*  只读编辑框允许用户将文本复制到剪贴板上,并在文本比控件长时可进行滚动。

    l 不要把静态文本置于凸起的边界上*在凸起边界上的静态文看起来像按钮,因而用户会试图单击它。

    1.3.1.23. 列表框

    l 总给列表框提供一个标签*必须用标签来标明列表框的用途。

    l 使列表框至少5行长少于5行的列表没有滑块,不便于滚动。如果列表框没有滚动条,那么使用一个更短的列表框也是可以接受的。

    l 对多个选择考虑采用复选框复选框列表可以突出其多个选择的能力。如果不能接受复选框列表,那么可以采用多选列表,并用静态文本表示选项个数,清楚指明可进行多项选择。

    l 对多选列表考虑提供"全部选中"和"全部取消选中"命令由于希望全部选中或全部取消使常见的事情,所以这两个命令方便了用户进行多项选择。

    1.3.1.24. 列表视图

    l 总给列表视图提供一个标签*必须用标签来标明列表视图的用途。

    l 使列表视图至少5行长少于5行的列表视图没有滑块,不便于滚动。如果列表视图没有滚动条,那么使用一个更短的列表视图也是可以接受的。

    l 仅在列表可排序时采用可单击的表头*可单击的表头只应用于排序。首次单击时应按正序对列表进行排序,而第二次单击时按反序进行排列。

    l 对列项大约超过30的列表视图总使其可进行排序*用户能够对列表进行排序方便了对信息的查找。

    1.3.1.25. 滚动条

    l 滚动条仅用于滚动*使用滑块或微调框来设置数值。

    l 使滚动条足够长,保证有可用的滑块。没有滑块的滚动条不便于使用。

    1.3.1.26. 分组框

    l 利用分组框分组相关控件尽管分组框通常是用于单选按钮的分组,但也可用于任何控件的分组。避免使用只有一个控件的分组框,除非是为了保持与同一对话框中其他分组框一致。

    l 考虑采用静态线或文本标签来代替分组框分组框多时要占去许多空间。如果空间紧张的话,一个替代分组控件的好办法是同时采用静态文本标签和静态线。

    考虑采用静态文本标签和静态线代替分组框

    l 不要在分组框标签的后面使用冒号*分组框标签的意思明白,使用冒号完全没有必要且让人糊涂。

    1.3.1.27. 菜单

    l 总用单个单词作为菜单标题*菜单栏上多个单词的菜单标题看起来像多个菜单标题。

    l 不要在菜单栏的文本间留有空隙*不一至的菜单栏文本既无用,又难看。

    l 避免占多行的菜单栏*尽管将父窗口缩小到足够窄时,任何菜单栏都要占用几行,当要避免正常使用时因菜单项都而占用几行的菜单栏。

    l 保持菜单稳定*将无效菜单置为不可用,而不要删除它们。但是,对整个程序实例都无效的菜单,就应该删除。

    l 合理安排菜单项的顺序将相关菜单项组合在一起。重要的命令应该位于菜单的顶部,而不重要的菜单则位于菜单的底部。

    l 将无效菜单置为不可用来代替报错*菜单绝不应该有仅产生出错消息的可用命令。

    l 分配访问键*访问键使用户可以手不离开键盘进行操作,并提供程序的可访问性。尽可能避免用小写字母g、j、p、q、y或单词中与它们靠近的字母来分配访问键,因为下划线与下一行的字母不好区分。当然,一个菜单中的访问键应该是唯一的。

    l 总采用省略号来表示需要更多信息*命令中的省略号表示执行时需要更多的信息,而不是简单确认。省略号不表示一定有对话框出现。

    l 使用标准菜单避免不提供"文件"、"编辑"和"帮助"菜单。由于这些是标准菜单,所以用户会期望它们出现。例如,期望在"文件"菜单中发现像"打印"和"退出"这样的命令,虽然这些命令可能与"文件"无关。同样,用户期望在"编辑"菜单中发现"剪切"、"复制"和"粘贴"命令,至少要在"帮助"菜单中发现"关于"命令。

    l 统一放置"查找"和"选项"命令总将"查找"命令放在"编辑"菜单中,而有"工具"菜单时,总将"选项"置于其中,否则置于"查看"菜单中。

    l 用复选标记来开关选项,用单选组来改变模式*用复选标记进行选项的开关操作是有效的,但如果用来将模式改变为另外一种状态就难免让人迷惑了。例如,可用一个复选标记来表示是否显示工具栏,但若用复选框来切换打印机的横向模式和纵向模式就会使人糊涂,对横向和纵向模式应该用一个单选组来代替。

    l 不要使用多列的下拉菜单*多列增加了菜单不必要的复杂性。

    l 不要使用"Bang"(爆炸的声音)菜单*Bang菜单是菜单栏上那些看起来像下拉菜单,但实际是选择后立即执行的命令,如"退出"!显然,用户希望菜单标题就只是菜单,而不是命令。

    l 不要右对齐菜单标题*这样的菜单风格陈旧且不易于使用。

    1.3.1.28. 上下文菜单

    l 考虑将上下文菜单作为冗余使用上下文才菜单不应该是访问命令的唯一方式。通常上下文菜单中的命令应该在菜单栏中也提供,使用上下文菜单是为了提高访问效率。

    l 避免在上下文菜单中包含快捷键应该将快捷键分配在菜单栏中,上下文菜单的快速访问是通过鼠标进行,而不是通过键盘。

    1.3.1.29. 工具栏

    l 保持工具栏稳定*将无效的工具栏按钮置为不可用,而不是将它删除。但是,应该考虑删除用户进入一种模式用不到的整个工具栏。

    l 将无效命令置为不可用,而不是报错*工具栏绝不应该包含只出现错误消息的命令。

    l 对实用程序采用大工具栏按钮好的使用程序工具栏常常与应用程序的按钮不同,其按钮更简朴,更大。实用程序工具栏应该只包含几个带有描述性文字和图形的显眼命令。

    l 对应用程序采用可移动的、可定制的工具栏,而对实用程序采用固定的工具栏应用程序需要灵活的工具栏来支持其典型的使用方式。用户使用实用程序的时间一般不长,因而不需要定制工具栏。

    l 提供显示或隐藏工具栏选项如果有多个工具栏,分别为它们提供显示或隐藏的选项。

    l 总使用工具提示*工具提示帮助用户了解工具栏按钮的作用。

    1.3.1.30. 工具提示

    l 用工具栏的工具提示来提供信息,但要简短避免提示很明显的事情。考虑采用省略号来表示执行命令时需要更多信息。如果该命令已分配有快捷键,则显示该快捷键。

    l 使工具提示文本成为高级用户的媒介工具提示用于简短的识别和提醒,而不是用来教学。

    l 用工具提示显示有用信息不仅仅可在工具栏上使用工具提示,它的使用简单,能够向用户提供有用信息。但不可滥用-工具提示太多也就失去了其价值。不要对命令按钮会静态文本这样的控件使用工具提示。

    l 不要自动消去包含许多文字的工具栏提示默认时,10秒种后工具提示将自动消去。如果工具提示的文字很多,10秒钟对用户来说就看不完了。

    1.3.1.31. 文本

    l 避免不必要的缩写词要么给文本更多的空间,要么改写文本使其占用更少的空间,缩写词使文本不易理解。

    l 避免不必要的大写字母文本除非只去首字母构成的缩写词,否则不要用字母全为大写的单词,这样的单词看起来像在冲用户大喊大叫一样

    l 避免复杂的标号尽量采用简单的标点,如句号、逗号、问号,以及破折号。避免使用分号、感叹号、圆括号、括号,等等。

    l 采用一致的大小写规则*对窗口标题、菜单、命令按钮、列标题属性页选项卡以及工具栏提示文字采用与书题一样的大小写规则,而对于标题、单选按钮、复选框、分组框和菜单项帮助中的文本采用与句子一致的大小写规则。(对于标题,除了不是标题开头和结尾的冠词和介词外,每个单词的第一个字母大小。对于句子,每个句子的第一个单词以及通常大写的单词-如专有名词的首字母大写。)

    l 避免不好的背景将文本放在实地、颜色适中的背景上,确保在文本和背景之间存在良好的对比。

    l 避免冒犯性语言避免激烈的词语,如fatal(致命的)、execute(执行)、kill(杀死、毁掉)、terminate(终止)、和abort(中止)。

    1.3.1.32. 消息框

    l 仔细选择消息框的类型采用带"确定"按钮的信息消息框向用户提供有关命令结果的信息。采用带"是"、"否",以及可能"取消"按钮的警告消息框在继续进行前需要用户输入的情形下告诫用户。采用危急消息框通知用户进行工作前需要修改一个错误。

    l 不要使用疑问消息框类型*不再推荐对消息框使用疑问标记符(MB_ICONQUESTION),因为它在Windows98后一致用来表示上下文修改帮助。

    l 避免不必要的消息框不要用出错消息来报告正常行为,而应该用来报告不正常或不期望的结果。不要对很容易恢复的操作进行确认。

    l 问用是/否回答的问题问用户问题时,采用"是"和"否"按钮代替"确定"和"取消"按钮,这样使问题易于理解。与对话框中不一样,"确定"和"取消"按钮很少同时用在消息框中。

    l 确保消息框选项按钮与文本一致例如绝不要用"是"和"否"来作为非提问消息的响应。同样,不要使用多个效果相同的选项按钮。例如,除非有不同的操作结果,否则不要同时提供"否"和"取消"按钮。"否"按钮应该执行操作,而"取消"应该取消操作。

    l 仔细选择默认按钮将最安全的或最常用的选项作为默认按钮。

    l 避免无用的帮助除非提供真正有用的附加信息,否则不要提供"帮助"按钮。不要附加带无用帮助信息的没意义的消息框。

    l 对危急错误考虑采用系统模式消息框采用系统模式消息框向用户提示严重的、可能造成破坏性的、急需注意的错误。系统消息框除了有WS_EX_TOPMOST样式外,与应用程序模式对话框完全一样。与在16位Windows中不一样的是,系统模式不影响用户与其他程序的交互。

    1.3.1.33. 错误消息

    l 避免错误号除非这个错误号对用户真正有用,否则不要给出错误号。

    l 避免责怪用户避免在出错消息文字中出现单词you(你)或your(你的)。如果需要,当指用户操作时使用被动语气。采用与"错误发生了"等价的表达,比采用与"你捅漏子了"等价的表达要好得多。

    l 避免敌对性语言避免在错误消息文字中使用词语bad(糟糕的、坏的)、caution(小心)、error(错误)、fatal(致命的)、illegal(非法)、invalid(无效)和warning(警告),而应该使用更具体的描述性词语。并且应该尽量解释到底是什么出了错。

    l 在出错消息文字中使用平实的语句表达要简短、清楚、协调、具体。除非缩写词,否则不要使用全部大写的单词,那样的单词看起来像在冲用户大喊大叫一样。使用完整的句子和一般的现在或过去时态。避免缩写词

    l 避免在用户错误消息文字中装做有趣或高人一等用户并不觉得错误消息有趣,故装幽默并不能被广泛接受。

    l 允许用户压制非危急的错误消息对经常出现的非危急错误,向用户提供一个压制该错误消息的选项。

    1.3.1.34. 字体

    字体统一使用以下设置:

    Charset = GB2312_CHARSET

    Name = '宋体'

    Size = 9

    Color = clWindowText

    Style = []

    字符集不要使用 ANSI_CHARSET 或 DEFAULT_CHARSET,否则可能导致不同的操作系统下字符集不一致。

    l 尊重用户的字体选择*Windows允许用户为标题栏、菜单、消息框和工具提示选择字体。及时处理WM_SETTINGCHANGE消息以根据设置迅速而安全地改变字体。

    l 避免让人分心地字体一般说来,应避免使用Arial、Tahoma和MS Sans Serif之外的字体。Verdana、TrebuchetMS和Century Gothic也适合于轻微差别的外观。即使文档中的截线字体很不错,但界面中的任何截线字体都被认为是让人分心的。除了提示用户输入或模拟打字机外,不要采用等宽字体。

    l 避免使用粗体和斜体用粗体来吸引人的注意,用斜体表示着重,但要还少使用。

    l 避免混合字体任何不包含文档的窗口最多包含两种不同的字体。

    1.3.1.35. 颜色

    l 使用系统颜色*尊重用户的颜色选择,避免使用固定颜色。不要强迫用户使用您选择的颜色。避免让人分心的文本颜色,通常是黑色之外任何颜色,对文本使用系统颜色COLOR_BTNTEXT或COLOR_WINDOWTEXT。在白色(COLOR_WINDOW)背景上使用黑色(COLOR_WINDOWTEXT)文字是完全正确的。及时处理WM_SYSCOLORCHANGE消息以根据设置迅速而完全地改变颜色。

    l 根据内容而不是外观来选择系统颜色*不要将作为一个集合中的几种系统颜色混合匹配在一起。例如,不要将COLOR_BTNTEXT和COLOR_WINDOW混合在一起。

    l 考虑对图形使用中间调色板在256色模式下使用中间色调色板避免了调色板的闪烁。

    l 不要用颜色作为传递消息的唯一方式*不依赖于对颜色的区分可以增强程序对色盲用户的可访问性,并且使程序可运行在单色显示器上。

    1.3.1.36. 三维效果

    l 避免不必要的三维效果除非对控件分组,否则避免三维静态线和矩形框。宁可采用空白来分开组件,绝不在三维矩形框周围套其他的三维矩形框。避免使用三维文本。

    三维效果过多

    在界面中采用太多的三维效果是程序员常范的错误。毕竟,如果有些三维效果很酷,对吧?不完全如此。请看下面的对话框。一点也不酷。一旦三维控件流行起来,就好像能使用三维的都采用三维,而不管看起来是好是坏。即使采用三维边框,其目的也是为了让人理解。采用许多三维静态框架控件通常是个坏征兆,现代的趋时是倾向于更为简单的风格。

    l 使用柔和的三维效果请注意Window98中更为细致的三维效果是如何比Window 3.1中的三维效果更有效更悦目的。尽管绝大多数现时世界的物体有加亮区,但很少有黑色实边框的。Windows98仅是通过在突起物体的右边和底部加上黑色边框以及在凹陷物体的上部和左边加黑色边框来达到三维效果。

    去除多余的三维效果

    最少三维效果

    l 使用一致的三维效果*确保三维效果的光源位于屏幕的左上角。

    1.3.1.37. 各种细节

    l 不要发音和闪动没什么比发音和闪动的程序更烦人的了。但闪烁程序的任务栏窗口按钮通知用户未决消息例外。

    l 避免不必要的视频效果至少一个使其为可选择的。理想情形是,默认时关闭这样的效果,用户有明确要求时才打开。

    l 用缩放功能提高文档可访问性提供提供文档缩放功能,可提高显示文档的程序的可访问性和整体性能。

    l 处理WM_DISPLAYCHANGE消息*改变显示分辨率后,程序应该能够正确显示和运行。

    l 基于光盘的程序的应该支持自动播放当光盘插入驱动器后,"自动播放"应该显示一列选项,包括安装。程序安装以后,不应该运行"自动播放"。

    l 支持用户采用日期和时间拾取控件进行日期输入,GetDateFormat和GetTimeFormat函数用于设置货币和数字的格式,LCMapString API用于排序。考虑采用RichEdit控件用于文本输入和输出。最后,利用WM_INPUTLANGCHANGE消息来处理输入语言的改变。

    1.3.2. 统一术语

    1.3.2.1. 术语的重要性

    我们用名称来区别、描述和查找事物,使用名称来分解并理解不熟悉的事物。采用统一的术语有助于我们更好地理解和进行交流-简化并统一用户界面术语有助于用户理解和充分应用我们设计的界面。

    使用不同的术语描述相同的事物是最让人迷惑的,而改变人人都已经熟悉的术语也是有害的。这两种情况都使得程序难以讨论、描述,以及归档。甚至使它难以编程。

    1.3.2.2. 命名

    下面是一些需要命名的、与界面有关的典型对象:

    ● 程序本身;

    ● 程序使用的文档类型;

    ● 用户利用程序执行的主要操作;

    ● 所有的窗口、对话框和属性表;

    ● 主程序窗口中的使用区域;

    ● 认为非标准的屏幕对象、命令、属性、交互、或者技术。

    简而言之,用户可以看到或需要与其进行交互的、显示在菜单、工具栏、窗口、对话框、状态栏、联机帮助或文档中的任何内容都需要有一个名称。当然,您将会使用已存在的标准屏幕对象的名称。例如,您不需要命名常用的对话框,因为它们已经拥有名称。

    1.3.2.3. 用用户的语言说话

    使用软件面向的用户所熟悉的词语,除非您的软件是为了程序员设计的,否则应该避免使用计算机行话,而应用常用的单词代替。例如,对绝大多数用户来说,常用单词"separator"(分隔符)就比技术术语"delimiter"(定界符)要好得多。如果必须使用技术词汇,那么应采用那些用户可能知道的术语。

    1.3.2.4. 要避免的术语

    也有些术语是千万不要用在您的用户界面中的。尽管"execute"执行、"kill"(杀死)、"terminate"(结束)、"fatal"(致命的)和"abort"(中止)这样的术语在程序员文献中是完全可接受的,但完全应该避免出现在其他的文字中。

     

    关于UI规范的几点意见

    2007-04-30 10:07

    今早看了白鸦的一篇博文"什么时候开始整理界面规范"讲的主要是图形界面方面的内容,我也写了几点意见

    1、UI规范分为两个方面:

    a、GUI规范,指导产品GUI设计和GUI编码。

    b、交互设计规范,指导产品设计,着重统一团队意识,作为设计产品交互行为的最高标准。

    这里大家讲的主要是GUI 规范。

    2、GUI规范的制定时间可前可后,但是有两个关键点:

    a、必须在编码之前完成,否则就成花架子了。

    b、GUI规范不是一蹴而就,它和设计相互迭代,彼此补充,相互完善。

    3、GUI规范的内容70%是通用原则,涉及产品图形控件的基本属性和构建的基本参数和原则,30%是与项目或产品特点相适应的内容。这部分内容就是在设计过程中迭代产生。

    4、规范制定不是问题,最大的问题在于执行。必须打破现有的开发流程和组织架构,有专人负责界面编码和界面测试,才能保证规范能贯彻下来。让做逻辑和函数的编码工程师来执行,完全不可控,走样是自然的,因为他不懂,也不在乎,而且他有理由逃避责任。

    5、规范不能直接拿出来执行,篇幅太多,操作有难度。所以必须要让规范落地。也就是说,要有具体的设计文档作为执行的依据。设计文档按照产品设计思路分片分线组织,所有设计文档结合起来就是整合的产品原型。

    所以说,GUI设计、交互设计、设计、规范、原型,执行是一个完整的互动的概念,牵一发而动全身。

    更多相关内容
  • 本文档为硬件开发原理图设计规范,主要包括第一部分设计规范、第二部分详细说明(原理图制图规范、电路设计、可靠性设计、信号完整性设计/电源完整性设计、系统相关设计、可生产性设计、可测试性设计)
  • 数据中心 信息技术 系统集成 GB 50174-2017数据中心设计规范
  • 《电子信息系统机房设计规范》GB 50174-2008.pdf《电子信息系统机房设计规范》GB 50174-2008.pdf《电子信息系统机房设计规范》GB 50174-2008.pdf《电子信息系统机房设计规范》GB 50174-2008.pdf《电子信息系统机房...
  • 华为是我国乃至世界公认的行业翘楚,他们的产品已经是誉满天下,这一切成就与他们有一套很权威,很科学的设计规范是密不可分的。不才在互联网整理一些,希望对同行有些帮助
  • IOS 11设计规范中文完整版,里面有规范预览、APP架构、用户交互、系统能力、图标和图像、UI栏等规范
  • 华为公司设计规范软硬件设计规范EMC电磁兼容PCB设计规范等文档资料合集: EMC基础知识---华为.pdf 华为 emc.PDF 华为C语言编程规范总则.pdf 华为PCB-Layout设计规范.pdf 华为PCB布线规则.pdf 华为_CDMA原理(NSS).ppt...
  • GB50011-2010(2016年版)建筑抗震设计规范-正式版,GB50011-2010(2016年版)建筑抗震设计规范-正式版,GB50011-2010(2016年版)建筑抗震设计规范-正式版,GB50011-2010(2016年版)建筑抗震设计规范-正式版,GB...
  • DDR4 PCB设计规范&设计要点,DDR4 PCB设计规范&设计要点
  • GB50174-2017数据中心设计规范电子版,非扫描版,2018年1月1日执行,同时废止2008版,非扫描版,仅供参考
  • 手机淘宝HTML5版交互设计规范,超级详细
  • 苹果UI设计规范

    2013-01-23 13:05:06
    苹果公司内部UI设计规范向导,包括mac系统设计和iso界面设计
  • B端产品设计规范

    千次阅读 2021-03-30 13:27:31
    上一篇,我写过一篇综合类的设计规范和适配。 这一次我想重点写一下:网页PC端产品设计规范和组的设计拆解,对项目的设计效率提升,有一定价值和意义。 分析项目设计中的组件,设计元素,设计规范与设计稿到开发的...

     

    开篇说:

    上一篇,我写过一篇综合类的设计规范和适配。

    这一次我想重点写一下:网页PC端产品设计规范和组的设计拆解,对项目的设计效率提升,有一定价值和意义。

    分析项目设计中的组件,设计元素,设计规范与设计稿到开发的最后,尽可能保证产品设计还原的一致性。

     

    思考项目设计的实际场景,团队来调整优化产品设计整体方案和设计细节、优化产品交互和设计的一个过程。

    在这个团队协作的过程中,团队包括产品经理、体验设计师及开发程序员等测试人员,都要积极的参与讨论,多方并行参与到最后形成一套可以落地执行,满足用户体验设计和产品设计的规范和组件化设计。

     

     

    一. 接下来具体思考,作为B端产品设计,为什么需要建立设计规范

     

     

    1、保证设计的一致性

    对内部:多个设计师合作,依然能保证设计风格的统一,提高设计的效率。

    对用户:提高用户体验,提高操作效率,加深对产品的记忆。

     

    2、提高开发效率和还原度

    与前端有效沟通的工具,提高设计的还原度,降低对接成本。

    开发可以建立公共组件库,极大的提高了开发效率。

    按照设计规范建立他们自己的控件库,提高复用率。在设计规范的指导下,开发部门在搭建全局共用控件时,产品设计规则就会更加清晰明了,如:产品设计中的按钮、间距、字体大小、颜色、列表等元素的设计明确。

     

    3、方便产品迭代,辅助设计和开发更好的完成设计的协作

    随着产品设计的业务变化,发现一些问题或者需要优化用户体验的时候,针对单个控件进行调整,就可以影响全局,十分便捷,同时大家遵循设计规范,辅助设计师高效的理解业务,方便了开发查看文档,大家可以更好的进行团队协作。

     

    B端产品,为什么需要建立设计规范的总结,如下图所示。

     

     

     

     

    二. 如何做好 B 端产品设计规范

     

     

    对于项目设计评审前,建议产品设计师,先理解功能逻辑和产品设计思维,构思产品设计解决业务的方案。在项目还没开始之前,设计师尽量参与到前期的产品调研和竞品分析等头脑风暴中。换位思考,角色扮演的方式,与我们的上游产品经理沟通,公司产品服务的用户人群是谁、年龄的大致范围和我们的产品设计,解决了用户的具体问题是什么等思考点。

     

    做设计规范要遵循一定的设计规则,具体如下:

     

     

     

     

     

     

    对于落地实现,我们需要清楚开发适配的分辨率的尺寸,对于后台系统的分辨率,一般基于1440x900来做设计尺寸,然后做其他尺寸的屏幕适配。如下图所示。

     

     

     

    我们了解公司项目背景后,我们就开始定位产品的设计风格,根据产品原型出几张符合产品风格的设计稿,

    主要包括项目的主界面的设计风格,包括界面设计的颜色、按钮、表格、表单、弹框等元素样式的设计。

     

    1 确定产品设计的优先级

    2 确定设计规范的书写

    3 逐步对单个规范进行整理与书写,原则上一条说明附加一个界面示例

     

    下图是具体的设计规范和设计规则的思考:如下图所示。

     

     

    接下来先看网页端通用的设计规则:如下图所示。

     

     

    颜色(主色调的确立)

    主色调的选择,根据用户群、使用场景及产品定位来思考。对后台设计的系统来说,系统可做皮肤功能的扩展,给用户一个基础色,然后做配色好的皮肤,让用户自由选择。客户都想要根据自己品牌色来做自己的设计系统,拥有多套可选择的方案,比如:百度网盘皮肤的多套方案设计。

     

    建议设计时,整体色彩不宜超过 3 种,并遵循其对比原则,突出色彩的层次感。整套界面的色彩尽量少、思考不同用途的颜色意义。如下图所示。

     

     

     

     

     

     

     

     

     

    中性色包含了黑、白、灰。在蚂蚁中后台的网页设计中被大量使用到,正确的使用中性色能够让界面信息具备良好的主次关系,提升用户好的阅读体验。下方中性色板一共包含了从白到黑的 8 个颜色。如下图所示。

     

     

    颜色代码标准

    在 CSS 中,所有颜色都以 16 进制色值来进行书写,如:#a0a0a0

     

    这里以时间轴为例,思考色彩的含义:如下图所示。

    -绿色表示已完成、成功状态;

    -红色表示警告或错误状态;

    -蓝色表示当前进行中或其他默认状态;

    -灰色表示未完成或失效状态;

     

     

     

    标准字的选择,如下图所示。

    后台系统在字体选择,中文:微软雅黑;英文:Arial即可。

     

    标题类一律用Medium,以突出层级关系,让信息更清晰。

    原因:字重 Medium 兼容性更强,在用微软雅黑这种字体时也能较好的显示正文。

    当需要强调的时候,建议使用 Medium 和颜色等设计处理;

    另外考虑到数字和西文字体本身面积较小,建议使用 Semibold,使得中西文混排时更加舒适美观。

     

     

     

    字体使用原则

    字体以不超过 2 种字体为准,特殊情况除外。
    字体大小号的选择以14px、16px、18px 等偶数字体大小为准。
    中文采用标准字体:“微软雅黑”、“宋体”,英文采用“Arial”,不能使用特殊字体(如 隶书、草书等,特殊情况广告图可用图片替代),来保证用户的阅读体验。


    控件里的文字,尽量使用大小统一的字体属性。

     

    “微软雅黑”为主,“宋体”为辅的使用原则,用加粗的方式表达加强突出效果。

     

    菜单标题

    菜单标题字体大小:最小取 16px,最大取 20px。

     

    正文标题

    正文标题字体大小:最小取 24px,最大取 32px。

     

    正文的字体

    一般情况下,正文字体大小以 14px 为准,特殊情况下可以加粗或取 16px 大小的字体。

    所有字体样式颜色组合需要尽量通过 3:1 的 WCAG AA 标准。

     

     

    图标的思考:如下图所示。

    图标现在是制作完成后,上传到阿里巴巴的字体图标库中。前端调用起来更方便,调整图标的大小和颜色就好。

     

    图标尺寸的思考:

    在制作图标时,尺寸以偶数尺寸为准。
    为保证图标的显示效果,最小尺寸为 16px。

    为保证 Web 页面的整体效果,图标的最大使用以不超过 48px 为准。

     

    滚动图片的动画则使用多张 png、jpg格式图片即可。

     

     

    图片文件大小的控制(单位 KB):

    为保证图片的浏览速度,图片大小以保证图片质量的前提下越小越好。

    图片大小上限以 100kb 为准,超出 100kb 的,可考虑分成多张图片显示。

     

     

    图片分辨率:

    图片分辨率:统一为 72 像素。

    以居中或居左对齐为准,同一内容区域内的图片要做到大小统一,对齐方式统一。

     

     

    页面布局的框架设计:

    我们在设计过程中,需要考虑我们基于什么样的尺寸进行基础设计。划分哪些区域需要固定尺寸、哪些需要做适配等。据统计,使用中系统的用户的主流分辨率主要为 1920、1440 和 1366。

     

    我们一般基于1440设计。

    比如:zan design的布局是使用统一的元素和间距来保持各个平台的体验的一致性。

    统一屏幕尺寸的间距和跨平台的设计模式,给用户带来更好的体验感。

    设计思考,有如下几点:

    1.保证画布尺寸的一致性原则。

    2.统一的网格单位。

    3.统一的栅格系统。

    4.视觉元素的统一和对齐等。

     

     

    目前显示器分辨率主要有:

    16:9 的有:1920×1080 、1600×900 、1366×768

     

    16:10 的有:1920×1200 、1680×1050、 1440×900

     

     

    一个完整的web页面必须由以下三部分构成:

    头部区域header 、主体区域main、底部区域footer。如下图所示。

     

    边距

     为避免页面元素紧贴边沿的情况发生,WEB 页面和其中的表格,应设定边距,最小边距值为 “3px”。如下图所示。

     

     

     

    按钮

    按钮是交互设计中必备的元素,它在用户和系统的交互中承担着非常重要的作用。

    后台中常见的按钮类型分为线性按钮、文字按钮、图标按钮等。如下图所示。

     

     

     

     

     

    表单

    常见表单是由多个列表项构成的。而每一个列表项都是由最基本的标签和输入框组成,常规的表单包括单选、多选、下拉选、输入框、时间选择、开关选择等控件。

     

    左对齐是比较常见的对齐设计,比较符合pc端常规显示的场景。如下图所示。

     

     

     

    顶部标签是标签在控件的上方,标签可以和控件左对齐,对于横向空间不足的情况是一种很好的方案。

     

    竖列标签的使用场景思考:

    - 当⻚面的一级功能较多,且存在扩展的需求时,可考虑使⽤竖列样式;

    - 当⻚面的层级较多,为了避免纵向的tab过多,可考虑使⽤竖列样式作为第一级tab;如下图所示。

     

    每个标签都有其优缺点,根据自己的产品选择一种最适合自己产品的方式,规范中确定标签的对齐方式,每个控件的宽度、高度。

     

     

    表格的设计思考:

    表格文字和数据,以左对齐为准。
    表格内的内容在左对齐时,尽量与左边表格边距保持至少 10px 的间距。

    表格在后台系统设计中大约占40%左右的比重。

     

    表格的设计规范的设计思考点如下:

     

    操作列按钮:每个按钮字数不超过6个字。

    列数太多:默认展示范围:3-8列,若出现更多,可固定重要列,剩余列滚动条展示交互设计。

    列表的宽度:宽度自适应,但根据字段的重要性显示,重要字段优先完整显示。

    列标题:表头列标题最多输入 8 个字符。

    滚动条:表格内容超过一屏需要显示竖向滚动条时,需要固定表头。只需滚动表格内容就好。如下图所示。

     

     

    空数据:表格某部分无数据时用 “-” 来填充显示,对于数据为零的单元格,填上 0 即可。

     

    - 标题栏标题栏栏高为56PX

    - 内容栏:准栏高为56PX,大栏高为80px,内容区和栏水平居中对齐

    - 垂直对齐方式:

    右对齐:金额、最右侧操作列。左对齐:除金额、最右侧操作列外其他的表格数据;如下图所示。

     

    -水平对齐方式,如下图所示。

    当表格所的有栏高小于80px时,内容水平居中对齐;

    当表格栏高大于 80px(大栏)时,所有内容都为顶对齐;

    - 自适应规则:-表格中栏内容组件是利用占比的方式实现,可以根据栏目字段的长短给予栏目所占的百分比,完成表格占比后,对于实现效果不理想的,可以根据具体字段做微调处理。

     

     

    表头的文案,可遵循信息降噪的原则思考,如下图所示。

     

    进度条的设计思考,如下图所示。

    - 加载中进度条,存在加载中、成功、失败三种状态,进度条长度支持自定义。如下图所示。

     

     

    弹框,如下图所示。

    弹框主要分为两个大类模态弹框和非模态弹框,他们最大的区别就是是否强制用户交互。

    - 常规状态通常出现在页面的上方。

    - 有普通信息、成功信息、失败信息、警示信息四种icon。

     

     

     

    缺省状态,如下图所示。

    缺省页面是当页面没有数据、用户没有建立资料或网络连接不通畅的情况下所展现的页面。

    为了缓解用户面对这类情况产生焦虑情绪,设计师可以用一些插画和文字的结合来引导用户进行下一步的操作。

     

     

     

     

    标准命名如下:

    头:header   内容:content   尾:footer
    导航:nav    侧栏:sidebar    栏目:column   登录条:loginbar   标志:logo   广告:banner   页面主体:main 

    热点:hot    新闻:news    下载:download    子导航:subnav    菜单:menu   子菜单:submenu 

    搜索:search   页脚:footer   内容:content    注册:regsiter 

     

    功能命名:

    标志:logo   广告:banner  登陆:login   登录条:loginbar  注册:regsiter   搜索:search  功能区:shop   标题:title        加入:joinus  状态:status   按钮:btn   滚动:scroll   标签页:tab   文章列表:list   提示信息:msg

     

    一律用小写
    尽量用英文,如需要用到拼音方式的需要完整的拼音方式书写

     

     

    关于通用的栅格布局的思考如下:

     

     

     

     

     

    三.关于数据可视化的设计展示思路如下:

     

     

    数据可视化的四条核心原则:准确、清晰、有效、美观,这四条原则按重要等级先后排序,相辅相成且呈递进关系。

     

    准确,如下图所示。

    可视化设计表达时,精准如实反应数据的特征信息。例:某基金收益率趋势图,合理的值域区间可以反映真实的数据波动趋势。

     

    清晰,如下图所示。

    清晰包括两个层面,结构清晰与内容清晰。

     

    结构清晰:

    数据可视化呈现的是一幅作品,它是制作者分析思路的呈现,其布局决定阅读者的浏览顺序。清晰的平面布局以及清晰的数据纵深路径能很好的帮助阅读者获取信息。

    下图展示的是:一个经典的设计布局,上方是搜索功能区,右侧是筛选功能区,画布区是地图的路线等展示。

     

    内容清晰,如下图所示。

    不让用户带着疑惑看图是我们始终不变的追求。当图上有数据日期、数据指标需要说明时,应当在恰当的时间、

    合适的位置给予说明,以帮助阅读者更好地理解数据。

     

     

     

    有效,如下图所示。

    信息传达有重点,克制不冗余,避免信息过载,用最适量的数据-油墨比(Data-ink Ratio)表达对用户最有用的信息。

     

     

     

    美观是一种克制,合理的利用视觉元素进行去做设计,运用格式塔原理对数据进行分组,既能帮助用户更有效率的获取信息,也能在一定程度上建立一种秩序的美感、规律的美感。如下图所示。

     

     

     

    一定克制的美观的原型图设计,如下图所示:

     

     

     

     

    数据可视化的网站推荐如下:

     

    Echarts

    数据可視化设计,百度的产品。常应用于软件产品开发或网页的统计图表模块。可在Web端高度定制可視化图表,图表种类多,动态可视化设计效果很棒。

     

     

     

     

     

     

    AntV

    蚂蚁金服出品的一套数据可视化语言,antv带有一系列的数据处理API,简单数据的数据归类,分析的能力,被很多大公司用作自己BI平台的底层工具。

     

     

     

     

     

    阿里DataV

    天猫双十一大屏就用DataV做的,是阿里云的拖拽式可視化工具,主要用于业务数据与地理信息融合的大数据可視化,像一些展览中心,企业管控中心使用。

     

    不需要編程,通过简单的拖拽配置就能生成可視化大屏。

     

     

    总结:

    我们团队内的设计师整理好PC端的后台和网页设计规范,对团队内开发项目落地实现很重要。

    我们需要和前端开发同事进行设计规范的沟通,让前端开发同事清楚每一块内容的设计规范

    前端开发团队也会分好几个人一起做项目,同时一个大的产品设计,都会分成多个小模块、按照时间、优先级来逐步开发设计的项目。

    所以我们在项目开发的前期,尽量要做好设计的沟通和协调工作,我们就会提高工作的效率和保证公司项目的产出质量和产品设计的一致性,达到提升用户体验设计感的目标。

     

     

    参考文献如下:

    1、ZAN-DESIGN 的有赞网站

    2 《CCtalk B端产品设计课》by 美芳老师

    3、ANT-DESIGN 蚂蚁金服等网站

    4、阿里系的数据可视化的设计网站

     

     

    最后分享一个小故事,与大家共勉 :

    木桶定律是指一只水桶能装多少水取决于它最短的那块木板。作为一个设计团队,需要的也是设计师之间的配合去完成一个个优质的项目。所以设计师在面试或者工作中,一定要把自己的设计优势展示给面试官,这个优势可以是插画或者动效或者交互设计规范,来完善团队设计中的那块短板,加上用心的做事,完善团队设计的最优质量。所以一个好的设计师,往往都有自己特有的优势标签,在一个领域内树立的优势项,来帮助团队达到合作共赢的设计效果。

     

     

    展开全文
  • windows 微软软件UI界面设计规范

    热门讨论 2012-10-30 22:01:47
    界面设计是为了满足软件专业化标准化的需求而产生的对软件的使用界面进行美化优化规范化的设计分支。具体包括软件启动封面设计,软 件框架设计,按钮设计,面板设计,菜单设计,标签设计,图标设计,滚动条及状态栏...
  • 三天研读《中兴电路设计规范》精华总结

    万次阅读 多人点赞 2020-05-16 18:25:52
    本博客将简述中兴通讯股份有限公司在原理图设计中需要注意的一些事项,其中包含了中兴设计开发部积累的大量硬件开发知识和经验,可以作为学习使用。硬件工程师可以学习并掌握检查条目的内容以及对条目的详细说明,...

    目录

    1、原理图制图规范

    2、电路设计

    2.1、通用要求

    2.2、逻辑器件应用

    2.3、时钟设计

    2.4、保护器件应用

    2.5、可编程逻辑器件

    2.6、电源设计

    2.7、其他应用经验

    3、可靠性设计

    4、信号完整性/电源完整性设计

    5、系统相关设计

    6、可生产性设计

    7、可生产性设计

    7.1、JTAG

    7.2、测试点

    7.3、电路可测试性

    7.4、系统可测试性


    本博客将简述中兴通讯股份有限公司在原理图设计中需要注意的一些事项,其中包含了中兴设计开发部积累的大量硬件开发知识和经验,可以作为学习使用。硬件工程师可以学习并掌握检查条目的内容以及对条目的详细说明,学习部门经验。

    1、原理图制图规范

    原理图制图规范如下表所示:

    详细说明如下所示:

    1、原理图必须使用公司统一原理图库 

    在原理图设计中,必须采用公司统一原理图库,以保证设计的一致性和打包后封装、料单等结果的一致性。不使用公司统一原理图库造成的连接、封装错误个人承担责任。

    注意使 cds.lib 中的路径指向库服务器 eda-svr1 的路径。库服务器每天会和公司统一库服务器同步 2 次确保最新。

    在改版设计中尤其要注意这个问题,因为打包时会将部分库备份到本地,可能造成本地库和公司库不一致。

    对于历史遗留的未采用统一图库的设计,可以豁免此项检查。但是如果经历改版,必须将原理图库切换至公司统一库,以保证料单的正确性和后续的可维护性。

    2、原理图应采用0.100栅格

    该栅格设置为一般器件库管脚间距的设置,采用非标准设置的栅格可能会导致其他人员重用原理图时无法对齐。

    3、图框大小

    部门要求,除非器件符号太大无法在图面内放置,一律采用 A4 幅面的图框进行设计。部门一般均采用 A4 幅面进行打印,在 A3 幅面上绘制的原理图在 A4 幅面纸页上打印后字符无法分辨,难以进行走查、评审。故规定无特殊需要一律采用 A4 幅面图框进行设计。

    4、图框上填写的内容和页码、总页数等信息应以用户变量(Customer Text)进行标注

    采用用户变量方式标注,可以每页的内容一致,避免出错。如果因为填写错误修改,也只需修改一处即可完成整个原理图的修订,故要求所有原理图的图框信息应采用用户变量进行标注。

    5、每一页左下角标注功能注释和修改日期

    如下图所示,采用普通文本标注功能,采用 CON_LAST_MODIFIED 变量标注最后修改日期标注日期。

    6、原理图必须署名,多人设计原理图应在相应页码署各自的姓名,封面署单板负责人的姓名

    如果一份原理图由多人完成,每个人完成其中一个部分,应在定义环境变量时定义多个环境变量,如 ADRAWN1,ADRAWN2……以此类推。在分配任务时事先约定,在各自完成的部分分开填写相应的用户变量,实现分开署名。封面页的署名为单板负责人的署名。

    7、原理图上所有的文字方向应该统一,文字的上方应该朝向原理图的上方(正放文字)或左方放文字

    8、原理图上的各种标注应清晰,不允许文字重叠

    原理图上包括网络名、位好、器件管脚号等各中字符都不允许重叠下面是不符合规范的例子

    9、去耦电容的放置  

    去耦电容分为两种:局部去耦和全局去耦。局部去耦目的很明确的布置在芯片附近,为芯片和附近的信号提供信号回流路径和电源去耦。全局电容布置于板上各处。

    将去耦电容和器件在原理图上靠近放置,可以有针对性、有计划地添加局部去耦,在布局时应该注意将相应位号的电容摆放在需要去耦的芯片附近。全局去耦电容主要分布在单板上没有去耦电容的部分,以及换层过孔的附近,提供信号回流通路。

    10、差分线命名

    差分线推荐使用+/-结尾,便于在辨认网络,在布线时添加合适的约束以及信号完整性分析。因为事业部 3G 规范命名中出现信号命名以单板名称为后缀,差分线+/-符号放在中间的情况,为了兼容本规范允许+/-号放在中间。

    无特殊情况推荐将+/-符号放在信号名最后。

    11、时钟信号的命名

    为了方便信号完整性分析和布线约束制定,并保证不引起歧义,时钟信号必须以规定的 CLK 后缀结束。其他信号,例如时钟使能信号等,一律禁止以该信号命名后缀结束。时钟信号命名还应体现出时钟频率。根据绘图者的习惯,可以体现出时钟的流向、用途、来源等信息。

    例如:FPGA1_8K_CLKFPGA2_33M_CLKOIB0_52CHIP_TCLK 都是符合规范的命名。

    12、串联端接网络的绘制和命名

    对于源端端接网络,正确的画法应该是将串阻直接画在驱动器件的输出端,串阻和驱动器件之间的网络可以不进行命名,串阻之后的网络进行命名。如下图所示为一个正确的范例。

    如果将串阻放在接收端,或者在串阻之前的信号进行命名,串阻之后的信号不进行命名,都会使得布线的分析和检查困难,甚至会造成串阻被放置在接收端而未被查出的结果,导致信号完整性较差。如下图是不正确的范例:

    13、电源及有特殊要求的网络命名  

    对于电源网络和有特殊要求的网络(例如阻抗控制,电流较大,布线层、过孔数有限制等),必须加以命名,这样在 PCB 进行布线布局时,就可以对相应网络进行特定的约束和检查,确保布线满足设计要求。

    对于单板接口电源信号,应该和系统设计保持一致,不强制规范添加 VCC 前缀。但是《PCB 设计说明》中必须明确申明,确保布线符合设计实际需要。

    对于一些器件(例如时钟驱动器、锁相环等),其电源单独通过磁珠等进行滤波,往往忘记添加网络标号直接相连,或者添加普通的网络标号。这样的结果很可能导致该网络未按照电源进行布线,走线较细或者走较长线,带来性能上的降低。

    14、原理图库多部分构成的器件打包问题

    一些器件因为管脚很多,在原理图库中被分成了几个部分,例如部分背板连接器、FPGACPU 等。这些器件在绘图过程中很可能被放置在不同的页上。

    在打包过程中,很可能出现一个器件的不同部分被分以不同的位号,成为多个器件;以及多个器件位号相互交错的问题。

    一般避免此问题有如下方法:

    • 对同一个器件的不同部分,设置属性“Group”,定义为同一个组名(例如“FPGA1”);
    • 设置位号硬属性“Location”后打包。(反标产生的为“$Location”软属性。)

    以上两种方法不能同时使用,否则会出现错误信息(参见 Package XL 手册)。 一般情况下,为了避免打包时或者修改属性时出现其他问题,兼顾模块设计的需要,我们不推荐使 用“Location”指定硬属性的方法解决此问题,建议定义“Group”属性。

    15、Alias 符号的使用

    我们有时使用 Alias 来连接网络,以实现同一个物理网络,需要不同名称的场合。例如对于一个网络信号名定义为 PLUG-S,实际和 GNDD 相连,就可以使用 Alias 进行连接,不会发生错误。

    使用 Alias 连接的网络,必须使用网络标号的方式进行连接,不能使用连线(wire)进行连接,否则会导致连接失败。

    正确的画法为:

    错误的画法为:

     两种连接方式看起来完全一样,但是实际上第二种方式在打包时不能形成正确的连接。  

    16、禁止使用SIZE 属性放置多个器件

    采用定义 SIZE 属性放置多个相同连接关系器件的方法,例如去耦电容、MARK 点等。

    采用此种方法虽然方便了原理图绘制,但是导致位号难以控制的问题。当布局布线要求需要调整数量时,很可能出现调整掉已经布局好位号等问题,所以本部门规定,禁止使用 SIZE 放置多个相同连接关系的器件。

    17、Offpage/offpg 符号的调用

    Offpage 符号在原理图库中一共有六种,如下图所示:

    这六种符号分别表示出了输入、输出和双向信号从左右两个方向进入页面。垂直的出页符由水平的出页符翻转实现。需要注意的是出页符在使用中不能通过镜像、翻转的方式作为相反方向的出页符使用,例如将左侧入页符 1 翻转、镜像后作为右侧入页符 4 使用,否则会出现文字位置、方向错误的现象。

    18、器件管脚上的引线,应引出后再分叉 ,不得直接在器件管脚上分叉

    在绘图时,如果遇到 T 型的网络,必须将远见引脚引出后连接,不得直接在器件管脚连出分叉, 如下图所示。

    采用上图中左侧的方式,在原理图打印后,无法确认网络连接。故不推荐使用。

    19、关于单节点网络和浮空管脚的检查

    在设计中出现单节点和浮空管脚是很正常的事情,例如单板静电泄放模块中有很多单节点。本条目要求的是对所有的单节点和未连接管脚进行确认,确保没有漏接网络或者遗留未处理的CMOS 输入管脚、器件控制管脚器件控制管脚。

    20、采用Cadence提供的工具对原理图和PCB的网表一致性进行检查
     

    2、电路设计

    2.1、通用要求

    通用要求规范如下表所示:

    详细说明如下所示:

    1、器件接口电平匹配

    器件接口之间的电平应该匹配,尤其要注意不同电压/电平类型逻辑进行接口的场合。

    例如我们常用的 LVTTL 信号输入低电平阈值和高电平阈值分别为 0.8V 2.0V。虽然器件实际反转电平处于 0.8~2.0V 中间的某一个电压,但是设计必须保障输入电平不会处于两个阈值之间。

    对于差分线,要考虑逻辑的共模电压和差分电压范围是否都能够满足要求。 在不同标准、不同电压的逻辑电平进行接口时,尤其要注意这个问题,并避免器件工作在安全工作范围之外。

    例如某单板中曾使用 3.3V PCI 时钟驱动器 CDCV304 分发射频时钟,时钟来源于 1 5V 的压控晶体振荡(VCXO),该振荡器为 CMOS 输出。VCXO 的输出电压范围超出了 CDCV304 输入的电压范围,长期工作可能对 CDCV304 的钳位电路或 VCXO 的驱动电路造成损伤。

    随着工艺的进步,线宽减小,很多逻辑器件的内置保护电路变得非常脆弱,不能长期承受过应力,器件对过冲等指标也提出了要求。在设计中应予以甄别。

    2、PECL-LVPECL 接口

    PECL 信号电源电压为 5V,在和 LVPECL 接收器进行接口时直流偏置工作点不满足要求。对于数据流经过直流编码的应用,可以采用交流耦合方式,即在信号线上串联电容隔断直流,两边分别采用上下拉电阻设置工作点。交流耦合电容如直接对单板外部接口,则存在对对方单板输入器件的 ESD 损伤隐患。采用上面提到的,在耦合电容另外一边对地接大电阻防止静电积累是可以的,但要考虑对信号的影响,所以需要对改电路进行实际验证才可以下结论。

    对于必须采用直流接口的场合,应采用公司的 3 电阻端接参考设计。电路原理图如下图所示:

    3、单板对外接口器件选型必须能够满热拔插要求

    在单板对外接口器件选型时,应确保器件可以经受热拔插。对于普通逻辑电平器件,应考虑采用支 持 OE 控制、IoffPU3S 的器件。

    对于其他器件也应充分考虑器件在电源为 0 的情况下,是否会导致器件损坏、信号线被拉死情况,当单板上电且输入悬空的情况下,是否会出现输出乱码或错误电平、器件损坏等情况,并进行相应处理。

    4、对电源有二极管钳位保护的器件

    当器件内部存在对电源钳位的二极管时,输入电压高于电源电压(或者在热拔插场合电源电压被关闭、还没有启动),则输入电压会被二极管钳制,对其他信号造成影响,并很可能造成驱动器件或者钳位二极管的过应力损坏。

    如果器件的电源没有吸纳电流的能力,且该电源本身电流很小,则输入有可能通过钳位二极管拉高电源电压,造成局部电源过压,对器件造成损坏。

    5、差分信号应考虑Failsafe 功能

    差分线的 Failsafe 功能包括当驱动器断电,接收器断电,驱动器未连接,差分线开路,差分线短路(或者通过匹配电阻连接)等状况下,器件不应该损坏。更高的要求是当因为上述各种原因,差分线处在中间电平时,接收器应该输出一个固定的状态。接收器输出乱码很可能导致器件的时序不满足要求而 导致状态机跑飞等故障。

    我们的 3G 系统中大量使用 MLVDS 器件发放时钟,可以参考 TI 公司 SLLD009 等文档了解 MLVDS器件的 Failsafe 功能。I MLVDS 器件在我们系统应用中,在无驱动状态下会因为干扰而输出乱码,采用 II 型器件可以解决;我们系统中的 RS-485 器件,当接收端接有端接电阻且无驱动的情况下,输出低电平,造成 UART 接收到错误的码,需要进行上拉或下拉处理。

    我们系统中 RS-485 总线的处理也是考虑到 Failsafe 功能和器件驱动能力之后综合考虑的结果。

    6、了解 CMOS 器件的闩锁现象,选用不易发生闩锁的器件

    CMOS 器件的闩锁(Latch-up)现象是由 CMOS 工艺结构所造成的。CMOS 器件在生产过程中,会寄生 PNPN 结构,相当于一个 SCRSilicon Controlled Rectifier)。当因为电源电压异常、输入电压/输出电压高于电源或者低于地、ESD 放电等情况出现时,就有可能触发闩锁。 当闩锁发生时,器件内部的寄生 SCR 被触发,形成从电源到地的电流直通通路,产生大量热导致 器件烧毁。

    一般触发源消失后闩锁仍然保持,只有断电能够退出闩锁状态。为了降低器件发生闩锁的概率,我们在设计中应该理解并选择不易发生闩锁的器件。在一些器件手册上会说明,闩锁性能满足 JESD78 规定的某一级要求,均可作为参考。

     

    同时,我们在应用中应该尽量避免触发闩锁的条件,例如:

    • 热拔插过程中保证地线首先接触,然后是电源,最后才是信号

    • 在背板接口上采用串联电阻的方法限制电流,减少闩锁发生的概率

    • 多电源器件,严格遵守手册规定的上电和断电顺序
    • 避免信号和电源出现过压等情况:一方面应该采取措施避免信号线上出现浪涌,一方面应该避免因为二极管钳位电路将浪涌泻放到电源而造成局部电源过压。

    7、器件工作速率符合设计要求

    器件和引入信号的交流特性应该匹配,例如 EPLD 是否支持引入的高速时钟信号以保证逻辑能够正确采样;时钟 BUFFER 是否用来驱动比其所能支持的频率更高的时钟信号等。例如 SN65MLVD200 器件,其数据手册上的速率为 100bps,折算成时钟频率为 50MHz,如果我们用来驱动 60MHz 的信号,虽然可以工作,但是性能不能再得到数据手册上的保证。

    8、在满足系统性能要求的情况下,尽量降低信号的速率,采用慢速器件

    高速器件主要指信号切换速率高的器件。因为切换速率高对应着工作频率也能增加,所以两者有一定的联系。

    高速器件和高时钟速率对系统带来了多方面的影响:

    • 信号完整性问题。即使是很短的导线,也必须作为传输线处理,进行恰当的端接,否则就会发生振铃、过冲。这不仅仅和频率相关,频率很低而切换速度很高的器件也必须考虑!
    • 切换速率的提高使得电源完整性劣化,需要更多的考虑电源系统的设计。
    • 有可能造成成本的上升。例如曾经采购 EP20K160EFC484 FPGA,快一个等级的器件价格上要高出数百元人民币。
    • 更多的 EMC 问题。
    • 设计时序要求更加严格。
    • 功耗更大,为系统散热带来挑战。

    当不必要的时候,我们可以尽量选用便宜、满足要求的慢速器件。

    9、模块电路、通用电路和参考设计

    设计的重用可以大大简化设计工作,提高设计效率,提高工作质量。公司内部统一使用相同功能电路还能够减少器件选型种类,降低管理成本,并通过扩大单一器件采购量的方式降低采购成本。

    模块电路/参考设计一般都由相关领域经验丰富的员工开发,经过了较多的应用验证和严格的设计评审,电路成熟,可靠性较高。没有特殊的情况,能够采用模块电路实现功能者一律要求使用模块电路。 如果认为模块电路在成本上不具优势,或者模块电路存在设计问题,应提请模块电路进行修正,不要私自重新设计电路。

    10、产品设计约定

    对于部分尚未来得及模块化、通用电路化的电路,以及只和产品相关的电路设计、器件选型,部门在产品开发的特定阶段会针对产品进行约定。例如在 3G 系统中选定了部分器件作为公用器件,约束了接口逻辑器件的上拉或下拉方式,规定了 0.1uF 去耦电容的选取等。这些约束在产品范围内和模块电路、通用电路等有同等效力,必须遵守。

    11、同一物料代码下多种器件的使用

    为了降低采购成本,并避免因为供应商出现商务纠纷、财务问题、质量问题等导致公司生产受到影响,一般的物料都会要求有两家以上的供应商可以供货。物料代码的初次申请往往是为特定应用场合考虑,所以两种物料很可能各种参数不完全兼容。对同一代码物料的采购,是综合价格、供货能力等各项因素考虑的结果,

    例如某应用需要 3.3V 工作 100MHz 的视频模拟开关,为两种物料申请了代码,一种的工作电压为3.3V,另外一种可以工作在 3.3V 或者 5V 的环境下。当设计进行器件选型时,必须要求对一个代码下所有的物料都进行分析,确保可用。在调试和试生产过程中对各种物料单独使用、混合使用等各种情况进行试验,确保设计工作正常。

    12、单板上所有有复位管脚的芯片,要求复位管脚软件可控

    UART、专用芯片很多都有专用的复位管脚,FPGA 在设计中一般也会设计复位管脚用来对全片进行复位。这些管脚应该软件可控,以保证当单板一部分工作不正常的时候,可以通过软件对该部分复位,不需要复位整块单板。

    例如某接口单板,有多片 FPGA 存在。如果部分 FPGA 已经下载并开始工作,而其他没有正常工作时,会导致系统输出一些错误的数据。通过让已下载的 FPGA 处于复位状态可以避免这个问题。如果软件不能控制 FPGA 的复位端,系统将无法正常工作。例如某单板上 FLASH 的复位引脚连接到上电复位信号上,如果写 FLASH 过程中程序跑飞或被后台复位,则 FLASH 不能再次写入,必须前台断电复位才能正常工作。

    13、初次设计 CPU、DSP和 ASIC 的配置管脚的上拉或下拉状态尽量设计成可调

    在初次设计中,设计者对 CPUDSPASIC 等器件的实际应用情况并不了解,完全依赖于器件厂 商提供的器件手册,配置管脚的上拉或下拉状态很容易设计错误。对于很多专用的集成电路,其工艺、 硅片版本也都处于升级之中,数据手册经常会存在错误

    在初次设计中,将 CPUDSPASIC 等器件的配置管脚设置为可调,可以通过选焊电阻的方法避免飞线,提高一次成功率。

    14、器件手册,更正历史和勘误表

    器件厂商在开发器件的过程中,不可避免的会出现错误。有些错误是因为设计问题引起的,有些问题是因为硅片工艺问题引起的。器件手册本身在编写过程中,也会出现一些遗漏和错误。因此,器件厂商会对器件手册进行升级,或发布器件手册的勘误表(Errata)。

    例如某型号 DSP 器件,对器件手册的勘误表有多次升级,说明了在芯片当前版本中的各种问题,了解这些问题可以避免在设计中重复已经发现的错误。再例如 SPARTAN 3 FPGA2003 年的厂商的器件手册和 2004 从网上下载的器件手册在一些说明中存在差异。

    15、对于设计中的可配置部分(包括为调试设计而最终不安装的部分),必须注明本板在线运行和调试使用的所有配置方式

    单板上经常会设计可配置的方式,例如初版未确定配置方式而设计的上拉或下拉、为了器件兼容设计的上下拉电阻和 0 欧姆跳线电阻、为了同一块 PCB 实现不同配置设计的可调部分,为避免风险而设计多种器件方案,最终只采用 1 种的情况、为了调试方便设计的一些跳线和上下拉等。

    当这些情况出现时,原理图上会存在多种方案,最终设计在料单上体现。这样会给阅读、走查等带来很大的困难。

    所以我们规定,可配置部分必须在器件旁边注明配置方式。

    2.2、逻辑器件应用

    逻辑器件应用规范如下表所示:

    详细说明如下所示: 

    1、未用 CMOS/BICMOS 器件管脚不得悬空,需要通过电阻接电源或者接地

    CMOS 器件的输入端一般为一对互补的 MOSFET 的栅极。MOSFET 的栅极一般是在一层非常薄的硅氧 化物绝缘层上制造的,具有非常高的电阻和一个 小电容。当悬空时,管脚上微弱的感应电荷很难释放,就会在栅极上建立很高的电压,导致栅氧 化物击穿而损坏器件。ESD 防护二极管的可以防 止避免器件损坏,但是我们要求采用电阻降低输入端阻抗,实现可靠的设计。

    另外,悬空的 CMOS 输入端可能处于任意电平,也就导致了器件可能处于 PMOS NMOS 直通的状态,甚至处于震荡状态消耗更多功率,减少器件寿命。

    2、悬空、固定电平的管脚采用电阻接电源或者接地,禁止直接连接

    上节已经说明了 CMOS 器件输入禁止悬空的问题。另外,还有一些控制信号,我们在设计中只要求其出于常‘0’或者常‘1’状态。在有的设计中,将不使用的器件直接连接在电源或者地上。在公司的生产过程中,单板都需要进行 ICT 测试,需要通过探针对单板上的器件施加激励并测量响应,确定单板是否正常。直接将器件的输入端接地将导致器件该部分无法测试,所以从可测试性考虑,严禁将此类输入管脚直接接电源或者地,必须通过电阻连接。

    对器件悬空管脚进行处理时,应考虑测试需要,例如器件的 OE 和输入信号不应使用同一个电阻进行上下拉,否则在测试中因为有一个电平会关断器件而无法测试;多个器件不应使用公用的复位、控制或使能,否则无法隔离各个器件定位问题,如下图所示:

    3、多级具有上电3态的器件级联驱动信号时,如果信号上电过程要求确定电平,则各级输入端都必须采用上拉或下拉电阻确定状态

    有时我们可能采用上电三态的器件驱动驱动器的 OE 端等信号。这些信号在上电过程中对其电平有要求,如果上电过程中驱动器被打开,则可能引起总线冲突而导致系统工作不正常,甚至烧毁器件。此时因为不能确定各个驱动器脱离三态的顺序,各点都需要用上拉或下拉确定电平。

    例如下图中的电路,为避免驱动器 3 最先脱离上电 3 态后向背板输出数据,C 点必须采用上拉或下拉确定为无效电平。如果驱动器 2 先于 1 脱离上电三态,它可能将 C 点驱动为有效电平,所以 B 点必须进行上拉或下拉处理。同样道理,如果 A 点由一个上电时三态的器件驱动,那么 A 点也必须上拉或下拉。

    4、采用具有上电3态的器件驱动背板输入控制信号,如果该信号上电后立刻需要读取且不受上电复位控制(例如单片机ISP模块中的背板复位信号和下载使能信号),则必须采用电阻置初始电平。

    本条和上一条目内容基本一致。我们的系统中一般都采用了 LVT16244 或者类似的器件对背板输入信号进行缓冲,提高单板的可靠性。器件的选择一般和驱动输出到背板信号的驱动器一致,故都具有上电三态特性。我们不能够确定器件脱离 3 态或者完成上电开始工作的顺序,故必须采用一定的手段确定系统在上电过程中状态可控。

    5、对背板输出的驱动器,如果其OE端需要控制,应采用电阻设置为输出无效状态

    对背板输出的驱动器,应该避免在上电未完成时对背板输出,以防止出现系统异常的数据或者总线冲突。如果背板驱动器 OE 端通过 EPLDFPGACPU 等控制,则需要系统在这些器件没有上电之前,背板驱动器处于关闭状态,故应改对 OE 端进行上拉或下拉处理,采用电阻设置为输出无效状态。

    对于常用的 16244 等驱动器,对 OE 端采用电阻上拉。

    6、避免使用一个排阻同时用作信号上拉和下拉

    有些单板设计中,设计者为了节省排阻,采用 1 个排阻,其中部分电阻对信号进行上拉,部分电阻 对信号进行下拉。

    因为在加工过程中,排阻焊接容易产生搭锡短路,采用 1 个排阻同时作为上拉和下拉电阻,发生搭锡很可能会导致电源地之间的短路,此类故障极难查找定位。

    另外在调试过程中,测量时示波器探头易导致排阻相邻管脚短路而造成探头烧蚀和单板损坏。

    为避免麻烦,规定避免使用一个排阻同时用作信号上拉和下拉。

    7、UART器件16C55X,如果不使用其DSR、DCD、 CTS信号,需要进行下拉,使信号为有效状态,避免自动流控制的器件不能正常工作

    UART 器件的 DSRDCDCTS 信号,分别表示数据设备就绪(Data Set Ready)、数据载波检测到(Data Carrier Detected)、数据设备准备好发送(Clear To Send),其有效电平为低电平。

    在具有自动流控制功能的器件(TL15C55xA)中,如果使能自动流控制功能,CTS 将决定 UART的发送器是否允许发送。某事业部的某种单板,因为这几个信号悬空未处理,管脚表现为高电平,加之软件处理不当,导致了数百块待发货单板回生产线返修。

    为了确保在各种状态下器件工作正常,我们如果采用 3 线制串口通讯(TXRXGND),应将这几个信号采用电阻下拉到地。

    8、PCI 总线信号的上拉

    9、对缓慢变化的信号需要使用带施密特输入的器件进行驱动

    当对器件施加缓慢变化信号(例如采用 RC 和按钮开关产生复位脉冲的电路)时,处于切换期内的 时间较长,在切换阈值附近的时间也比较长。现在我们使用的大部分逻辑器件开关速度都比较快,这时器件的寄生电感、电容等特性就会体现出来。

     

    例如当输入电压缓慢上升到达阈值,驱动器反转时,负载电容 CL 会通过引脚电感 LP 向地上放电。快速的放电导致 LP 上产生一个电压降,器 件内部的电位实际上被抬高至高于地。内部阈值相对地升高。因为输入信号上升缓慢,此时阈值实际已经高于信号,器件再次发生翻转,VCC 通过 LP CL 进行充电,在 LP 上产生压降,器件内部的 VCC 降低,导致翻转阈值降低,器件再次发生翻转,如此往复。

    电源地上的噪声在这种情况下也可能引起阈值变化而产生振荡。

    10、设计中应防止上电及正常工作时出现总线冲突。对于可能出现冲突的情况,应采用互斥设计,确保不会因为软件问题导致冲突

    当总线产生冲突时,多于一个器件同时导通,当两个器件的输出的电平不一致时,将会有较大的电流通过器件的输出级直接从电源流到地,器件将耗散很大的功率,严重影响器件的寿命,并且干扰总线上的数据。

    11、 和背板直接相连的驱动器必须满足热拔插要求

    我们的系统为热拔插系统,在系统工作的同时需要能够插上或者拔出单板,而且当单板在位的时候,可能会关闭单板电源。这就要求单板在拔出、插上或者断电的时候,不应该造成器件损坏,不应该对系统功能造成影响。

    12、MCS-51 单片机总线和端口需要加驱动

    MCS-51 单片机的端口和总线驱动能力较弱,尤其是 P1~P3 端口,其输出上拉结构由 3 MOS 构成,输出由低跳高的前 2 个时钟周期中,上拉较强,其余时候上拉较弱。如果总线上具有类似下拉电阻的负载(输入高电平时需要流入电流的负载),将可能无法正常驱动。

    所以我们规定,对于 MCS-51 单片机总线和端口,需要加驱动。因为总线保持器件存在的保持电阻可能使单片机端口被拉死为低电平,所以禁止在 MCS-51 单片机外围电路使用总线保持器件驱动。

    关于 MCS-51 单片机端口特性的分析,可以参考早期技术文档《51 单片机 IO 口上的“高电平总线保持”特性》和 Intel MCS-51 单片机手册。

    13、原则上不推荐采用总线保持器件或者启动可编程器件的总线保持功能

    总线保持器件(TI 公司的 LVTH 器件,其他一些公司的 LVT 器件,以及部分 LVCH 器件等)在输入端添加了一个从输出端反馈的回路,等效电路如图所示:

     

    采用总线保持器件,输入信号断开时,因为正反馈的存在,会保持最后输入的电平,避免输入悬空,可以省略驱动器上的上下拉电阻,节省电路板空间和成本。

    14、总线保持器件通过电阻预置状态时的上下拉电阻推荐采用 1K

    如果经过评估,认为在设计中可以使用总线保持器件,那么如果要对某一个驱动器置初始电平,该电阻必须能够提供器件反转所需要的最小反转电流。从另外的角度上看,外接的上下拉电阻必须要在和器件内部的保持电阻分压之后,提供正常的电平来让器件翻转。

    推荐每个输入采用 1K 电阻进行上拉或下拉,确保总线保持器件在无驱动状态总能被可靠的置为需要的电平。如果多个器件并联使用,需要相应的减小电阻以确定可靠的上拉或下拉。

    15、BUSHOLD器件,不论其输出端口处于何种状态,其输入端口的BUSHOLD特性一直有效。对于双向器件,其两个方向端口在输出高阻态下输入BusHold特性一直有效

    Bus Hold 特性是对于器件输入端而言的,当器件 OE 使能信号无效,输出为高阻态时,Bus Hold 特性依然存在。对于 LVTH16245 这样的双向器件,不论其 OE DIR 信号为何状态,两个端口都有Bus Hold 特性,这一点在应用中需要注意。

    16、上下拉电阻的选择

    上拉或下拉电阻的选择必须具备以下条件:

    • 可靠的为信号确定电平;
    • 不会显著的为系统增加过多额外的功耗;
    • 能够提供器件所需要的上升下降时间要求;
    • 阻值常用,价格便宜,供货充足。

    要可靠的为器件设置电平,要求网络上的漏电流流过电阻时,电阻上产生的压降不会太大。对于LVTTL 信号,应保证器件输入高电平不低于 2.4V,低电平不高于 0.4V。也就是说,当选择上拉电阻时,电阻上的压降不能多于 3.3V-2.4V=0.9V,选择下拉电阻时,电阻上的压降不能多于 0.4V

     

    对于早先的 TTL 器件,其输入端的结构决定其 IIH 较小,而 IIL较大,加之输入低电平时电阻上允许的压降也较小,决定了 TTL 器件下拉电阻选择小于上拉电阻的经验。对于现在我们常用的 CMOS 和BiCMOS 器件,IIH IIL的区别一般不大,而且电流往往都处于 uA 级,对于我们一般选择的 1K 10K的电阻,压降不大,所以不需要过多考虑。

    当一个电阻对多个输入管脚设置电平时,必须将 I IH I IL 乘以输入管脚的个数。

    17、ISPMACH4000系列EPLD和CycloneFPGA外围的下拉电阻

    对于 ISP MACH 4000 EPLD,我们推荐使能全局上拉以简化设计。

    Cyclone 型 FPGA 在未加载时,内部弱上拉使能。内部上拉强度随着温度的变化会有较大的变化,当温度低时上拉电流较大。在某主控单板上 Cyclone 输出其他单板的复位控制信号,采用了 10K 的电阻下拉,确保未下载逻辑时输出低电平(复位无效)。在低温试验中,复位该主控单板会导致全框受控单板复位,经分析确定为低温下内置上拉电流增大,导致 10K 电阻不能够将信号线拉低。

    在某接口板中,低温下复位备用单板会导致主用单板工作异常,也定位为 Cyclone 输出的状态信号采用 10K 电阻下拉,在 FPGA 重新配置时内置上拉电阻导致主备状态信号输出高电平所致。

    18、与背板相连的普通逻辑电平信号,如非特别要求,需要采用串接电阻

    对于总线型应用等场合或者信号完整性特殊要求的场合,对电阻的取值和串联与否可以灵活处理,以信号完整性优先 信号完整性优先。例如对于驱动很多负载的总线型应用,串联 33 欧姆电阻导致信号上升沿缓慢,系统时序裕量小,可以考虑串联 5~10 欧姆的电阻提高一次波的幅度和上升斜率;在 3G 系统基带射频接口中,为了保证主备配置下的信号完整性问题,将 33 欧姆串阻放在了背板上,在射频接口板中驱动器靠近连接器放置而未加串阻。

     

    对于双向的信号,如果本身器件布局很近且版面空间不允许,可以考虑将串阻合成为 1 个电阻处理,如下图所示。

     

    19、背板输入TTL/CMOS信号缓冲器须应用下拉电阻和串阻

    3G 第二版开始,背板输入信号规定必须添加防止闩锁的串阻防止信号线浮空的下拉电阻

    串 阻的大小为 100 欧姆,下拉电阻的大小为 10K。 采用 10K 欧姆下拉电阻是因为对于单个的 LVT 输入管脚,10K 电阻可以提供足够的电流保证输入 低电平,而对于总线型的信号,即使 10 块单板同时连接时,并联形成 1K 的下拉电阻对于驱动端不会造成很大的负载。

    采用下拉电阻而不是上拉电阻,是为了防止当本单板上电而其他单板未上电时,通过上拉电阻向其 他单板提供电流,或者当信号线高电平而本单板未上电时,信号通过上拉电阻向本单板供电而造成指示 灯微亮等异常现象。

    最初的产品设计约定规定为信号先过串阻,然后通过电阻下拉,如下图左所示。在系统调试中,我们认为采用如下图右所示的电路连接更加具有优势。在一些较复杂拓扑中,易于通过下拉电阻的调整实现对信号线的端接,具有更大的灵活性,并且不会产生两个电阻对输入信号分压的情况

    上图左边连接方式在布局时,必须注意两个电阻都必须靠近驱动器输入端放置,在右边的连接方式中,串联电阻必须靠近驱动器输入端防止,而下拉电阻放置位置没有特殊的要求,可以靠近连接器或者驱动器放置,放置时需要注意不造成传输线明显的不连续点。

    有一些情况是例外,不能采用下拉电阻:槽位号,插板到位指示,各种背板的 ID 号设置。因为背板无源,所以这些信号在背板上只能采用悬空和接地的方式进行设置,这样单板上只能采用上拉电阻, 当背板信号线为悬空时,输入‘1’,当背板接地时,输入‘0’。

    2.3、时钟设计

    时钟设计规范如下表所示:

    详细说明如下所示: 

    1、时钟芯片的电源处理

    时钟芯片的电源处理直接关系到系统时钟的性能和 EMI 指标。

    对于时钟驱动器而言,比较好的方法是直接通过过孔就近将电源和地连接到平面上去,充分利用平面电容和电源去耦提供良好的电源。但是这样做的同时,将时钟驱动器这一强脉冲电流源引入全板供电系统,进而可能导致整个单板的 EMI 指标恶化。

    所以我们一般采取折中的方法,对于输出管脚较多的时钟芯片,其电源滤波采用一颗磁珠(推荐选用 120 欧姆@100MBLM31P121SGPT,根据系统 EMC 实际情况可以调整),磁珠后应接 10uF 钽电解电容,0.1uF 陶瓷电容和 1000pF 陶瓷电容提供较宽频段内的低阻抗。

    多电源管脚时钟驱动器件每对电源地管脚之间的电源去耦可以照常进行。建议在器件下方铺设一块铜皮作为电源,减低电源回路的电感。

    2、单板50MHz以上时钟驱动器件未用管脚,通过75欧姆电阻接平面

    单板时钟驱动器当输出悬空时,有可能会引起辐射的增强(目前少见实际案例)。添加 75 欧姆电阻到地可以减少输出管脚电流高频谐波分量。对悬空管脚处放置电流探头进行仿真的结果发现部分频率谐波会有所增强,部分频率(500MHz 以上)谐波成分减少。对电源的冲击是否有改善尚待验证。

    3、驱动器未用管脚接平面电阻,推荐使用分立电阻

    驱动器未用管脚的接平面电阻,因为涉及功耗和 EMI 等多种问题,实际应用中可能焊接也可能不焊接。我们期望能够添加尽量少的电阻,以减少电路工作时的功耗。为了能够灵活处理各种状况,建议使用分立电阻,不推荐使用排阻对未用管脚进行处理。

    4、时钟信号网络的端接

    时钟信号在系统中至关重要,时钟网络往往是 EMI 的主要源头,所以时钟信号的网络必须恰当的规划拓扑并进行恰当的端接,确保信号质量,减少 EMI

    时钟信号最常用的拓扑和端接方式为点对点传输,源端端接。我们推荐采用这种方式我们推荐采用这种方式。这种方式实现简单,端接恰当就可以在接收端得到一个非常好的波形。该拓扑如下图所示,其中电阻阻值推荐根据仿真和测试结果确定。

    对于一个驱动器必须驱动多个负载的情况,当负载离得很近时,可以作为一个负载处理,如下图所示。使用这样的拓扑,必须进行仿真验证,确保接收端不会出现上升沿不单调等信号完整性问题。这个方案和下面的各种两个负载的方案相比,类似于点对点的传送,更加容易保证信号质量。

    对点到点时钟还有采用如下图的 T 型源端端接方式。该端接方式会使得接收端的波形变缓,在对时钟边沿上升时间最小值有要求的场合(例如器件要求 Tr>3nS),可以使用该电路延缓上升沿。 在时钟上升沿减缓的同时,发送端的负载可能变重,发送端瞬态电流增大。因为发送端增大的电流环路较小,而整个时钟传输路径环路较大,所以信号上升沿变缓从总体看来能够改善信号完整性问题和 EMI 问题。

    该方案需要 3 个器件实现端接,比较麻烦,在初版中一般不需要采用。如果采用一个电阻的源端端接方式单板出现 EMI 超标,试验验证在超标的时钟网络上采用此方案能够解决 EMI 问题时,可采用此方案。该方法应通过仿真和试验确定电阻和电容的参数。

    另外还有下面的一些一驱二端接方式。

    当两负载完全相同,走线完全等延迟时,可以采用下面的端接方式。为了能够得到一个良好的一次波翻转源端电阻的选取一定要小。如果负载相同,且走线相同,分叉上的反射波会同时到达源端,并且重新向两个分叉上反射。在两个接收端上,都会有多次反射波出现。如果两个分叉上有轻微的差异,则可能会产生强烈的不衰减振荡。所以这个拓扑不推荐使用。

     

    当两负载不同,走线等长时可以采取如下的拓扑。这个拓扑比较起上面的拓扑要好得多,当两个分叉不对称时仍旧可以工作,只是出现一些反射和振铃现象。在单片机模块电路中,我们采用了这种拓扑。一般我们也认为在不得不驱动两个距离较远负载的情况下,可以选择这种拓扑。这种拓扑当两个分叉对称性很差时,也可能出现一些反射造成的毛刺等,建议通过仿真选择器件参数。

    两个负载可以不同,走线基本等长。三个电阻要求放在一起,离驱动端的距离控制在 0.25nS 之内,可以采用下面的拓扑。直接连接在驱动器上的端接电阻相当于在上面一个拓扑中增大了驱动器的内阻, 后面的两个电阻相当于上面图中的端接电阻减小。在这个拓扑中信号会反射产生多个台阶,要选择合适的电阻确保一次波翻转。该拓扑要必须进行仿真后才可以使用。

    再考虑时钟线减少高次谐波的情况,在中间结点接一个电容,和前面的源端端接方案添加电阻很类似。该方案要求经过仿真后使用。

     当需要驱动多个负载时,可以采用如下的菊花链拓扑。这个器件相当于一个终端端接方案。网络上每个点的分叉应该尽量减小,尽量均匀分布负载。必要时,各个负载上可以串联一个电阻,减少对整根传输线的影响。这样,多个相同负载均匀挂在传输线上相当于减少了传输线的阻抗,需要注意终端端接电阻的选取,正确的端接传输线。该方案必须经过仿真后才能使用。

     5、当接口标准或器件对时钟网络等布线有要求时,依照接口标准或器件要求执行

    对于 DDRQDR 等网络,对时钟网络的布线有严格的要求。一般我们可以依照器件或者接口标准规划网络的拓扑方案,确保器件的时序裕量和信号质量。

    一般推荐对于信号质量,都进行信号完整性仿真再次确认。

    6、锁相环串联使用,须注意不会引发谐振

    锁相环是一个闭合控制回路,它在跟踪信号相位时,对部分频率成分敏感,部分频率成分不敏感。 其环路滤波器、VCO 和鉴相器几个部分的传递函数都可能存在零极点。此时整个锁相环的传递函数中 可能存在谐振点,即对某些频率分量的增益大于 1,该频率分量上的相噪将被放大。

    如果多个锁相环串联使用,如果存在共同的谐振点,将会导致输出的时钟信号该频率上相噪大,所以在锁相环串联使用时,须避免谐振的产生。

    这里要注意的是,零延迟缓冲器、倍频器等一般都有锁相环构成,都要受本条规则约束。

    7、不推荐使用多通道输入时钟驱动器驱动不同时钟

    采用多通道时钟驱动器驱动多路时钟,各路时钟之间会发生相互干扰。一方面是由于容性或者感性耦合,一方面是因为电源和地的扰动。

    当一路时钟发生切换时,因为时钟缓冲器一般输出数量多,瞬态电流比较大,将会在地引脚或者电源引脚上产生压降(Vcc Sag 或者 Ground Bounce),造成芯片的参考电位波动。如果芯片在设计过程中接地不合理,那么一路时钟切换在电源引脚上产生的波动将可能导致其他时钟切换的不确定性,甚至导致毛刺。

    为了避免此类情况的发生,我们一般不推荐采用多通道输入的时钟驱动器驱动不同时钟。

    如果因为空间、成本等原因,必须采用多通道时钟驱动器,必须注意驱动器的接地信号处理,以及输出走线的布局,器件的接地管脚应该就近直接连接地平面,电源一般应该单独去耦并连接到电源,一定不能将所有管脚连接到一起之后通过同-一个过孔接到地或者电源,这样很容易引起问题。不同的时钟信号应相互避让,避免时钟之间互相干扰。

    8、板间传输的时钟信号,上 单板后在时钟的输入端备用去回钩电容

    时钟对边沿单调性有要求,在板间传输的信号,当网络拓扑复杂的时候,可能出现回钩。如果对板内时钟质量没有把握时,也可以加备用去回钩电容。该电容过滤了小的毛刺,但是也增加了传输线末端的容性负载,所以需要经过试验确定是否需要添加。 示例如下所示:

     如果在样板测试时,发现进板的差分信号质量不好,可以使用去回钩电容。 例如 PECL 器件质量故障,如果在样板测试时发现 PECL 信号质量差,使用了该电容过滤回钩,问题可以化解。

    必须注意的是,我们应该在系统设计中通过良好的拓扑设计、对批次不良器件进行筛选来确保信号质量良好,而不应依赖备用的电容解决设计和器件质量问题。这个电容的设置只是为了应对不时之需,不能代替拓扑设计和信号系统级完整性分析。

    9、子卡与母板间传输的时钟,应保证子卡不在位时,时钟输入不悬空,时钟的输出有匹配

    驱动在母板时,采用源端串阻匹配;驱动在子卡时,采用终端电阻匹配,或者在子卡上采用远端匹配,在母板上通过上拉或下拉电阻确保当子卡不插时接收端不会悬空。

    2.4、保护器件应用

    保护器件应用规范如下表所示:

    详细说明如下所示: 

    1、TVS 器件的应用

    TVS 器件即 Transient Voltage Suppressor,是专门设计用来吸收信号线或者电源上出现的瞬态过压的器件。

    选用 TVS 器件前,应对它的参数有所了解,这些参数主要有:

    • 击穿电压 VBR:指器件在发生击穿的区域内,在规定的试验电流条件下所测得的器件两端的电压值。
    • 最大钳位电压 VCMAX:在峰值脉冲电流下测得的最大电压值称为最大钳位电压。最大钳位电压与击穿电压之比称为钳位系数。一般箝位系数取值为 1.33(在总的额定功率下)或 1.20(在 50%的额定功率下)。
    • 最大反向工作电压 VRWM:该电压是指器件反向工作时,在规定的漏电流下,器件两端的电压值。通常取: VRWM=(0.8~0.9)VBR,在这个电压下,器件的功率消耗很小。

    在瞬变和浪涌防护电路中使用 TVS 时,一般应该遵循以下选择原则:

    1. 最大嵌位电压 VCMAX应不大于电路的最大允许安全电压。
    2. 最大反向工作电压 VRWM应不低于电路的最大工作电压,一般可选 VRWM等于或略高于电路的工作电压。
    3. 额定的最大脉冲功率必须大于电路中出现的最大瞬态浪涌功率。
    4. 对于高速链路,需要考虑结电容的要求;
    5. 注意单向和双向 TVS 管的选择;
    6. TVS 器件的选型时要考虑器件的响应时间满足要求。

    2、保护器件应与被保护器件接在相同的地平面,如采用变压器隔离,为保证隔离特性,隔离变压器初次级两侧的器件要分别接对应的参考地

    我们常用的保护器件内部一般为 TVS 管或者钳位二极管阵列。当电压高于击穿电压时或者正向导通电压时,器件就会击穿或者导通。如果保护器件和被保护器件接在不同的地平面上,就形成了一个潜通路(参见参考文档《潜在通路分析技术及其在通信系统故障调查中的应用》,刘春杰,景焕强)。当两个参考点之间的电位差异比较大时,保护器件导通,导致被保护器件过应力损坏。

    例如某单板的 E1 保护采用如下图的电路。注意变压器器件侧的 DA108S 错误的接在保护地上。当GNDP 和 GNDD 之间存在较大的电位差时,DS108S 直接将 GNDP 上面的过压泻放到信号线上,导致被保护器件损坏。在这里,DS108S 不应连接在 GNDP 上,而应该和被保护的器件一起连接在 GNDD上。

    对于机框内部的连接,即使采用变压器隔离,因为整个机框都采用数字地作为参考,所以隔离变压器初次级两侧都应该向数字地进行保护(如果需要保护的话)。对于出框的连接,隔离变压器器件侧以数字地作为参考地进行保护,线路侧以保护地作为进行保护。

    3、PTC与TVS配合使用时,PTC要能及时动作,对TVS进行过流保护,同时,PTC本身也要能够满足工作电压的要求

    PTC 的意思为正温度系数热敏电阻器,主要厂商为 Polychem 等厂商。当温度较低时,PTC 呈现很小的电阻,随着温度的升高,电阻变大。

    PTC TVS 配合使用进行保护时,过压出现时 TVS 导通钳制电压,电流较大,PTC 温度上升,电阻变大,限制了电流的增大,避免 TVS 损坏。如果 PTC 动作过缓,会导致 TVS 在 PTC 动作之前过应力损坏。而 PTC 在动作之后,呈现很大的电阻,将承受过压的大部分电压,所以必须考虑 PTC 能否承受这么高的电压。

    2.5、可编程逻辑器件

    可编程逻辑器件规范如下表所示:

    详细说明如下所示: 

    1、逻辑资源的利用率

    逻辑资源的利用率应该保存在 50%~80%之间。资源包括内置的 RAM、乘法器或者 DSP 资源、逻辑资源(包括组合逻辑和寄存器、布线资源)、IO 资源等。对于能够精确估计使用情况的资源,如乘法器或 DSP 单元,占用率允许到达 100%。对于低于 50%则推荐采用低容量器件降低成本,高于 80%则推荐采用更大的器件,避免出现修正错误、功能升级后无法完成布线或者不能保证性能的情况出现。

    一般说来,在新板设计中,为了保证未来维护升级的方便,应保证资源有一定裕量;在改版设计中,如果逻辑已经稳定,资源相对固定,允许资源占用率更高一些。如果因为逻辑功能简单,已经选择选型范围内容量最小的 FPGA,或者考虑芯片通用性好,公司使用量较大,导致该型号逻辑器件价格低廉时,允许在资源利用率较低的情况下选择该器件。

    2、可编程逻辑器件的输入时钟至少有一个本地时钟

    FPGA 的输入必须要有一个本地时钟,保证在热插拔、系统故障的时候,逻辑还有时钟可以工作。当单板或者时钟板进行拔插时,外部输入的时钟可能消失或者出现毛刺。这时候逻辑可能出现跑飞、跑死等异常。必须采用一个不间断的时钟,对外部时钟和逻辑的运行情况进行检测,确保时钟异常或者逻辑跑飞的时候能够恢复,不产生破坏性的影响(通过外部时钟通过倍频器、零延迟缓冲器、锁相环路产生的时钟不算本地时钟)。

    某单板出现过掉版本的故障,在系统断电、系统某些单板插拔的过程中,单板的软件版本会被错误 的擦除。经过定位,确认是当系统在断电等特殊状况时,会出现时钟异常,但是单板供电仍然持续的情况。这时候逻辑会异常运行,导致出现擦写版本的错误操作。

    3、对于可编程逻辑器件的悬空管脚(包括测试管脚、设计裁减导致的悬空输入等),必须确认其在正常工作中不能悬空

    在设计中,可编程逻辑器件 IO 有剩余的情况很容易出现,对大量的多余 IO 进行上拉或下拉处理会占用版面空间并增加成本。单板设计中留出的测试管脚,在实际应用中也会处于悬空状态。当管脚悬空时,编译器会将管脚处理成恒‘0’、恒‘1’、高阻等状况。

    还有一种情况会造成管脚悬空:我们的 3G 设计中有很多 1 PCB 对应多种料单,实现不同功能的情况。这样就可能产生为某一种实现定义为输入的逻辑管脚,在另外一种情况下悬空。例如射频接口单板,在不配拉远光口时,逻辑的光口数据输入管脚就会全部悬空。

    对于不用的 IO 管脚和测试管脚,可以定义为输出管脚驱动至确定电平。对于可能因为设计裁减导致悬空的信号,应采用添加外部上拉或下拉电阻或者使能器件内部 IO 管脚上下拉的方法,避免输入管脚悬空。

    4、不要用特殊管脚当做普通的IO使用

    EPLD FPGA 中,有些管脚,是作为特殊管脚使用的,但是,也可以作为普通 I/O。在一般情况下,可以当 IO 用的特殊管脚尽量不要用作 IO。这些管脚需要按照器件手册仔细对待。

    2.6、电源设计

    电源设计规范如下表所示:

    详细说明如下所示: 

    1、热拔插系统必须使用电源缓启动设计

    热拔插系统在单板插入瞬间,单板上的电容开始充电。因为电容两端的电压不能突变,会导致整个系统的电压瞬间跌落。同时因为电源阻抗很低,充电电流会非常大,快速的充电会对系统中的电容产生冲击,易导致钽电容失效。

    如果系统中采用保险丝进行过流保护,瞬态电流有可能导致保险丝熔断,而选择大电流的保险丝会使得在系统电流异常时可能熔断,起不到保护作用。

    所以,在热拔插系统中电源必须采用缓启动设计,限制启动电流,避免瞬态电流过大对系统工作和器件可靠性产生影响。

    2、在压差较大或者电流较大的降压电源设计中,建议采用开关电源,避免使用LDO作为电源

    采用线性电源(包括 LDO)可以得到较低的噪声,而且因为使用简单,成本低,所以在单板上应用较多。FPGA 内核电源、某单板上射频时钟部分的电源等都使用线性电源从更高电压的电源上调整得到。

    线性电源的基本原理如图所示。输出电压经过采样后和参考电源(由晶体管带隙参考源或者齐纳二极管提供)进行减法运算,差值经过放大后 控 制 推 动 管 上 的 电 压 降Vdropout=Voutput-Vinput,使得当 Vinput 变化或者负载电流变化导致 Voutput 变化时,通过 Vdropout 的变化保证 Voutput 的稳定。

    由下图中可见,负载电流全部流过调整管,而输入电压和输出电压之间的差异全部都加在调整管上。调整管上耗散的功率为 Vdropout*I。当电压差较大时,或者负载电流较大时,稳压器将承受较大的功率耗散。

    3、LDO输出端滤波电容选取时注意参照手册要求的最小电容、电容的ESR/ESL等要求确保电路稳定。推荐采用多个等值电容并联的方式,增加可靠性以及提高性能

    LDO 输出电容为负载的变化提供瞬态电流,同时因为输出电容处于电压反馈调节回路之中,在部分 LDO 中,对该电容容量有要求以确保调节环路稳定。该电容容量不满足要求,LDO 可能发生振荡导致输出电压存在较大纹波。

    多个电容并联,以及对大容量电解电容并联小容量的陶瓷电容,有利于减少 ESR ESL,提高电路的高频性能,但是对于某些线性稳压电源,输出端电容的 ESR 太低,也可能会诱发环路稳定裕量下降甚至环路不稳定。 在设计中应该仔细依照手册的要求进行设计,保证电源稳定。

    在某试验板中,采用 MIC39300-2.5BU 型LDO,输出电容为 20uF,不满足手册规定的 47uF保证环路稳定的最小值要求,导致 2.5V 电源发生振荡,存在较大纹波,如下图所示。 该试验板产生了高速 SERDES 芯片在光纤较短时自环正常,光纤较长时无法锁定数据的异常。增加输出电容后问题解决。

    4、电源滤波可采用RC、LC、π型滤波。电源滤波建议优选磁珠,然后才是电感。同时电阻、电感和磁珠必须考虑其电阻产生的压降

    对电源要求较高的场合以及需要将噪声隔离在局部区域的场合,可以采用无源滤波电路。在采用无源滤波电路时,推荐采用磁珠进行滤波。

    磁珠和电感的主要区别是,电感的 Q 值较高,而磁珠在高频情况下呈阻性,不易发生谐振等现象。电感加工精度较高,而磁珠加工精度相对较低,成本也较便宜。在选择滤波器件时,优选磁珠。选择电阻和电容构成无谐振的一阶 RC 低通滤波器,但是该电路只能应用于电流很小的情况。负载电流将在电阻上形成压降,导致负载电压跌落。

    无论是采用何种滤波器,都需要考虑负载电流在电感、磁珠或者电阻上的压降,确认滤波后的电压能够满足后级电路工作的要求。

    5、大容量电容应并联小容量陶瓷贴片电容使用

    大容量电容一般为电解电容,其体积较大,引脚较长,经常为卷绕式结构(钽电容为烧结的碳粉和二氧化锰)。这些电容的等效串联电感较大,导致这些电容的高频特性较差,谐振频率大约在几百 KHz到几 MHz 之间(参见 Sanyo 公司 OSCON 器件手册和 AVX 公司钽电容器件手册)。小容量的陶瓷贴片电容具有低的 ESL 和良好的频率特性,其谐振点一般能够到达数十至数百 MHz(参见参考文献《High-speed Digital Design》以及 AVX 等公司陶瓷电容器件手册),可以用于给高频信号提供低阻抗的

    回流路径,滤除信号上的高频干扰成分。 因此,在应用大容量电容(电解电容)时,应在电容上并联小容量瓷片电容使用。

    6、升压电源(BOOST)使用必须增加一个保险管以防止负载短路时,电源直通而导致整个单板工作掉电。保险的大小由模块的最大输出电流或者负载最大电流而定

    升压电源(Boost)的基本拓扑如下图所示:

    Q1 导通时两端电阻很小,电源电压加在 L两端,电能转化为磁场存储在 L 中,此时 D1 截止,避免 C0 上的电压向 Q1 流动。当 Q1 关断时, L 中的电流不能突变,电源和 L 一起通过 D1 向 C0 充电并向负载供电,得到一个高于输入电压的输出电压。

    由图中拓扑可以看出,我们不能通过控制 Q1 的通断来切断输入和输出之间的通路或者控制输出电流。当输出电源短路时,输入电源(一般是单板主电源)通过 L D1 直接短路到地。导致的结果将是L 或者 D1 烧毁且失效模式为开路。在 L 或者 D1 烧毁之前,单板电源处于短路状态,如果 L D1 电流降额较大,可能导致单板电源保护而不能上电。

    为了避免上述问题,建议为升压电源添加一个保险管防止负载短路,保险的大小依照模块的最大输出电流或者负载的最大电流而定。

    7、电源要有防反接处理,输入电流超过3A,输入电源反接只允许损坏保险丝;低于或等于3A,输入电源反接不允许损坏任何器件

    电源要有防反接处理,输入电流超过 3A,输入电源反接只允许损坏保险丝;低于或等于 3A,输入电源反接不允许损坏任何器件。

    回路电流较大时,直流电源反接处理可以按照以下方法处理。原理图如下所示:

    直流电源正常接入时,光耦D1由于输入二极管反偏置,所以输出CE不能导通,这时并联的NMOS管将由于 GS 电压的稳压至 12V,使 D-S 导通。这样电源回路将能顺利形成。电容 C1 是起到缓启动 作用的,这样可以起到防浪涌的目地。电阻 R6、二极管 VD3 构成电容 C1 的放电回路。当电源反接的时候,由于光耦输入二极管正偏置,输出 C-E 导通,使并联的 NMOS 管截止。这样回路就切断了,起到了防反接保护的作用。由于并联 NMOS 管的 RDS比较小,损耗小,比较适合于低压大电流的场合。

    8、禁用磁饱和电路;禁止选用采用磁饱和电路的电源模块

    禁用磁饱和电路,因为:

    • 磁饱和电路因为所用磁环的原因对温度比较敏感,易在高温工作时不稳定。
    • 动态负载能力差,在磁饱和路负载最小时工作最恶劣,易形成输出不稳定。

    9、对于多工作电源的器件,必须满足其电源上掉电顺序要求

    对于有核电压、IO 电压等多种电源的器件,必须满足其上电和掉电顺序的要求。这些条件不满足,很有可能导致器件不能够正常工作,甚至触发闩锁导致器件烧毁。例如 TMS320C6414T DSP2005年 5 月之后的 Errata 中说明,当 DVDD CVDD 早上电时,可能出现 PCI/HPI 数据错的问题。对于QDR、DDR 内存,其上电顺序也有要求,否则可能导致闩锁,造成器件烧毁的后果。

    当有多个电源时,如必要可采用专用的上电顺序控制器件确保上电顺序。设计中应保证在器件未加载烧结文件时,电源处于关断状态。也可以通过在不同的电源之间连接肖特基二极管确保上电掉电过程中不会违反上掉电顺序要求。

    因为电源模块、电源上的电容都会对电源上电顺序产生影响,可能出现上电过程中违反电压要求的情况,如上右图所示,所以必须进行测试验证。

    10、多个芯片配合工作,必须在最慢上电器件初始化完成后开始操作

    当多个芯片配合工作时,必须在最慢的期间完成初始化后才能开始操作,否则可能造成不可预料的结果。

    11、电源模快/芯片感应端在布局时应采用开尔文方式

    很多电源模块和电源芯片在设计时,采用了独立的 Sense 管脚,作为对输出电压的反馈输入。这个Sense 信号应该从取用电源的位置引给电源模块,而不应该在电源模块输出端直接引给电源模块,这样可以通过电源模块内部的反馈补偿掉从电源模块输出传输到实际使用电源处路径带来的衰减。如下图中白色走线所示。

    对于电源监控电路等,也应该遵守相同的原理,即从实际需要监控点将电源引给监控电路,而不是从监控电路最近处引给监控电路,以确保精确性。

    12、在存在分板工艺,以及需要过波峰焊的单板上,48V 电源滤波尽量避免使用贴片陶瓷电容

    电源滤波电容存在于单板电源入口处,安装和波峰焊过程中易受到应力从而产生微裂纹。在使用中可能产生短路等失效。

    2.7、其他应用经验

    其他应用经验规范如下表所示:

    详细说明如下所示: 

    1、使用CY2302时钟驱动器,应注意如果对输入输出时钟的相位要求一 致,那么必须选择OUT2反馈、OUT1输出

    系统中常用 CY2302 进行倍频。如果对输入输出时钟的相位要求一致,那么必须选择 OUT2 反馈、 OUT1 输出。如果选中 OUT1 反馈,OUT2 输出,则相位有可能对齐,也可能不对齐,随机出现。

    因为 OUT2 OUT1 1/2 分频时钟,两者同相位,选择 OUT2 反馈时,OUT2 与输入时钟同相位, 自然 OUT1 就与输入时钟同相位;如果选择 OUT1 反馈,则自能保证 OUT1 与输入同相,OUT2 与输入 时钟可能同相也可能不同相。

    2、ADM706R在使用中应该将PFI直接接电源,避免器件上电时进入测试模式

    CCM/CDSU 单板在插入机框时有时无法正常启动,其比率达到 18%左右。测量复位芯片 ADM706R 的复位信号输出,发现单板插入机框时 ADM706R 输出恒定为低电平或恒定为高电平,从而使单板不能正常启动。分析结论是:ADM706R 上电时进入了测试模式。其解决措施是如果不使用 Power Fail 功能,将 PFI 上拉。

    3、MPC860的TRST*设计时接/PRESET,避免器件上电时进入测试模式

    CCM 单板调试过程中发现当使用热拔插电路上电时,MPC860 多数情况不能正常启动(有的单板不能启动的几率高达 80%以上)。分析结论是:由于 TRST*接到了/HRESET,所以当电源上电缓慢时, MPC860 进入了 JTAG 模式,不能正常启动。将单板上的 TRST*改为接/PRESET,单板上电使用热拔插 电路,开关电 100 次,MPC860 都能正常启动。

    4、在使用MPC860的设计中,如果只对MPC860硬件复位配置字用到的部分数据线通过硬件复位配置字驱动器进行驱动,其他数据线默认为MPC860内部下拉,那么MPC860的数据总线不能使用带总线保持功能的驱动器

    5、面板灯和指示灯

    在面板灯设计中,我们规定必须经过驱动器驱动点灯。原因有两个:避免点灯器件(如 CPU FPGA) 驱动能力不足;避免静电干扰直接冲击点灯器件造成单板工作异常。同样是为了防止静电干扰重要信号, 规定面板灯信号不与重要信号公用驱动器。设计中可以将面板灯、面板状态信号合用一个驱动器。

    6、MOSFET 的应用

    MOSFET 在应用时,推荐在栅极串联一个 10 欧姆左右的电阻。在双管并联使用时,应该对每个MOSFET 分别串联电阻,避免在开关过程中造成振荡,在 MOSFET 上耗散过多的功率导致器件烧毁。

    7、继电器线圈、风扇电机绕组等感性负载必须有续流二极管

    继电器线圈、风扇绕组为感性负载。电流不能突变。当控制开关断开时会强行续流,产生的感应电压有可能导致开关元件击穿损坏,故继电器线圈必须添加续流二极管。

    8、继电器线圈工作电压不允许降额使用,继电器在应用中应注意是线圈是否有极性要求,避免退磁

    继电器额定电压下才能保证可靠吸合,故继电器线圈工作电压不允许降额使用。

    现在的小型密封继电器有一些是极化继电器,其线圈有极性要求,连接反了会导致退磁,必须严格按照说明书设计。

    继电器的触点应降额使用。当驱动感性负载的时候,也需要添加续流保护电路避免触点烧蚀。

    9、三态/OC/OD时分数据/状态总线释放时应注意释放速度的问题

    有时系统设计中会采用时分复用的方式让多个单板或器件共享一根/一组信号线。当一个设备需要占用总线时,向总线驱动有效电平,当不需要占用总线时,关闭输出以释放总线。这时总线总是在下拉电阻的作用下恢复默认无效电平。

    当驱动器占用总线时,因为驱动能力一般会比较强,总线会快速跳变到有效电平。但是当驱动器释放总线时,要通过上下拉电阻对整个走线、所有负载的电容进行充放电,上升过程相对比较缓慢。如果需要一个快速的上升沿,那么可以控制驱动器的输入端,每次释放总线为无效之前,先让驱动器将总线驱动为无效电平一小段时间,然后再释放总线。

     

    3、可靠性设计

    可靠性设计规范如下表所示:

    详细说明如下所示: 

    1、工业级及商业级器件在实际使用中,结温降额应采用同样的降额标准,以确保实际使用中具有较高的可靠性水平

    根据供应商提供的信息,一般工业级器件和商业级器件生产工艺基本相同,区别只是在于工业及器件通过额外的测试,能够在扩展温度范围内使用。所以在应用工业级器件时,节温降额应采取同样的标准,以确保实际应用中有较高的可靠性水平。

    2、对于一些敏感电路,设计中应进行容限分析,以确认器件选型满足电路容限要求

    器件本身的参数都是标称值,实际值实际上是在标称值附近一定容限范围内的一个数值,而且,随着温度、电应力、老化、潮湿、振动等的影响,参数还会发生变化。

    3、散热器的接地

    对于单板内部的散热器,接保护地、静电泻放地都有将浪涌等信号引入单板内部的危险。所以应就近接工作地。接地的方式还需要讨论。采用 1M 欧姆电阻接地,可以缓慢泻放积累的静电电荷,但是高频情况下可能 EMI 会超标。采用 0.1u 或者更小的陶瓷电容接地可以提供高频回流路径,EMI 改进,但是静电没有直流泻放通路。所以我们也在考虑采用并联的 RC 进行接地抑或是直接连接工作地。进一步的规范在部门有定论之后给出。

     

    4、信号完整性/电源完整性设计

    信号完整性/电源完整性设计规范如下表所示:

    详细说明如下所示: 

    1、选择更加不易引起信号完整性的接口方式和器件

    在满足速度要求的前提下,应该选择更加不易引起信号完整性问题的接口方式和器件。电压摆幅较低的器件相对于电压摆幅较高的器件,较少引发 EMI 的问题。差分信号较之单端信号,较少引发 EMI的问题。另外,低速器件(边沿摆率低的器件)比起高速器件(边沿摆率高的器件)较少引发信号完整性和 EMI 问题。点到点的传送比起总线、分叉等复杂的拓扑,较少引发信号完整性问题。

    例如单端信号 SSTL/HSTL 信号比起 TTL CMOS 信号,摆幅较低,应用于 DDR QDR RAM 等高速接口场合。LVDSPECL 等差分接口方式在高速度情况下比起 TTL 更加有优势。相对于 BLVDS而言,限制摆率的 MLVDS 速率较低,但是信号完整性的问题相对好一些,被 ATCA 架构采用。

    2、采用16244驱动器驱动变化信号,建议在驱动器输出添加33.2欧姆电阻或者33欧姆排阻

    我们系统中经常采用的 16244 已经属于高速器件,其输出端应该进行端接。简单的方法就是添加33 欧姆左右串阻。例如某单板通过 16244 缓冲后的数据,未端接即连接到 FPGA 上,接收信号呈现很大的过冲和振铃,上冲、下冲峰值分别达到了 5.62V -1.66V(下左图)。添加 33 欧姆串阻之后,上冲和下冲下降到 3.906V -0.934V,明显下降并且低于 FPGA 的电压容限。同时无明显振铃。

    如果认为信号振铃仍不可接受,可以通过增加源端电阻的方法抑制。

    3、有一些可编程逻辑器件可以设置输出的驱动强度、电流等参数,通过合理设置可以改善信号完整性

    一般我们系统中使用的 EPLD/FPGA 都有管脚摆率(Slew Rate)设置。Cyclone FPGA 还可以对驱动电流进行设置。如果系统时序裕量允许较低的摆率,推荐奖 Slew Rate 设置为 Slow,减少信号完整性和 EMI 问题。

    当信号较多,不易进行端接时,也可以采取对摆率和电流设置的方法改善信号完整性。例如某单板,采用 Cyclone 输出,当采用默认的快摆率,不设置电流约束时,信号质量较差,上冲、下冲分别达到5.34V 和-1.44V。设置约束为慢摆率,电流限制为 8mA 4mA,过冲和振铃明显减小。过冲分别为 4.08V,-1.06V 以及 3.78V-0.34V,如下中、右图示。

    4、读写信号的驱动拓扑应尽量简化,必要应采用多个驱动器的方法,并进行信号完整性仿真

    总线读写信号一般都是单方向信号(存在 DMA 的系统例外),经常变化,对于某些器件,对其沿的单调性有要求,所以在拓扑设计时需要注意。

    一般设计时,我们常常采用一个驱动器驱动整个总线上所有器件的读写,导致网络复杂。有的时候某些接收端还会出现信号沿单调的情况,导致系统工作异常。(参考文献马峰超《3G 统一平台单板PSN4V WE#信号情况分析》)

    在设计中,如果时序裕量允许,可以采用多个驱动器驱动的方法,简化每一个网络的拓扑,易于端接以实现较好的信号完整性。

    5、电源上电解电容的数目应该满足电源完整性要求

    电源上的电解电容应能够提供电路工作瞬态需要的电流。从直观上看,当器件工作时,切换产生的高频瞬间电流由平面间杂散电容和和陶瓷去耦电容滤除。但是器件从待机到开始工作,或者不同工作情况之间的瞬态电流,需要由稳压电源和电解电容来提供。

    稳压电源响应时间相对慢一些,这时就需要电 解电容提供稳压电源未来得及响应时器件工作的瞬态电流,保证这段时间器件的工作电压满足要求。从频率域来看,我们期望在工作关心的整个频段上,电源具有小的内阻(期望阻抗),这样当负载电流变化时,不会导致电源上过大的噪声电压。小容量小 ESL 的陶瓷电容提供了数 MHz 到数百 MHz 频率范围的低阻抗,电源提供了低频直至数十 KHz 的低动态阻抗,在数十 KHz 至数 MHz 范围上,需要电解电容提供足够低的阻抗。

    电解电容选取的原则是,针对特定的电源器件,当负载突变时,电源输出端电压波动不超过器件正常工作范围。电解电容的计算请参照部门 PI 计算表选择,或者根据电源器件手册的负载特性部分选取。

    6、在需要对电源完整性进行测试的位置,放置电源完整性测试点

    原理图中应增加关键芯片(如大规模的处理器和 ASIC 等)的 I/O 电源和 Core 电源的 PI 测试点。用示波器对芯片的电源进行纹波测试时,使用 PI 测试点,配上自制的电源测试探头,可以避免地回路较大带来的测试误差。

    每个关键芯片的 I/O 电源加 2 PI 测试点,Core 电源加 1 个。PI 测试点不入料单,使用库 TP1X2_1,第 1 脚接 GND,第 2 脚接需要测试的电源网络。PI 测试点在 PCB 上放在被测芯片附近,I/O 电源测试点分别放在芯片的对边。

    7、时序设计  

    时序设计在本检查单中不列出,但要求关键路径必须有时序计算表。计算可以采用时序计算表或者工具计算(例如 SynaptCAD Timing Diagrammer Pro Forte Timing Designer 等)。注意器件上 TCO 参数测试方法,当负载不同时,TCO 和手册上可能有差异,当时序裕量很小时,可能带来时序问题。

     

    5、系统相关设计

    系统相关设计规范如下表所示:

    详细说明如下所示: 

    1、热插拔系统的接口不应采用不支持插拔的标准

    我们的系统一般要求单板支持热拔插。在接口标准选取时,应该仔细了解该电平原理上是否支持热拔插,选取在热拔插系统中可行的标准。

    例如 I2C 总线使用了上拉电阻,当一块单板掉电时其电源为 0V,总线上通过该单板上的上拉电阻给该单板供电。因为 I2C 总线本身是通过上拉电阻来置高电平的,上拉本身就较弱,所以总线很容易被拉死。对这种情况,可以考虑在上拉电阻处添加一个肖特基二极管防止局部掉电拉死总线。

    对于具有保护二极管的器件,也需要注意,信号线可能会通过其保护二极管在单板断电或者拔插过程中给单板供电,造成信号线被拉死甚至器件损坏。

    2、背板输入的TTL/CMOS控制信号应该设置成高电平有效,一般情况处于低电平

    在 3G 第一版设计中,接口控制信号电平的定义并没有考虑必须高电平有效,而是根据 TTL 时代的惯例,低电平表示信号有效(TTL 器件当管脚悬空时认为是高电平)。在接收器上,一般采用上拉处理,确保当发送器断电呈现高阻态时,接收端收到的是固定的无效状态。

    实际使用中,出现了断电单板指示灯微亮的异常现象。经过检查分析,发现是因为信号线或者其他单板上的上拉电阻给单板供电造成的。当信号线很多时,通过上拉电阻点灯甚至给单板部分电路供电时很可能的。

    I2C 总线也是一个例子,当一块单板掉电时,其上拉电阻往往会起到下拉电阻的作用,导致整根总线被拉死,并可能导致断电单板部分电路有电。

    为了避免这种情况发生,要求一般信号线定义,以高电平为有效电平,采用下拉电阻确定当发送器断电或者不存在、高阻时,信号处于固定低电平。

    3、背板信号在上电之前处于三态

    背板信号在上电前应处于高阻态,避免总线冲突或者输出错误的状态。对于 TTL/CMOS 器件,这一点可以通过具有 PU3S 的驱动器,以及采用 OE 端的上下拉电阻确保在单板上电,OE 控制信号有效之前,驱动器处于高阻状态。

    4、单板运行时不需要进行调节的地方一律不用可调器件

    可调器件的可靠性和稳定性较低。例如电位器、可调电容等都可能由于震动导致设置值发生变化。 电位器还可能因为电刷接触不良导致故障。另外,对可调元器件进行调节增加了生产的复杂性,也增加了生产的成本。

    我们规定,在不需要调节的地方一律不用可调器件。因调试需要,在样板中采用可调器件调节,在最终版本中应采用固定元件替代。

    5、设计应保证所有测试使用的跳线帽、跳线针在最终产品中不需安装

     

    安装调线帽增加了成本和安装工序,因为需要人工安装,增加了出错机会。跳线帽在运输中可能脱落,受到污染可能接触不良,增加了系统的不稳定因素,所以设计应保证跳线帽只在调试中使用,最终产品不需要调线帽,不需要焊接跳线针。

    在电路设计中,应保证所有模式设置使用的调线帽只有在测试模式需要安装,正常工作模式默认调线帽不需要安装。所有为调试方便设置的调线,应该有 0 欧姆电阻并联,确保在最终产品中,可以通过0 欧电阻实现跳线的功能,不需要安装跳线帽。

    对于机架号设置等使用,可以采用跳线或者拨码开关方式。必要时须采用点胶等方式紧固,防止运输过程松脱、遗失带来故障。

    6、系统级信号完整性设计和系统级时序设计

    我们的移动通讯基站系统都很多单板构成,由背板互连线和电缆等实现单板间的的连接关系。在单板上,我们一般都会很注意的规划拓扑,注意 PCB 走线延迟的控制,确保各个芯片接口的建立保持时间。但是对于单板间接口和背板的信号完整性关注不够。

     

    6、可生产性设计

    可生产性设计规范如下表所示:

    详细说明如下所示: 

    1、光学定位点(MARK点)的放置(来源于参考文献《Q/ZX 04.104.2-2002 电路原理图设计规范一基于 CADENCE平台的设计要求》。)

    贴片机需要为了在 PCB 文件中能够输出光学定位点的坐标,应根据 BGA、TQFP 等封装器件个数,在原理图的末页放适量的 mark(光学定位点)符号。

    mark 符号个数的估算如下:

    mark 个数 = K + 2*(管脚中心距≤0.5 mm20 mil)的 QFP 个数 + 中心距≤0.8 mm31 mil)的BGA 个数器件)

    其中:

    • 单面贴装器件时,K 3

    • 双面贴装器件时,K 6

    2、尽量采用贴装器件,双面回流工艺。尽量不使用插装器件

    采用表面贴装器件生产,能够使得单板生产的自动化程度提高,提高生产效率。

    插装元件来料封装与PCB焊接孔尺寸一般都是不一致的,比如说常见的分立插件电阻、二极管,其来料都是编带,两引脚在同一水平线上,如果要插装在印制电路板上,必须对引脚进行弯脚成型(立式或卧式),所以就很直接的得出它的生产工艺流程:

    元件成型—>插件—>波峰焊—>检验或元件成型—>手工焊接—>检验

    而SMD料,因来料与PCB焊盘封装一致,直接贴装焊接即可,其生产工艺流程为:

    贴片—>回流焊—>检验或手工焊接—>检验

    从以上生产工艺流程可以看出,分立插装元件焊接要比贴片元件多-道成型工序,增加了生产工艺流程和单板生产周期(也就意味着增加了人力、物力、财力等成本) ;

    另外,因分立元件目前每个元器件厂家做的标准都不一样, 就算同一个代码下的物料可能有的厂家做的元器件引脚长或粗,有的引脚短或细,有的厂家封装体积大,有的封装体积小,给材料选型、生产工艺过程带来比较多的麻烦。

    如果采用少量插装元器件,单板这部分需要进行人工焊接。如果插装器件较多,人工焊接效率较低。当插装器件较多时,将采用波峰焊接工艺。波峰焊接工艺对单板B面元器件的封装、摆放都提出了要求,例如不能摆放排阻、四周出引脚、BGA封装、管脚间距小的器件,器件摆放方向必须一致等。

    3、除非信号完整性特殊要求,背板上- -般不应放置串阻等器件;背板尽量采用压接连接器,避免焊接连接器

    大量压接器件加工过程中容易使单板变形,对器件造成损伤。并且压接模具如果在加工过程中压到器件,可能会导致器件损坏。所以除非信号完整性等特殊要求,背板上不应放置串阻等器件。 背板厚度很厚,加工不便,所以背板上的插装、表面贴装连接器经常需要手工焊接,为了提高效率, 背板尽量采用压接连接器,避免焊接连接器。

    4、潮湿敏感器件

    潮湿敏感器件在生产中必须要注意,在保存、生产中注意遵循相应的规范。

    潮敏器件应该保存在干燥箱中或者密封袋内。开包后应在规定时间内焊接完成。如果拆包时间超过规定时间,在生产之前,应对潮敏器件进行干燥处理。否则在焊接过程中温度迅速上升,封装中吸收的水分迅速气化膨胀,就会导致器件内部裂纹、剥离等“爆米花”效应,导致器件损坏。

     5、有铅工艺和无铅工艺

    2003年2月13 日,欧盟发布了WEEE《关于报废电子电气设备指令》(2002/96/EC) 、RoHS 《关于在电子电气设备中限制使用某些有害物质指令》(2002/95/EC) 两项指令。在两项指令中,限制铅和一些有害化学物质的使用。

    至本文撰写时,我司目前已经开始无铅化生产的研究。对于高锡无铅焊料,存在低温相变、晶须生长等问题。这些问题因为专业不同,对于硬件开发人员影响并不是很大。而对于生产来说,Sn-Ag-Cu焊料的熔点为217度,较Sn~Pb焊料的183度高34度,对器件提出了更高的要求。所以,一般不能够使用无铅焊料焊接有铅元器件。

    实际上现在很多采用有铅、无铅器件,用有铅焊膏混合使用的情况和试验也在进行。对于无铅的BGA和CSP封装的器件,不得使用有铅焊料进行焊接。即如果采用无铅的BGA、CSP封装的器件,则必须采用相应的焊料,这是其他器件不能采用有铅工艺器件以保证生产中的可靠性。我们不推荐一起混 合使用有铅和无铅器件。

    7、可生产性设计

    7.1、JTAG

    JTAG设计规范如下表所示:

    详细说明如下所示: 

    1、多个同样的芯片,设计JTAG串行链路

    多个同样的芯片推荐设计JTAG串行链路。为了调试过程方便,可以通过0欧姆电阻跳线,使得JTAG 可以单独引出,也可以成链引出。

    7.2、测试点

    测试点设计规范如下表所示:

    详细说明如下所示: 

    1、地测试点

    板上应该分布地测试点,方便测试。现在我们的信号速率都较高,地测试点距离较远可能导致信号完整性测量的不准确,在测试时应该保证示波器探头能够就近接地。例如某单板的信号完整性测试,当采用示波器探头就近采用小飞线接地和采用普通接地线接地时,信号的过冲差异有数百毫伏。

    一般情况下我们单板提供的地测试点能够满足一般调试时示波器能够方便的接地,在信号完整性测 试时,还需要在离信号最近的地方(往往是电容上)飞出地线测试点,采用尽可能短的探头接地线连接。

    2、多针测试点,空余的管脚应接地处理

    在设计中,可能出现放置一个 8pin 测试点,只用了其中 6 PIN 的情况。这种情况下,应该将测试点多余的管脚接地。这样可以方便数字探头的就近接地,为测量提供方便。不要将空余的管脚悬空。

    3、向PCB提供不焊接插装器件清单

    如果提供了不安装的插装器件清单,将来 PCB 设计时就可以避免测试点打在插装器件的管腿上。 否则如果将插装器件的管腿作为一个测试点的话,如果生产时不安装此器件,有可能造成测试点丢失和漏测。

    4、测试点带来的信号完整性问题

    重要的信号线添加测试点能够方便调试,例如一组时序复杂的总线,每根信号线都有测试点就可以方便的采用逻辑分析仪进行分析。

    但是测试点本身也可能带来信号完整性问题,需要注意测试点不能使信号线引入长的分叉,避免影响信号的信号完整性。例如某单板在高温下 FPGA 下载失败,分析为加测试点导致信号线分岔,影响

    信号完整性问题所致。 对于速率很高的信号,例如高速串行链路,信号线上的测试点、过孔都会为传输线带来阻抗不连续 点,引起信号的反射,导致信号质量恶化。对于这样的电路,有可能有必要采用高频场分析工具对过孔、 表贴 ICT 测试点进行建模分析,确保电路工作正常。

    7.3、电路可测试性

    7.4、系统可测试性

     

    展开全文
  • 设计篇-网页设计规范

    千次阅读 2021-08-03 17:34:22
    设计规范 文章目录前言一、页面设计基本规范二、字体使用规范三、颜色搭配技巧四、页面风格总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,...

    设计规范


    一、页面设计基本规范

    目前电脑主要的屏幕尺寸(主要为1920):
    在这里插入图片描述
    主要界面:页面尺寸: 1920px 比较流行;中间区域: 1000px或者1200px;分辨率: 72、颜色: RGB

    top区:最大宽度: 1920px ;普通top区的高度: 20-65px

    导航区:最大宽度: 1920px ;高度: 60- 100px

    banner常用宽度: 1920px; 安全区: 1000px、1200px;普通banner的高度: 300-800px

    二、字体使用规范

    在网页中存在两种文字:像素化文字(可选择)、图形化文字(无法选择)。

    常用文字字号选择:12px是应用于网页的最小字体,适用于非突出性的日期,版权等注释性内容。

    14px则适用于非突出性的普通正文内容。

    16px、18px 或者20px适用于突出性的标题内容。

    注意字体版权问题。

    段落格式:相邻两个文字的间距,除了特殊的需求之外,都可以使用默认数值的间距。

    行间距:推荐以字体大小的1. 5- -2倍作为参考;

    三、颜色搭配技巧

    字体颜色:
    在这里插入图片描述
    在网页设计当中,除黑白灰外,一般颜色要控制在三种颜色之内。

    主色调在网页中色彩占百分比最大,其次是辅助色除黑白灰外,主要给人视觉显示的颜色为主色调。

    (画面中必须要有主色调,主色调不一定只有一种)画面只有一种色彩或许会单调,所以一般会给予画面一些其他颜色的点缀。

    鼠标滑过或者其他点缀的颜色为辅助色。

    四、页面风格

    网页的风格是指网站页面设计上的视觉元素组合在一起的整体形象。

    网页的风格可以为展示网站品牌形象与传达网站主题信息起到烘托作用,所以风格的定位有位重要。

    不同的网页视觉风格,会给人带来不同的心里感受。

    主要风格定位:

    1、根据产品定位
    产品传达给浏览者的感受一时尚、 复古、神秘高贵、纯真、可爱、简约、干净、个性的形容词。

    2、根据受众人群定位
    性别、年龄层、社会地位、职业等受众选择。

    3、根据客户要求定位
    企业想要表达的感受一有深度, 负责、庄严、严禁、值得信懒的等形容词。

    注:在明确自己的网站形象后,开始努力建立和加强这种印象。进步找出其中最有特色特点的东西,就是最能体现网站风格的东西,并以他作为网站的特色加以重点强化,宣传。


    总结

    网页设计禁止事项:
    不得:
    (一)使用或者变相使用中华人民共和国的国旗、国歌、国徽,军旗、军歌、军徽;
    (二)使用或者变相使用国家机关、国家机关工作人员的名义或者形象;
    (三)使用“国家级”、“最高级” 、“最佳” 等用语;
    (四)损害国家的尊严或者利益,泄露国家秘密;
    (五)妨碍社会安定,损害社会公共利益;
    (六)危害人身、财产安全,泄露个人隐私;
    (七)妨碍社会公共秩序或者违背社会良好风尚;
    (八)含有淫秽、色情、赌博、迷信、恐怖、暴力的内容;

    展开全文
  • C#开发界面设计规范

    2011-03-09 04:05:15
    界面设计规范界面设计规范界面设计规范界面设计规范界面设计规范界面设计规范界面设计规范界面设计规范
  • PCB设计规范

    千次阅读 2018-07-06 03:46:46
    0、写在前面的一些话(1)此文的目的:为了快速规范的进行PCB设计,提高产品可靠性,最终的目的还是为了提高利润(提高设计质量、设计效率、...关于PCB设计规范内容,本人将其分为以下几个部分:1、 布局前准备;2...
  • 数据库设计规范

    千次阅读 2018-09-02 22:18:16
    数据库的重要性不言而喻。...数据库设计规范包括命名规范、库表基础规范、字段规范、索引规范和SQL设计规范。 1. 命名规范 1.1 库名、表名、字段名禁止使用MySQL保留字。 1.2 库名、表名、字段名使...
  • 数据库设计规范-通用版

    万次阅读 2018-12-25 18:08:43
    一、命名规范 1、总命名规范 1、不得使用数据库保留关键字,以及php/java等常用语言的保留关键字,或者可能成为关键字的单词作为完整命名。(对于一些疑似关键字的单词,可以在后面加一个下划线来避免,例如“key_...
  • 成为优秀UI设计师,必须了解的UI设计规范

    千次阅读 多人点赞 2018-08-27 13:02:01
    今天带来的这些规范,可是成为优秀UI设计师必须知道的“纯干货”,还能让大家深刻了解UI设计规范(https://ds.mockplus.cn)的本质是什么。 图标规范 很多设计师以为UI设计就是设计图标。虽然事实并非如此,但图标...
  • 产品经理——产品原型设计规范

    万次阅读 多人点赞 2018-08-29 14:35:42
    产品原型设计规范(下称“本规范”)指导产品经理、交互设计师或产品原型设计工作者,在产品原型设计活动中理解、遵循和掌握各节点的任务、边界、规范等相关内容;提高产品原型设计工作者的专业水平和产品原型设计的...
  • 一、数据库设计流程 1、需求分析 确定用户对数据库系统的使用要求和各种约束条件,形成用户需求规约 2、概念设计 对用户要求描述的现实世界,通过对其分类、聚集和概括,建立抽象的概念数据模型 3、逻辑设计 ...
  • Android 设计规范整理

    千次阅读 2020-01-23 19:03:24
    Android UI 设计规范整理 一、屏幕尺寸关系 一般选择720*1280来作为设计稿 二、设计要点 1.UI间隔 大多数间距单位是8dp的整数倍,对齐间距和整体布局。较小的组件(如图标和排版)可以与4dp网格对齐 2.ui大小 ...
  • 一、数据库表设计规范

    千次阅读 2020-01-06 10:40:51
    为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。 1.第一...
  • 苹果官方设计规范

    千次阅读 2020-07-12 23:54:01
    苹果官方设计规范:https://developer.apple.com/ios/human-interface-guidelines/ 设计尺寸 字体(苹方) 点和像素 Points and Pixels 图标 Icon 应用图标 App Icon 分辨率和显示规格 ...
  • 本规范是根据建设部《关于印发“2005年工程建设标准规范制订、修订计划(第二批)”的通知》(建标函[2005]124号)的要求,由中国电子工程设计院会同有关单位对原国家标准《电子计算机机房设计规范》GB 50174-93进行...
  • 支付宝移动端App ui界面设计规范

    千次阅读 2021-06-07 08:27:42
    对于ui初学者来说,ui界面设计规范有着非常正确和重要的指导意义。而当我们要接一个新的设计项目时,如能拿到该产品的同行老大来做研究那是最好不过。设计风格可以根据自己的品牌调性来做,但基本的设计尺寸规范等...
  • APP设计:(一)app界面常用设计规范

    万次阅读 多人点赞 2019-07-10 15:55:27
    app设计是一个看似简单...经过几年的发展逐渐成熟,也逐渐形成一些普适的设计规范,包括布局、各部件尺寸、字体运用等等。虽然说设计要创新,不能一成不变,但考虑到用户的使用习惯,提高用户体验感,在一些趋于统...
  • 关于苹果iOS13的所有设计规范

    千次阅读 2019-09-18 07:17:16
    很多小伙伴都特别想对iOS13的全新设计规范有一个全面的了解。在这里结合WWDC 2019的官方视频与苹果官方资料,为大家带来最全面细致的iOS 13交互设计指南及规范解析。如果你是设计人员,那我相信这篇应该可以是要收藏...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 795,593
精华内容 318,237
关键字:

设计规范

友情链接: ocr.zip