
自制低成本CPLD开发板(STM32F103和Altera MAX II EPM240/EPM570 CPLD)。两个开发板合并成一个。 ![]() 项目中使用的东西 硬件组件 见文件“A020216-R280617Compnents List.ods” ×1 故事 ![]() ![]() ![]() 描述 将两个开发板合二为一:一个基于stm32的Arduino和一个Altera MAX IICPLD板,开始使用VHDL/Verilog,或者尝试使用一个带有Quartus II示意图编辑器的CPLD。成本应该是5/6美元加上PCB(我还没有做精确的BOM计算…),购买“附近”的组件。“可插拔”LCD模块和可选的独立50MHz振荡器不包括在成本计算中。 细节 基本思想是在同一块板上有一个STM32 Arduino作为CPLD(例如I2C master)和Altera MAX IICPLD的“刺激发生器”。这样更容易为CPLD“应用程序”(例如定制的I2C接口)建立一个完整的“测试工作台”。 ![]() ![]() 也可以使用EPM570T100,“配置”带有八个焊料跳线的PCB(参见PCB底部的图例,或原理图)。 电容器C31和C35只用于EPM570T100,所以如果您使用EPM240T100,则不要填充它们(如图所示,使用EPM240T100)。因为目前我没有任何EPM570,当可用时,我将用它制作另一个板。 CPLD趣味板行动: STM32F103单片机作为CPLD的“刺激发生器”和8/36MHz时钟发生器,通过USB接口使用友好的Arduino IDE编程。 MCU保留了五个按钮(RST, BUT,USER1-USER3)和一个led (PB1)。 STM32F103单片机端与“Maple Mini”兼容,可以使用http://www.stm32duino.com提供的STM32F103 Arduino core(更多信息请点击此处)。想了解关于Maple Mini和stm32duino的小故事,请点击这里。 ![]() St-Link V2 您需要首先通过SWD连接器(或者在串行连接器上使用串行usb适配器)使用廉价的“St-Link V2”电子狗来刷新引导加载程序。更多信息。 为了配置CPLD(一个带有240 LEs的EPM240T100C5,足够有趣了…),它使用了Quartus II IDE(免费Web edition)和一个通过JTAG连接器的廉价“USB Blaster”电子狗。 ![]() CPLD保留4位7段led显示器、4个按钮(USER4-USER7)和4个led (LED1-LED4)。还有一个连接器,为常见和便宜的1602A或2014A液晶5V模块(可能你已经有了…)。 在CPLD端还有一个DEV_CLRn按钮来清除所有内部FFs,以及一个DEV_OE开关来强制HiZ中的所有CPLD插脚(要使用这两个函数,首先必须在Quartus IIIDE中显式启用它们)。 一个可选的50MHz振荡器也可以使用(没有装配在以前的照片)同时也有两个连接器用于外部振荡器。 有22条I/O线“连接”STM32和CPLD,每条线上都有一个由三个连接器(TEST1、TEST2和TEST3)组成的引脚。通过这种方式,就有可能用范围或LA“观察”它们之间交换的信号。在这22条I/O线路上,单片机端有各种外设(如串行、I2C、SPI)。 CPLD端还有25个gpio (GPIO1和GPIO2连接器)。 可以将Arduino STM32或CPLD用作一个独立的开发板,并将TEST1-TEST3连接器用作常规GPIOs(在HiZ中保存其他芯片引脚)。 以下功能框图所示: ![]() 通常,要对这块板进行编程,需要将用于MCU的Arduino IDE和用于CPLD的Quartus II IDE结合使用。 下面是一个典型的会话(使用CPLD的Quartus II示意图编辑器): ![]() 当然,你需要在你的电脑/工作站上使用两个USB接口,一个将Arduino IDE连接到MCU的USB接口(STM32F103C8T6 MCU有一个集成的USB接口)另一个将Quartus II的IDE连接到USB的Blaster,用JTAG上传CPLD的"配置" 下面是一个典型的会话布局: ![]() 文件 PCB_Layout_Guide。PCB元件组装指南。 A020216-R280617_Gerbers。PCB Gerber文件。 A020216-R280617施耐德:CPLD趣味板示意图。 更多信息和更新这里。 代码 Github http://github.com/rogerclarkmelbourne/Arduino_STM32 rogerclarkmelbourne / Arduino_STM32 Arduino STM32。硬件文件支持STM32板,在Arduino IDE 1.8上。包括LeafLabsMaple和其他通用STM32F103板 ) a x- i2 T# w |
原工程在这