用于微控制单元的数据传输方法与装置以及数据传输系统的制作方法

文档序号:6332332阅读:151来源:国知局
专利名称:用于微控制单元的数据传输方法与装置以及数据传输系统的制作方法
技术领域
本发明涉及一种用于微控制单元的数据传输方法与装置以及数据传输系统。
背景技术
在芯片产品中嵌入微控制单元(MCU)核,往往因为芯片的管脚数量受限,需要使 用串行闪存(Flash)作为MCU的外部程序存储设备。而在访问Flash的时候至少需要10 个时钟周期才能获取到一个8bit的指令,这导致MCU执行效率低下,取指令成为MCU执行 效率的瓶颈。现有技术中,MCU从外部存储元件读取数据的效率较低,对于该问题,目前尚未出 现有效解决方案。

发明内容
本发明的主要目的是提出一种用于微控制单元的数据传输方法与装置以及数据 传输系统,以解决现有技术中MCU从外部存储元件读取数据的效率较低的问题。为解决上述问题,根据本发明的一个方面,提出了一种用于微控制单元的数据传 输方法。本发明的这种用于微控制单元的数据传输方法包括通过串行口从存储装置中读 取数据然后保存在缓存中,在保存时将读取的数据由串行转换为并行,串行时钟频率高于 并行时钟频率;根据所述缓存的存储地址与所述存储装置的存储地址之间的对应关系,确 定所述MCU在所述存储装置中指定的地址在所述缓存中对应的地址,然后将该对应的地址 中的数据通过并行口发送给所述MCU。进一步地,通过串行口从存储装置中读取数据之前还包括根据所述MCU历次指 定的地址确定所述MCU在指定地址时遵循的规律;所述从存储装置中读取数据包括从根据 所述规律确定的存储装置内的地址中读取数据。进一步地,所述规律包括所述MCU从所述存储装置中的一段连续的地址中按地 址顺序获取数据;或者,所述规律包括所述MCU从所述存储装置中的多个地址段中获取数 据,在每个所述地址段中按地址顺序获取数据。进一步地,所述从存储装置中读取数据包括在所述MCU指定存储装置中的地址 之前,从根据所述规律确定的存储装置内的地址中读取部分数据并且记录所述部分数据在 所述存储装置中的地址;将该对应的地址中的数据通过并行口发送给所述MCU之前还包 括确认所述指定的地址与记录的所述部分数据在所述存储装置中的地址为相同地址。进一步地,所述从存储装置中读取数据包括在所述MCU指定存储装置中的地址 之前,从根据所述规律确定的存储装置内的地址中读取部分数据并且记录所述部分数据在 所述存储装置中的地址;将该对应的地址中的数据通过并行口发送给所述MCU之前还包 括确认所述指定的地址与记录的所述部分数据在所述存储装置中的地址为不同地址,然 后从所述存储装置中读取所述MCU在所述存储装置中的指定的地址中的全部数据并用该全部数据覆盖所述缓存中已有的数据。为解决上述问题,根据本发明的另一方面,提出了另一种用于微控制单元的数据 传输方法。本发明的这种用于微控制单元的数据传输方法包括通过并行口接收MCU发送的 数据然后保存在缓存中,保存时将读取的数据由并行转换为串行,其中串行时钟频率高于 并行时钟频率,并记录MCU指定的存储装置中的地址;根据所述缓存的存储地址与所述存 储装置的存储地址之间的对应关系,确定所述MCU在所述存储装置中指定的地址在所述缓 存中对应的地址,然后将该对应的地址中的数据通过串行口发送给所述存储装置并在保存 在所述MCU在所述存储装置中指定的地址中。进一步地,将该对应的地址中的数据通过串行口发送给所述存储装置之后还包 括接收所述MCU指定的存储装置中的地址,根据接收的地址和已记录的存储装置中的地 址是否相同判断所述缓存中是否已保存MCU要存入所述存储装置中的数据,若是,则将所 述缓存中的数据发送给所述存储装置,否则从所述MCU接收数据然后发送给所述存储装置。为解决上述问题,根据本发明的又一方面,提出了一种用于微控制单元的数据传
输装置。本发明的这种用于微控制单元的数据传输装置包括预取控制模块、缓存模块和地 址映射模块,其中预取控制模块,用于通过串行口从存储装置中读取数据然后保存在所述 缓存模块中;地址映射模块,用于根据所述缓存模块的存储地址与所述存储装置的存储地 址之间的对应关系,确定所述MCU在所述存储装置中指定的地址在所述缓存模块中对应的 地址,然后将该对应的地址中的数据通过并行口发送给所述MCU。为解决上述问题,根据本发明的又一方面,提出了另一种用于微控制单元的数据 传输装置。本发明的这种用于微控制单元的数据传输装置包括接收模块和发送模块,其中 接收模块,用于通过并行口接收MCU发送的数据然后保存在缓存中,并记录MCU指定的存储 装置中的地址;发送模块,用于根据所述缓存的存储地址与所述存储装置的存储地址之间 的对应关系,确定所述MCU在所述存储装置中指定的地址在所述缓存中对应的地址,然后 将该对应的地址中的数据通过串行口发送给所述存储装置并在保存在所述MCU在所述存 储装置中指定的地址中。为解决上述问题,根据本发明的又一方面,提出了一种用于微控制单元的数据传 输系统。本发明的这种用于微控制单元的数据传输系统包括微控制单元(MCU);并且包括 本发明的数据传输装置,与MCU连接;以及包括存储装置,与所述数据传输装置连接。根据本发明的技术方案,通过对存储装置中读出的数据进行缓存并且进行时钟域 转换,能够使存储装置的串行口与MCU的并行口速率匹配,这样在串行时钟频率高于并行 时钟频率的情况下提高了 MCU读取数据的效率。另外在本发明中,通过数据传输装置预先 从存储装置中读取数据并保存在缓存中,当MCU需要数据时直接将缓存中的数据发送给 MCU,从而此时无需从存储装置读取数据,也有助于提高MCU获取数据的效率。


