论文部分内容阅读
UART和PC/104总线具有结构简单、操作方便、工作可靠、抗干扰能力强、可利用资源丰富等众多优点,在嵌入式领域特别是工业控制领域有着广泛的应用,深受广大用户的喜爱。在工控领域经常遇到一个主控制器同多个协控制器或设备通信,这需要多个UART来实现,但目前市场上对多UART的扩展有两种方法:使用软件模拟和使用专用的UART扩展芯片来扩展。这两种方法实现起来麻烦、操作复杂、费用较高,而且存在着资源的大量浪费,满足不了对大量的串行通信接口的要求。PC/104总线控制器以X86架构的处理器作为控制芯片,但它功耗高,板子体积大,而且价格昂贵。由于FPGA具有用户可编程性,可以灵活地实现所需的功能,经过20多年的发展,集成度有了极大的提高,达到几千万门;速度越来越快,主频最高可以达到600MHz;功耗进一步降低,内核电压只有1.2V;稳定性也有长足的发展,工业级可以应用在-40~100℃的各种环境中;已经成为IC产业发展的一个趋势。FPGA利用硬件实现所需的功能,比软件稳定性好,速度要快。论文分析系统设计的功能,对比各种可行方案,决定使用FPGA进行设计;从FPGA的设计流程出发,对设计作出总体规划,确定的芯片选型,并对系统硬件的电源模块、FPGA配置模块进行了描述。详细分析了PC/104总线的协议以及操作时序,将所要设计的PC/104总线控制器模块的主要功能归纳为一个有限状态机,使用Verilog硬件描述语言描述,并对程序代码作简要分析,利用ModelSim进行功能仿真。从UART工作原理和数据传输格式出发,对可配置的多UART模块的功能进行了整体划分,利用两个FSM实现接收数据和发送数据的功能,并在ModelSim中进行功能仿真。将两个大功能部分组合起来,进行功能仿真,并利用统合工具Synplify Pro进行综合,最后在Xilinx公司Spartan-3系列FPGA上进行实现,完成扩展板所需的PC/104总线控制器功能和16个可配置的全双工的UART功能。基于Freescale公司的嵌入式操实时作系统作系统MQX完成了PC/104总线驱动和可配置多UART模块的驱动并对系统进行实地测试。