完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我已经学会了如何从一个示意性组件中访问控制寄存器和写入状态寄存器,但是如何从另一个组件中定义的寄存器中读取?
我正在尝试制作一个SPI从机,它需要两个字节的输入:& lt;读/写+地址& gt;& lt;数据写入或0x00 & gt; 作为输出,它给出:和lt;用于读取或0x00和gt的数据; 读写是第一字节中的MSb。地址是一个7位内存地址。我想制作一个原理图组件,它将检查MSB,然后将DMA读写或DMA写入到指定地址。 我的问题是:如何从一个示意性组件访问SPI数据?为了获得发送的数据,我想访问RXDATAYRG,然后基于此做出决定。 |
|
相关推荐
12个回答
|
|
从主MyCuffTeNeNeMyRxDATAL ReGig…
|
|
|
|
DMA只是直接内存访问。所以,你所能做的也可以做CPU:读和写另一个登记。
没有固定名称的所有组件读取登记,但取放值总是存在的API。你可以在生成的源,看他们如何工作,直接使用登记的名字,如果你喜欢看,但通常会有一些额外的测试数据等进行检查 鲍勃 |
|
|
|
我试图避免使用固件。我只想使用UDB和PLD块来处理SPI信息。 |
|
|
|
nvwuwy 发表于 2019-9-24 09:27 你是说我必须使用CPU来读写寄存器吗?我想从SPI从属组件(我放置在TopDead中)获取数据,并在我正在制作的另一个组件中使用这些数据(在我的情况下是一个示意性组件,而不是Verilog组件或UDB组件)。因此,为了读取传入的SPI数据在我的组件,我必须这样做: SPI从属-GT;CPU-GT;自定义组件I认为也许我可以在没有CPU干预的情况下共享这两个数据。 |
|
|
|
只有在没有CPU干预的情况下才是DMA。在PSoC中没有其他连接。您需要从生成的源中挖掘出寄存器的目标地址名称。然后你就可以安装DMA了。你正在运行的SPI速度(CARS/S)是多少?
我只是重新告诉你的规格。”启动一个DMA“为CPU花费合理的安装时间。只有当你自动发送几个字节时,DMA才是值得的,否则中断处理程序会更有效。 鲍勃 |
|
|
|
HDbuyer 发表于 2019-9-24 10:04 啊。因此,尝试在CPU之外进行所有的处理可能甚至不够谨慎。 我控制SPI速度,因为我在配置主和从两个方面。现在我用250khzclock(8字)。我希望尝试测试在10MHz,虽然。 我试图做的是一个“仿真”的LIS3DH加速度表,用于自动测试我的系统的其余部分,我正试图使用PSoC的一部分,为我在LIS3DH替换的下降。系统看起来像这样: LIS3DH & lt;=SPI=& gt;主机处理器(北欧NFR51)& LT BlueL& & GT;PC问题是在系统中很难用实际的加速度计来运行自动测试。相反,我愿意这样做: PC & lt;=USB=& gt;PSoC & lt;=SPI=& gt;主机处理器(北欧NFR51)& lt;蓝牙LE & gt;PC。这样,PC可以告诉PSoC使用预定义的加速数据(通过USB发送)。主机处理器认为跟一个lis3dh并将其输出到PC通过蓝牙LE。这使得它有可能没有实际操纵加速度运行自动化系统测试。 同时,整个项目(一个lis3dh置换)是一个借口,学习如何使用PSoC系统(我从来没有做过的)。我来自一个软件工程的背景,所以我很容易放弃,只是做所有的处理在CPU通过编写C代码,但我想学习如何在原理图片,Verilog做尽我所能,andudbs。 |
|
|
|
|
|
|
|
在版本中编译有助于使我下降到大约2U。所以我现在可以运行250kHz的SCK了。
|
|
|
|
|
|
|
|
彼得沃特金斯
从数据表,“LIS3DH……能够测量输出数据速率从1赫兹到5千赫的加速度”-听起来不太快过载PSoC。另外,在ISR中使用PixWrand(1)/PixWrad(0)来测量经过的时间吗?如果是这样,这是一个缓慢的方法来切换PIN,并花费大约1U本身(ISR时间的一半)。 |
|
|
|
|
|
|
|
ncmza 发表于 2019-9-24 11:20 我正在直接处理PIN寄存器。即。: iSrStRADED R=ISRZ STARTED掩码; ISRYSTARTEDIOR DR& 很清楚,我不是在用PSoC阅读LIS3DHI。我使用PSoC来“仿真”一个LIS3DH。PSoCo是我正在测试的系统中的主机处理器的一个LIS3DH。这使我能够在没有实际LIS3DH的情况下运行自动化测试(我不想在自动化测试期间手动移动电路板)。 因此,问题是使PSoC与LIS3DH的SPI从属行为相匹配。在LIS3DH中,SPI上的第一个字节是希望读取/写入的地址的地址。第二个字节是数据。这两个字节之间的延迟不同于ONSPI时钟周期固有的延迟(即250kHZOR 10MHz)。这意味着当我看到一个字节出现在SPI上,上面写着“从地址0x20读取”时,我大约有一半的SPI时钟周期,从PSoC的SRAM中读取那个位置,并开始在SPI上显示值。 |
|
|
|
只有小组成员才能发言,加入小组>>
751个成员聚集在这个小组
加入小组2064 浏览 1 评论
1824 浏览 1 评论
3632 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1508 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
502浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
354浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
409浏览 2评论
354浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
851浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 09:20 , Processed in 1.141690 second(s), Total 99, Slave 83 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号