历史上的今天
返回首页

历史上的今天

今天是:2025年06月01日(星期日)

2021年06月01日 | ARM和蓝牙无线信号采集系统的设计方案

2021-06-01 来源:eefocus

1 引 言


无线测试技术在工业领域有广泛的应用前景。在连线复杂并需要反复拆装被测设备和测试设备之间连线的场合,使用无线可以降低工作的复杂程度,节约大量的时间,提高测试环节的工作效率,尤其在有时间限制时其优越性更加明显。此外在不适宜连线的场合,如港口、码头、江河湖坝、野外勘测、石油勘探中油井深处环境参数的测量,使用无线测量具有有线测量无法比拟的优越性。


对于近距离的无线传输,蓝牙由于采用快速跳频技术,确保了链路的稳定,同时使干扰可能造成的影响变得很小,适合用于存在大量噪声干扰的工业测试环境中,由于无线传输的是数字量,因此在通常情况下没有传输误差,不会影响到系统的准确度,并且可以单芯片实现,体积功耗都能达到很小的水平。


2 芯片选择


2.1 蓝牙模块的选择

采集模块使用的蓝牙芯片是已经商品化的蓝牙模块,其核心是主流的CSR的BlueCore02-External蓝牙芯片,他与外围器件一起构成蓝牙模块,如图1所示。电压调整电路提供蓝牙模块所需的3.3 V和1.8 V电压,闪存用于存储蓝牙固件和配置参数。蓝牙主机可通过各种接口(SPI,UART,USB等)实现与蓝牙模块的通信。


蓝牙模块的结构组成


2.2 微处理器的选择


微处理器主要负责对采样的控制,对信号调理芯片的进行编程与控制,与蓝牙模块的通信。由于采用了寄居式的蓝牙模型,所以微处理器通过HCI(Host ControlRF Inteace)接口与蓝牙模块通信,包括将采集的数据按照蓝牙协议规定的数据格式打包发送给蓝牙模块,解读从上位机发送过来的控制命令,控制系统的采集动作以及蓝牙模块的工作方式。


基于ARM核心的微处理器具有运算速度快,体积小,功耗低,外围接口资源丰富等优点,使用基于ARM7TDMI-S核心的Philips LPC2146微控制器。


3 硬件设计


系统硬件分为采集模块与接收模块两部分:


(1)采集模块:为8通道数据采集系统,8路传感器信号经过放大与调理后,均变为0~3 V的标准模拟电压信号,分别连接到LPC2146的AD1.0~AD1.7管脚。LPC2146片内的ADC是一个分辨率为10位,转换速率为400 ks/s的逐次逼近型ADC,支持8路复用的输入信号。LPC2146对8路信号进行轮流采样,数字化。由于LPC2146内部的ADC不提供转换时的电压基准,故使用了LT1461A3这一+3 V的精密电压基准。


(2)接收模块:接收模块同样以CSR BC02蓝牙模块为核心,与采集模块进行蓝牙ACL(AccessControl List)数据通信。BC02芯片通过MAX3232电平转换芯片与PC机串口进行数据收发。


3.1 信号采集模块


CSR BlueCore02蓝牙模块具有HCIUART与HCI USB传输层。本课题采用了编程较为简单HCI UART接口与微控制器LPC2146连接。


蓝牙模块与ARM的硬件连接如图2所示。由于蓝牙模块和ARM都采用+3.3 V电源供电,故其接口间不存在电平差异,不需要电平转换。蓝牙模块UART接口的发送端UART TX接LPC2146的UART0接收端RXD0,而蓝牙模块的UART接口的接收端UART RX接LPC2146的UART0发送端TXD0。


蓝牙模块与ARM的硬件连接


蓝牙模块的复位电路有上电复位,手动复位和LPC2146控制复位三种复位功能。在RST脚上的高电平持续时间大于5 ms时,蓝牙模块将被复位。


图2中C1和R3组成上电复位电路;S1为长开按钮,当S1按下时,实现手动复位;LPC2146的P0.16脚(BTRST)也可以通过D1二极管复位蓝牙模块。


3.2 蓝牙接收模块


接收模块与监控PC机连接,用来接收从采集模块发送过来的蓝牙ACL数据包,并将之传送到PC。蓝牙模块与PC机的通信是基于HCI RS 232接口,使用了一片电平转换芯片MAX3232将TTL电平转换成RS 232电平,实现了利用PC机串口与蓝牙模块通信,进行数据收发的功能,如图3所示。


蓝牙模块与PC的接口示意图


PC机与蓝牙模块的接口使用了硬件流控,如图4所示。


PC机与蓝牙模块的接口使用了硬件流控


值得注意的是,PC机主板内置的RS 232接口能达到的波特率最大仅为115.2 kb/s,远远低于蓝牙模块ACL,连接的最大通信速率721 kb/s。为了避免RS 232接口成为数据采集系统的数据传输瓶颈,使用了一块PCI-RS232的接口卡,其波特率可以达到1 Mb/s。


