CN116303199A - Fsmc总线与avalon总线互转数据的方法 - Google Patents
Fsmc总线与avalon总线互转数据的方法 Download PDFInfo
- Publication number
- CN116303199A CN116303199A CN202310055822.9A CN202310055822A CN116303199A CN 116303199 A CN116303199 A CN 116303199A CN 202310055822 A CN202310055822 A CN 202310055822A CN 116303199 A CN116303199 A CN 116303199A
- Authority
- CN
- China
- Prior art keywords
- bus
- data
- fsmc
- address
- avalon
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 43
- 238000006243 chemical reaction Methods 0.000 claims abstract description 3
- 230000000977 initiatory effect Effects 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 230000000630 rising effect Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000002035 prolonged effect Effects 0.000 description 4
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 3
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 3
- 238000013497 data interchange Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
本发明涉及一种FSMC总线与AVALON总线互转数据的方法,使用FPGA芯片和STM32芯片,包含FSMC总线通信模块、Avalon总线通信模块和桥接模块,STM32芯片在与FPGA芯片之间发起数据通信时包括:数据写操作步骤和数据读操作步骤,通过时钟源、复位源之间点到点的连接,通道接口之间的点到点的连接,开发人员将FPGA内部的逻辑模块挂载到Avalon总线从端口上,桥接模块作为主端口挂载到Avalon总线上,桥接模块同时作为连接FSMC总线的接口模块,实现FSMC总线通信模块和Avalon总线通信模块的数据互转操作。
Description
技术领域
本发明涉及一种数据传输方法,具体的说,是涉及一种FSMC总线与AVALON总线互转数据的方法。
背景技术
现有技术STM32芯片和FPGA芯片交互数据,采用传统的串口传输方式,例如:uart、SPI、I2C通讯,传输的数据量小、传输速度慢,如果传输大量的数据,需要花费大量时间,而且在FPGA处数据解析也相对比较麻烦,需要消耗大量的解析时间,数据传输效率低。
发明内容
针对上述现有技术中的不足,本发明提供一种提高数据传输效率,缩短数据传输时间,降低数据处理难度的FSMC总线与AVALON总线互转数据的方法。
本发明所采取的技术方案是:
一种FSMC总线与AVALON总线互转数据的方法,使用FPGA芯片和STM32芯片,包括FSMC总线通信模块和Avalon总线通信模块和桥接模块,STM32芯片在与FPGA芯片之间发起数据通信时包括:数据写操作步骤和数据读操作步骤;通过时钟源、复位源之间点到点的连接,通道接口之间的点到点的连接,将FPGA内部的逻辑模块挂载到Avalon总线从端口上,桥接模块作为主端口挂载到Avalon总线上,桥接模块同时作为连接FSMC总线的接口模块,实现FSMC总线通信模块和Avalon总线通信模块的数据协议互转的操作。
FSMC总线用来实现FPGA和STM32之间的并行通信,而Avalon总线则是借助FPGA的开发软件Quartus中的Qsys来实现的,借助Altera的Avalon总线的IP核可以与ARM AMBA总线通过Qsys混合,实现AMBA-AHB-to-Avalon桥。
模块首先会接收FSMC总线的地址;
判断是读操作还是写操作;
如果是读操作,则将Avalon总线的数据传输给FSMC总线,通过判断noe状态,如果被拉高则表示当前读操作结束,否则继续进行读操作;
如果是写操作,则将FSMC总线数据存储到FIFO存储器中,然后再将FIFO存储器输出端的数据释放到Avalon总线指定的数据交互地址上;
判断nwe信号,如果nwe处于高电平状态表示当前写操作结束,否则继续进行写操作;
如此通过FSMC桥接Avalon总线来完成STM32和FPGA之间的通信。
写操作包括如下步骤:
步骤s100,开始;
步骤s101,当有时间数据需要由单片机传送到FPGA中时,STM32将解析的外部其他器件的时间数据挂载到指定的地址位上传送给FPGA;
步骤s102,STM32将片选信号ne拉低,将地址放到总线上;
步骤s103,将写有效nwe拉低;
步骤s104,将所要传输的数据发送给FPGA;
步骤s105,FPGA将nwait拉高表示此次数据交互结束;
步骤s106,FPGA检测到nadv地址有效信号出现上升沿时,将总线上的地址存储到地址寄存器;
步骤s107,FPGA检测到nwe和ne拉低之后,将FSMC总线数据转送给内部寄存器;
步骤s108,将字节使能取反与上述两组数据打包存放到FIFO中,与此同时将FIFO的写请求拉高将数据存入其中;
步骤s109,检测到FIFO非空,FIFO读请求拉高;
步骤s110,Avalon总线将写使能avm_write_n(低有效)拉低,同时将数据转送到挂在Avalon总线上的处理模块上;
步骤s111,写操作流程结束。
读操作包括如下步骤:
FPGA和STM32约定好数据处理时序;
步骤s200,开始;
步骤s201,将处理完的数据放到Avalon总线上等待STM32的读取;
步骤s202,STM32作为主机首先发送片选信号ne(拉低);
步骤s203,将地址放在FSMC总线上;
步骤s204,拉低读地址nadv信号;
步骤s205,使能读使能信号noe(拉低);
步骤s206,FPGA把相应地址上的数据放到FSMC之后拉高nwait信号,此次通信结束;
步骤s207,在FPGA端将检测到片选信号拉低;
步骤s208,在nadv上升沿时读取总线上的地址;
步骤s209,检测到读有效的时序时将地址传送给Avalon总线,同时将Avalon总线上的avm_read_n拉低;
步骤s210,随后avm_waitrequest(Avalon总线读有效信号)拉高;
步骤s211,将对应Avalon总线上的对应地址上的数据放出来,此时noe还是处于低电平有效状态;
步骤s212,桥接模块会将数据放到FSMC总线上,
步骤s213,桥接模块将nwait拉高;
步骤s214,读操作流程结束。
FPGA和STM32之间相应功能地址进行约定;
STM32作为主机可以对指定地址进行读操作和写操作;
根据Avalon总线通道之间点对点连接的特征,将含有某项功能的模块添加到Avalon总线上,连接好时钟线、复位线、数据线;
设置好外接通信端口和名称之后,利用Qsys自动分配地址或者人为设置基地址,保存后生成IP核添加到FPGA工程中,此地址也是STM32端通过FSMC直接访问的数据地址。
所述FSMC桥接Avalon总线用到的地址为自定义地址。
STM32处通过STM32CubeMX.exe生成FSMC总线,为了提高总线通信的可靠性和准确性在STM32处时序进行调整。
在STM32端设置FSMC时序,为保证在数据交互时留下充分的时间去处理总线数据,将数据建立时间配置成原来的3倍。
STM32端的工程可以通过STM32CubeMX.exe软件配置即可生成,生成的工程中关于FSMC总线的配置是自动生成的,以一个时钟周期HCLK为单位,一般配置为:
/* Timing */
Timing.AddressSetupTime = 1; //地址建立时间
Timing.AddressHoldTime = 1; //地址保持时间
Timing.DataSetupTime = 5;//数据建立时间 拉长数据建立时间,保证总线数据被安全读写
Timing.BusTurnAroundDuration = 1;//总线手抓阶段的持续时间
Timing.CLKDivision = 16; //CLK信号的时钟分频比
Timing.DataLatency = 17; //数据延迟
Timing.AccessMode = FSMC_ACCESS_MODE_A; //访问模式
为了保证FSMC总线和Avalon总线数据通信稳定可靠,需要将Timing.DataSetupTime设置的大一点,如下:
/* Timing */
Timing.AddressSetupTime = 1; //地址建立时间
Timing.AddressHoldTime = 1; //地址保持时间
Timing.DataSetupTime = 15;//数据建立时间 拉长数据建立时间,保证总线数据被安全读写
Timing.BusTurnAroundDuration = 1;//总线手抓阶段的持续时间
Timing.CLKDivision = 16; //CLK信号的时钟分频比
Timing.DataLatency = 17; //数据延迟
Timing.AccessMode = FSMC_ACCESS_MODE_A; //访问模式
上述配置主要是想延长总线数据传输的时候的数据建立时间和数据保持时间,保障数据传输的完整性和可靠性。
FPGA与STM32通信的时序信号包括:地址有效信号nadv、片选信号ne、写有效信号nwe、读有效信号noe、字节使能信号nbl以及16位地址数据总线addr_data_bus,通过以上信号工作时组成的时序来判断获取地址以后当前指令是读是写从而决定是将当前的数据读取或发送给Avalon总线。
FPGA内部有多个实现不同功能的逻辑模块,当逻辑模块需要和STM32进行数据交互时,将对应的功能模块连接到Avalon总线上的从端口,通过Qsys配置完通信地址之后,STM32通过FSMC总线与桥接模块直接访问该地址以读取或者写入数据到FPGA中的对应逻辑功能模块。
本发明相对现有技术的有益效果:
本发明是一种FSMC总线与AVALON总线互转数据的方法,FSMC总线是并行传输方式,将桥接模块当做Avalon总线的处理器,Avalon总线上可以同时挂接大量数据,高速完成STM32和FPGA之间的大量通信;在STM32上对FSMC时序的配置简单易调用;在FPGA中将FSMC协议转换成Avalon协议,以完成FSMC桥接Avalon的通信。
附图说明
图1是本发明的FSMC总线与Avalon总线桥接示意图;
图2是本发明的FSMC结构和接口定义示意图;
图3是本发明的FSMC地址映射示意图;
图4是本发明的FSMC物理结构示意图;
图5是本发明的FSMC总线异步访问读时序图;
图6是本发明的FSMC总线异步访问写时序图;
图7是本发明的Avalon总线读时序图;
图8是本发明的Avalon总线写时序图;
图9是本发明的FSMC桥接Avalon总线流程图;
图10是FSMC总线与AVALON总线互转数据的方法的数据写操作步骤流程图;
图11是FSMC总线与AVALON总线互转数据的方法的数据读操作步骤流程图。
具体实施方式
以下参照附图及实施例对本发明进行详细的说明:
附图1-11可知,一种FSMC总线与AVALON总线互转数据的方法,使用FPGA芯片和STM32芯片,包含FSMC总线通信模块、Avalon总线通信模块和桥接模块,STM32芯片在与FPGA芯片之间发起数据通信时包括:数据写操作步骤和数据读操作步骤;通过时钟源、复位源之间点到点的连接,通道接口之间的点到点的连接,将FPGA内部的逻辑模块挂载到Avalon总线从端口上,桥接模块作为主端口挂载到Avalon总线上,桥接模块同时作为连接FSMC总线的接口模块,实现FSMC总线通信模块和Avalon总线通信模块数据互转的操作。
FSMC总线用来实现FPGA和STM32之间的并行通信,而Avalon总线则是借助FPGA的开发软件Quartus中的Qsys来实现的,借助Altera的Avalon总线的ip核可以与ARM AMBA总线通过Qsys混合,实现AMBA-AHB-to-Avalon桥。
模块首先会接收FSMC总线的地址;
判断是读操作还是写操作;
如果是读操作,则将Avalon总线的数据传输给FSMC总线,通过判断noe状态,如果被拉高则表示当前读操作结束,否则继续进行读操作;
如果是写操作,则将FSMC总线数据存储到FIFO存储器中,然后再将FIFO存储器输出端的数据释放到Avalon总线指定的数据交互地址上;
判断nwe信号,如果nwe处于高电平状态表示当前写操作结束,否则继续进行写操作;
如此通过FSMC桥接Avalon总线来完成STM32和FPGA之间的通信。
写操作包括如下步骤:
步骤s100,开始;
步骤s101,当有时间数据需要由单片机传送到FPGA中时,STM32将解析的外部其他器件的时间数据挂载到指定的地址位上传送给FPGA;
步骤s102,STM32将片选信号ne拉低,将地址放到总线上;
步骤s103,将写有效nwe拉低;
步骤s104,将所要传输的数据发送给FPGA;
步骤s105,FPGA将nwait拉高表示此次数据交互结束;
步骤s106,FPGA检测到nadv地址有效信号出现上升沿时,将总线上的地址存储到地址寄存器;
步骤s107,FPGA检测到nwe和ne拉低之后,将FSMC总线数据转送给内部寄存器;
步骤s108,将字节使能取反与上述两组数据打包存放到FIFO中,与此同时将FIFO的写请求拉高将数据存入其中;
步骤s109,检测到FIFO非空,FIFO读请求拉高;
步骤s110,Avalon总线将写使能avm_write_n(低有效)拉低,同时将数据转送到挂在Avalon总线上的处理模块上;
步骤s111,写操作流程结束。
读操作包括如下步骤:
FPGA和STM32约定好数据处理时序;
步骤s200,开始;
步骤s201,将处理完的数据放到Avalon总线上等待STM32的读取;
步骤s202,STM32作为主机首先发送片选信号ne(拉低);
步骤s203,将地址放在FSMC总线上;
步骤s204,拉低读地址nadv信号;
步骤s205,使能读使能信号noe(拉低);
步骤s206,FPGA把相应地址上的数据放到FSMC之后拉高nwait信号,此次通信结束;
步骤s207,在FPGA端将检测到片选信号拉低;
步骤s208,在nadv上升沿时读取总线上的地址;
步骤s209,检测到读有效的时序时将地址传送给Avalon总线,同时将Avalon总线上的avm_read_n拉低;
步骤s210,随后avm_waitrequest(Avalon总线读有效信号)拉高;
步骤s211,将对应Avalon总线上的对应地址上的数据放出来,此时noe还是处于低电平有效状态;
步骤s212,桥接模块会将数据放到FSMC总线上,
步骤s213,桥接模块将nwait拉高;
步骤s214,读操作流程结束。
FPGA和STM32之间相应功能地址进行约定;
STM32作为主机可以对该地址进行读操作和写操作;
根据Avalon总线通道之间点对点连接的特征,将含有某项功能的模块添加到Avalon总线上,连接好时钟线、复位线、数据线;
设置好外接通信端口和名称之后,利用Qsys自动分配地址或者人为设置基地址,保存后生成IP核添加到FPGA工程中,此地址也是STM32端通过FSMC直接访问的数据地址。
所述FSMC桥接Avalon总线用到的地址为自定义地址。
STM32处通过STM32CubeMX.exe生成FSMC总线,为了提高总线通信的可靠性和准确性在STM32处时序进行调整。
在STM32端设置FSMC时序,为保证在数据交互时留下充分的时间去处理总线数据,将数据建立时间配置成原来的3倍。
STM32端的工程可以通过STM32CubeMX.exe软件配置即可生成,生成的工程中关于FSMC总线的配置是自动生成的,以一个时钟周期HCLK为单位,一般配置为:
/* Timing */
Timing.AddressSetupTime = 1; //地址建立时间
Timing.AddressHoldTime = 1; //地址保持时间
Timing.DataSetupTime = 5;//数据建立时间 拉长数据建立时间,保证总线数据被安全读写
Timing.BusTurnAroundDuration = 1;//总线手抓阶段的持续时间
Timing.CLKDivision = 16; //CLK信号的时钟分频比
Timing.DataLatency = 17; //数据延迟
Timing.AccessMode = FSMC_ACCESS_MODE_A; //访问模式
为了保证FSMC总线和Avalon总线数据通信稳定可靠,需要将Timing.DataSetupTime设置的大一点,如下:
/* Timing */
Timing.AddressSetupTime = 1; //地址建立时间
Timing.AddressHoldTime = 1; //地址保持时间
Timing.DataSetupTime = 15;//数据建立时间 拉长数据建立时间,保证总线数据被安全读写
Timing.BusTurnAroundDuration = 1;//总线手抓阶段的持续时间
Timing.CLKDivision = 16; //CLK信号的时钟分频比
Timing.DataLatency = 17; //数据延迟
Timing.AccessMode = FSMC_ACCESS_MODE_A; //访问模式
上述配置主要是想延长总线数据传输的时候的数据建立时间和数据保持时间,保障数据传输的完整性和可靠性。
FPGA与STM32通信的时序信号包括:地址有效信号nadv、片选信号ne、写有效信号nwe、读有效信号noe、字节使能信号nbl以及16位地址数据总线addr_data_bus,通过以上信号工作时组成的时序来判断获取地址以后当前指令是读是写从而决定是将当前的数据读取或发送给Avalon总线。
FPGA内部有多个实现不同功能的逻辑模块,当逻辑模块需要和STM32进行数据交互时,将对应的功能模块连接到Avalon总线上的从端口,通过Qsys配置完通信地址之后,STM32通过FSMC总线与桥接模块直接访问该地址以读取或者写入数据到FPGA中的对应逻辑功能模块。
本发明FSMC总线与AVALON总线互转数据的方法,FSMC总线是并行传输方式,将桥接模块当做Avalon总线的处理器,Avalon总线上可以同时挂接大量数据,高速完成STM32和FPGA之间的大量通信;在STM32上对FSMC时序进行配置;在FPGA上将FSMC协议转换成Avalon协议,以完成FSMC桥接Avalon的通信。
FSMC总线用来实现FPGA和STM32之间的并行通信,而Avalon总线则是借助FPGA的开发软件Quartus中的Qsys来实现的,借助Altera的Avalon总线的ip核与ARM AMBA总线通过Qsys混合,实现AMBA-AHB-to-Avalon桥。
通过时钟源、复位源之间点到点的连接,通道接口之间的点到点的连接,将FPGA内部的逻辑模块挂载到Avalon总线从端口上,桥接模块作为主端口挂载到Avalon总线上,桥接模块同时作为连接FSMC总线的接口模块,实现FSMC总线和Avalon总线的数据互转操作。
以上所述,仅是本发明的较佳实施例而已,并非对本发明的结构作任何形式上的限制。凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明的技术方案范围内。
Claims (8)
1.一种FSMC总线与AVALON总线互转数据的方法,使用FPGA芯片和STM32芯片,包含FSMC总线通信模块、Avalon总线通信模块和桥接模块,STM32芯片在与FPGA芯片之间发起数据通信时包括:数据写操作步骤和数据读操作步骤,其特征在于:通过时钟源、复位源之间点到点的连接,通道接口之间的点到点的连接,将FPGA内部的逻辑模块挂载到Avalon总线从端口上,桥接模块作为主端口挂载到Avalon总线上,桥接模块同时作为连接FSMC总线的接口模块,实现FSMC总线通信模块和Avalon总线通信模块的数据互转操作。
2.根据权利要求1所述FSMC总线与AVALON总线互转数据的方法,其特征在于:
桥接模块首先会接收FSMC总线的地址;
判断是读操作还是写操作;
如果是读操作,则将Avalon总线的数据传输给FSMC总线,通过判断noe状态,如果被拉高则表示当前读操作结束,否则继续进行读操作;
如果是写操作,则将FSMC总线数据存储到FIFO存储器中,然后再将FIFO存储器输出端的数据释放到Avalon总线指定的数据交互地址上;
判断nwe信号,如果nwe处于高电平状态表示当前写操作结束,否则继续进行写操作;
如此通过FSMC桥接Avalon总线来完成STM32和FPGA之间的通信。
3.根据权利要求2所述FSMC总线与AVALON总线互转数据的方法,其特征在于:
写操作包括如下步骤:
步骤s100,开始;
步骤s101,当有时间数据需要由单片机传送到FPGA中时,STM32将解析的外部其他器件的时间数据挂载到指定的地址位上传送给FPGA;
步骤s102,STM32将片选信号ne拉低,将地址放到总线上;
步骤s103,将写有效nwe拉低;
步骤s104,将所要传输的数据发送给FPGA;
步骤s105,FPGA将nwait拉高表示此次数据交互结束;
步骤s106,FPGA检测到nadv地址有效信号出现上升沿时,将总线上的地址存储到地址寄存器;
步骤s107,FPGA检测到nwe和ne拉低之后,将FSMC总线数据转送给内部寄存器;
步骤s108,将字节使能取反与上述总线地址和FSMC总线数据打包存放到FIFO中,与此同时将FIFO的写请求拉高将数据存入其中;
步骤s109,检测到FIFO非空,FIFO读请求拉高;
步骤s110,Avalon总线将写使能avm_write_n拉低,同时将数据转送到挂在Avalon总线上的处理模块上;
步骤s111,写操作流程结束。
4.根据权利要求2所述FSMC总线与AVALON总线互转数据的方法,其特征在于:
读操作包括如下步骤:
FPGA和STM32约定好数据处理时序;
步骤s200,开始;
步骤s201,将处理完的数据放到Avalon总线上等待STM32的读取;
步骤s202,STM32作为主机首先发送片选信号ne拉低;
步骤s203,将地址放在FSMC总线上;
步骤s204,拉低读地址nadv信号;
步骤s205,使能读使能信号noe拉低;
步骤s206,FPGA把相应地址上的数据放到FSMC之后拉高nwait信号,此次通信结束;
步骤s207,在FPGA端将检测到片选信号拉低;
步骤s208,在nadv上升沿时读取总线上的地址;
步骤s209,检测到读有效的时序时将地址传送给Avalon总线,同时将Avalon总线上的avm_read_n拉低;
步骤s210,随后Avalon总线读有效信号avm_waitrequest拉高;
步骤s211,将对应Avalon总线上的对应地址上的数据放出来,此时noe还是处于低电平有效状态;
步骤s212,桥接模块会将数据放到FSMC总线上,
步骤s213,桥接模块将nwait拉高;
步骤s214,读操作流程结束。
5.根据权利要求1所述FSMC总线与AVALON总线互转数据的方法,其特征在于:
FPGA和STM32之间相应功能地址进行约定;
STM32作为主机可以对指定地址进行读操作和写操作;
根据Avalon总线通道之间点对点连接的特征,将含有某项功能的模块连接到Avalon总线上,连接好时钟线、复位线、数据线;
设置好外接通信端口和名称之后,利用Qsys自动分配地址或者人为设置基地址,保存后生成IP核添加到FPGA工程中,此地址也是STM32端通过FSMC总线直接访问的数据地址。
6.根据权利要求1所述FSMC总线与AVALON总线互转数据的方法,其特征在于:所述FSMC桥接Avalon总线用到的地址为自定义地址;
在STM32端设置FSMC时序,为保证在数据交互时留下充分的时间去处理总线数据,将数据建立时间配置成原来的3倍。
7.根据权利要求4所述FSMC总线与AVALON总线互转数据的方法,其特征在于:
FPGA与STM32通信的时序信号包括:地址有效信号nadv、片选信号ne、写有效信号nwe、读有效信号noe、字节使能信号nbl以及16位地址数据总线addr_data_bus,通过以上信号工作时组成的时序来判断获取地址以后当前指令是读是写从而决定是将当前的数据读取或发送给Avalon总线。
8.根据权利要求1所述FSMC总线与AVALON总线互转数据的方法,其特征在于:
FPGA内部有多个实现不同功能的逻辑模块,当逻辑模块需要和STM32进行数据交互时,将对应的功能模块连接到Avalon总线上的从端口,通过Qsys配置完通信地址之后,STM32通过FSMC总线与桥接模块直接访问该地址以读取或者写入数据到FPGA中的对应逻辑功能模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310055822.9A CN116303199B (zh) | 2023-01-19 | 2023-01-19 | Fsmc总线与avalon总线互转数据系统及互转数据方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310055822.9A CN116303199B (zh) | 2023-01-19 | 2023-01-19 | Fsmc总线与avalon总线互转数据系统及互转数据方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116303199A true CN116303199A (zh) | 2023-06-23 |
CN116303199B CN116303199B (zh) | 2024-06-25 |
Family
ID=86834948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310055822.9A Active CN116303199B (zh) | 2023-01-19 | 2023-01-19 | Fsmc总线与avalon总线互转数据系统及互转数据方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303199B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104749987A (zh) * | 2013-12-29 | 2015-07-01 | 哈尔滨理大晟源科技开发有限公司 | 基于fpga的can总线控制器 |
CN105183680A (zh) * | 2015-09-18 | 2015-12-23 | 烽火通信科技股份有限公司 | 实现PCIe接口转CF卡接口的FPGA芯片及方法 |
CN107085560A (zh) * | 2017-04-28 | 2017-08-22 | 西安微电子技术研究所 | 一种emif接口与ahb/apb时序桥接电路及其控制方法 |
CN107911391A (zh) * | 2017-12-14 | 2018-04-13 | 天津光电通信技术有限公司 | 一种基于fpga的axi协议与spi协议转换的方法 |
CN110321304A (zh) * | 2019-07-05 | 2019-10-11 | 山东浪潮人工智能研究院有限公司 | 车载环境下fpga和stm32之间的总线通信系统 |
-
2023
- 2023-01-19 CN CN202310055822.9A patent/CN116303199B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104749987A (zh) * | 2013-12-29 | 2015-07-01 | 哈尔滨理大晟源科技开发有限公司 | 基于fpga的can总线控制器 |
CN105183680A (zh) * | 2015-09-18 | 2015-12-23 | 烽火通信科技股份有限公司 | 实现PCIe接口转CF卡接口的FPGA芯片及方法 |
CN107085560A (zh) * | 2017-04-28 | 2017-08-22 | 西安微电子技术研究所 | 一种emif接口与ahb/apb时序桥接电路及其控制方法 |
CN107911391A (zh) * | 2017-12-14 | 2018-04-13 | 天津光电通信技术有限公司 | 一种基于fpga的axi协议与spi协议转换的方法 |
CN110321304A (zh) * | 2019-07-05 | 2019-10-11 | 山东浪潮人工智能研究院有限公司 | 车载环境下fpga和stm32之间的总线通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116303199B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100560761B1 (ko) | 인터페이스 변환 시스템 및 그 방법 | |
CN112860612B (zh) | 互联裸芯与mpu的接口系统及其通信方法 | |
US20020136220A1 (en) | Apparatus and method for an interface unit for data transfer between data processing units in the asynchronous transfer mode and in the I/O mode | |
CN108595350B (zh) | 一种基于axi的数据传输方法和装置 | |
EP0378426A2 (en) | Data transfer using bus address lines | |
CN112416823B (zh) | 一种突发模式下的传感器数据读写控制方法、系统及芯片 | |
CN109165178B (zh) | 一种基于RapidIO的弹上系统SoC芯片间高速通信方法 | |
CN101162448A (zh) | 一种usb高速数据隧道的硬件传输方法 | |
CN111782154B (zh) | 数据搬移方法、装置及系统 | |
CN114443170A (zh) | Fpga动态并行加卸载系统 | |
US5274784A (en) | Data transfer using bus address lines | |
CN113961494A (zh) | 一种pcie总线与axi总线的桥接系统 | |
CN116303199B (zh) | Fsmc总线与avalon总线互转数据系统及互转数据方法 | |
JP2009542148A (ja) | データ処理装置における電力消費の制御 | |
KR100476895B1 (ko) | 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법 | |
CN117194289A (zh) | 一种基于fmql的多通道可重构数据传输装置 | |
CN111597137A (zh) | 一种基于spi协议的动态调试方法、装置及系统 | |
CN114996184B (zh) | 兼容实现spi或i2c从机的接口模块及数据传输方法 | |
CN108228517B (zh) | I3c电路设备、系统及通信方法 | |
WO2011012558A1 (en) | Transaction terminator | |
CN112835834B (zh) | 数据传输系统 | |
CN219916336U (zh) | Lpc接口至axi总线协议桥接器 | |
CN118193438A (zh) | 一种基于fpga和dsp的hpi接口通信系统及方法 | |
CN117033267B (zh) | 混合存储主控制器及混合存储器 | |
CN113687791B (zh) | 基于预读取和分支判断机制的存储器数据快速读取装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |