双处理器通信方案的研习与策划.docx
《双处理器通信方案的研习与策划.docx》由会员分享,可在线阅读,更多相关《双处理器通信方案的研习与策划.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、双处理器通信方案的研习与策划双处理器之间通信方式目前,基于FPGA的双处理器之间的通信根据通信方式来划分,主要有:分享存储器、邮箱核(mailbox)、串口通讯和DMA等四种方式。分享存储器通信是一种两个处理器之间的阻塞通信方式。在双处理器系统中,能够通过分享片上RAM的方式来实现处理器之间的数据交互。为了防止死锁的发生,需要通过设置标志位或者中断信号的方式,实现双处理器的异步接收或发送。同时发送进程和接收进程必须在两个处理器上成对出现,只要当两个处理器上的发送进程和接收进程同时到来时,两个处理器才能共同退出当前通信进程,进入下一条指令。邮箱核主要提供了两组互斥体,一个用于保证对分享存储器的唯
2、一写访问,另外一个用于保证对分享存储器唯一的读访问。邮箱核结合片上RAM,能够实现双处理器之间的数据交换。邮箱核加片上RAM的组合方式,合适于双处理器之间的单向传输数据,具有实时性好,速度快的优点,但是对于通信的数据构造有一些要求。串口通讯在双处理器之间的数据交换主要是通过串口通信设备完成的。将系统中的处理器分为主设备和从设备,当主设备要读取从设备数据时,就向从设备发送一个读取的指令,从设备接收到指令后将数据发送到主设备中。主设备向从设备写入数据经过也是如此。这种通信方式,对于软件程序方面依靠性较小,但是传输形式单一,存在一定的延时。DMA方式主要是用于数据量比拟大的情况下,通过对数据整块的处
3、理,能够有效的缩减数据通信占用途理器的时间。互联模块概要设计通过对以上双处理器之间通信方式的优缺点分析,结合本系统通信的特点,设计出符合本系统的FIFO互联模块。在该系统中,使用的是定制IP核的方式来设计该模块,在IP核中设计相关的寄存器,设计出相关的读写控制逻辑。该IP核的设计主要分为下面几个方面。第一是对于系统的非实时部分而言,要在操作系统的层次上,读取FIFO缓冲区数据和将数据写入FIFO缓冲区,保证数据的读取和写入正常。在操作系统中编写该FIFO缓冲区设备的驱动,在驱动中判定该设备的读写状态。第二是对系统的实时部分而言,要在规定的时间内,将数据从该FIFO缓冲区中读取,同时将反应数据在
4、规定的时间内写入到FIFO缓冲区中。通过对该IP核中定义的控制寄存器的读取,实时的判定该FIFO设备的状态,保证及时的读取或写入数据。第三就是要实现对该FIFO缓冲区的互斥访问,保证每次读取或者写入的数据都是完好的,确保数据的准确。通过对缓冲区的大小进行设定,当读或者写完成时,设置控制寄存器中相应的标志位,到达互斥访问的目的。具体设计1IP核的设计该IP核主要的功能一是对写入的数据进行缓冲,二是对输入的数据进行分隔,保证每次读写的数据都是完好的一帧。该IP核在QuartusII环境中顶层模块如图2所示。该FIFO的缓冲区大小为128位,宽度为32。使用了一个读指针READ_POINTER和一个
5、写指针WRITE_POINTER来控制CPU对该缓冲区的读写,读写指针大小都设置为2。该FIFO的读写数据模型如图3所示。当对该缓冲区进行读或者写操作时,相应的指针发生变化。当读或写指针到达一定的条件时,就设置相关寄存器的状态。当从该缓冲区中读取数据完成时,就将READ_DONE置1,同时将READ_ENABLE置0,将WRITE_ENABLE置1,进而完成读操作,保证读取数据的完好性。同理,当写数据完成了,将WRITE_DONE置1,同时将READ_ENABLE置1,将WRITE_ENABLE置0,完成写操作。这样就能够控制CPU对缓冲区的读写,保证数据的唯一性。能够看出通过对读写标志位的判
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 处理器 通信 方案 研习 策划
限制150内