另外,RS 232接口的波特率也受其传输距离的制约。经过实验反复验证,最终接收端蓝牙HCI UART传输层能在460.8 kb/s的波特率下正常的收发数据。


3.3 硬件抗干扰措施


在此系统中,诸如ARM,信号调理芯片,蓝牙模块都是易受干扰的元器件,因此抗干扰技术是系统设计中需要重点考虑的问题。在硬件的设计时,主要采取了如下措施来加强整个测试系统的抗干扰能力:


(1)对电路板采用了电池供电。采用4.2 V的锂电池供电,可以提供相对稳定的电压和纯净的电流。相对于其他采用金属滑环或者旋转变压器供电的方案,电池供电消除了这两种方式带来的交流噪声及电源波动。


(2)对ARM处理器加入了电源监控芯片MAX823及看门狗电路。当电源的波动超过安全阈值时(3.6~2.9V),MAX823将产生一个Reset信号,对微处理器进行复位。


4 结语


本课题基于蓝牙技术的无线测试系统正是近距离无线通信技术在测试领域的应用。该无线测试系统采样通道数多,体积小,功耗低,具有多种节能模式,安装简便,兼具有信号调理和信号遥传的功能,不但可以应用于旋转机械(如航空发动机叶片,汽车转动轴)的参数采集,也可以应用在其他高速或低速的旋转机械的工作状态监测和故障诊断系统中,具有广阔的应用范围和良好的应用前景。


推荐阅读

史海拾趣

First Sensor公司的发展小趣事

First Sensor公司电子行业的五个发展故事

故事一:初创与崛起

First Sensor的故事始于上世纪90年代初,当时它作为Silicon Sensor GmbH成立,标志着东德转型后科技领域的一次勇敢尝试。公司由Bernd Kriegel博士与21位前VEB电视电子元件厂员工共同创立,初期面临资金、机器和客户短缺的困境。然而,凭借着对传感器技术的坚定信念和专业知识,公司迅速在光子学、压力和先进电子领域开发出标准传感器和客户特定传感器解决方案。到1999年,公司成功上市,通过募集的资本进一步加速了其从初创企业向中型企业的过渡。

故事二:技术创新与市场拓展

进入21世纪后,First Sensor持续加大在技术创新和市场拓展上的投入。公司不仅专注于传感器技术的研发,还致力于提供从芯片到系统的完整解决方案。这一策略使得First Sensor在工业自动化、医疗设备和交通运输等多个领域取得了显著成就。特别是在医疗领域,公司开发的传感器广泛应用于呼吸机、血压计等关键设备中,并通过了EN ISO 13485认证,确保了产品的可靠性和安全性。

故事三:全球化战略与并购成长

随着业务的不断扩展,First Sensor开始实施全球化战略。公司在全球范围内设立了多个分支机构,生产和销售网络覆盖了全球多个市场。此外,公司还通过一系列并购活动进一步壮大了自身实力。例如,在2011年,First Sensor股份公司收购了Sensortechnics集团及其在德国境内外的子公司,这一举措不仅扩大了销售部门,还使公司能够为客户提供更加全面的个性化解决方案。

故事四:与TE Connectivity的合并

2019年,First Sensor迎来了一个重要转折点,即被TE Connectivity(泰科电子)收购。这一交易不仅巩固了TE在传感器领域的全球领导地位,还为First Sensor提供了更广阔的市场和技术资源。合并后,First Sensor的产品和客户群与TE的传感器产品组合相结合,为客户提供了更全面的一体化传感器解决方案。两家公司的互补技术和工程专业知识的结合,进一步推动了工业、医疗和交通运输市场的战略部署。

故事五:持续研发与未来展望

作为一家高科技企业,First Sensor始终将研发视为未来发展的核心。公司不断投资研发项目,推动传感器技术的进步和应用领域的拓展。例如,在自动驾驶和物联网等新兴领域,First Sensor的传感器技术发挥着重要作用。未来,公司将继续聚焦于具有技术特色的工业、医疗和交通等目标市场,紧跟行业发展趋势,为客户提供更加卓越的产品和服务。同时,First Sensor也将持续扩展全球版图,更加贴近市场与客户,以确保把握更多的销售潜力。

Cristek Interconnects Inc公司的发展小趣事

随着市场竞争的加剧,Cristek Interconnects Inc公司意识到质量管理的重要性。于是,公司投入大量资源,建立了一套完善的质量管理体系,从原材料采购到生产流程控制,再到产品出厂检验,每一个环节都严格把关。这种严谨的质量管理态度,使得Cristek的产品在行业中享有良好的声誉,赢得了客户的信赖。

EDDING公司的发展小趣事

在2000年代初,ECLIPSE公司是一家专注于企业级软件开发的公司。公司内部的一个小型团队开发了一个名为“Eclipse”的集成开发环境(IDE),用于提高内部项目的开发效率。随着Eclipse的内部使用越来越广泛,公司高层意识到其巨大的潜力,决定将Eclipse开源,并成立专门的Eclipse部门来管理和推广这一项目。通过开放源代码和社区合作,Eclipse迅速吸引了全球开发者的关注,并逐渐成长为开源开发领域的领军者。

