admin 发表于 2020-5-17 21:15:11

【设计实例】AD7606 ADC并口驱动程序


附件为AD7606型16位8通道同步采样ADC芯片使用16位并口的驱动程序。使用signaltap抓取端口信号和采样结果。
下图为完整的AD7606一轮采样和读取的时序图


下图为AD7606读取数据时候的时序图





以下为将上述Verilog程序封装为NIOS II的IP后的一个测试工程,包括Quartus工程,IP源码和C应用程序,可以直接在AC620开发板上运行。

工程IP目录下,有个AD7606_Avalon的文件夹,为自写的能够任意指定采样速率的AD7606控制器。
该控制器由于需要CPU主动从每个地址读取到内存,因此可能无法运行在较高的采样率,主要看CPU的性能了。SOC的HPS应该没问题,NIOS可能够呛
该IP提供了一个寄存器的说明文档。
工程的software下提供了一个工程,hello_word.c中给出了AD7606使用中断方式以1秒的速率采样的示例。用1秒主要是考虑串口打印速率,太快肉眼也看不了。
使用时,只需要将AD7606_Avalon整个文件夹拷贝到你自己的工程目录下(或工程目录下的IP目录下),然后重新打开Qsys就能自动扫描到本IP。

------------------------------------------2021.01.05----------------------------------------------------------------------
将上述程序做了修改,将通道1的数据引出,并使用通道1的flag信号作为采样时钟,添加了一个signaltap的抓取功能,可以使用siganltap抓波形看AD7606实时采集到的波形。




.Adeus 发表于 2022-6-7 16:15:51

感谢楼主

qweasd 发表于 2024-1-10 18:33:59

dfewdfbgerfgbefd23rasdas1`<img src=x>sdfgewdfgrewdf
页: [1]
查看完整版本: 【设计实例】AD7606 ADC并口驱动程序