【技术实现步骤摘要】
一种FPGA和MCU之间的快速通信方法
本专利技术涉及一种FPGA和MCU之间的快速通信方法,属于工控、嵌入式
技术介绍
FPGA(现场可编程门阵列)由于其硬件可编程、并行处理等特性,已经越来越多的用于工控、通信和图像处理等领域;在FPGA的应用中,经常需要和FPGA进行数据交互,用于FPGA芯片的配置、参数设置、数据导入导出等操作,进行数据交互的接口信号数量要求尽量少,异步串行接口(UART)由于其协议简单、所需数据线少等特点,常被用做芯片调试、监控等接口,但是由于UART编码和协议的特点,其速度受解码时钟频率限制,实际的传输速度有限,即使最快的MCU,其UART接口的速度最快也在10Mbps左右,对于FPGA也是如此,在需要大量数据传输的应用中,尤其是对于FPGA芯片,不但传输速度受限,更是无法发挥FPGA芯片的优势,浪费了通信带宽。SPI接口作为一种常用的同步串行接口,其速度远大于UART,在当前一般性能的MCU中可以达到50Mhz的带宽,高端的MCU更是能达到上百Mhz,除此,SPI接口使用简单,可 ...
【技术保护点】
1.一种FPGA和MCU之间的快速通信方法,其特征在于,包括:/n(1)MCU对SPI外设进行配置,配置SPI传输字长为10bit,空闲时钟极性为高电平,在SCK的第二个边沿采样;/n(2)MCU计算要发送的数据包的校验码,放在数据包的最后,生成原始数据包;/n(3)将原始数据包经8B/10B编码为10bit码;/n(4)将10bit码的数据包增加包头和包尾,打包成经过编码的数据包;/n(5)MCU将经过编码的数据包通过MOSI发送给FPGA;FPGA成功接收到报文并通过8B/10B报文解码和接收模块解码为原始数据,根据数据包的命令准备相应的应答数据,启动增强型SPI从机模 ...
【技术特征摘要】
1.一种FPGA和MCU之间的快速通信方法,其特征在于,包括:
(1)MCU对SPI外设进行配置,配置SPI传输字长为10bit,空闲时钟极性为高电平,在SCK的第二个边沿采样;
(2)MCU计算要发送的数据包的校验码,放在数据包的最后,生成原始数据包;
(3)将原始数据包经8B/10B编码为10bit码;
(4)将10bit码的数据包增加包头和包尾,打包成经过编码的数据包;
(5)MCU将经过编码的数据包通过MOSI发送给FPGA;FPGA成功接收到报文并通过8B/10B报文解码和接收模块解码为原始数据,根据数据包的命令准备相应的应答数据,启动增强型SPI从机模块,等待MCU读取;
(6)编码数据包发送完毕,MCU检查MISO的电平,根据MISO的电平判断FPGA的工作状态;
(7)根据FPGA的工作状态执行FPGA与MCU的握手操作,FPGA发送应答数据;
(8)MCU对SPI外设进行重新配置,配置SPI传输字长为8bit,空闲时钟极性为高电平,在SCK的第二个边沿采样;
(9)MCU通过MISO读取FPGA的应答数据;
(10)跳转到步骤(1),开始进行下一次传输。
2.根据权利要求1所述的一种FPGA和MCU之间的快速通信方法,其特征在于,还包括将FPGA和MCU通过2个数据线连接的步骤,
配置MISO为SPI的主机输入,从机输出信号;
配置MOSI为SPI的主机发送,从机接收信号;
所述MCU为SPI的主机,FPGA为SPI的从机。
3.根据权利要求2所述的一种FPGA和MCU之间的快速通信方法,其特征在于,所述FPGA包括8B/10B报文解码和接收模块,命令解释和执行模块,增强型SPI从机模块和外部接口模块;
所述8B/10B报文解码和接收模块用于接收MOSI信号线上发送的码流,将码流进行8B/10B解码,并校验报文的正确性;
所述命令解释和执行模块用于解析8B/10B报文解码和接收模块解码后的报文,得到命令和参数,并准备好响应数据;
所述增强型SPI从机模块用于将命令解释和执行模块准备好的响应数据发送至外部接口模块;
所述外部接口模块用于将数据经由MISO发送至MCU。
4.根据权利要求1所述的一种FPGA和MCU之间的快速通信方法,其特征在于,所述将10bit码的数据包增加包头和包尾,打包成经过编码的数据包,包括:
采用8B/10B编码的特殊字符K28.7和K29.7作为数据包的包头,采用特殊字符K28.7和K27.7作为数据包的包尾;
将10B编码的高位补0后得到包头的编码为0b0000_0000_0111_...
【专利技术属性】
技术研发人员:董艳博,王小红,侯凯,梁帅奇,蒋真,田安民,张青杰,李明珠,张华润,钮向荣,
申请(专利权)人:国电南瑞科技股份有限公司,国电南瑞南京控制系统有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。