新闻中心

EEPW首页>模拟技术>设计应用> 基于LPC2119的RS485-CAN总线转换器设计

基于LPC2119的RS485-CAN总线转换器设计

作者: 时间:2009-08-03 来源:网络 收藏
然后是UART控制器和控制器的初始化。下面给出这部分的源代码:

本文引用地址://m.amcfsurvey.com/article/188777.htm

/* UART0初始化 */

uint8 UART0Init(uint32 bps)

{

uint16 Fdiv;

PINSEL0 = (PINSEL0 0xfffffff0) | 0x05; // 选择管脚为UART0

U0LCR = 0x80; // 允许访问分频因子寄存器

Fdiv = (Fpclk / 16) / bps; // 设置波特率

U0DLM = Fdiv / 256;

U0DLL = Fdiv % 256;

U0LCR = 0x07; // 禁止访问分频因子寄存器

U0IER = 0x05; // 允许接收和发送中断

U0FCR = 0x87; // 初始化FIFO

}

/*初始化 */

void Init(eCANNUM CanNum)

{

HwEnCAN(CanNum); //硬件使能CAN控制器

while (SoftRstCAN(CanNum)); //软件复位CAN控制器

while (SetErWarmVal (CanNum,USE_EWL_CAN[CanNum])); //设置错误警告寄存器

while (SetCANBaudRate (CanNum,USE_BTR_CAN[CanNum])); //初始化波特率

VICDefVectAddr =(INT32U)CANIntPrg; //初始化中断

VICIntEnable |=(119)|(1(20+ CanNum))|(1(26+ CanNum));

CANIER(CanNum).Word= USE_INT_CAN[CanNum]; while (SetTPMMOD(CanNum,USE_TPM_CAN[CanNum]));//设置发送优先模式寄存器

while (SetLOMMOD(CanNum,USE_LOM_CAN[CanNum]));//设置只听模式寄存器

CANRcvCyBufApp[CanNum].FullFlag = 0; //初始化接收环形缓冲区

CANRcvCyBufApp[CanNum].ReadPoint = 0;

CANRcvCyBufApp[CanNum].WritePoint = 0;

SoftEnCAN(CanNum); //软件启动CAN

}

3.2 RS-CAN总线转换器数据转换原理

CAN的帧格式中,有一个标识符域。CAN控制器的全局滤波器会检测这个标识域,决定是否接收本帧数据。由于RS网络上,所有节点都会同时收到数据,因此可以为所有的RS从设备设定同一个标识符。一个CAN节点若要发送数据给RS485设备,只需在该帧把标识符域设定为相应的标识符即可。

RS485本质上仅仅是一个物理层标准,以字节为单位进行数据通讯,其帧格式完全由用户自己定义。然而最终,在RS485总线中最终信息的传输还是以帧为单位,其中包含了地址信息。RS485设备会自动根据接收到的帧,自动判断该帧是否发往本节点,然后做出相应处理。因此,在RS485设备要发送数据时,RS485-CAN总线转换器只需把RS485总线的数据帧打包入CAN的数据帧中,然后发送到CAN网络上;而RS485设备在接收数据时,RS485-CAN总线转换器则把RS485总线的数据帧从接收到的CAN数据帧中提取出来,发往RS485设备即可。

3.3 RS485设备数据接收中断程序

当RS485-CAN总线转换器收到CAN网络上发往RS485设备的数据帧时,即会触发CAN中断,进入数据接收中断服务程序,其流程图如图4(源程序略):

3.4 RS485设备数据发送中断程序

当RS485-CAN总线转换器串口收到RS485设备发送的数据,即会触发串口中断,进入RS485设备数据发送中断程序。其流程图如图5(源程序略):

图4: 数据接收中断程序流程图

图5: 数据发送中断程序流程图

4.结束语

本文设计的RS485-CAN总线转换器的电路简单可靠,操作方便。通过它,任何RS485设备都可以无需做任何修改就可以直接放到CAN网络中使用。在总线转换器的软件设计中一般应该遵守的一条原则是:不要将其功能设计的过于复杂。因为它的主要任务是将数据以最快的速度转发。至于流量和差错控制应由通信双方的应用层来完成。而本总线转换器的软件设计,很好地达到了这一要求。


上一页 1 2 下一页

关键词:2119LPC485CAN

评论


相关推荐

技术专区

关闭