我采用max115来采样。而115需要/CS片选信号,然后还有中断信号/INT,还有/WR,/RD。请问这些信号是否可以直接用2812的XA端口信号,或者使用GPIO来控制?
如果采用CPLD进行统一的逻辑控制可能比较容易,但是我只是打算用2812 自身的资源。
谢谢各位了
片选信号最好采用2812自带的三个片选引脚,或者可以与地址线配合来作片选。至于读写要严格的接2812的读和写上,中断你可以接到他的外部中断或者IO引脚,还可以接到那几个捕捉脚上。
我不采用2812自带的ad主要是因为我觉得我项目中的ad通道很可能大于16,并且信号电平也不太符合2812的0~3V的要求。索性直接外扩了
问pangjie,你说的片选引脚与地址线配合,我对此比较感兴趣。
地址线XA(18:0)和数据线XD(15:0)都算是外部接口,2812可以对此进行数据的输入输出么?还是要对片外存储器结合起来使用?
是否可以把地址线分别单独的接到篇外ad的/CS上?这样可以片选比较多的外设了。然后还是可以分时对地址线输出,只不过每次输出只改变其中的一位,相当于每次只片选一个外设?
并且我不太清楚你说的那个片选引脚是指的哪个?
你指的读写是指读写选通信号吧?/XWE和/XRD 不过如果要是需要分别对多个外设进行读写控制,是否只能通过片选信号来完成,就是说外设的读写控制信号要分别“与”在一起?
关于中断部分的我基本上理解了。
以上问题还请你解答一下。谢谢
片选信号不就是那三个吗,0and1,2,6and7,你最好用0and1,这个片选好像映射的空间比较小,其他大的空间片选流作外扩RAM或者Flash,你如果是把IO线或者地址线接到Cs上,倒是候你从AD读取转换结果时他们是模仿不出时序的,不过你可以把0and1这个片选信号和地址线或一下接到你的AD的Cs上,你用不同的地址线和0and1配合可以使用可以外扩很大AD呢,这样不耽搁你读AD得数据,还可以同时选中好多AD芯片开始工作,不过AD转换完成的信号就要分开处理了,
对外设的读写只能通过片选来完成,你访问那个空间的地址,那个空间所对应的片选信号就会产生低电平来选中那个外设,
?/XWE和/XRD 对多个外设进行读写控制是通过你要访问的地址有关的,
看来是我对与外扩的理解太粗浅了
如果我没有理解错的话,是不是这样的?---
XINTF Zone0和Zone1的地址总线范围是0~101,1111,1111,1111
也就是说我至少可以利用XA的低13位来分别片选独立13个外设了?(在不外加译码器的基础上)
不过你提到的用0and1的片选信号/XZCS0AND1分别与这13个XA口“或”后再接上ad的/CS口。这个是否可以这样理解?---
首先输出的0and1片选信号允许了相应地址总线的输出,通过与相应的XA“或”后来控制对应的ad(因为他们都是低电平有效),启动ad转换;并且在DSP接收到中断后,在同样输出0and1片选和相应地址信号的同时,输出对应的/XRD信号。这样就能够完成所需要的分别控制,独立转换,各自读取的目的了吧?
你指出可以同时启动多个ad芯片,这样确实能够改善ad采样的同时性,但是我就是担心片外ad的输出结果在通过XD传到DSP的时候花费太多的时序,导致下次转换的时间间隔太大。
如果每次只是启动芯片A的转换,然后等他转换完成后启动下一个转换B,同时读取A的结果。这样是否能够尽量的节省时间,达到提高采样速率的目的?不过这样每个ad芯片的采样时间就不一样了。我采集的是交流信号,如果采样点不一样,到上位机上还需要进行时序一致化的操作,恐怕反而浪费时间。不知你有什么建议?
谢谢你的详细解答。比我看说明书快多了
你同时启动AD,而读取数值是是分时的,2812是150M晶振,而你采样时间间隔假如是150Us,那样2812就能执行三万条指令,这样还满足不了吗 ?>