首页  专利技术  电子电路装置的制造及其应用技术

一种基于8051核的FLASH控制电路的制作方法

2026-08-13 17:20:07 428次浏览
一种基于8051核的FLASH控制电路的制作方法

本发明涉及flash控制,具体涉及一种基于8051核的flash控制电路。


背景技术:

1、随着电子技术的快速发展,以及消费类电子的市场不断扩大,对八位mcu性能要求越来越高。目前常用的八位mcu(micro control unit,单片机)的主频一般为16mhz和24mhz,而mcu的主频主要受限于flash(快闪存储器)的读取速度,其中常用的flash的主频有25mhz和32mhz。在实际使用时,无论是什么频率的flash和mcu,flash控制电路的设计尤为关键。

2、对于flash控制电路,其地址锁存信号ae的设计及其关键,其中地址锁存信号ae需要满足flash的读取建立时间,即地址锁存信号ae不能建立太早,其次要在flash读取的时刻存在。基于上述两点考虑,目前常用基于地址变化的方式产生的脉冲信号作为地址锁存信号ae,实现地址锁存信号ae的产生的结构如图1和图2所示。

3、在图1中整个地址锁存信号ae的产生电路包括8051cpu内核、flash控制电路、64kb的flash和数据选择电路,其中memaddr[15:0]为地址总线;memdatai[7:0]为数据总线;fae为flash地址锁存信号;faddr[13:0]为flash地址信号。在图2中,addr_pulse为地址变化产生的脉冲信号;fcpu为系统时钟;rst为系统复位,图2所示电路实际使用时的时序图如图3所示。

4、结合图3,对图2所示电路进行分析,图2所示电路的本质是在系统时钟下降沿,将地址总线同步一拍然后进行异或逻辑得到脉冲信号,该脉冲信号作为flash的地址锁存信号ae。

5、对于图1和图2所示结构,当系统执行跳转指令例如jnb指令时,指令操作码为30,则会出现无效读取的情况,尽管对系统的功能没有影响,但会带来多余的flash读取功耗。

6、对于这种无效读取的情况,在指令执行过程中并不一定会出现,而是和地址总线的低两位和当前指令的字节数有关。对于jnb指令,其是3字节的指令,当地址总线低两位为2’b01时,其中2’b01代表两位二进制的数据为01,就会出现无效读取的情况。对于单字节的跳转指令,当地址总线低两位为2’b11时,也会出现无效读取的情况。对于2字节的跳转指令,当地址总线低两位为2’b01时,同样会出现无效读取的情况。


技术实现思路

1、鉴于背景技术的不足,本发明是提供了一种基于8051核的flash控制电路,所要解决的技术问题是当地址总线变化时,如何消除因8051核不同字节的跳转指令而带来的flash无效读取的情况,以及降低flash读取功耗。

2、为解决以上技术问题,本发明提供了如下技术方案:一种基于8051核的flash控制电路,包括d触发器dff1和异或门xor1;所述d触发器dff1的d输入端与所述8051核的地址总线电连接,所述d触发器的时钟输入端用于输入系统时钟信号,所述d触发器的清零端用于输入系统复位信号;所述异或门xor1的两个输入端分别与d触发器dff1的q输出端和d触发器dff1的d输入端电连接;还包括:

3、跳转指令脉冲产生单元、跳转指令脉冲控制单元、与门and1和或门or1;

4、所述跳转指令脉冲产生单元与所述8051核电连接,用于在8051核当前执行的指令为跳转指令时产生状态标志信号jmp_ins,且在跳转指令的最后一个周期产生一个脉冲信号fetch_ael;

5、所述跳转指令脉冲控制单元分别与所述跳转指令脉冲产生单元和8051核电连接,基于所述状态标志信号jmp_ins判断8051核当前执行的指令是否为跳转指令,且在8051核当前执行的指令为跳转指令时输出一个周期的低电平滤波信号pause_1;

6、所述异或门xor1的输出端输出的脉冲信号addr_pulse和滤波信号pause_1分别输入到与门and1的两个输入端,所述脉冲信号fetch_ael和与门and1输出的信号分别输入到或门or1的两个输入端,所述或门or1的输出端用于输出flash的地址锁存信号。

7、在某种实施方式中,所述跳转指令脉冲产生单元包括驱动单元和五路脉冲产生支路,每路脉冲产生支路分别包括或非门nor10、与门and10-与门and14、d触发器dff10、d触发器dff11、选择器mux1、选择器mux2和逻辑控制单元;

