0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

重点讨论一下硬件CBB

wFVr_Hardware_1 来源:硬件十万个为什么 2023-02-06 14:57 次阅读

CBB(Common Building Block)即共同性构建模块,指那些可以在不同产品、系统之间共用的零部件、模块、技术及其他相关的设计成果,软件、硬件系统都有自己的CBB。在产品中我们鼓励共享和重用CBB,这里面好处很多,比如对于采购、制造这些领域,CBB可以降低采购成本,降低库存和出现物料呆死的风险,也更利于大批量制造。

我们重点讨论一下硬件CBB,硬件基础模块是硬件系统中一组实现特定功能、性能及规格的实体硬件单元,对外以硬件接口的方式呈现,而接口包含了硬件模块所提供的功能和应用它时所需的要素。硬件基础模块是构成硬件产品和硬件系统的单元,是基于硬件系统架构逐步抽象出来、定义开发的,硬件CBB包括可共享硬件器件、可共享硬件组件/模块、可共享单板、可共享整机、可共享硬件系统等。

对于硬件研发团队硬件CBB的价值很大,对CBB的坚定投资是有高回报的。首先,硬件技术、硬件模块若被大量共享,能够极大降低研发成本,提升研发效率;在硬件共享的基础上,增加新技术、新特性,新产品的开发将一直“站在巨人的肩膀”,利于对市场做出快速反应。同时,工程师在一个CBB模块上持续发现、解决问题,提升CBB质量,打磨出高质量的CBB,这也是产品质量保障的有效手段,共享成熟度高的货架产品,能够大大增加了产品稳定性和可靠性。另外,坚持共享,可以减少开发团队低水平重复投入,释放人力资源做更有价值的工作。

很多做硬件产品的大公司都把硬件CCB作为系统构建的核心资产,坚持通过CBB的开发和维护提高整体设计效率和设计质量,缩短开发周期。在大公司里有些高价值的CBB甚至可以跨产品、跨产品线共用,支持不同的应用系统,具备灵活方便的二次开发能力;与产品或应用系统间界面清晰,能实现平行开发;硬件CBB模块功能规格、性能指标清晰,可测试、可维护,还有完善的资料手册。大公司把CBB的构建定义为平台战略的关键支点,是公司重要的组织资产。

硬件工程师要特别要关注那些高价值硬件CBB的开发和维护。比如,你开发的无线路由器产品都会应用2.4G5G的棒状天线,那么就要关注天线的性能指标、降成本空间、应用问题等;如果你是开发服务器产品的,可能70%的产品都会重用一款X86 CPU,那CPU CBB的硬件设计就是至关重要的,CBB交付后,你还要持续跟踪供应商,刷新器件问题列表,合入新的优化点。这些高价值CBB的持续投入能够让借用这个CBB的多款产品都收益。

“好的CBB是管理出来的”,CBB管理过程不是一个独立的流程,而是嵌入在产品流程化的开发活动中。CBB管理可以分为4个阶段:定义规划、设计开发、使用监控、维护优化四个阶段,详解一下这四个阶段的主要工作。

阶段一:规划定义阶段

在总体设计阶段,就要规划CBB,针对不同种类的产品,CBB规划的侧重点就不一样。如复杂框式硬件,产品的生命周期很长,对于电源、风扇、拉手条等关键组件都必须要CBB化;各单板上对于背板的接口、各个单板子节点的监控也要定义为CBB,保证规则和设计要求的一致。盒式海量发货的单板很多都是系列化的设计,在一个系列中核心模块是共用的,比如CPU模块、业务接口模块等,为了保证一个系列类所有单板都遵循统一规则,并且整个产品系列成本最优,这些核心共用模块都要规划为CBB。终端类产品的CBB更有学问了,这类产品的定制化诉求强烈,单个款型对成本都极度敏感,因此如果定义CBB,必须要和产品设计耦合度极低,避免对其它模块设计有影响,因为冗余设计导致成本增加。

阶段二、设计开发阶段

