1、 基于 FPGA 的单片机接口扩展设计 摘 要 当今电子产品逐渐趋于智能化、人性化,电子产品的发展已经离不开单 片机。随着人们消费要求的提高,对电子产品的功能要求越来越高,电子产 品的升级换代逐渐受到主控芯片资源匮乏的约束, 而更换高级的 CPU 又会带 来产品版本的不兼容和成本大幅上升的风险,而且会造成设计难度加大,设 计周期变长。随着可编程逻辑器件及 EDA 技术的发展,可编程逻辑器件的 价格越来越低,在系统设计中经常会用到 FPGA 扩展单片机的相关资源,来 实现低成本、高性能的产品设计。 单片机具有性价比高、功能灵活、易于人机对话、强大的数据处理能力 等特点;而 FPGA 则具有高度、
2、高可靠性以及开发便捷、规范等特点,根据 两者的特点,设计一种基于 C8051F340 单片机与 Actel FPGA 的总线接口逻 辑电路,实现单片机与可编程逻辑器件数据与控制信息的可靠通信,运用此 接口通过 Verilog HDL 编程可为单片机扩展通用 I/O 和一些带有硬件协议的 特殊接口,例如 I2C 接口、SPI 接口、PCI 接口和通用串口等。 关 键 词:单片机,FPGA,接口扩展,总线接口,Verilog HDL 目 录 前 言 1 第 1 章 绪论 2 1.1 设计思想概述 . 2 1.2 Actel ProASIC3 系列 FPGA 概述 2 1.3 C8051F340 单
3、片机概述 3 第 2 章 单片机与 FPGA 接口的设计. 5 2.1 接口方式选择 . 5 2.2 总线的复用性选择 . 5 2.3 总线复用方式的配置 . 8 2.3.1 总线接口配置 . 8 2.3.2 总线的端口配置 . 8 2.4 总线复用方式的时序逻辑 . 8 第 3 章 FPGA 的扩展实例 12 3.1 I 2C 总线在 FPGA 上的模拟实现 12 3.1.1 I 2C 概述 . 12 3.1.2 I 2C 接口设计 . 13 3.2 SPI 总线在 FPGA 上的模拟实现 . 17 3.2.1 SPI 总线接口协议 . 17 3.2.2 SPI 总线接口设计 . 18 第四
4、章 电路设计及分析20 4.1 电源模块设计 20 4.2 接口电路设计 22 4.3 电路辐射干扰测试分析 23 结 论 .25 参考文献 .26 致 谢 .27 附 录 .28 1 前 言 微控制器是现代电子产品中不可缺少的一个部分,各大半导体厂商在不 断推出复杂的高级 CPU 的同时,也同时推出了一些的超小封装的微控制芯 片,这种超小封装的控制器适用于特定的某一方面,与通用的 CPU 相比具有 体积小、功耗低、成本低等优点,在便携式电子产品中有着广泛的应用。但 是这种超小封装的微控制芯片的 I/O 数量十分有限,接口单一,限制了控制 器的挂接设备的数量和种类。随着电子产品逐渐趋于集成化、智能化、便携 化,人机交互、通信互联、多设备管理等任务大大了加重了对电子产品的“心 脏”微控制器的运作负担,尤其是对主控芯片的 I/O 数量和一些特殊接 口的需求,使得一些低端控制器能胜任的工作不得不交由价格昂贵的高级控 制芯片来完成,以获得更多的 I/O 和特殊接口,然而这无疑加大了产品的成 本,削弱了产品的市场竞争力。 随着电子技术的发展,可编程逻辑器