使用LabVIEW 状态图进行FPGA 编程
摘自NI案例
一、概览
LabVIEW状态图模块(Statechart Module)扩展了NI图形化系统设计平台,以满足日益复杂的应用需求。该LabVIEW软件平台的组件为LabVIEW添加了另一个设计模型的方式,因此开发者可以在比过去更高的抽象层上来设计应用程序,同时快速将设计与实际I/O进行集成。使用LabVIEW 状态图的设计功能和现有硬件,可以快速地对数字通信系统、机器控制器和错误处理逻辑等嵌入式系统进行原型开发。
二、在FPGA 中使用LabVIEW 状态图
使用状态图程序框图,可以通过定义状态、转移和事件进行系统设计。状态图对于例如通信协议实现、系统错误处理设计、创建用户界面和状态机开发等基于事件的设计而言,都是非常契合的。可以将LabVIEW 状态图程序部署到多种目标机器上,包括台式PC、实时控制器和FPGA。LabVIEW 状态图模块和LabVIEW FPGA 模块无缝集成在一起,因此可以在可重复配置的硬件上,使用状态图程序框图和数据流图形化编程进行数字逻辑设计,而无需使用底层描述语言(VHDL)或进行板卡级设计。
三、串行外围接口(SPI)
SPI是通常应用于数据流(而不是读写)的同步协议,因此常被用于在微处理器和数字信号处理器之间进行通信。SPI 协议包含了在至少两个设备(主设备以及一个或更多从设备)之间发送的数据。主设备控制两个数字信号,即片选信号(选择要通信的从设备)和时钟信号。从设备有一条来自于主设备的专用片选数据线,在包含多个从设备的情况下,这条线起连接所有设备的作用。如果应用程序包含主设备和从设备之间的双向通信,您就需要使用两条数据线——主设备输出从设备输入(MOSI)以及主设备输入从设备输出(MISO)。如图1显示了用于在主设备和从设备之间进行通信的线路。

图1 主设备与从设备之间SP