规划好后,我们要进行CBB的设计。首先要确定好硬件CBB的设计人员,由于CBB是一个通用模块,工程师设计CBB时要跳出单板,看到系列化的产品和这个产品的演进路径,心里有全景图,才可能做出一个有生命力的CBB。定了设计人员,就要认真分析CBB的各种接口,做好抽象的工作,这个设计很考验硬件工程师,接口定义不全就很难通用化,定义的过于复杂,冗余太多,又会在CBB上沉淀过多的成本,应用起来复杂度很好。比如,CPU这类核心处理模块定义CBB难度就很高,内存和Flash怎么定义?电源模块是放到CBB内,还是CBB外?集成方式是扣板还是在直接放在主板上?等等这些问题都需要仔细考虑。定义完接口后就要做模块的原理图和PCB,想到你的模块会被大量借用,你就会感到自己责任重大了。最后,还要提醒一下,CBB一定要通过文档传递你的接口定义和关键的设计要求,方便借用者使用。

阶段三、使用监控阶段

好的CBB不是一蹴而就了,CBB交付后会在一块或者几块单板上先使用,这时候你就要开始监控使用时遇到的问题,不管是在设计阶段还在产品上市发货后。硬件工程师要监控这些CBB模块在整机或者系统被借用时,使用是否方便,接口的定义对主板的设计限制是否太多了。模块在发货后适应不同单板和系统在不同场景应用有什么质量问题,比如是不是借用到室外产品后防护规格就不满足要求了。收集这些问题后,进行记录和整理,这个是进行CBB优化的依据。

阶段四、维护优化阶段

问题都收集全了,下一步就是进行优化了,切记每一个改动都要特别小心,要做好记录,改动点的验证要覆盖到这个CBB不同的场景上。这里还要强调一下,硬件CBB的修改是否影响软件系统要特别注意,我们在CBB设计阶段都会把硬件对软件的要求写清楚,和软件工程师做好澄清,但是在硬件CBB维护优化时,有时会疏漏针对所有借用CBB的单板或整机同步修改点,请软件工程师分析是否要优化软件,导致了硬件模块优化升级了,软件适配没更上,产品一上线问题就暴露了。

这十多年中,我从一个初入硬件行业的小白逐步成长为一个老练的硬件工程师,我一直在和CBB打交道。

刚进入硬件团队的时候被师傅安排去维护几个成熟的CBB,根据收集到的问题进行优化。那时候有两点体会,一是有些同事水平很高,设计出的CBB考虑非常全面,特别是对于场景适应性的考虑很细致,借用到单板或整机上问题很少,我维护起来很方便;二是CBB优化后的验证是个技术活,修改点要覆盖全,这逼着我去熟悉不同的单板。

后来,我有机会做核心CBB的设计师,那时候觉得很有荣誉感,当时我做了一个ARM CPU的CBB,做接口设计时天天都和软件架构师泡在一起,学习业务模型,软件规格升级要求等知识,觉得自己进步很快。还有一个让我印象深刻的事是,当时我的主管要求我硬件CBB设计一定要文档化,文档要包括的主要内容有:CBB整体介绍,包括功能描述和重要性能指标描述,限制条设计及应用关注点;CBB电路设计,包括原理图和接口设计说明,关键接口设计要求等;CBB PCB设计指导,对于CBB电源、时钟、散热的设计要求都要重点说明;CBB对于软件的设计说明,对于一些需要配置的接口要特别写清楚。

等我成为硬件项目经理的时,我更加能体会到CBB的价值和问题,规划好的CBB,对于设计效率,供应柔性,制造通用性帮助都很大。然而,我也体会到定义CBB也是一种“妥协”的结果,由于在资源、时间、成本等方面的限制,不同团队的核心目标可能会和CBB建设的目标发生冲突。这时候就需要项目经理站出来,去平衡各方利益,坚持对团队长期利益最优原则,说服大家使用CBB。

同时,我还希望大家多去思考并警惕过度CBB化给产品和团队带来的“负作用”。首先在产品设计中,由硬件CBB搭积木一样组合一个单板让硬件设计缺乏了很多美感,强行使用CBB导致有些设计很变扭,不得不进行妥协,硬件成本做不到极致。其次,CBB质量出问题会有蝴蝶效应,特别是核心CBB出问题对于产品就是灾难,一个单点错导致系列化的产品都出错。2009年起丰田公司旗下的多款车型因加速踏板故障存在自动加速问题,导致多起伤亡,这个刹车门事件就是CBB应用的一个负面典型案例。最后,回到CBB对于硬件工程师的“负作用”,过多依赖CBB师硬件工程师失去了对产品每个关键模块设计细节的控制力,由设计师变成了装配工人,有空心化的风险,很难培养出18般武艺样样精通的高手。综上,不论对于大公司,还是中小公司,硬件CBB都不是万能的,我们在通过CBB获益的同时也要预防CBB给我们带来的问题。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8651

    浏览量

    361819
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10443

    浏览量

    206565
  • cbb
    cbb
    +关注

    关注

    0

    文章

    24

    浏览量

    9773

