

系统加电时,单片机培训将ASET置为低电平,经过一个非门,变成高电平使移位寄存器处于置位状态。在配置完成后,单片机将ASET信号置为高电平,经非门使移位寄存器正常工作。
利用移位寄存器电路产生伪随机码的电路非常简单,反馈逻辑也便于修改。
5 单片机验证伪码的程序
在位寻址区(20H~2FH)定义了字节变量WORD1、WORD2、WORD3、WORD4、WORD5,用来存储移位寄存器的40个状态。其中Q0对应WORD1.0,Q1对应WORD1.1……Q39对应WORD5.7。同时,在位寻址区定义了WORD6、WORD7、WORD8、WORD9,用来进行后面的反馈逻辑计算。
单片机一上电,首先将ASET脚清零,同时,也将PNMA脚清零,将初值55H作为移位寄存器的初始状态,接着完成FPGA的上电配置工作。配置完成后,单片机检测来自FPGA的外部中断CONFDONE。如果配置完成,CONFDONE为高电;否则,为低电平。在检测到CONFDONE为高电平,即配置完成后,单片机学习,将ASET脚置为1,使能FPGA内的伪码发生电路工作,单片机产生伪随机码的流程。配置完成后,首先将Q0输出到PNMA引脚,接着计算反馈逻辑输入,将参与反馈运算的几个状态运算结果存在中间变量MID_VARY中。然后,对各个状态进行右移,为了提高运算效率,使用了带进位C的字节循环右移指令。移位完成后,将MID_VARY存入Q39,再将新的Q0输出到PNMA引脚,程序循环执行产生伪随机码。
嵌入式培训 http://www.itpeixun.net/qianrushi-peixun.html


29楼
工作几年,一点硬件都做过,这次在职考上了研究生,想重新温习一下单片机,然后把ARM和DSP自学一下,也好有个基础

回复
打赏帖 | |
---|---|
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 |