电子系统设计中常用串行接口及其应用

2017-03-01 19:48江朝晖陆元洲王鹏
教育教学论坛 2016年50期
关键词:应用实例

江朝晖+陆元洲+王鹏

(安徽农业大学信息与计算机学院,安徽 合肥 230036)

摘要:串行接口是现代电子系统设计的主流技术,然而串行总线种类较多,其协议、时序和器件较为繁杂,给学生理解、掌握和应用带来困难。本文在介绍串行接口基本概念的基础上,重点分析、比较了几种最常用的串行扩展接口和串行通信接口,并设计了一个基于单片机的串口应用小系统。本文对电子信息专业本科生学习和应用具有参考价值。

关键词:电子系统设计;串行扩展接口;串行通信接口;应用实例

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)50-0050-03

一、引言

在电子系统中,外设器件、微处理器、上位机之间的数据交换有并行和串行两种基本通信模式。总的来说,串行通信是指数据在时钟的同步作用下逐位传送,与并行模式相比,具有硬件连接简单、可靠性高、扩展性好、电路板面积较小、成本较低、适用于长距离应用等优点,随着CPU、芯片的工作频率提高,以及串行总线的功能增强,数据吞吐容量小、信号传输较慢等缺点也得到逐步改善,因此成为现代电子系统设计和应用的主流技术[1,2]。然而串行总线种类较多,其协议、时序和器件较为繁杂,给学生的理解、掌握和应用带来困难[3]。本文着重分析、比较了几种最常用的串行扩展接口和串行通信接口技术,并设计了一个基于单片机的串口应用小系统,供电子信息工程专业本科生学习、参考[4,5]。

二、常用串行接口总线及比较[1,2]

串行接口是一个总体概念,一般又划分为器件级的串行扩展接口和设备级的串行通信接口。串行扩展接口是指微处理器与外设芯片之间通过串口连接进行数据或信息的交互,最常见的串口类型有1-Wire总线、SPI总线和I2C总线。目前集成了上述串口总线的芯片种类众多,包括传感器芯片、A/D转换器、D/A转换器、实时时钟RTC、数据存储器、专用DDS芯片等等,高档的单片机、嵌入式微处理器一般都有专门的SPI、I2C总线扩展口,两者之间的硬件连接和软件编程较为简单。而常用的89C51、52等低档单片机由于没有集成SPI、I2C总线接口,需要通过通用I/O口与串口器件连接,并利用软件模拟产生SPI、I2C等总线时序,实现数据的交换。表1简要比较了三种常用的串行扩展接口及其特点。

单总线(1-Wire)是Dallas公司推出的外围串行扩展总线,采用单根信号线完成数据的双向传输。单总线技术有三个显著的特点:单总线芯片通过一根信号线进行地址信息、控制信息和数据信息的传送;每个单总线芯片都具有全球唯一的访问序列号,当多个单总线器件接入到同一单总线上时,对所有单总线芯片的访问都通过该唯一序列号区分;单总线芯片在工作过程中可以不要外接电源,而通过它本身具有的“总线窃电”技术从信号线上获取电源。单总线结构如图1。

单总线器件的时序不尽相同。以典型单总线器件温湿度传感器DHT22来说,通信格式为:微处理器把总线SDA拉低至少800μs,通知传感器准备数据;传感器把SDA拉低80μs再接高80μs响应;微处理器通过SDA一次性读出40位数据,高位在前,湿度、温度分辨率都是16Bit,且读出值都是实际值的10倍,其中温度最高位Bit15等于1表示负温度、等于0表示正温度,8位校验位=湿度高位+湿度低位+温度高位+温度低位。串行外设接口(Serial Peripheral Interface,SPI)总线是原Motorola公司推出的一种同步串行外设接口总线,使用4条信号线,一般是单主结构,即系统中只有一个主器件(通常是微处理器),其余的外围器件均为从器件。在点对点通信时,不需要进行寻址操作,且为全双工通信,具有简单高效的特点;在多个从器件系统中,每个从器件需要独立的片选或使能信号。SPI两端在同一个时钟下工作,是一种真正的同步方式,不同于异步串行通信(UART)的两端有各自的串行通信时钟,且传输速率最高达数十MHZ,远远高于UART。SPI总线结构及典型时序如图2所示。

I2C总线(Inter-Integrated-Circuit)是一种由Philips公司开发的两线式串行总线,由双向串行时钟线SCL和双向串行数据线SDA组成,用于连接微处理器及其外设器件,最主要的优点是简单、高效。I2C是真正的多主机总线,每个连接到总线上的器件都有唯一的地址,器件识别由硬件设置和软件寻址组成,不需要片选信号。I2C总线的时序较为复杂,规定了严格的数据有效位、起始信号、终止信号和应答信号。传送的字节数没有限制,但每个字节必须是8位,且高位在前,第9位是应答信号,应答时钟由主器件产生,而应答位则由接收器件产生。I2C总线结构及基本时序如图3所示。

设备级的串行通信是指微处理器之间、微处理器与上位机之间通过串行总线和接口进行信息交换。最常用的串行通信接口标准有RS-232C和RS-485。RS-232C标准是美国电子工业联合会EIA(Electronic Industry Association)制定的一种串行物理接口标准,适合的数据传送速率为0~20Kbps。RS-485克服了RS-232C标准的缺点,具有良好的抗噪声干扰性能、较长的传输距离和多站连接等优点,广泛应用在分布式测控系统中。两者的主要技术参数见表2。

三、基于单片机的串口应用实例

为了便于理解和掌握,设计了一个基于单片机的串口应用小系统。采用单总线接口的传感器芯片DHT22实时采集温、湿度,SPI总线接口的DS1302时钟芯片获取实时时间和日期,I2C总线接口的AT24C02 E2PROM进行数据存储。以STC12C5A60S2单片机为CPU,利用软件模拟产生串口总线时序,并通过RS-232C接口实现单片机与PC的通信。电路原理图如图4所示,键盘、LCD和电源电路略去。核心软件是DHT22、DS1302和AT24C02的读写,参考器件手册中的时序要求编写。

四、结束语

各种外设器件、微处理器、上位机之间的串行接口与通信已成为现代电子系统设计、应用的主流技术。本文介绍了串行接口的基本概念,歸纳、比较了最常用的1-Wire、SPI、I2C接口总线以及RS-232C、RS-485通信总线的特点,并设计了一个基于单片机的串口应用实例,包括1-Wire接口的温湿度采集、SPI接口的实时时钟、I2C接口的E2PROM存储以及RS-232C串口通信。本文具有较强的针对性和实用性,可帮助初学者深入理解和灵活运用,提高实践、创新能力。

参考文献:

[1]孙晓云,刘东辉,刘朝英.接口与通信技术原理与应用[M].北京:中国电力出版社,2007.

[2]贾立新,王涌,陈怡.电子系统设计与实践(第3版)[M].北京:清华大学出版社,2014.

[3]江朝晖.电子系统设计教学的问题分析与方法探讨[J].教育教学论坛,2013,(3):80-81.

[4]李俊萩,张晴晖,吕丹桔,等.电子信息工程专业综合实训教学模式探索[J].教育教学论坛,2016,(7):117-119.

[5]江朝晖.地方性农业高校电子信息类人才创新培养模式研究与实践[J],高教学刊,2015,(20):34-35.

猜你喜欢
应用实例
以应用实例为主线、以程序设计为主导的数字图像处理课程教学方法改革
浅析四边形教学中的解题策略及其应用
以应用实例为主线的“信号与系统”教学法