·上一文章:基于单片机的TM卡水表控制系统设计
·下一文章:C8051 F1 20与RS422息线的时钟同步技术
由于CAN总线传输的数据量不大,数据传输速率不高,远小于以太网的数据传输速率,所以在以太网 -CAN接口模块中,数据的传送瓶颈在CAN接口B。在测控领域,通常传输的数据量不大,对数据传输 速率要求也不高,于是,在此模块中微处理器可选用通常的单片机如 8031等。
(3) CAN接口B
CAN接口B采用了飞利浦的CAN物理层和链路层接口芯片SJA1000和 PCA82C250。微处理器直接控制SJA1000的AD0~AD7、、、ALE、RST 和脚。SJA1000的MODEL脚接高电平,工作在Intel模式下;片选脚接地,始终处于选通状态,如 图 3 所示。微处理器对 SJA1000的操作主要是对寄存器的操作:一方面对SJA1000的模式寄存器 (MOD)、命令寄存器(CMR)、状态寄存器(SR)、中断寄存器( IR)、中断允许寄存器(IEP)、总线定时寄存器(BTR0、 BTR1)、输出控制寄存器(OCR)、时钟分频计数器(CDR)进行设置和检测; 另一方面对收发缓冲区进行读写,从而和CAN设备交换数据。
图3 以太网-CAN 接口原理图
图 4 是微处理器对SJA1000进行初始化、读、写的流程图。微处理器将 以太网送来的命令通过向SJA1000写,来传送给CAN测控设备;反过来,又将向SJA1000读取CAN 测控设备的测量值或状态,通过以太网发送出去。
图4 微处理器CAN接口原理图