与一款医疗仪器的往事

news2024/9/22 13:34:05

这是一款比较冷门的医疗仪器,SOD型多普勒脐动脉血流检测仪。

大约是20年前,有个朋友找到了俺,让俺给他写一个医疗仪器的软件。当时这个仪器是这样子的。这是唯一还能找到的当时的图片。朋友要求用C++写。俺就选择了C++ Builder,比用VC6方便多了。这个仪器和计算机的通讯原来是走PCI插槽,这次改成了USB通讯,走CH375。

为啥不用串口呢,因为串口速度不够。板子和计算机的通讯是 每5毫秒采集一次,每次采集是128*2的一个二维的Word数组。就是512个字节。串口的波特率是无法承载这样的速度的。


 


这个设备的最贵的地方是这个白色的探头。用来放在肚皮上的。


上面介绍了这个仪器,下面开始聊聊那些往事了:
这个仪器的原型是在复旦大学设计的,那时有个口号叫做“产学研合作”(指企业、高校、科研机构相结合)。后来,南昌无线电三厂购买了这个设计。2000年左右,南昌无线电三厂经营出现了困难。这时一个副厂长和一个总工,就独立出来带领一批下岗工人,继续干这个产品。后来又找到了南昌大学的一位梁教授进行改进(PCI通讯改USB),同时找了俺负责软件部分(DOS改Windows)。那个副厂长姓叶,俺平时叫他叶叔,复旦大学毕业的,是个很【四海】的人。有一次吃饭,俺刚好遇到。他就给俺介绍,这是你三叔,这是你五叔。喝完酒,他告诉俺,他们9个人年轻的时候志趣相投,就拜了把子。那个总工姓黄,俺叫他黄工,这个仪器的板子就是他重新设计的,一次搞定。俺跟他学到的就是,喜欢喝萝卜丝鲫鱼汤,那段时间,晚上一起吃饭,他必点这个。梁教授是负责单片机上的程序,他那时还是用汇编,有时还会到他家去调试。每次去,他要么在刷锅,要么在刷碗。那段时间其实并不长,不到半个月,俺的事情完成了,就不再和他们一起了。


转眼过了十几年,我们这些人的手机号都没变。俺有一天接到了叶叔的电话,说是设备要升级,需要我配合。黄工早就去了上海发展,他办了一个厂,所以他只能微信联系。梁教授还在南昌大学。这次改版的原因是医疗器械的“电磁兼容测试”的标准升高了。特别是抗干扰的能力。要求比较高。这个仪器的核心是多普勒超声处理,所以受到的干扰特别大。最初测试时,在板子旁边进行2000伏特的放电,数据就明显受到干扰,波形直接乱了。这次的改动比较大,换了芯片(换成了STC的了),重新设计了板子。片子上的程序用C51重新写了。这次俺只是帮忙调试和联系,因为软件部分基本不需要改。倒是接着这个机会对硬件开发有了新的理解。

又过了2年,医疗器械生产许可证需要审核,叫俺去充人数。那天下雨,看到不少人都是穿雨鞋。年审的人问,为啥这么多人穿雨鞋,叶叔就说:“这是我们下岗工人的工作习惯”。

前两年,叶叔开始领退休金了。去喝了一次酒。叶叔还在继续做他的公司。主要是做招标和代理。因为有医疗器械的生产资质,可以加分,所以也还继续做这个设备。一年能出货几台,每台不到5万的定价,去掉商务和成本也赚不了多少。有时候搞科研,好像真的不如卖茶叶蛋。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/735907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue源码阅读之什么是虚拟dom

前面简单说过数据响应式原理,大体是个怎么流程,数据发生变化,我们界面如何更新。 依赖收集收集的是watcher,然后当数据发生变化的时候dep通知watcher,然后watcher负责updateComponent。 那么更新组件过程中&#xff…

PostgreSQL查询引擎——上拉子链接SubLink

子查询是查询语句中经常出现的一种类型,是比较耗时的操作。优化子查询对查询效率的提升有直接的影响。从子查询出现在SQL语句的位置看,它可以出现在目标列、FROM子句、WHERE子句、JOIN/ON子句、GROUPBY子句、HAVING子句、ORDERBY子句等位置。子查询出现在…

c语言指针进阶(一)

大家好,我是c语言boom成家宝。今天为大家分享的是c语言中很重要的一个知识点------指针的深入讲解。 目录 指针 指针数组 数组指针 函数指针 什么是指针? 首先,指针的本质是一个地址,指针在32位机器上的大小是4个字节&a…

python_day3_str

字符串str 按索引下标查找 str Hi, world, follow, admin print(str[0]) print(str[-1])index() str Hi, world, follow, admin print(str.index(world)) #首字母下标 print(str.index(w))字符串.replace(字符串1,字符串2):…

【Linux】高级IO(二)

文章目录 高级IO(二)I/O多路转接之pollpoll服务器 I/O多路转接之epollepoll相关函数epoll工作原理epoll回调机制epoll服务器epoll的优点 高级IO(二) I/O多路转接之poll poll也是系统提供的一个多路转接接口 poll系统调用也可以…

ruoyi若依 组织架构设计--[ 部门管理 ]

