微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 采用CAN总线和CCll00芯片的嵌入式远程测控系统方案设计

采用CAN总线和CCll00芯片的嵌入式远程测控系统方案设计

时间:06-08 来源:互联网 点击:

PI口的方式与MCP2510连接。

2.3 无线测控模块设计

典型的无线结构包括一个无线发射器(包括数据源、调制器、RF源、RF功率放大器、天线、电源)和一个无线接收器BJ(包括数据接收电路、RF解调器、译码器、RF低噪声放大器、天线、电源)。发射器的数据通过无线发射出去,接收器天线接收后进行处理,得到经过校验的正确数据。

系统中选用了CCll00射频芯片作为无线收发器,理由如下:

(1) 该器件有着极为优秀的传输能力,空旷传输距离可以达到500m,加了PA的模块则可以达到1200m,完全满足了一般的工厂测控距离要求。

(2) 2-FSK,GFSK和MSK支持,抗干扰能力极强,适用于工厂环境恶劣的生产车间。

(3) CCll00是一种低成本、真正单片的UHF收发器,可以根据自己的需要配置MCU,使用灵活,且功耗很低,完全可以采用电池供电。

(4) 它具有433/868/915 MHz3个波段载波频率,也可以容易地设置在300—348 MHz、400—464 MHz和800—928 MHz的其他频率上。

该系统选用了C8051F310作为CCI 100的微控制器。它具有一个增强型外设接口(SPIO),具有访问一个全双工同步串行总线的能力,具有29个I/O端口、lO位逐次逼近型的ADC和一个25通道差分输入多路选择器,满足了作为数据采集的通常需求。

CCll00模块与CPU是采用SPI口进行通信的,只需把CCll00的SPI口接到CPU的硬件SPI口上,另外,再将CCll00的GD00或GD02也接在CPU的任意引脚上。如果想要用中断处理收发数据或是想做无线唤醒的话,该引脚必须接在CPU的外部中断引脚上。如图4所示。

图4 现场测控C8051F310与CC1100连接示意图

微控制器除了完成基本的芯片初始化工作、数据的发送和接收之外,还需要根据需要在CCll00的引脚产生中断,并由所编写的中断管理程序进行状态检测以及切换,并执行相应的中断操作,使得无线通信可以在发射和接收以及待机之间切换。

3、软件设计

软件设计主要包括了CAN总线通信程序模块、无线通信部分等,其中驱动程序的设计是在LINUX下多任务操作系统下实现的,多任务系统中的CAN总线通信程序结构设计流程图。如图5所示。

图5 多任务系统中的CAN总线通信程序结构CAN总线通信程序的设计可分为发送数据、接收数据和中断处理3个模块来实现。系统中CAN总线的数据发送和接收是两个不同的线程。在驱动程序中建立数据发送和接收缓冲区。中断处理程序只负责填充(或者读取)缓冲区中的数据,然后唤醒等待接收(或发送)数据的任务。数据的发送和接收都通过独立的缓冲区由中断来实现。操作系统的中断响应时间在软件上决定了CAN总线数据的最快收发速度。

MCP2510的初始化,通过函数static int MCP—device—init(void)实现。可通过设置MCP2510中的CNFl、CNF2、CNF3 3个寄存器,实现不同时钟下CAN总线通信波特率的设置。

对于无线通信模块,软件设计主要包括09051F310的初始化和CCI 100的初始化以及接收数据程序、发送数据程序,通过寄存器的配置实现其频率、通道、通信速率等的设置。函数void halRfWritePdSettings(RF SETHNGS木pRtSettings)即实现配置CCll00的寄存器的功能。发送数据通过函数void halRf-SendPacket(unsigned char譬txBuffer,unsigned char size)实现,接收数据通过函数unsigned char halRfBeceivePacket(unsigned char rxBuffer,unsigned char length)实现。在采集模块中为了做到低功耗还采用了随机定时唤醒功能,这样加上CCll00自带的CCA功能,可以最大限度地防止信息相撞,从而达到稳定可靠的通信状态。

4、结束语

基于CAN总线和无线技术的远程集中监控系统是数据采集、网络传输、计算机软件等多种技术的综合应用,适用于对远端现场环境进行实时监控,自动化管理,保障工业生产的安全稳定运行。而随着网络及通信技术的飞速发展,短距离无线通信以其特有的抗干扰能力强、可靠性高、安全性好、受地理条件限制较少、安装施工简便灵活等特点,在测控系统中的应用越来越广泛,如何根据实际需要选择合适的网络拓扑结构,开发自己的测控系统成为一个越来越广泛的课题。在该设计中采用的CCll00芯片有其局限性,只能实现星形组网,如果需要组建Mesh网络,可考虑把方案中的CCll00换成适用于ZIGBEE协议的CC2420芯片。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top