牛卧堂MCU技术交流
标题:
请问M467系列的MCU,使用EBI总线,只有3个nCS,如何使用
[打印本页]
作者:
匿名
时间:
2025-4-2 19:44
标题:
请问M467系列的MCU,使用EBI总线,只有3个nCS,如何使用
请问M467系列的MCU,使用EBI总线,只有3个nCS,如何使用,例如连接4片AD7606的片选,这样该如何操作?是否可以讲解一下?
作者:
chrishu
时间:
2025-4-3 11:09
本帖最后由 chrishu 于 2025-4-3 11:11 编辑
EBI是有3个bank,分别对应三个nCS.可以直接接三个设备。也可以实现
几个设备平分
bank0(或bank1、bank2)
的空间
将高
3
位地址作为三八译码器的输入,
CS0
作为三八译码器的片选,将
38
译码器的输出作为实际设备的片选信号
作者:
匿名
时间:
2025-4-3 11:40
谢谢!这里可以详细的指点一下吗?
例如,我之前做的设计,接了3片AD7606,读取的数据是这样的:
for(int i = 0; i < 8; i++)
{
ADdat0[i] = EBI0_READ_DATA16(0);
}
for(int i = 0; i < 8; i++)
{
ADdat1[i] = EBI1_READ_DATA16(0);
}
for(int i = 0; i < 8; i++)
{
ADdat2[i] = EBI2_READ_DATA16(0);
}
正好是对应了3个EBI0,1,2;现在我想获取更多的通道的话,您说的译码器,是将3个CS做成3-8译码器,做成8个片选吗?
那这样的话,读取数据应该怎么做呢?
谢谢!
作者:
chrishu
时间:
2025-4-7 13:33
本帖最后由 chrishu 于 2025-4-7 13:36 编辑
游客 36.143.218.x 发表于 2025-4-3 11:40
谢谢!这里可以详细的指点一下吗?
例如,我之前做的设计,接了3片AD7606,读取的数据是这样的:
EBI有3个BANK,每个bank对应1M的地址空间,每个bank有一个片选信号。
如果设备超过3个。可以用
一个bank
接几个设备,以
bank0为例
:
1、可以把
地址线
的
高三位
最为三八译码器的输入,CS0作为三八译码器的片选信号
2、当片选信号选中
CS0
时,三根地址线A19/A18/117输入的数据从0~7分别对应译码器输出线Y0~7分别为0(假如低电平有效)。这个输出信号可以作为设备的片选信号。
3、这个时候操作bank0的对应地址,就能操作对应的设备。
比如操作地址
0x01
,实际就是对应三八译码器Y0选中的设备的
0x01地址
操作地址
0x40001
,实际就是操作三八译码器Y1选中的设备的
0x01地址
欢迎光临 牛卧堂MCU技术交流 (http://www.nuvoton-mcu.com/)
Powered by Discuz! X3.2