ruoyi若依 组织架构设计--[ 部门管理 ] 部门管理部门查询部门新增部门修改部门删除 部门管理 部门查询 需要注意的是,部门管理也有数据权限,比如A用户分配的数据权限(通过角色分配)是深圳总公司,那么A用户登录后看到的部门也是深圳总公司&am…

2023年前端面试题汇总-数据结构(二叉树)

对于树这个结构,最常见的就是二叉树。我们除了需要了解二叉树的基本操作之外,还需要了解一些特殊的二叉树,比如二叉搜索树、平衡二叉树等,另外还要熟悉二叉树的遍历方式,比如前序遍历、中序遍历、后序遍历、层序遍历。另外还要知道二叉树的常用遍历的方式:深度优先遍历和…

非线性优化知识

这里列下最小二乘的四种解法的优缺点. #mermaid-svg-CLbQz6o8j7JMq9MM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-CLbQz6o8j7JMq9MM .error-icon{fill:#552222;}#mermaid-svg-CLbQz6o8j7JMq9MM .err…

前端开发中的单例模式

在前端开发中,单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点来获取该实例。 在JavaScript中,可以使用以下几种方式来实现单例模式: 字面量方式: const singleton {// …

JVM 调优测试Jmeter 压测

Jmeter 内存不足了,修个5个线程吧 测试结果: Jmeter配置参数 5个线程,每个线程1秒跑1000次 测试串行吞吐量 -XX:PrintGCDetails -Xmx128M -Xms128M -XX:HeapDumpOnOutOfMemoryError -XX:UseSerialGC -XX:PermSize32M GC回收4次 吞吐量138…

SQL Server 2008每天自动备份数据库

在SQL Server 2008数据库中。为了防止数据的丢失我们就需要按时的来备份数据库了。要是每天都要备份的话,人工备份会很麻烦的,自动备份的话就不需要那么麻烦了,只要设置好了,数据库就会自动在你设置的时间段里备份。那么自动备份要…

ihrm项目结构详解

大体介绍 云服务的三种模式 Iaas:基础设施即服务 Pass:平台即服务 Saas:软件即服务 系统设计 主键id生成策略 lombok data setter getter noArgs(无参构造) 模块搭建 1 企业得增删改查 2 全局异常处理器 3 跨域…

选择排序算法介绍

算法介绍 选择排序(Selection Sort)是一种简单直观的排序算法。它的基本思想是每次从待排序的元素中选取最小(或最大)的元素,放到已排序部分的末尾,直到全部元素排序完毕。 以下是选择排序的详细步骤&…

【实战】 六、用户体验优化 - 加载中和错误状态处理(下) —— React17+React Hook+TS4 最佳实践,仿 Jira 企业级项目(十)

文章目录 一、项目起航:项目初始化与配置二、React 与 Hook 应用:实现项目列表三、TS 应用:JS神助攻 - 强类型四、JWT、用户认证与异步请求五、CSS 其实很简单 - 用 CSS-in-JS 添加样式六、用户体验优化 - 加载中和错误状态处理1~234.用useAs…

java实现一个简单的webSocket聊天demo

java实现一个简单的webSocket聊天demo 一、依赖二、配置准备三、demo代码编写四、启动测试五、编写业务 一、依赖 添加pom文件依赖 <!-- websocket--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter…

IDEA环境配置汇总

1、配置项目编码 2、配置运行看板Services IDEA开启并配置Services窗口 这里已经配置好了&#xff0c;如果没有&#xff0c;就点击&#xff0c;点击Run Configuration Type&#xff0c;选择所需要的&#xff0c;点击即可。 配置spring与docker看板(按照上面的方法来配置&am…

【Python】查询SQL并用柱状图展示

需求&#xff1a; 查询2022年各月订单量&#xff0c;并用柱状图展示 SQL&#xff1a; select date_format(create_time,%Y-%m) as mon ,count(distinct order_id) as ord_cnt from prod.order_info where date_format(create_time,%Y-%m) between 2022-01 and 2022-12 group…

Mac OS装Windows系统开启虚拟化

目录 引言前提macOS开启虚拟化mac下的Windows开启虚拟化双系统开启虚拟化修改启动管理程序开启虚拟化 注意事项 引言 在开发工作中&#xff0c;很多软件需要用到virtual box&#xff0c;但是使用virtual box需要开启虚拟化&#xff0c;而有些苹果笔记本虚拟化是关闭的&#xf…

【GitHub】一条命令快速部署 Kubernetes(k8s) 集群的工具-sealos

Sealos 是一个GitHub上优秀的开源项目&#xff0c;目前项目点赞数已达&#xff1a;10.2k&#xff0c;核心特性&#xff1a; 管理集群生命周期下载和使用完全兼容 OCI 标准的分布式应用定制化分布式应用Sealos Cloud 项目开源协议&#xff1a;Apache-2.0 项目主开发语言&…

NSS [SWPUCTF 2022 新生赛]funny_web

NSS [SWPUCTF 2022 新生赛]funny_web 账号NSS 密码2122693401 私货不去细细研究了&#xff0c;直接看题。 num不等于12345&#xff0c;但是intval&#xff08;num&#xff09;等于12345 ①intval():可以获取变量的整数值intval()中有一个特性&#xff0c;其中若传入1e4&…