AdaptivEnergy公司的发展小趣事

在2000年代初,ECLIPSE公司是一家专注于企业级软件开发的公司。公司内部的一个小型团队开发了一个名为“Eclipse”的集成开发环境(IDE),用于提高内部项目的开发效率。随着Eclipse的内部使用越来越广泛,公司高层意识到其巨大的潜力,决定将Eclipse开源,并成立专门的Eclipse部门来管理和推广这一项目。通过开放源代码和社区合作,Eclipse迅速吸引了全球开发者的关注,并逐渐成长为开源开发领域的领军者。

BERNSTEIN公司的发展小趣事

在BERNSTEIN公司的发展过程中,家族传承和企业管理一直是一个重要的主题。Hans-Joachim Bernstein作为Hans Bernstein的长子,在塑造公司的成功故事中发挥了重要作用。在他的管理下,“SpezialFabrik für Schaltkontakte”公司发展成为当今在国际上活跃的技术集团。这家家族企业现已进入第三代,Nicole和Achim Bernstein作为新一代领导人,继续传承着家族的优良传统和企业文化,推动着公司的持续发展。

DDK公司的发展小趣事

DDK公司自创立之初,便以技术创新为核心竞争力。公司投入大量研发资源,不断探索新的电子技术和材料,力求在激烈的市场竞争中脱颖而出。在经历了数次技术突破后,DDK公司成功研发出了一款高性能、低能耗的芯片产品,这一产品迅速在市场上获得了广泛认可,为DDK公司赢得了良好的口碑和市场份额。

问答坊 | AI 解惑

当COM口被其他设备虚拟串口占用时,能否把COM口名称改变?

某设备占用了多个虚拟串口(如:COM4--COM9),与原有串口号发生冲突,这时原串口能否改成其他名称? 如COM4改为GPN4,COM5改为GPN5等等? 如果可以,想请问如何实现? …

查看全部问答>

关于LoadFromResource函数的问题

我是这样调用这个函数的: CString     pathname; if(aCFileDialog.DoModal()==IDOK)     {          pathname=aCFileDialog.GetPathName();           &n ...…

查看全部问答>

最近在做OMAP linux usb设备端的驱动,把它模拟成一个U盘。

现在把驱动omap_udc.ko 和g_file_storage.ko加载之后,在中断中一直收到复位信号,导致枚取不成功,我测了一下D+的电压为1.5V,我想知道和这个有关系吗?请做过的高手些指点哈,不胜感激!…

查看全部问答>

你们好,帮我看一下,我想了好多天了 不知道哪的问题 ,关于wince DirectShow开发的

这是BSP文件 帮我看一下  有没有DirectShow SDK我第一次用PB  不熟悉 我明白呀   EVC找不到库文件,如下: --------------------Configuration: ddx2 - Win32 (WCE emulator) Debug-------------------- Compi ...…

查看全部问答>

调试出现反汇编界面跳不出来

如题,我程序在debuge的时候点着点着就进入反汇编界面了,再怎么点单步运行也出不来了(我怀疑可能是程序跑飞了),这是为什么?怎么解决,请高手不吝赐教,先谢谢了! …

查看全部问答>

有朋友在WinCE下做过证书倒入和认证么?请教个问题。。。

有个项目,要在WinCE6.0上面写个VC的应用程序,倒入一个X.509的证书,DER格式的。然后用这个证书对一个文件进行签名,请问有人做过么? 我看了看MSDN,好像要用到CryptToAPI的函数,一大堆,看了以后还是很晕,希望有经验的朋友能够指点一下,如果 ...…

查看全部问答>

【征文】51单片机学习入门随想记

记得最开始接触51是在大一下学期,那时我们协会组织我们自己动手用万用版搭建一个51最小系统,我当然也果断参与了 。因为当时对51完全是一头雾水,所以就照着原理图焊了一个最小系统,上面有一个蜂鸣器,两个数码管,八个led。因为当时要准备英语四 ...…

查看全部问答>

【活动讨论】关于翻译部分中文用户手册

昨天在版上讨论中文用户手册对入门的帮助,引起了部分坛友的共鸣。斑斑wzjhuohua提供了一个中文用户手册的蓝本,链接:https://bbs.eeworld.com.cn/thread-313347-1-1.html我翻查看了下430的用户手册,一般的介绍顺序如下:1 Introduction2 System ...…

查看全部问答>

求个语句

这个程序只有长按KEY1时灯才闪烁 如何加上几条让他变成只要一按下后再抬开KEY1灯无限闪烁呢? #include #define uint unsigned int sbit led1=P1^0; sbit key1=P3^4;                 ...…

查看全部问答>

以太网接收数据

我用的lm3s6911开发板,想利用以太网接收数据然后通过i2c发送,求哪位大侠帮忙…

查看全部问答>