CN111913899B - 一种基于fsmc与fpga的uart拓展方法 - Google Patents
一种基于fsmc与fpga的uart拓展方法 Download PDFInfo
- Publication number
- CN111913899B CN111913899B CN202010627548.4A CN202010627548A CN111913899B CN 111913899 B CN111913899 B CN 111913899B CN 202010627548 A CN202010627548 A CN 202010627548A CN 111913899 B CN111913899 B CN 111913899B
- Authority
- CN
- China
- Prior art keywords
- uart
- data
- fsmc
- fpga
- stm32
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004891 communication Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本公开提供了一种基于FSMC与FPGA的UART拓展方法,在STM32上将UART协议转换为FSMC协议;在FPGA上将FSMC协议转换为UART数据,以完成与FSMC的通信;在FPGA上将普通数据转换为UART协议,使数据能够通过拓展出的UART接口完成与外部设备间的数据收发。本公开过能够面向多UART应用,以FPGA的丰富可重构逻辑资源和I/O资源支持STM32的拓展性,使开发人员能够更灵活的使用更多UART接口而不必改变编程方式。
Description
技术领域
本公开属于嵌入式设计与通信技术领域,涉及一种基于FSMC与FPGA的UART拓展方法。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
在嵌入式领域,由于受到功耗、成本、体积和通用性等方面的限制,芯片和片上系统集成的通信接口往往十分有限。以常见的Stm32F103系列为例,该系列采用了ArmCortex-M3架构,芯片上的通信接口只有5个UART、3个SPI、2个I2C、1个CAN总线和1个USB。当需要大量通信接口的应用出现时,普通芯片已有的接口就无法满足需要,常规的做法有以下几种:
1、在嵌入式系统中加入更多微控制器,但这种做法成本较高且开发复杂度会随着微控制器芯片数量的增加而提升。
2、采用FPGA公司提供的异构计算平台,基于FPGA使用其现有IP拓展通讯接口。但异构计算平台如Xilinx的Zynq系列和Intel的SocFPGA成本和功耗更高且ARM核的型号基本固定,导致难以满足可持续性和灵活性的要求。
3、采用专用通信协议转换芯片,如SPI转UART芯片。但SPI资源有限,并且对于开发人员而言,更希望开发多UART应用时面向的是无差别的UART,而不需要考虑普通UART和SPI转UART的区别。
发明内容
本公开为了解决上述问题,提出了一种基于FSMC与FPGA的UART拓展方法,本公开经过三次协议转换,能够解决STM32 UART外设数量不足的问题。
根据一些实施例,本公开采用如下技术方案:
一种基于FSMC与FPGA的UART拓展方法,包括以下步骤:
在STM32上将UART协议转换为FSMC协议;
在FPGA上将FSMC协议转换为UART数据,以完成与FSMC的通信;
在FPGA上将普通数据转换为UART协议,使数据能够通过拓展出的UART接口完成与外部设备间的数据收发。
作为可选择的实施方式,还包括拓展出的UART接口轮询步骤,具体包括:设置两个标志位,一个是写FIFO为空标志,一个是读BRAM非空标志,当要将数据发送到FPGA时,STM32轮询检查写FIFO空标志,若为1,则发送数据并将标志位置0,FPGA接收到数据后通过GPIO将标志位置1,STM32轮询检查写FIFO空标志,为0则等待发送;当FPGA上接收到外部设备发送的数据时,通过GPIO将读BRAM非空标志位置1,STM32处理器轮询访问标志位,当发现读BRAM非空标志位为1时,发送UART读请求读取存放在FPGA中的数据,读取完成后将读BRAM非空标志位置0。
作为可选择的实施方式,还包括STM32中断过程,具体包括:
在STM32将其中一个EXTI外部中断引入到FPGA上,FPGA通过设置与外部中断相连的寄存器引发STM32中断。
作为进一步的限定,当STM32通过中断方式发送数据时,每发送1个字节数据就离开发送函数去执行其他任务,FPGA每接收到1个字节数据,设置寄存器引发STM32中断,STM32在中断中进入发送函数继续发送1字节数据,并将中断失效,如此循环直至发送结束。
作为进一步的限定,当STM32通过中断方式接收数据时,FPGA每接收到1字节数据就设置寄存器引发STM32中断,STM32在中断中进入接收函数,发送UART接收命令读取1字节数据并使中断失效,如此循环直至结束。
作为可选择的实施方式,还包括拓展UART的DMA使用步骤,具体包括将STM32上的DMA设置为memorytomemory模式,在发送时将目标地址设置为拓展UART所对应的FSMC中的地址,在接收时将源地址设置为FSMC中的对应地址。
作为可选择的实施方式,在FPGA上将FSMC协议转换为UART数据的具体过程包括每个拓展UART都配有一个双clk写FIFO,FSMC通过写FIFO发送数据给拓展UART,将FSMC的地址线通过地址译码器转换为只有一位为高的地址使能信号,使FSMC地址与拓展UART一一对应,并通过clk与FSMC的NWE相与控制译码器使能,写FIFO的Data_in与FSMC的Data线低位相连,Data_out与UART的TDR相连;当FSMC发送数据时,NWE使能,译码器生效,FSMC地址经过译码使能了对应UART写FIFO的WR_en,数据被存入写FIFO,然后被发送到UART的TDR寄存器,FSMC完成发送。
作为可选择的实施方式,FSMC的数据收发共用一条数据线,UART数据线收发分用,通过数据线分位使用实现数据线收发复用,数据线低位连接到发送逻辑,高位连接到接收逻辑。
作为可选择的实施方式,在接收逻辑中使用与UART数量同容量的BRAM,并使BRAM的D_in位宽为拓展UART数量*字宽。
作为可选择的实施方式,FSMC接收流程中,UART首先接收到外部设备发来的数据,通过RDR寄存器传到BRAMD_in的对应位上,并且置高字屏蔽线,使BRAM中对应位置被更新而其他位置不受影响,然后FSMC发起读请求,通过Addr_in传递地址并读取数据。
作为可选择的实施方式,通过拓展出的UART接口完成与外部设备间的数据收发过程包括:采用过采样的方法接收外部UART数据:在FPGA中为时钟逻辑提供时钟,然后通过分频系数分频获得波特率倍数的时钟;根据UART协议,空闲时数据线应保持为高,发送数据前先要发送起始位,在波特率倍数频率的采样逻辑下检测到起始位后,就开始计数。
作为可选择的实施方式,通过拓展出的UART接口完成与外部设备间的数据收发过程进行否则就会发overrun错误检验,具体过程包括设置overrun标志位,接收到新数据时将标志位置1,FSMC发来读请求后清空标志位,若在标志位为1时又接收到新数据,则认为发生overrun错误,将错误报告给STM32。
与现有技术相比,本公开的有益效果为:
本公开经过三次协议转换,第一次是在STM32上将UART协议转换为FSMC协议,此次转换的目的是提供给开发人员与STM32原生UART完全相同的UART接口。第二次是在FPGA上将FSMC协议转换为UART数据,此次转换的目的是完成与FSMC的通信。第三次是在FPGA上将普通数据转换为UART协议,此次转换的目的是使数据能够通过拓展出的UART接口完成与外部设备间的数据收发。
本公开能够面向多UART应用,以FPGA的丰富可重构逻辑资源和I/O资源支持STM32的拓展性,使开发人员能够更灵活的使用更多UART接口而不必改变编程方式和接口。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是FSMC结构和接口定义示意图;
图2是FSMC地址映射示意图;
图3是UART拓展方法结构示意图;
图4(a)-(c)是拓展UART使用方式示意图;
图5是FSMC协议解析示意图;
图6是拓展UART结构示意图。
具体实施方式:
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
FSMC是Stm32后缀为C、D、E的高存储密度MCU特有的存储控制机制,通过对功能寄存器的配置,可发出相应的数据/地址/控制信号类型以匹配信号的速度,灵活拓展多种外部存储器。FSMC的结构和接口定义如图1所示。
FSMC主要分为4部分。第一部分是与ARM互连的AHB总线,ARM核可通过AHB总线读写FSMC的配置寄存器。通过修改配置寄存器的值,将FSMC配置为可与各种外部存储器直接互连。第二部分是与外部存储器直接相连的接口信号。第三部分是与NORFLASH和PSRAM存储器互连的NOR/PSRAM控制器。第四部分是与NANDFLASH和PCCard互连的NAND/PCCard控制器。两种控制器互不相交,分别对应FSMC所管理的一部分地址空间。控制器地址映射关系如图2所示。
为了解决STM32 UART外设数量不足的问题,本实施例提供一种依靠FSMC和FPGA拓展UART接口的方法。本实施例的拓展策略要经过三次协议转换,第一次是在STM32上将UART协议转换为FSMC协议,此次转换的目的是提供给开发人员与STM32原生UART完全相同的UART接口。第二次是在FPGA上将FSMC协议转换为UART数据,此次转换的目的是完成与FSMC的通信。第三次是在FPGA上将普通数据转换为UART协议,此次转换的目的是使数据能够通过拓展出的UART接口完成与外部设备间的数据收发。协议转换结构如图3所示。
为提升易用性,本实施例使拓展UART接口具有与原生UART完全相同的使用方式。原生UART有三种使用方式:轮询、中断和DMA。分别如图4(a)-(c)所示。拓展UART轮询使用的实现策略是设置两个标志位,一个是写FIFO为空标志,一个是读BRAM非空标志。
当要将数据发送到FPGA时,STM32轮询检查写FIFO空标志,若为1,则发送数据并将标志位置0,FPGA接收到数据后通过GPIO将标志位置1,STM32轮询检查写FIFO空标志,为0则等待发送。当FPGA上接收到外部设备发送的数据时,就通过GPIO将读BRAM非空标志位置1,STM32处理器轮询访问标志位,当发现读BRAM非空标志位为1时就发送UART读请求读取存放在FPGA中的数据,读取完成后将读BRAM非空标志位置0。中断使用的实现策略是首先在STM32将其中一个EXTI外部中断引入到FPGA上,FPGA通过设置与外部中断相连的寄存器可以引发STM32中断。
当STM32通过中断方式发送数据时,每发送1个字节数据就离开发送函数去执行其他任务,FPGA每接收到1个字节数据,就设置寄存器引发STM32中断,STM32在中断中进入发送函数继续发送1字节数据,并将中断失效,如此循环直至发送结束。
当STM32通过中断方式接收数据时,FPGA每接收到1字节数据就设置寄存器引发STM32中断,STM32在中断中进入接收函数,发送UART接收命令读取1字节数据并使中断失效,如此循环直至结束。拓展UART的DMA使用策略是将STM32上的DMA设置为memorytomemory模式,在发送时将目标地址设置为拓展UART所对应的FSMC中的地址,在接收时将源地址设置为FSMC中的对应地址。
本实施例在FPGA实现FSMC到UART数据的协议转换,协议转换策略如图5所示。在FSMC发送策略中,每个拓展UART都配有一个双clk写FIFO,FSMC通过写FIFO发送数据给拓展UART。将FSMC的地址线通过地址译码器转换为只有一位为高的地址使能信号,使FSMC地址与拓展UART一一对应,并通过clk与FSMC的NWE相与控制译码器使能。写FIFO的Data_in与FSMC的Data线低位相连,Data_out与UART的TDR相连。
当FSMC发送数据时,NWE使能,译码器生效,FSMC地址经过译码使能了对应UART写FIFO的WR_en,数据被存入写FIFO,然后被发送到UART的TDR寄存器,FSMC完成发送。FSMC的数据收发共用一条数据线,而UART数据线收发分用,本实施例通过数据线分位使用实现数据线收发复用,数据线低位连接到发送逻辑,高位连接到接收逻辑。
为了避免多UART重复驱动数据线的电路错误,本实施例在接收逻辑中使用与UART数量同容量的BRAM,并使BRAM的D_in位宽为拓展UART数量*8bit(UART以8bit为字宽的情况),即写入深度为1,使BRAM的D_out位宽为8bit,深度与UART数量相同。BRAM的字屏蔽线连到UART的输出,以指明哪些位要被更新。在FSMC接收流程中,UART首先接收到外部设备发来的数据,通过RDR寄存器传到BRAMD_in的对应位上,并且置高字屏蔽线,使BRAM中对应位置被更新而其他位置不受影响,然后FSMC发起读请求,通过Addr_in传递地址并从Data[8:15]读走数据。
每块UART实现逻辑主要包括接收逻辑、发送逻辑和时钟逻辑3部分,如图6所示。其中时钟逻辑为接收和发送逻辑产生所需的时钟,UART是异步传输,本实施例在拓展UART的实现策略中采用过采样的方法接收外部UART数据。具体做法为首先在FPGA中为时钟逻辑提供100Mhz时钟,然后通过分频系数分频获得16倍于波特率的时钟。比如波特率设置为115200时,分频系数即为 用此数值分频获得频率为115200*16的时钟。根据UART协议,空闲时数据线应保持为高,发送数据前先要发送起始位,在16倍频率的采样逻辑下检测到起始位后,就开始计数,计到8时采到的数值即为数据眼图的中间位置,是数据保持最为稳定的位置,通过16倍过采样可以使数据保持中间位置的偏移不超过百分之7%。接收逻辑处理与外部设备UARTTX的通信问题,当发现UART帧结构错误或校验错误时,将其报告给STM32。另外,因为接收BRAM深度为1,所以在接收新的数据前必须有逻辑判断旧数据已被取走,否则就会发生overrun错误,本实施例中的检验策略是设置overrun标志位,接收到新数据时将标志位置1,FSMC发来读请求后清空标志位,若在标志位为1时又接收到新数据,则认为发生overrun错误,将错误报告给STM32。
接收逻辑中还应具有一定的抗噪声能力,本实施例中通过16倍过采样判别噪声,当信号的保持时间低于周期的一半即8个采样时间就认为此信号为噪声。发送逻辑将写FIFO中的8位数据以发送逻辑的时钟频率读出来,通过移位寄存器将8位并行信号转为串行信号,并根据UART协议和配置附加起始位、校验位和停止位。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。
Claims (11)
1.一种基于FSMC与FPGA的UART拓展方法,其特征是:包括以下步骤:
在STM32上将UART协议转换为FSMC协议;
在FPGA上将FSMC协议转换为UART数据,以完成与FSMC的通信;
在FPGA上将普通数据转换为UART协议,使数据能够通过拓展出的UART接口完成与外部设备间的数据收发;
在FPGA上将FSMC协议转换为UART数据的具体过程包括每个拓展UART都配有一个双clk写FIFO,FSMC通过写FIFO发送数据给拓展UART,将FSMC的地址线通过地址译码器转换为只有一位为高的地址使能信号,使FSMC地址与拓展UART一一对应,并通过clk与FSMC的NWE相与控制译码器使能,写FIFO的Data_in与FSMC的Data线低位相连,Data_out与UART的TDR相连;当FSMC发送数据时,NWE使能,译码器生效,FSMC地址经过译码使能了对应UART写FIFO的WR_en,数据被存入写FIFO,然后被发送到UART的TDR寄存器,FSMC完成发送。
2.如权利要求1所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:还包括拓展出的UART接口轮询步骤,具体包括:设置两个标志位,一个是写FIFO为空标志,一个是读BRAM非空标志,当要将数据发送到FPGA时,STM32轮询检查写FIFO空标志,若为1,则发送数据并将标志位置0,FPGA接收到数据后通过GPIO将标志位置1,STM32轮询检查写FIFO空标志,为0则等待发送;当FPGA上接收到外部设备发送的数据时,通过GPIO将读BRAM非空标志位置1,STM32处理器轮询访问标志位,当发现读BRAM非空标志位为1时,发送UART读请求读取存放在FPGA中的数据,读取完成后将读BRAM非空标志位置0。
3.如权利要求1所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:还包括STM32中断过程,具体包括:
在STM32将其中一个EXTI外部中断引入到FPGA上,FPGA通过设置与外部中断相连的寄存器引发STM32中断。
4.如权利要求3所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:当STM32通过中断方式发送数据时,每发送1个字节数据就离开发送函数去执行其他任务,FPGA每接收到1个字节数据,设置寄存器引发STM32中断,STM32在中断中进入发送函数继续发送1字节数据,并将中断失效,如此循环直至发送结束。
5.如权利要求3所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:当STM32通过中断方式接收数据时,FPGA每接收到1字节数据就设置寄存器引发STM32中断,STM32在中断中进入接收函数,发送UART接收命令读取1字节数据并使中断失效,如此循环直至结束。
6.如权利要求1所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:还包括拓展后UART的DMA使用步骤,具体包括将STM32上的DMA设置为memorytomemory模式,在发送时将目标地址设置为拓展UART所对应的FSMC中的地址,在接收时将源地址设置为FSMC中的对应地址。
7.如权利要求1所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:FSMC的数据收发共用一条数据线,UART数据线收发分用,通过数据线分位使用实现数据线收发复用,数据线低位连接到发送逻辑,高位连接到接收逻辑。
8.如权利要求1所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:在接收逻辑中使用与UART数量同容量的BRAM,并使BRAM的D_in位宽为拓展UART数量*字宽。
9.如权利要求1所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:FSMC接收流程中,UART首先接收到外部设备发来的数据,通过RDR寄存器传到BRAMD_in的对应位上,并且置高字屏蔽线,使BRAM中对应位置被更新而其他位置不受影响,然后FSMC发起读请求,通过Addr_in传递地址并读取数据。
10.如权利要求1所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:通过拓展出的UART接口完成与外部设备间的数据收发过程包括:采用过采样的方法接收外部UART数据:在FPGA中为时钟逻辑提供时钟,然后通过分频系数分频获得波特率倍数的时钟;根据UART协议,空闲时数据线应保持为高,发送数据前先要发送起始位,在波特率倍数频率的采样逻辑下检测到起始位后,立刻开始计数,计数到倍数的一半且数据连续保持稳定则确认采样数据。
11.如权利要求1所述的一种基于FSMC与FPGA的UART拓展方法,其特征是:拓展UART接口有检测overrun错误的功能,具体过程包括设置overrun标志位,接收到新数据时将标志位置1,FSMC发来读请求后清空标志位,若在标志位为1时又接收到新数据,则认为发生overrun错误,将错误报告给STM32。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010627548.4A CN111913899B (zh) | 2020-07-02 | 2020-07-02 | 一种基于fsmc与fpga的uart拓展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010627548.4A CN111913899B (zh) | 2020-07-02 | 2020-07-02 | 一种基于fsmc与fpga的uart拓展方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913899A CN111913899A (zh) | 2020-11-10 |
CN111913899B true CN111913899B (zh) | 2022-02-08 |
Family
ID=73227164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010627548.4A Active CN111913899B (zh) | 2020-07-02 | 2020-07-02 | 一种基于fsmc与fpga的uart拓展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913899B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115327999A (zh) * | 2022-09-07 | 2022-11-11 | 大连理工大学 | 一种基于stm32芯片和fpga的agv控制电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6378011B1 (en) * | 1999-05-28 | 2002-04-23 | 3Com Corporation | Parallel to serial asynchronous hardware assisted DSP interface |
CN111078614A (zh) * | 2019-12-19 | 2020-04-28 | 成都理工大学工程技术学院 | 一种基于fpga的功能模块 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104820452B (zh) * | 2015-02-13 | 2018-11-13 | 湖北锐世数字医学影像科技有限公司 | 一种探测器智能控制系统及控制方法 |
CN106528482A (zh) * | 2015-09-14 | 2017-03-22 | 中国科学院沈阳自动化研究所 | 一种基于微控制器和fpga的并行通信方法 |
CN205281489U (zh) * | 2015-12-15 | 2016-06-01 | 天津市天森智能设备有限公司 | 一种stm32f429bit6的fsmc控制器模块 |
CN106445853A (zh) * | 2016-08-30 | 2017-02-22 | 天津天地伟业数码科技有限公司 | 基于fpga的spi接口与uart接口的转换方法 |
CN107342993A (zh) * | 2017-06-29 | 2017-11-10 | 电子科技大学 | 一种基于fpga+stm32的通信管理机系统 |
-
2020
- 2020-07-02 CN CN202010627548.4A patent/CN111913899B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6378011B1 (en) * | 1999-05-28 | 2002-04-23 | 3Com Corporation | Parallel to serial asynchronous hardware assisted DSP interface |
CN111078614A (zh) * | 2019-12-19 | 2020-04-28 | 成都理工大学工程技术学院 | 一种基于fpga的功能模块 |
Also Published As
Publication number | Publication date |
---|---|
CN111913899A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6225154B2 (ja) | 共有メモリリンクの低電力エントリ | |
CN103116175B (zh) | 基于dsp和fpga的嵌入式导航信息处理器 | |
CN113254381B (zh) | 用于支持多种互连协议的方法和装置 | |
CN100492334C (zh) | 串行周边接口装置 | |
CN102023956B (zh) | 集成电路芯片中串行外设从器件接口结构及数据读写方法 | |
RU2619540C1 (ru) | Преобразователь протоколов между шиной cpci и шиной isa и соответствующий ему способ преобразования | |
CN108132897B (zh) | 一种基于zynq平台软核的srio控制器 | |
CN109828941A (zh) | Axi2wb总线桥实现方法、装置、设备及存储介质 | |
CN111090221B (zh) | 用于直写式光刻系统中的PCIe DMA数据传输系统及其传输方法 | |
US7506077B2 (en) | Unified controller having host and device functionality | |
CN108768981B (zh) | 一种实现Powerlink工业实时以太网通讯的IP核 | |
CN101000597A (zh) | 一种基于AMBA总线的嵌入式Java处理器IP核 | |
US20250021334A1 (en) | Method for execution of bus controller, computer device and storage medium | |
CN101162448A (zh) | 一种usb高速数据隧道的硬件传输方法 | |
CN104021102A (zh) | 基于状态机和片内总线的cpci串口板及其工作方法 | |
US20120096199A1 (en) | Bus system including id converter and converting method thereof | |
CN105681145A (zh) | 一种基于FPGA的FlexRay通信模块 | |
CN101958152A (zh) | 一种nand flash控制器及其应用 | |
CN113468090B (zh) | 一种PCIe通信方法、装置、电子设备及可读存储介质 | |
CN106951381A (zh) | 一种uart扩展芯片及实现方法 | |
CN111736115B (zh) | 基于改进型sgdma+pcie的mimo毫米波雷达高速传输方法 | |
CN103823785B (zh) | 一种基于dsp和cpld开发的多路arinc429数据收发电路结构 | |
CN111913899B (zh) | 一种基于fsmc与fpga的uart拓展方法 | |
CN115827524A (zh) | 一种数据传输方法以及装置 | |
KR20210075878A (ko) | I2c와의 하위 호환성을 촉진하는 i3c 허브 |
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 | ||
GR01 | Patent grant |