本实用新型涉及计算机技术领域,具体地说是基于Microblaze核的CAN交换模块和系统。
背景技术:
在先前的设计中,CAN数据交换是通过单片机+SJA1000(一种独立CAN控制器)来实现的,通过单片机的IO口模拟CAN控制器进行数据解析,而一般单片机的IO口数量有限,要实现多路数据交换需要多个单片机,这样在设计的时候占用PCB板的面积较大。为设计带来很多不便,同时复杂的设计在使用及操作过程中也存在诸多不便。
技术实现要素:
本实用新型的技术任务是针对以上不足之处,提供基于Microblaze核的CAN交换模块和系统,利用FPGA的可重构性和可编程性,嵌入Microblaze软核,实现挂载的外设驱动的开发和数据接收及分配。
本实用新型解决其技术问题所采用的技术方案是:
基于Microblaze核的CAN交换模块,包括多个CAN IP核、一个串口UART IP核、一个I2C Maseter IP核和一个DDR3控制器。该CAN交换模块是在FPGA内嵌入自带的Microblaze软核,Microblaze软核通过AXI总线分别连接所述的多个CAN IP核、一个串口UART IP核、一个I2C Maseter IP核和一个DDR3控制器;
所述每个CAN IP核、串口UART IP核、I2C MaseterIP核和DDR3控制器均设置有外设接口,并连接相应的外接设备,用以辅助实现相应的功能。
其中,一个串口UART IP核用来实时配置CAN IP核的配置参数,通过外设接口连接外接设备进行CAN IP核的参数配置;一个I2C Master IP核用来实现配置参数的存储和提取,通过外设接口连接存储设备,进行配置参数的存储;一个DDR3控制器用于数据的缓存;CAN IP核用来实现满足CAN协议数据的分发和接收;Microblaze软核用来实现挂载的外设驱动的开发和数据的接收、分配。
进一步的,串口UART模块连接有控制终端设备,用于实时配置各个CAN接口的配置参数。
优选的,所述控制终端设备为PC机,通过PC机辅助进行CAN IP核参数配置。
进一步的,I2C Maseter模块连接有存储设备。用于存储已经配置好的参数。
优选的,所述存储设备为EEPROM。EEPROM (Electrically Erasable Programmable Read-Only Memory),即带电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。
进一步的,每一个CAN IP核均连接有CAN主机,用以实现CAN的数据交换,一个CAN主机发送数据,其他CAN主机均可以接收到发送的数据。
基于Microblaze核的CAN交换系统,具有上述的CAN交换模块、以及多台CAN主机、PC机、存储器和DDR3颗粒,多台CAN主机、PC机、存储器和DDR3颗粒分别连接相应的CAN交换模块的多个CAN IP核、串口UART IP核、I2C Maseter IP核和DDR3控制器。
该系统将一个CAN接口接收的数据分发到其他接口,它可以根据配置参数来进行各个CAN端口的配置。
利用CAN交换模块即FPGA内的Microblaze核实现挂载的CAN IP核驱动、串口驱动、I2C Master驱动和DDR3驱动开发。一上电后Microblaze对各个外设进行初始化,待初始化完成后从I2C 设备上读取已经存储的CAN配置参数去配置各个CAN模块,还可以通过串口配置模块实时的配置CAN的工作模式。待配置完模式后,通过几个带有CAN功能的主机和此CAN交换模块对接,然后从一个CAN主机发送数据,经过CAN交换模块后,其它的CAN主机可以接收到发送的数据。
可以应用在计算机领域、云终端、物联网终端、多媒体终端、汽车电子终端等需要CAN交换的应用场景。
本实用新型的基于Microblaze核的CAN交换模块和系统和现有技术相比,具有以下有益效果:
可根据FPGA的型号管脚数量多少实现多路CAN数据交换,以CAN数量模块多少选择FPGA型号,解决了多路数据交换需要多个单片机,设计时占用PCB板面积较大的问题。
适用于信息控制中心、呼叫中心、证券/金融交易系统、银行数据中心、工业控制环境、教学环境、测试中心、汽车电子等需要CAN数据交换的环境中。
附图说明
图1是本实用新型基于Microblaze核的CAN交换模块结构框图。
具体实施方式
下面结合具体实施例对本实用新型作进一步说明。
基于Microblaze核的CAN交换模块,包括多个CAN IP核、一个串口UART IP核、一个I2C Maseter IP核和一个DDR3控制器。通常,串口IP核用以实时配置CAN IP核的配置参数,I2C Master IP核用以实现配置参数的存储和提取,DDR3控制器用于数据的缓存,Microblaze软核用于实现挂载的外设驱动的开发和数据的接收、分配。
在Xilinx的FPGA内嵌入Microblaze软核,Microblaze软核通过AXI总线分别连接所述的多个CAN IP核、一个串口UART IP核、一个I2C Maseter IP核和一个DDR3控制器。所述每个CAN IP核、串口UART IP核、I2C MaseterIP核和DDR3控制器均设置有外设接口,并连接相应的外接设备。
其中,串口UART连接有控制终端设备,用于实时配置各个CAN接口的配置参数。所述控制终端设备为PC机,通过PC机进行各个CAN接口的参数配置。
I2C Maseter模块连接有存储设备,用于存储已经配置好的参数。所述存储设备为EEPROM。EEPROM (Electrically Erasable Programmable Read-Only Memory),即带电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程,一般用在即插即用。
每一个CAN IP核均连接有CAN主机,用以实现CAN的数据交换,一个CAN主机发送数据,其他CAN主机均可以接收到发送的数据。
通过串口模块实时配置各个CAN接口的配置参数;I2C Master 模块存储已经配置好的参数;CAN IP核实现满足CAN协议数据的分发与接收。在FPGA内嵌入Microblaze 核用来实现CAN驱动程序、串口驱动程序、I2C控制驱动和数据接收和分发;DDR3模块用来数据缓存和Microblaze 程序。
本实施例还包括一种CAN交换系统,具有上述的CAN交换模块、以及多台CAN主机、PC机、存储器和DDR3颗粒。多台CAN主机、PC机、存储器和DDR3颗粒分别连接相应的CAN交换模块的多个CAN IP核、串口UART IP核、I2C Maseter IP核和DDR3控制器。
利用Microblaze核实现挂载的CAN IP核驱动、串口驱动、I2C Master驱动和DDR3驱动开发。一上电后Microblaze对各个外设进行初始化,待初始化完成后从EEPROM上读取已经存储的CAN配置参数去配置各个CAN模块,还可以通过PC机和串口配置模块实时的配置CAN的工作模式。待配置完模式后,通过多个带有CAN功能的主机和此CAN交换模块对接,然后从一个CAN主机发送数据,经过CAN交换模块后,其它的CAN主机可以接收到发送的数据。
具体操作如下:
1)通过PC机连接串口配置模块,配置各个CAN外设的工作模式。
2)将几个带有CAN功能的主机分别对接到CAN交换模块上。
3)通过CAN交换模块,在一台CAN主机上根据配置的模式发送数据,可以在其它的CAN主机上接收到已经发送的数据。
该系统将一个CAN接口接收的数据分发到其他接口,它可以根据配置来进行各个CAN端口的配置。
可以应用在计算机领域、云终端、物联网终端、多媒体终端、汽车电子终端等需要CAN交换的应用场景。
过上面具体实施方式,所述技术领域的技术人员可容易的实现本实用新型。但是应当理解,本实用新型并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。