RS232通信网络与CAN总线通信网络互联设计
TX0, CANH、CANL连接到CAN总线上。
2.2 主要芯片
RS232用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在RS232接口与TTL电路之间进行电平和逻辑关系的变换。MAX232芯片可完成TTL⇔RS232电平的双向转换。
ATmega128单片机是基于AVR RISC结构的8位低功耗CMOS微处理器,为AVR单片机系列中的高性能单片机。ATmega128单片机内部带有128 KB的系统内可编程Flash程序存储器,具有同时读写能力;4 KB的E2PROM;4 KB的SRAM;53个通用I/O端口线;32个通用工作寄存器;4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C);2个USART;串行外围设备接口(SPI);与IEEE1149.1规范兼容的JTAG测试接口,可以用于片上调试;6种省电模式;53个可编程I/O端13线;由于其先进的指令集以及单周期指令执行时间,数据吞吐率高达1 MIPS/MHz等。
SJA1000是一种独立的CAN控制器,主要用于移动目标和一般工业环境中的区域网络控制,具有新的PeliCAN操作模式,这种模式兼容CAN2.0A 和CAN2.0B 两种技术规范[3]。SJA1000可完成CAN总线的物理层和数据链路层的所有功能,由CAN核心模块、发送缓冲区、接收FIFO、验收滤波器和接口管理逻辑组成[4]。
CTM1050是一款带隔离的高速CAN收发器芯片,该芯片内部集成了所有必需的CAN隔离及CAN收、发器件,其主要功能是将CAN 控制器的逻辑电平转换为CAN总线的差分电平并且具有直流2 500 V的隔离功能及ESD 保护作用。该芯片符合ISO 11898标准,可与其他遵从ISO 11898标准的CAN 收发器互连。
3 软件设计
本设计程序主要包括:串口初始化程序、SJA1000初始化程序、单片机接收串口中断服务子程序、单片机发送数据到串口中断服务子程序、单片机接收CAN数据子程序、单片机发送CAN数据程序以及一些异常错误处理子程序等等。程序流程图如图3所示。
本设计可以将RS232通信网络转换成CAN通信网络,能够很方便地实现RS232多点组网、远程通信,且不需要更改原有RS232通信软件,用户可直接嵌入原有的应用领域,使系统设计达到更先进的水平。
CAN总线 RS232 SJA1000 ATmega128 相关文章:
- 基于MSP430系列单片机的CAN总线接口转换卡设计(01-17)
- CAN总线—PROFIBUS-DP总线网关的实现方法(01-17)
- 汽车CAN总线(01-21)
- CAN总线控制器与DSP的接口(01-21)
- 基于ARM的CAN总线智能节点的设计(01-24)
- 基于WinCE的液位遥测系统软件设计(04-13)