專(zhuān)利名稱(chēng):半雙工串行通信總線外部設(shè)備接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及串行通信領(lǐng)域,特別是一種采用基于串行同步外圍設(shè)備接口(Serial Peripheral Interface,SPI)的高層協(xié)議的半雙工串行通信總線外部設(shè)備接技術(shù)背景串行通信是主設(shè)備和外部設(shè)備之間非常重要的數(shù)據(jù)通信方式。與并行通信總線相比,只需要較少的數(shù)據(jù)線。串行同步外圍設(shè)備接口(Serial PeripheralInterface,SPI)是摩托羅拉(Motorola)公司提出的一種同步串行總線,用于主設(shè)備和外圍設(shè)備之間的數(shù)據(jù)交換。SPI總線是主從通信機(jī)制,主設(shè)備是主設(shè)備,外圍設(shè)備是從設(shè)備。SPI總線由4根總線構(gòu)成,分別是串行時(shí)鐘線(SCK)、主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線(MISO)、主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線(MOSI)和從設(shè)備有效選擇線(SSN)。而SPI接口是一種簡(jiǎn)單的8比特?cái)?shù)據(jù)同步串行接口,該接口用于快速串行數(shù)據(jù)傳輸,發(fā)送數(shù)據(jù)和接收數(shù)據(jù)以相同的時(shí)鐘頻率進(jìn)行。與其它總線協(xié)議相比,SPI總線協(xié)議簡(jiǎn)單、信號(hào)線少、傳輸速率高和全雙工通信等優(yōu)點(diǎn)。
目前,一些EEPROM生產(chǎn)廠提出了部分基于SPI總線的高層協(xié)議。這種高層協(xié)議的幀依次由命令、地址和數(shù)據(jù)構(gòu)成,SSN高電平到低電平時(shí)為一個(gè)幀的開(kāi)始。這種高層協(xié)議的缺點(diǎn)是不支持全雙工傳輸;不支持SPI中斷傳輸,即要求整個(gè)幀傳輸過(guò)程中SSN必須保持低電平;而且,由于其命令和地址長(zhǎng)度是固定的,因此當(dāng)傳輸少量數(shù)據(jù)的時(shí)候開(kāi)銷(xiāo)大,效率低。
因此,目前又有一種基于SPI總線的高層協(xié)議,該高層協(xié)議是一種主從式全雙工或半雙工通信協(xié)議,所有的傳輸均由主設(shè)備發(fā)起,主設(shè)備可同時(shí)發(fā)送和接收數(shù)據(jù)。支持SPI中斷傳輸,在整個(gè)幀的傳輸過(guò)程中不要求SSN一直保持低電平。幀頭長(zhǎng)度可變,在傳輸少量數(shù)據(jù)時(shí)采用短幀頭,提高傳輸效率。
而采用這種高層協(xié)議的串行通信總線外部設(shè)備接口,由物理層協(xié)議實(shí)現(xiàn)模塊、高層協(xié)議實(shí)現(xiàn)模塊以及接口模塊構(gòu)成。所述物理層協(xié)議實(shí)現(xiàn)模塊用于接收串行時(shí)鐘信號(hào)(SCK),并根據(jù)SPI模式,產(chǎn)生時(shí)鐘信號(hào)輸出到高層協(xié)議實(shí)現(xiàn)模塊和接口模塊;所述接口模塊連接從設(shè)備有效選擇信號(hào)線(SSN)、主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線(MISO)、主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線(MOSI)以及讀數(shù)據(jù)信號(hào)線(RDATA)和寫(xiě)數(shù)據(jù)信號(hào)線(WDATA),從而形成所述串行通信總線外部設(shè)備接口的讀/寫(xiě)數(shù)據(jù)通路;所述高層協(xié)議實(shí)現(xiàn)模塊接收高層協(xié)議幀,以進(jìn)行主從式全雙工或半雙工數(shù)據(jù)通信;同時(shí)接收來(lái)自主設(shè)備的強(qiáng)迫同步信號(hào)(FEN),以實(shí)現(xiàn)主從設(shè)備的聯(lián)合同步;并且輸出讀/寫(xiě)地址信號(hào)、讀/寫(xiě)使能信號(hào)。這種串行通信總線外部設(shè)備接口的結(jié)構(gòu)相對(duì)于SPI總線而言,信號(hào)線多,即與主設(shè)備進(jìn)行交互的信號(hào)通道多。而對(duì)于本領(lǐng)域內(nèi)的技術(shù)人員都知道,在集成電路設(shè)計(jì)時(shí),每增加一個(gè)信號(hào)通道,就意味著其結(jié)構(gòu)更加復(fù)雜,板級(jí)設(shè)計(jì)的難度更高。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)的不足,提供一種結(jié)構(gòu)簡(jiǎn)單合理、可降低板級(jí)設(shè)計(jì)難度的半雙工串行通信總線外部設(shè)備接口。
為了解決上述技術(shù)問(wèn)題,本發(fā)明所采取的技術(shù)方案是一種半雙工串行通信總線外部設(shè)備接口,包括物理層協(xié)議實(shí)現(xiàn)模塊、高層協(xié)議實(shí)現(xiàn)模塊以及接口模塊;所述物理層協(xié)議實(shí)現(xiàn)模塊用于接收串行時(shí)鐘信號(hào),并根據(jù)SPI模式,產(chǎn)生時(shí)鐘信號(hào)輸出到高層協(xié)議實(shí)現(xiàn)模塊和接口模塊;所述高層協(xié)議實(shí)現(xiàn)模塊接收高層協(xié)議幀,以進(jìn)行半雙工數(shù)據(jù)通信;接收來(lái)自主設(shè)備的強(qiáng)迫同步信號(hào),以實(shí)現(xiàn)主從設(shè)備的聯(lián)合同步;同時(shí)還根據(jù)高層協(xié)議幀產(chǎn)生讀/寫(xiě)地址信號(hào)、讀/寫(xiě)使能信號(hào);
所述接口模塊連接SPI總線中的兩條數(shù)據(jù)線,即主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線和主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線,并且還連接讀數(shù)據(jù)信號(hào)線和寫(xiě)數(shù)據(jù)信號(hào)線,從而形成該接口的讀/寫(xiě)數(shù)據(jù)通路;還包括SPI數(shù)據(jù)線復(fù)用模塊,所述SPI數(shù)據(jù)線復(fù)用模塊通過(guò)SPI總線中的兩條數(shù)據(jù)線連接接口模塊,并通過(guò)雙向數(shù)據(jù)信號(hào)線與主設(shè)備連接,從而完成所述接口模塊與主設(shè)備之間的數(shù)據(jù)交互。
所述SPI數(shù)據(jù)線復(fù)用模塊可以由輸出控制模塊和通道選擇元件構(gòu)成,所述通道選擇元件串聯(lián)接入雙向數(shù)據(jù)信號(hào)線與SPI數(shù)據(jù)線之間,所述輸出控制模塊用于產(chǎn)生通道選擇控制信號(hào),并輸入到通道選擇元件內(nèi),從而控制所述SPI數(shù)據(jù)線與雙向數(shù)據(jù)信號(hào)線的導(dǎo)通狀態(tài)。
所述輸出控制模塊可以根據(jù)從設(shè)備有效信號(hào)、強(qiáng)迫同步信號(hào),以及高層協(xié)議實(shí)現(xiàn)模塊產(chǎn)生的讀寫(xiě)狀態(tài)信號(hào),產(chǎn)生通道選擇控制信號(hào)。
當(dāng)從設(shè)備有效信號(hào)或強(qiáng)迫同步信號(hào)為高電平時(shí),或者讀寫(xiě)狀態(tài)信號(hào)為寫(xiě)操作時(shí),或者讀寫(xiě)狀態(tài)信號(hào)為讀操作且處于該讀操作的幀頭時(shí),所述輸出控制模塊產(chǎn)生通道選擇控制信號(hào),選擇雙向數(shù)據(jù)信號(hào)線與主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線導(dǎo)通。
所述通道選擇元件可以采用三態(tài)緩沖器,所述三態(tài)緩沖器的輸入端連接SPI數(shù)據(jù)線,其輸出端連接雙向數(shù)據(jù)信號(hào)線,其控制端輸入通道選擇控制信號(hào)。
所述雙向數(shù)據(jù)信號(hào)線可以與輸出控制模塊的主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)接口導(dǎo)通連接。
所述高層協(xié)議實(shí)現(xiàn)模塊可以包括比特計(jì)數(shù)器、字節(jié)計(jì)數(shù)器、地址鎖存模塊、寫(xiě)控制模塊和讀控制模塊,所述高層協(xié)議實(shí)現(xiàn)模塊輸出的讀寫(xiě)狀態(tài)信號(hào)包括比特計(jì)數(shù)器輸出的比特?cái)?shù),字節(jié)計(jì)數(shù)器輸出的字節(jié)數(shù),寫(xiě)控制模塊輸出的寫(xiě)狀態(tài)信號(hào),以及讀控制模塊輸出的讀狀態(tài)信號(hào)。
所述接口模塊可以包括寫(xiě)緩沖區(qū)和讀緩沖區(qū),其中寫(xiě)緩沖區(qū)連接主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線,所述讀緩沖區(qū)連接主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線。
由于實(shí)施半雙工串行通信時(shí),MOSI和MISO兩個(gè)數(shù)據(jù)通道與主設(shè)備進(jìn)行數(shù)據(jù)交互時(shí),并不是同步進(jìn)行的。因此如果還采用現(xiàn)有技術(shù)中的串行通信總線外部設(shè)備接口的結(jié)構(gòu),實(shí)際上是浪費(fèi)了一個(gè)數(shù)據(jù)通道,給板級(jí)設(shè)計(jì)不必要的增加了難度。因此本發(fā)明就是采用SPI數(shù)據(jù)線復(fù)用模塊將這兩個(gè)數(shù)據(jù)通道復(fù)用到一個(gè)雙向數(shù)據(jù)信號(hào)線上,從而減少與主設(shè)備進(jìn)行通信的信號(hào),達(dá)到降低板級(jí)設(shè)計(jì)的復(fù)雜性的目的。另外,本發(fā)明所采用的SPI數(shù)據(jù)線復(fù)用模塊是根據(jù)從設(shè)備有效信號(hào)、強(qiáng)迫同步信號(hào),以及高層協(xié)議實(shí)現(xiàn)模塊產(chǎn)生的讀寫(xiě)狀態(tài)信號(hào),來(lái)產(chǎn)生通道選擇控制信號(hào),其邏輯關(guān)系簡(jiǎn)單,控制準(zhǔn)確,可以有效實(shí)現(xiàn)SPI數(shù)據(jù)復(fù)用功能。相對(duì)現(xiàn)有技術(shù),本發(fā)明在保證主、從設(shè)備半雙工數(shù)據(jù)通信控制準(zhǔn)確、數(shù)據(jù)通道暢通的前提下,具有結(jié)構(gòu)簡(jiǎn)單合理、信號(hào)線少、板級(jí)設(shè)計(jì)較簡(jiǎn)單等特點(diǎn)。
附圖1為現(xiàn)有技術(shù)中一種基于SPI總線的高層協(xié)議幀的幀結(jié)構(gòu)圖;附圖2為圖1中的高層協(xié)議幀的幀頭結(jié)構(gòu)圖;附圖3為圖1中的高層協(xié)議幀的子幀頭的結(jié)構(gòu)圖;附圖4為現(xiàn)有技術(shù)中一種采用圖1、2、3的高層協(xié)議的串行通信總線外部設(shè)備接口的結(jié)構(gòu)原理方框圖;附圖5為本發(fā)明一種半雙工串行通信總線外部設(shè)備接口的結(jié)構(gòu)原理方框圖;附圖6為本發(fā)明的一種較佳實(shí)施例的電路原理方框圖。
具體實(shí)施例方式
為了更清楚了說(shuō)明本發(fā)明的技術(shù)方案,有必要首先詳細(xì)說(shuō)明本發(fā)明所采用的高層協(xié)議的結(jié)構(gòu)原理。
所述的高層協(xié)議是一種主從式全雙工或半雙工通信協(xié)議,所有的傳輸均由主機(jī)發(fā)起,主機(jī)可同時(shí)發(fā)送和接收數(shù)據(jù)。支持SPI中斷傳輸,在整個(gè)幀的傳輸過(guò)程中不要求SSN一直保持低電平。幀頭長(zhǎng)度可變,在傳輸少量數(shù)據(jù)時(shí)采用短幀頭,提高傳輸效率。
高層協(xié)議幀由幀頭和凈荷兩部分構(gòu)成,如圖1所示。由于其承載數(shù)據(jù)量可變業(yè)務(wù),為了提高傳輸效率,采用長(zhǎng)度可變的幀結(jié)構(gòu)。在本高層協(xié)議中,幀頭和凈荷均為可變長(zhǎng)度,且由幀頭部定義。
幀頭結(jié)構(gòu)如圖2所示,由一個(gè)或多個(gè)子幀頭構(gòu)成。幀頭總是從主設(shè)備發(fā)送到從設(shè)備。
子幀頭結(jié)構(gòu)如圖3所示。其中AD是從設(shè)備端口地址。
PHF是凈荷長(zhǎng)度高8位為有效標(biāo)志。當(dāng)該位是1時(shí),表示凈荷長(zhǎng)度高8位有效,等于PH,子幀頭長(zhǎng)度為3個(gè)字節(jié);當(dāng)該位是0時(shí),表示凈荷長(zhǎng)度高8位為0,子幀頭長(zhǎng)度是2個(gè)字節(jié)。
RW用于定義本子幀頭的屬性。在本高層協(xié)議中,有兩種子幀頭,寫(xiě)子幀頭和讀子幀頭。寫(xiě)子幀頭用于定義從主設(shè)備發(fā)送數(shù)據(jù)到從設(shè)備的傳輸格式,讀子幀頭用于定義從從設(shè)備發(fā)送數(shù)據(jù)到主設(shè)備的傳輸格式。當(dāng)該位為1時(shí),表示該子幀頭為寫(xiě)子幀頭;當(dāng)該位為0時(shí),該子幀頭為讀子幀頭。
PL用于表示凈荷長(zhǎng)度的低4位。
LSHF是最后一個(gè)子幀頭標(biāo)志位。當(dāng)該位為1時(shí),表示本子幀頭是最后一個(gè)子幀頭;當(dāng)該位為0時(shí),表示本子幀頭不是最后一個(gè)子幀頭。
PH用于表示凈荷長(zhǎng)度的高8位。該8位是可選的,且由PHF確定。
Res.是保留位。
凈荷就是被傳輸?shù)臄?shù)據(jù),其長(zhǎng)度是可變化。凈荷長(zhǎng)度由對(duì)應(yīng)的子幀頭定義,寫(xiě)子幀頭定義的凈荷長(zhǎng)度就是從主設(shè)備發(fā)送到從設(shè)備的數(shù)據(jù)的字節(jié)數(shù),讀子幀頭定義的凈荷長(zhǎng)度就是從從設(shè)備發(fā)送到主設(shè)備的數(shù)據(jù)的字節(jié)數(shù)。凈荷長(zhǎng)度的變化范圍是從1到4093個(gè)字節(jié),當(dāng)凈荷長(zhǎng)度不大于15個(gè)字節(jié),子幀頭的PHF位為0,凈荷長(zhǎng)度等于PL,當(dāng)凈荷長(zhǎng)度大于15個(gè)字節(jié)時(shí),凈荷長(zhǎng)度等于PH×16+PL。
本高層協(xié)議采用從設(shè)備自同步和主設(shè)備強(qiáng)迫同步的聯(lián)合同步方案。
從設(shè)備自同步就是從設(shè)備自動(dòng)同步每一幀,其方法是當(dāng)從設(shè)備接受到上一幀的最后一個(gè)字節(jié)后,自動(dòng)轉(zhuǎn)入下一幀的開(kāi)始。這種同步方案優(yōu)點(diǎn)就是同步電路簡(jiǎn)單,無(wú)需主設(shè)備參與;缺點(diǎn)是可靠性差,失步之后不能自動(dòng)恢復(fù)。
主設(shè)備強(qiáng)迫同步就是主設(shè)備發(fā)送同步信號(hào),其方法是主設(shè)備向從設(shè)備發(fā)送強(qiáng)迫同步信號(hào)(FEN)。這種同步方案的優(yōu)點(diǎn)失是可靠性高;缺點(diǎn)是需主設(shè)備參與,增加主設(shè)備負(fù)擔(dān)。
為了發(fā)揮這兩種同步方案的優(yōu)點(diǎn),克服其缺點(diǎn),我們采用聯(lián)合同步方案。聯(lián)合同步方案就是主機(jī)每隔若干幀發(fā)出一強(qiáng)迫同步信號(hào)FEN,強(qiáng)迫從設(shè)備同步。在主機(jī)不發(fā)送強(qiáng)迫同步信號(hào)時(shí),從設(shè)備自動(dòng)同步。
采用如圖1、2、3所示的高層協(xié)議的串行通信總線外部設(shè)備接口,就是將采用SPI協(xié)議作為底層協(xié)議,有機(jī)結(jié)合所述的高層協(xié)議,從而獲得一種最優(yōu)結(jié)構(gòu)的串行通信總線外部設(shè)備接口。其結(jié)構(gòu)如圖4所示,它由物理層協(xié)議實(shí)現(xiàn)模塊、高層協(xié)議實(shí)現(xiàn)模塊以及接口模塊構(gòu)成。其中所述物理層協(xié)議實(shí)現(xiàn)模塊用于接收串行時(shí)鐘信號(hào)(SCK),并根據(jù)SPI模式,產(chǎn)生時(shí)鐘信號(hào)輸出到高層協(xié)議實(shí)現(xiàn)模塊和接口模塊;所述接口模塊連接從設(shè)備有效選擇信號(hào)線(SSN)、主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線(MISO)、主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線(MOSI)以及讀數(shù)據(jù)信號(hào)線(RDATA)和寫(xiě)數(shù)據(jù)信號(hào)線(WDATA),從而形成所述串行通信總線外部設(shè)備接口的讀/寫(xiě)數(shù)據(jù)通路;所述高層協(xié)議實(shí)現(xiàn)模塊接收所述的高層協(xié)議幀,以進(jìn)行主從式全雙工或半雙工數(shù)據(jù)通信;同時(shí)接收來(lái)自主設(shè)備的強(qiáng)迫同步信號(hào)(FEN),以實(shí)現(xiàn)主從設(shè)備的聯(lián)合同步;并且輸出讀/寫(xiě)地址信號(hào)(RADDR/WADDR)、讀/寫(xiě)使能信號(hào)(RDN/WRN)。
下面將結(jié)合圖5、6及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
參考附圖5,本發(fā)明提供了一種半雙工串行通信總線外部設(shè)備接口,包括物理層協(xié)議實(shí)現(xiàn)模塊、高層協(xié)議實(shí)現(xiàn)模塊以及接口模塊。其中
所述物理層協(xié)議實(shí)現(xiàn)模塊用于接收串行時(shí)鐘信號(hào),并根據(jù)SPI模式,產(chǎn)生時(shí)鐘信號(hào)輸出到高層協(xié)議實(shí)現(xiàn)模塊和接口模塊;所述高層協(xié)議實(shí)現(xiàn)模塊接收高層協(xié)議幀,以進(jìn)行半雙工數(shù)據(jù)通信;接收來(lái)自主設(shè)備的強(qiáng)迫同步信號(hào),以實(shí)現(xiàn)主從設(shè)備的聯(lián)合同步;同時(shí)還根據(jù)高層協(xié)議幀產(chǎn)生讀/寫(xiě)地址信號(hào)(RADDR/WADDR)、讀/寫(xiě)使能信號(hào)(RDN/WRN);所述接口模塊連接SPI總線中的兩條數(shù)據(jù)線,即主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線(MISO)和主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線(MOSI),并且還連接讀數(shù)據(jù)信號(hào)線(RDATA)和寫(xiě)數(shù)據(jù)信號(hào)線(WDATA),從而形成該接口的讀/寫(xiě)數(shù)據(jù)通路。
為了實(shí)現(xiàn)SPI數(shù)據(jù)線復(fù)用,達(dá)到降低板級(jí)設(shè)計(jì)復(fù)雜性,使接口電路接口更加合理的目的,本發(fā)明還包括SPI數(shù)據(jù)線復(fù)用模塊。所述SPI數(shù)據(jù)線復(fù)用模塊通過(guò)SPI總線中的兩條數(shù)據(jù)線連接接口模塊,并通過(guò)雙向數(shù)據(jù)信號(hào)線(SIO)與主設(shè)備連接,從而完成所述接口模塊與主設(shè)備之間的數(shù)據(jù)交互。
圖6給出本發(fā)明的一種較佳實(shí)施例的電路原理方框圖。
該實(shí)施例中,所述SPI數(shù)據(jù)線復(fù)用模塊由輸出控制模塊和通道選擇元件構(gòu)成,所述通道選擇元件串聯(lián)接入雙向數(shù)據(jù)信號(hào)線與SPI數(shù)據(jù)線之間,所述輸出控制模塊用于產(chǎn)生通道選擇控制信號(hào),并輸入到通道選擇元件內(nèi),從而控制所述SPI數(shù)據(jù)線與雙向數(shù)據(jù)信號(hào)線的導(dǎo)通狀態(tài)。
所述通道選擇元件可以采用圖6所示的三態(tài)緩沖器,亦可采用如通道選擇開(kāi)關(guān)等其它具有通道選擇功能的元器件。所述通道選擇元件可以采用圖6所示的控制其中的MISO數(shù)據(jù)線與SIO信號(hào)線連通關(guān)系的方法,亦可采用MISO和MOSI兩條數(shù)據(jù)線二選一的與SIO信號(hào)線連通的控制方法,還可采用控制MOSI與SIO信號(hào)線連通關(guān)系的方法。
圖6中,所述三態(tài)緩沖器的輸入端連接MISO數(shù)據(jù)線,其輸出端連接雙向數(shù)據(jù)信號(hào)線,其控制端輸入通道選擇控制信號(hào)。所述雙向數(shù)據(jù)信號(hào)線SIO與輸出控制模塊的主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線MOSI導(dǎo)通連接。
所述輸出控制模塊是根據(jù)從設(shè)備有效信號(hào)、強(qiáng)迫同步信號(hào),以及高層協(xié)議實(shí)現(xiàn)模塊產(chǎn)生的讀寫(xiě)狀態(tài)信號(hào),產(chǎn)生通道選擇控制信號(hào)。當(dāng)從設(shè)備有效信號(hào)或強(qiáng)迫同步信號(hào)為高電平時(shí),或者讀寫(xiě)狀態(tài)信號(hào)為寫(xiě)操作時(shí),或者讀寫(xiě)狀態(tài)信號(hào)為讀操作且處于該讀操作的幀頭時(shí),所述輸出控制模塊產(chǎn)生通道選擇控制信號(hào)MISO_EN,使三態(tài)緩沖器輸出高阻,從而選擇雙向數(shù)據(jù)信號(hào)線SIO與主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線MOSI導(dǎo)通。
所述輸出控制模塊的這種邏輯判別關(guān)系,可以采用一些簡(jiǎn)單的邏輯電路來(lái)實(shí)現(xiàn),如與非門(mén)陣列、譯碼電路等等。這些邏輯判別電路為本領(lǐng)域內(nèi)常見(jiàn)的技術(shù),普通的技術(shù)人員無(wú)需經(jīng)過(guò)創(chuàng)造性的勞動(dòng)即可實(shí)現(xiàn),為簡(jiǎn)明起見(jiàn),本說(shuō)明書(shū)中不再進(jìn)行詳細(xì)描述。
本較佳實(shí)施例中,所述物理層協(xié)議實(shí)現(xiàn)模塊為一時(shí)鐘產(chǎn)生模塊。所述時(shí)鐘產(chǎn)生模塊的主要功能是根據(jù)SPI的串行時(shí)鐘SCK和SPI模式選擇信號(hào)MSEL產(chǎn)生時(shí)鐘信號(hào)spi_clk及其反相信號(hào)spi_clkn。當(dāng)SPI模式為0和3時(shí),時(shí)鐘信號(hào)spi_clk和SPI串行時(shí)鐘SCK同相,當(dāng)SPI模式為1和2時(shí),時(shí)鐘信號(hào)spi_clk和SPI串行時(shí)鐘SCK是反相。spi_clkn始終與時(shí)鐘信號(hào)spi_clk反相。在本方案中,所有寄存器的時(shí)鐘都是spi_clk或其反相信號(hào)spi_clkn。
所述接口模塊由讀緩沖區(qū)和寫(xiě)緩沖區(qū)構(gòu)成。其中,寫(xiě)緩沖區(qū)連接主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線MOSI,所述讀緩沖區(qū)連接主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線MISO。寫(xiě)緩沖區(qū)模塊的主要功能是從SPI總線上按比特接收數(shù)據(jù),以8位的數(shù)據(jù)線并行輸出。為了減少延遲,采用雙緩沖區(qū)結(jié)構(gòu)。所述讀緩沖區(qū)模塊的主要功能是從8位的并行讀數(shù)據(jù)信號(hào)RDATA讀入一個(gè)字節(jié),然后串行輸出到SPI總線上。為了支持連續(xù)的讀操作,采用預(yù)取技術(shù),即提前將數(shù)據(jù)讀出。
所述高層協(xié)議實(shí)現(xiàn)模塊由比特計(jì)數(shù)器、字節(jié)計(jì)數(shù)器、地址鎖存模塊、寫(xiě)控制模塊、讀控制模塊構(gòu)成,所述強(qiáng)迫同步信號(hào)FEN分別輸入到比特計(jì)數(shù)器和字節(jié)計(jì)數(shù)器中,所述高層協(xié)議幀通過(guò)主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線MOSI分別輸入到地址鎖存模塊、寫(xiě)控制模塊和讀控制模塊,所述地址鎖存模塊輸出讀/寫(xiě)地址信號(hào)RADDR和WADDR,所述寫(xiě)控制模塊輸出寫(xiě)使能信號(hào)WRN,所述讀控制模塊輸出讀使能信號(hào)RDATA。
比特計(jì)數(shù)器的主要功能是記錄當(dāng)前SPI總線上傳輸?shù)臄?shù)據(jù)是某一字節(jié)的第幾比特。該計(jì)數(shù)器是模8計(jì)數(shù)器。當(dāng)SSN或FEN為高電平時(shí),該計(jì)數(shù)器復(fù)位。
字節(jié)計(jì)數(shù)器的主要功能時(shí)記錄當(dāng)前傳輸數(shù)據(jù)屬于高層協(xié)議幀中哪一個(gè)字節(jié)。該計(jì)數(shù)器是以幀長(zhǎng)為模的計(jì)數(shù)器。當(dāng)FEN為高電平時(shí),該計(jì)數(shù)器復(fù)位。
地址鎖存模塊主要功能是鎖存高層協(xié)議幀中的讀地址或?qū)懙刂贰?br>
寫(xiě)控制信號(hào)產(chǎn)生模塊的主要功能是產(chǎn)生寫(xiě)控制信號(hào)WRN和寫(xiě)狀態(tài)信號(hào)。
讀控制信號(hào)產(chǎn)生模塊的主要功能是產(chǎn)生讀控制信號(hào)RDN和讀狀態(tài)信號(hào)。
所述高層協(xié)議實(shí)現(xiàn)模塊輸出的讀寫(xiě)狀態(tài)信號(hào)則包括比特計(jì)數(shù)器輸出的比特?cái)?shù)byte_count,字節(jié)計(jì)數(shù)器輸出的字節(jié)數(shù)bit_count,寫(xiě)控制模塊輸出的寫(xiě)狀態(tài)信號(hào),以及讀控制模塊輸出的讀狀態(tài)信號(hào)。
本實(shí)施例中,物理層協(xié)議實(shí)現(xiàn)模塊、高層協(xié)議實(shí)現(xiàn)模塊以及接口模塊的具體電路均可以采用現(xiàn)有技術(shù)中的相關(guān)電路實(shí)現(xiàn),因此本說(shuō)明書(shū)中無(wú)需再詳細(xì)描述。
由前述可知,本發(fā)明可以采用多種實(shí)施方式實(shí)現(xiàn),因此本發(fā)明包括但不限于本實(shí)施例。具體實(shí)施過(guò)程中,凡依本發(fā)明技術(shù)方案所作的改變,所產(chǎn)生的功能作用未超出本發(fā)明技術(shù)方案的范圍時(shí),均屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種半雙工串行通信總線外部設(shè)備接口,包括物理層協(xié)議實(shí)現(xiàn)模塊、高層協(xié)議實(shí)現(xiàn)模塊以及接口模塊;所述物理層協(xié)議實(shí)現(xiàn)模塊用于接收串行時(shí)鐘信號(hào),并根據(jù)SPI模式,產(chǎn)生時(shí)鐘信號(hào)輸出到高層協(xié)議實(shí)現(xiàn)模塊和接口模塊;所述高層協(xié)議實(shí)現(xiàn)模塊接收高層協(xié)議幀,以進(jìn)行半雙工數(shù)據(jù)通信;接收來(lái)自主設(shè)備的強(qiáng)迫同步信號(hào),以實(shí)現(xiàn)主從設(shè)備的聯(lián)合同步;同時(shí)還根據(jù)高層協(xié)議幀產(chǎn)生讀/寫(xiě)地址信號(hào)、讀/寫(xiě)使能信號(hào);所述接口模塊連接SPI總線中的兩條數(shù)據(jù)線,即主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線和主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線,并且還連接讀數(shù)據(jù)信號(hào)線和寫(xiě)數(shù)據(jù)信號(hào)線,從而形成該接口的讀/寫(xiě)數(shù)據(jù)通路;其特征在于還包括SPI數(shù)據(jù)線復(fù)用模塊,所述SPI數(shù)據(jù)線復(fù)用模塊通過(guò)SPI總線中的兩條數(shù)據(jù)線連接接口模塊,并通過(guò)雙向數(shù)據(jù)信號(hào)線與主設(shè)備連接,從而完成所述接口模塊與主設(shè)備之間的數(shù)據(jù)交互。
2.如權(quán)利要求1所述半雙工串行通信總線外部設(shè)備接口,其特征在于所述SPI數(shù)據(jù)線復(fù)用模塊由輸出控制模塊和通道選擇元件構(gòu)成,所述通道選擇元件串聯(lián)接入雙向數(shù)據(jù)信號(hào)線與SPI數(shù)據(jù)線之間,所述輸出控制模塊用于產(chǎn)生通道選擇控制信號(hào),并輸入到通道選擇元件內(nèi),從而控制所述SPI數(shù)據(jù)線與雙向數(shù)據(jù)信號(hào)線的導(dǎo)通狀態(tài)。
3.如權(quán)利要求2所述半雙工串行通信總線外部設(shè)備接口,其特征在于所述輸出控制模塊是根據(jù)從設(shè)備有效信號(hào)、強(qiáng)迫同步信號(hào),以及高層協(xié)議實(shí)現(xiàn)模塊產(chǎn)生的讀寫(xiě)狀態(tài)信號(hào),產(chǎn)生通道選擇控制信號(hào)。
4.如權(quán)利要求3所述半雙工串行通信總線外部設(shè)備接口,其特征在于當(dāng)從設(shè)備有效信號(hào)或強(qiáng)迫同步信號(hào)為高電平時(shí),或者讀寫(xiě)狀態(tài)信號(hào)為寫(xiě)操作時(shí),或者讀寫(xiě)狀態(tài)信號(hào)為讀操作且處于該讀操作的幀頭時(shí),所述輸出控制模塊產(chǎn)生通道選擇控制信號(hào),選擇雙向數(shù)據(jù)信號(hào)線與主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線導(dǎo)通。
5.如權(quán)利要求2、3或4所述半雙工串行通信總線外部設(shè)備接口,其特征在于所述通道選擇元件采用三態(tài)緩沖器,所述三態(tài)緩沖器的輸入端連接SPI數(shù)據(jù)線,其輸出端連接雙向數(shù)據(jù)信號(hào)線,其控制端輸入通道選擇控制信號(hào)。
6.如權(quán)利要求5所述半雙工串行通信總線外部設(shè)備接口,其特征在于所述雙向數(shù)據(jù)信號(hào)線與輸出控制模塊的主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)接口導(dǎo)通連接。
7.如權(quán)利要求6所述半雙工串行通信總線外部設(shè)備接口,其特征在于所述高層協(xié)議實(shí)現(xiàn)模塊包括比特計(jì)數(shù)器、字節(jié)計(jì)數(shù)器、地址鎖存模塊、寫(xiě)控制模塊和讀控制模塊,所述高層協(xié)議實(shí)現(xiàn)模塊輸出的讀寫(xiě)狀態(tài)信號(hào)包括比特計(jì)數(shù)器輸出的比特?cái)?shù),字節(jié)計(jì)數(shù)器輸出的字節(jié)數(shù),寫(xiě)控制模塊輸出的寫(xiě)狀態(tài)信號(hào),以及讀控制模塊輸出的讀狀態(tài)信號(hào)。
8.如權(quán)利要求7所述半雙工串行通信總線外部設(shè)備接口,其特征在于所述接口模塊包括寫(xiě)緩沖區(qū)和讀緩沖區(qū),其中寫(xiě)緩沖區(qū)連接主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線,所述讀緩沖區(qū)連接主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線。
全文摘要
本發(fā)明提供了一種半雙工串行通信總線外部設(shè)備接口,包括物理層協(xié)議實(shí)現(xiàn)模塊、高層協(xié)議實(shí)現(xiàn)模塊以及接口模塊;所述接口模塊連接SPI總線中的兩條數(shù)據(jù)線,即主設(shè)備輸入/從設(shè)備輸出數(shù)據(jù)線和主設(shè)備輸出/從設(shè)備輸入數(shù)據(jù)線,并且還連接讀數(shù)據(jù)信號(hào)線和寫(xiě)數(shù)據(jù)信號(hào)線,從而形成該接口的讀/寫(xiě)數(shù)據(jù)通路;還包括SPI數(shù)據(jù)線復(fù)用模塊,所述SPI數(shù)據(jù)線復(fù)用模塊通過(guò)SPI總線中的兩條數(shù)據(jù)線連接接口模塊,并通過(guò)雙向數(shù)據(jù)信號(hào)線與主設(shè)備連接,從而完成所述接口模塊與主設(shè)備之間的數(shù)據(jù)交互。相對(duì)現(xiàn)有技術(shù),本發(fā)明在保證主、從設(shè)備半雙工數(shù)據(jù)通信控制準(zhǔn)確、數(shù)據(jù)通道暢通的前提下,具有結(jié)構(gòu)簡(jiǎn)單合理、信號(hào)線少、板級(jí)設(shè)計(jì)較簡(jiǎn)單等特點(diǎn)。
文檔編號(hào)G06F13/42GK1619518SQ20041009632
公開(kāi)日2005年5月25日 申請(qǐng)日期2004年11月30日 優(yōu)先權(quán)日2004年11月30日
發(fā)明者王軍, 金傳恩, 董欣 申請(qǐng)人:北京中星微電子有限公司