阅读:2695回复:13
cpld+dsp通讯
请教,如何在cpld设置寄存器,使dsp可以读取?谢了!
[编辑 - 12/4/04 by yangyafeng] |
|
|
沙发#
发布于:2004-12-04 14:17
简单,只要用读信号和地址译码控制寄存器使能端(OE),用写信号和地址译码控制时钟(CLK)即可。
|
|
|
板凳#
发布于:2004-12-05 09:52
我是新手,能详细解释么?非常感谢 |
|
|
地板#
发布于:2004-12-05 09:55
在DSP里面定义一个地址指针:int *readdata=(volatile int *)0xffff01;
DSP程序中:int data=*readdata;只要访问这个地址时,cpld中,(a23 & a22 & a21 & a20 & !a3 &!a2 & !a1 & a0)为1么? |
|
|
地下室#
发布于:2004-12-05 10:44
在DSP里面定义一个地址指针:int *readdata=(volatile int *)0x000c; DSP程序中:int data=*readdata; cpld中: [前端处理函数输出data} assign ctl_rd = A[5] | A[4] |(!A[3])|(!A[2]); //000C assign D = (ctl_rd) ? 16'bz : data; dsp能读到cpld的数据data么? 谢谢 |
|
|
5楼#
发布于:2004-12-06 07:47
请各位高手解答楼上问题,谢谢了,急急急急急急!!!
|
|
|
6楼#
发布于:2004-12-06 15:28
给斑竹llllgggg 5分意思意思,如果我的问题解决了,分大大的有!!!!
我急呀! |
|
|
7楼#
发布于:2004-12-07 07:35
简单,只要用读信号和地址译码控制寄存器使能端(OE),用写信号和地址译码控制时钟(CLK)即可。 我用的是dsp6713和cpld95144,能详细解释一下控制方法么?谢谢了 |
|
|
8楼#
发布于:2004-12-07 10:42
1、在DSP里面定义一个地址指针:int *readdata=(volatile int *)0xffff01;
DSP程序中:int data=*readdata;只要访问这个地址时,cpld中,(a23 & a22 & a21 & a20 & !a3 &!a2 & !a1 & a0)为1么? 当然是。 你好象是用高4位地址进行段译码,低4位地址进行寄存器级译码,这样是非常有理的。 2、在DSP里面定义一个地址指针:int *readdata=(volatile int *)0x000c; DSP程序中:int data=*readdata; cpld中: [前端处理函数输出data} assign ctl_rd = A[5] | A[4] |(!A[3])|(!A[2]); //000C assign D = (ctl_rd) ? 16'bz : data; dsp能读到cpld的数据data么? 怎么又把高位译码去掉了呢(如果没有其他外设,也是可以的)?。OCH是1100, 如果按照C3X的外部地址,应该是A3~A0;我感觉你的译码的地址线不对,除非C6的内部字节空间与外部字节空间对应,并且是按32位操作;我回头查一下C6的手册。 另外,你用的是verilog HDL? 我不太熟悉,不过看你的代码,原则是正确的。 |
|
|
9楼#
发布于:2004-12-07 19:42
呵呵。
|
|
|
10楼#
发布于:2004-12-07 19:56
楼上高手,指点一下? 大家互相帮助嘛,光傻乐干哈:)
|
|
|
11楼#
发布于:2004-12-08 07:34
1、cpld中,(a23 & a22 & a21 & a20 & !a3 &!a2 & !a1 & a0) 两种选址方式一种是或,另一种是与,实际verilog中应该是什么,为什么,请高手指点, 前一位在笑,应该是得意之笑,llllgggg说那种选址方式非常合理,是出自他手! |
|
|
12楼#
发布于:2004-12-12 13:10
也谈不上什么高手,更不是得意,因为大家都是在技术上的不断学习而已了。因为DSP 24bit寻址,而他内部RAM,一般有几块(你可以看他的内存分布图),你在CPLD/FPGA中取数据的话,都要给他分配一个地址作为你的外部扩展空间。当然这个地址不能和其他的共用,为了使地址译码正确,我一般是用高4bit+低4bit(你不闲麻烦把24bit全搞上也行),你自己先试试看。在说DSP方面,我只对DSP(VC33)熟悉些。
|
|
|
13楼#
发布于:2004-12-16 16:12
cpld中:
设置读使能线,片选线,和DSP的相应控制线相连接,假设要读时 将DSP读控制线和片选控制线置低,在CPLD中,定义输入控制线,一但输入为低电平,将存储单元的数送到数据总线即可, |
|