一种基于DSRAM的CAN邮箱访问装置及方法与流程

专利2025-11-28  1


本发明涉及集成电路设计领域,尤其是涉及一种基于dsram的can邮箱访问装置及方法。


背景技术:

1、现有的技术方案,can的邮箱访问机制通过fifo缓存,通过指针形式进行邮件缓存和读取操作,但是每个接收fifo通常只有有限的缓存空间,例如常见的配置是每个fifo可以缓存3个报文。当接收到大量报文时,如果接收到的报文数量超过了fifo的容量,新的报文可能会覆盖旧的报文,可能会导致缓存溢出,造成数据丢失,读写频繁的指针操作可能导致缓存未命中,增加访问延迟,频繁的分配和释放可能导致内存碎片,影响系统性能。

2、dsram(dual-port sram,双端口sram)是一种特殊的静态随机存取存储器(sram),它具有两个独立的端口a端和b端,允许同时从两个不同的地址访问存储器。 两个端口可以同时读写,而不互相干扰,这提供了比单端口sram更高的带宽。每个端口都有自己的地址线、数据线和控制信号,因此可以独立操作,并且由于sram是静态存储器,它不需要刷新,因此访问速度快。

3、目前,如何利用基于dsram的can邮箱,并使用更有效且灵活的邮箱访问方式,在can通信的基础上提升can邮箱利用率,并提升芯片内部邮件信息的吞吐速率尚没有好的解决方案。

4、本文提供的背景描述用于总体上呈现本公开的上下文的目的。除非本文另外指示,在该章节中描述的资料不是该申请的权利要求的现有技术并且不要通过包括在该章节内来承认其成为现有技术。


技术实现思路

1、为了克服背景技术中的不足,本发明公开了一种基于dsram的can邮箱访问装置及方法。

2、为实现上述发明目的,本发明采用如下技术方案:

3、一种基于dsram的can邮箱访问装置,所述装置包括dsram存储模块、地址仲裁模块、映射地址访问模块及物理地址访问模块,其中:

4、dsram存储模块,用于存储发送邮件和接收邮件;所述dsram存储模块包括第一存储空间tbuf和第二存储空间rbuf;第一存储空间tbuf用于存储发送邮件;第二存储空间rbuf用于存储接收邮件;dsram存储模块包括a端和b端,a端和b端均可对第一存储空间和第二存储空间进行读写访问;芯片内部总线通过a端读写所述dsram存储模块,can总线通过b端读写所述dsram存储模块;

5、地址仲裁模块,用于根据芯片内部总线访问的地址确定访问方法;所述访问方法包括映射地址访问及物理地址访问;

6、映射地址访问模块,用于在是通过映射地址方式时,通过指针访问dsram存储模块中第一存储空间tbuf和第二存储空间rbuf的地址区域,将指针转化为dsram存储模块内部地址区域;

7、物理地址访问模块,用于在是通过物理地址访问时,通过芯片内部总线访问dsram存储模块的第一存储空间tbuf和第二存储空间rbuf的物理地址,转化为对dsram存储模块的内部地址空间直接进行读写操作。

8、具体的,所述第一存储空间为发送槽;所述第二存储空间为接收槽;

9、具体的,所述映射地址访问模块还包括映射地址发送模块及映射地址接收模块:

10、映射地址发送模块,用于处理芯片内部总线对映射地址tbuf0的访问操作,支持fifo模式和外部触发模式;在fifo模式下,通过递增第一读指针tbuf_rptr、第一写指针tbuf_wptr访问第一存储空间tbuf的地址空间;在外部触发模式下,使用第三写指针tt_wptr指向访问第一存储空间tbuf的地址空间,然后通过第三读指针tt_rptr发送第一存储空间tbuf中邮件信息;

11、映射地址接收模块,用于处理芯片内部总线对映射地址rbuf0的访问操作,支持fifo模式;在fifo模式下,通过递增第二读指针rbuf_rptr、第二写指针rbuf_wptr访问rbuf0~rbufn范围内的dsram地址空间,第二存储空间rbuf中接收的邮件只能读不能写。

12、具体的,所述物理地址访问模块还包括物理地址发送模块及物理地址接收模块:

13、物理地址发送模块,用于将芯片内部总线对物理地址tbuf0~tbufm的访问转化为对第一存储空间tbuf存储区域的访问,并通过指针第四读指针t_rptr实现对第一存储空间tbuf中邮件信息的发送操作。

