请教osc请赐教是什么意思,都可以应用在什么地方

在dBm=mW之间找不到规律,请教有识之人:怎么样对光纤链路中的数据进行口算转换
在dBm=mW之间找不到规律,请教有识之人:怎么样对光纤链路中的数据进行口算转换
08-08-22 &匿名提问
无线传输模块现场数据的方案选择和应用tag:gprs dtu,无线传输模块,无线抄表终端一、前言  技术日益向高速化、智能化、信息化、网络化发展,各种各样的制造业和通信业设备除了可以与计算机联机外,还可以互相联机,而实现设备间相互联机的最具发展潜力的方式就是无线通信。与有线通信方式相比,无线通信具有一系列优点,特别适用于手持现场设备、电池供电设备、遥控遥测设备、水文气象监控设备、生物信号采集系统、工业数据采集系统、机器人控制系统、银行智能回单系统、小型无线网络、小型无线传输模块、无线抄表终端、门禁系统、无线标签身份识别、非接触rf智能卡以及无线232数据通信、无线485/422数据通信、无线数字语音和数字图像传输等。在工业、科学研究以及医疗设备中,目前出现了大量需要进行通信的设备,这些设备通信距离较近、数据量较小、不适合布线。比如自动抄表终端、酒店点菜系统以及现场数据采集系统等,其中有很多设备是可移动的,而且要求荷重小便于携带。实现上述不同的功能要求,有不同的方案选择,从而使通讯设备具有体积小、功耗低、成本低、使用方便等特点。双向无线发射、接收机应满足便携式电池供电设备的一些基本要求,才能适用于无线rf应用。这些基本要求为:方案成本低、体积小、低功耗、符合电池供电要求、集成度高、无需微调外部元件、外围元件极少、加工更容易、数据传输率高、传输时间更短、接口简单、可以与廉价的单片机接口。二、数字无线传输模块的原理框图及工作原理  数字无线传输模块的基本特征是把数字信号作为载体传送信息,它传输的信号是“离散”或“数字”的。数字无线传输模块系统是一种传输数字信号的系统。或者说,它是利用数字信号来传输信息的通信系统  一个无线双向无线传输模块系统不仅仅具有发射功能的,而是收发共一体的装置,比如我们要实现无线测量温度的方式就必须把发射装置设置为被动者,接收装置设置为主动者,这样才能实现当我们需要测量温度时整个装置才可以工作而不是让电路一直测量温度不停,所以在发射电路中含有接收电路。    以温度传感为例,工作原理如下:gprs dtu可将温度传感器采集到的温度数据传送给计算机,同时将计算机发出的控制信号传送给单片机,从而实现单片机与计算机之间的无线数据传输。三、几种无线传输模块设计方案的比较与选择(一)方案一:gprs dtu无线收发芯片    gprs dtu是公司推出的单片可编程rf收发芯片,它基于chipcon’s smart rf技术,可工作在ism频段(300mhz~1000 mhz)。gprs dtu集成了射频发射、射频接收、pll合成、fsk调制解调、可编程控制等多种功能。gprs dtu采用锁相环技术,发射频率是通过内部的频率合成器来配置的,可配置的范围为300mhz~1000 mhz,适合应用跳频协议,一般可配出10个或20个频点,该芯片灵敏度为-109 dbm,并可自动校准,可编程输出功率为-20 dbm~+10 dbm,通信速率可达78.6 kbps。gprs dtu的主要工作参数可由一个串行接口编程设定,使用非常方便并且具有灵活性。gprs dtu芯片的外围元件较少,且对精度要求不高,并提供三种编码方式与微控制卡接口。所以gprs dtu与一个微控制卡和少数几个外接元件便可组成一个完整的rf收发系统。但是它有个缺点,就是不能直接接单片机串口使用,数据需要进行曼彻斯特编码,效率较低。(二)方案二:cdma dtu无线收发芯片
   无线传输模块dtu是公司为433/868/915 mhz ism频段设计的单片uhf多段无线收发芯片,它采用优化的gfsk调制解调技术,抗干扰能力强,采用dds+pll频率合成技术,频率稳定性好,灵敏度高达-l04 dbm,发射功率可以调整,最大发射功率是+l0 dbrn,可在155.6 khz的有效带宽下传输最高76.8 bps的数据。cdma dtu的工作电压范围可以从2.7v~3.3v,接收待机状电流消耗为600 laa,低功耗模式电流消耗仅为1 ua,可满足低功耗设备的要求。cdma dtu具有多个频道(最多170个以上),特别满足需要多信道工作的特殊场合,适合采用跳频协议。    无线传输模块的天线接口设计为差分天线,以便于使用低成本的pcb天线,所有的参数包括工作频率和发射功率都可以通过一个14位的配置寄存器用串行线(cs、cfg—clk和cfg—data)进行设置。无线传输模块内部结构可分为发射电路、接收电路、模式和低功耗控制逻辑电路及串行接口几个部分。发射电路含有:射频功率放大器、锁相环(pll)、压控振荡器(vco)、频率合成器等电路。基准振荡器采用外接晶体振荡器产生电路所需的基准频率。振荡电路采用锁相环(pll)方式,由在dds基础上的频率合成器、外接的无源回路滤波器和压控振荡器组成。压控振荡器由片内的振荡电路和外接的lc谐振回路组成。要发射的数据通过data端输入。 接收电路包含有:低噪声放大器、混频器、中频放大器、gfsk解调器、滤波器等电路。低噪声放大器放大输入的射频信号。(三)方案三:无线抄表终端收发芯片  无线传输模块抄表终端是公司研制的单片uhf无线收发芯片,工作在433 mhz ism(industrial,scientific and medical)频段。它采用fsk调制解调技术,抗干扰能力强,并采用pll频率合成技术,频率稳定性好,发射功率最大可达10 dbm,接收灵敏度最大为-105 dbm,数据传输速率可达20 kbps,工作电压在+3v~5 v之间。无线抄表终端收发芯片所需外围元件较少,并可直接接单片机串口。无线传输模块抄表芯片内包含有发射功率放大器(pa)、低噪声接收放大器(lna)、晶体振荡器(osc)、锁相环(pll)、压控振荡器(vco)、混频器(mixfr)、解调器(dem)等电路。在接收模式中,无线传输模块抄表终端被配置成传统的外差式接收机,所接收的射频调制的数字信号被低噪声效大器放大,经混频器变换成中频,放大、滤波后进入解调器,解调后变换成数字信号输出(dout)端。在发射模式中,数字信号经din端输入,经锁相环和压控振荡器处理后进行kfq发射功率放大器射频输出。由于采用了晶体振荡和pll合成技木,频率稳定性极好;采用fsk调制和解调,抗干扰能力强。(四)综合比较分析    综合比较以上几种方案,考虑到系统的便携性、效率以及成本问题。方案一中可以符合设计的要求,且外围元件少,直接接单片机串口使用,数据需要进行曼彻斯特编码;方案二中是一个很理想的芯片。在方案三中更加适合本设计的要求,因此采用方案三来实现这个系统。四、无线传输模块芯片概述及应用    无线传输模块收发芯片是公司推出的一种集荧射和接收为一体的无线传输芯片,它在一个20脚的芯片中包含了高频发射、高频接收、pll合成、fsk调制、fsk解调、多频道切换等功能,工作在433 mhz的频率上,采用了移频键控进行调制解调,能够以20 kbps的比特率进行无线数据传输。集成度苛、工作频率稳定可靠、外围元件少、功耗极低,适合于便携式及手持产品的设计,由于采用了低发射功率和高接收灵敏度的设计方案,因而可满足无线电管制要求,无需申请许可证,是目前低功耗无线数传的理想选择,可广泛用于遥控、遥测、小型无线网络、无线抄表、工业数据采集、水文气象监控、机器人控制等领域。五、无线传输模块芯片主要技术指标    无线传输模块是真正的单芯片rf收发机,专为在433 mhz ism频段工作而设计。它所需的外围元件仅为一枚4 mhz基准的晶体(可与mcu共享)、一个pll环路滤波器和一个vco电感。无线传输模块采用小型20引脚ssop封装,3 v直流电源供电。接收电流低,仅为11 ma,而且在轮流检测(polling)模式时可以通过周期性暂停的方法使其更低,以延长电池寿命。它还提供进一步降低电流消耗的待机模式。为了使通信范围更广,无线传输模块内建的功率放大器提供的输出功率可达10 mw。它采用非常紧凑的电路板布局,仅占用很小的pcb面积,而且免费提供所有布局图。无线传输模块收发机的各项功能在制造过程中均经过测试,能用标准的电子产品表面贴装生产线,在短测试时间完成最终产品的装配。 无线传输模块接收机使用频移键控(fsk)调制方式,改善了噪声环境下的系统性能。与幅移键控(ask)和开关键控(on—off keying)方式相比,这种方式的通信范围更广,特别是在附近有类似设备工作的场合。无线传输模块另一个非常重要的特性是接收机的频带外阻抗很高(out—of—band blocking),这意味着它不需要外部声表面波(s卢w)滤波器。此外nrf401的解调器是dc平衡的,因此可以使用任何一种协议,也可以使用各种0、1序列,因而无需浪费单片机宝贵的处理资源。该芯片采用环形天线接法典型应用原理。在理想状态下,采用环形天线接法的有效传输距离计算如下:    ●fo:434 mhz (λ= 0.69 m)   ●pt:10 dbm  ●gtx_ant:-17.7db(35×20loop天线)  ●grx_ant:-22db(25×15loop天线)  ●s:-105 dbm   lp=s-pt-gtx_ant-grx_ant= -75.3 db    这是理想状况下的传输距离,实际的应用中是会低于该值,这是因为无线通信要受到各种外界因素的影响,如大气、阻挡物、多径等造成的损耗。六、总结  无线传输模块芯片rf收发机具有设计方案成本低、体积小、低功耗、符合电池供电要求、集成度高,工作频率稳定可靠无需微调外部元件、外围元件极少、加工更容易、数据传输率高、接口简单、可以与廉价的单片机接口。满足无线电管制要求,无需申请许可证,是目前低功耗无线数传的理想选择,可广泛用于遥控、遥测、小型无线网络、无线抄表、工业数据采集、水文气象监控、机器人控制等领域。  目前国内的工业微机测控网络多为有线通信方式,有线通信的优点是数据传输可靠性较高,但需铺设较多明线,而有些生产领域由于条件所限,难以铺设线路,这时就需要无线通信来解决问题。本设计利用无线传输模块芯片实现了pc机作为主控机的微机测控网络,在本设计中,较详细地论述了该系统理论设计过程,系统性能较好,能适于多种应用领域,有较大推广价值。        北京禹风时代信息技术有限公司       ----------------------------------------------
