一种基于UART模块兼容多协议的通信接口

文档序号:36789223发布日期:2024-01-23 12:07阅读:13来源:国知局
一种基于UART模块兼容多协议的通信接口

本发明涉及引脚复用技术,尤其涉及可配置状态机的应用,具体涉及一种基于uart模块兼容多协议的通信接口。


背景技术:

1、随着集成电路制造工艺的不断进步和嵌入式应用的快速发展,片上系统芯片(soc)在嵌入式领域得到越来越广泛的应用。在信息交流中,标准化通信接口(i/o)作为主要通道之一,是soc芯片不可或缺的组成部分。高效快速的通信是保证soc芯片高性能的基础。由于不同的应用场合对通信接口协议有不同的需求,工业界和学术界提出了各种接口协议,例如:12c,spi,uart,pwm,sci等。这些协议各有特点,如支持同步通信或异步通信,支持单工,半双工或双工通信,支持通信设备主从模式或对等模式,支持不同传输波特率以及波特率可变换等。

2、为了增加产品灵活性并兼容多种接口协议从而扩大soc的应用领域,soc设计者往往会在芯片中集成多个符合多种接口协议的口模块。然而,这种方式会显著增加芯片的面积、功耗和封装引脚数目,导致芯片成本的上升,并会对测试造成一定的难度。对于便捷式的消费电子产品而言,较低的功耗和较小的面积是提升产品核心竞争力的主要方面,也是soc芯片设计的重点。因此,在soc芯片中集成多个接口协议的口模块,在一定程度上能够在完成设计指标的同时兼顾芯片整体的灵活性。如何利用有限的面积、功耗和引脚数目兼容多种接口标准已成为嵌入式soc产品开发的一个难题。在满足设计需求的前提下,追求面积小、功耗低的芯片设计,并且追求灵活可配置的通信协议从而扩大应用范围是具有极其重要的研究意义和实际应用价值的。为此,设计一个能兼容常用外设接口的可配置控制器是必要的。


技术实现思路

1、本发明的目的是在soc芯片上实现一个兼容多协议的通信接口,用于兼容多种常用外设接口。本发明的技术方案如下:

2、本发明首先提供了一种基于uart模块兼容多协议的通信接口,其特征在于,包括:

3、异步fifo,包括发送异步fifo和接收异步fifo,其中,发送异步fifo将待发送数据放在发送移位寄存器内,接收异步fifo用于存储已经接收到的数据;

4、寄存器控制模块,用于把状态机的状态转换配置信息(如是否有校验位、一位或两位停止位)放在发送状态机模块,并把配置好的波特率大小放在波特率发生器内;

5、波特率发生器,在同步时钟禁用时,控制发送状态机模块发送数据和接收状态机模块接受数据的频率;

6、发送移位寄存器,用于发送数据;

7、接收移位寄存器,用于接收数据,并将数据放在接收异步fifo内;

8、发送状态机模块,用于产生同步时钟,并在lin模式下产生用于补充lin开启帧的3位额外低电平;发送状态机模块控制发送移位寄存器使能发送,并在发送数据状态时,向接收状态机模块发送表示正在发送数据的信号;

9、接收状态机模块,控制接收移位寄存器接收数据。

10、另一方面,本发明还提供了一种基于所述通信接口的多模式工作方法,其特征在于,所述通信接口能够进行异步模式、同步模式、lin模式和半双工模式工作,其中:

11、异步模式时:将待发送的用户需求数据放在发送异步fifo内,当开始发送数据时,发送异步fifo将待发送数据放在发送移位寄存器内;配置波特率发生器的波特率大小用于状态机的开始位和数据位的频率;发送状态机模块控制发送移位寄存器使能发送,接收状态机模块控制接收移位寄存器接收数据,并由接收异步fifo存储已经接收到的数据;

12、同步模式时:将待发送的用户需求数据放在发送异步fifo内,当开始发送数据时,发送异步fifo将待发送数据放在发送移位寄存器内;配置同步时钟的极性和相位用于发送状态机模块的时钟产生;发送状态机模块控制发送移位寄存器使能发送;接收状态机模块控制接收移位寄存器接收数据,并由接收异步fifo存储已经接收到的数据;

13、lin模式时:在异步模式的基础上,预先配置连续8位低电平作为lin的开启帧的前8位给接收状态机模块,配置lin模式使能,使得发送状态机模块产生用于补充lin开启帧的3位额外低电平给接收状态机模块;

