新闻中心

EEPW首页>嵌入式系统>设计应用> 基于CAN总线的环境测控系统设计

基于CAN总线的环境测控系统设计

作者: 时间:2013-03-14 来源:网络 收藏
3.2 调节执行机构控制子系统

此系统采用单片机构成一个控制系统。接收来自主机的控制信号,通过继电器来对机械执行机构进行控制,以调节诸如包括温度、湿度、气体压力和气体百分比容量等参数。此系统框图如图3所示。


图3 机械执行机构框图4 系统主要软件设计

4.1接口的初始化设计

CAN控制器卡的软件设计主要分为三部分:CAN初始化、数据发送及数据接收。系统软件设计的指导思想是:系统上电后,首先对SJA1000进行初始化,配置SJA1000的控制段寄存器内容以设定通信参数(如:模式、位速率、验收码、屏蔽码、字段长、总线定时、波特率、输出特性等)。初始化完成后,SJA1000按设定值控制上的通信。系统是否能正常地工作,初始化程序的设计是个关键。CAN初始化主要是设置CAN的通信参数,即通过对CAN控制器段中的寄存器进行设置,从而确定CAN控制器的工作方式等。初始化程序的流程图如图4所示。


图4 SJA1000初始化流程图总线定时寄存器的设置极大地影响了CAN性能的发挥。一般来说,若硬件连接无误,通信失败的主要原因在于总线定时寄存器设置不当。它确定了3个时间—时钟周期、系统周期和位周期之间的关系。对BTR0操作,可决定波特率预分频器BRP和同步跳转宽度SJW的数值;对BTR1进行写操作,可决定位周期的宽度、采样点的位置及在每个采样点进行采样的次数。这两个寄存器的内容,可唯一确定波特率及同步跳转宽度。只有当系统中的所有节点的BTR0和BTR1的内容都相同时,才能正常通信。关于波特率的设置参见表1。


表1 CAN总线波特率设置4.2 驱动程序开发

PCI总线接口设备的一大特点是即插即用。因此,在软件上必须编写能够实现即插即用功能的设备驱动程序。从广义上来说,驱动程序就是控制硬件的一组函数。PCI设备驱动程序的开发,就是取得PCI板卡所占用的各种资源(内存、端口、中断和DMA等),并提供给用户一条可以访问这些资源的途径。在本设计中,由于PCI9052的中断、I/O端口、映射内存等资源都是动态分配的,必须编写驱动程序来管理硬件,才能供用户编程使用。

WinDriver是专业的设备驱动程序开发工具。利用它的驱动程序向导(Driver Wizard),可以快速测试新硬件,并生成设备驱动程序框架。在写设备驱动程序之前,重要的一点是确保硬件准确无误。用WinDriver的驱动程序向导DriverWizard 提供的诊断程序Diagnostic Program来诊断CAN控制器卡。此诊断程序支持多种类型的芯片,本设计采用PCI9052作为PCI接口芯片,由于WinDriver PLX 9050的库完全与PLX 9052兼容,可以选择PLX 9050诊断程序9050Diag.exe,它通过WinDriver的程序访问硬件。

5 结语

由于及先进的数据采集处理技术的应用,大大提高了对环境参数的测控,并提高了测控精度。CAN总线的使用使整个复杂的系统更加简洁、紧凑,提高了测控系统的抗干扰能力,同时也增强了系统的安全性。接入局域网,可使操作人员远距离对测控系统进行控制,实现测控数据的远距离传输。

分频器相关文章:分频器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