此篇文章从博客转发
原文地址:
请登录后再发表评论!OSC第91期高手问答—R语言的核心技术 OSC第91期高手问答—R语言的核心技术这篇文章的内容选自(开源中国社区)第91期高手问答—R语言的核心技术。问题的答复主要由(张丹)和完成。张丹,R语言资深用户,系统架构师,况客科技联合创始人()。有10年IT程序开发和系统架构设计的经验,精通Java、R和Javascript三种编程语言,熟悉数据挖掘、统计和金融的多种算法。目前在互联网金融量化投资方向创业中,个人博客Alexa全球排名前10万。高手R语言系列博客:陈堰平,《R语言编程艺术》一书的译者,毕业于中国人民大学统计学院,曾任国家金融信息中心指数研究院研发部负责人,从事指数编制、指数化投资、金融衍生品方面的工作,对金融数据分析有多年的研究。的创始人之一,中国R语言会议理事会成员,《R语言编程艺术》的主要译者,博客地址。现创办和中文数据科学免费学习网站。问:您好,R语言适合做什么方面的开发啊,它有什么样的优势呢,很少见公司有单纯的招R的哦答:陈堰平:我们公司就招R的工程师和分析师,请看张丹:R语言本身的关注点有3个:面向数据,统计计算,可视化。优势就体现在这3个方面。面向数据,R淡化了程序化思维,你更多地需要考虑有什么数据,如何处理数据,而不是架构和性能方向。&统计计算,R是统计学家设计的语言,提供了大量统计计算库,方便够建各种模型。可视化,数据经过处理后,显示变得非常重要,R语言很好的集成了这个特点。 单纯用R可能只能在建模上面,但是让R和不同语言结合,那就可以干很多的事情了。 R语言做模型很方便,数据挖掘,咨询公司,金融量化都会招R的。问:对于新手来说,能不能谈一下学习R语言的经验以及如何避免踩坑?答:张丹: 如果以程序的角度学,那么就要说学其他语言一样,多看多写多用多思考。如果是数据分析的角度,先找数据后写程序,函数式用来替代SAS或Excel的工作。问:要是自学R语言,那部分最难?答:张丹:R的难度,不是语言本身,而在于数学、统计、行业知识等。自学R,跟着书敲几天代码就入门了。问:我们公司也在用R语言,建模,使用R爬虫,用R做了个杜邦模型,java和R对接方面有没有什么好的建议??答:张丹:可以用rjava包,结合还是不错的,有很多的R包都通过rjava使用Java的类库。问:r语言在大数据时代,如何保持优势答:张丹:如果每个人都愿意贡献代码,把自己的成果拿出来分享,那么优势自然就可以保持了。 每种语言都需要有领袖来引领一个时代,最近几年R界就是Hadley。问:R语言和matlab相比呢,我只知道R语言出图很厉害,不知道R语言写起来效率怎么样?答:张丹:matlab很强大,是收费软件,在win平台的运行,官方自己做各种库。 R也很强大,是免费的,跨平台都很稳定,而且R的库都是广大的开发者提供的。问:学习R语言需要学习什么基础知识?答:张丹:学好R需要3方面知识: 1. IT技术 2. 数学,概率,统计 3. 业务知识问:我问的可能小白了。我很想知道R语言的核心优势。之前我的理解是数据图表化,这个虽然重要但是也不至于成为杀手锏啊。针对大数据计算,R语言是速度快吗?是内置算法库多吗?抑或是什么其他的优势?求解惑,谢谢。答:张丹:R的核心优势是:快速建模,R是面向数据的,提供了非常多的算法包,非常方便可视化。 R的性能不太好,少量数据可以用单机解决,海量数据需要与其他的工具配合。问:R的机器学习的库多?R和Python相比有什么优势?谢谢!答:陈堰平:有的算法R有,Python没有,有的算法Python有但是R没有。R的机器学习库更多地用在前期算法原型的开发上,Python更多地用于生产环境 。张丹:R是面向数据的,而Python是面向程序的。写R的时候,更关心怎么建模;写Python你还要考虑架构、性能、项目结构、代码规范等。问:请教,有尝试过R语言做一些统计工作,但数据量稍大比如几十万的时候,R的速度下降很明显,是不是说R只能适合做少量数据的分析工作?对于数据量较大情况下使用R,有什么好的建议?答:陈堰平:几十万其实不算大,初学者在使用R的过程中没有掌握R的特性,导致效率很低,都很正常。我们的在线学习网站——有很多针对R的学习资料,有空了可以来看看张丹:如果是大数据,建议用Rhadoop,RSpark等框架处理。R原本是用于建模的,现在硬件很便宜,所以单机已经有能力处理几G的数据了。 如果从算法复杂度的角度考虑,数据量越大,算法越简单。更多要考虑你做什么事情,再选择最适合的工具去做。问:linux下画图乱码如何解决如果输出为pdf则调用pdf函数加入字体参数可以解决 但直接显示却不行 还有java调用R使用啥比较好?答:张丹:乱码通常有2种问题。1. Linux没有装中文字库。2. Linux是utf-8,而win是gbk,同文件需要编码转型。Java调R,可以用rsession这个包http://blog.fens.me/r-rserve-rsession/问:我也感觉R在读取大量数据量速度有明显下降,例如我在读取一个有17万行*20列的csv载入时间接近1分钟。我是8g内存cpu扯了点奔腾的系统fedora不知道是那些因素导致的?答:陈堰平:你可以试试data.table这个包读数据、处理数据都很快张丹:如果你用的是read.table,read.cvs等函数,会非常慢的,因为要做各种验证和转型。可以直接用scan,先加到内存,再自己转型处理。问:请问R相对Matlab的优势在那?答:陈堰平:matlab是面向工程计算的,R是面向数据分析的。R里面的数据分析、数据挖掘的包远远超过matlab张丹:免费,库很多,库的增涨速度很快。问:R是否只适合建模,不适合生产环境?答:张丹:建模是基本的,生产环境需要做很多的性能上优化事情,我现在都在把R用到生产环境。问:R能直接在Excel里面用吗?答:陈堰平:RExcel组件,可以在Excel中调用R,相当于在Excel增加了插件,可以在菜单中选择R命令张丹:R有调用Excel库,可以直接处理xls,xlsx文件。 但是建议转成csv,进行处理。问:请问,R的优势是统计,绘图,而python,也很好得做到了,该如何选择?如果你是程序员,学习曲线会很陡峭,要成为高手,还需要学统计、数据挖掘等知识答:张丹:举个例子吧,比如看到一篇最新论文,上面有一组公式,可能是微积分,回归,分类算法等。如果你很熟悉Pyhon的话,是否能在短时间,用程序实现这个公式呢?但我可以用R很快实现。:oracle的bi大会上用也是 R语言,微软收购了R语言的商业化公司,学习一下大公司的选择即可!问:R语言的学习梯度是否平滑,前置技能需求有哪些?答:张丹:以替代Excel, SAS的角度并不难,但是要学好也并不容易。陈堰平:如果你是程序员,学习曲线会很陡峭,要成为高手,还需要学统计、数据挖掘等知识。问:三个问题1、在大数据的情况下,怎么提升单机R语言的处理性能(数据加载,运算)? 2、在大数据的情况下,单机性能不足的情况下,R语言怎么支持分布式计算来扩展性能的?3、R语言的可视化绘图能力很强,比如一个Java搭建的web可视化平台怎么借用R语言的可视化能力?目前通常的做法是基于前端可视化组件,如百度的echarts,国外的d3之类的js开源组件。答:陈堰平:方法有很多,基本的有这几个(a)更换基础的代数运算库(b)编程的时候要注意利用R的语言特性(c)使用高效率的包,比如data.table在读数据的时候很快,dplyr()在做数据整理的时候效率很高,bigmemory系列包可以处理大于内存的数据(d)使用商业版R—— RRE()想要分布式,可以用rhadoop、rhive、rspark如果要调用R生成的静态图片,可以用里的思想。如果要生产动态的图,就可以用R来处理数据,把数据导出成json格式,交给js库来做。问:java如何调用r语言的接口,获取r运算输出的json数据?答:R里面有rjson、jsonlite等包,可以把R的对象转换成json格式的文本,接下来怎么办,你们搞java的应该更懂张丹:单机性能,可以通过snow等多核并行包,进行程序优化。R的分布式,需要用到rhadoop, rspark等R做的图,虽然很漂亮但大多是静态的,这个部分可以考虑用JS来做动态图。把web,计算,可视化分开。问:数学和算法功底不好,学习数据挖掘是不是很蛋疼啊。自学过Ruby?答:张丹:也许可以通过R,能更好的理解数据挖掘的那些算法,事半功倍的效果。问:你好,能谈一下R语言和Julia语言间的优缺点对比吗?答:陈堰平:Julia在设计的时候就是奔着并行的方向的,而R在当初设计的时候没考虑到这点(当初年代太早),Julia现在刚刚起步,没积累多少包,也经常在变,等几年再看看吧,或者参与到Julia的开发中。张丹:Julia目前还没有用过,不清楚使用细节。问:我接触过Matlab,看了上述介绍也了解一些R语言,所以我想问,能否用R语言来辅助我在Linux上的应用进行大批量的数据处理和图形化显示;这里面涉及到了混合编程,即如何将R语言的优势和遍历发挥出来,应用到现成的项目中去?另外一方面,就是性能,除了机器配置,R语言在性能上还依赖什么?最后,我想问问R语言是免费开源的,中国开发者如何参与到其中,是否有诸如mail-list、论坛之类的平台供使用者或开发者进行讨论交流?答:陈堰平:如果有兴趣在R的开发方面深入了解的话,可以与我联系QQ:以前可以在统计之都交流R的技术,现在基本也没落了。希望更多感兴趣的人加入我们。R在设计上比较原始,是上世纪六、七十年代的设计,靠R的解释器去调用C、Fortran库来实现交互式的运算。现在国外不少团队在研究重写R,比如让R运行上jvm上,但都在探索中,请看宫雨老师的slides(链接: 密码: 2csy)张丹:R可以做matlab一样的事情。R跨平台的支持比较好,可以很方便地在Linux环境运行。我现在就是多语言混编,R,Java, Node等&R的性能确实不太好,需要做很多的优化。比如 rhadoop, rspark, bigmemory, snow 等。这些优化需要针对你的数据和业务情况。问:您好。我们工作中有大量的数据16亿左右数据目前,需要做多维度即时统计分析及,一直在找比较好的解决方案。有几个疑问想请教: 1、请问R语言能否和程序对接么?(如 Asp.net Js Java等) 2、R语言在大量数据处理上的优势是什么?(来源R语言一直和大数据、统计分析连在一起) 3、R语言统计分析是即时性的么?答:张丹:R可以和其他程序对接,rjava,rpy,rcpp,RODBC,使用难度因人而已R无法处理大数据,需要配合其他工具,如rhadoop, rspark&实时计算R可以做,但需要很多的优化。我现在做金融量化的策略,很多都是实时计算的。陈堰平:R语言跟其他程序的对接不太容易,rjava、rsession等方案在实际应用中有很多坑,可以试试RRE里的deployR,请看&R在大量数据处理上基本没什么天然优势,总是提它是因为它是种数据分析的语言,这与其他语言的定位不同。大家都希望能够在大数据上用R很方面地分析数据。虽然R天然不能处理大数据,但是有很多第三方包为R增强了这方面的能力,比如bigmemory系列包、rhadoop、rhive、rspark等,据说dato公司即将开源一款产品,可以用R的语法处理大数据。另外,现已被微软收购的Revolution Analytics有款产品叫RRE,可以轻松分析上亿行的数据,请看即时性是什么意思?实时性吗?可能没那么实时,因为数据量太大或者计算复杂度太高的话,需要等待。问: R语言很实用,ggplot画图也很赞,就是数据量大的时候就歇菜了,什么GPU运算啊,R-Spark啊,优化起来都不容易,有什么好的办法吗?答:张丹:R更适合用于建模,尽量控制数据规模;对于大数据来说,R并无特别的优势,但是sas, matlab也有同样的问题。问:只要我懂数据分析,用java不是也可以分析出来么?不用再学习一门新语言啦。答:陈堰平:R语言是交互式的,比较适合数据分析的探索过程。同时它也是脚本语言,可以批处理执行。R语言从设计思想上说,是调用现成的用C、Fortran写的数据分析模块,避免了重复劳动,数据分析师只需要花时间在思考上就行了,把思考过程变成R代码。张丹:用哪种语言都可以数据分析,Java会会花时间在写程序上,可能随便一写就100-200行。R做同样的事情,也就5-10行。问:是使用java调mapReduce好,还是通过java调R再通过RMapreduce来建模比较好?Rhbase和Rhive使用的情况怎么样?如果我们用了Rspark,是不是就可以替换mapReduce答:张丹:当然直接用Java写MR好啦,原生的是支持最好的。Spark可以在很多场合下,替代MR。&R在这里,仅仅是做了一个外壳。问:R可以用了搞算法啥的,聚类,分类,推荐啥的吗? 和mahout相对比,mahout怎么样,mahout做算法的公司,多不多,如果是你,你会用哪个做算法模型?答:张丹:Mahout复杂度其实很高的,能把mahout源代码看一遍都不容易。问:对于没有统计基础的人来说,是不是学习统计知识比学习R本身更重要?答:张丹:可以学边统计边学R,用R来验证书本的知识 。 陈堰平:是的,不过,不管你用什么语言做数据分析,都得学学统计和模型。你可以通过学R来学统计。问:R和mahout对比,各有什么优点,和缺点,怎么互相配合?答:张丹:R很灵活,自己想做什么就做什么,通常代码量都不会超过100行。 MAHOUT自己封装了一套模型,按照他的框架要求,提供标准化的数据进行计算,不难,而且运行效率很高。但如果你想改模型,几乎不可能。问:我对金融方面的数据分析感兴趣,只是不知道要看些什么资料, 可以通过一下资料么?或者提供个学习的思路呀。答:张丹:先看《投资学》这本书吧,按金融的思路学习。本文整理自转载请注明本文原链接,分享到: 日更新 5592次阅读
日更新 3254次阅读
日更新 2884次阅读
日更新 2213次阅读
日更新 2193次阅读
日发布 535名学员
日发布 461名学员
日发布 310名学员
日发布 297名学员
日发布 296名学员 客服电话服务时间: 9:30 - 18:30400-联系邮箱contact@xueqing.tv
-->关于我们雪晴数据网是以数据科学为主题的在线社区,包含在线学习、问答等模块。 联系合作 400-关注我们官方QQ群:
京ICP备号-3
&&& Copyright & 2016
留言内容 *联系方式 *提交请教STM32F334 ADC 差分应用问题 - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 760|回复: 11
请教STM32F334 ADC 差分应用问题
主题帖子积分
新手上路, 积分 32, 距离下一级还需 18 积分
新手上路, 积分 32, 距离下一级还需 18 积分
本帖最后由 xihui-122742 于
16:27 编辑
安:你好!
一、硬件连接:
1.&&+3.3V 串3个10k电阻到地 取中间电阻电压(1.10V)送AD 得到码数为:2610
2.& &&&+5V 串3个10k电阻到地 取中间电阻电压(1.66V)送AD 得到码数为:2915
3.& &ADC1_IN1-&PA0 接信号+
& && &ADC1_IN2-&PA1 接信号-
二、问题:为何电压和码数无法对应呢?
三、代码:(cube生成)
/** System Clock Configuration
void SystemClock_Config(void)
&&RCC_OscInitTypeDef RCC_OscInitS
&&RCC_ClkInitTypeDef RCC_ClkInitS
&&RCC_PeriphCLKInitTypeDef PeriphClkI
&&RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
&&RCC_OscInitStruct.HSIState = RCC_HSI_ON;
&&RCC_OscInitStruct.HSICalibrationValue = 16;
&&RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
&&RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
&&RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
&&HAL_RCC_OscConfig(&RCC_OscInitStruct);
&&RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1;
&&RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
&&RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
&&RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
&&RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
&&HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2);
&&PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_HRTIM1|RCC_PERIPHCLK_USART1
& && && && && && && && && && &|RCC_PERIPHCLK_ADC12;
&&PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK1;
&&PeriphClkInit.Adc12ClockSelection = RCC_ADC12PLLCLK_DIV1;
&&PeriphClkInit.Hrtim1ClockSelection = RCC_HRTIM1CLK_PLLCLK;
&&HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
&&__SYSCFG_CLK_ENABLE();
*******************************************************
/* ADC1 init function */
void MX_ADC1_Init(void)
&&ADC_ChannelConfTypeDef sC
& & /**Common config
&&hadc1.Instance = ADC1;
&&hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC;
&&hadc1.Init.Resolution = ADC_RESOLUTION12b;
&&hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
&&hadc1.Init.ContinuousConvMode = ENABLE;
&&hadc1.Init.DiscontinuousConvMode = DISABLE;
&&hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
&&hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
&&hadc1.Init.NbrOfConversion = 1;
&&hadc1.Init.DMAContinuousRequests = DISABLE;
&&hadc1.Init.EOCSelection = EOC_SINGLE_CONV;
&&hadc1.Init.LowPowerAutoWait = DISABLE;
&&hadc1.Init.Overrun = OVR_DATA_OVERWRITTEN;
&&HAL_ADC_Init(&hadc1);
& & /**Configure Regular Channel
&&sConfig.Channel = ADC_CHANNEL_1;
&&sConfig.Rank = 1;
&&sConfig.SingleDiff = ADC_DIFFERENTIAL_ENDED;
&&sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
&&sConfig.OffsetNumber = ADC_OFFSET_NONE;
&&sConfig.Offset = 0;
&&HAL_ADC_ConfigChannel(&hadc1, &sConfig);
*******************************************************
&&HAL_ADC_Start(&hadc1);
&&while (1)
& & ADC_GetValue=HAL_ADC_GetValue(&hadc1);&&
& & printf(&%d \r\n&, ADC_GetValue);&&
主题帖子积分
高级会员, 积分 963, 距离下一级还需 37 积分
高级会员, 积分 963, 距离下一级还需 37 积分
帮楼主顶一下。
主题帖子积分
3.& &ADC1_IN1-&PA0 接信号+
& && &ADC1_IN2-&PA1 接信号-
这里说的信号+ -指的是具体哪个?还有参考电压ref是多少?
主题帖子积分
高级会员, 积分 746, 距离下一级还需 254 积分
高级会员, 积分 746, 距离下一级还需 254 积分
主题帖子积分
初级会员, 积分 57, 距离下一级还需 143 积分
初级会员, 积分 57, 距离下一级还需 143 积分
自己顶一下
主题帖子积分
初级会员, 积分 57, 距离下一级还需 143 积分
初级会员, 积分 57, 距离下一级还需 143 积分
参考电压:3.3V
满码:4096
差分信号输入
1.10V送AD 得到码数为:2610
1.66V送AD 得到码数为:2915
请教码数和电压的换算关系?是不是选择了差分输入则AD自动为双极性?
主题帖子积分
ADC1_IN1-&PA0 接信号+
ADC1_IN2-&PA1 接信号-
这里的信号+指的是哪个?信号-指的是哪个?
如果不用差分,这个时候采集到的AD值是多少?他应该是实际电压/REF*4096.
主题帖子积分
金牌会员, 积分 2908, 距离下一级还需 92 积分
金牌会员, 积分 2908, 距离下一级还需 92 积分
顶一下,,,,,,,,
主题帖子积分
初级会员, 积分 57, 距离下一级还需 143 积分
初级会员, 积分 57, 距离下一级还需 143 积分
本帖最后由 XH750507 于
13:27 编辑
参考电压:3.3V
满码:4096
差分信号输入
2.20-1.10=1.10V送AD 得到码数为:2610
ADC1_IN1-&PA0 接+2.20V
ADC1_IN2-&PA1 接+1.10V
3.32-1.66=1.66V送AD 得到码数为:2915
ADC1_IN1-&PA0 接+3.32V
ADC1_IN2-&PA1 接+1.66V
请教码数和电压的换算关系?
是不是选择了差分输入则AD自动为双极性?
主题帖子积分
从手册看是芯片自动转换了。
In differential input mode, the analog voltage to be converted for channel “i” is the difference
between the external voltage ADC_INi (positive input) and ADC_INi+1 (negative input).
站长推荐 /1
日-17日,ST即将参加2016慕尼黑上海电子展。前往ST展台观展,并发布现场图文,即可获得STM32开发板一块,先到先得,送完为止!
Tel: 3-8056
备案号: 苏ICP备号-2
Powered by

我要回帖

更多关于 请教是什么意思 的文章

 

随机推荐