此处所说明的附图用来帮助对本发明的进一步理解,并不构成对本发明的不当限 定。在附图中图1是根据本发明实施例的数据传输系统的基本结构的示意图;图2是根据本发明实施例的用于MCU的数据传输方法的示意图;图3是根据本发明实施例的一种数据传输装置的结构的示意图;以及图4是根据本发明实施例的另一种数据传输装置的结构的示意图。
具体实施例方式以下结合附图,对本发明的实施方式作出说明。图1是根据本发明实施例的数据传输系统的基本结构的示意图。如图1所示,本发明实施例的数据传输系统主要包括依次连接的微控制单元 (MCU)、数据传输装置和存储装置。本发明实施例的用于MCU的数据传输方法主要由数据传输装置完成,其主要步骤 如图2所示,图2是根据本发明实施例的用于MCU的数据传输方法的示意图。步骤S21 通过串行口从存储装置中读取数据。步骤S22 将读取的数据由串行转换为并行。步骤S22中,串行时钟频率高于并行时钟频率。步骤S23 将并行数据保存在缓存中。步骤S24 根据缓存的存储地址与存储装置的存储地址之间的对应关系,确定MCU 在存储装置中指定的地址在缓存中对应的地址。在MCU从存储装置中读取数据时,MCU将要访问的地址发送给数据传输装置,也就 是说MCU在存储装置中指定了地址,该地址中的数据为MCU要读取的数据。缓存的存储容量通常比存储装置的存储容量小,所以上述缓存的存储地址与存储 装置的存储地址之间的对应关系可以是动态的,该对应关系可以通过记录缓存中保存的数 据是来自于存储装置的哪段地址来实现。步骤S25 将步骤S24中对应的地址中的数据通过并行口发送给MCU。从上述的步骤S21至S25中可以看出,通过将存储装置中的数据进行时钟域转换 和缓存,并使串行时钟频率高于并行时钟频率,这样能够加快串行电路执行效率,使其与并 行口的传输速率匹配,满足并行口带宽需求,从而提高了 MCU从存储装置中读取数据的效率。在实现中,上述的存储装置可以是闪存(Flash)。在实现中,可以将上述串行口的串行时钟设置为上述并行口的并行时钟的8N倍 频,其中N表示正整数。在本实施例中,除了通过对数据进行上述的时钟域转换和缓存来提高MCU读取存 储装置的效率以外,还通过多种方式提高MCU读取存储装置的效率,以下对此加以说明。根据MCU的应用特点,通常MCU是用于执行程序的指令,即MCU读取程序指令然后 执行该指令,再读取下一条指令然后执行,依此往复。也就是说,MCU读取的数据为程序的 指令,该程序保存在存储装置中。基于MCU的这种读取数据的特点,其访问存储装置的地址也相应具有一定的规律性,例如MCU访问存储装置时在特定的几个地址段之间跳转,访问 到一段连续地址之后依次读取该地址的数据,然后跳转到下一个地址段。所以数据传输装置可以根据所述MCU历次指定的地址确定所述MCU在指定地址时 遵循的规律,这样就预先确定了 MCU要访问的存储装置中的地址,再将从根据该规律确定 的存储装置内的地址中预先读取数据,保存在缓存中。此处的预先读取主要是指在收到MCU 发送的要访问的地址之前,数据传输装置对存储装置的读取。这样,在上述的步骤S21中,读取的数据也可以是根据上述的规律预先读取的数 据。即在MCU指定存储装置中的地址之前,数据传输装置按照上述规律预先得出MCU可能 访问的存储装置的地址,从该地址中读取部分数据,并且记录该部分数据在存储装置中的 地址。这样,当要把缓存中的数据发送给MCU的时候,判断该部分数据是否为MCU需要的 数据,如果记录的该部分数据在存储装置中的地址与MCU指定的地址相同,则说明该部分 数据为MCU需要的数据。在这种情况下,可以将缓存中的数据直接发送给MCU,无需再从存 储装置中读取数据,有助于提高MCU获取数据的效率。此时发送的同时,从数据存储装置中 继续读取MCU需要的其他数据。在上述的判断中,如果该部分数据不是MCU需要的数据,则从存储装置中读取MCU 在存储装置中的指定的地址中的全部数据并用该全部数据覆盖缓存中已有的数据。在从缓存向MCU发送数据的过程中,MCU也是一边接收数据一边执行接收的数据 构成的指令。可以在缓存中设置水位指针,当MCU访问到该水位指针时,表示缓存中保存的 指令即将被执行完成,此时数据传输装置再次开始从存储装置中获取数据。对于MCU来说,通常是依次运行若干函数,每个函数中包含多条指令,所以MCU从 存储装置中获取数据时,往往是顺序访问一段地址之后跳转至另一地址,再从该地址开始 顺序访问一段地址,访问时MCU执行完成一段指令,这些指令对应一个函数,而多个函数之 间通常具有一定的先后运行的逻辑关系。所以上述的MCU在指定地址时遵循的规律易于通 过在数据传输装置中设置具有学习功能的模块来掌握,从而对存储装置进行预先读取。预 先读取的数据可以是MCU常用的程序段,这样,MCU在需要这些程序段时可以直接从存储装 置的缓存中获得,无需再通过串口从存储装置读取,有助于提高MCU获取数据的效率。上述对MCU从存储装置获取数据的方法进行了说明。另外也可以利用数据存储装 置从MCU向存储装置写入数据。具体方式可以是,通过并行口接收MCU发送的数据然后保存在缓存中,保存时将 读取的数据由并行转换为串行,其中串行时钟频率高于并行时钟频率,并记录MCU指定的 存储装置中的地址;根据缓存的存储地址与存储装置的存储地址之间的对应关系,确定 MCU在存储装置中指定的地址在缓存中对应的地址,然后将该对应的地址中的数据通过串 行口发送给存储装置并在保存在MCU在存储装置中指定的地址中。在继续向存储装置写入数据时,可以先接收MCU指定的存储装置中的地址,根据 接收的地址和已记录的存储装置中的地址是否相同判断缓存中是否已保存MCU要存入存 储装置中的数据,若是,则将缓存中的数据发送给存储装置,否则从MCU接收数据然后发送 给所述存储装置。这样无需再次从MCU传输数据,而是直接将缓存中的数据保存到存储装 置中。
根据本发明实施例的上述方法,可以采用合适的电路来直接获得数据传输装置。 例如可以采用现在可编程门阵列(FPGA)来搭建具有上述方法中的数据传输装置所具有的 各种功能的电路。以下对数据传输装置的可选结构作一说明。图3是根据本发明实施例的一种数据传输装置的结构的示意图。如图3所示,在本发明实施例的数据传输装置的一种结构中,数据传输装置30主 要包括预取控制模块31、缓存模块32和地址映射模块33。预取控制模块31用于通过串行口从存储装置中读取数据然后保存在缓存模块32 中。地址映射模块33用于根据缓存模块32的存储地址与存储装置的存储地址之间的 对应关系,确定MCU在存储装置中指定的地址在缓存模块32中对应的地址,然后将该对应 的地址中的数据通过并行口发送给MCU。图3中的数据传输装置30主要用于MCU从存储装置获取数据。以下结合图4,说 明本实施例中的主要用于MCU向存储装置写入数据的数据传输装置的基本结构。图4是根据本发明实施例的另一种数据传输装置的结构的示意图。图4所示的数据传输装置40包括接收模块41和发送模块42,其中,接收模块41 用于通过并行口接收MCU发送的数据然后保存在缓存中,并记录MCU指定的存储装置中的 地址,发送模块42用于根据缓存的存储地址与存储装置的存储地址之间的对应关系,确定 MCU存储装置中指定的地址在缓存中对应的地址,然后将该对应的地址中的数据通过串行 口发送给存储装置并在保存在MCU在存储装置中指定的地址中。根据本发明实施例可以看出,本发明通过对存储装置中读出的数据进行缓存并且 进行时钟域转换,能够使存储装置的串行口与MCU的并行口速率匹配,这样在串行时钟频 率高于并行时钟频率的情况下提高了 MCU读取数据的效率。另外在本发明中,通过数据传 输装置预先从存储装置中读取数据并保存在缓存中,当MCU需要数据时直接将缓存中的数 据发送给MCU,从而此时无需从存储装置读取数据,也有助于提高MCU获取数据的效率。在电视机相关的技术领域中,本发明实施例的方案能够显著地提高MCU访问存储 装置特别是Flash存储器的速度,尤其是处理屏幕显示(0SD,0n ScreenDisplay)等一些需 要从Flash存储器中读入大量数据的程序时,因为有效地提高了 MCU获取数据的速度,所以 能够加快OSD显示速度。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在 存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出 或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步 骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
一种用于微控制单元(MCU)的数据传输方法,其特征在于,包括通过串行口从存储装置中读取数据然后保存在缓存中,在保存时将读取的数据由串行转换为并行,串行时钟频率高于并行时钟频率;根据所述缓存的存储地址与所述存储装置的存储地址之间的对应关系,确定所述MCU在所述存储装置中指定的地址在所述缓存中对应的地址,然后将该对应的地址中的数据通过并行口发送给所述MCU。
2.根据权利要求1所述的方法,其特征在于,通过串行口从存储装置中读取数据之前还包括根据所述MCU历次指定的地址确定所 述MCU在指定地址时遵循的规律;所述从存储装置中读取数据包括从根据所述规律确定的存储装置内的地址中读取数据。
3.根据权利要求2所述的方法,其特征在于,所述规律包括所述MCU从所述存储装置中的一段连续的地址中按地址顺序获取数 据;或者,所述规律包括所述MCU从所述存储装置中的多个地址段中获取数据,在每个所述地 址段中按地址顺序获取数据。
4.根据权利要求2或3所述的方法,其特征在于,所述从存储装置中读取数据包括在所述MCU指定存储装置中的地址之前,从根据所 述规律确定的存储装置内的地址中读取部分数据并且记录所述部分数据在所述存储装置 中的地址;将该对应的地址中的数据通过并行口发送给所述MCU之前还包括确认所述指定的地 址与记录的所述部分数据在所述存储装置中的地址为相同地址。
5.根据权利要求2或3所述的方法,其特征在于,所述从存储装置中读取数据包括在所述MCU指定存储装置中的地址之前,从根据所 述规律确定的存储装置内的地址中读取部分数据并且记录所述部分数据在所述存储装置 中的地址;将该对应的地址中的数据通过并行口发送给所述MCU之前还包括确认所述指定的地 址与记录的所述部分数据在所述存储装置中的地址为不同地址,然后从所述存储装置中读 取所述MCU在所述存储装置中的指定的地址中的全部数据并用该全部数据覆盖所述缓存 中已有的数据。
6.一种用于微控制单元(MCU)的数据传输方法,其特征在于,包括通过并行口接收MCU发送的数据然后保存在缓存中,保存时将读取的数据由并行转换 为串行,其中串行时钟频率高于并行时钟频率,并记录MCU指定的存储装置中的地址;根据所述缓存的存储地址与所述存储装置的存储地址之间的对应关系,确定所述MCU 在所述存储装置中指定的地址在所述缓存中对应的地址,然后将该对应的地址中的数据通 过串行口发送给所述存储装置并在保存在所述MCU在所述存储装置中指定的地址中。
7.根据权利要求6所述的方法,其特征在于,将该对应的地址中的数据通过串行口发 送给所述存储装置之后还包括接收所述MCU指定的存储装置中的地址,根据接收的地址和已记录的存储装置中的地址是否相同判断所述缓存中是否已保存MCU要存入所述存储装置中的数据,若是,则将 所述缓存中的数据发送给所述存储装置,否则从所述MCU接收数据然后发送给所述存储装置。
8.一种用于微控制单元(MCU)的数据传输装置,其特征在于,包括预取控制模块、缓存 模块和地址映射模块,其中所述预取控制模块,用于通过串行口从存储装置中读取数据然后保存在所述缓存模块中;所述地址映射模块,用于根据所述缓存模块的存储地址与所述存储装置的存储地址 之间的对应关系,确定所述MCU在所述存储装置中指定的地址在所述缓存模块中对应的地 址,然后将该对应的地址中的数据通过并行口发送给所述MCU。
9.一种用于微控制单元(MCU)的数据传输装置,其特征在于,包括接收模块和发送模 块,其中所述接收模块,用于通过并行口接收MCU发送的数据然后保存在缓存中,并记录MCU指 定的存储装置中的地址;所述发送模块,用于根据所述缓存的存储地址与所述存储装置的存储地址之间的对应 关系,确定所述MCU在所述存储装置中指定的地址在所述缓存中对应的地址,然后将该对 应的地址中的数据通过串行口发送给所述存储装置并在保存在所述MCU在所述存储装置 中指定的地址中。
10.一种数据传输系统,其特征在于,包括 微控制单元(MCU);权利要求8或权利要求9所述的数据传输装置,与所述MCU连接; 存储装置,与所述数据传输装置连接。
全文摘要
本发明公开了一种用于微控制单元的数据传输方法与装置以及数据传输系统,以解决现有技术中MCU从外部存储元件读取数据的效率较低的问题。该方法包括通过串行口从存储装置中读取数据然后保存在缓存中,在保存时将读取的数据由串行转换为并行,串行时钟频率高于并行时钟频率;根据所述缓存的存储地址与所述存储装置的存储地址之间的对应关系,确定所述MCU在所述存储装置中指定的地址在所述缓存中对应的地址,然后将该对应的地址中的数据通过并行口发送给所述MCU。使用本发明的技术方案能够提高MCU访问外部存储装置的效率。
文档编号G06F13/16GK101950277SQ20101028679
公开日2011年1月19日 申请日期2010年9月13日 优先权日2010年9月13日
发明者于岗 申请人:青岛海信信芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1