基于同步串行接口SSI的LED显示器设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
万方数据
基于同步串行接口(SSI)的LED显示器设计
一53一
内容,定时中断从缓冲区提取相应的显示内容,经 查表后写入SSI的输入FIFO缓冲区。
程序代码如下:
/宰·幸宰宰搴}幸事···木·木·爿}定义与变量定义搴幸木书·}幸·牛·阜·宰章毫,
#include“hw_memmap.h’’ #include“hw__types.h”
生74HC595所需的标准工作时序.代码冗长,且调 收路径利用内部FIFO存储单元进行缓冲,该FIFO
试升级繁琐。
能够在发送模式和接收模式下独立存储多达8个
Luminary Micro Stellaris系列微控制器是首款 基于ARM Codex—M3的控制器。它将高性能的32 位计算引入到嵌入式微控制器应用中,并且所有器
5 LED数码管显示器的软件设计
MCU LM3S301的软件编程以Cross Wroks的
集成开发环境作为开发平台,采用C语言编写。 Cross Wroks是一套完善的专门针对ARM7微处理 器的C语言开发系统。它包括ARM GCC C语言编 译器、Cross Wroks C函数库和Cross Studio集成开
HE Chao-yang,WU Li—qin,ZHU Zhong—wei 仿佣庐ⅡYinjia corporation Group lnc.,Yangzhong 212200,m讥矽
Abstract:Using the technology of SSI(synchronous serial interface)of the microcontroller LM3S301, which is a member of luminary micro stellaris family,light—emitting—diode digital display’8 segment- selected-code and channel-selected—-code are all controlled by serial-in shift registers--74HC595.A type of circuit driving multi-channel digital display is designed that need only three signal wires,and some of the source code are given in this article. Key words:ARM;LM3S301;GHO;SSI;74HC595
2 74HC595动态显示驱动电路
常见的多位数码管显示器驱动电路是将所有 的N位段选码并联.由一片74HC595控制,其电路 图如图1所示。由于所有LED的段选码是由一个 74HC595并行输出端口控制,因此,每一时刻,N位 LED显示相同字符。若每位显示不同字符。就必须 采用扫描的方法,即在每一时刻只使用一位显示字
16位值。 根据74HC595工作时序的要求,选用主控器件
LM3S301同步串行接口技术中的Freescale SPI模
件都采用小型封装。SteHafis系列的LM3S301微控 式.根据所设置的数据大小。每个数据帧的长度均
制器拥有ARM微控制器所具有的众多优点,具有 在4~16位之间.并且从最高有效位(MSB)开始发
Q1 8550
02 8550
02 8550
02 8550
垒O^
o
帅一测趴姒眦罢j o
Βιβλιοθήκη Baidu
萋||
仆:一
眦姗c墟
聋孑擘庐 帅D 娜一计衄∞堕计衄蛆∞妒∞蛆∞妒∞衄衄 Ⅲ一舢一肌一耻一肼一心一;墓一肌
Q—Q—C:一Q一 ∞妒∞叫
卷,懈器懈 o、一m
图 3 显示驱动电路
喀仆。一
懈鹫懈
o,一仆
生,通过SQH引脚和SER引脚级联2片74HC595, 将74HC595的移位时钟信号(SCK)、锁存时钟信号 (RCK)、串行数据信号(SI)分别接控制器LM3S301 的SSICLK、SSIFss、SSITx引脚。
Microwire或Texas Instruments同步串行接口的外设 SSICLK的下降沿传输数据。在传输完成数据字的所
器件进行同步串行通信的主机或从机接口。
有位后,SSIFss在捕获最后一位数据后的一个SSI.
Stellaris SSI具有以下特性:
CLK周期内返回其空闲状态。
主机或从机操作: 时钟位速率和预分频可编程;
数据帧大小可编程,范围为4~16位;
的段选码与位选码由2片74HC595移位寄存器控
内部回送测试(100pback test)模式,可以进行诊 制:移位寄存器的控制信号由主控器件LM3S301产
跚呲; n n n n n¨n n n i
—I.
I.
:
:
:
:
:
:
:
.I,
跚叭一;.乜棼工葺](j二[#工#[;宰]Cj]申卜 矧卧茸二亘E工j](二E[=](二口;享](二=)臣E]回 SSIFss 、:L—————:t—————1——————卜—————叶——————}—一、、一,,中.i—————1——————t—————一:, }.——————_{———————十———————卜—一4 tp 16 bi ts.{—————二,-+——————-{———————一}_ :
一50一
《国外电子元器件>2007-q-g 12期 2007年12月
●主题论文
基于同步串行接口(SSI)的LED显示器设计
何朝阳,吴立琴,朱忠伟 (江苏银佳企业集团有限公司,江苏扬中212200)
摘要:利用Luminary Micro Stellaris系列LM3S301微控制器的同步串行接口(SSI)技g。LED数码 管显示器段选码与位选码全部由74HC595串行输入移位寄存器控制。设计了一种只需3根信号线
的多位数码管显示驱动电路。并给出了部分程序源代码。
关键词:ARM;LM3S301;GPIO;同步串行接口(SSI);74HC595
中图分类:TP274。TP368.4
文献标识码:A
文章编号:1006--6977(2007)12-0050-05
Design of LED display based on SSI
如果SSI使能并且在发送FIFO中含有有效数
的同步串行接口(SSI)技术,LED数码管显示器段选 码与位选码全部由74HC595串行输入移位寄存器
据.驱动SSIFss主机信号为低电平,表示发送开始。 这样从机数据能够存放在主机的SSI风输入线上。
控制.这样形成了一种只需3条信号线的多位LED 主机SSITx输出端口使能。
图2 Freescale SPI模式传输信号时序图
万方数据
一52一
《国外电子元器gt)2007年第12期 2007年12月
SSICLK SSIFss
尺1 __一 JR2 _一 月3
__——
R4
蓥一
一!:!!垒
Gl-eell
忑习 而1
——————一.
Yellow[ ——工
GNDDV
V1+ V2+ V3+ V4+
数码管显示驱动电路解决方案。
半个SSICLK周期后.主机的有效数据传输到
3同步串行接口(SSI)
SSITx引脚。主机和从机数据已设置,在下个SSI— CLK周期后.SSICLK主机时钟引脚变为高电平。
Stellaris同步串行接口是与具有Freescale SPI、
这时。在SSICLK信号的上升沿捕获数据,在
1 引言
LED显示器应用广泛.是显示信息的有效仪 器。在仪器仪表中。LED常用于显示压力、流量、温 度、电压、电流等物理量,本文介绍的蓄电池容量监 测系统中选用了Luminary Micro Stellaris系列的 LM3S301微控制器作为MCU。根据应用要求,监测 系统的显示部分采用4位LED数码管实时显示监 测数据。针对系统外设较多、端口资源紧张等问题, 开发出一种3线驱动的显示器电路设计方案。
符。此时,74HC595并行输出端口输出响应字符段 选码.而位选则控制I/O端口在该显示位送人的选 通电平。以保证该位显示响应字符。如此轮流,使每 位分时显示该位字符。由于74HC595具有锁存功 能。而且串行输入段选码需要一定时间,因此,无需 延时即可获得视觉暂留效果。
但是,此种方法有两个缺点。硬件方面:N位
4显示驱动电路
独立的发送和接收FIFO,16位宽,8个单元深;
74HC595是美国国家半导体公司生产的通用
Freescale SPI、Micmwire或Texas Instruments同
移位寄存器.并行输出端具有输出锁存功能。如图3
步串行接口的可编程操作;
所示,显示器由4个LED数码管构成,LED数码管
BI
●
BI BI
图1动态显示驱动电路图
万方数据
基于同步串行接口(SSI)的LED显示器设计
一51一
LED显示要求N条I/0端口线,需占用较多的主控 断,调试测试。
器件端13。使得端口使用率降低;软件方面:为实现
SSI对外设器件接收到的数据进行串行到并行
串行移位及锁存输出功能,需编写专门的源程序产 的转换。CPU访问数据、控制和状态信息。发送和接
本设计中,将4个LED数码管的段选码并联。 由U2控制;U1的低4位用作位选码,高4位用于 控制发光二极管。根据实际需要.数据帧大小为16 位。其中第0位.第7位为段选码,第8位.第11位 用于位选码。第12位~第15位用于发光二极管的 显示。结合图2,由Freescale SPI(单次传输)模式下 的时序图可知,SSIFss(锁存时钟信号)低电平有效 时,SSICLK(移位时钟信号)第1个周期将最高位数 据MSB移位到8位移位寄存器U2的第O位,第2 个周期将次高位移人到移位寄存器U1的第0位,原 第0位数据移人到8位移位寄存器U2的第2位.如 此到第8个周期将第8位数据移入到U2第0位。而 U2原第7位数据移入到级联74HC595移位寄存器 U1的第0位,直至16位帧数据发送完毕;当SSIFss (锁存时钟信号)变高电平时,移位寄存器的数据被 锁定;输出使能一直为有效电平,输出锁存器中的 数据,数码管显示器显示相应数据。
#include“src/ssi.h’’
#include“src/gpio.h”
#include“src/syscfl.h”
#include“src/systick.h”
#define BitRate
115200
#define Da诅WidtIl 16
#deftRe nRST OxOe00
,/设定波特率 ,/设定数据宽度 ,,选通数码管LS4
发环境。使用ARM的Macgraigor Wiggler或与皿~G
接口连接的兼容并行端口.即可用于开发和调试 ARM7、ARM9、Cortex-M3内核的微处理器。
下面是经过编译的4位LED数码管显示器部 分源程序。直接调用相应的库函数产生74HC595所 需的工作时序.便于调试维护。
软件设计要点如下: LM3S301在上电时.所有GPIO引脚默认为输 入引脚,软件设计根据应用要求配置GPIO引脚; 在使用SSI时.必须通过对RCGCl寄存器中的 SSI位置位使能sSI外设时钟。针对不同的帧格式, 配置SSI为主机或从机、时钟预分频除数、数据大 小、协议模式等配置。本设计根据帧数据为16位, SSI设置为主机.协议模式为Freescale SPI单次传 输模式: 定时器每隔4 1118产生溢出中断。在中断服务 程序中将数据写入输出FIFO缓冲区,SSI总线自动 将数据送入74HC595中.数码管以4 ms每位的刷 新频率进行位扫描。 开辟数据缓冲区供主程序放置数码管显示的
32位RISC性能、内部存储器、通用定时器、遵循 送。传输信号时序如图2所示。
ARM FiRM规范的看门狗定时器、同步串行接口
在Freescale SPI模式下,SSI处于空闲周期时,
(SSI)、UART、ADC、模拟比较器、PWM、GPIO等产 SSICLK强制为低电平,SSIFss强制为高电平,发送
品特性。此外。Luminary公司还提供Stellaris官方驱 动库和部分源代码。通过API接13完成外设的设
数据线SSITx强制为低电平,当SSI配置为主机时, 使能SSICLK端口,当SSI配置为从机时,禁止SSI.
置。简化并加快了应用程序的开发进程。
CLK端口。
本设计利用Stellaris系列LM3S301微控制器