当前位置:首页 > 单片机 > 单片机
[导读]SPI总线接口芯片为完成单片机的常规外围电路扩展设计带来了机遇,可扩展的外围电路包括A/D与D/A转换器、显示、时钟、存储器、监视复位、I/O、显示等。本文利用国内目前较为流行的I2C,SPI串行通信协议实现单片机外围电路的A/D转换、D/A转换、时钟、I/O扩展、E2PROM以及LED驱动器件的扩展功能,实现了单片机系统功能模块化,电路集成化的目的。

SPI总线接口芯片为完成单片机的常规外围电路扩展设计带来了机遇,可扩展的外围电路包括A/D与D/A转换器、显示、时钟、存储器、监视复位、I/O、显示等。本文利用国内目前较为流行的I2C,SPI串行通信协议实现单片机外围电路的A/D转换、D/A转换、时钟、I/O扩展、E2PROM以及LED驱动器件的扩展功能,实现了单片机系统功能模块化,电路集成化的目的。

1 SPI集成接口芯片功能及应用

1.1 A/D转换器

单片机应用系统中典型的应用模式是通过传感器采集现场的微弱信号参数,经过滤波放大处理后再通过A/D模数转换送至单片机系统实现各种工业调节和控制,在此过程中A/D转换电路的设计尤其重要。早期的A/D转换器与CPU接口一般采用并行总线方式,新型A/D转换器采用I2C,SPI总线方式可节省CPU的I/O资源,使产品小型化。本文中选用的A/D转换器为SPI串行总线接口的10位模数转换器TLC1549。

1.2 D/A转换器

D/A转换器的种类繁多,从接口形式而言,有串口和并口之分。目前新型的D/A转换器大都采用了串行总线协议。D/A芯片的输出形式有电流型和电压型两种,由于电流输出形式在实际电路中必须将输出转换成电压输出。为了简化电路和提高可靠性,本文选用电压型的SPI串行总线接口TLC5615 D/A转换器。

1.3 驱动显示器接口芯片

目前广泛使用的显示器件主要有LED(二极管显示管)、LCD(液晶显示器)和VFD(真空荧光管)等。LCD和VFD显示器显示成本较高,而LED显示器造价低廉,与单片机接口方便灵活,技术上易于实现,通常用于显示阿拉伯数字和少数字符。本文选用LED作为显示器件。串行总线方式的LED显示器接口芯片与并行方式相比,仅占有CPU的少数几根I/O口线便可实现LED功能,因此本设计中采用了SPI串行接口显示驱动芯片MAX7219。

1.4 看门狗芯片X5045

单片机应用系统(或产品)在运行中会受到各种各样的干扰,导致系统内部数据出错或严重影响程序的运行。因此,单片机应用系统的开发要考虑系统的可靠性设计。“看门狗”是系统可靠性设计中的重要一环。所谓“看门狗”是指在单片机程序设计中采用的一种程序监视技术,当单片机受到干扰失控导致程序跑飞或陷入死循环时,通过采取一定的软硬件措施使程序脱离死循环或重新运行。本文中选用多功能芯片X5045。

1.5 I/O扩展芯片PCF8574

目前,在单片机应用系统的外围串行扩展接口器件中,除了上述SPI总线以外,还有I2C总线。I2C总线提供了较完善的总线协议和最简单的串行连接方式,并提供了总线操作的状态处理软件包。本文在设计中加入常用的I2C总线的I/O扩展片PCF8574,用他来增加单片机的I/O口,提高单片机的外挂器件的能力。PCF8574具有低的电流损耗并有输出锁存功能,能输出大电流,可直接驱动LED发光管。

2 硬件设计

本次设计所有的接口芯片均采用串行方式,串行方式通信有单线、两线、三线等多种方式,其中以两线、三线最为流行。在本次设计中,主要采用三线方式,即SPI(SerialPeripheral Interface,串行接口)。设计中所用的接口器件包括A/D转换器、D/A转换器、实时时钟、存储器、看门狗、I/O、LED显示器。在本次设计中采用的是51系列的单片机作为主CPU,而他不具有SPI接口系统,故不可直接与各个厂家生产的多种标准的SPI外围器件直接接口。为了解决这一难题,在本设计中使用软件来模拟SPI系统中的4条线:串行时钟总线SCK、主机输入/从机输出数据线MOSO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线/CS。用P2.1模拟CPU的数据输出端(MOSI),P2.0模拟CPU的数据输入端(MOSO),P2.2模拟CPU的SCK输出端。外围接口芯片公用这三条控制线,但在这种方式下,每次只能驱动执行一片芯片。鉴于SPI与I2C总线电路设计、时序和程序设计的不同,又在本次设计中加入了一片I2C总线接口的I/O扩展芯片,用P1.0来模拟SDA,用P1.1来模拟SCL,以便了解两者的截然不同之处。硬件框图如图1所示。

3 软件设计

用PCF8574来扩展I/O端口,低四位为灯,高四位为小开关,通过中断的方法读入I/O的状态。经过取高四位,打到低四位,以点亮或熄灭相应的指示灯。整个系统在工作中,只要按下任意一个键都将使PCF8574产生中断申请信号,使CPU响应中断,执行中断服务程序。在中断服务程序中,CPU根据按键的状态控制程序转移。按下键1,调用A/D转换子程序;按下键2,调用显示子程序;按下键3,调用D/A转换子程序,用示波器观察其输出波形;按下键4,调用看门狗芯片X5045的工作子程序,进行单字节的写、读。软件总体流程框图见图2。

4 结 语

目前,单片机应用系统的外围扩展已从并行方式为主过渡到以串行方式为主的时代。许多新型外围器件都带有UART的移位寄存器方式,MOTOROLA公司的SPI、NS公司的Microwire、Dallas公司的1-wire和Philips公司的I2C总线等,他们都提供了较完善的总线协议,连接方式简单,在扩展外围器件设计中得到广泛的应用。本文通过在设计中使用MCS-51的I/O口来模拟总线接口,实现了单片机与串行总线接口器件的数据传输,该方案已通过调试,整个单片机系统运行良好。试验表明MCS-51的I/O口来模拟总线接口的方法在设计中可行有效。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