许多FPGA规划运用嵌入式处理器完成操控。典型的解决方案是运用Nios这样的软处理器,尽管内置硬处理器的FPGASoC也变得很流行了。图1显现的是一个典型的Altera FPGA体系,其间包含了处理器和经过Altera的Avalon内存映射(MM)总线衔接的各种外设。这些处理器极大地简化了终端运用,但要求很强的编程布景和杂乱的东西链常识。这将阻碍调试,特别是当硬件工程师不想求助软件工程师,只需要一种简略的办法读写外设时。
图1:运用Avalon内存映射总线衔接的典型Altera FPGA体系。
本规划实例运用Altera的SPI Slave to Avalon MM桥完成了一种挂接到Avalon总线的简略办法。这种技能有两个优势:它不会影响原始体系规划,桥能够与嵌入式处理器共存。关于图1所示的体系来说,这种SPI桥答应工程师直接操控LTC6948小数分频锁相环的频率、设置LTC1668数模转化器的电压、读取LTC2498模数转化器的电压或读取LTC2983的温度,就像处理器那样。
图2:高亮部分+比如代码+反向工程=Python脚本。
Altera为SPI-Avalon MM桥供给了参阅规划。惋惜的是,相关文档十分少,而且将Nios处理器用作SPI主器材。这其实有违运用SPI桥的初衷,由于Nios能够直接衔接Avalon MM总线。实用性的SPI主器材是凌力尔特公司的Linduino微操控器,它是Arduino处理器的的克隆版别,不过增加了衔接LT演示板的接口等额定功用。其间一个额定功用是电平转化SPI端口。当衔接电压低至1.2V的FPGA I/O组时这个电平转化功用特别有用。Linduino固件能够用来承受来自虚拟COM端口的指令,并将指令翻译成SPI处理内容。 在对Altera规划比如进行反向工程后(图2)就能得到一个Python库,接着创立SPI桥能够承受的数据包。这些数据包随后被翻译成Linduino指令。Python脚本随后答应硬件工程师彻底操控整个项目,无需从头开发接口协议。LinearLabToolsPhython文件夹中供给了协助LTC1668数模转化器操控数字图画发生器频率的Python脚本比如。图3显现了演示设备。
图3:刺进FPGA电路板(左)的DC2459数模转化器演示板(右)。