您当前的位置:检测资讯 > 科研开发
嘉峪检测网 2022-01-25 22:41
1. 卷首语
医疗设备的设计是一个系统性的工作,在产品设计的第一个阶段,首先要思考和定义好产品的系统架构。
产品的系统架构从整体上讲,是指产品设计所涉及的各个专业之间的结合方式以及协同工作的方案。从专业上来讲,又可以分解为硬件架构、软件架构、机械架构(结构)等。产品的设计过程实际上就是将整体的设计需求分解到每个专业,再对每个专业进行架构定义,最后根据定义好的架构进行实际的产品设计。
因此每一位设计者应该在设计初期就要投入足够的时间对整体的或者各自专业的架构方案进行深入的思考和充分的评估。一个良好的架构能够在后期规避很多产品开发上的问题和减少“挖坑”的风险。不少项目的失败往往都是因为架构设计存在漏洞,从而导致方案推到重来,甚至最终成了“不治之症”,而一个成熟的设计者需要同时从技术上和经济学上规避风险,才能实现产品开发的成功。任何一方面的缺失都会导致产品失败,对于市场而言,一个产品是否成功只关乎结果,过程并不重要。
在这里,我们不打算从产品的整体架构开始讲述,因为整体架构涉及到的领域和知识太广了,而目前很多关于产品设计的资料、教材(特别是大学的教材)往往上来就讲述宏观的理论和概念,对于如何落地操作却缺少实际性的讲解和案例(这个似乎是很多教材的通病),导致阅读者越读越迷糊,而社会上能够用到的实操知识往往只能从工作中花费大量时间来积累,遗憾的是,很多道理实际上只需要简单的一句话就能够让设计者明白。
因此我们反复考虑了很久,决定从产品的硬件架构开始讲述,因为一个产品的设计往往是从硬件和机械开始的,而硬件又是设计中与系统架构关系最密切的专业,同时为了让知识能够通俗易懂,我们将对硬件架构中最关键的核心板的选型进行详细的讲解,从一位参与和主持过多款医疗设备研发和管理的工程师的角度来和我们的读者交流一下设计的思路,开发经验、心得体会以及风险规避的一些方法,希望能够为刚进入社会的设计师提供一些参考,也希望能够就此和广大有经验的工程师进行交流和切磋,如有不当之处,欢迎大家指正。
2. 硬件架构
什么是硬件架构?硬件架构包括那些内容?我们首先要回答这两个问题。
什么是硬件?硬件我们理解为:具备各种功能的芯片、具有一定功能的设备、各种类型的传感器以及电子元件的组合。在这些元器件中,各种具有运算能力和编程功能的微处理芯片是核心。概括的说,我们认为,一个产品的硬件架构可以理解为以下四个层次的内容:
(1) 组成产品硬件的微处理芯片的数量和功能;
(2) 各微处理芯片所负责控制和处理的设备、传感器等电子元器件的数量和种类;
(3) 各微处理芯片之间的通信方式和协作关系;
(4) 产品的系统供电方案。
由此可见,硬件架构包含了对微处理芯片数量和类型的定义;各微处理芯片所控制和处理的设备、传感器以及电子元器件等的数量、种类和方法;各微处理芯片之间的通信和协作关系;系统供电方案。
为了让内容更加通俗易懂,我们以一个案例来进行说明。如下图1所示是一款医用呼吸机的硬件架构图案例,分析这个产品的硬件架构,我们先了解一下设备的微处理芯片以及芯片各自的职责。
图 1 医用呼吸机硬件架构图
从上面我们可以看到,这个硬件架构包含两块微处理芯片,作为主控平台的M1808-1GF4GLI-T和作为驱动控制的M1052-16F128AWI-T,我们姑且分别称之为主控芯片和驱动芯片。在这个硬件架构中,主控芯片主要承担了人机交互和对外接口的角色,它控制的元器件包括显示屏、以太网、WIFI、蓝牙、照相机以及USB等,因此主控芯片的选型要考虑芯片具备的功能和接口,案例中的这个主控芯片从厂家的选型资料中可以看到,这是一款面向AI人工智能平台及产品开发者,定位于深度学习平台和独立的人工智能(AI)加速器,是一款具备人工智能编程及深度学习能力的AIoT平台。尽管它的功能和接口完全可以满足呼吸机的功能要求,而且还具备强大的运算能力和图像识别功能等,但从经济学的角度上看,这款芯片的功能在呼吸机产品上的应用是有所冗余了,除非设计者在产品的整体功能以及未来功能的扩展上有其他考虑,那么这个芯片的选型合理性则另当别论。
驱动芯片M1052-16F128AWI-T主要承担了电机控制、传感器控制等功能,从厂家的选型资料可以看到,这是一款主频最高可达528MHz,集成了SDRAM、NAND Flash、SPI Flash、硬件看门狗,除了保留传统的UART、I2C、SPI、CAN、Ethernet、USB和SDIO等通讯接口的之外,还额外集成了WiFi、Zigbee、LoRa、NFC等无线通讯模块,实现了处理器性能、控制与通讯、有线与无线的嵌入式硬件跨界。这款芯片功能很强大,在某些产品中甚至可以作为主控芯片使用,但在这个案例的硬件架构中,该芯片有部分功能与主控芯片重复了,从技术角度来看,这款芯片完全可以满足设计需求,但从经济学角度讲,我个人觉得就不那么划算了。
接下来我们了解一下芯片之间的关系,由于这个设计中只涉及两片微处理芯片,因此他们之间的协作关系很简单,主控芯片和驱动芯片之间一般通过串口进行通信并通过协议实现上下位机之间的指令收发,这是一种比较典型方式。上位机(主控芯片)负责应用软件的运行和外界交互,下位机(驱动芯片)负责较为底层的驱动和控制,一般采用嵌入式的开发平台。
最后,我们看一下系统的电源供电方案,设备可以采用220V交流转直流供电或者电池直接供电,一般交流转直流的电压或者电池电压较高,因此通过降压芯片MP9943来获得主控芯片所需要的驱动电压。另外,由于电调模块需要较高的输入电流,因此通过AC-DC/电池给它直接供电使用。
从上面的案例,我们回顾一下前面对硬件架构的定义,并且把这个案例的硬件架构再提炼概括一下,那么该款医用呼吸机的硬件架构如下:
(1) 硬件架构包含微处理芯片2片,作为主控平台的M1808-1GF4GLI-T和作为驱动控制的M1052-16F128AWI-T,M1808-1GF4GLI-T承担了人机交互和对外接口等上位机功能的角色,M1052-16F128AWI-T承担了电机控制、传感器控制等下位机功能的角色;
(2) 微处理芯片的所控制的电子元器件的情况为:M1808-1GF4GLI-T控制显示触摸屏、WIFI模块、蓝牙模块、摄像头模块等;M1052-16F128AWI-T控制血氧探头、流量传感器以及压力传感器等;
(3) 微处理芯片的通信关系为:M1808-1GF4GLI-T与M1052-16F128AWI-T之间通过串口协议进行通信,M1808-1GF4GLI-T接收来自于显示触摸屏的用户操作指令、WIFI信号、蓝牙信号以及摄像头信号等,并向M1052-16F128AWI-T下发相应的指令,由M1052-16F128AWI-T控制气泵、电磁阀等元器件进行工作,同时M1052-16F128AWI-T也接收其控制的血样探头、流量传感器以及压力传感器的信号,并通过串口将采集到的参数发送给M1808-1GF4GLI-T进行处理,并在显示屏上显示参数结果;
(4) 系统供电方案:采用AC-DC或者电池供电方式,并通过MP9943整流降压开关变换器将12V/24V电压转化为3.3V,供给M1808-1GF4GLI-T使用,作为M1808-1GF4GLI-T的工作电压。
3. 核心板选型
刚才我们已经对硬件的架构做了一个初步的说明,那么在实际设计过程中,硬件架构中的芯片选型具体应该如何落实?设计上的有那些因素需要考虑和那些风险点需要规避?设计过程有那些经验和思路可以参考?下面我们就过往的设计案例做一些初步的论述和探讨。
医疗设备的设计过程本质上是一个技术满足、法规符合、风险管控以及经济考虑的过程,因此我们认为,可以通过图2的逻辑思路对设计进行分析和分解。
如图2所示,核心板选型的我们建议从两个维度进行评估:技术层面和行政层面。
3.1 技术层面
技术层面涉及的因素比较多,根据不同设计者的经验和习惯以及产品的种类,都不完全相同,很难把全部因素都列举,这里我们只对一些比较关键以及经验性的因素进行总结:
技术性考虑因素包括但不限于以下因素:
1. 性能参数(频率、内存、硬盘、功耗等);
2. 操作系统(linux/AWorksOS/Android等)以及关键开发软件(特别需要注意平台软件能够支持的版本:例如QT开发版本);
3. 接口类型及数量(显示触摸屏接口、串口、网口、USB、数据采集接口、总线接口、IO口等);
4. 其他特别功能(例如摄像头、PWM、无线、音频、图像处理等);
5. 供电电压;
6. EMC和安规;
7. 封装;
8. 散热;
9. 板卡表观设计能力。
在性能参数里面,芯片的频率、内存、硬盘的选型参数需求是比较常见的,基本大家都能够理解这些参数和设计的关系,但有些参数可能因为没有考虑周全或者经验的问题,容易被忽略,在这里重点讲述一下:
1. 功耗:
有时候设计者可能会忽略功耗的问题,所选择的芯片功耗比较大,导致产品的性能存在硬伤。那什么情况下需要考虑芯片功耗的问题?例如在设计使用电池供电的手持式设备的时候,设备的续航能力是一个关键的参数,影响用户体验,那么芯片的功耗就成为设计需要考虑的关键因素,我们需要充分考虑芯片,尤其是核心板、外设、电机等等的功耗,而且一定要在设计前计算一下电池容量和功耗的关系,为了达到所需要的续航时间,需要选择多大容量的电池,而且为了防止出现续航能力不足的风险,在早期选型的时候最好是在满足功能、性能的前提下尽量选择功耗较低的核心板和元器件,让设计保留足够的冗余。
2. 开发软件:
很多开发人员在选择核心板的时候,可能会忽略厂家提前移植的软件类型以及版本,但是这里需要和读者分享的经验和提醒的一个事情是,软件工程师在开发应用软件的时候,往往会使用版本较高的软件,比如QT,工程师可能会使用5.12以上的版本,但是有些核心板的厂家的产品因为产品的历史原因或者主要客户对象的需求,有可能只移植了较低版本的QT软件,而当工程师花费大量时间在PC上开发好软件后,要移植到核心板上时才发现,由于核心板所支持的软件版本过低,导致已经开发的功能在核心板上无法运行,如果要解决这个问题,一般要通过修改已经开发的应用软件或者移植新版本的QT到核心板,两种情况都带来延误进度的风险。由于在Linux系统下移植软件不像在Windows下那么简单,因此提前确认厂家预先移植好的软件类型以及能够支持的软件版本对于产品的后续开发就十分重要了。
3. 表观设计能力:
关于核心板的表观设计能力,我们理解为板卡的PCB外观、走线、布局和EMC措施等。核心板的厂家市面上非常多,到底怎么选择?在没有真正用过之前,单从厂家的介绍资料,是很难判断的。这个时候,我们也可以考虑通过分析核心板的一些表面特征来进行判断厂家对于自己产品的投入度和用心情况。核心板本质也是PCB板卡,好的PCB板设计都有一些通性。比如从表面元器件的排布是否整齐有序、比如PCB的走线看起来是否比较条理舒服、元器件的布局是否以模块的形式分布合理、是否有加屏蔽罩以提高EMC性能的措施等等,我们可以从这些表面的迹象来判断核心板的质量。以下是一款I.MX 6ULL的核心板,从表观设计上看,是比较好的。
3.2 行政层面
除了技术层面的考虑,选型核心板也需要考虑行政层面的问题。事实上,由于经验或者习惯问题,不少开发者没有对行政层面的选型方法和关键要素形成系统的概念和思路。行政层面涉及的因素比较多,根据不同设计者的经验和习惯以及产品的种类,都不完全相同,很难把全部因素都列举,这里我们只对一些比较关键以及经验性的因素进行总结:
行政层面考虑因素包括但不限于以下因素:
1. 厂商供应能力(周期、供货稳定性);
2. 厂商支持度(技术支持能力和配合度);
3. 厂商行业口碑;
4. 厂商品牌和主打领域;
5. 厂商设计案例和经验(是否应用过类似产品);
6. 成本(性价比)。
在这些因素里面,成本、厂商供应能力、品牌和主打领域的考虑是比较常见的,基本大家都能够理解这些因素对于开发和量产的影响,但有些因素可能因为没有考虑周全或者经验的问题,容易被忽略,在这里重点讲述一下:
1. 厂商支持度:
不少设计者可能会认为,厂商支持度和企业规模直接关系,直接选择大品牌和大规模的厂家就可以了,就可以很稳妥的保证得到良好的服务和支持。遗憾的是,实际情况可能是厂家的支持力度其实是和开发者所在公司的规模/品牌直接相关,就是俗语说的“优质的客户才能享受优质的服务”。而对于一些中小规模、初创型企业,或者一些产品开发周期很长,短期内还实现不了量产的厂家而言,选择一个能够从长远考虑合作,懂得培养客户的厂家就非常重要了,这可能会关乎到项目的成败。至于如何选择一个合适的厂家,方法也有很多,比如可以在选型初期通过对厂家提出一些核心板开发的要求来观察厂家反馈和配合的积极程度;或者通过与厂家咨询产品所能提供资料的详细程度;通过对核心板的相关外设(比如显示屏、WIFI等)的前期驱动调试时厂家在软件上的支持程度;通过对核心板软件版本的提供程度或者升级的支持力度。通过以上这些方法,可以从一定程度上判断厂商的支持力度。
2. 厂商设计案例和经验:
厂商的设计案例和经验对于提高一个项目的成功率是非常重要的。因为类似的项目往往在设计需求、设计难点上也非常接近,使用成熟的核心板方案以及厂家的研发资源可以规避很多风险,提高产品研发的效率和成功率。一个成熟的设计者应该懂得利用所有优势资源和参考成功的经验,以确保产品开发的成功率。因为对于市场而言,一个产品是否成功只关乎结果,过程并不重要。
4. 总结
最后,我们对前面所描述的内容进行总结,以便于读者进行理解也希望读者能够为我们的内容提出更多的建议:
1. 硬件架构:
2. 核心板选型:
3. 研发思路:
来源:小桔灯网