2.3 通信协议设计
主单片机和上位机的通信速率及FPGA和从单片机的通信速率均设置为38.4 Kbps,可以更精确的控制主单片机与各个从单片机之间的通信时间。通信指令由报头、设备类型、设备号、命令号、命令数据、校验等字段组成。报头用于通知单片机开始串行通信,设备类型和设备号用于将指令正确传达到相应的设备,命令号用于通知单片机指令,命令数据用于通知单片机具体的功能,校验则采用CRC校验以保证通信的准确性。写入控制命令号为00H,读取命令号为01H,读取指令命令数据为0字节。通信指令的帧格式如下:
单片机接收到控制命令后,如果接收正确,返回00H,若错误则返回01H.返回帧格式为:
读取指令没有命令数据,帧格式为:
接收后单片机返回帧格式为:
结语
本文介绍了在FPGA上集成多个UART的方法,并以此为基础搭建了一个多单片机通信网络。设计中采用FPGA作为串行接口扩展器件与传统器件相比具有功能灵活、扩展性好的特点。通过实验证明,该通信网络相对于传统的总线拓扑网络具有速度快、实时性好的特点,同时该网络可以根据外设需要随意扩展,非常适合应用于监督计算机控制系统和集散控制网络。
|