DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 866|回复: 0
打印 上一主题 下一主题

[接口电路] 基于ARM和CAN息线的数据采集系统设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-18 00:24:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
引 言    在工业生产的很多领域都需要对生产过程进行监控管理,因此以A/D转换器为核心的数据采集系统必不可少。为了提高监控系统的准确性与可靠性,数据采集卡可选用∑一△型高分辨率的A/D转换器。而控制器局域网(CAN)能有效支持具有高安全级的分布式实时控制,凭借其在噪声环境中的可靠性及其故障状态检测,以及从故障状态恢复的能力被广泛应用于工业控制等领域。本文设计了一种关于CAN总线的双通道高精度采集系统,提高了工业控制中的信号采集处理以及传输抗干扰能力。1 系统原理    系统选用Philips公司的LPC2292(支持实时仿真和跟踪的32位ARM7TDMI—S CPU的微控制器)作为主芯片,功耗极低,具有高速Flash存储器、多个32位定时器、2路CAN以及多达9个外部中断,特别适用于工业控制等。Maxim公司的MAX811作为系统的复位开关,系统原理图如图1所示。双通道O~5 V的模拟信号,经过信号调理电路转换为适合ADC采样的电压信号,被2个24位精度的低功耗A/D转换器ADSl251采样;所采样的数据经过LPC2292的处理后存入扩展的SRAM静态存储器(Cypress公司的CY7C1061AV33)当中,再通过ARM内嵌的2个CAN控制器控制2路CTM8231(通用CAN隔离收发器)进行数据传输。其中,CP2102是ARM中UART与USb端口的桥接芯片,它将USb口模拟为串口,可在PC机上方便地对LPC2292进行上电之前的Flash擦写等操作。

2 信号调理电路    其中一路通道的信号调理电路如图2所示。ADSl251是24位低功耗、宽动态范围、高信噪比的deIta—sigma型A/D转换器。ADSl251为差分模拟输入,当参考输入电压等于+4.096 V时,双端输入电压为一4.096~+4.096 V。本设计利用LM4040AIM3—4.1稳压管为ADC提供+4.096 V参考电压,系统时钟信号和串行时钟信号都由ARM提供。为了更好地发挥ADC的性能,最重要的是信号的满量程输入,因此在ADC双端输入的前端,采用轨到轨运算放大器0PA4350设计了一个变换电平电路。首先外部信号进入一个射随放大器,然后通过2个运算放大器进行电平移位,让0~5 V的外部信号转变为一4.096~+4.096 V的信号进入ADSl251的差分输入端。


                          
                       
                          
                                3 CAN通信传输电路    CAN相关电路如图3所示。LPC2292中虽然内嵌CAN控制器,但是必须与CAN收发器连接才能具备收发功能,在以往的设计中ARM和CAN收发器之间通常需要加入DC-DC电源隔离模块和高速光电耦合器组成的隔离电路,以确保在CAN总线遭受严重的干扰时控制器能够正常工作。然而考虑到复杂度、系统集成等因素,本设计中利用CTM8231接口芯片来实现带隔离的CAN收发电路。它将LPC2292中内建的CAN控制器逻辑电平转换为CAN总线的差分电平,实现起来非常简单而且有高抗电磁干扰性;每一路独立的CAN总线接口均配上120Ω的可跨接的终端匹配电阻,同时在印制板上留有可另接一其他阻值电阻的接口,以便在调试和使用过程中进行终端电阻的调整,由拨码开关选择。CAN总线上有数据传输时,用发光二极管闪烁指示。

4 软件设计4.1 A/D转换程序设计    整个A/D转换的时间需要384个CLK时钟周期,ADsl251的工作时序如图4所示。ADS1251的输出信号DOUT/DRDY是在两种工作模式下转换的:第一种模式是DRDY(需要36个CLK时钟周期),它表明新的数据已经加载到数据输出寄存器中,可以进行读操作;第二种模式是DOUT(需要384个CLK时钟周期),它将数据以串行方式送到数据输出寄存器DOR。DRDY模式持续t4(24个CLK时钟周期)、t2(6个CLK时钟周期)、t2(6个CLK时钟周期)时间,然后在t3的下降沿进入DOUT模式,数据在t7之后开始输出。而LPC2292在t6时间后为ADS1251提供SCLK时钟,并在SCLK的上升沿锁存数据,为了接收到有效数据,DOR数据输出寄存器必须在DOUT/DRDY变回到DRDY模式之前将数据读出。


                          
                       
                          
                                    A/D转换器的部分程序如下:   

   

   


                          
                       
                          
                                4.2 CAN控制器程序设计    CAN控制器的初始化流程是:首先将ARM中CAN控制器相关的硬件和连接的引脚使能,并对CAN控制器进行复位操作,设置CAN总线的通信波特率;接着是中断处理的初始化,然后配置验收过滤器(即对接收标识符的查询),最后是初始化CAN的工作模式。初始化CAN控制器之后就可以进行数据的发送与中断接收操作了。    CAN控制器的部分程序如下:

结 语    本文所设计的系统目前已经投入工业中实际使用,其运行性能稳定,信噪比在93 db以上,采样精度为19~22位。由于LPC2292中内置了RTC实时时钟,所以本系统还可以添加实时控制的功能;也可以利用ARM剩下的I/0口等资源,辅以DC-DC电源模块、驱动芯片、继电器开关、光耦等元件实现多路可选相互隔离的稳定电源输出功能,作为工业相关领域的供电设备,以而可使系统的应用更加广泛,功能更为丰富。
                          
                       
                          
                               
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-4-28 18:08 , 耗时 0.088202 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表