具备SPI接口的MCU引导系统及芯片技术方案

技术编号:32283863 阅读:13 留言:0更新日期:2022-02-12 19:51
本发明专利技术涉及具备SPI接口的MCU引导系统及芯片,MCU引导系统包括状态机电路和两个交替缓存区;状态机电路通过SPI总线与具备SPI接口的flash存储器连接,用于从flash存储器读取引导指令段;当状态机电路先后读取的两个引导指令段是连续时,将先后读取的两个引导指令段送入其中一个交替缓存区,再将同一个交替缓存区内先后接收的两个引导指令段依次发送给MCU;否则将在先读取的一个引导指令段送入其中一个交替缓存区,再将在后读取的一个引导指令段送入另一个交替缓存区,在该工作状态下,所述其中一个交替缓存区将接收的一个引导指令段发送给MCU,然后所述另一个交替缓存区将接收的一个引导指令段发送给MCU。的一个引导指令段发送给MCU。的一个引导指令段发送给MCU。

【技术实现步骤摘要】
具备SPI接口的MCU引导系统及芯片


[0001]本专利技术涉及MCU引导启动的
,尤其涉及具备SPI接口的MCU引导系统及芯片。

技术介绍

[0002]为了满足通信设备高性能、低成本的要求,NorFlash(或非门非易失存储闪存),作为当前一种非易失闪存,由于其可以在芯片内执行的特点,相对于另一种非易失闪存NandFlash(与非门非易失存储闪存)更适合作为启动程序的存储介质使用。
[0003]NorFlash主要采用SPI串行接口(SPI是serial peripheral interface,串行外围设备接口);NorFlash的SPI接口的信号线的数量较少,外围设计简单,故很适合于在手机、平板、小型轮式机器人(比如宠物机器人、不倒翁机器人、室内清洁机器人)等智能移动终端产品中作为数据存储设备,但是,对于需要按周期升级功能的智能移动终端产品而言,现存的智能移动终端产品中的微控制器单元(Micro Control Unit,MCU)还不能支持使用NorFlash作为引导程序的载体,即不能使用NorFlash内部的引导程序数据来引导所述微控制器单元启动执行功能升级的任务。

技术实现思路

