请问如果有用到GPIO外部触发中断,应该如何结合GPIO对中断进行设置?还有如果GPIO作为外部时钟输出,又该如何设置锁相环呢?
Phyllis Xu:
Zhang Jerry 你好,
1、对GPIO进行外部中断设置首先要设置Direction Register(DIR) 寄存器为output, 然后再使能GPIO中断,及设置Set Data Register(SET_DATA)寄存器即可。
2、GPIO作为外部时钟和PLL没有关系,此时需要将GPIO的Direction Register(DIR)设置为输出,然后再通过软件或外设对GPIO PIN脚对应的register bit进行设置。
如有问题欢迎与我们联系,谢谢!
Phyllis
Zhang Jerry:
回复 Phyllis Xu:
Phyllis
你好,非常感谢您的建议!不过还有些问题想麻烦您,因为初次用到6678,有很多东西不了解。我们主要想利用EMIF16实现FPGA与6678的数据传输,但存在以下问题:
1、EMIF16是异步通信,无法对外部提供时钟,所以我们想通过GPIO作为异步FIFO的读时钟,这就涉及GPIO输出时钟与EMIF16的工作频率CPU/6是否需要考虑二者一致?还有手册中提到GPIO时钟为CPU/6,不知作为外部输出是否也是CPU/6?
2、EMIF16从异步FIFO中读取数据传送到EDMA,其间,我们想通过FIFO的满空信号作为EMIF16读取数据的中断触发,这就涉及GPIO作为外部触发中断,但手册中提到 GPINT[0:15] are all available as synchronization events to the EDMA and as interrupt sources to the CPU,不知是否还需要对EMIF16中断寄存器进行配置以及对INTC进行配置?如果需要该怎样配置呢?
期待您的回复,谢谢!
Jerry