AD9249的SPI控制模塊包含4根信號(hào)線,即CSB1、CSB2、SDIO以及SCLK。但CSB1、CSB2可以一起由CSB來(lái)控制,實(shí)際上就是3線SPI。由于3線SPI數(shù)據(jù)的讀、寫(xiě)操作在同一根信號(hào)線SDIO上實(shí)現(xiàn),因此其配置方式與4線的配置稍微有些不一樣。下面我們將詳細(xì)介紹讀寫(xiě)操作:
CSB:SPI控制讀寫(xiě)使能信號(hào);
SDIO:SPI的數(shù)據(jù)、地址讀寫(xiě)端口;
如下圖1所示為該ADC的SPI讀、寫(xiě)配置時(shí)序圖。其中CSB和SCLK的操作和上篇介紹的4線SPI配置相同,圖上的時(shí)序參數(shù)在其datasheet上也有明確的說(shuō)明,這里就不介紹了。
3線SPI與4線SPI配置的主要不同之處在傳輸?shù)臄?shù)據(jù)格式以及I/O轉(zhuǎn)換上。其讀寫(xiě)數(shù)據(jù)格式由控制命令+地址+數(shù)據(jù)組成,而上篇提到的4線配置只有地址+數(shù)據(jù)。
圖1:SPI讀、寫(xiě)時(shí)序圖
其中R/~W為高電平時(shí),表示讀操作,低電平表示寫(xiě)操作。W1,W0表示要讀寫(xiě)的數(shù)據(jù)字節(jié)數(shù),一般都設(shè)為0,代表每次讀寫(xiě)一個(gè)寄存器地址的數(shù)據(jù)。A12~A0表示13bit的寄存器地址。D7~D0表示要讀寫(xiě)的8bit寄存器數(shù)據(jù)。
因此我們?cè)赟PI寫(xiě)操作時(shí),只需寫(xiě)入1bit 1+ 2bit 0 +13bit地址+ 8bit數(shù)據(jù)即可。其配置的方法和上篇的4線SPI寫(xiě)操作相同。但當(dāng)我們?cè)趫?zhí)行SPI讀操作時(shí),就需要注意了:
首先需寫(xiě)入1bit 0+ 2bit 0 +13bit地址,當(dāng)最后1bit的地址A0在SCLK的上升沿寫(xiě)入SDIO后,SDIO會(huì)由輸入口變?yōu)檩敵隹冢缓笤诮酉聛?lái)的8個(gè)SCLK下降沿,SDIO會(huì)輸出寄存器的8bit數(shù)據(jù)。因此,在ADC的SDIO由輸入變?yōu)檩敵隹跁r(shí),F(xiàn)PGA端的SDIO必須同步由輸出口變?yōu)檩斎肟?,并在SCLK上升沿接收這8bit數(shù)據(jù)最穩(wěn)定,F(xiàn)PGA端口的這種I/O轉(zhuǎn)換可以通過(guò)其內(nèi)置的三態(tài)門(mén)來(lái)實(shí)現(xiàn)。
如圖2所示為SDIO由輸入口變?yōu)檩敵隹诘臅r(shí)序控制圖,tEN_SDIO為轉(zhuǎn)換時(shí)間,其最小時(shí)間為10ns,參考零點(diǎn)為SCLK下降沿。
圖2:SDIO輸入轉(zhuǎn)換為輸出的時(shí)序圖
如圖3所示為SDIO由輸出口變?yōu)檩斎肟诘臅r(shí)序控制圖,tDIS_SDIO為轉(zhuǎn)換時(shí)間,其最小時(shí)間也為10ns,參考零點(diǎn)為SCLK上升沿。
圖3:SDIO輸出轉(zhuǎn)換為輸入的時(shí)序圖
3線SPI的讀寫(xiě)時(shí)序分析就介紹到這里了,同樣強(qiáng)調(diào)幾個(gè)關(guān)鍵點(diǎn):
關(guān)鍵點(diǎn)1:CSB在讀寫(xiě)操作時(shí),必須拉低。讀寫(xiě)完成之后,必須拉高。
關(guān)鍵點(diǎn)2:SDIO作為輸入口時(shí),數(shù)據(jù)每次必須在SCLK的上升沿寫(xiě)入SPI。
關(guān)鍵點(diǎn)3:SDIO作為輸出口時(shí),寄存器數(shù)據(jù)每次在SCLK的下降沿輸出SPI,F(xiàn)PGA端在SCLK的上升沿處捕獲數(shù)據(jù)最穩(wěn)定。
關(guān)鍵點(diǎn)4:一定要滿足datasheet給出的SPI的時(shí)序參數(shù),并在代碼實(shí)現(xiàn)時(shí)要留有適當(dāng)?shù)臅r(shí)序裕量。
關(guān)鍵點(diǎn)5:注意FPGA端的SDIO口的三態(tài)控制邏輯,以便正確讀寫(xiě)ADC寄存器。
本篇以Analog Device(ADI)的多通道高速ADC芯片AD9249為例,簡(jiǎn)要介紹了ADC的3線SPI配置時(shí)序,希望我們能一起學(xué)習(xí)、一起進(jìn)步!下篇將具體介紹如何用verilog實(shí)現(xiàn)FPGA通過(guò)SPI對(duì)ADC進(jìn)行配置。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1625文章
21625瀏覽量
601245 -
寄存器
+關(guān)注
關(guān)注
31文章
5295瀏覽量
119824 -
時(shí)序分析
+關(guān)注
關(guān)注
2文章
127瀏覽量
22542 -
SDIO
+關(guān)注
關(guān)注
2文章
72瀏覽量
19283
原文標(biāo)題:FPGA通過(guò)SPI對(duì)ADC配置簡(jiǎn)介(三)---3線SPI配置時(shí)序分析
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論