打印
[Kinetis]

Kinetis L系列外部IO中断分配问题

[复制链接]
1243|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

我们知道Kinetis L系列的中断向量表中只支持两个外部中断向量(vector_46 and vector_47),而FSL早期推出的的KL系列(包括KL25\KL24、KL15\KL14)只有PORTA和PORTD两组IO口支持中断(注意是组不是个,这个不要弄混,所以还是蛮多的),不过最新推出的KLx6系列(KL26、KL16和KL46)可以支持PORTA、PORTC和PORTD三个IO口的外部中断,其中PORTC和PORTD这两组IO端口共享同一个中断向量,另外,KL0x系列(包括KL02、KL04和L05)由于外部引脚只有PORTA和PORTB两个IO端口,所以它所支持的外部中断只有PORTA和PORTB这两组,但是绝不会影响使用,配置起来还是挺方便的。下图分别为KLx5\KLx4系列(不包括KL05\KL04)、KLx6系列和KL05\KL04\KL02的外部中断向量分配表:

KLx5\KLx4:

KLx6:

KL0x:


相关帖子

沙发
我思故我在12345|  楼主 | 2015-4-20 21:10 | 只看该作者
本篇将KL的外部中断单独拿出来说说的主要目的是提醒大家在进行电路板设计的时候需要考虑软件的可行性上,恰当的分配外部触发中断,切记不要将不带中断功能的IO当成中断来用,呵呵。

使用特权

评论回复
板凳
我是MT| | 2015-4-20 21:10 | 只看该作者
请教你一个关于kinetis的Flexbus的问题:之前看你写过一个关于这个的运用的**,我打算用Flexbus驱动8080总线的LCD。想问你一下,如果FB_AD设置成multiplexed configuration模式的话,是否可以让FB_AD只传DATA(8位数据,剩下24位传Address),不传单独Address(传32位Address)

使用特权

评论回复
地板
我思故我在12345|  楼主 | 2015-4-20 21:11 | 只看该作者
  • 不知道下面两个图是不是你想要的,不是的话麻烦你再详细的描述一下~


使用特权

评论回复
5
我是MT| | 2015-4-20 21:11 | 只看该作者
上面这个图是传数据的时候的FB_AD的状态,但在传数据前是否要先传一遍地址?在这个完成后再传上图所示内容?

使用特权

评论回复
6
我思故我在12345|  楼主 | 2015-4-20 21:11 | 只看该作者
嗯,是的,先传地址,然后再传数据,在传数据的时候无效的数据位为之前的地址,你是想单独传数据?为何?

使用特权

评论回复
7
我是MT| | 2015-4-20 21:12 | 只看该作者
想用Flexbus来驱动8080总线的LCD,LCD的指令和数据相对于MCU这端来说都是输出的数据,所以我想只传数据。

使用特权

评论回复
8
我思故我在12345|  楼主 | 2015-4-20 21:13 | 只看该作者

理解你的意思了,呵呵,这个没问题的,你可以参考FlexBus的时序,Address是先有的,然后插入CS的同时再插入数据,也就是说在CS片选之后Address已经被Data替代,被复用的那几个管脚的地址已经invalid的了,FleBus的写时序如下图,另外使用FlexBus与LCD的连接方式可以参考Freescale的ApplicationNote AN4393.pdf.

使用特权

评论回复
9
我是MT| | 2015-4-20 21:14 | 只看该作者
1.谢谢你,AN4393.pdf的手册上也有写multiplexed mode和non-muxed mode,我还是没搞懂怎么去切换这两种模式,貌似没有寄存器来选择,直接使能管脚就是了?如果是这样那FB_A是可以实现,但FB_AD怎么知道自己是处于哪种mode呢?
2.你以前写过一篇flexbus的**,在那个**里我也问过你为何设置BAM后你描述是一个是跳跃的地址空间,一个是连续的地址空间,现在还是没有明白。
3.flexbus的地址空间可以是0x6000_0000~0xDFFFFFFF的话,为何我们最大只支持1MB的寻址?(BAM设为0xF)那多出来的空间不是没有用了?
谢谢!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

318

帖子

9

粉丝