專利名稱:使用串行外設(shè)接口進(jìn)行多通道數(shù)據(jù)傳輸?shù)臄?shù)據(jù)結(jié)構(gòu)及電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及需要使用與微處理器或數(shù)字信號(hào)處理器(DSP)相交互 的多通道信號(hào)處理硬件的數(shù)字信號(hào)處理應(yīng)用。本發(fā)明提供的串行外設(shè) 接口協(xié)議和控制過(guò)程能最小化處理器開(kāi)銷,同時(shí)傳輸高數(shù)據(jù)速率采樣 以做進(jìn)一步的處理。
背景技術(shù):
串行外設(shè)接口(SPI)是一種可供選擇的消息傳送方式,能在處理器 和從屬硬件裝置之間進(jìn)行高效通信,其中在裝置之間傳輸數(shù)據(jù)"流"。 SPI是由摩托羅拉(Motorola)公司(現(xiàn)在的飛思卡爾(Freescale)半導(dǎo)體 公司)建立的串行接口標(biāo)準(zhǔn),其由多家生產(chǎn)商在硅產(chǎn)品中支持。其吸 引力在于需要最小的I/O管腳數(shù),并使不同的裝置能夠在此信令協(xié)議 之上實(shí)現(xiàn)構(gòu)造軟件通信協(xié)議。圖1示出了基本的現(xiàn)有技術(shù)的SPI信令 協(xié)議。碼片選擇信號(hào)(,CS)用于對(duì)特定的從設(shè)備進(jìn)行尋址,主數(shù)據(jù)輸 出信號(hào)(SDI)是在每一個(gè)串行時(shí)鐘從主設(shè)備向從設(shè)備傳輸?shù)拇袛?shù) 據(jù),而主數(shù)據(jù)輸入信號(hào)(SDO)是自從設(shè)備向主設(shè)備傳輸?shù)拇袛?shù)據(jù), 串行時(shí)鐘(SCLK)提供用于傳輸?shù)臅r(shí)鐘。傳輸?shù)臄?shù)據(jù)中的每一位或位 字段的含義由應(yīng)用定義,其可以是預(yù)定順序的命令、狀態(tài)、地址或數(shù) 據(jù)。在信號(hào)處理領(lǐng)域中,主設(shè)備通常是數(shù)字信號(hào)處理器(DSP)、微處 理器、微控制器,而從設(shè)備通常是單通道或多通道的模數(shù)轉(zhuǎn)換器(ADC) 或具有機(jī)載濾波器的ADC。單通道或低數(shù)據(jù)速率多通道裝置的常用 操作模式是同步控制。DSP選擇裝置、發(fā)送命令并為從設(shè)備提供時(shí)鐘 以執(zhí)行命令并將結(jié)果數(shù)據(jù)和狀態(tài)發(fā)送回處理器。對(duì)于異步多通道裝 置,允許裝置自動(dòng)操作并隨后請(qǐng)求經(jīng)由中斷將輸出數(shù)據(jù)傳輸給處理器是一種更高效地使用處理性能的方式。但是如果存在大量的具有高速 率數(shù)據(jù)傳輸?shù)淖詣?dòng)裝置通道,則與終端處理相關(guān)的高開(kāi)銷是昂貴的。 因此,能夠最大化傳輸?shù)臄?shù)據(jù)并最小化中斷的異步控制協(xié)議是優(yōu)選 的。為方便起見(jiàn),還往往向接口添加附加信號(hào)。圖1示出了處理器和多個(gè)ADC通道之間的常用現(xiàn)有技術(shù)接口 。處理器通過(guò)發(fā)送信號(hào)(可以 經(jīng)由SDI管腳使用由,CSn信號(hào)選擇的適當(dāng)通道發(fā)送啟用位)而開(kāi)始 多通道數(shù)據(jù)轉(zhuǎn)換。當(dāng)轉(zhuǎn)換完成時(shí),ADC確認(rèn)數(shù)據(jù)己就緒(RDY),并且, 使用中斷或輪詢程序,處理器識(shí)別數(shù)據(jù)已就緒并控制SPI總線來(lái)傳輸 采樣中的適當(dāng)數(shù)量的位。如果每一個(gè)ADC通道運(yùn)行于不同的采樣速 率,則處理器必須獨(dú)立控制每一個(gè)通道,并承受輪詢或中斷處理所增 加的開(kāi)銷。處理器還必須獨(dú)立處理每一個(gè)數(shù)據(jù)采樣。發(fā)明內(nèi)容本文披露了一種串行接口控制器,用于在具有至少一個(gè)通道的數(shù) 據(jù)源和處理器之間傳輸數(shù)據(jù)。所述串行接口控制器具有多個(gè)控制寄存 器;所述控制寄存器包括用于配置所述串行接口控制器進(jìn)行數(shù)據(jù)傳輸 的數(shù)據(jù)結(jié)構(gòu)。所述數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包括用于選擇性地將所述串行接 口控制器設(shè)置在其運(yùn)行模式或其配置模式下的字段;用于存儲(chǔ)所述串 行接口控制器的1/0模式的字段;用于存儲(chǔ)活動(dòng)數(shù)據(jù)通道的地址的字 段;用于存儲(chǔ)系統(tǒng)時(shí)鐘速率的字段。在優(yōu)選實(shí)施例中,控制寄存器包 括下列字段裝置標(biāo)識(shí)、運(yùn)行或配置模式的標(biāo)記、I/O模式控制、活 動(dòng)通道值(多通道實(shí)現(xiàn)中)、數(shù)據(jù)源時(shí)鐘速率、ADC時(shí)鐘速率、通道狀 態(tài)標(biāo)記、CIC抽取速率、FIR濾波器抽頭的數(shù)量、以及在特定數(shù)據(jù)源 中與FIR抽頭的數(shù)量相對(duì)應(yīng)的濾波器系數(shù)。本文還披露了 一種包括串行接口控制器的集成電路,所述串行接 口控制器用于在數(shù)據(jù)源和處理器之間傳輸數(shù)據(jù)。所述集成電路中的串 行接口控制器具有多個(gè)控制寄存器。所述控制寄存器具有用于配置所 述串行接口控制器進(jìn)行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)結(jié)構(gòu)。所述數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包 括用于選擇性地將所述串行接口控制器設(shè)置在其運(yùn)行模式或其配置模式中的字段;用于存儲(chǔ)所述串行接口控制器的I/0模式的字段;用 于存儲(chǔ)活動(dòng)數(shù)據(jù)通道的地址的字段;以及用于存儲(chǔ)系統(tǒng)時(shí)鐘速率的字 段。
圖1概括地示出了現(xiàn)有技術(shù)的串行外設(shè)接口(SPI)信令協(xié)議;圖2的框圖示出了優(yōu)選實(shí)施例;圖3定義了優(yōu)選實(shí)施例的數(shù)據(jù)和尋址格式;圖4示出了優(yōu)選實(shí)施例的配置模式數(shù)據(jù)傳輸?shù)臅r(shí)序;圖5示出了優(yōu)選實(shí)施例中運(yùn)行模式傳輸?shù)臅r(shí)序。
具體實(shí)施方式
圖2的框圖示出了獨(dú)立于系統(tǒng)處理器而執(zhí)行的多通道信號(hào)處理 功能模塊(100),以及根據(jù)處理器提供的串行時(shí)鐘而工作的串行接口 控制器(200)。圖2中所示的信號(hào)處理功能?!姥?100)是ADC和濾波功 能部件,但顯而易見(jiàn)的是,本文所披露的系統(tǒng)和方法還可以方便地采 用需要將高速率、多通道的數(shù)據(jù)傳輸給接收處理器的任何應(yīng)用。因此 數(shù)據(jù)源(100)不一定是數(shù)字濾波器系統(tǒng)。串行接口通過(guò)由許多處理器使用的標(biāo)準(zhǔn)串行外設(shè)接口(SPI) I/O 信號(hào)來(lái)與處理器(未示出)進(jìn)行通信以與外設(shè)裝置進(jìn)行通信,其中每一 個(gè)裝置可以是單獨(dú)的集成電路或集成電路的集合以執(zhí)行期望的處理 功能。例如,處理器可以是TITMS 5500系列DSP,其具有SPI端口 和其自己的存儲(chǔ)器空間,并執(zhí)行存儲(chǔ)的程序。圖2示出了與此通信相 關(guān)的如下信號(hào)線-SDO串行數(shù)據(jù)輸出(300),CS碼片選擇(活動(dòng)為低)(310)RDY已就緒(320)SCLK串行時(shí)鐘(330)SDI串行數(shù)據(jù)輸入(340)示例性濾波器組(100)可以具有1個(gè)至n個(gè)處理通道(110)和針對(duì)每一個(gè)通道的輸出緩沖器(120),其中每一個(gè)通道均包括將傳輸給處 理器的數(shù)據(jù)。由于大多數(shù)處理器SPI控制器操作在字節(jié)級(jí)別,因此緩 沖器(120)優(yōu)選是面向字節(jié)的,包含l到m字節(jié)的信息。該裝置用于 從處理器到裝置控制寄存器(220)進(jìn)行串行傳輸。這些寄存器(220)激 活并控制裝置操作的所有方面。在如圖所示的數(shù)據(jù)轉(zhuǎn)換和濾波應(yīng)用 中,寄存器包括設(shè)置ADC轉(zhuǎn)換速率的所有參數(shù)、定義濾波功能并因 此設(shè)置速率,從而使輸出緩沖器中的結(jié)果或采樣更新。在所示的實(shí)施 例中,這些寄存器如以下的表l所示-地址_數(shù)據(jù)〖8位)_0 裝置ID(只讀)1 運(yùn)行模式2 I/O模式控制3 通道活動(dòng)位4 系統(tǒng)時(shí)鐘速率(針對(duì)數(shù)據(jù)源操作而言)5 ADC時(shí)鐘速率6 通道狀態(tài)位7 CIC抽取的MSB8 CIC抽取的LSB9 抽頭數(shù)量的MSB10 抽頭數(shù)量的LSB11 通道0濾波器系數(shù)0的MSB12 通道0濾波器系數(shù)0的NSB13 通道0濾波器系數(shù)0的LSB14 通道0濾波器系數(shù)1的MSB15 通道0濾波器系數(shù)1的NSB16 通道0濾波器系數(shù)1的LSB776 通道0濾波器系數(shù)255的MSB777 通道0濾波器系數(shù)255的NSB778 通道0濾波器系數(shù)255的LSB779-1552 通道1的控制和系數(shù)(上述的重復(fù))1553-2326 通道2的控制和系數(shù)(上述的重復(fù))2327-3100 通道3的控制和系數(shù)(上述的重復(fù))3101-3874 通道4的控制和系數(shù)(上述的重復(fù))3875-4648 通道5的控制和系數(shù)(上述的重復(fù))4647-5422 通道6的控制和系數(shù)(上述的重復(fù))5423-6196 通道7的控制和系數(shù)(上述的重復(fù))表l在表1中,"CIC"表示級(jí)聯(lián)積分梳狀濾波器,"MSB"表示最高 有效位,"NSB"表示次高有效位,而"LSB"表示最低有效位。在 提供了 2"個(gè)寄存器的優(yōu)選實(shí)施例中,存在比表1中所示的7個(gè)控制 通道多得多的控制通道,以用于具有多通道的數(shù)據(jù)源。地址0到4是全局裝置控制位。地址0是只讀的,其包含裝置ID 號(hào)。地址1包含將裝置設(shè)置為運(yùn)行模式的單一位。如果該位是off, 則裝置處于配置模式中。地址2在每個(gè)如下的定義中控制I/O模式位字段名_£A0-2快速通道 最快活動(dòng)通道ID3 未使用4 每一通道的RDY設(shè)置每一通道為RDY;否則設(shè)置最快通道5 單通道 如果置位則單通道輸出;否則多通道輸出6 自動(dòng)遞增 如果置位則為自動(dòng)遞增模式7 未使用控制寄存器(220)中的地址4處的系統(tǒng)時(shí)鐘速率值是數(shù)據(jù)源(IOO) 的時(shí)鐘速率。其可與處理器時(shí)鐘信號(hào)SCLK(330)異步??刂萍拇嫫?220)中的地址6處的通道狀態(tài)位由數(shù)據(jù)源(100)的特 征確定。在所示的實(shí)施例中,通道狀態(tài)位可以是每一個(gè)通道的輸出緩沖器(120)的溢出或下溢位。其余地址中的數(shù)據(jù)無(wú)需加以解釋。需要注意的是,這些控制位如 所定義的那樣支持具有8個(gè)通道的裝置,其中每一個(gè)通道具有ADC、 最大抽取值為65536(216)的CIC濾波器以及最大抽頭數(shù)為512(256個(gè) 系數(shù)或抽頭重量)的FIR濾波器。串行接口控制器(200)的電路包含輸出位移寄存器(210)、并行傳 輸?shù)郊拇嫫鞫枰x擇的復(fù)用器、任何裝置通道的輸出緩沖器(120) 或任何字節(jié)的裝置控制寄存器(220)。在所示的實(shí)施例中,輸出寄存 器為24位寬以容許多通道數(shù)據(jù)傳輸,如圖3C所示。圖2中的復(fù)用 器A(235)選擇裝置通道輸出緩沖器,復(fù)用器B(260)選擇用輸入位移 寄存器(250)的地址字段(如下所述)來(lái)尋址的裝置控制寄存器(220),而 復(fù)用器C(270)則選擇被尋址的裝置控制寄存器(220)或所選擇的裝置 通道輸出緩沖器(120)。地址解碼和控制功能(230)對(duì)輸入位移寄存器 (250)中的地址進(jìn)行解碼,并基于該寄存器中的當(dāng)前配置或讀取/寫(xiě)入 位,控制向控制寄存器(220)的寫(xiě)入。復(fù)用器B(260)上的寄存器選擇線由地址解碼邏輯(230)生成,以 選擇適當(dāng)?shù)募拇嫫鱽?lái)根據(jù)讀取命令輸出。復(fù)用器A(235)上的通道選擇 線由接口控制邏輯(280)生成,所述接口控制邏輯(280)的輸入來(lái)自控 制寄存器(220)。在運(yùn)行模式中,線選擇第一(數(shù)字順序)通道輸出緩沖 器,其通道活動(dòng)位設(shè)置在地址3處的控制寄存器(220)中。如果單通 道位設(shè)置在地址2處的控制寄存器(220)中,則其將鎖定單一活動(dòng)通 道;如果該位沒(méi)有設(shè)置,則接口控制邏輯將響應(yīng)于碼片選擇(310)和 SCLK序列(330)來(lái)通過(guò)活動(dòng)通道排序。通過(guò)SPI總線連接的處理器控制傳輸進(jìn)和傳輸出濾波器組(IOO) 或類似裝置的數(shù)據(jù),這是根據(jù)其存儲(chǔ)的程序進(jìn)行的。數(shù)據(jù)進(jìn)行傳輸, 其解釋由裝置(100)的配置模式和傳輸?shù)拿恳粋€(gè)字節(jié)描述的協(xié)議或格 式確定。串行接口控制器(200)運(yùn)行于兩種基礎(chǔ)模式中配置模式,在該 模式中處理器從控制寄存器(220)讀取數(shù)據(jù)或向控制寄存器(220)寫(xiě)入 數(shù)據(jù);運(yùn)行模式,在該模式中處理器讀取數(shù)據(jù)源(100)活動(dòng)通道輸出緩沖器(120)并同時(shí)向控制寄存器(220)的子集寫(xiě)入。處理器通過(guò)向裝 置串行寫(xiě)入來(lái)設(shè)置控制寄存器中的位以將裝置設(shè)置為配置或運(yùn)行模 式。圖3示出了這些模式的數(shù)據(jù)結(jié)構(gòu)。在這些基礎(chǔ)模式中,可以進(jìn)一 步改進(jìn)數(shù)據(jù)格式。配置模式具有自動(dòng)地址遞增特征,其允許通過(guò)經(jīng)由 SDI信號(hào)移入單一地址、并隨后移入寫(xiě)入數(shù)據(jù)的一系列的輸入字節(jié)來(lái) 讀取或?qū)懭霐?shù)據(jù)塊,或者經(jīng)由SDO信號(hào)輸出讀取數(shù)據(jù)的字節(jié),只要 ,CS保持為低并且處理器持續(xù)提供SCLK信號(hào)即可。在配置模式中, 地址遞增模式由控制寫(xiě)入位設(shè)置給控制寄存器。當(dāng)啟用時(shí),接口控制 器將前兩個(gè)串行字節(jié)解釋為14位地址(如圖3A中所示)。隨后如果是 寫(xiě)命令,則控制器將下一個(gè)串行字節(jié)存儲(chǔ)在被尋址的寄存器中,或如 果是讀命令,則讀取或移出被尋址的寄存器;遞增地址,讀取或?qū)懭?下一個(gè)字節(jié),繼續(xù)處理直到將"CS(310)拉高為止。運(yùn)行模式具有兩種數(shù)據(jù)輸出格式單通道格式,其從通道輸出沒(méi) 有控制和狀態(tài)字段的兩個(gè)字節(jié)的采樣數(shù)據(jù)(圖3B);多通道格式,其對(duì) 每個(gè)通道的采樣輸出三個(gè)字節(jié)的數(shù)據(jù),包括8位的控制和狀態(tài)字段以 及16位的采樣數(shù)據(jù)(圖3C)。顯而易見(jiàn)的是,下列論述中的控制和數(shù) 據(jù)字段的字節(jié)數(shù)量和位大小僅為示例性的,在其他的實(shí)現(xiàn)中可以不 同。在配置模式中,存在一種選擇性地分別對(duì)控制寄存器進(jìn)行尋址的 手段。在圖3A所示的配置模式數(shù)據(jù)結(jié)構(gòu)中,位移到輸入位移寄存器 (250)中的前16位包括讀取/寫(xiě)入控制位和14個(gè)地址位。該地址指向 讀取或?qū)懭氲目刂萍拇嫫?220)。移入的最后一個(gè)字節(jié)包含針對(duì)寫(xiě)命 令寫(xiě)入的數(shù)據(jù),或者來(lái)自被尋址的寄存器的針對(duì)讀取命令而移出的數(shù) 據(jù)。該讀取字節(jié)傳輸?shù)捷敵鑫灰萍拇嫫?210),并按時(shí)鐘順序輸出到 處理器。如果裝置處于自動(dòng)遞增模式中,則只要將,CS(310)保持為 低,數(shù)據(jù)字節(jié)的讀取或?qū)懭刖驮跓o(wú)需處理器傳輸新地址的情況下繼 續(xù)。運(yùn)行模式由配置模式數(shù)據(jù)傳輸?shù)奶幚砥髟O(shè)置。對(duì)于單通道配置, 運(yùn)行模式格式可以是2字節(jié)的數(shù)據(jù)輸出字段(圖3B),或?qū)τ诙嗤ǖ琅渲?,運(yùn)行模式格式可以是單個(gè)或多個(gè)3字節(jié)的字段(圖3C)。需要注意 的是,處理器可以在輸出數(shù)據(jù)的讀取期間將數(shù)據(jù)寫(xiě)入控制寄存器 (220),但也可以將數(shù)據(jù)寫(xiě)入受限的寄存器組中,如下所述。這例如 需要裝置不處于運(yùn)行模式中,但可用于設(shè)置當(dāng)前配置中的其他寄存 器。如果處理器不期望修改寄存器,則串行輸入數(shù)據(jù)必須對(duì)未使用的 (或只讀的)寄存器進(jìn)行尋址。在單通道配置(圖3B)中,移入的第一字節(jié)是寫(xiě)地址,而第二字節(jié) 是寫(xiě)數(shù)據(jù)。8位地址是全14位地址控制的子集,因此僅允許訪問(wèn)較 低的256(28)個(gè)寄存器。同時(shí),16位輸出采樣被移出到處理器。在多 通道配置(圖3C)中,在處理器讀取數(shù)據(jù)輸出采樣時(shí)從串行輸入移入的 第1個(gè)16位表示地址和寫(xiě)入數(shù)據(jù),而移出到處理器的24位表示8位 的狀態(tài)和控制以及16位的采樣數(shù)據(jù)。對(duì)于所述的4通道的裝置,狀 態(tài)和控制字節(jié)包括1個(gè)校驗(yàn)位、2位的通道ID字段、表示輸出采樣 己被更新的1個(gè)新的數(shù)據(jù)標(biāo)記以及4個(gè)通道狀態(tài)位。其他的實(shí)現(xiàn),例 如具有8個(gè)通道的裝置,可以通過(guò)顯示較少的狀態(tài)位并將通道ID位 字段增加到3位來(lái)使用相同的常規(guī)格式。僅一個(gè)狀態(tài)位是絕對(duì)需要 的。在這種情況下,其將告知處理器來(lái)讀取控制寄存器中的狀態(tài)寄存 器以識(shí)別裝置狀態(tài)的改變。串行接口按如下方式操作。圖4示出了配置模式中的信號(hào)的時(shí) 序。處理器通過(guò)使用碼片選擇(310沐從其正常的高狀態(tài)轉(zhuǎn)變到,CS 低狀態(tài),并使用SCLK(330)來(lái)將數(shù)據(jù)從串行輸入信號(hào)SDI(340)移入到 輸入位移寄存器(250)中,或者通過(guò)SDO線將數(shù)據(jù)移出輸出位移寄存 器(210),以對(duì)裝置進(jìn)行尋址,從而開(kāi)始傳輸。處理器提供24個(gè)SCLK 以傳輸?shù)刂泛偷谝蛔止?jié)的數(shù)據(jù)。在自動(dòng)遞增模式中,處理器為其期望 讀取或?qū)懭氲目刂萍拇嫫鞯脑S多順序?qū)ぶ返淖止?jié)繼續(xù)提供同樣數(shù)量 的時(shí)鐘和數(shù)據(jù)。如果讀取/寫(xiě)入控制表示讀取,則接口控制邏輯(280) 使用第一個(gè)2字節(jié)對(duì)期望的控制寄存器(220)進(jìn)行尋址,并將該字節(jié) 傳輸給輸出位移寄存器(210),其將被由最后8個(gè)SCLK移出SDO管 腳(300)。如果第一位指示寫(xiě)入,則最后8位由地址解碼和寫(xiě)入控制 器(230)寫(xiě)入到被尋址的控制寄存器(220)中。如果裝置處于自動(dòng)遞增模式中,則信息字節(jié)將繼續(xù)被輸入或輸出,而在每一個(gè)字節(jié)被寫(xiě)入或傳輸?shù)捷敵鑫灰萍拇嫫?210)和輸出SDO(300)之后,控制器(280)遞增 內(nèi)部地址。處理器通過(guò)移除碼片選擇(將,CS設(shè)置為高)來(lái)終結(jié)操作。圖5示出了運(yùn)行模式的信號(hào)時(shí)序。當(dāng)將最高速率活動(dòng)通道的新數(shù) 據(jù)置于該通道的輸出緩沖器(120)中并默認(rèn)選擇到輸出位移寄存器 (210)中時(shí),裝置設(shè)置并輸出數(shù)據(jù)已就緒RDY(320)信號(hào)。當(dāng)由控制寄 存器中的字段標(biāo)識(shí)的最快裝置通道向該通道的輸出緩沖器(120)傳輸 新數(shù)據(jù)采樣時(shí),設(shè)置RDY,并同時(shí)設(shè)置寄存器中的新數(shù)據(jù)標(biāo)記位。 新數(shù)據(jù)標(biāo)記位以及因此RDY信號(hào)在采樣被傳輸給輸出位移寄存器 (210)之后重置。處理器可以輪詢RDY(320)或經(jīng)由中斷對(duì)信號(hào)做出響 應(yīng),所述處理器使用碼片選擇,CS(310)來(lái)對(duì)裝置進(jìn)行尋址,并通過(guò) SCLK(330)提供時(shí)鐘脈沖來(lái)執(zhí)行傳輸,而同時(shí)寫(xiě)地址和配置數(shù)據(jù)被輸 入到SDI(340)上,以及采樣數(shù)據(jù)被輸出到SDO(300)上。如果裝置處 于單通道配置中,則處理器提供16個(gè)時(shí)鐘來(lái)通過(guò)SDO信號(hào)(300)從 活動(dòng)通道傳輸16位的數(shù)據(jù),并且在需要時(shí)將單一字節(jié)寫(xiě)入控制寄存 器(220沖。處理器通過(guò)移除碼片選擇(310)來(lái)完成傳輸。向由SDI(MO) 中的第一個(gè)8位數(shù)據(jù)指定的地址執(zhí)行最后8位數(shù)據(jù)的寫(xiě)入。在多通道配置中,處理器使用24個(gè)SCLK從第一活動(dòng)通道讀取 24位的數(shù)據(jù);這對(duì)于輸出位移寄存器(210)來(lái)說(shuō)是默認(rèn)選擇?;顒?dòng)通 道是通過(guò)控制控制寄存器(220)中的字段已置于活動(dòng)模式中的那些活 動(dòng)通道。隨后輸出位移寄存器(210)使用下一個(gè)活動(dòng)通道輸出濾波器 (120)來(lái)進(jìn)行更新,該數(shù)據(jù)是在下一個(gè)24個(gè)SCLK中輸出的;該處理 繼續(xù),直到所有的活動(dòng)通道輸出緩沖器(120)被傳輸為止,并且處理 器通過(guò)移除碼片選擇(310)來(lái)終結(jié)傳輸?;顒?dòng)通道是以數(shù)字順序讀取 的。需要注意的是,可以讀取從最后的讀取周期算起還沒(méi)有更新其輸 出緩沖器(120)的通道。如果一個(gè)通道以比快速通道低的速率處理采 樣,則會(huì)出現(xiàn)這種情況。處理器通過(guò)數(shù)據(jù)格式中的新數(shù)據(jù)標(biāo)記來(lái)識(shí)別 該狀態(tài),并可以選擇不在處理器存儲(chǔ)器中存儲(chǔ)該數(shù)據(jù)。該標(biāo)記在通道 的輸出緩沖器(120)被傳輸給輸出位移寄存器(210)時(shí)被重置。在讀取 了所有的活動(dòng)通道后,處理器通過(guò)移除碼片選擇(310)來(lái)終結(jié)傳輸并等待下一個(gè)RDY信號(hào)(320)。在該模式中,移入到輸入位移寄存器(250) 中的SDI信號(hào)(340)上的第一個(gè)16位的數(shù)據(jù)被解釋為寫(xiě)入到受限組的 控制寄存器(220)中的8位地址和8位數(shù)據(jù)。再一次地,在運(yùn)行模式 中,將14位地址中的高6位地址設(shè)置為0。因此只有256個(gè)寄存器 是可以訪問(wèn)的。因此,使用一個(gè)中斷(RDY信號(hào)(320)),處理器將從所有的主動(dòng) 通道執(zhí)行采樣數(shù)據(jù)的傳輸。如果存在連接到處理器的多個(gè)裝置,則處 理器可以基于通過(guò)使用如圖1所示的單一裝置碼片選擇以數(shù)字順序 對(duì)每一個(gè)裝置進(jìn)行尋址的單一中斷,來(lái)讀取所有的活動(dòng)通道采樣輸 出。處理器已對(duì)多個(gè)裝置進(jìn)行編程,因此可以獲知哪個(gè)裝置具有最高 速率通道。唯一的約束在于處理器必須在最高采樣速率裝置產(chǎn)生其下 一個(gè)采樣前傳輸所有的通道采樣?;蛘?,可以通過(guò)控制寄存器中的控制位將裝置設(shè)置為單通道中斷 模式。在此模式中,當(dāng)任何的活動(dòng)通道將新結(jié)果置于其輸出緩沖器中 時(shí),將設(shè)置數(shù)據(jù)已就緒(RDY)。處理器將按先前那樣響應(yīng)數(shù)據(jù)已就緒, 但只讀取設(shè)置了數(shù)據(jù)已就緒的通道。該方法可以在每一個(gè)通道的采樣 速率相對(duì)較慢且變化范圍較寬的情況下使用。
權(quán)利要求
1、一種串行接口控制器,用于在具有至少一個(gè)通道的數(shù)據(jù)源和處理器之間傳輸數(shù)據(jù);所述串行接口控制器具有多個(gè)控制寄存器;所述控制寄存器包括數(shù)據(jù)結(jié)構(gòu),用于配置所述串行接口控制器以進(jìn)行數(shù)據(jù)傳輸;所述數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包括用于有選擇性地將所述串行接口控制器設(shè)置在其運(yùn)行模式或其配置模式下的字段;用于存儲(chǔ)所述串行接口控制器的I/O模式的字段;用于存儲(chǔ)活動(dòng)數(shù)據(jù)通道的地址的字段;用于存儲(chǔ)所述數(shù)據(jù)源的時(shí)鐘速率的字段。
2、 如權(quán)利要求1所述的串行接口控制器,其中,所述數(shù)據(jù)源是 CIC數(shù)字濾波器,并且所述數(shù)據(jù)結(jié)構(gòu)還包括用于存儲(chǔ)所述CIC的抽取值的字段。
3、 如權(quán)利要求1所述的串行接口控制器,其中,所述數(shù)據(jù)源是 FIR數(shù)字濾波器,并且所述數(shù)據(jù)結(jié)構(gòu)還包括用于存儲(chǔ)所述濾波器抽頭數(shù)量的字段; 用于存儲(chǔ)所述FIR濾波器系數(shù)的字段。
4、 如權(quán)利要求3所述的串行接口控制器,包括多于一個(gè)的數(shù)據(jù) 通道,其中,對(duì)于每一個(gè)通道,所述數(shù)據(jù)結(jié)構(gòu)還包括用于存儲(chǔ)所述通道的濾波器抽頭數(shù)量的字段; 用于存儲(chǔ)所述通道的FIR濾波器系數(shù)的字段。
5、 如權(quán)利要求1所述的串行接口控制器,其中,所述數(shù)據(jù)結(jié)構(gòu) 還包括用于存儲(chǔ)數(shù)字濾波器的ADC時(shí)鐘速率的字段。
6、 如權(quán)利要求1所述的串行接口控制器,其中,所述I/0模式字段還包括用于存儲(chǔ)最快活動(dòng)通道的地址的字段;用于有選擇性地存儲(chǔ)每一個(gè)通道或所述最快通道的串行接口 RDY標(biāo)記的字段;用于存儲(chǔ)有選擇性地設(shè)置單通道數(shù)據(jù)傳輸或多通道數(shù)據(jù)傳輸?shù)?標(biāo)記的字段。
7、 如權(quán)利要求l所述的串行接口控制器,還包括用于有選擇性地分別對(duì)所述控制寄存器進(jìn)行尋址的模塊。
8、 如權(quán)利要求7所述的串行接口控制器,其中,所述用于有選擇性地分別對(duì)所述控制寄存器進(jìn)行尋址的模塊包括配置模式數(shù)據(jù)結(jié)構(gòu);所述配置模式數(shù)據(jù)結(jié)構(gòu)包括用于將所述被尋址的控制寄存器的數(shù)據(jù)傳輸有選擇性地設(shè)置為讀取或?qū)懭氲淖侄?;用于存?chǔ)所述被尋址的控制寄存器的地址的字段; 用于存儲(chǔ)向所述被尋址的控制寄存器寫(xiě)入或從所述被尋址的控制寄存器讀取的數(shù)據(jù)的字段。
9、 如權(quán)利要求8所述的串行接口控制器,其中,配置所述配置 模式數(shù)據(jù)結(jié)構(gòu),以使得所述用于將所述被尋址的控制寄存器的數(shù)據(jù)傳輸有選擇性地設(shè) 置為讀取或?qū)懭氲淖侄握加?位;所述用于存儲(chǔ)所述被尋址的控制寄存器的地址的字段占用14位;所述用于存儲(chǔ)向所述被尋址的控制寄存器寫(xiě)入或從所述被尋址 的控制寄存器讀取的數(shù)據(jù)的字段占用8位;所述配置模式數(shù)據(jù)結(jié)構(gòu)還包括位于所述地址字段和所述數(shù)據(jù)字段之間的l位未使用的字段。
10、 如權(quán)利要求1所述的串行接口控制器,還包括定義單通道運(yùn) 行模式的輸入和輸出格式的數(shù)據(jù)結(jié)構(gòu);所述定義單通道運(yùn)行模式的輸 入和輸出格式的數(shù)據(jù)結(jié)構(gòu)包括8位的控制地址字段和8位的控制寄存器數(shù)據(jù)字段; 16位的數(shù)據(jù)輸出字段。
11、 如權(quán)利要求1所述的串行接口控制器,還包括定義多通道運(yùn)行模式的輸入和輸出格式的數(shù)據(jù)結(jié)構(gòu);所述定義多通道運(yùn)行模式的輸 入和輸出格式的數(shù)據(jù)結(jié)構(gòu)包括8位的控制地址字段;8位的控制寄存器數(shù)據(jù)字段;8位的未使用的字段。
12、 如權(quán)利要求ll所述的串行接口,還包括用于輸出數(shù)據(jù)的24位數(shù)據(jù)結(jié)構(gòu)。
13、 如權(quán)利要求11所述的串行接口控制器,其中,所述用于輸 出數(shù)據(jù)的24位數(shù)據(jù)結(jié)構(gòu)還包括1位的奇偶校驗(yàn)字段; 2位的通道標(biāo)識(shí)字段; 1位的新數(shù)據(jù)標(biāo)記字段; 4位的狀態(tài)字段; 16位的數(shù)據(jù)字段。
14、 一種集成電路,包括 數(shù)據(jù)源,其具有至少一個(gè)通道;串行接口控制器,用于在所述數(shù)據(jù)源和處理器之間傳輸數(shù)據(jù);所 述串行接口控制器具有多個(gè)控制寄存器;所述控制寄存器包括數(shù)據(jù)結(jié)構(gòu),用于配置所述串行接口控制器以進(jìn)行數(shù)據(jù)傳輸; 所述數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包括用于有選擇性地將所述串行接口控制器設(shè)置在其運(yùn)行模式或其配置模式下的字段;用于存儲(chǔ)所述串行接口控制器的I/O模式的字段;用于存儲(chǔ)活動(dòng)數(shù)據(jù)通道的地址的字段;用于存儲(chǔ)系統(tǒng)時(shí)鐘速率的字段。
15、 如權(quán)利要求14所述的集成電路,其中,所述數(shù)據(jù)源是CIC 數(shù)字濾波器,并且所述數(shù)據(jù)結(jié)構(gòu)還包括-用于存儲(chǔ)所述CIC的抽取值的字段。
16、 如權(quán)利要求14所述的集成電路,其中,所述數(shù)據(jù)源是FIR 數(shù)字濾波器,并且所述數(shù)據(jù)結(jié)構(gòu)還包括用于存儲(chǔ)濾波器抽頭數(shù)量的字段; 用于存儲(chǔ)所述FIR濾波器系數(shù)的字段。
17、 如權(quán)利要求16所述的集成電路,包括多于一個(gè)的數(shù)據(jù)通道, 其中,對(duì)于每一個(gè)通道,所述數(shù)據(jù)結(jié)構(gòu)還包括用于存儲(chǔ)所述濾波器抽頭數(shù)量的字段; 用于存儲(chǔ)所述FIR濾波器系數(shù)的字段。
18、 如權(quán)利要求14所述的集成電路,其中,所述數(shù)據(jù)結(jié)構(gòu)還包括用于存儲(chǔ)數(shù)字濾波器的ADC時(shí)鐘速率的字段。
19、 如權(quán)利要求14所述的集成電路,其中,所述I/0模式字段 還包括用于存儲(chǔ)最快活動(dòng)通道的地址的字段;用于有選擇性地存儲(chǔ)每一個(gè)通道或所述最快通道的串行接口RDY標(biāo)記的字段;用于存儲(chǔ)有選擇性地設(shè)置單通道數(shù)據(jù)傳輸或多通道數(shù)據(jù)傳輸?shù)?標(biāo)記的字段。
20、 如權(quán)利要求14所述的集成電路,還包括用于有選擇性地分別對(duì)所述控制寄存器進(jìn)行尋址的模塊。
21、 如權(quán)利要求20所述的集成電路,其中,所述用于有選擇性 地分別對(duì)所述控制寄存器進(jìn)行尋址的模塊包括配置模式數(shù)據(jù)結(jié)構(gòu);所 述配置模式數(shù)據(jù)結(jié)構(gòu)包括用于將所述被尋址的控制寄存器的數(shù)據(jù)傳輸有選擇性地設(shè)置為讀取或?qū)懭氲淖侄危挥糜诖鎯?chǔ)所述被尋址的控制寄存器的地址的字段; 用于存儲(chǔ)向所述被尋址的控制寄存器寫(xiě)入或從所述被尋址的控制寄存器讀取的數(shù)據(jù)的字段。
22、 如權(quán)利要求21所述的集成電路,其中,配置所述配置模式 數(shù)據(jù)結(jié)構(gòu),以使得所述用于將所述被尋址的控制寄存器的數(shù)據(jù)傳輸有選擇性地設(shè) 置為讀取或?qū)懭氲淖侄握加?位;所述用于存儲(chǔ)所述被尋址的控制寄存器的地址的字段占用14位;所述用于存儲(chǔ)向所述被尋址的控制寄存器寫(xiě)入或從所述被尋址的控制寄存器讀取的數(shù)據(jù)的字段占用8位;所述配置模式數(shù)據(jù)結(jié)構(gòu)還包括位于所述地址字段和所述數(shù)據(jù)字 段之間的l位未使用的字段。
23、 如權(quán)利要求14所述的集成電路,還包括定義單通道運(yùn)行模 式的輸入和輸出格式的數(shù)據(jù)結(jié)構(gòu);所述定義單通道運(yùn)行模式的輸入和 輸出格式的數(shù)據(jù)結(jié)構(gòu)包括8位的控制地址字段和8位的控制寄存器數(shù)據(jù)字段; 16位的數(shù)據(jù)輸出字段。
24、 如權(quán)利要求14所述的集成電路,還包括定義多通道運(yùn)行模 式的輸入和輸出格式的數(shù)據(jù)結(jié)構(gòu);所述定義多通道運(yùn)行模式的輸入和 輸出格式的數(shù)據(jù)結(jié)構(gòu)包括8位的控制地址字段;8位的控制寄存器數(shù)據(jù)字段;8位的未使用的字段。
25、 如權(quán)利要求24所述的集成電路,還包括 用于輸出數(shù)據(jù)的24位數(shù)據(jù)結(jié)構(gòu)。
26、 如權(quán)利要求24所述的集成電路,其中,所述用于輸出數(shù)據(jù) 的24位數(shù)據(jù)結(jié)構(gòu)還包括1位的奇偶校驗(yàn)字段; 2位的通道標(biāo)識(shí)字段; 1位的新數(shù)據(jù)標(biāo)記字段; 4位的狀態(tài)字段; 16位的數(shù)據(jù)字段。
27、 如權(quán)利要求26所述的集成電路,其中,根據(jù)處理器時(shí)鐘, 將所述輸出數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)從所述串行接口控制器發(fā)往所述處理器。
28、 如權(quán)利要求19所述的集成電路,還包括接口控制邏輯,所 述接口控制邏輯響應(yīng)于所述標(biāo)記而有選擇性地設(shè)置單通道數(shù)據(jù)傳輸 或多通道數(shù)據(jù)傳輸。
全文摘要
一種串行接口控制器(200),用于在具有至少一個(gè)通道(110)的數(shù)據(jù)源和處理器之間傳輸數(shù)據(jù)。所述串行接口控制器(200)具有多個(gè)控制寄存器(220);所述控制寄存器(220)包括用于配置所述串行接口控制器(200)進(jìn)行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)結(jié)構(gòu)。所述數(shù)據(jù)結(jié)構(gòu)進(jìn)一步包括用于選擇性地將所述串行接口控制器(200)設(shè)置在其運(yùn)行模式或其配置模式下的字段;用于存儲(chǔ)所述串行接口控制器(200)的I/O模式的字段;用于存儲(chǔ)活動(dòng)數(shù)據(jù)通道的地址的字段;用于存儲(chǔ)系統(tǒng)時(shí)鐘速率的字段。在優(yōu)選實(shí)施例中,控制寄存器(220)包括下列字段裝置標(biāo)識(shí)、運(yùn)行或配置模式的標(biāo)記、I/O模式控制、活動(dòng)通道值(多通道實(shí)現(xiàn)方案中)、數(shù)據(jù)源時(shí)鐘速率、ADC時(shí)鐘速率、通道狀態(tài)標(biāo)記、CIC抽取速率、FIR濾波器抽頭的數(shù)量、以及在特定數(shù)據(jù)源中與FIR抽頭的數(shù)量相對(duì)應(yīng)的濾波器系數(shù)。
文檔編號(hào)G06F7/00GK101331445SQ200680032730
公開(kāi)日2008年12月24日 申請(qǐng)日期2006年8月29日 優(yōu)先權(quán)日2005年9月9日
發(fā)明者A·黑德利, T·梅格德伯格 申請(qǐng)人:奎克菲爾特技術(shù)公司