要明白RS232在CPLD/FPGA开发板上是已经焊接好了硬件电路,而我们对FPGA的操作是对引脚(FPGA)的高低电平和电平速率的操作!
我们的操作FPGA中间的管脚的操作是对RS232_TX和RS232_RX的操作,通过对其的操作,进而控制MAX3232CSE芯片。由芯片进行读取。
那到这里我奇怪的是,bps_clk/bps_start等的作用是什么呢?先看一下RTL视图:
各个模块是干嘛的呢?
刚刚我突然想到一个可能的,就是RS3232的操作。到这里我想我已经明白了FPGA各个模块之间的关系和RS232的硬件电路的关系。
首先RS232的硬件上只有2个管脚与FPGA连接,所以ouput实际上就两个,其次因为RS232的操作要求是数据按照一定的bps来传输数据。所以speed_select模块是控制数据的传输速度,而rx或者tx模块是为了存储数据的模块。
弄清楚了FPGA中间的模块的功能以及输入输出的作用以后,整体的思路就出来了。
所以对于模块的设计的一个小小的心得,就是1、弄清楚整个的输入输出要求;2将要求分模块设计;3、再是设计代码;
这个对于FPGA的模块化的思想的应用应该是本质上的需求。
每天进步一点点,不放过任何一个小小的需要思考的问题。