原文标题:CBB,通用性硬件模块构建

文章出处:【微信号:Hardware_10W,微信公众号:硬件十万个为什么】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    max7219在PROTEUS7.8仿真通不过,大家进来讨论一下

    max7219在PROTEUS7.8仿真通不过,找了许久找不到原因,大家进来讨论一下PCB打样找华强 http://www.hqpcb.com 样板2天出货下面是代码大家看看有什么问题没有
    发表于 12-15 17:15

    大家来讨论一下用蚁群算法实现路径规划的硬件实现问题

    本帖最后由 gk320830 于 2015-3-8 06:44 编辑 大家来讨论一下用蚁群算法实现路径规划的硬件实现问题,不仅仅是用matlab做仿真算法,具体的硬件连接都可以再下面讨论
    发表于 04-26 17:19

    应用SP2349扩展单片机串口应用,大家讨论一下,该怎么做?

    应用SP2349扩展单片机串口应用,大家讨论一下,该怎么做?
    发表于 08-17 20:42

    有没有做电源的啊?快来讨论一下啊。。。

    有没有做电源的啊?快来讨论一下啊。。。
    发表于 09-04 21:16

    讨论一下输液泵精度调节的问题

    本人目前在做个关于输液泵的项目,主控板是飞思卡尔8位单片机。有没有相关经验的大侠能讨论一下输液泵精度调节的问题。主要是步进电机速度对应的输液的速度……这里附个输液泵的资料,大家
    发表于 07-31 11:39

    AD模数转换模块大家都用什么芯片,都进来讨论一下。。。

    AD模数转换模块大家都用什么芯片,都进来讨论一下啊。。。哪些好用哪些不好用的,都可以进来说一下。。。。。
    发表于 08-01 17:46

    有没有用DSP做电力有源滤波器(APF)的,进来讨论一下

    有没有用DSP做电力有源滤波器(APF)的,进来讨论一下,或者加QQ371819568
    发表于 06-26 20:06

    大家都来讨论一下元器件降额设计是怎么回事

    大家都来讨论一下元器件降额设计是怎么回事吧 各位前辈之前 做设计有进行过降额设计吗?
    发表于 04-22 15:34

    5G商用后,是否能够取代wifi?讨论一下

    5G商用后,是否能够取代wifi?讨论一下
    发表于 06-22 14:28

    大家讨论一下这种电路

    本帖最后由 晓晓江南 于 2017-1-14 17:23 编辑 这个电路所实现的功能之前有网友发帖求助过,在这里想再讨论一下,电路功能是第次闭合开关,灯亮,断开灯灭,第二次闭合,灯不亮,断开
    发表于 01-14 12:24

    上传个原理图,是关于压电式蜂鸣器的,大家来讨论一下工作原理

    本帖最后由 Stark扬 于 2018-10-19 18:23 编辑 上传个原理图,是关于压电式蜂鸣器的,大家来讨论一下工作原理
    发表于 10-19 18:10

    讨论一下编程风格与技巧是怎样提高设计性能的?

    讨论一下编程风格与技巧是怎样提高设计性能的?
    发表于 05-07 06:31

    讨论一下如何创建、下载和运行脚本?

    让我们简要讨论一下如何创建、下载和运行脚本。
    发表于 05-11 06:31

    讨论一下无变压器最简单开关稳压电源

    今天中港扬盛来跟大家讨论一下,无变压器最简单开关稳压电源。由于这种无变压器电源与市电直接连接,没有隔离,因此要注意安全,防止触电。本电源电路简单,易于制作。只要元件选取适当,焊接后即可工作。若将开关
    发表于 10-29 09:01

    基于VN5650讨论一下以太网的配置与使用

    嵌入式开发,仿真环节至关重要。仿真,自然脱离不了仿真设备的使用,本文基于VN5650,讨论一下以太网的配置与使用。
    的头像 发表于 05-26 09:22 1690次阅读
    基于VN5650<b class='flag-5'>讨论一下</b>以太网的配置与使用