首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

求助 51单片机与CPLD的接口问题

求助 51单片机与CPLD的接口问题

我用的是P89C669 单片机,外接了Lattice M4A5的CPLD,以及外部SRAM(SAMSUNG K6*4008C1F 512K)。

通过CPLD来扩展地址线,具体接法如下:

单片机P0口直接与SRAM的8位数据线(D7-D0) 连接, 作为低8位地址(A0-A7)和数据线(D0-D7)

单片机的P2口(A8-A15)与SRAM的高地址(A8-A15)连接,同时也与CPLD连接

CPLD 另外再输出SRAM的(A16-A18)

另外单片机的WR接到CPLD的某个I/O口,再有CPLD另一个IO口接到SRAM的WE; RD直接接到SRAM的OE,同时也接到CPLD的某个IO口。CPLD某个IO口接到SRAM的片选CS

通过以上连接就实现了:SRAM所需要的19位地址线, 以及OE和WE以及片选CS。这样就应该可以读写SRAM了。

但是测试的时候总是失败,先写到SRAM的某个地址,然后再从该地址读出数据,读出来的数据总是错误的,而且是个固定的值。

后来干脆直接在CPLD里给出片选信号CS,以及A16-A18,和WE信号,这样只把SRAM当作64K来使用,仍然读出错误的数据。线路连接应该没有问题,检查了好几次了。不知为何?

返回列表