14、物理地址接收模块,用于将芯片内部总线对物理地址rbuf0~rbufn的访问转化为对第二存储空间rbuf存储区域的访问。

15、具体的,所述装置还包括:

16、a端访问控制模块,用于管理dsram存储模块的a端读写操作,通过地址仲裁模块判断当前访问方法,将芯片内部总线发送的地址转化为dsram存储模块内部地址区域,并根据读写数据信息及数据选通控制信息,实现对dsram存储空间的读写操作;

17、b端访问控制模块,用于管理dsram存储模块的b端读写操作,通过指针写入can总线。发送邮件到dsram的存储空间,并在读取时将dsram数据转换为邮件信息发送到can总线。

18、本发明提供的基于dsram的can邮箱访问装置通过引入dsram存储模块作为can发送邮箱和接收邮箱的,通过不同的存储空间将发送邮箱与接收邮箱进行分开存储,可以减少数据处理的冲突,提高访问速度,发送和接收操作可以并行进行,互不干扰,从而提高总体的数据处理效率;

19、进一步的,dsram存储模块提供了较大的存储空间,可以配置更多的发送和接收邮箱,对于需要处理大量消息的网络应用提供了更大帮助。

20、第二方面,本发明提供了一种基于上述基于dsram的can邮箱访问装置的访问方法,所述映射地址访问具体为:

21、can总线通过固定访问dsram存储模块中tbuf0、rbuf0地址,通过指针方式访问其他邮件地址;

22、芯片内部总线固定地址访问dsram存储模块中tbuf0、rbuf0地址,通过fifo指针依次偏移tbuf0/rbuf0的地址,从而实现访问第一存储空间tbuf和第二存储空间rbuf中邮件信息,所述fifo指针包括第一写指针tbuf_wptr、第一读指针tbuf_rptr、第二写指针rbuf_wptr及第二读指针rbuf_rptr:

23、当a端写第一存储空间tbuf时,第一写指针tbuf_wptr递增;

24、当a端读第一存储空间tbuf时,第一读指针tbuf_rptr无变化,读第二存储空间rbuf时,手动释放第一读指针rbuf_rptr对应的槽,第一读指针rbuf_rptr递增;

25、当b端写rbuf0~rbufn时,第二写指针rbuf_wptr递增;

26、当tbuf非空,通过b端读tbuf0~tbufm时,接收槽按照fifo指针依次启动发送邮件,第一读指针tbuf_rptr递增,第二读指针rbuf_rptr无变化;

27、tbuf/rbuf的填充状态根据fifo的读写指针差值进行填充标识。

28、具体的,所述映射地址访问还包括:

29、芯片内部总线固定地址访问dsram存储模块中tbuf0、rbuf0地址,通过fifo指针指向的邮件信息,通过轮询有效地发送缓存id信息进行邮件的发送,id越小的第二写指针对应的邮件越先发送:

30、当a端写tbuf0~tbufm时,第一写指针tbuf_wptr递增;

31、当a端读tbuf0~tbufm时,第一读指针tbuf_rptr无变化,读rbuf0~rbufn时,手动释放rbuf,第一读指针rbuf_rptr递增;

32、当b端写rbuf0~rbufn时,第二写指针rbuf_wptr递增;

33、当tbuf非空,通过b端读tbuf0~tbufm时,接收槽按照id优先级启动发送邮件,第一读指针tbuf_rptr递增,第二读指针读rbuf_rptr无变化;

34、tbuf/rbuf的填充状态根据发送的tbuf槽,对应槽取消填充。

35、具体的,所述映射地址访问还包括:

36、芯片内部总线固定地址访问dsram存储模块中tbuf0、rbuf0地址,通过选择配置第三写指针tt_wptr、第三读指针tt_rptr的方式,直接偏移,实现dsram存储模块的tbuf0~tbufm和rbuf0~rbufn任意邮件信息的收发;

37、使用外部触发作为can发送邮件的条件;所述外部触发包括:定时触发、中断触发及软件触发;

38、a端通过配置第三写指针tt_wptr,选择写邮件信息到tbuf0~tbufm槽,写入的槽为填充状态;

39、当a端读tbuf0~tbufm时,第一读指针tbuf_rptr无变化,读rbuf0~rbufn时,手动释放rbuf,第一读指针rbuf_rptr递增;

40、当b端写rbuf0~rbufn时,第二写指针rbuf_wptr递增;

