C mode target slave , 之前看PCI9054 datasheet知道这个burst mode ,也看了时序图,但是一直缺乏一个感性的认识。

今天网上买的 USB逻辑分析仪到货了,接上去用PLX SDK提供的API函数做了个控制台程序试了试读和写,的确认识了single cycle和burst的实际样子。

1,EEPROM里给memory space 0的设置是16位数据传输,打开了burst,见下图:

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP

2, 控制台程序,先是得到映射后得到的虚拟地址空间的基地址,然后指向U32数据类型,即32位无符号整数,见下图:

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP

获得的值是0xff55ffff, 即bit23到bit16的二进制数据分别是01010101,和下图逻辑分析仪得到的截图所示一致:

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP

从图中可以看出,前16位在前,后16位在后。

以上是读,写的话也类似。下面2图演示写burst:

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP

可以看出,写进去的value之bit23到bit16二进制数是00000000

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP

下面加一张连续多次single cycle传输的截图,以做对比:

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP

====下面补上8位IO port上进行的burst-4传输情况:===========

1, Space 1 EEPROM:

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP

2,U32类型的数据传输到8位IO port上,代码:

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP

3,主要下面时序图上的A0-A1地址位是递增的:

PCI9054 突发模式数据传输 (burst mode data transfer )-LMLPHP



05-06 19:58