保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

CAN智能节点的设计



    由于MSP430的时钟频率决定着指令周期,因而该时钟直接影响SPI接口的速率。MSP430F1232有两个可选的时钟:一是外部低速32.768kHz的时钟晶体;二是采用内部数控DCO的可调频率。本设计直接采用它内部的数控DCO作为它的主时钟MCLK和SMCLK,由于直接工作在800kHz,因而免去了使用晶体。MCP2510采用标准的4MHz晶体。MSP430中USART模块的CLK可由系统时钟分频得到,速率设定也十分方便。实际上,MCP2510输出到总线的速率也可通过设置内部寄存器的控制分频系数来调节。

此外,由于MCP2510的输出信号驱动能力不够,而且与CAN总线物理接口的要求存在很大的差异,所以,在实际应用中必须使用CAN收发器(如MCP2551等),它可支持的CAN速率最高可达1Mbps,而且容错能力很强。此外,它内部还有很强的保护电路,可以防止总线的其它节点对它的影响。

3 软件设计

在进行本系统节点的软件设计前,首先简要说明一下MCP2510的指令格式,MCP2510的5条指令如表1所列。

表1 MCP2510指令格式

指  令 指令格式

说     明

复位 1100 0000 使内部寄存器复位,进入配置模式 读取 0000 0011 从寄存器读取数据,指令在前,地址随后 写入 0000 0010 写数据到寄存器,指令在前,地址和数据随后 发送请求 1000 0nnn 对发送缓存发送信息进行初始化 状态读取 1010 0000 读取常用状态寄存器的某些位数据 位修改 0000 0101 对豁口的某几件位修改

在使用时,可以把这些指令直接编写成函数形式,这样可使程序简练易读。同时,发送请求的硬件触发只需把TXnRTS置低即可。实际上,接收缓存收到信息后也能产生硬件触发,并在TXnRTS引脚产生低电平输出。

本设计的主程序流程图如图4所示。

上电复位后,MSP430首先完成自身外围模块的初始化,其任务主要是选择时钟模块中的时钟、使USART模块工作于SPI模式、以及对看门狗定时器的配置等;然后对MCP2510进行初始化,以对寄存器进行设置。需要注意的是,MCP2510只有在配置模式下才可以对控制参数进行配置,但它在复位以后就是配置模式。

当配置MCP2510到环回模式后,MSP430将写数据到MCP2510的发送缓存并控制其发送,此后,在接收缓存收到数据后,INT引脚将产生低电平中断以通知MSP430,MSP430响应中断后将读取数据,并和发送的数据进行比较,以验证程序的可行性。需要注意的是,无论是对MCP2510的读还是写,都必须使它的CS引脚处于低电平。

在实际应用中,MSP430和MCP2510都可以进入睡眠模式,并可以由中断来激活。整个节点的主要功能均由中断子程序来完成,其中的一部分是MSP430自身的中断(看门狗定时器溢出中断、SPI接收发送中断、ADC中断等),另一部分是MCP2510引起的中断,这部分中断资源十分丰富,包括信息接收发送中断、信息错误中断、总线激活中断等。它产生的所有中断都能使INT引脚为低电平, 单片机在检测到这些中断后,将通过SPI接口读取MCP2510内部的中断标志寄存器以判断是何中断,然后再进行进一步处理。

4 结束语

MSP430和MCP2510的很多实用功能本文还没有进一步开发,只是作了一个简单测试系统,而且许多实际应用中需要注意的问题也没有考虑到,需要进一步完善。此外,由于MCP2510使用标准的SPI接口与单片机通信,所以加上它可以不更换单片机,而只需对程序稍作修改即可,因此,采用该方案几乎可以在任何现有系统上实现CAN

《CAN智能节点的设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/150891.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。