14、半双工模式时:在异步模式的基础上,在半双工模式使能时,仅当发送状态机模块发完一帧数据后,接收状态机模块才接收数据。

15、信号发生器必须能够根据应用随时改变通信协议。由于信号发生器由状态机控制,因此需要可配置状态机来控制实现可配置通信协议。可配置状态机通过软件配置能够支持多种标准通信接口协议。

16、与现有技术相比,为了兼容多种常用外设接口,本发明的状态机为可配置状态机。由于信号发生器由状态机控制,因此需要可配置状态机来控制实现可配置通信协议可配置状态机通过软件配置能够支持多种标准通信接口协议。模块在uart基础上支持同步模式、半双工、lin模式。



技术特征:

1.一种基于uart模块兼容多协议的通信接口,其特征在于,包括:

2.根据权利要求1所述的基于uart模块兼容多协议的通信接口,其特征在于,所述发送异步fifo深度是8,数据位宽8;接收异步fifo深度是8,位宽12,接收异步fifo除了接收8位数据外还额外添加了4位表示帧格式错误的状态信息,待一帧数据全部接收完毕,数据和状态信息一同写入接收异步fifo中。

3.根据权利要求1所述的基于uart模块兼容多协议的通信接口,其特征在于,发送移位寄存器根据发送状态机模块的状态信息移出发送数据,所述发送状态机模块针对发送移位寄存器中设置的参数包括发送移位寄存器使能、每字节数据的位数、停止位控制、奇偶校验使能、偶校验选择;所述发送状态机模块在同步模式时提供输出的同步时钟,同步模式时钟使能、同步时钟极性、同步时钟相位信息在寄存器控制模块已设置好。

4.一种基于权利要求1所述通信接口的多模式工作方法,其特征在于,所述通信接口能够进行异步模式、同步模式、lin模式和半双工模式工作,其中:

5.根据权利要求4所述的方法,其特征在于,在同步模式时,发送状态机模块产生的同步时钟直接控制接受状态机模块的时序,在同一帧内完成发送和接收。

6.根据权利要求5所述的方法,其特征在于,为了实现同步模式,在发送状态机模块产生一个输出时钟给到接受状态机模块,同步模式的传输不需要经过校验位和停止位,当同步模式接收到一帧数据后往接收异步fifo里写数据;在同步模式使能时,状态转换受发送状态机模块的输出时钟控制,接收移位寄存器接收数据也受发送状态机模块的同步时钟控制,在接收完成后开始往接收异步fifo写数据,并发出一个表示接收完成的信号。

7.根据权利要求4所述的方法,其特征在于,所述lin模式的开始帧由至少13位电平组成,表示接下来的数据帧都是lin协议格式的;发送状态机模块通过软件配置一串多比特的低电平数据来给到接收状态机模块,因此由接收状态机模块收到的包括开始位、数据位、检验位、停止位的一帧里所有比特都为0,则在下一个时钟沿设置‘break’信号表示接收中止;

8.根据权利要求7所述的方法,其特征在于,根据lin总线传输协议,lin协议的开始帧要求包括连续至少13个低电平和一个高电平时,而‘break条件’包含了至少10位的低电平,因此在‘break’状态可以在lin模式使能时根据条件拉高lin总线来实现lin协议的同步段部分,具体实现方法为:该状态下当位周期结束时,接收状态机在‘break’状态下再循环3个数据位的长度,其中每个数据位的长度又都经过位周期计数,且三个数据位都为低电平,完成后lin线由低电平变为高电平,这样就能得到lin协议中至少连续13个低电平和一个高电平;一旦在‘完成至少13位低电平’前接收线出现高电平,接收状态机模块就回到空闲状态。


技术总结
本发明公开了一种基于UART模块兼容多协议的通信接口,其包括异步FIFO、寄存器控制模块、波特率发生器、发送移位寄存器、接收移位寄存器、发送状态机模块和接收状态机模块。发送状态机模块和接收状态机模块可以根据软件的配置信息,利用引脚分时复用,产生多种不同的标准通信协议。所述通信接口能够进行异步模式、同步模式、LIN模式和半双工模式工作。本发明具有低功耗、面积小,兼容多种通信协议,以满足不同应用场合对通信协议接口的需求。

技术研发人员:张峻豪,马德,朱晓雷
受保护的技术使用者:浙江大学
技术研发日:
技术公布日:2024/1/22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1