8、所述地址总线的第一位数据输入到或非门nor10的一个输入端,所述地址总线的第二位数据经反相处理后输入到或非门nor10的另一输入端,所述或非门nor10的输出端和与门and10的一个输入端电连接,所述与门and10的另一输入端用于输入控制信号codefetch,所述控制信号codefetch由8051核产生,所述与门and10的输出端和与门and11的一个输入端电连接;

9、所述逻辑控制单元用于判断输入的数据总线的内容是否为跳转指令,在输入的数据总线的内容为跳转指令时向与门and11的另一个输入端输入高电平的判断信号,反之则向与门and11的另一个输入端输入低电平的判断信号;与门and11的输出端和与门and12的一个输入端电连接;

10、所述选择器mux1的两个输入端分别用于输入低电平信号和高电平信号,所述选择器mux1的输出信号经过取反后输入到与门and12的另一个输入端;与门and12的输出端和d触发器dff10的d输入端电连接,d触发器dff10的时钟输入端用于输入所述系统时钟信号,d触发器dff10的q输出端和与门and13的一个输入端电连接;

11、所述选择器mux2的两个输入端分别用于输入低电平信号和高电平信号,所述选择器mux2的输出端和与门and13的另一个输入端电连接,所述与门and13的输出端和d触发器dff11的d输入端电连接,所述d触发器dff11的q输出端和与门and14的一个输入端电连接,所述与门and14的另一个输入端和d触发器dff11的时钟输入端分别用于输入所述系统时钟信号;

12、所述驱动单元基于8051核的指令周期计数器的内容控制选择器mux1和选择器mux2的通道导通。

13、在某种实施方式中,五路脉冲产生支路分别为第一脉冲产生支路至第五脉冲产生支路;所述第一脉冲产生支路至第三脉冲产生支路的d触发器dff10的q输出端互相电连接,用于输出状态标志信号jmp_ins1;第四脉冲产生支路的d触发器dff10的q输出端和第五脉冲产生支路的d触发器dff10的q输出端电连接,用于输出状态标志信号jmp_ins2;

14、所述驱动单元控制第一脉冲产生支路的选择器mux1和选择器mux2的通道导通的方式如下:

15、所述驱动单元在所述指令周期计数器的内容为三时驱动第一脉冲产生支路的选择器mux1输出高电平信号,反之则驱动第一脉冲产生支路的选择器mux1输出低电平信号;

16、所述驱动单元在所述指令周期计数器的内容为二时驱动第一脉冲产生支路的选择器mux2输出高电平信号,反之则驱动第一脉冲产生支路的选择器mux2输出低电平信号。

17、在某种实施方式中,所述驱动单元控制第二脉冲产生支路的选择器mux1和选择器mux2的通道导通的方式如下:

18、所述驱动单元在所述指令周期计数器的内容为五时驱动第二脉冲产生支路的选择器mux1输出高电平信号,反之则驱动第二脉冲产生支路的选择器mux1输出低电平信号;

19、所述驱动单元在所述指令周期计数器的内容为四时驱动第二脉冲产生支路的选择器mux2输出高电平信号,反之则驱动第二脉冲产生支路的选择器mux2输出低电平信号。

20、在某种实施方式中,所述驱动单元控制第三脉冲产生支路的选择器mux1和选择器mux2的通道导通的方式如下:

21、所述驱动单元在所述指令周期计数器的内容为六时驱动第三脉冲产生支路的选择器mux1输出高电平信号,反之则驱动第三脉冲产生支路的选择器mux1输出低电平信号;

22、所述驱动单元在所述指令周期计数器的内容为五时驱动第三脉冲产生支路的选择器mux2输出高电平信号,反之则驱动第三脉冲产生支路的选择器mux2输出低电平信号。

23、在某种实施方式中,所述驱动单元控制第四脉冲产生支路的选择器mux1和选择器mux2的通道导通的方式如下:

24、所述驱动单元在所述指令周期计数器的内容为四时驱动第四脉冲产生支路的选择器mux1输出高电平信号,反之则驱动第四脉冲产生支路的选择器mux1输出低电平信号;

25、所述驱动单元在所述指令周期计数器的内容为三时驱动第四脉冲产生支路的选择器mux2输出高电平信号,反之则驱动第四脉冲产生支路的选择器mux2输出低电平信号。

26、在某种实施方式中,所述驱动单元控制第五脉冲产生支路的选择器mux1和选择器mux2的通道导通的方式如下:

