No.79860 作者:liufengzhong 邮件:l_fz@sina.com ID:149522 登陆:12次 文章数:695篇 最后登陆IP:183.13.93.245 最后登陆:2015/6/16 17:02:27 注册:2014/7/29 21:51:15 财富:3671 发帖时间:2014/8/30 14:44:31 发贴者IP:111.221.200.181 标题:liufengzhong:[转帖]一个SPI端口能被添加到DJ Kit吗? 摘要:No.79860[转帖]一个SPI端口能被添加到DJ Kit吗? 我需要添加SPI功能(仅发送)到USB音频2 DJ Kit。这是为了落实4×TI PGA2500麦克风前置放大器IC的数字增益控制。我已经导入了spi_master库进入DJ套件参考设计软件(版本6.6.0),但我有与端口分配为SPI外设的一个问题。看来,在spi_master库,SPI接口(MOSI,MISO,SCLK)需要单独分配到各个端口。然而,所有的单位端口(1A - 1L)当前分配给其他重要的功能,为I2S音频数据和时钟。有没有一种方法来映射所有的SPI接口+ SSEL到一个4位端口,例如端口4C或端口4D?如果没有,那么我的SOL与我的基础上,XS1-U8A-64当前的设计,需要给废了,找到另一种方法(或其他供应商!)。出于成本和电路板密度的原因,它是不能够升级到更高的引脚数的一部分,如XS1-U8A-128。 任何帮助,这将不胜感激。 USB-AUDIO-2.0-设备,参考设计,软件(6.6.0) 回答: XMOS每个逻辑端口都有一个单一的方向位。这意味着4B端口要么是所有输入或全部输出。因此,它是不可能有MISO,MOSI,SS和SCLK都在同一端口上(除非你做一些可怕的端口转身采样与串联电阻等。) 因此,有一些选项: - 使用4B端口的SS,SCLK和MOSI的3B,而忽略MISO(可能是好的 - 在PGA2500看起来很简单)。基本上是一个瞎子写。我们做i2c_single_port类似的东西 - 使用4B端口的SS,SCLK和MOSI的3B和使用(例如一个未使用的端口4B的1b)的另一个端口的MISO 然而,正如你看到的XMOS的标准IP用于SPI假设1b的端口。使用内置的移位寄存器使用1B端口允许高性能。 但是,在你的情况下速度不是那么关键,一个“宽口”的实施就可以了。但它确实意味着你需要使用的端口4B(也许另一个端口来读取MISO如果需要的话)来编写自己的SPI主控程序。这应该不会太难,可以与FSM(有限状态机)和一个定时器来完成。看看I2C-sp.xc在i2c_single_port ... 回复: 谢谢!非常有帮助。我现在感觉平静。 我很好的做'blind'的SPI写入PGA2500s ......所以没有MOSI和我需要额外的引脚反正。之后我张贴(在恐慌!)昨天晚上,我做了一些更多的搜索在“XMOS的SPI位砰',发现在beta.xcore.com一些hepful职位。看起来这将是相当简单的,以实现自己的SPI驱动程序,而不会产生过多的CPU开销。我相信,一个有限状态机和定时器的方法是更多的CPU效率比蛮力位冲击? 搞笑你提到希望在I2C-sp.xc,这正是我一直在寻找昨晚的文件,但我是新来的越野环境,许多概念和语法仍然生疏了,在这个阶段。但是,这将是让我的脚湿“一个完美的方式。 另外,只要加入此控制主线处理 - 有许多的I2C和GPIO在我们的设计中的设备需要被“轮询”或定期更新 - 例如电池燃料线规IC,电池充电控制IC,A / D转换器裁剪标志,幻象电源电压/启用等...将“updateMasterVol”和“updateVol”是正确的地方把这些设备接入电话? 仅供参考,我也将需要implenent了TI的EasyScale 1位协议设定幻像电源电压......这里的一些的Arduino代码的伎俩,我需要将它移植过来XMOS的最后:HTTP: //www.krekr.nl/content/ti-easyscale协议,Arduino的hack/。我很高兴能与社区共享的驱动器,当我得到它的工作。 USB音频参考设计功能“updateMasterVol”和“updateVol”可能是一个很好的地方加入这个控制 - 他们在端点0。 回答: 我相信,一个有限状态机和定时器的方法是更多的CPU效率比蛮力位冲击? > > > 是的。暂停时对一个事件(定时器,港口,航道等)的逻辑核心并没有执行指令。这有点像有硬件的民调支持。因为你在玩的波形只,同步输出到一个计时器最有意义呢。 搞笑你提到希望在I2C-sp.xc,这正是我一直在寻找昨晚的文件,但我是新来的越野环境,许多概念和语法仍然生疏了,在这个阶段。但是,这将是让我的脚湿“一个完美的方式。 > > > 基础知识只需要一两个小时来学习。你想要做什么幸运的是属于基本接口的范畴 - 它主要是输出中的模式,延时,输出模式延迟等... 另外,只要加入此控制主线处理 - 有许多的I2C和GPIO在我们的设计中的设备需要被“轮询”或定期更新 - 例如电池燃料线规IC,电池充电控制IC,A / D转换器裁剪标志,幻象电源电压/启用等...将“updateMasterVol”和“updateVol”是正确的地方把这些设备接入电话? ......
>>返回讨论的主题
|