多通道數(shù)據(jù)采集卡FPGA設(shè)計(jì)模板_第1頁(yè)
多通道數(shù)據(jù)采集卡FPGA設(shè)計(jì)模板_第2頁(yè)
多通道數(shù)據(jù)采集卡FPGA設(shè)計(jì)模板_第3頁(yè)
多通道數(shù)據(jù)采集卡FPGA設(shè)計(jì)模板_第4頁(yè)
多通道數(shù)據(jù)采集卡FPGA設(shè)計(jì)模板_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、S-DAQ-CM32-FPGM 文檔修改記錄UpdateRecords版次Rev.No.修改摘要UpdateSummary生效日期EffectiveDate編制PreparedBy簽名SignaturefpgAj能介紹S-DAQ-CM32統(tǒng)中FPG的主要功能是控制ADS1278并將采集的數(shù)據(jù)封裝成512字節(jié)的數(shù)據(jù)包,存儲(chǔ)于SRAMPo另外還需要相應(yīng)Cortex-M3發(fā)送的控制命令,以及采樣數(shù)據(jù)讀取命令。詳見(jiàn)下圖:SpislaveMgntAtrig_inSys_clkSyncin_clkSyncout_clkSyncin_validDtrig_inDtrig_outrs nsSyncn sSta

2、rtJClockMgntPing_a18:0Ping_lbnPing_ubnPing_a18:0Ch4d(1:0Ch6d31:0 Ch7d(1:0Sram_din7:0 Sram_cen Sram_oenSram_wenbuffull;1:0 Ch8d(1:0Ch5dSram_a19:0Sram_dout7:0 mode modes;1:0 Ch3d31:0.Ping_d15:0 aPing_cenPing_oen_ _ Ping_wen_Ping_lbn .Ping_ubnPing_d15:0Ping_cen -Ping_oenPing_wenbufwclk Ch1d31:0 Ch2dChx

3、dv7:0 Chxdc t7:0clADCMgntADDRDYn ADDOUT ADCLKADSCLK |ADSYNCn如上圖所示,F(xiàn)PGAJ部如要完成下屬功能:SPI Slave Management: Spi_slave_MgntB、Clock Management : Clock_MgntC、Buffer Management : Buf_MgntADC Management : ADC_Mgnt1 Sram_dout與Sram_din兩個(gè)箭頭方向換了一下,方便程序閱讀;2 SPI_slave_Mgnt 與Clock_Mgnt之間增加 datarate_choose2:1,方向從SPI_

4、Slave_Mgnt 到 Clock_Mgnt。fpgAj能實(shí)現(xiàn)SPISlaveManagementCortex-M3設(shè)置為SPIMaster模式,F(xiàn)PG座現(xiàn)SPISlave的功能可以完成寄存器、SRAM!訪問(wèn)SPISlave可以完成寄存器、SRAM!訪問(wèn)Registers:64*16BitsSRAM1024K-Byte2KPage*512BytePerPage四線模式:/SEL,SCLKSI,SO時(shí)序:TheSPISlaveDeviceisaccessedviatheSIpin,withdatabeingclockedintherisingedgeoftheSCLK.The/SELpinmu

5、stbelowfortheentireoperation.Table1-1containsalistofpossibleinstructionbytesandformatfordeviceoperation.Allinstructions,addressesanddataaretransferredMSBfirst,LSBlast.Table1-176543210AccessModeAccessType1二0RegisterAddress5.0AccessRegisterReadAccess11WriteAccess0100A19A18A17A16SRAMByteOperationReadAc

6、cess01101A19A18A17A16WriteAccess0010A19A18A17A16SRAMPAGEOperationReadAccess0二011A19A18A17A16WriteAccess0000A19A18A17A16SRAMSequentialOperationReadAccess0001A19A18A17A16WriteAccessNote:A19=0,PingSramAccess;A19=1,PongSramAccessModesofRegisterOperationThereare6416-BitsGeneralpurposeregisterswhichcanber

7、ead/writtenviathespiinterfaceandoneread-onlyByteregister-SPIS_ST(SPISlaveStatus)Table2-1NameADDRWidthDescriptionSPIS_STN8SPISlaveStatusREG00x00161命令類(lèi)型datarate_choose4:2mode1sStart0REG10x0116設(shè)備序列號(hào)REG20x0216同步REG30x0316REG40x0416第五通道的米樣速率REG50x0516第六通道的米樣速率REG60x061161第七通道的米樣速率REG70x0716第八通道的米樣速率REG80

8、x0816第一通道的增益設(shè)置REG90x09161第二通道的增益設(shè)置REG100x0AP161第三通道的增益設(shè)置REG110x0B16第四通道的增益設(shè)置REG120x0C16第五通道的增益設(shè)置REG130x0D16第六通道的增益設(shè)置REG140x0E16第七通道的增益設(shè)置REG150x0F16第八通道的增益設(shè)置REG160x10P16TBDREG170x1116TBDREG180x12r161TBDREG190x13P161TBDREG200x1416TBDREG210x1516TBDREG220x1616TBDREG230x1716TBDREG240x18r161TBDREG250x19P1

9、61TBDREG260x1A16TBDREG270x1Br161TBDREG280x1CP161TBDREG290x1D16TBDREG300x1E16TBDREG310x1FP161TBDREG320x2016TBDREG330x21r16TBDREG340x22P161TBDREG350x2316TBDREG360x2416TBDREG370x25r161TBDREG380x2616TBDREG390x2716TBDREG400x2816TBDREG410x2916TBDREG420x2A16TBDREG430x2B16TBDREG440x2C16TBDREG450x2D16TBDREG4

10、60x2E16TBDREG470x2F16TBDREG480x3016TBDREG490x3116TBDREG500x3216TBDREG510x3316TBDREG520x3416TBDREG530x3516TBDREG540x3616TBDREG550x3716TBDREG560x3816TBDREG570x3916TBDREG580x3A16TBDREG590x3B16TBDREG600x3C16TBDREG610x3D16TBDREG620x3E16TBDREG630x3F16TBDTable2-2SPIS_STRegisterNAMEADDR76543210SPIS_ST0x001R

11、egisterWriteAccessRegisterReadAccessModesofSRAMOperation512K*16bits,PingChip512K*16bits,PongChip2048Page,512BytesperPageAccessAddressRange:0x000000x3FFFF31302928272625242322212019181716NullSRAMAccessCommPageAddress1514131211109876543210PageAddressByteAddressSRAMByteWriteAccessThewriteoperationsareli

12、mitedtoonlyonebyte.TheCommandfollowedbythe16-bitaddressisclockedintothespislavedeviceandthedatafromthespislavedeviceistransformedonthenext8clocks.SRAMByteReadAccessTheReadoperationsarelimitedtoonlyonebyte.TheCommandfollowedbythe16-bitaddressisclockedintothespislavedeviceandthedatatothespislavedevice

13、istransformedonthenext8clocks.SRAMPageWriteAccessThewriteoperationsarelimitedtowithintheaddressedpage(theaddressisautomaticallyincrementedinternally).Ifthedatabeingwrittenreachesthepageboundary,thentheinternaladdresscounterwillincrementtothestartofthepage.csAsckwwimTL2 3 4 5 6 7 fl 9 ID 1121 22 23 2

14、4 25 26 27 28 29 30 31Slinstruction*ooo o/T o16-tit Address-Page X, Word Y-age X. Word Ycs323334353S373B39sckmrLrwin.mmnrLrwmnRrLnmRPage X, Word Y+1Page X Word 31Page Xh Word Q-SRAM Page Read AccessThe Read operations are limited to within the addressed page(the address is automatically incremented

15、internally).If the data being read reaches the page boundary ,then the internal address counter will increment to the start of the page.SCK0 I 2 3 4 5 6 7 8 9 10 1121 22 23 24 25 26 27 28 29 30 31juwmRTLrmnn .Instruction16-bit AddresssicsSI二不回知3國(guó)。啊page x, word YHigri impedancePage X, Word ¥*二Pa

16、ge X. Word ¥+1Page X. rd 3132 33 34 35 36 37 38 39sck _JinmoiTLrLTUvso-mzc晅一斑相®皿SRAMSequentialWriteAccess0 1 2 3 4 5 6 7 8 9 10 1121 22 23 24 25 26 27 28 29 30 31Sck _rLrmnjmnnmrLTLTLrwwmwL -Instnjction*- 16-bil Address»-| -*Data Byte 1*-isi 口口曠口?;鼗鼗貒?guó)一32 33 34 35 36 37 38 39 40 41 42

17、43 44 45 46 47sck. _RnnmnrLrwwwuLTLEnnnnrLrLData Byte nDataByte2DataByte3si-茗空媽3®羽®巫回SRAMSequentialReadAccessSequentialoperationsallowstheenterarraytobewrittentoandreadfrom.Theinternaladdresscounterisautomaticallyincrementedandpageboundariesareignored.Whentheaddresscounterreachestheendofth

18、earray,theaddresscounterwillrollovertothe0x0000.1力我但01SO0 1 3 4 5 6 7 3 5 W n工段&乂霞星在貍建3ali5ck JumiVLJWLAjWi_ _(WUWWIWl .1S-M A4drM&'sckJWUWWUUWLTUWW1JWUUULSI廣PageX.Wort31-|-PageX+1.Word0-i-x+i,Wo<d1sex_rwwuLn_rumRruumjwLruuiRrLTLa 31 q2 ?14P*&X+1BWorti31 - PageX+n. Word 1 -Page X*

19、n. Wort 31二二二二可ClockManagementClockManagemen的主要功能負(fù)責(zé)向ADCManagement!供合適的采樣時(shí)鐘,以及控制設(shè)備的工作模式(同步模式,異步模式)。Cortex-M3需要設(shè)定設(shè)備類(lèi)型(主設(shè)備、從設(shè)備),設(shè)備工作模式(同步模式、異步模式),采樣觸發(fā)類(lèi)型(數(shù)字觸發(fā)采集、模擬觸發(fā)采集),以及采樣頻率選取(提供1K、2Kdefault、4K、8K、16K、32K、64K、128KM選)。Clock_Mgnt模塊先產(chǎn)生如下幾種時(shí)鐘信號(hào)作為輸出給ADC_Mgnt塊的clk信號(hào):(默認(rèn)ADS1278:作模式為High-Speed模式)采樣頻率為128KHz寸,

20、ADS127的工作時(shí)鐘clk的頻率為33.554432MHz采樣頻率為64KHz64KHz32KHz16KHz8KHz4KHz2KHz1KHZ寸,將33.554432MH分別2分頻、4分頻、8分頻、16分頻、32分頻、64分頻、128分頻,產(chǎn)生ADS1278!要的工作時(shí)鐘clk。ADS127的工作模式、工作時(shí)鐘和采樣頻率的關(guān)系如下圖所示:Table6.ClockInputOptionsMODESELECTIONMAXfCLK(MHz)CLKDIVfcLKATADATARATE(SPS)High-Speed32,7681256128,000High-Resolution27151252,734L

21、ow-Power27151252,7341350256Low-Speed2712r560105475.40512則,ADS1278High-Speed模式)在不同采樣頻率下的工作時(shí)鐘頻率如下表所示:f(CLK)f(DATA)128K128*1024*256=33.554432MHz64K33.554432MHz/2=16.777216MHz2分頻32K33.554432MHz/4=8.388608MHz4分頻16K33.554432MHz/8=4.194304MHz18分頻8K33.554432MHz/16=2.097152MHz16分頻4K33.554432MHz/32=1.048576MH

22、z:32分頻2K33.554432MHz/64=524288Hzr64分頻1K33.554432MHz/128=262144Hz128分頻以上8種采樣時(shí)鐘信號(hào)都由系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘(Sys_clk)產(chǎn)生,外界晶振20.48MHz,在FPGAJ部使用兩個(gè)DCM1塊產(chǎn)生33.554432MHz勺時(shí)鐘。DCM120.48MHz*32/25=26.2144MHzDCM226.2144MHz*32/25=33.554432MHz其中,ADS127的最小工作時(shí)鐘頻率為fcLK=100kHz。(見(jiàn)ADS1278datasheet26/47頁(yè))ADS127的工作模式及最高采樣頻率關(guān)系如下圖所示:Table7,M

23、odeSelectionMODE1:0MODESELECTIONMAXfamW00High-Speed128,00001HiglvResolirtion6273410Low-Power52,73411Low-Speed10,547(1)fcLK-27MHemax(32,768MHzmaxinHigh-Speedmode).當(dāng)同步輸入信號(hào)Syncin_valid有效時(shí)(Syncin_valid為高電平則同步有效),設(shè)備工作在同步模式,此時(shí):如果此設(shè)備是主設(shè)備(mod劭高電平),則時(shí)鐘模塊選取相應(yīng)采樣頻率的時(shí)鐘信號(hào)作為clk輸出給ADCMgnt同時(shí)輸出此時(shí)鐘信號(hào)給Syncout_clk,給下一級(jí)設(shè)

24、備;如果此設(shè)備是從設(shè)備,時(shí)鐘模塊的輸出時(shí)鐘clk為Syncin_clk,同時(shí)輸出此時(shí)鐘信號(hào)給Syncout_clk,給下一級(jí)設(shè)備。當(dāng)同步輸入信號(hào)Syncin_valid無(wú)效時(shí)(Syncin_valid為低電平則同步無(wú)效),設(shè)備工作在異步模式,此時(shí),時(shí)鐘模塊選取相應(yīng)采樣頻率的時(shí)鐘信號(hào)作為clk輸出給ADCMgnt模塊。異步工作模式下,Syncout_clk輸出跟clk的頻率一樣,方便測(cè)試。關(guān)于主機(jī)、從機(jī)、同步、異步及采樣頻率選擇與ADS1278:作時(shí)鐘clk的關(guān)系如下表所?。簃odeSyncin_validdatarate_chooseSyncout_clkclk1主設(shè)備1同步模式00033.5

25、54432MHz33.554432MHz128KSPS00116.777216MHz16.777216MHz64KSPS0108.388608MHz8.388608MHz32KSPS011:4.194304MHz4.194304MHzP16KSPS1002.097152MHz2.097152MHz8KSPS1011.048576MHz1.048576MHz4KSPS110524288Hz524288Hz2KSPS111262144Hz262144Hz1KSPS1主設(shè)備000033.554432MHz33.554432MHz128KSPS001:16.777216MHz16.777216MHz:

26、64KSPS0108.388608MHz8.388608MHz32KSPS0114.194304MHz4.194304MHz16KSPS1002.097152MHz2.097152MHz8KSPS1011.048576MHz1.048576MHz4KSPS110524288Hz524288Hz2KSPS111262144Hz262144HzMKSPS0從設(shè)備1同步模式Syncin_clk0從設(shè)備000033.554432MHz33.554432MHzM28KSPS00116.777216MHz16.777216MHz64KSPS0108.388608MHz8.388608MHz32KSPS01

27、14.194304MHz4.194304MHzM6KSPS1002.097152MHz2.097152MHz8KSPS1011.048576MHz1.048576MHz4KSPS110524288Hz524288Hz2KSPS111262144Hz262144Hz1KSPS默認(rèn)ADS1278:作模式為High-Speed,采樣速度為2KSPS數(shù)字觸發(fā)采集關(guān)于數(shù)字觸發(fā)采集和模式觸發(fā)采集:當(dāng)模擬觸發(fā)輸入信號(hào)(Atrig_in)為高電平時(shí),采樣觸發(fā)類(lèi)型為模擬觸發(fā)采集,Atrig_in為低電平時(shí),采樣襁發(fā)采集為數(shù)字觸發(fā)采集。數(shù)字扁發(fā)采集時(shí),其輸出觸發(fā)信號(hào)Dtrig_out為Dtrig_in。如果是數(shù)字

28、觸發(fā)采集,,如果是模擬觸發(fā)采集,,(待研究BufferManagement緩存管理主要工作內(nèi)容:首先BufferManagement需要完成的工作過(guò)程有以下幾點(diǎn):1將ADCMgn取過(guò)來(lái)的的數(shù)據(jù),按照協(xié)議格式進(jìn)行打包;2需要提供一個(gè)“輸入數(shù)據(jù)流選擇單元”和“輸出數(shù)據(jù)流選擇單元”,用來(lái)構(gòu)建乒乓結(jié)構(gòu)緩存;3要考慮SPI的傳輸速度是否能夠滿足乒乓緩存的操作速度;4要確定寫(xiě)ping和pong的正確順序;緩存地址分配:512K*16bits,PingChip,1MByte2048Page,512BytesperPage(256WordsperPage)存儲(chǔ)方式:1 .每存滿一個(gè)包的數(shù)據(jù)(Chxdcnt=1

29、26)就進(jìn)行一次乒乓操作,同時(shí)并通過(guò)buffull告訴SPIManagement取數(shù)據(jù)。2 .對(duì)于2K的采樣速率,1秒鐘需要2048個(gè)點(diǎn),一個(gè)包能夠存儲(chǔ)126個(gè)點(diǎn),需要2048/126=至少17個(gè)包。取第一種存儲(chǔ)方式。一定要保證處理ping或pong中的數(shù)據(jù)時(shí)間要小于存滿ping或pong中數(shù)據(jù)的I由于外部SRAM:寬為16BIT,所以內(nèi)部ADC_d勺數(shù)據(jù)寬度也設(shè)置為了16BIT,注意SPI的位寬是8位,外置SRAMT高低字節(jié)寫(xiě)使能功能,可以滿足系統(tǒng)要求。每個(gè)地址為1個(gè)16位字,2個(gè)字節(jié),分為高,低字節(jié),存儲(chǔ)時(shí)按照數(shù)據(jù)包的偶數(shù)字節(jié)放在RAMfe址空間的高字節(jié)位,奇數(shù)字節(jié)放在RAMfc址空間的低

30、字節(jié)位,并且按照從數(shù)據(jù)包的包頭到包尾的順序排放,如表3-1所示。AddressHighLow0x00000Byte0Byte10x00001Byte2Byte30x00002Byte4Byte50x00003Byte6Byte7.表3-1Ping,pong分配第一種方案:給每個(gè)通道開(kāi)辟一個(gè)256個(gè)包大小的空間,空間地址分布如下:CH10x000000X000FF:0x001000X001FF.0X0FF0010X0FFFF表3-2CH10x000000X0FFFFCH20x100000X1FFFFCH30x200000X2FFFFCH40x300000X3FFFFCH50x400000X4FF

31、FFCH60x500000X5FFFFCH70x600000X6FFFFCH80x700000X7FFFF表3-3對(duì)于ping:第N1道第Mt包的起始地址0x00000+0x10000*(N-1)+0x00100*(M-1)對(duì)于pong:第Nffi道第Mt包的起始地址0x80000+0x10000*(N-1)+0x00100*(M-1)Ping,pong分配第二種方案:(實(shí)際選擇的方案)由于第一種方案浪費(fèi)大量的RA郵間,故第二種方案只考慮存儲(chǔ)8個(gè)通道,每個(gè)通道一個(gè)包的容量:512*8=4096Byte=2048Word;對(duì)于ping:CH10x000000X000FFCH20x001000x0

32、01FFCH30x002000x002FFCH40x003000x003FFCH50x004000x004FFCH60x005000x005FFCH70x006000x006FFCH80x007000x007FF第N1道數(shù)據(jù)的起始地址0x00004+0x00100*(N-1)對(duì)于ping:第Nffi道包的起始地址0x00000+0x00100*(N-1)第N1道數(shù)據(jù)第Chxdcnt條數(shù)據(jù)的高16位地址0x00004+0x00100*(N-1)+(Chxdcnt-1)*2第Nffi道數(shù)據(jù)的起始地址0x00004+0x00100*(N-1)第N1道數(shù)據(jù)第Chxdcnt條數(shù)據(jù)的低16位地址0x000

33、04+0x00100*(N-1)+(Chxdcnt-1)*2+1注意:以上地址表對(duì)應(yīng)的是內(nèi)部ADCS作SRAM1地址總線表,對(duì)于SPI操作SRA的地址總線,由于SPI操作SRA悔次是一個(gè)字節(jié),故其實(shí)地址最高位需要向左移一位,最低位用來(lái)判斷讀取SRA唯一個(gè)地址的高字節(jié)位或低字節(jié)位。SPI主機(jī)發(fā)送的是20位經(jīng)過(guò)左移一位后的地址。故實(shí)際地址表應(yīng)該為如下表所示:CH10x000000X001FFCH20x002000X003FFCH30x004000x005FFCH40x006000x007FFCH50x008000x009FFCH60x00A000x00BFFCH70x00C000x00DFFCH8

34、0x00E000x00FFF對(duì)于pong:同上。從ADGManagemeri!取過(guò)來(lái)的數(shù)據(jù),根據(jù)有效通道位,將有效通道的數(shù)據(jù)存在相應(yīng)的位置。包號(hào)(PackageNum的計(jì)算:Ping或Pong每操作一次,包號(hào)寄存器累加一,即一個(gè)存儲(chǔ)空間存滿以后,包號(hào)加一。(需要一個(gè)16位寄存器來(lái)存儲(chǔ)包號(hào))有效數(shù)據(jù)長(zhǎng)度(DataLenth):根據(jù)Chxdcnt的值來(lái)確定有效數(shù)據(jù)長(zhǎng)度DataLenth=Chxdcnt;設(shè)備序列號(hào)(DevicelD):讀取寄存器獲??;ByteNO.意義說(shuō)明0ChannelNum通道號(hào)1DataLenth有效數(shù)據(jù)長(zhǎng)度2PackageNum包號(hào)(是否丟包)34DevicelD設(shè)備序列號(hào)

35、56Reserved保留(1聯(lián)認(rèn)值0x00)7Reserved保留(1聯(lián)認(rèn)值0x00)8Data09101112Data1131415ModeWECEOEI/OPINLB1/00-171/O0-1/O15VddCurrentNotSalactedXHXXXHigh-ZHigAZi$bi,OutputDisabledHLHXXHigh-ZHigh-ZlocXLXHHHigh-ZHigh-ZReadHLLLHDourHicih-ZGGHLLHLHigh-ZDoutHLLLLDoutDoutWriteLLLHDinHigh-ZIceLLHLHigh-ZDinLLLLDinDinSymbolParam

36、eterTestCanditionsMin.Max,UnitVOHOutputHIGHVollageVdd=Mm.Ion=-4.0mA2.4一VVOLOuIputLOWVoltageVdd-Min.Iol=8.0mA一0.4VVlHInputHIGHVoltage22Vdd+cl3VVilInputLOWVoltage,:1f30.8VluInputLeakageGND£VinVddCom-11PAInd.-55Auio.-10-10IlcOulputleakageGND<VguT<Vd&Com.-11UAOutiputsDisabledInd.-55Aula.-

37、1010READCYCLENO.(AddressControlled)(CE=莊=VilhUborLB=Vil)ADDRESSDourVHD瞄述:1根據(jù)CHxd啟效判斷數(shù)據(jù)是否來(lái)臨,根據(jù)Chxdcnt判斷采樣點(diǎn)數(shù)是否滿包;2定義一個(gè)包號(hào)統(tǒng)計(jì)寄存器,位寬16Bit,從1開(kāi)始,計(jì)到65535,計(jì)滿后自動(dòng)消3停止采集的判斷:根據(jù)CHxcn球判斷,當(dāng)CHxcnt="11111111”時(shí),停止采集,這時(shí)進(jìn)行包處理;4根據(jù)Chxdcnt來(lái)判斷ping或pong是否存滿,當(dāng)Chxdcnt=126時(shí),通過(guò)bufull通知Spi_slave_Mgnt,Ping或Pong已經(jīng)存滿,并且Package_N

38、oE力口1。5輸入數(shù)據(jù)流選擇單元的判斷依據(jù):根據(jù)PackageNumU斷,當(dāng)PackageNum=奇數(shù)時(shí),選擇ping,當(dāng)PackageNumh禺?dāng)?shù)時(shí)選擇pongSPI操作PongU試方式:(2010-11-23)1單字節(jié)讀寫(xiě)操作2同一地址的高低兩字節(jié)的讀寫(xiě)操作3不同地址的高或低字節(jié)的讀寫(xiě)操作乒乓操作應(yīng)用于數(shù)據(jù)流控制“乒乓操作”是一個(gè)常用的數(shù)據(jù)流控制處理技巧。典型的乒乓操作結(jié)構(gòu)如上圖所示。乒乓操作的處理主要是把輸入數(shù)據(jù)流通過(guò)”輸入數(shù)據(jù)選擇單元”等時(shí)地分配到數(shù)據(jù)緩沖區(qū)SRAM和SRAh2中。即在第一場(chǎng)時(shí)間將輸入的數(shù)據(jù)流緩存到SRAM1;在第二場(chǎng)時(shí)間內(nèi)通過(guò)"輸入數(shù)據(jù)選擇單元”進(jìn)行切換,并

39、將輸入的數(shù)據(jù)流緩存到SRAM2與此同時(shí),還要將SRAM的數(shù)據(jù)通過(guò)"輸出數(shù)據(jù)選擇單元"的選擇,送到"數(shù)據(jù)流運(yùn)算處理模塊”進(jìn)行運(yùn)算處理。之后,冉在第三個(gè)緩沖周期通過(guò)”輸入數(shù)據(jù)選擇單元"的再次切換,將輸入的數(shù)據(jù)流緩存到SRAM,與此同時(shí),再一次將SRAh2的數(shù)據(jù)通過(guò)"輸出數(shù)據(jù)選擇單元"的切換,送到"數(shù)據(jù)流運(yùn)算處理模塊"進(jìn)行運(yùn)算處理。如此循環(huán),周而復(fù)始。乒乓操作的最大特點(diǎn)是通過(guò)"輸入數(shù)據(jù)選擇單元"和"輸出數(shù)據(jù)選擇單元”,按節(jié)拍、相互配合地切換,來(lái)將經(jīng)過(guò)緩沖的數(shù)據(jù)流不停地送到"圖像數(shù)據(jù)

40、處理模塊"進(jìn)行運(yùn)算及處理。如把乒乓操作模塊當(dāng)作一個(gè)整體,此模塊兩端的輸入數(shù)據(jù)流與輸出數(shù)據(jù)流均是連續(xù)不斷的,沒(méi)有任何停頓,因此,非常適合進(jìn)行流水線式處理,以完成數(shù)據(jù)的無(wú)縫緩沖處理ADDRDYnADDOUTADCLKADSCLKADSYNCn數(shù)據(jù)切換單元:SPI_Slave_Mgnt與Buf_Mgnt之間的地址總線:Sram_a0作為讀取乒乓緩存中數(shù)據(jù)高低8位的判斷,當(dāng)Sram_a0=0時(shí),讀寫(xiě)高8位數(shù)據(jù),Sram_a0=1,讀寫(xiě)低8位數(shù)據(jù);Sram_a19:11(接接入緩存地址總線;對(duì)于SPI操作SRAM1地址總線,由于SPI操作SRAM1次是一個(gè)字節(jié),故地址需要向左移一位,最低位用來(lái)

41、判斷讀取SRA腺一個(gè)地址的高字節(jié)位或低字節(jié)位。ADCManagement為ads1278s供采樣時(shí)鐘以及SPI時(shí)鐘信號(hào),同步采樣信號(hào),并將ads1278采到的數(shù)據(jù)擴(kuò)展到32位(高位補(bǔ)零),然后交給BufferManagement處理。Bufwclk:為BufferManagement提供時(shí)鐘。Chxdv7:0:告訴BufferManagement哪個(gè)通道數(shù)據(jù)有效。Chxdcnt:統(tǒng)計(jì)數(shù)據(jù)個(gè)數(shù),三.ADS1278工作模式選擇:ADS1278T四種工作模式:暫時(shí)選擇高分辨率模式(默認(rèn));高分辨率模式最高采樣速率52Kbps,MODE1:0=01,工作在最高采樣速率下FPGA!要提供給ADS127的

42、時(shí)鐘最高為27MHz需要STM32lCLKDIg為1。高分辨率模式下每次數(shù)據(jù)轉(zhuǎn)換需要512個(gè)fclk周期,所以設(shè)置2048Hz勺數(shù)據(jù)更新速率,需要fclk=512*2048=1048.576KHz的時(shí)鐘輸入。Table2,ModulatorFrequencyfortheDifferentModeandFormatSettingsMODEINTERFACEFORMATfMODHigh-SpeedSPIorFrame-SyncfcLK/4High-ResolutionSPI匕1_心Frame-Sync匕LK,4orfcLK2Low-PowerSPIfCLK/8Frams-SyncfCLK,8orf

43、cLK/4Table3.ClockRatiosforSPIFormatMODESELECTIONTVPlCALfcLrt(IVIHZ)-CORRESPOMDINGDATARATE<SPSHighi-SpMd翻27t105朗自High-Resolulion51227t52,734Low-Power51227-52,734PWDNx至少保持兩個(gè)CLK3期低電平,才能夠讓該通道進(jìn)入掉電模式,由STM3始制;S-DAQ-CM32-FPGA 乙檔四.數(shù)據(jù)傳輸接口選擇:SPI方式:數(shù)據(jù)輸出方式:FORMAT2:0=001;DRD為輸出;在SPI方式,該引腳輸出低電平表示數(shù)據(jù)已經(jīng)準(zhǔn)備好被取出,而且重新

44、回到高電平在隨后的一個(gè)fsclk周期的下降沿。如果數(shù)據(jù)沒(méi)有被取出(當(dāng)fsclk一直保持低電平的時(shí)候),DRDY在下一個(gè)新數(shù)據(jù)轉(zhuǎn)換完成后重新回到低電平,所以數(shù)據(jù)必須在這段時(shí)間內(nèi)取出,否則當(dāng)前未取出的數(shù)據(jù)會(huì)被下一個(gè)數(shù)據(jù)覆蓋。為了獲得最佳的性能:Fsclk/Fclk=1,1/2,1/4,1/8;實(shí)際先選取1。注意:這里有個(gè)矛盾,在文檔的第30頁(yè),關(guān)于SPI的DRD的信號(hào)說(shuō)明中“ItgoeslowwhendataarereadyforretrievalandthenreturnshighonthefallingedgeofthefirstsubsequentSCLK.”這句話說(shuō)明是在DRD變低后,在第

45、一個(gè)sclk時(shí)鐘周期的下降沿,DRDY回高電平。但是在文檔的第8頁(yè)關(guān)于SPI時(shí)序的說(shuō)明中,tDS的時(shí)間最短是1個(gè)sclk周期,意思就是當(dāng)sclk:clk=1:1時(shí),DRDY要在第二個(gè)sclk的下降沿才能變成高電平。第30頁(yè)的這句話“NotethatonefCLKisrequiredafterthefallingedgeofDRDYuntilthefirstrisingedgeofSCLK.”說(shuō)明DRDYI在第二個(gè)sclk的下降沿才能變成高電平,這時(shí)讀取的MSB應(yīng)該在第二個(gè)sclk的上升沿。經(jīng)過(guò)測(cè)試確實(shí)DRDY在第二個(gè)sclk的下降沿才能變成高電平。結(jié)論:當(dāng)sclk:clk=1:1時(shí),DRDY在

46、第二個(gè)sclk的下降沿才能變成高電平,而且第二個(gè)sclk±升沿開(kāi)始讀第一個(gè)有效位(bit23)。S-DAQ-CM32-FPGM 文檔SCiLKD0UT1DS1274:ID0UT1:ADS127&:|DRDY 斜P(pán)I)FSYNC IFrame-Sync)Figure 78. TDM Mode, Fixed'Position Data (Channels 1 and 3 Shown Powered Down)數(shù)據(jù)固定位置輸出方式Table13,DataOutputFormatFORMAT®。INTERFACEPROTOCOLDOUTMODEDATAPOSITIO