27、所述驱动单元在所述指令周期计数器的内容为六时驱动第五脉冲产生支路的选择器mux1输出高电平信号,反之则驱动第五脉冲产生支路的选择器mux1输出低电平信号;

28、所述驱动单元在所述指令周期计数器的内容为五时驱动第五脉冲产生支路的选择器mux2输出高电平信号,反之则驱动第五脉冲产生支路的选择器mux2输出低电平信号。

29、在某种实施方式中,所述跳转指令脉冲控制单元包括单字节逻辑处理单元、双字节逻辑处理单元、三字节逻辑处理单元、与门and20、与门and21、与非门nand20、与非门nand21、与非门nand22、选择器mux3、选择器mux4、d触发器dff20和第二驱动单元;

30、所述单字节逻辑处理单元基于输入的数据总线内容和控制信号codefetch判断8051核当前执行的指令是否为跳转指令,并在8051核当前执行的指令为跳转指令时向与非门nand20的一个输入端输入高电平信号,反之则向与非门nand20的一个输入端输入低电平信号;所述与门and20用于对地址总线的第一位数据和第二位数据进行与处理,所述与门and20的输出端和与非门nand20的另一个输入端电连接;

31、所述双字节逻辑处理单元基于输入的系统指令内容和状态标志信号jmp_ins1判断8051核当前执行的指令是否为跳转指令,并在8051核当前执行的指令为跳转指令时向与非门nand21的一个输入端输入高电平信号,反之则向与非门nand21的一个输入端输入低电平信号;所述选择器mux3的两个输入端分别输入高电平信号和低电平信号,所述选择器mux3的输出端和与非门nand21的另一个输入端电连接;

32、所述三字节逻辑处理单元基于输入的系统指令内容和状态标志信号jmp_ins2判断8051核当前执行的指令是否为跳转指令,并在8051核当前执行的指令为跳转指令时向与非门nand22的一个输入端输入高电平信号,反之则向与非门nand22的一个输入端输入低电平信号;所述选择器mux4的两个输入端分别输入高电平信号和低电平信号,所述选择器mux4的输出端和与非门nand21的另一个输入端电连接;

33、所述与非门nand20的输出端、与非门nand21的输出端和与非门nand22的输出端和与门and21的三个输入端电连接,与门and21的输出端和d触发器dff20的 d输入端电连接,d触发器dff20的时钟输入端用于输入系统时钟信号,d触发器dff20的q输出端用于输出滤波信号pause_1;

34、所述第二驱动单元与基于8051核的指令周期计数器的内容控制选择器mux3和选择器mux4的通道导通。

35、在某种实施方式中,所述第二驱动单元与基于8051核的指令周期计数器的内容控制选择器mux3和选择器mux4的通道导通的方式如下:

36、所述第二驱动单元在指令周期计数器的内容为一或者二时控制选择器mux3输出高电平信号,反正则控制选择器mux3输出低电平信号;

37、所述第二驱动单元在指令周期计数器的内容为一或者二或者三时控制选择器mux4输出高电平信号,反正则控制选择器mux4输出低电平信号。

38、在某种实施方式中,所述单字节逻辑处理单元在控制信号codefetch为高电平时对数据总线内容进行或处理,判断8051核当前执行的指令是否为调整指令;

39、所述双字节逻辑处理单元在状态标志信号jmp_ins1为高电平时对系统指令内容进行或处理,判断8051核当前执行的指令是否为调整指令;

40、所述三字节逻辑处理单元在状态标志信号jmp_ins2高电平时对系统指令内容进行或处理,判断8051核当前执行的指令是否为调整指令。

41、本发明与现有技术相比所具有的有益效果是:本发明通过判断8051核执行的指令是否为跳转指令,以及在当前执行的指令为跳转指令时产生一个低电平滤波信号pause_1,该滤波信号pause_1和d触发器dff1的q输出端输出的信号进行与处理,从而改变最后输出的地址锁存信号的波形,使8051核在执行跳转指令时避免无效读取的情况出现,从而降低功耗。

文档序号 : 【 40201383 】

技术研发人员:陈士金,俞小平,黄坚,郭晖,陈峰,姚子越,梁浩
技术所有人:无锡中微爱芯电子有限公司

备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
陈士金俞小平黄坚郭晖陈峰姚子越梁浩无锡中微爱芯电子有限公司
基于层次化的时钟树建模方法、装置、设备及存储介质与流程 返回列表
相关内容