41、当第三读指针tt_rptr指向的tbuf槽非空,b端读通过第三读指针tt_rptr启动发送tbuf0~tbufm中的邮件,第一读指针tbuf_rptr无变化,邮件发送后第三读指针tt_rptr指向的tbuf槽为未填充状态。

42、第三方面,本发明还提供了一种基于上述基于dsram的can邮箱访问装置的访问方法,所述物理地址访问具体为:

43、芯片内部划分一段tbuf0~tbufm和rbuf0~rbufn地址空间,芯片内部总线可以任意访问tbuf0~tbufm的地址空间,任意读rbuf0~rbufn的地址空间;

44、当a端写tbuf0~tbufm的任意物理地址,第一写指针tbuf_wptr无变化,tbuf0~tbufm槽填充状态,根据芯片内部总线地址范围,对应槽为填充状态;

45、当a端通过芯片内部总线读tbuf0~tbufm、rbuf0~rbufn的物理地址,读指针tbuf_rptr、rbuf_rptr无变化;

46、当b端写rbuf0~rbufn时,第二写指针rbuf_wptr无变化;

47、当第四读指针t_rptr指向的tbuf槽非空,b端读通过第四读指针t_rptr启动发送对应tbuf0~tbufm槽信息,第一读指针tbuf_rptr、第二读指针rbuf_rptr无变化,第四读指针t_rptr指向的tbuf槽为未填充状态。

48、具体的,所述物理地址访问还包括:通过芯片内部总线可以多次直接访问tbuf0~tbufm槽,对应槽为填充状态,且can发送邮箱通过第四读指针t_rptr启动对应tbuf0~tbufm槽的发送,也可以通过芯片内部总线直接修改映射地址tbuf内部发送邮箱的内容。

49、本发明提出的基于dsram的can邮箱访问方法,可以满足不同用户对于can邮件信息的处理需求,并且能够灵活修改配置,使用映射地址或物理地址进行can邮箱的处理,提高了芯片内部can邮箱的使用效率和灵活性,进一步提升芯片内部邮件信息的吞吐速率。


技术特征:

1.一种基于dsram的can邮箱访问装置,其特征在于,所述装置包括dsram存储模块、地址仲裁模块、映射地址访问模块及物理地址访问模块,其中:

2.根据权利要求1所述的装置,其特征在于,所述第一存储空间为发送槽;所述第二存储空间为接收槽。

3.根据权利要求2所述的装置,其特征在于,所述映射地址访问模块还包括映射地址发送模块及映射地址接收模块:

4.根据权利要求3所述的装置,其特征在于,所述物理地址访问模块还包括物理地址发送模块及物理地址接收模块:

5.根据权利要求1所述的装置,其特征在于,所述装置还包括:

6.一种基于权利要求1-5中任一项所述的基于dsram的can邮箱访问装置的访问方法,其特征在于,所述映射地址访问具体为:

7.根据权利要求6所述的方法,其特征在于,所述映射地址访问还包括:

8.根据权利要求6所述的方法,其特征在于,所述映射地址访问还包括:

9.一种基于权利要求1-5中任一项所述的基于dsram的can邮箱访问装置的访问方法,其特征在于,所述物理地址访问具体为:

10.根据权利要求9所述的方法,其特征在于,所述物理地址访问还包括:通过芯片内部总线可以多次直接访问tbuf0~tbufm槽,对应槽为填充状态,且can发送邮箱通过第四读指针t_rptr启动对应tbuf0~tbufm槽的发送,也可以通过芯片内部总线直接修改映射地址tbuf内部发送邮箱的内容。


技术总结
一种基于DSRAM的CAN邮箱访问装置及方法,涉及集成电路设计领域,包括:DSRAM存储模块,用于存储发送邮件和接收邮件,包括A端和B端,芯片内部总线通过A端读写DSRAM存储模块,CAN总线通过B端读写DSRAM存储模块;地址仲裁模块,用于根据芯片内部总线访问的地址确定访问方法;映射地址访问模块,用于将指针转化为DSRAM存储模块内部地址;物理地址访问模块,用于在通过物理地址访问时,将物理地址转化为对DSRAM存储模块的内部地址直接进行读写操作;本发明通过不同的存储空间将发送邮箱与接收邮箱进行分开存储,减少数据处理的冲突,且发送和接收操作可以并行进行,互不干扰,从而提高总体的数据处理效率。

技术研发人员:胡志文,黄雯华,黄嵩人,陈毅华,吴顺锋
受保护的技术使用者:湖南进芯电子科技有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-28158.html