原创 ADSP-EDU-BF53X开发板教学视频第九集--中断设计【Open ADSP开源社区】

2012-3-1 13:29 1460 9 9 分类: 处理器与DSP

本章详细讲解了BF53X板卡上的中断设计,我们认为对于初学者来讲,Blackfin的中断是一个比较难以理解的技术点,所以继前面GPIO之后,再次对中断进行一个强化,在板卡上设计了一个专门的中断实验,通过这个实验期望让初学者能够更快的学会使用中断。

http://player.youku.com/player.php/sid/XMjk0NzQ5NDQw/v.swf

4.2 BF53x_INTERRUPT

    ADSP-EDU-BF53X中断实验

4.21 硬件实现原理

ADSP-EDU-BF53x开发板上的中断资源连接到了CPLD,并通过CPLD将中断信号连接到PF0触发,通过CPLD映射的寄存器读取中断源数据。

中断功能映射到CPLD寄存器中的DEVICE_OE和INTERRUPT_DAT两个寄存器,其映射内容如下:

DEVICE_OE寄存器(写唯一):

DEVICE_OE寄存器地址:0x20320000

DEVICE_OE寄存器设置硬件设备上一些控制管脚的电平状态,该寄存器只能写入数据,不能读出当前数据。

DEVICE_OE寄存器位功能:

 

Bit位

7

6

5

4

3

2

1

0

功能

保留

INTERRUPT_OE

SPI_OE

SYNCINT_OE

PTS_OE

LCD_OE

SPI_SEL

LED_OE

 

 

INTERRUPT_OE:

     1:关闭I2C_SCL输入信号,使能PF0中断信号

     0:使能I2C_SCL输入信号,关闭PF0中断信号

使用中断时,将INTERRUPT_OE设置为1。

INTERRUPT_DAT寄存器(读唯一):

INTERRUPT_DAT寄存器地址:0x20360000

INTERRUPT_DAT寄存器是板卡上所有中断资源的中断源数据寄存器,可以通过该寄存器数据判断出当前中断是哪一个设备产生的。

INTERRUPT_DAT寄存器位功能:

 

Bit位

7

6

5

4

3

2

1

0

功能

保留

保留

SD_INF

LAN_INT

LAN_IOWAIT

TOUCH_BUSY

TOUCH_INT

KEY_INT

 

 

当中断未触发时,读取的Bit位值为1,当中断触发时,读取的Bit位值为0,根据Bit为数据。

SD_INF为SD卡插入查询位,该bit位不会触发中断,只能通过读取该寄存器来查询SD卡是否插入。

4.22 硬件连接示意图

12.jpg

 

4.23 代码实现功能

代码实现了利用板卡的中断机制,当有中断触发时,PF0脚产生中断,然后进入中断函数,通过INTERRUPT_DAT寄存器查询触发中断的中断源,并打印中断源信息。

4.24 测试实验步骤

  1. 将仿真器(ICE)与ADSP-EDU-BF53x开发板和计算机连接好。
  2. 先给仿真器(ICE)上电再为ADSP-EDU-BF53x开发板上电。
  3. 运行VisualDSP++ 5.0软件,选择合适的BF533 的session将仿真器与软件连接。
  4. 加载VisualDSP++ 5.0工程文件BF53x_INTERRUPT.dpj,编译并全速运行。
  5. 点击触摸屏或者按按键测试中断触发。

4.25 测试结果

点击触摸屏或者按按键测试中断触发,代码打印出触发中断的中断源。

123.jpg

 

未插入SD卡和插入SD卡中断信息比较。

 

优酷链接:http://v.youku.com/v_show/id_XMjk0NzQ5NDQw.html

清晰版下载地址:http://u.115.com/file/clqy1aiv     如需提取码,则是:clqy1aiv

开发板链接:http://item.taobao.com/item.htm?spm=1103Qmdt.3-3dfNy.h-1Akvus&id=9026190872&

文章评论0条评论)

登录后参与讨论
我要评论
0
9
关闭 站长推荐上一条 /2 下一条