- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模块化设计探讨 1、模块化设计思想 1.1 模块化概念 1.2 模块特性 1.3 模块化设计优点 2、模块化划分方法 2.1 层次划分 2.2 功能划分 3、公司产品模块化设计的分解 3.1 硬件设计 3.2 软件设计 * 2010年09月19日 1 模块化设计的概念以及特性 模块化设计的主导思想:通过标准、公共、通用模块的组装实现复杂的系统功能。模块化设计体现在多种设计中,这是一种设计的理念和方法。比如武器、造船、自能楼宇等等设计领域等工业设计领域都有应用。 1.1 模块的概念 模块:具有一定独立的功能、标准或通用接口的通用功能单元。多个模块可以进行组装形成一个实现复杂功能的大模块或者系统。 模块化:通过科学、合理的划分方法将一个复杂系统分成多个标准的模块。通过标准模块的组装实现负责的系统功能。 1.2 模块的特性 (1)通用性 (2)接口标准性 (3)功能独立性 (4)可替换性 (5)内紧耦合外松耦合 1.3 模块化的优点(1)采用成熟模块,降低一个复杂系统的开发难度。提高产品的质量。(2)通过合理的模块化划分和接口定义,可以使多个模块的开发并行进行。 (3)模块的可组合性提高了产品的功能、性能灵活性。可以灵活的满足需求。(4)模块的可替换性,降低了产品对某个模块的过度依赖性。(5)减少产品模块的测试时间,缩短系统的开发时间。 总的优点:上述优点的组合,缩短了新产品的开发周期,提高了产品质量,增强产品研发的灵活度。让产品可以很快的推向市场。 2 模块化划分方法 一般而言,有两种主要的划分方法: (1)从上而下的层次划分 (2)从左到右的功能划分 两种方法一般是综合使用,实现一个系统的模块具体划分。 2.1 层次划分法 根据需求,从上而下将具体需求映射成分层的功能层。各层之间通过通用的、标准的接口实现数据流、功能流程的双向传输。 见下图1: 图1 模块划分示例图 2.2 功能划分 功能划分是在同一层次上,将层次功能按照功能进行划分,分解到一个个具体的功能模块。整层功能通过标准接口向上提供功能的具体实现。 2.3 划分方法的优点和难点 层次划分和功能划分的优点在于:(1)一个系统在划分好层次和功能模块后,各层的设计就可以独立的并行进行。(2)功能模块可以采用已有模块,通过标准接口挂接到对应的上层功能就可以使用。避免模块在不同应用中的2次开发。 层次划分和功能划分的难点在于:(1)需求和方案需要细致和全面 需求和方案决定了系统层次以及模块的划分。如果需求和方案出现大的问题,则将影响到整个系统的最终实现。 比如安装出现问题有可能导致产品的重新设计。(2)层次间的接口定义需清晰且标准化 开发设计的并行进行是在接口已经确定的情况下进行的。如果接口定义不清晰,并行就无法保证。 示例:比较两种不同方法的优劣 图2 模块组织示例图 3 公司产品的模块化分解3.1 硬件设计 硬件的设计是一个电子产品最基础的部分,它是整个系统功能的支撑。对于嵌入式产品来说,硬件设计的架构也同时决定了软件设计的架构。所以,硬件设计是很重要的一个环节。 3.1.1 硬件模块化设计的几个方面 (1)采用使用通用接口的功能模块 比如PCI接口设备等。 (2)采用通用的处理器架构 一个系列的处理器,在模块移植时,修改工作会比 较少。 (3)处理器模块和功能模块之间的接口标准化 a.处理器模块可以做到通用,应用于不同的系统中 ,运行不同的软件实现不同的功能。 b.处理器模块可以方便变更,无需影响外围功能。 3.2 软件设计 软件设计依赖于硬件的架构,当硬件设计确定后,就涉及到软件框架的确定,比如编程语言的选择、操作系统的选择、模块的划分和组织、接口的确定等。软件的模块化设计主要就是通过一种组织方式,将已有的驱动模块应用到新设备中,避免模块在新的设备、新的处理器架构下的2次开发。 3.2.1 编程语言 编程语言大多选择C语言。其主要特点就是编译器种类比较多,移植性比较好。这就比较适合模块化的设计的需求。当通过C语言设计好功能模块后,就可以根据选定的CPU来选择编译器,从而生成相应的可执行代码。 3.2.2 操作系统的选择 目前主流的操作系统是vxworks、linux(ucLinux)、ucOS等。 相
文档评论(0)