47、N000SPITDMDynamic001SRITDMFixed010SPIDiscrete011Frame-SyncTDMDynamic100Frame-SyncTDMFixed101Frame-SyncDiscrete=110ModulatorMode=時(shí)間特性:SPI的格式CLKDRDYSCLK口 OUTDIN-HMM M tcpwJMWw W J-SYMBOLPARAMETERMINTYPMAXUNITtcLKCLKperiod(1/fcuK)(113710tOT0nskmCLKposiiivaornegativepulsewidth15nskoNVCoriiversiDnperiod(

48、1年前禹嚴(yán)25625CO上LKFallingedgeofCLKtofallingedgeofDF1OY22msRllrngedgeolDRDYIo口5ngedgeofFirslSCLKtoreprievedata1ku(如SBPD口RDY(ailinge睡toDCKJTMSBvalid(propagationdelay)16nst泄FBlIingedgeofSCLKtorisingedgeofDRDY18msKclk"1SCLKpenod11CLKSCLKpositiveornegativepulsewidth0.4IfcLK小響SCLK佰li嗎edgelonewDOUTinvali

49、d(howtirne)10nsSCLK/lli間edgelonewDOUTMid(pro附第hendelay)32nsk)*31NewDINvalidtofallingedgeofSCLK(setup(jme)6附tDWOldDINvalidtofailingMg電ofSCLK(hwKltime6ns在SCLK勺上升沿ads1278等Bitx讀取五.同步ads1278可以通過(guò)將SYNCT腳拉低然后再置高來(lái)同步各通道。當(dāng)該管腳被置低,轉(zhuǎn)換過(guò)程將會(huì)停止,內(nèi)部數(shù)字濾波器的計(jì)數(shù)器將被重啟,當(dāng)該引腳被重新置高,轉(zhuǎn)換過(guò)程將重啟。fCLK一kcsur.sySc心M11DADYFigure73.SynchronizationTinning(SPIProtocol)Table10.SPIProtocolSYMBOLDESCRIPTIONMINTYPMAXUNITStcswCLKtoSYNCholdlim10rt號(hào)tscsuSYNClaCLK&sluptime5nstsYNSynclnrwiizrpulsawidlhICLKperiodsTimefarnowdatainbaready129CDnv&nsians(l/foTA)六.FPG卷制流程1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論