没有“VHDL的RS232通信”这种说法。只有例如“利用RS232接口实现FPGA/CPLD与计算机进行通信”这样的说法。希望楼主今后表达问题时能尽量清晰。
首先要知道利用RS232接口通信,波特率不是固定的,在一定范围内即可。以RS232C标准为例,它适合于数据波特率在0~20000bps 范围内的通信。平时常说的110bps、4800bps、9600bps等是国际提倡使用的波特率。
所以,以利用RS232接口实现FPGA与计算机进行通信为例,具体的波特率是由设计者确定的。设利用FPGA的时钟源分频得到了一个4800Hz的时钟信号,设你要传输的数据位长为6位,在发送这6位数据前,你可以一直发送1,以此告诉计算机你还没发送有效的数据,然后你在时钟上升沿到来时发送0,以此告诉计算机你就要发送有效的数据了,然后在下一个时钟上升沿到来时发送你那6位数据的最低位,再下一个时钟上升沿到来时发送高一位,如此反复就可以将6位数据全部发送完毕了,发送完毕后你仍然一直发送1,告诉计算机等待下一次有效数据的发送。
如图所示,那个奇偶校验位是用来给计算机判断数据是否发送正确用的,从原理上你可以不理会。从图中你会发现t是一个固定值,它就是你发送一位数据所花的时间,结合我上面的描述,t就等于1/4800s,这表示,此时波特率为4800bps。
写了很多,希望能说得明白,希望对得起你给的100分。
——MediedLee
vhdl是不会运行的!它不同于C、C++等语言,它用于描述一个硬件结构,描述完之后,所生成的硬件就已经成型了,所以这个问题相当于你在问“硬件是怎样运行的?”一样,记住,vhdl是硬件“描述”语言!
以上就是关于关于VHDL的RS232通信,它的波特率怎么算,他的原理是什么呢!!!!全部的内容,包括:关于VHDL的RS232通信,它的波特率怎么算,他的原理是什么呢!!!!、vhdl 程序是如何运行的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)