APP下载

BC7281B与DSP的接口及应用

2012-07-17

山西电子技术 2012年1期
关键词:数码管低电平字节

高 琳

(国营第785厂,山西太原030024)

在DSP应用系统中,常用的输入输出器件是LED数码管和键盘,原始的数据信息通过键盘输入,单片机的处理结果由数码管输出。当较多数量的外接键盘和数码管相对于有限的单片机口资源时,就需要一个专用的接口芯片来扩展,而BC7281则满足这个要求,它最多可以控制16位数码管或128位独立的LED管。

1 BC7281B简介

BC7281芯片是新型的16位LED数码管显示及键盘接口专用控制芯片。该芯片采用高速二线接口与MCU进行通讯,只占用很少的I/O口资源和主机时间。BC7281芯片可以连接最多64键的键盘矩阵,内部具有去抖动功能,BC7281B还增加了“寄存器保护”(抗干扰)模式,使得抗干扰能力进一步提高。

1.1 BC7281B引脚说明

本系统使用芯片为BC7281B,引脚说明如下:

名称 引脚号 功能描述DAT 1与MCU串行通讯数据端,为双向数据传输口,作为输出时为漏极开路输出,需要外接上拉电阻。KEY 2键盘有效输出端,低电平有效,检测到有效按键后该引脚变为低电平,并一直保持到键值锁存器内容被读出。CLK 3 与MCU串行通讯时钟端,下降沿有效RST 4 复位端,低电平有效。BC7281X内部具有上电复位电路,故一般可将该引脚与VCC直接相连。GND 5接地端DIG0~DIG7 6~9 12~15位驱动输出端,第8-15位显示位驱动与第0-7位共用,同时也是键盘矩阵的“行”。VCC 16电源输入端OSCO 17 RC振荡器输出端,一般应悬空RC 18 外接RC振荡器端,该引脚连接一RC电路形成振荡,给内部扫描等电路提供时钟。SCLK 19 外接段驱动用移位寄存器时钟端。SDAT 20 外接段驱动用移位寄存器数据端,输出段驱动数据,低位在前。

1.2 BC7281字节写入与读出时序

BC7281字节写入与读出的时序如图1所示。

图1 BC7281的读写时序

2 TMS320F2812型DSP简介

TMS320F2812芯片是TI公司DSP控制器2000系列的新成员。TMS320F2812提供了强大的计算能力,最高运行速度可达150MIPS,具有处理性能强、外设集成度高、程序存储器大及A/D转换速度快等特点,广泛应用于电机的数字化控制等领域。TMS320F2812采用高性能静态CMOS技术,供电电压为3.3 V,而且有多种低功耗工作模式,能充分地降低系统功耗。

3 BC7281B与DSP TMS320F2812的硬件接口及软件设计

本系统设计采用的控制芯片为BC7281B,DSP芯片采用的是TMS320F2812。在设计过程中,DAT线上外接20k上拉电阻,以使其能可靠地输出高电平。与DSP相连的DAT、CLK信号线接入时采用与地线双绞的接入方式,并且每个信号与地之间接一滤波电容,以提高抗干扰能力。为了更好地提高BC7281B电源输入端的抗干扰能力,在VCC电源引脚和电源之间串入一个RC滤波电路,以滤除电源中的尖峰和毛刺。BC7281B的外接RC振荡电路选用1.5k电阻和20pF电容,提供9.5MHz的时钟。对于位驱动电路,本设计采用连接共阳式的数码管,三极管接成射极跟随器形式,且在基极加一100k限流电阻。

3.1 BC7281B与DSP TMS320F2812的硬件接口电路

BC7281B与DSP TMS320F2812的具体接口电路如图2。

图2 BC7281B与DSP TMS32OF2812的接口电路

由图2可看出DSP通过I/O接口(IOF10和IOF13)与BC7281B的数据传输线DAT及同步时钟线CLK进行数据传输。CLK引脚由DSP控制,下降沿有效。指令字节中R/W为读写控制。当R/W=0时,由DSP向BC7812B的内部寄存器写入数据;当R/W=1时,DSP读出BC7812内部寄存器的数据。

3.2 软件设计

软件流程图如图3:

图3 软件流程图

具体程序如下:

初始化

BC7281Write(0x15,(0x40+E5));// 千位

BC7281Write(0x15,(0x50+E6));// 百位

BC7281Write(0x15,(0x60+E7));// 十位

BC7281Write(0x15,(0x70+E8));// 个位

......

//写入BC728X,第一个参数为目标寄存器地址,第二个参数为要写入的数据

......

BC7281SendByte(reg_add);//发送寄存器地址

BC7281SendByte(write_data);//发送数据字节

......

//发送一个字节

.......

Setclklow;//set CLK to output low

Setclkhigh;//set CLK to output high

do

{

temp=Readdat; //read DAT value

}

while(temp);//一直等到DAT为低,重发一组时钟信号,等待DAT重新被拉高

Setclklow;//set CLK to output low

Setclkhigh;//set CLK to output high

while(temp==0)

{

temp=Readdat ;//read DAT value

the echo DAT value

//发送8位数据

for(bit_counter=0;bit_counter<8;bit_counter++)

{

if((send_byte&0x80)==0)

{

Setdatlow;//set DAT to output low

}

else

{

Setdathigh;//set DAT to output high

}

send_byte=send_byte*2;//send_byte左移一位

Setclklow;//set CLK to output low

Setclkhigh;//set CLK to output high

}

Setdathigh;//set DAT to output high

}

4 结束语

BC7281B在DSP应用系统中,有效地解决了硬件开销及单片机IO口占用资源问题,该芯片使用简单,稳定可靠,编程灵活。在工程应用中,对设计人员来说不失为一种最佳选择。本人在多个产品已成功使用该芯片,均达到了事半功倍的效果。

[1]智泽英,杨晋岭,刘辉.DSP控制技术实践[M].北京:中国电力出版社,2009.

[2]万山明.TMS320F281X DSP原理及应用实例[M].北京:北京航空航天大学出版社,2007.

[3]BC7281B 128段LED数码管及64键键盘控制芯片[Z].北京凌志比高公司.

猜你喜欢

数码管低电平字节
No.8 字节跳动将推出独立出口电商APP
铁道车辆高/低电平信号智能发生器设计
微课教学设计之“数码管动态显示”
Arduino编程
No.10 “字节跳动手机”要来了?
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
2017款凯迪拉克2.8L/3.0L/3.2L/3.6L车型低电平参考电压总线电路图
简谈MC7字节码
15-MeV电子直线加速器的低电平系统