最近正在研制一种通过测量人体导纳,估算体内血液变化率,进而评估心血管系统泵血功能的医疗仪器.为测量人体导纳,我们设计了一套巧妙的激励信号幅度反馈电路,该电路由于涉及商业机密就不在这里讨论了.这里主要分享一下我自己设计的,用于对导纳测量电路进行调试和幅度定标的重要工具——导纳信号发生器的设计. 以下原创内容欢迎网友转载,但请注明出处:http://blog.163.com/helesheng 一.自制导纳信号发生器的原因 在研制人体导纳测试仪器的过程中,我发现很难对仪器进行调试和定标:由于无法买到…
工业测试与控制系统中,经常需要对未知信号的频率进行测试.对于10MHz以下的信号,用单片机(MCU)定时器完成这项任务显然是最常见和最佳的选择.目前性价比最高的单片机STM32拥有功能强大且数量众多的定时器,能够轻松的胜任各种频率信号的测试工作.但也正是由于STM32的定时器功能过于强大和完善,常见的技术书籍往往将篇幅专注于STM32定时器的定时.PWM和触发DMA传输等常见功能,而对于测频率所需的计数和捕捉等功能往往一笔带过,更不会专门针对具体应用给出定时器的配置方法.本文分别介绍用STM32…
树莓派是最近流行嵌入式平台,其自由的开源特性以及低廉的价格,吸引了来 自全球的大量极客和计算机大咖的关注.来自各大树莓派社区的幕后英雄,无私地在这个开源硬件平台上做了大量的工作,将其打造成了世界上通用性最好,也最自由的计算机学习平台之一.我本人感兴趣的学习主题是Linux操作系统和Python编程,在流连于各大树莓派社区向各位大神学习的过程中感觉获益良多.结合自己擅长的实时信号处理工作,也做了一些小小的尝试.不能说做了什么独创性工作,但愿意分享给各位后来者.以下原创内容欢迎网友转载,但请注明出处…
我之前用过的CPLD有Altera公司的MAX和MAX-II系列,主要有两个优点:1.程序存储在片上Flash,上电即行,保密性高.2.CPLD器件规模小,成本和功耗低,时序不收敛情况也不容易出现.缺点也很明显:1.没有片上RAM,无法对数据进行高速暂存和处理:2.没有PLL,使用一个以上的高频时钟非常不方便:3.没有小封装产品,MAX-II最小的EPM240也是LQFP100封装.近年来,随着Altera被Intel收购,对MAX-II的支持力度不断降低,当前EPM240的价格也达到了百元左右…
RS485是最常见的一种远距离可靠传输和组网的UART串口信号接口协议.与同样传输UART串口信号的RS422协议相比,RS485使用半双工通信,即只有一个信道,在同一时刻要么从A到B,要么从B到A传输信号:而不能同时双向传输信号.因此理论上说,每个RS485接口芯片就都需要一个"收发切换"信号,以控制该接口芯片当前是发送还是接受信号.在单片机系统中就往往需要一个额外的GPIO来控制收发状态的切换.这本来是显而易见的道理,我已经见惯不怪了,但有一天突然看到市面上有供PC或工控机使用的U…
SPI是我最常用的接口之一,连接管脚仅为4根:在常见的芯片间通信方式中,速度远优于UART.I2C等其他接口.STM32的SPI口的同步时钟最快可到PCLK的二分之一,单个字节或字的通信时间都在us以下,因此大多数情况下我们会使用查询法控制SPI口的传输.但对于大量且连续的通信,再使用查询法就显得有些浪费CPU的时间,DMA控制SPI的读写显然成为一种不错的选择. 为DMA控制SPI批量数据读写的功能,参照官方代码编写的DMA控制SPI口在主/从两种模式下,读写数据的的代码,供各位网友直接使用或…
本人编著的<基于STM32的嵌入式系统原理及应用>(ISBN:9787030697974)刚刚在科学出版社出版.这本书花费了半年以上的时间,凝聚了笔者作为高校教师和嵌入式工程师的一些经验,希望对大学生.嵌入式初学者和有一定经验的工程师都有参考和借鉴作用.在写作中尤其注意了不做芯片手册的"搬运工"和"翻译者",试图从开发者和工程师的角度理清知识点之间的逻辑关系,给读者一条清晰的学习路径.写作中尽量做到用生活中的实例来阐述抽象的概念:用工程实例来帮助大家提高…
LabVIEW是NI公司的数据采集设备的标准平台,在其上调用NI-DAQmx驱动和接口函数能够高效的开发数据采集和控制程序.但作为一种图形化的开发语言,使用LabVIEW开发涉及算法和流程控制的大型应用程序还是显得力不从心.因此在C#和VB等.net开发工具中实现NI-DAQmx驱动的灵活调用,对于数据采集设备的广泛应用意义重大,常见的方法有: 1.使用NI公司为Visual Studio提供的集成式开发套件Measurement Studio,它带有的ActiveX和.NET控件,以及面向对象…
STM32F401xx是意法半导体新推出的Cortex-M4内核的MCU,相较于已经非常流行的STM32F407xx和STM32F427xx等相同内核的MCU而言,其特点是功耗仅为128uA/MHz,且存在64pin封装的小封装器件.我设计一款新产品使用了STM32F401xx,想把自己熟悉的uC/OS-II实时操作系统移植到这款MCU上.懒得从底层开始从头移植,偷懒从原子的"探索者"开发板移植的uC/OS-II开始修改.完成后在板子上一跑,发现系统时钟总存在约5%的偏差.仔细搜索代码…
用树莓派和DS18B20做个汽车温度记录仪[原创] 很想知道夏日阳光暴晒下,汽车内的最高温度以及温度的变化情况.觉得用树莓派和DS18B20来实现应该很简单,于是就尝试捣鼓了一下,半天时间就搞定了,写下来和大家分享.以下原创内容欢迎网友转载,但请注明出处:https://www.cnblogs.com/helesheng 一.树莓派读取DS18B20的温度值 Raspbian系统已经能够支持DS18B20单总线(1-wire)温度传感器,只要简单配置就可以直接读取,无需自己编写底层驱动. 配置过…