TWI747176B - 串列周邊介面主機、其中之方法及包含串列周邊介面主機之系統 - Google Patents

串列周邊介面主機、其中之方法及包含串列周邊介面主機之系統 Download PDF

Info

Publication number
TWI747176B
TWI747176B TW109106470A TW109106470A TWI747176B TW I747176 B TWI747176 B TW I747176B TW 109106470 A TW109106470 A TW 109106470A TW 109106470 A TW109106470 A TW 109106470A TW I747176 B TWI747176 B TW I747176B
Authority
TW
Taiwan
Prior art keywords
data
list
time
packet
spi
Prior art date
Application number
TW109106470A
Other languages
English (en)
Other versions
TW202101241A (zh
Inventor
佩爾 桑德爾
約翰 溫納斯坦
Original Assignee
瑞典商安訊士有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞典商安訊士有限公司 filed Critical 瑞典商安訊士有限公司
Publication of TW202101241A publication Critical patent/TW202101241A/zh
Application granted granted Critical
Publication of TWI747176B publication Critical patent/TWI747176B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Abstract

揭示了一種串列周邊介面(SPI)主機(110)及在該SPI主機中之方法,該SPI主機及該方法用於將資料傳送至一資料通信及處理系統(100)中之一周邊裝置。該SPI主機(110)包含一記憶體(111),該記憶體包含封包之一清單,每一封包包含與一時間參數相關聯之資料,該時間參數指示該資料要在何時傳送至該周邊裝置。該時間參數為可組態的。該SPI主機進一步包含一串列傳輸及接收單元(112),該串列傳輸及接收單元用以在根據與該資料相關聯之該時間參數的一時間傳送該清單中之該資料。

Description

串列周邊介面主機、其中之方法及包含串列周邊介面主機之系統
本文中之具體實例係關於一種串列周邊介面(Serial Peripheral Interface;SPI)主機。該些具體實例進一步係關於一種包含SPI主機之資料通信及處理系統。
在諸如視訊監視系統、網路音訊系統、無線通信系統、雷達系統等資料通信及處理系統中,經由SPI協定由主系統晶片中之中央處理單元(central processing unit;CPU)組態及控制許多周邊電路,如感測器、攝影機、視訊單元、類比至數位轉換器(analog-to-digital converter;ADC)、數位至類比轉換器(digital-to-analog converter;DAC)、音訊編解碼器、馬達控制裝置及類似者。在一些應用中,周邊電路需要即時地重組態,其中僅小的時間窗被允許用於SPI命令。在傳統中斷驅動或直接記憶體存取(direct memory access;DMA)驅動之SPI之情況下,可能難以在正確時間開始傳送以使SPI適合於所允許時間窗內。
通常,該問題係藉由使用用於時間要求嚴格的SPI通信之專用微控制器來解決。然而,使用專用微控制器會增加成本。在US 6687769中,經改良高效能緩衝方案提供有用以實現基於微控制器之產品以及其他組件及裝置以 達成較高串列傳輸及接收資料速率的SPI。緩衝方案可提供高資料速率而無需頻繁CPU輪詢或高中斷負擔。緩衝方案經組態有用於識別資料何時準備好傳輸或由CPU讀取之中斷組態。然而,此軟體控制相當複雜且其並不解決問題,亦即,使SPI傳送恰好在所要時間發生。
鑒於上文,本文中之具體實例之目標為提供用於將資料傳送至資料通信及處理系統中之周邊裝置的改良方法及設備。
根據本文中之具體實例之一個態樣,該目標係藉由一種用於將資料傳送至一資料通信及處理系統中之一周邊裝置的SPI主機來達成。該SPI主機包含一記憶體,該記憶體包含封包之一清單。每一封包包含與一時間參數相關聯之資料,該時間參數指示該資料要在何時傳送至該周邊裝置。該時間參數為可組態的。該SPI主機進一步包含一串列傳輸及接收單元,該串列傳輸及接收單元用以在根據與該資料相關聯之該時間參數的一時間傳送該清單中之該資料。
根據本文中之具體實例之一個態樣,該目標係藉由一種在一SPI主機中執行之用於將資料傳送至一資料通信及處理系統中之一周邊裝置的方法來達成。該SPI主機包含一記憶體及一串列傳輸及接收單元,該記憶體包含封包之一清單。每一封包包含與一時間參數相關聯之資料,該時間參數指示該資料要在何時傳送至該周邊裝置。該時間參數為可組態的。該SPI主機在根據與該資料相關聯之該時間參數的一時間將該清單中之該資料傳送至該周邊裝置。
換言之,根據本文中之具體實例之SPI主機具有內部記憶體,例如隨機存取記憶體(Random Access Memory;RAM),其中封包之清單(亦即SPI傳送)可排入佇列(queue up)且接著在不同的明確界定之時間執行。根據本文中之具體實例之SPI主機能夠在例如來自系統中之全域計時器的可組態絕 對時間開始處理封包之清單及SPI傳送,或藉由自資料通信及處理系統接收外部信號而開始處理封包之清單及傳送,或在自資料通信及處理系統接收起始信號起等待可組態時間之後開始處理封包之清單及傳送。清單可為循環的,使得SPI傳送之相同序列可重複可組態次數。
根據本文中之具體實例之SPI主機可實施為主系統晶片中之功能區塊。
相較於可通常利用軟體控制達成之情況(甚至在利用專用微控制器之情況下),根據本文中之具體實例之SPI主機提供對時序之更精確控制。在根據本文中之具體實例之SPI主機中執行的方法不太複雜,此係由於主要在硬體中處置時序。SPI主機可整合至主系統晶片中且藉由跳過外部微控制器組件來節省成本。
因此,本文中之具體實例提供用於將資料傳送至資料通信及處理系統中之周邊裝置的改良方法及設備。
100:資料通信及處理系統
110:串列周邊介面(SPI)主機
111:記憶體
112:串列傳輸及接收單元
120:主系統晶片
122:中央處理單元
123:本端控制單元LCU
124:隨機存取記憶體
300:雷達系統/雷達
400:SPI主機/RSPI
410:記憶體
420:串列傳輸及接收單元
430:本端CPU LCPU
810:動作
820:動作
830:動作
840:動作
chip selects:晶片選擇輸出接腳
clk:時鐘
D1:資料
D2:資料
D3:資料
DATA:封包/參數
DATA1:資料區域
DATA2:資料指標
Ext:信號
HEADER:標頭
miso:接腳
mosi:接腳
PD1:周邊裝置/周邊電路
PD2:周邊裝置/周邊電路
PD3:周邊裝置/周邊電路
POINTER1:指標
POINTER2:資料指標
t1:時間參數/斜坡/封包/時間
t2:時間參數/斜坡
t3:時間參數
TIME:參數
Ts:訊框/開始時間
將參考隨附圖式更詳細地描述具體實例之實例,在圖式中:[圖1]為說明其中可實施根據本文中之具體實例之SPI主機之資料通信及處理系統的示意性方塊圖;[圖2]為說明根據本文中之具體實例之儲存於記憶體中之封包之清單及資料封包之實例結構的示意性方塊圖;[圖3]為說明雷達系統之示意性方塊圖;[圖4]為說明根據本文中之具體實例之雷達SPI主機的示意性方塊圖;[圖5]為說明根據本文中之具體實例之具有資料封包清單之啁啾(chirp)信號的示意圖; [圖6]為說明根據本文中之具體實例之用於封包標頭之實例結構的示意性方塊圖;[圖7]為說明根據本文中之具體實例之封包結構的示意圖;且[圖8]為說明根據本文中之具體實例之在SPI主機中執行之方法的流程圖。
圖1為說明其中可實施根據本文中之具體實例之SPI主機110之資料通信及處理系統100的示意性方塊圖。
資料通信及處理系統100可為視訊監視系統、網路音訊系統、無線通信系統、雷達系統等中之任一者。資料通信及處理系統100包含主系統晶片120。主系統晶片120包含CPU 122。資料通信及處理系統100可進一步包含一或多個周邊電路或裝置PD1、PD2、PD3...,諸如感測器、攝影機、視訊單元、ADC、DAC、音訊編解碼器、馬達等。周邊裝置PD1、PD2、PD3可位於或整合於主系統晶片120上或位於主系統晶片120外部。
根據本文中之具體實例,SPI主機110包含記憶體111,該記憶體包含封包之清單,每一封包包含與時間參數t1、t2、t3...相關聯之資料D1、D2、D3...,該時間參數指示資料要在何時傳送至周邊裝置。時間參數為可組態的,且其經設置以確保周邊裝置中之某些事件在某些時間發生,此係因為該些事件為應用所需要的。時間參數為可組態的且可基於周邊裝置之不同應用、操作模式、操作模式參數等而組態。
SPI主機110進一步包含用以與周邊裝置PD1、PD2、PD3通信之串列傳輸及接收單元T/R 112。串列傳輸及接收單元T/R 112在根據與資料相關聯之時間參數的時間將清單中之資料傳送至周邊電路PD1、PD2、PD3。
SPI主機110可實施為主系統晶片120中之功能區塊。CPU 122可 與SPA主機110互動以用於控制一或多個周邊裝置PD1、PD2、PD3之操作。
資料通信及處理系統100可進一步包含用於儲存其他資料或組態之一或多個RAM 124
有多種方式觸發串列傳輸及接收單元112開始處理封包之清單及傳送資料。
根據本文中之一些具體實例,SPI主機110可自資料通信及處理系統100接收信號Ext,且此所接收外部信號將觸發串列傳輸及接收單元112開始處理封包之清單。
根據本文中之一些具體實例,串列傳輸及接收單元112可在自資料通信及處理系統接收起始信號起等待可組態時間之後開始處理封包之清單。
根據本文中之一些具體實例,串列傳輸及接收單元112可在可組態絕對時間開始處理封包之清單,亦即,串列傳輸及接收單元112可在具有絕對時間之計時器到期時開始處理封包之清單。計時器可為資料通信及處理系統100中之全域計時器或被稱為全域計時器。
圖2展示根據本文中之具體實例的儲存於記憶體111中之封包之清單及資料封包之實例結構。在每一資料封包中,除參數TIMEDATA之外,該資料封包可包含標頭HEADER。標頭指示與哪一周邊裝置通信,且亦指示SPI協定之封包長度及操作模式。可存在若干SPI協定變體,且SPI主機需要選擇正確模式以與周邊裝置匹配。對於傳輸資料,資料可直接在封包DATA中,或可存在至單獨資料區域DATA1之指標POINTER1,或兩種情況皆有。若吾人希望在若干緩衝器中分裂封包,則可存在更多資料指標,諸如POINTER2、DATA2。
對於接收資料,其可具有類似情形。SPI主機可保留封包資料自身中之空間或可將一或多個指標提供至單獨資料區域,或兩種情況皆有。根據本文中之一些具體實例,傳輸資料可直接在封包中,且用於接收資料之至單獨 接收緩衝器的指標。
根據本文中之一些具體實例,串列傳輸及接收單元112可在循環結構中傳送封包清單中之資料,使得清單中之封包重複可組態次數,如圖2中所展示。在每一循環之間,可存在等待觸發。然而,可能不必在循環之間等待觸發。
取決於不同周邊裝置之不同應用及組態,與每一封包中之資料相關聯的時間參數可以不同方式組態。
根據本文中之一些具體實例,與資料相關聯之時間參數可為絕對時間。
根據本文中之一些具體實例,與資料相關聯之時間參數可為相對時間。舉例而言,當前封包之時間參數與先前封包之開始或結束時間相關。
基本上,除第一封包之開始以外,其他皆無關緊要,其中當一個裝置希望與一些其他裝置同時開始時,絕對時間係有用的。接著,兩個裝置經組態以具有相同的開始時間且等待直至彼時間到期。在第一封包之後,僅為相對時間抑或絕對時間為較佳的實施決策。
根據本文中之一些具體實例,可使用來自周邊裝置之事件資訊推斷與資料相關聯之時間參數。舉例而言,若SPI主機用於馬達控制裝置,則吾人可讀出取決於馬達類型之資訊,例如速度、位置、電流、電壓。接著基於來自馬達之資訊計算將命令發出至馬達之時間。
根據本文中之一些具體實例,至少第一封包中之資料之時間參數係基於自周邊裝置接收之觸發信號而判定。舉例而言,SPI主機可在影像感測器或整個攝影機開始曝光時自該影像感測器或整個攝影機獲得觸發信號。接著,有可能在與曝光之開始相關的特定時間利用由SPI主機控制之電子閃光激發一系列閃光。
根據本文中之一些具體實例,可使用自資料通信及處理系統100之一些其他部分(亦即,不自受控周邊裝置自身)傳達的絕對時間推斷與資料相關聯之時間參數。資料通信及處理系統100之另一部分可控制一些其他周邊裝置,且有必要同時或以已知時間差實行兩個動作。舉例而言,在立體攝影機情況下,存在兩個攝影機,且在每一攝影機中,SPI主機110控制何時拍攝圖像。兩個攝影機具有例如經由全球定位系統(Global Positioning System;GPS)或精確度時間協定(Precision Time Protocol;PTP)之共同絕對時間,PTP為乙太網路之擴展。兩個攝影機獲得相同絕對開始時間,因此其可開始以同步方式拍攝圖像。
根據本文中之一些具體實例,清單中之一或多個時間參數可藉由使用周邊裝置之操作模式參數來判定。舉例而言,可基於周邊裝置之操作模式參數推斷與第一封包中之資料相關聯的時間參數及清單中之連續封包之間的時間差。
舉例而言,為了控制雷達傳輸器,可使用諸如何時打開及關閉電源、在精確時間將傳輸器之功率位準及/或頻率設定為特定值以形成正確雷達波束等操作模式參數來判定時間參數及/或清單中之連續封包之間的時間差。
另一實例可為控制影像感測器,其中吾人可能希望改變線之間或訊框之間的遮沒間隔中之增益或曝光時間。諸如遮沒間隔、訊框速率等操作模式參數可用以判定時間參數及/或清單中之連續封包之間的時間差。
封包之清單及與每一封包中之資料相關聯的時間參數可由資料通信及處理系統100中之CPU 122預定或組態且儲存於SPI主機110之記憶體111中。
根據本文中之一些具體實例,資料通信及處理系統100可進一步包含本端控制單元LCU 123,且封包之清單及與每一封包中之資料相關聯的時間 參數可由本端控制單元LCU 123預定或組態及設置。
根據本文中之一些具體實例,可藉由添加潛時因子以考慮資料通信及處理系統100中之任何顯著潛時來調整時間參數。潛時因子可為可取決於SPI正傳輸至之周邊裝置以預定方式改變的可調整因子。舉例而言,若SPI匯流排上存在具有不同時鐘速度之兩個周邊裝置,則有可能將延遲添加至較快裝置且首先開始至較慢裝置之傳輸,使得該些裝置同時結束。
取決於不同周邊裝置之不同應用及組態,封包清單中之資料可為不同的。周邊裝置可為雷達系統、影像感測器、音訊編解碼器、類比至數位轉換器、數位至類比轉換器、馬達控制裝置、攝影機或視訊單元中之任一者。
根據本文中之一些具體實例,至少一個封包中之資料可為待傳送至周邊裝置之組態資料。
舉例而言,對於攝影機,組態資料可對應於例如增益及曝光時間、光圈、光學影像穩定化、變焦等。
對於雷達系統,雷達傳輸中之啁啾可經組態及控制。圖3展示包含一或多個雷達之雷達系統300。每一雷達具有可能具有鎖相迴路(phase locked loop;PLL)之傳輸器(Tx)、一或多個接收器(Rx)及一或多個ADC。舉例而言,可存在至多4個雷達,但一次僅運行兩個。在4雷達情況下,每一雷達中可僅存在一個Rx及一個ADC。此意謂可具有至多16個裝置,亦即,16個晶片以進行選擇及組態。
所有裝置需要經由SPI協定之組態,但僅Tx及其PLL(若分開)需要運行時間重組態。
圖4展示根據本文中之一些具體實例之用於雷達系統的SPI主機RSPI 400。RSPI 400包含內部記憶體410、具有兩個SPI埠之串列傳輸及接收單元T/X 420。串列傳輸及接收單元420具有一或多個晶片選擇輸出接腳chip selects, 亦即,每周邊裝置一個晶片選擇輸出接腳,且具有6個輸入/輸出接腳,亦即2個時鐘clk接腳、2個主機輸出/從機輸入(master out/slave in;MOSI)mosi接腳及2個主機輸入/從機輸出(master in/slave out;MISO)miso接腳。每一SPI埠具有其3個接腳clk、mosi、miso。圖4中亦展示本端CPU LCPU 430以及RSPI 400。
根據SPI協定,SPI匯流排允許在兩條線MOSI及MISO上同時傳輸及接收資料。時鐘極性(clock polarity;CPOL)及時鐘相位(clock phase;CPHA)為定義待由SPI匯流排使用之時鐘格式的主要參數。
以下為RSPI 400中之暫存器之清單:rw_cfg 模組啟用、位元時鐘極性、計時器時鐘源、MOSI接腳模式
rw_trig 觸發輸入模式及接腳選擇
rw_clk 位元時鐘頻率
rw_mem_wr_ptr 用於內部記憶體寫入之位址
rw_mem_wr 至內部記憶體之寫入,每一寫入遞增rw_mem_wr_ptr
rw_head_wr 用於rw_mem_wr之映頻混擾(alias),以及描述封包標頭之欄位
rw_rec_wr 用於rw_mem_wr之映頻混擾,以及封包標頭之接收位址欄位
rw_mem_rd_cfg 用於內部記憶體讀數之位址及讀取型樣
rs_mem_rd 來自內部記憶體之讀數,每一讀數更新rw_mem_rd_cfg
rw_first 用於清單中之第一封包的位址
rw_cnt 用於清單之循環計數器
rw_time 用於清單之開始時間,雙重緩衝
rw_start 開始命令
r_stat 狀態暫存器
r_intr... 中斷暫存器
rw_cs_cfg 晶片選擇極性、對於兩個埠共同的單獨範圍
以下為RSPI 400中之中斷之清單: rdy SPI埠準備好獲得新的開始命令
idle SPI埠為閒置的
pkt 具有pkt_irq欄位集合之封包完成
eol 具有eol欄位集合之封包完成
雷達300傳輸啁啾。啁啾為頻率隨著時間增大或減小之信號。亦即,傳輸頻率以斜坡形式變化,如圖5(a)中所展示。啁啾信號可以訊框發送,每一訊框可包含兩個或更多個斜坡。此可由SPI主機110中之封包之清單組態及控制。
通常,需要若干封包以控制一個斜坡。舉例而言,用以打開電源之封包、用以開始頻率傾斜之封包、用以停止頻率傾斜之封包、用以關閉電源之封包等。所有此等封包需要在正確時間發送。圖5(b)展示用於一個斜坡之封包之清單。針對訊框中之每一斜坡重複用於一個斜坡之封包之序列。斜坡t1內之封包之間以及訊框中之斜坡t2之間的時序非常關鍵,例如需要約500ns精確度。另外,訊框Ts之開始亦必須處於準確時間。
如圖5(b)中所展示,封包可作為記憶體410中之循環組織於經鏈接清單中。該清單可重複可組態次數。更一般而言,當清單結束eol被傳遞可組態次數時,傳送處理將停止。每一循環可對應於一個或2個或更多個啁啾,但存在針對如上文所描述之每一啁啾發送的若干命令,亦即封包。訊框中之啁啾之數目通常對應於封包之清單循環的次數。根據本文中之一些具體實例,可使封包之清單較長,使得其例如在需要兩種交替類型之啁啾之情況下覆蓋兩個啁啾。
圖6展示封包標頭之實例結構。取決於是否丟棄所接收資料,標頭由兩個或三個32位元字組成。下表1中描述標頭之欄位。
Figure 109106470-A0305-02-0013-1
封包t1之間的時間可組態於封包標頭中。時間t1可以雷達時鐘週期之數目或使用內部時鐘進行計數。
第一封包之開始時間Ts可組態於暫存器中。此暫存器可自控制CPU寫入,該控制CPU為主CPU或LCPU。Ts連續地與系統中之絕對時間計時器進行比較,且當其匹配時產生開始脈衝或觸發信號。替代地,可立即或在接收外部觸發信號之後開始第一封包。
封包長度、晶片選擇、達達位元次序等亦可組態於封包標頭中。
在rec_addr之情況下,封包長度、晶片選擇、達達位元次序等亦可組態於封包標頭中而不論所接收資料是否被儲存及將所接收資料儲存於內部 RAM中之何處。
一個SPI封包可含有若干封裝資料值,例如12位元值,如圖7中所展示。該些值可能需要填補至16或32個位元且重排序以匹配雷達子系統之資料格式。填補及重排序可組態於暫存器rw_mem_rd_cfg中。位元時鐘頻率可為可組態的,例如3.2kHz至50MHz。在此實例中,利用400MHz時鐘對RSPI 400模組計時,且內部記憶體410之大小為4kb,亦即1k×32。
現將參看圖8描述在SPI主機110中執行之用於將資料傳送至資料通信及處理系統100中之周邊裝置的方法。如上文所描述,SPI主機110包含記憶體111及串列傳輸及接收單元112,該記憶體包含封包之清單。每一封包包含與時間參數相關聯之資料,該時間參數指示資料要在何時傳送至周邊裝置。該方法包含以下動作。
動作810
SPI主機110等待串列傳輸及接收單元112之觸發信號開始處理封包之清單。
觸發信號可為來自資料通信及處理系統100之外部信號。串列傳輸及接收單元112可在接收外部信號之後開始處理封包之清單。串列傳輸及接收單元112亦可在自接收外部信號起等待可組態時間之後開始處理封包之清單。
觸發信號亦可為具有可組態絕對時間之計時器,且串列傳輸及接收單元112可在計時器到期時開始處理封包之清單。
動作820
串列傳輸及接收單元112開始處理封包之清單,諸如自記憶體111讀出封包之清單,自含有封包之特定組態的封包標頭獲得資訊,該資訊諸如開始時間、封包長度、位元次序及CPHA模式、至下一封包之指標等。
動作830
串列傳輸及接收單元112檢查與資料相關聯之時間參數且等待直至是時候傳送封包中之資料。
動作840
串列傳輸及接收單元112在根據與資料相關聯之時間參數的時間傳送封包之清單中之資料。串列傳輸及接收單元112繼續處理封包之清單直至所有封包皆已被發送。封包標頭中之pkt_irq欄位用於在封包被完全處理時產生中斷pkt。
串列傳輸及接收單元112可在循環結構中傳送封包之清單中之資料,使得封包之清單重複可組態次數。
串列傳輸及接收單元112可檢查eol是否被傳遞可組態次數。eol為清單結束標記。當具有此欄位集合之封包已傳送組態於rw_cnt中之次數時,封包清單之處理停止。
總之,SPI主機110、400及其中根據具體實例之方法具有一些優勢。舉例而言,其為周邊裝置之運行時間組態提供可能性,使得組態之傳送適合於所允許時間窗內。其相較於可通常藉由利用軟體控制之先前技術方案達成的情況(甚至在利用專用微控制器之情況下)提供對時序之更精確控制。其提供不太複雜的方法,此係由於主要在硬體中處置時序。其藉由整合至主系統晶片中而不使用外部微控制器組件來節省成本。
當使用詞語「包含(comprise/comprising)」時,應將其解釋為非限制性的,亦即意謂「至少由...組成」。
本文中之具體實例不限於上文所描述之較佳具體實例。可使用各種替代方案、修改及等效物。因此,以上具體實例不應被視為限制由隨附申請專利範圍界定之本發明之範圍。
100:資料通信及處理系統
110:串列周邊介面(SPI)主機
111:記憶體
112:串列傳輸及接收單元
120:主系統晶片
122:中央處理單元
123:本端控制單元LCU
124:隨機存取記憶體
D1:資料
D2:資料
PD1:周邊裝置/周邊電路
PD2:周邊裝置/周邊電路
PD3:周邊裝置/周邊電路
t1:時間參數/斜坡/封包/時間
t2:時間參數/斜坡

Claims (14)

  1. 一種串列周邊介面(SPI)主機(110、400),其用於將資料傳送至一資料通信及處理系統(100)中之一周邊裝置(PD1、PD2、PD3),該SPI主機包含:一記憶體(111、410),其包含封包之一清單,每一封包包含與一時間參數相關聯之資料,該時間參數指示該資料要在何時傳送至該周邊裝置,其中該時間參數為可組態的,且封包之該清單中之一或多個時間參數係藉由使用該周邊裝置之操作模式參數來判定;及一串列傳輸及接收單元(112、420),其用以在根據與該資料相關聯之該時間參數的一時間傳送該清單中之該資料。
  2. 如請求項1之SPI主機(110、400),其中該串列傳輸及接收單元(112、420)由自該資料通信及處理系統(100)接收之一外部信號觸發以開始處理封包之該清單。
  3. 如請求項1之SPI主機(110、400),其中該串列傳輸及接收單元(112、420)在自該資料通信及處理系統接收一起始信號起等待一可組態時間之後開始處理封包之該清單。
  4. 如請求項1之SPI主機(110、400),其中該串列傳輸及接收單元(112、420)在一可組態絕對時間開始處理封包之該清單。
  5. 如請求項1至4中任一項之SPI主機(110、400),其中該串列傳輸及接收單元(112、420)在一循環結構中傳送封包之該清單中之該資料,使得封包之該清單重複一可組態次數。
  6. 如請求項1至4中任一項之SPI主機(110、400),其中與每一封包中之該資料相關聯的該時間參數為一絕對時間或一相對時間。
  7. 如請求項1至4中任一項之SPI主機(110、400),其中與該資料 相關聯之至少一個時間參數係使用來自該周邊裝置之事件資訊或一觸發信號來推斷。
  8. 如請求項1至4中任一項之SPI主機(110、400),其中至少一個封包中之該資料為待傳送至該周邊裝置之組態資料。
  9. 如請求項1至4中任一項之SPI主機(110、400),其中該周邊裝置為一雷達系統、一影像感測器、一音訊編解碼器、一類比至數位轉換器、一數位至類比轉換器、一馬達控制裝置、一攝影機、一視訊單元中之任一者。
  10. 如請求項1至4中任一項之SPI主機(110、400),其被實施為一主系統晶片(120)中之一功能區塊,該主系統晶片包含用於控制一或多個周邊裝置之操作的一中央處理單元(122)。
  11. 一種資料通信及處理系統(100),其包含一如請求項1至10中任一項之SPI主機(110、400)。
  12. 如請求項11之資料通信及處理系統(100),其為一視訊監視系統、網路音訊系統、雷達系統中之任一者。
  13. 一種在串列周邊介面(SPI)主機(110、400)中執行之用於將資料傳送至資料通信及處理系統(100)中之一周邊裝置的方法,其中該SPI主機(110、400)包含一記憶體(111、410)及一串列傳輸及接收單元(112、420),該記憶體包含封包之一清單,其中每一封包包含與一時間參數相關聯之資料,該時間參數指示該資料要在何時傳送至該周邊裝置,且封包之該清單中之一或多個時間參數係藉由使用該周邊裝置之操作模式參數來判定,該方法包含:等待(810)該串列傳輸及接收單元(112、420)之一觸發信號以開始處理封包之該清單;處理(820)封包之該清單;根據與該資料相關聯之該時間參數檢查(830)是否是時候傳送資料封包; 及在根據與該資料相關聯之該時間參數的時間傳送(840)該些資料封包。
  14. 如請求項13之方法,其中該串列傳輸及接收單元在一循環結構中傳送封包之該清單中之該資料,使得封包之該清單重複一可組態次數。
TW109106470A 2019-03-13 2020-02-27 串列周邊介面主機、其中之方法及包含串列周邊介面主機之系統 TWI747176B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19162494.9 2019-03-13
EP19162494.9A EP3709177B1 (en) 2019-03-13 2019-03-13 Serial peripheral interface master

Publications (2)

Publication Number Publication Date
TW202101241A TW202101241A (zh) 2021-01-01
TWI747176B true TWI747176B (zh) 2021-11-21

Family

ID=65801980

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109106470A TWI747176B (zh) 2019-03-13 2020-02-27 串列周邊介面主機、其中之方法及包含串列周邊介面主機之系統

Country Status (6)

Country Link
US (1) US10929333B2 (zh)
EP (1) EP3709177B1 (zh)
JP (1) JP6956219B2 (zh)
KR (1) KR102307573B1 (zh)
CN (1) CN111694771B (zh)
TW (1) TWI747176B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11860730B2 (en) 2021-12-06 2024-01-02 Waymo Llc Low-overhead, bidirectional error checking for a serial peripheral interface
CN117520220B (zh) * 2024-01-08 2024-04-09 湖南恩智测控技术有限公司 自动更新数据方法、系统、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020003937A1 (en) * 1999-11-26 2002-01-10 The Furukawa Electric Co., Ltd. Light amplifying optical fiber
US6687769B2 (en) * 2001-03-16 2004-02-03 Texas Instruments Incorporated Serial peripheral interface with high performance buffering scheme
US7570078B1 (en) * 2006-06-02 2009-08-04 Lattice Semiconductor Corporation Programmable logic device providing serial peripheral interfaces
US20110305150A1 (en) * 2010-06-15 2011-12-15 Joe Haver Method of remote active testing of a device or network
CN108268414A (zh) * 2018-03-26 2018-07-10 福州大学 基于spi模式的sd卡驱动器及其控制方法
US20190050358A1 (en) * 2017-09-14 2019-02-14 Intel IP Corporation Apparatus, system and method of communicating over a media agnostic (ma) usb connection

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4943963A (en) * 1988-01-19 1990-07-24 A. C. Nielsen Company Data collection and transmission system with real time clock
JP4148290B2 (ja) * 1997-04-01 2008-09-10 ソニー株式会社 信号処理回路
US6985499B2 (en) * 2000-04-20 2006-01-10 Symmetricom, Inc. Precise network time transfer
JP5113453B2 (ja) * 2007-08-24 2013-01-09 Juki株式会社 シリアル通信装置
CN102113367B (zh) * 2008-06-23 2013-11-20 Hart通信基金会 无线通信网络分析仪
JP5444911B2 (ja) * 2009-07-23 2014-03-19 富士通株式会社 送受信制御装置、電子機器、データ送信方法及び制御プログラム
WO2013179099A1 (en) * 2012-06-01 2013-12-05 Freescale Semiconductor, Inc. Scheduling module and method thereof
CN202940827U (zh) * 2012-09-07 2013-05-15 北京旋极信息技术股份有限公司 一种航电全双工实时以太网数据预处理装置
ITUB20151177A1 (it) * 2015-05-26 2016-11-26 St Microelectronics Srl Interfaccia auto-sincronizzante, dispositivo e procedimento corrispondenti
US10360125B2 (en) * 2016-05-31 2019-07-23 Bristol, Inc. Methods and apparatus to communicatively couple field devices to a remote terminal unit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020003937A1 (en) * 1999-11-26 2002-01-10 The Furukawa Electric Co., Ltd. Light amplifying optical fiber
US6687769B2 (en) * 2001-03-16 2004-02-03 Texas Instruments Incorporated Serial peripheral interface with high performance buffering scheme
US7570078B1 (en) * 2006-06-02 2009-08-04 Lattice Semiconductor Corporation Programmable logic device providing serial peripheral interfaces
US20110305150A1 (en) * 2010-06-15 2011-12-15 Joe Haver Method of remote active testing of a device or network
US20190050358A1 (en) * 2017-09-14 2019-02-14 Intel IP Corporation Apparatus, system and method of communicating over a media agnostic (ma) usb connection
CN108268414A (zh) * 2018-03-26 2018-07-10 福州大学 基于spi模式的sd卡驱动器及其控制方法

Also Published As

Publication number Publication date
KR102307573B1 (ko) 2021-10-05
KR20200110219A (ko) 2020-09-23
JP6956219B2 (ja) 2021-11-02
TW202101241A (zh) 2021-01-01
EP3709177B1 (en) 2021-03-03
EP3709177A1 (en) 2020-09-16
CN111694771B (zh) 2021-12-21
US10929333B2 (en) 2021-02-23
JP2020149692A (ja) 2020-09-17
US20200293484A1 (en) 2020-09-17
CN111694771A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
KR102445344B1 (ko) 시리얼 버스를 위한 수신 클록 캘리브레이션
US8719476B2 (en) Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests
US9684624B2 (en) Receive clock calibration for a serial bus
US20150100713A1 (en) Coexistence of i2c slave devices and camera control interface extension devices on a shared control data bus
TWI747176B (zh) 串列周邊介面主機、其中之方法及包含串列周邊介面主機之系統
US20150199287A1 (en) Camera control interface extension with in-band interrupt
US20020184453A1 (en) Data bus system including posted reads and writes
US9830280B2 (en) Multiple access single SDIO interface with multiple SDIO units
JP2018523207A (ja) 複数のsdioユニットを備えた単一のsdioインターフェース
JP5443586B2 (ja) 回路構成におけるデータ交換を制御するための回路構成、および方法
US10489319B2 (en) Automatic transmission of dummy bits in bus master
JP2010257280A (ja) シリアル制御装置、半導体装置及びシリアルデータの転送方法
US20080320178A1 (en) DMA transfer apparatus
JP2018523206A (ja) 複数のsdioユニットを備えた単一のリレーsdioインターフェース
US10628077B2 (en) System to acquire analog to digital (ADC) data using high end timer (N2HET) and high end timer transfer unit (HTU)
US20240232124A1 (en) Universal serial bus (usb) controller, method of operating a usb controller, and machine vision system
JP5621747B2 (ja) マルチタスクシステム
JP2012150656A (ja) 半導体装置
JP2007172510A (ja) Dma転送装置
JP2008009962A (ja) リソース使用管理装置、リソース使用管理システム及びリソース使用管理装置の制御方法
JP2013069097A (ja) 送信権調停装置、送信権調停制御方法、及びそのためのプログラム