[0004]针对以上问题,本专利技术的目的在于提供具备SPI接口的MCU引导系统及芯片,实现利用flash存储器内置一套默认的引导命令来支持MCU,满足引导MCU启动、引导配置MCU、以及引导MCU升级的需求。具体的技术方案如下:具备SPI接口的MCU引导系统,所述MCU引导系统包括状态机电路和两个交替缓存区;状态机电路通过SPI总线与具备SPI接口的flash存储器连接,用于从该flash存储器中读取出引导指令段,其中,状态机电路存在以下的工作状态跳转:当状态机电路先后读取的两个引导指令段是连续时,触发状态机电路进入连续访问状态,状态机电路用于在连续访问状态下将先后读取的两个引导指令段送入其中一个交替缓存区,再将所述其中一个交替缓存区内先后接收的两个引导指令段依次发送给MCU,以引导MCU启动;当状态机电路先后读取的两个引导指令段不是连续时,触发状态机电路进入分支访问状态,状态机电路用于在分支访问状态下将在先读取的一个引导指令段送入其中一个交替缓存区,再将在后读取的一个引导指令段送入另一个交替缓存区;状态机电路还用于在分支访问状态下,先触发所述其中一个交替缓存区将接收的一个引导指令段发送给MCU,再触发所述另一个交替缓存区将接收的一个引导指令段发送给MCU,以避免在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。
[0005]进一步地,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区;若先后读取的第一引导指令段和第二引导指令段不是连续,且先后读取的第二引导指令段和第三引导指令段不是连续的情况下,所述状态机电路用于在分支访问状态下,将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区,然后将第三引导指
令段送入第一交替缓存区;所述状态机电路还用于在分支访问状态下,先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将第二引导指令段发送给MCU,然后触发第一交替缓存区将第三引导指令段发送给MCU,以避免同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。
[0006]进一步地,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区;若所述状态机电路先后读取的第一引导指令段和第二引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,所述状态机电路在所述分支访问状态下将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区;然后,若所述状态机电路先后读取的第二引导指令段和第三引导指令段是连续时,所述状态机电路由所述分支访问状态跳转至所述连续访问状态下,所述状态机电路在所述连续访问状态下将第三引导指令段送入第二交替缓存区;所述状态机电路还用于先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将先后接收的两个引导指令段依次发送给MCU,以避免同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。
[0007]进一步地,所述状态机电路连续两次读取到的引导指令段之间是连续时,所述状态机电路进入所述连续访问状态下,再控制连续两次读取到的引导指令段存入同一个交替缓存区,直至所述状态机电路当前连续两次读取到的引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,并控制最新一次读取到的引导指令段存入另一个交替缓存区。
[0008]进一步地,将一个交替缓存区内的一个引导指令段送往MCU的过程中,同步将另一个引导指令段送入该交替缓存区内或另一个交替缓存区内;所述两个交替缓存区分别位于所述MCU引导系统内的不同的存储空间中;其中,所述状态机电路对先后读取到的两个引导指令段的处理过程所耗费的时间配置为一个时序周期,所述处理过程包括将所述先后读取到的两个引导指令段发送往对应的交替缓存区、以及将所述先后读取到的两个引导指令段从对应的交替缓存区送往MCU。
[0009]进一步地,所述状态机电路的内部设置一个SPI接口;所述flash存储器的SPI接口的各个功能引脚通过SPI总线分别与所述状态机电路的SPI接口的对应功能引脚连接;所述flash存储器的SPI接口被配置为4线读模式,以使得所述状态机电路的SPI接口也适应性地调整为4线读模式;其中,所述状态机电路的SPI接口的写保护引脚和保持引脚都配置为数据输入端,以在一个SPI接口内形成4根具备并行收发数据功能的数据线,实现在一个时钟周期内读取一个引导指令段;其中,所述状态机电路用于将其SPI接口的4线读模式中的4个数据输入端并行接收的引导指令段对应的二进制数进行并串转换,再传输给对应的一个交替缓存区;其中,所述交替缓存区是使用串行接口收发数据。
[0010]进一步地,所述状态机电路先后读取的两个引导指令段是连续,表示所述状态机电路先后读取的两个引导指令段对应的地址是连续的;所述状态机电路先后读取的两个引导指令段不是连续,表示所述状态机电路先后读取的两个引导指令段对应的地址不是连续的,进而确定在后读取的一个引导指令段相对于在先读取的一个引导指令段发生跳转;其中,引导指令段是预先存入所述flash存储器内的引导程序数据,该引导程序数据配置所述MCU的升级请求端口进入引导模式。
[0011]进一步地,在所述两个交替缓存区中,当任一个交替缓存区没有剩余缓存空间时,
停止从所述flash存储器继续读取所述引导指令段,并将所述flash存储器配置为写保护状态。
[0012]进一步地,所述状态机电路通过SPI总线读取所述引导指令段的速率大于所述MCU从所述交替缓存区中提取所述引导指令段的速率。
[0013]进一步地,当所述MCU被引导启动后,所述MCU内的升级程序还用于接管所述状态机电路的SPI接口,以使得所述MCU通过该SPI接口及其连接的SPI总线,对所述flash存储器进行读写操作,以减少不同总线传输之间的数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.具备SPI接口的MCU引导系统,其特征在于,所述MCU引导系统包括状态机电路和两个交替缓存区;状态机电路通过SPI总线与具备SPI接口的flash存储器连接,用于从该flash存储器中读取出引导指令段;当状态机电路先后读取的两个引导指令段是连续时,触发状态机电路进入连续访问状态,状态机电路用于在连续访问状态下将先后读取的两个引导指令段送入其中一个交替缓存区,再将所述其中一个交替缓存区内先后接收的两个引导指令段依次发送给MCU;当状态机电路先后读取的两个引导指令段不是连续时,触发状态机电路进入分支访问状态,状态机电路用于在分支访问状态下将在先读取的一个引导指令段送入其中一个交替缓存区,再将在后读取的一个引导指令段送入另一个交替缓存区;状态机电路还用于在分支访问状态下,先触发所述其中一个交替缓存区将接收的一个引导指令段发送给MCU,再触发所述另一个交替缓存区将接收的一个引导指令段发送给MCU,以避免在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。2.根据权利要求1所述MCU引导系统,其特征在于,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区;若先后读取的第一引导指令段和第二引导指令段不是连续,且先后读取的第二引导指令段和第三引导指令段不是连续的情况下,所述状态机电路用于在分支访问状态下,将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区,然后将第三引导指令段送入第一交替缓存区;所述状态机电路还用于在分支访问状态下,先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将第二引导指令段发送给MCU,然后触发第一交替缓存区将第三引导指令段发送给MCU,以避免同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。3.根据权利要求1所述MCU引导系统,其特征在于,所述两个交替缓存区分别是第一交替缓存区和第二交替缓存区;若所述状态机电路先后读取的第一引导指令段和第二引导指令段不是连续时,所述状态机电路跳转至所述分支访问状态下,所述状态机电路在所述分支访问状态下将第一引导指令段送入第一交替缓存区,再将第二引导指令段送入第二交替缓存区;然后,若所述状态机电路先后读取的第二引导指令段和第三引导指令段是连续时,所述状态机电路由所述分支访问状态跳转至所述连续访问状态下,所述状态机电路在所述连续访问状态下将第三引导指令段送入第二交替缓存区;所述状态机电路还用于先触发第一交替缓存区将第一引导指令段发送给MCU,再触发第二交替缓存区将先后接收的两个引导指令段依次发送给MCU,以避免同一时序周期在同一交替缓存区内逐个地址单元地搜索不连续的两个引导指令段。4.根据权利要求1所述MCU引导系统,其特征在于,所述状态机电路连续两次读取到的引导指令段之间是连续时,所述状态机电路进入所述连续访问状态下,再控制连续两次读取到的引导指令段存入同一个交替缓存区,直至所述状态机电路当前连续两次读取到的引导指令段不...

【专利技术属性】
技术研发人员:邓文拔李璋辉
申请(专利权)人:珠海一微半导体股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1