【技术实现步骤摘要】
基于APB总线带有FIFO缓存功能的UART通讯接口
[0001]本专利技术涉及一种基于APB总线带有FIFO缓存功能的UART通讯接口,属于嵌入式系统通信领域。
技术介绍
[0002]UART(Universal Asynchronous Receiver/transmitter)作为一种用于串行数据通信的通用异步收发器。用于异步通信。该总线双向通信,可以实现全双工传输和接收。它可以接收来自外围设备的数据,在串行通信与并行通信之间加以转换。相比于IIC和SPI通信协议,UART只需要两根线便可以实现全双工异步传输,更加节省资源并且擅于远距离传输,目前广泛应用于MCU多机通信以及各种外接模块来进行高速缓存的数据传输。UART协议规定接受与发送数据都分别用一根线进行传输,不需要时钟线,传输速率需要靠波特率来确定。但现有的UART设计功能还不够全面,部分UART接口的波特率以及帧长度等参数不能灵活配置,并且限制了部分高速设备基于APB总线与UART设备之间的通信速率以及数据缓存,从而造成应用场景单一。
技术实现思路
/>[0003]鉴于本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.基于APB总线带有FIFO缓存功能的UART通讯接口,其特征在于,该UART通信接口用于APB总线和UART总线之间;所述的UART总线的通信装置包括APB从机、寄存器控制模块、FIFO以及UART总线接口控制器;所述的APB从机是UART接口与APB总线之间的连接桥梁,APB总线控制整个UART内部寄存器的读/写;APB从机负责与CPU通过APB总线进行数据交换;APB从机的输出包括FIFO读写信号以及数据流信号,负责将APB总线上传来的数据写入FIFO以及从FIFO中读取数据传给处理器;所述的寄存器控制模块负责锁存APB上的地址和控制配置波特率,CPU通过APB总线操作相应的控制寄存器和状态寄存器;所述的FIFO模块是异步FIFO,负责UART总线接口控制器与APB总线接口之间的数据同步缓存;包括两个FIFO:一个是TX_FIFO,负责缓存处理器通过APB总线传输的数据,供UART总线控制器读取传输给UART设备,当传输数据到UART设备时,如果控制器不忙,那么处理器先通过APB总线将要传输的数据写到TX_FIFO中,然后释放总线,解除UART总线控制器占用总线、处理器时间,而UART总线接口控制器会从TX_FIFO中读取数据发送给UART设备;另一个是RX_FIFO,负责缓存从UART设备传输来的数据,具体为当处理器要读取或接收UART设备的数据,UART接口控制器先将UART设备传输的数据缓存到RX_FIFO中,在此期间不占用总线、处理器;所述的UART总线接口控制器中包含滤波电路模块,移位寄存器模块;当数据输入到UART端口时,可能会出现毛刺噪声;如果不经过滤波,接收到的信号可能会出现亚稳态;如果直接使用,可能会导致数据传输结果出错;数据的串行接收和发送由接收移位寄存器RX_shifter和发送移位寄存器TX_shifter实现。2.根据权利要求1所述的基于APB总线带有FIFO缓存功能的UART通讯接口,其特征在于,UART传输协议的数据传输时序中,UART有一根接收数据线和一根发送数据线;当信号线空闲不传输数据时,处于高电平逻辑“1”状态,表示当前线路上没有资料传送;然后主设备先发出一个逻辑”0”信号,表示传输字符的开始;接着发送数据位,是5~8位逻辑”0”或”1”;数据位后会接一位校验位,数据位加上这一位后,使得“1”的位数应为偶数或奇数;最后会发送停止位,是一个字符数据的结束标志;字符数据是1位、1.5位或2位的高电平。3.根据权利要求1所述的基于APB总线带有FIFO缓存功能的UART通讯接口,其特征在于,APB总线写操作时序中,写传输过程时钟PCLK上升沿触发有效;其中T1~T2第一个周期为空闲状态,T2~T3第二个周期PSEL=1、PENABLE=0为SETUP状态周期,T3~T4第三个周期PSEL=1、PENABLE=1为ENABLE状态周期,而T4~T5第四个周期PSEL=0、PENABLE=0又回到IDLE状态;在写传输开始即T2上升沿后,写信号PWRITE、写地址PADDR、写数据PWDATA和片选信号PSEL全部改变为有效状态,在下个周期的上升沿到来即T3,使能信号PENABLE有效,并且在整个ENABLE周期内,PADDR、PWRITE、PWDATA和PSEL保持稳定不...
【专利技术属性】
技术研发人员:陈志杰,李佳靖,张晓羽,冯曦,潘伟,万培元,
申请(专利权)人:北京智芯微电子科技有限公司国网山西省电力公司晋中供电公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。