PCI9054 突发模式数据传输 (burst mode data transfer )
2016-06-28 10:06
351 查看
C mode target slave , 之前看PCI9054 datasheet知道这个burst mode ,也看了时序图,但是一直缺乏一个感性的认识。
今天网上买的 USB逻辑分析仪到货了,接上去用PLX SDK提供的API函数做了个控制台程序试了试读和写,的确认识了single cycle和burst的实际样子。
1,EEPROM里给memory space 0的设置是16位数据传输,打开了burst,见下图:
![](http://img.blog.csdn.net/20150227203811877?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29mdGZveA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
2, 控制台程序,先是得到映射后得到的虚拟地址空间的基地址,然后指向U32数据类型,即32位无符号整数,见下图:
![](http://img.blog.csdn.net/20150227205029241?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29mdGZveA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
获得的值是0xff55ffff, 即bit23到bit16的二进制数据分别是01010101,和下图逻辑分析仪得到的截图所示一致:
![](http://img.blog.csdn.net/20150227204907013?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29mdGZveA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
从图中可以看出,前16位在前,后16位在后。
以上是读,写的话也类似。下面2图演示写burst:
![](http://img.blog.csdn.net/20150227205306224?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29mdGZveA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
可以看出,写进去的value之bit23到bit16二进制数是00000000
![](http://img.blog.csdn.net/20150227205420451?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29mdGZveA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
下面加一张连续多次single cycle传输的截图,以做对比:
![](http://img.blog.csdn.net/20150227213324010?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29mdGZveA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
====下面补上8位IO port上进行的burst-4传输情况:===========
1, Space 1 EEPROM:
![](http://img.blog.csdn.net/20150228134242721?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29mdGZveA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2,U32类型的数据传输到8位IO port上,代码:
![](http://img.blog.csdn.net/20150228134441737?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29mdGZveA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
3,主要下面时序图上的A0-A1地址位是递增的:
今天网上买的 USB逻辑分析仪到货了,接上去用PLX SDK提供的API函数做了个控制台程序试了试读和写,的确认识了single cycle和burst的实际样子。
1,EEPROM里给memory space 0的设置是16位数据传输,打开了burst,见下图:
2, 控制台程序,先是得到映射后得到的虚拟地址空间的基地址,然后指向U32数据类型,即32位无符号整数,见下图:
获得的值是0xff55ffff, 即bit23到bit16的二进制数据分别是01010101,和下图逻辑分析仪得到的截图所示一致:
从图中可以看出,前16位在前,后16位在后。
以上是读,写的话也类似。下面2图演示写burst:
可以看出,写进去的value之bit23到bit16二进制数是00000000
下面加一张连续多次single cycle传输的截图,以做对比:
====下面补上8位IO port上进行的burst-4传输情况:===========
1, Space 1 EEPROM:
2,U32类型的数据传输到8位IO port上,代码:
3,主要下面时序图上的A0-A1地址位是递增的:
相关文章推荐
- PCI9054 突发模式数据传输 (burst mode data transfer )
- PCI9054 突发模式数据传输 (burst mode data transfer )
- PCI9054 突发模式数据传输 (burst mode data transfer )
- NodeJs——(9)jade的基础和进阶
- JS的prototype和__proto__
- JavaScript ES6的新特性使用新方法定义Class
- WebGL可视化地球和地图引擎:Cesium.js
- javascript 常用验证函数总结
- Visual Source Safe_VSS复制已有解决方案创建新的解决方案
- json_decode返回null 和synax error原因及处理
- 用jQuery实现遍历集合中的文本动态隐藏消失
- Writing Modular JavaScript With AMD, CommonJS & ES Harmony
- RapidJSON学习整理
- script.fex 与 script.bin文件转换
- JS传递对象数组为参数给后端,后端获取的实例代码
- Emmet:HTML/CSS代码快速编写神器
- swiper的基础使用(十五)
- JavaScript ES5标准中新增的Array方法
- Fedora 24 系统安装
- js:字符串(string)转json