完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
先写上Verilog代码:
module AMP_TOP ( input SPI_SCLK , input SPI_CS , input SPI_MOSI , output reg SPI_MISO , output reg DAC_SCLK , output reg DAC_CS , output reg DAC_SDI , iuput DAC_SDO , output reg ADC_SCLK , output reg ADC_CS , output reg ADC_SDI , iuput ADC_SDO ) ; reg [7:0] CHANNNEL_SELECTOR ; reg EIGHTH_CLK ; reg AFTER_EIGHT_CLK ; reg [7:0] SCLK_COUNTER ; reg [7:0] INPUT_BUFFER ; always @ ( posedge SPI_SCLK , posedge SPI_CS ) begin if ( SPI_CS ) begin SCLK_COUNTER <= 8'h0 ; INPUT_BUFFER <= 8'h0 ; EIGHTH_CLK <= 1'b1 ; CHANNEL_SELECTOR <= 8'hFF ; end else begin SCLK_COUNTER <= SCLK_COUNTER + 1'b1 ; INPUT_BUFFER <= { INPUT_BUFFER [DW-2:0] , AMP_SPI_MOSI } ; if ( SCLK_COUNTER == 8'h7 ) begin CHANNEL_SELECTOR <= { INPUT_BUFFER [6:0] , AMP_SPI_MOSI } ; EIGHTH_CLK <= 1'b0 ; end else begin EIGHTH_CLK <= 1'b1 ; end end end always @ ( negedge SPI_SCLK , posedge SPI_CS ) begin if ( SPI_CS ) begin AFTER_EIGHT_CLK <= 1'b1 ; end else begin if ( SCLK_COUNTER == 8'h8 ) begin AFTER_EIGHT_CLK <= 1'b0 ; end end end always @ ( * ) begin if ( AFTER_EIGHT_CLK ) begin SPI_MISO <= SPI_MOSI ; DMC_SCLK <= 1'b0 ; DMC_CS <= 1'b1 ; DMC_SDI <= 1'b0 ; end else begin if ( CHANNEL_SELECTOR [6:3] == 4'b0110 ) begin case ( CHANNEL_SELECTOR [2:0] ) 3'h0: begin DMC_SCLK <= ~SPI_SCLK ; DMC_CS <= SPI_CS ; DMC_SDI <= SPI_MOSI ; SPI_MISO <= DMC_SDO ; end 3'h1 : begin ADC_SCLK <= SPI_SCLK ; ADC_CS <= SPI_CS ; ADC_SDI <= SPI_MOSI ; SPI_MISO <= ADC_SDO ; end default : ; endcase end end end endmodule (1)代码中使用的CPLD为5M160ZE64C5N,使用的DAC是DAC8734,使用的ADC是ADS124S06。 (2)图1是我使用的测试软件,SEL(HEX)项是通道ID,我的代码中为"30h"或"31h";C/A-L项是地址位长度,1表示的8bit;C/A-D(HEX)项表示的是地址数据;Data-L项表示的是数据长度;Data-D(HEX)项表示的是数据。 (3)根据DAC8734的Datasheet,寄存器00h的缺省值是033Ch,我在使用read时,00h的值会出现在下一个SPI操作当中,所以我分别read了两次,结果为0000;有分别read了1次,write了1次,结果还是0;是不是我对datasheet中的内容理解错了还是什么其他原因,求各位大神指教!!!!!!!! |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1287 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1036 浏览 0 评论
2359 浏览 1 评论
2067 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2325 浏览 0 评论
1859 浏览 49 评论
6004 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 01:29 , Processed in 0.465986 second(s), Total 72, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号