基于FPGA的串口接收设计全过程IC解密
IC解密上位机发送数据,串口接收后发给led,实现对led亮灭的控制。显然,实现该功能需要俩个模块,一个是实现数据的接收rx_control_module.v,另一个是实现对led的亮灭控制(led_Control_module.v)。而数据接收需要三个条件:来了低电平信号,有匹配的波特率,还得对数据接收。所以我们需要三个模块完成,一是检测信号(rx_detect_module;)、二是波特率计数:rx_bps_module;、三是数据接收控制:rx_receive_module。接下来,咱就拿出一张纸,画画看,串口接收在FPGA当中是怎样工作的。
首先,先把那五个模块及引脚rx_Pin_In写上,接下来的一切动作都是由rx_Pin_In而起的。我们要接收数据肯定要先对信号(低电平)进行检查,否则,怎么开始呢?故先关注rx_detect_module.v(信号检测模块),这里要实现数据的电平检测,并不断的发送给数据接收模块。别的不管,先input rx_pin_in;再output L_sig(输出低电平) ;。这个模块的任务就完成了。
现由L_sig,IC解密信号传给了数据接收控制模块(rx_receive_module.v)。按理说下面就该对这个模块进行描述了。毕竟人家都不断给咱信号了,咱不能不干活呀。但还真不能干,得设置波特率呀,没有波特率还接收个毛线。所以走,设置波特率去,然后跟他要个信号,就可以工作了,出发~
“欢迎光临波特率计数模块(rx_bps_module),在这里您将得到你想要的一切”
“给我个接收数据的信号就可以了。”
“好,请掏钱”
“纳尼??!!,还要钱?”
“不给我钱(信号),我凭什么给你呢,想骗吃骗喝啊,滚~~”
出门不能忘了带钱啊,要不然人家不待见。回去拿钱吧。
(PS:想让人家工作,得给信号。起初还真的忘了)
回到数据接收控制模块(rx_receive_module.v),得弄个output bps_count;(波特率计数),相对应的在模块中reg bps_work;(波特率工作)。走,这回看他还咋不让俺们进。
“IC解密欢迎光临波特率计数模块(rx_bps_module),在这里您将得到你想要的一切”
“给,input bps_count;(波特率计数)”
“请问您要多少的波特率”
“9600吧”

芯片解密