摘要:本文详述了一种基于P89LPC931单片机的SPI总线扩展异步串行接口UART的系统。该系统通过使用GM8142芯片,实现了多机网络测控系统中串口的有效扩展,具有高可靠性、强抗干扰性及低成本等优势。用户可根据应用环境灵活配置参数,适用于电力、化工、冶金等工业控制现场。
引言
随着单片机技术的持续发展,其在测控领域的应用愈发广泛。特别是在构建多机网络测控系统时,单片机的性能和功能扩展变得尤为重要。多数单片机仅配备有限数量的串行接口,这在一定程度上限制了其在实际应用中的效能。为解决此问题,本文介绍了一种基于P89LPC931单片机的串口扩展方案。
一、系统硬件设计概述
P89LPC931单片机作为核心,通过SPI总线和GM8142芯片进行串口扩展。系统电路设计包括P89LPC931的电源电路、复位电路以及与GM8142的接口电路。系统还包含了用于人机交互的LCD和按键输入部分。
GM8142芯片的电路设计同样重要,其晶振频率设定为3.686 4 MHz,以确保与P89LPC931的稳定通信。RX和TX引脚分别用于扩展串口的接收和发送,而IRQ引脚则作为P89LPC931的外部中断输入。
二、系统软件设计详述
2.1 通信规约与设定
系统采用RS485或RS232接口标准与机通信,通信方式为异步通信。通信参数如波特率、校验位和帧长度可通过按键与LCD的人机交互接口或机设定。
为规范通信报文格式,系统定义了多种报文类型,包括设定串口工作参数、SPI功能寄存器参数、读取SPI功能寄存器参数、发送数据到指定扩展串口等。
2.2 通信模块设计
P89LPC931通过UART接口与串口扩展器通信,并在内存中申请FIFO用于数据接收和处理。每个扩展串口也设有接收FIFO保存数据,并设置接收FIFO满标志位以主动上送报文到机。
2.3 按键输入参数设置
2.4 GM8142的开发利用
GM8142的初始化包括设置工作模式、子串口波特率和数据帧长等。在SPI传输过程中,P89LPC931需在CS拉低后连续启动两次8位数据传输以完成16位数据的传输。
三、功能测试与总结
参考文献
[参考文中提及的文献]