基于fifo存储器的声发射信号的数据传输及存储方案
取还未完成,应继续留在s2,如blast为0,则表明此次dma读取完成,可转到s4。s3为单周期写状态,此状态下也要置ready信号为0以表示写数据有效,并在blast为0时转到s4。s4为读写操作完成状态,当lhold被置0时,表明pci9054不再请求本地总线,此时应转到s0,当blast为0且lhold为1时,表明pci9054还要进行数据读写,故应转到s1继续操作。
3.4 控制程序逻辑的仿真结果
max+plusⅱ是开发aletra公司的fpga/CPLD系列产品的软件工具,本设计利用此工具提供的设计环境和设计工具来对cpld控制程序进行开发和调试。其功能时序如图5所示。
cpld的设计是用vhdl编程实现的。本设计的操作代码都已经过仿真,并在实际调试中得到应用。
4 系统驱动程序设计
本设计使用driv erworks的driverwizard来创建wdm框架程序。可根据设计需求添加程序代码,从而完成pci设备的dma传输系统驱动程序,以执行dma操作、访问i/o端口和存储器空间、处理器中断和访问pci。根据系统需要,驱动程序的关键是三个方面:硬件访问、中断处理和dma传输。
kdmaadapter类可用于建立一个dma适配器,以标明一个dma通道的特性和提供串行化访问服务;kdmatransfer类则用于控制dma的传输和启动dma传输,以传输dma数据缓冲区物理地址和字节数,dma传输结束后,数据将由公用缓冲区拷贝到应用数据缓冲区;kcommon dmabuffer用于实现公用缓冲区的操作。对于dma操作,本系统还提供了一个特殊的内存,即公用缓冲区。应当说明的是,公用缓冲区是稀有的系统资源,应该避免浪费使用。
5 结束语
本文给出了数据缓存、传输模块控制电路的设计,并采用vhdl语言和cpld很好的完成逻辑控制任务和系统驱动程序的编写与调试。实验结果表明,该数据存储传输模块的硬件、软件工作十分可靠、稳定,可实现640 mbps(80 mbyte/s)以上实时数据的存储与传输,完全能满足声发射信号采集的要求。
- 基于 DSP-dMAX 的嵌入式 FIFO 数据传输系统设计(04-11)
- McBSP技术在数据传输中的应用(10-23)
- 基于DSP-dMAX 的嵌入式 FIFO 数据传输系统设计(11-27)
- 基于DSP的嵌入式 FIFO 数据传输系统设计(02-19)
- 基于DSP的CAN总线多节点远程数据传输系统(06-27)
- 嵌入式Linux的SOHO路由器电路设计(11-18)