TWI517087B - 具有整合圖形處理單元之微控制器 - Google Patents

具有整合圖形處理單元之微控制器 Download PDF

Info

Publication number
TWI517087B
TWI517087B TW098133743A TW98133743A TWI517087B TW I517087 B TWI517087 B TW I517087B TW 098133743 A TW098133743 A TW 098133743A TW 98133743 A TW98133743 A TW 98133743A TW I517087 B TWI517087 B TW I517087B
Authority
TW
Taiwan
Prior art keywords
microcontroller
sipu
data
memory
state machine
Prior art date
Application number
TW098133743A
Other languages
English (en)
Other versions
TW201019264A (en
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 TW201019264A publication Critical patent/TW201019264A/zh
Application granted granted Critical
Publication of TWI517087B publication Critical patent/TWI517087B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • G09G3/3622Control of matrices with row and column drivers using a passive matrix

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

具有整合圖形處理單元之微控制器
本申請案之技術領域係關於具有整合圖形處理單元之微控制器。
本申請案涉及美國專利申請案第12/139,640號之標的物。
微控制器廣泛用於消費型產品及工業產品中以在小的增量成本之情況下提供先進的使用者互動及數位控制。舉例而言,勝於具有一開關及一簡單計時器來控制咖啡機,一具有小型觸控螢幕液晶顯示器(LCD)之微控制器可提供優良的使用者體驗,且允許沖煮循環(brew cycle)之增強定製、過程之即時狀態,及與其他家用裝置之可能互動。冰箱可併有具有圖形顯示器之微控制器以不僅追蹤冰箱之效能,而且追蹤冰箱之內含物。此將賦能對食品過期進行警告,自動產生購物清單,且自遞送服務自動訂購食品雜貨。工業應用可指示備用電源產生器之操作狀態以及與已執行之維護及維修之記錄組合的維護排程。
在需要圖形顯示器之情況下,微控制器使用對一種類型之顯示器特定且可能限於特定幾何尺寸及色深的定製狀態機而與該圖形顯示器介接。若顯示器之特性改變,則必須重新設計定製狀態機。舉例而言,使用者要求可隨著時間而改變,使得單色顯示器可在新的或現存機器上升級至彩色顯示器。或者,若組件定價顯著波動或在環境條件改變之情況下,可替換不同顯示器技術。在本發明之前,自單色LCD改變至主動矩陣薄膜電晶體(TFT)顯示器可需要重新設計嵌有微控制器及狀態機之特殊應用積體電路(ASIC)。另一已知方法為使用增加系統之成本及複雜性的晶片外LCD控制器。
微控制器亦可與其他並列資料源或輸入/輸出裝置一起使用,以豐富現存產品及系統之功能性,或可能僅藉由電腦處理能力建立新產品及系統。該等周邊裝置包括感應器陣列、網路介面,及多點與壓敏式觸控螢幕。可使用一並列資料介面及一或多個控制信號來併入大量可能的輸入或輸出裝置。如同圖形顯示器一樣,歷來需要定製邏輯或外部控制器以將一微控制器與此等輸入/輸出裝置介接。
本文中所描述之應用中的許多者為成本敏感的,且將藉由當前技術實施為成本高昂的。目前,在嵌入式環境中實施具成本效益之圖形顯示器需要定製的特殊應用積體電路(ASIC)及大批量生產運行,在該大批量生產運行中可攤銷彼電路之研究、開發及加工費用。此方法不靈活,且阻止製造商回應能夠縮短產品運行或替換一替代性顯示器技術的市場動態。此不靈活性增加項目之風險,且可進一步抬高費用。
根據一實施例,一種微控制器可包含:一第一中央處理單元(CPU);一記憶體;一可程式化循環狀態機;一特殊指令處理單元(SIPU);一至一輸出裝置之連接件;其中該SIPU回應於一來自該CPU之命令而操縱該記憶體中之多個值;其中該可程式化循環狀態機可連續地(若外部裝置需要,則可能存在暫停)將資料自該記憶體傳送至該輸出裝置;且其中該可程式化循環狀態機可週期性地將一控制信號傳輸至該輸出裝置,以藉由該輸出裝置之輸入時序要求來協調資料傳送。
根據另一實施例,一種微控制器可包含一中央處理單元(CPU)、一特殊指令處理單元(SIPU)、一可程式化循環狀態機,及一直接記憶體存取控制器(DMA);其中輸出資料之密集處理可由該SIPU執行,因此釋放CPU循環以用於其他任務。
根據又一實施例,一種微控制器可包含一16位元中央處理單元(CPU)、一特殊指令處理單元(SIPU)、一可程式化循環狀態機,及一直接記憶體存取控制器(DMA);其中該微控制器可在多種尺寸、色深及技術之液晶顯示器(LCD)上顯示圖形資訊,且仍具有足夠CPU頻寬以即時回應外部中斷。
可藉由參考結合隨附圖式所考慮之以下描述來獲取本發明及其優勢之更完整且透徹的理解,在隨附圖式中相同參考數字指示相同特徵。最好參看圖1至圖17來理解本發明之較佳實施例及其優勢。
在本發明之一實施例中,產生一在具有一中央處理單元(CPU)及一記憶體之相同晶片上併有一可程式化循環狀態機的微控制器。此微控制器適用於直接連接至廣泛多種外部顯示器模組,該等外部顯示器模組包括大多數類型之具有一並列資料介面的液晶顯示器(LCD)模組。此LCD模組通常包括計數及定址邏輯以將資料自並列介面傳輸至個別像素。然而,LCD模組無需併有將允許該LCD模組與諸如直接記憶體存取(DMA)邏輯之視訊記憶體直接介接的任何額外時序或定址邏輯。在此實施例中,在微控制器上執行之軟體建立影像之數位表示。此影像可為靜態影像或單一視訊圖框。此可藉由簡單地將現存影像檔案載入至記憶體中來進行或可藉由使用用於使用軟體建置影像之任何數目個熟知技術中之一者建立影像來進行。若應用程式提供使用者互動,則影像可包括經組合以建立圖形使用者介面(GUI)之用於資料顯示、文字或數字及系統控制功能之可辨識元素。若軟體需要改變一個像素,則該軟體僅需改變在記憶體中表示彼像素之資料值。
獨立於CPU(及通常與CPU非同步地)操作,可程式化循環狀態機正執行一連續迴路,該迴路自記憶體讀取表示彼影像之每一值且經由並列介面將彼值傳輸至LCD模組。在彼連續迴路中之特定點處,可程式化循環狀態機啟動或撤銷啟動如由彼特定類型或模型之LCD模組所需之一或多個控制信號。因為許多圖形顯示器技術之性質,所以即使影像資料未改變,此迴路仍繼續;顯示器之個別光阻擋或光產生元件維持其當前狀態歷時一小之時間窗,且必須經週期性地再新。
在另一實施例中,控制輸入選自常見LCD顯示器技術之一預定子集,以便判定必要的控制輸出信號波形及時序規格。控制輸入亦指定圖形顯示器之實體幾何尺寸(以像素為單位之寬度及高度),以及由彼圖形顯示器所支援之像素深度(依據彩色顯示器之灰階等級或色深)。此實施例中之可程式化循環狀態機的第一控制輸出必須支援指示像素資訊之圖框的邊界、像素資訊之線的邊界、資料在匯流排上之整體傳送的完整表示,及多用途信號的信號。該多用途信號可連接至專用控制輸入,諸如,移位控制輸入LSHIFT2、模式控制輸入MOD,或資料就緒控制輸入DRDY,或任何其他合適之控制輸入。第二控制輸出可支援資料移位信號,該信號指示狀態機已為自記憶體的下一資料傳送做好準備。在此實施例中,狀態機可包含一圖框計數器、一線計數器,及一資料暫存器。最終,狀態機可包含用於維持計數器之適當值、啟用或停用輸出及產生各種控制信號的邏輯。
在另一實施例中,可程式化循環狀態機併入於與微控制器及圖形處理電路相同的積體電路內。在此實施例中,微控制器可包括能夠執行(例如)少於每秒6000萬條指令(MIPS)之16位元CPU,但仍具有在外部顯示器上顯示彩色圖形、影像或視訊的能力。彼顯示器可為至少與64×64像素一樣小及至少與852×480像素一樣大。對較大顯示器之支援亦為可能的。像素深度可通常自每像素一個位元變動至每像素二十四個位元,其中每像素二十四個位元表示三種原色中之每一者的八個位元。原色可為紅色、綠色及藍色,或可以其他形式表示。詳言之,若顯示器技術使用減色技術,則原色可為紅色、黃色及藍色。
在另一實施例中,可使用雙穩態(或多穩態)顯示器,其將消除對像素資訊之連續再新的需要。在此實現(enablement)中,可程式化循環狀態機可針對改變而輪詢記憶體,或可在作出改變時由CPU觸發。一旦偵測到或宣告改變,可程式化循環狀態機便將接著在如上文所描述之相同一般過程中將影像資料之整個區塊輸出至顯示器。其他最佳化亦可能的,其中顯示器允許影像資料之區塊或甚至個別像素的定址。此等最佳化將需要用於偵測區塊階層或甚至像素階層處之改變的邏輯及額外記憶體。可經由維護影像資料之複本(duplicate copy)來處置此改變偵測,以允許在任何時間應顯示何內容與當前顯示何內容之間的比較。或者,各種雜湊演算法可用以判定已修改影像資料之哪一部分(若存在)。在任一實施例中,僅該或該等改變之區塊或該或該等改變之像素將藉由可程式化循環狀態機結合經適當計時之控制信號來讀取及傳輸。
一般熟習此項技術者應理解,此可程式化循環狀態機對其他輸出裝置將為有用的。舉例而言,音訊編解碼器需要自記憶體所讀取之穩定的數位音訊資料流,且可藉由可程式化循環狀態機進行控制。具有並列資料介面之任何輸出裝置可在此實施例中在無定製邏輯或在最小晶片外定製邏輯之情況下連接至可程式化循環狀態機,該並列資料介面需要數位資料與經協調之時序或控制信號的串流。
在另一實施例中,可程式化循環狀態機可包含額外控制邏輯以允許來自外部資料源之輸入。此資料源可為用於音訊或其他信號捕獲用途之類比數位轉換器,或可為諸如影像捕獲裝置之感應器的陣列。在此實施例中,可程式化循環狀態機可自CPU或外部輸入裝置接受觸發器信號,且將自彼外部輸入裝置開始一或多個讀取循環。如在驅動標準圖形顯示器之實施例的狀況下,此實施例可經組態以在不考慮資料之改變的情況下連續地讀取經捕獲之資料,或其可經組態以在由資料改變所觸發之所需基礎上操作。
本文中之特定描述不應視作限制性的,如一般熟習此項技術者應理解,需要基於特殊應用或行銷計劃而進行特定設計折衷。本文中所描述之資料路徑通常為並列資料路徑且可為匯流排或直接連接,但一般熟習此項技術者應認識到,可使用串列連接或串列匯流排來實施資料路徑。此外,狀態機可將串列資料源轉換至並列資料源,或將並列資料源轉換至串列資料源。經由資料輸入端傳遞至資料輸出端的資料可為數位音訊及/或圖形資料。第二控制輸出向資料源指示,狀態機已為額外資料做好準備。資料源可為暫存器、直接記憶體存取(DMA)裝置,或先進先出(FIFO)記憶體。資料源之特定實施對此實施例無關緊要,且一般熟習此項技術者應理解,替換在此處為適當的。控制輸入可由暫存器、唯讀記憶體(ROM)、快閃記憶體、諸如雙列直插式接腳(DIP)開關之機械開關或任何其他源提供。
在另一實施例中,CPU與能夠實施圖形特定常式之專用圖形處理單元(GPU)配對,該等圖形特定常式在以軟體實施於通用CPU上的情況下將需要顯著處理能力(processing power)。此實施例將允許適度CPU(亦即,16位元、低MIPS設計)在外部顯示器上產生圖形,同時仍具有處置其他應用邏輯之備用處理能力。此實施例之GPU可執行位元區塊傳輸(bit blitting)操作或硬體精靈(Sprite)繪圖,從而允許處理器發送高階光柵操作以組合位元映射圖案或重現簡單電腦圖形。或者,GPU可實施更複雜常式(其實施巨集指令)以繪製包括線、窗及選單之圖形使用者介面元素,以及處置影像或視訊解碼功能。在此實施例中,CPU將命令發送至GPU以對顯示器輸出作出改變。此命令將由GPU實施以修改記憶體中之視訊資料。在一典型實施例中,可程式化循環狀態機正自記憶體非同步地且連續地讀取此視訊資料,以輸出至視訊顯示器。在已完成修改之前由顯示視訊資料引起的任何視覺「假影」將由可程式化循環狀態機對視訊資料之後續再新而覆寫。
在另一實施例中,CPU與可實施浮點算術及陣列運算之數位信號處理(DSP)單元配對。在此實施例中,CPU可將專門及密集資料處理請求卸載至DSP,使得CPU利用保持足夠低以回應於使用者請求及即時任務。
在另一實施例中,CPU與特殊指令處理單元(SIPU)配對,且進一步包含一可程式化循環狀態機、一記憶體及一直接記憶體存取裝置(DMA)。在此實施例中,通用CPU可將其處理頻寬專用於一般操作、流控制及對即時中斷之回應。將重複或複雜任務卸載至SIPU,使得一低MIPS CPU與一SIPU之廉價組合能夠產生全色圖形或即時解碼音訊或視訊資料。此SIPU較佳處置可對一或多個應用(例如,圖形處理,或視訊資料或音訊資料的即時解碼)特定之受限指令集。當與DMA裝置配對時,SIPU發出DMA指令以提取並儲存來自記憶體之資料區塊作為其處理任務之部分。否則,SIPU必須包括作為其處理任務之部分的經由鄰接資料儲存區塊而直接循環的邏輯。
SIPU之指令集較佳包括以下三個主邏輯運算:「及(AND)」、「或(OR)」,與「互斥或(XOR)」,其中第一運算元為來自記憶體之部分的當前值,其表示圖形輸出之當前狀態。(記憶體之此部分可被稱為視訊緩衝器,且亦為由可程式化循環狀態機週期性地輸出之資料的源。)或者,第一運算元可為不同於視訊緩衝器之記憶體位置,其允許「離線」操縱圖形資料。此「離線」緩衝器可接著使用畫中畫操作或在適當時藉由重新引導PCSM以自此並列視訊緩衝器讀取而顯示。第二運算元可為由CPU所指定之常數、經受SIPU之操縱的局部變數,或來自記憶體之資料值。此等運算允許SIPU執行任何數目個常見之位元區塊傳輸操作。SIPU之指令集亦可包括用於繪製(諸如)以下常見幾何形狀之指令:點、線、矩形、圓、橢圓、圓角矩形,或可通常用以繪製圖形使用者介面之元素的任何其他形狀。SIPU之指令集亦可包括背景填充操作,其將跨越整個視訊緩衝器複寫指定的一維或兩維圖案。SIPU較佳包括區塊傳送指令,其允許將多個資料字自記憶體之一部分傳送至另一部分,或自一記憶體傳送至另一記憶體。最終,SIPU指令集可包括畫中畫操作,其將資料自記憶體之一部分複製至視訊緩衝器之一特定部分中。可一次或連續地執行畫中畫操作。另外,需要此操作對源影像重設大小(resize)或剪修以適配視訊記憶體之目標部分。畫中畫操作之引數必須包括對起始列及行以及目標區域之長度及寬度的指定。
在另一實施例中,SIPU可對一個以上資料結構操作,每一資料結構表示當前顯示之圖形的一態樣。一資料結構可表示背景影像,而另一資料結構可表示使用者互動元素(諸如,虛擬按鈕、虛擬燈、字母/數字符號等)之配置。SIPU將接著使用邏輯「及」、「或」與「互斥或」運算來組合資料結構,以在記憶體之視訊緩衝器部分中形成複合影像。
轉至諸圖式,現將描述本申請案之例示性實施例。圖1描繪微控制器113之一實施例的組件及連接至一輸入/輸出裝置103之可程式化循環狀態機介面102。展示CPU 101連接至記憶體111及第一資料匯流排104,然而,一般熟習此項技術者應瞭解,可在不影響此實施例之功能或效用的情況下變化此等組件之特定互連。此外,可提供適當選擇信號或定址信號120。同樣地,一般熟習此項技術者應理解如何添加額外CPU 101或記憶體111組件以藉由增加微控制器之效能特性而促進本發明之目標。展示第一資料匯流排104連接至可程式化循環狀態機102、記憶體111及CPU 101。亦涵蓋至記憶體111或一直接記憶體存取(DMA)裝置之一直接連接。記憶體111可為暫存器、FIFO記憶體裝置,或任何其他常見記憶體類型。在該圖中,記憶體111提供控制輸入106之值,但涵蓋用於提供關於控制輸入106之一些或全部值的其他配置,包括(但不限於)實體開關或可程式化唯讀記憶體(PROM)。為提供控制輸入106上之值的目的,諸如暫存器之單層記憶體可為較佳的。
展示第二控制輸出107以允許自記憶體111之順序讀取或至彼記憶體之順序寫入的組態將狀態機102連接至彼記憶體。一般熟習此項技術者應瞭解,將第二控制輸出107連接至CPU 101上之一中斷埠(其中輸入自輸入/輸出裝置103及狀態輸入112擷取)的可能性藉由一或多個狀態或時序信號來指示輸入/輸出裝置103的狀態。展示CPU時脈114為至狀態機102之輸入,然而,一般熟習此項技術者應認識到,此時脈信號將可用於任何微控制器組件。裝置時脈115允許可程式化循環狀態機產生與裝置時序域同步之信號。第二資料匯流排108提供狀態機102與輸入/輸出裝置103之間的資料路徑。此資料路徑可能為匯流排且可能為並列匯流排,但其可為直接連接且可為串列資料路徑。第一控制輸出110將控制信號提供至輸入/輸出裝置103,且許多應用程式將提供多個控制信號,該等控制信號提供控制及/或時序資訊。
雖然圖1將輸入/輸出裝置103展示為在微控制器113外部,但一般熟習此項技術者應理解,該輸入/輸出裝置可併入至相同積體電路中。舉例而言,一影像捕獲感應器可併入至與該微控制器相同的積體電路中,以降低成本及應用程式大小及功率要求。此外,一般熟習此項技術者應認識到將一個以上可程式化循環狀態機102併入至將連接一個以上輸入/輸出裝置103之該微控制器中的益處。
以下圖式及描述係關於用以使一微控制器與多種顯示器類型介接之可程式化循環狀態機的應用。在一應用中,可程式化循環狀態機意欲與LCD模組之並列資料介面介接。至LCD模組之數位輸入接受呈「圖框」形式之資料,其中將一個圖框定義為顯示資訊之一個全螢幕。一系列「線」在每一圖框內,每一列一條線。當LCD顯示器之寬度實質上比至LCD模組中之資料路徑寬時,多個資料傳送在每一條線內。圖框、線及移位週期因此在此實施例中用作狀態機設計的基礎。此允許建構涵蓋所有支援LCD類型之所需時序的超集合的狀態機。當待介接一特定LCD類型時,狀態機行為中所有改變為輸出之極性及時序。此等改變及每一信號之相對時間置放及持續時間可為軟體可組態的或外部可組態的。
圖2描繪經啟用以驅動視訊顯示裝置之可程式化循環狀態機102的一實施例。圖框計數器204對所傳送之資料值進行計數並在已傳送視訊資料之一全圖框時重設。圖框產生器205基於圖框計數器204之值及控制輸入106之值在圖框212輸出上產生一信號。線計數器206對所傳送之資料值進行計數並在已傳送視訊資料之一全線時重設。線產生器210基於線計數器206之值及控制輸入106在線214上產生一信號。移位產生器202基於線計數器206之值及控制輸入106而在線移位201上產生一信號。移位產生器202亦基於線計數器206之值及控制輸入106在資料移位218上產生一信號,此信號用以請求第一資料匯流排104上之資料。第一資料匯流排104提供儲存於記憶體220中及轉發至第二資料匯流排108之圖形資料的源。多用途產生器222在多用途輸出224上產生一信號,該信號可用以產生由各種LCD類型所需之DRDY、MOD或DSHIFT2輸入。暫存器226儲存可程式化循環狀態機之程式且提供控制輸入106。時序同步器200為可程式化循環狀態機之組件部分的子集。裝置時脈115控制可程式化循環狀態機102之大多數時序。
圖3描繪經啟用以與LCD顯示器驅動器介接之可程式化循環狀態機102的一實施例。在下表中描述每一輸入及輸出。雖然此圖式及表中之輸入及輸出中的一些具有固定資料寬度及硬編碼值,但可調整該等資料寬度及硬編碼值以滿足不同應用要求。
該模組在lcd_clk域中起作用,該lcd_clk域為流動至LCD顯示器之時脈控制信號。在此實施例中,至該模組之所有輸入在CPU時脈域中。為最小化同步邏輯,需要所有輸入在lcdif_en_sync信號變高之前為穩定的。信號lcdif_en_sync通過同步器且可在任何時間改變。
圖3中未展示之資料源將資料提供至狀態機。資料源可為DMA、FIFO、暫存器,或此等之任何組合。此資料源之確切實施對此實施例之目的並不重要。經由data_in[15:0]輸入而提供資料。dshift_sync輸出用信號向資料源表示當前資料字已移入,且可呈現下一字。lcd_dwidth[1:0]輸入指示輸入至LCD模組之資料匯流排的寬度:「00」指示4個位元,「01」指示8個位元,「11」指示16個位元。若輸入至LCD模組之並列資料匯流排的寬度並不確切地為4個、8個或16個位元,則lcd_dwidth[1:0]應被設定緊接之最高值。舉例而言,12位元輸入將具有設定為「11」(16個位元)之資料寬度,且將不使用四個最高有效位元。
通常,暫存器介面將所有控制輸入提供至狀態機。此暫存器較佳連接至CPU以使用軟體指令允許對控制輸入的改變。然而,涵蓋其他組態。在一些應用中,可直接地或經由使用諸如雙列直插式接腳開關或旋轉開關之實體開關間接地設定該等值。在其他應用中,可直接地或經由使用諸如EPROM、EEPROM或快閃記憶體之非揮發性記憶體間接地設定該等值。
各種顯示器技術可與可程式化循環狀態機介接。下文詳細描述可用顯示器技術之子集,但此子集不應視為限制性的。與本發明相關之其他技術包括(但不限於):零功率雙穩態顯示器、電漿顯示器、矽上液晶裝置、數位微鏡裝置、發光二極體面板,及有機發光二極體(OLED)顯示器。正是本發明之性質致使自身適應新顯示器技術或先前不關注或應用工程師及行銷者可用的現存技術。
單色LCD顯示器通常具有4位元或8位元介面。由於不需要色彩資訊,因此每一資料位元表示一個像素之狀態。圖13展示具有面板1300及像素1302之122×32單色LCD顯示器的像素布局。以一次n個位元(其中n為面板之資料匯流排寬度)之方式輸入資料,其中lshift脈衝用信號表示每一有效資料傳送。掃描圖案常常在玻璃之左上角開始於列1中之像素1處,且進行至右側,直至其到達列1中之像素[最後],接著以列2中之像素開始,以此類推。線輸出上之脈衝用信號表示新列之開始。在每一列的結束之前,大多數顯示器將需要一「水平非顯示週期」。圖框輸出上之脈衝用信號表示一全顯示圖框之結束及對列1之重設。在每一圖框的結束之前,大多數顯示器將需要一「垂直非顯示週期」。此等非顯示週期可建置成線及圖框信號之脈衝寬度。
雖然在各種實施例中參考特定顯示幾何尺寸,但此等幾何尺寸並不意欲為限制性的。包括各種LCD技術之圖形顯示器以廣泛範圍的幾何尺寸可用。對於低成本、嵌入式應用而言,主要關注比VGA(640×480像素)或甚至QVGA(320×240像素)小之顯示器。此等模組可與122×32像素一樣小。然而,視應用而定,本文中所描述之一或多個實施例可用以驅動具有如同WVGA(854×480像素)或更大之幾何尺寸的LCD模組。在一實施例中,可程式化循環狀態機支援單色、STN及TFT顯示器技術、可變縱橫比、達VGA(640×480像素)之解析度、每線達1024個lcd_clk脈衝、每圖框達65,536個lcd_clk脈衝,及達24個位元之資料寬度。
超扭轉向列型(STN)顯示器通常具有4位元、8位元或16位元介面。螢幕上之每一色點(color point)由並列安置之三個單獨像素構成:一個紅色像素、一個綠色像素及一個藍色像素。舉例而言,圖12中描繪具有面板1200及像素1202之彩色QVGA(320×240像素)面板。因此,320×240像素之面板可顯現為具有960×240像素之面板,其中每一像素為一種顏色。以一次n個位元(其中n=面板之資料匯流排寬度)之方式將資料輸出至面板,其中lshift脈衝用信號表示每一有效資料傳送。資料中之每一位元表示顏色中之一者的「開啟」或「關閉」值。
掃描圖案常常在玻璃之左上角開始於列1中之像素1處,且進行至右側,直至其到達列1中之像素[最後],接著以列2中之像素1開始,以此類推。線輸出上之脈衝用信號表示新列之開始。在每一列的結束之前,大多數顯示器將需要一水平非顯示週期。圖框輸出上之脈衝用信號表示一全顯示圖框之結束及對列1之重設。在每一圖框的結束之前,大多數顯示器將需要一垂直非顯示週期。舉例而言,假設玻璃具有配置為R1G1B1R2G2B2...等的顏色。一全紅色像素繼之以一全白色像素將在8位元資料匯流排上展示為100111xx。由xx所表示之最後兩個位元將為像素R3B3,以此類推。
存在STN介面之三種常見變型。格式1為STN介面之使用稱為LSHIFT2之第二時脈的變型,該第二時脈與lshift時脈為180°異相。當將可程式化循環狀態機置於STN格式1時,M輸出變成LSHIFT2時脈。格式2為STN介面之使用連接至狀態機之M輸出之稱為MOD(在LCD模組上)的信號的變型。此信號之時序視LCD模組而定,且可視mod_rate[7:0]輸入針對圖框輸出之每一雙態觸發而雙態觸發一次或多次。最終,雙重掃描STN顯示器具有較寬的資料匯流排介面,其允許顯示器之上半部及下半部同時更新(例如,具有240列及一8位元介面之顯示器將使data_out[7:0]傳輸R1G1B1R2R121G121B121R122)。狀態機無需具有特殊設定以支援雙重掃描顯示器,此係因為可將此等顯示器視為具有兩倍資料寬度及一半數目之列的STN顯示器。相應地,將僅需要重新排序由記憶體呈現至data_in[7:0]之值。DSTN顯示器常常具有格式2資料介面。
薄膜電晶體(TFT)面板提供三種技術之最佳色彩及對比度品質。此技術針對每一像素使一電晶體製造於玻璃上。資料介面具有用於每一顏色的單獨位元。舉例而言,一24位元彩色TFT將具有用於紅色、綠色及藍色中之每一者的一8位元輸入。因此,一次24個位元或一像素而將資料輸入至顯示器。當M輸出為高時,lshift輸入上之脈衝用信號表示有效資料傳送。掃描圖案常常在玻璃之左上角開始於列1中之像素1處,且進行至右側,直至其到達列1中之像素[最後],接著以列2中之像素1開始,以此類推。線輸出上之脈衝用信號表示新列之開始。在每一列的結束之前,大多數顯示器將需要一水平非顯示週期。圖框輸出上之脈衝用信號表示一全顯示圖框之結束及對列1之重設。在每一圖框的結束之前,大多數顯示器將需要一垂直非顯示週期。狀態機之M輸出連接至稱作DRDY之至顯示器的輸入。此信號變高,展示輸出資料為有效的(亦即,狀態機當前不處於垂直或水平非顯示週期中)。
更大體而言,操作特性如下:當lcdif_en=1時,啟用狀態機。當lcdif_en=0時,所有輸出變低。時序同步器模組200為狀態機之主計時器(time keeper)。該模組由兩個計數器組成。一個計數器為圖框計數器204,其自零計數達frame_per[15:0]。第二計數器為線計數器206,其自零計數達line_per[7:0]。兩個計數器在lcd_clk之相同邊緣開始計數。當圖框計數器204重設為零時,線計數器206始終重設為零。來自可程式化循環狀態機之所有其他輸出使用此等計數器對其輸出之時序進行計數。
至模組之所有輸入在CPU時脈域中。然而,lcdif_en_sync及data_in[15:0]為當狀態機在作用中時改變的僅有兩個輸入。此等輸入中之第一者lcdif_en_sync通過同步器而至lcd_clk域中,以產生信號lcdif_en(未圖示)。此等輸入中之第二者data_in[15:0]由於以下原因無需同步:
●當第一data_in[15:0]用時脈輸入時(參看圖5),預期data_in[15:0]穩定歷時若干個lcd_clk週期。
●此後,data_in[15:0]將不改變直至dshift_sync輸出變高為止。dshift_sync係自信號dshift產生,該信號dshift又由lcd_clk產生,藉此提供所需同步。
當lcdif_en_sync變高時,需要所有其他輸入為穩定的。自此模組之返回至CPU時脈域中的僅有輸出為dshift_sync。此信號在資料同步器區塊400內部同步(在下文描述)。
圖4描繪資料同步器區塊400(經設計以使dshift同步至CPU時序域中且解釋LCD面板之變化的輸入資料寬度的電路)之一實施例。同步器包含兩個D型正反器402、一計數器404及一比較器406。所得信號為dshift_sync。資料同步器使在lcd_clk域中之內部dshift信號同步成在CPU時脈域中的dshift_sync輸出信號。又,dshift_sync信號針對輸入考慮(comprehend)玻璃之資料寬度。其進行以下動作:
●當lcd_dwidth[1:0]=「00」時,針對每4個dshift脈衝產生一個脈衝;
●當lcd_dwidth[1:0]=「01」時,針對每2個dshift脈衝產生一個脈衝;
●在所有其他狀況下,針對每個dshift脈衝產生一個脈衝。
圖5描繪包括上文所論述之一些詳細邏輯及電路中之一可程式化循環狀態機102的另一實施例。圖框產生器208產生圖框輸出。圖框產生器208包含一比較frame_counter 204與fm_start輸入的比較器。當該兩者相等時,啟動圖框輸出歷時fm_per數目個時脈循環。當dtype[1:0]=「11」,低者被認為在作用中。否則,高者被認為在作用中。線產生器210產生線輸出。此線產生器210包含一比較line_counter 206與ln_start[7:0]輸入的比較器。當該兩者相等時,線輸出處於作用中歷時ln_per[7:0]數目個時脈循環。當dtype[1:0]=「11」,低者被認為在作用中。否則,高者被認為在作用中。
移位產生器202產生lshift、dshift及data_out[15:0]輸出。移位產生器202包含一比較線計數器206與shift_start[7:0]的比較器。當線計數器206達到值shift_start[7:0]時,在lcd_clk之上升緣將輸入data_in[15:0]用時脈輸入至記憶體中。data_out[15:0]埠直接連接至此記憶體之輸出端。同時,Dshift輸出變高歷時一個lcd_clk循環。此過程重複line_width[9:0]數目次,以將整列中之資料移出。當移出整列時,data_out[15:0]變低。lshift輸出視是否連接至TFT介面而以不同方式工作。此藉由使用dtype[1:0]輸入來設定。當dtype[1:0]=「11」時,假設該介面連接至一TFT介面。在TFT模式中,lshift輸出為lcd_clk之直接輸出。否則,假設該介面連接至一非TFT面板。在TFT模式中,當正移出有效data_out[15:0]時,lshift輸出為lcd_clk之直接輸出。在line_counter之值小於shift_start[7:0]的週期期間,lshift輸出為低。又,當已移出最後資料字時,lshift輸出為低。若存在需要連續lshift輸出之非TFT面板,則shift_bypass_en輸入可變高。此情形將直接輸出lcd_clk至lshift輸出。
M產生器506描繪經設計以產生多用途信號M之邏輯。此描繪為僅一種可能的實施,且不應視為在功能或實施上的限制。時序介面之M輸出如由dtype[1:0]及mod_rate輸入所設定而工作。當dtype[1:0]=「11」時,忽略mod_rate輸入。在此模式中,M輸出充當資料就緒輸出(DRDY)。當線計數器206達到值shift_start[7:0]時,M輸出變高。其保持直至移出最後的data_out[15:0]字為止。當dtype[1:0]=「11」時,mod_rate[7:0]輸入判定M輸出之雙態觸發速率。當mod_rate[7:0]為零時,M輸出在與圖框輸出相同的時間雙態觸發。當mod_rate大於零時,其表示M輸出之雙態觸發之間的線輸出雙態觸發之數目。
經由指示在特定條件下之輸入及輸出信號的時序圖(圖6至圖10)來最佳地解釋本發明的另一實施例。因為預期裝置介接至來自相異製造商之廣泛範圍的LCD,所以輸出信號時序必須經受修改。時序引擎允許藉由針對每一信號使用兩個輸入(xx_start輸入及xx_per輸入)來調整輸出控制信號以在圖框內之任何正時脈邊緣變高或變低。亦存在稱為frame_counter及line_counter之兩個計數器。
frame_counter判定一圖框中有多少lcd_clk。其計數達值frame_per[15:0],重設為零,且接著重複。當lcdif_en經取樣為高時,此等計數器在第一lcd_clk邊緣開始。
line_counter判定有多少lcd_clk存在於LCD模組之一線(列)中。此計數為水平顯示週期與水平非顯示週期之總和。其計數達值line_per,重設為零,且接著重複。line_counter亦將在frame_counter重設之相同時刻重設。注意,水平顯示週期中之lcd_clk的數目不必等於顯示器之一列中之像素的數目。對於TFT顯示器而言,一個lcd_clk常常對應於一個像素。但對於其他顯示器技術而言,其視匯流排寬度及色深而變化。使用者可因此程式化圖框及線的長度。
建置圖框所需之最後輸入為line_width[9:0]輸入。此輸入判定其需要data_out[15:0]匯流排上之多少輸出來完成一個列。假設每一data_out[15:0]輸出需要一個lcd_clk週期。因此,此輸入(當由lcd_clk週期相乘時)給出水平顯示週期中的總時間。
對於圖6至圖10,假設以下設定:
●frame_per[15:0]=644:在每一圖框中指定644個lcd_clk循環。注意,此並不表示基於標準顯示器幾何尺寸之實際值。更確切地說,其意欲展示此機器可起作用之一般方式。
●line_per=244:在每一線中指定244個lcd_clk循環。
●fm_start=4:指定當frame_counter達到值「4」時,圖框輸出應變高。
●fm_per=6:指定當frame_counter達到值「6」時,圖框輸出應變低。
●ln_start=1:指定當line_counter達到值「1」時,線輸出應變高。
●ln_per=4:指定當line_counter達到值「4」時,線輸出應變低。
●shift_start=4:指定當frame_counter達到值「4」時,記憶體220應鎖存入來自data_in[15:0]之新值。記憶體220之輸出端直接連接至data_out[15:0]。
●line_width=「n」:指定一旦達到shift_start,便繼續每一lcd_clk用時脈輸入一值,直至line_counter達到值「n」為止。
●注意,所有輸入設定應在lcdif_en輸入變高之前加以建置。
圖6描繪針對單色或STN格式2顯示器之在程式化時的信號時序,其中shift_bypass_en=0。在此實施例中,shift_bypass_en=0且輸入mod_rate=1,其意謂M輸出以與線輸出相同的速率雙態觸發。時序圖呈現所傳送資料之數量略大於一個的圖框,如由圖框信號之兩個脈衝所指示。可程式化循環狀態機之輸出與lcd_clk同步。兩個計數器在重設輸入已下降之後且在lcdif_en設定為1(其指示輸入為穩定的)之後開始計數。line_counter在此實例中自0至244對每一線中之像素的數目(240個像素)與所需水平非顯示週期之長度(4個時脈循環)的總和進行計數。frame_counter在此實例中自0至644計數。一旦frame_counter達到總圖框計數,frame_counter及line_counter兩者便重設且過程重複。線信號基於分別為1及4之line_start值及line_per值而變高歷時三個時脈循環,在line_counter等於line_start之時脈循環後的時脈循環上開始且在line_counter等於line_per的時脈循環期間結束。同樣地,圖框信號基於分別為4及6之fm_start值及fm_per值而變高歷時兩個時脈循環。M輸出在此實施例中大體上與線輸出相同。lshift輸出大體上與lcd_clk輸入相同,但僅在水平顯示週期期間相同。data_out輸出表示水平顯示週期期間的有效資料,且在非顯示週期期間為零或不作用的。dshift輸出僅在水平顯示週期期間變高。
圖7描繪針對單色或STN格式2顯示器之在程式化時的信號時序,其中shift_bypass_en=1。輸出與圖6相同,但有一項例外。因為shift_bypass_en=1,所以lshift信號在lcdif_en=1時為lcd_clk輸入之通過。
圖8描繪針對STN格式1顯示器之在程式化時的信號時序,其中shift_bypass_en=0。在此顯示器類型中忽視輸入mod_rate。此處,lshift輸出僅在水平顯示週期開始之前處於作用中且在彼週期期間在每一lcd_clk信號上雙態觸發。M輸出(功能上稱為LSHIFT2)上之波形大體上與lshift相同,除其為180度異相外。
圖9描繪針對STN格式1顯示器之在程式化時的信號時序,其中shift_bypass_en=1。此處,表示LSHIFT2之M輸出藉由lcdif_en而變高且每一lcd_clk循環進行雙態觸發。lshift輸出為相同波形,但相移180°。
圖10描繪針對TFT顯示器之在程式化時的信號時序。在此顯示器類型中,忽視輸入shift_bypass_en及mod_rate。M輸出(功能上稱為DRDY)僅在作用中資料傳送循環期間或僅在水平顯示週期期間變高。因為dtype[1:0]=「11」,所以圖框輸出在此處亦具有反向極性。
圖11描繪使用可程式化循環狀態機驅動視訊顯示器之方法中所執行的步驟。步驟1100為用於接收控制輸入上之程式化指令的步驟。步驟1102為用於在第一控制輸出上產生一信號的步驟。步驟1104為用於在第二控制輸出上產生一信號的步驟。步驟1106為用於儲存及轉發視訊資料的步驟。
圖12描繪指示像素1201之布局的典型彩色液晶顯示器面板1200。列及行以索引值1開始經順序地編號,但是實際實施將可能以零開始,如為數位邏輯之慣例。藉由組合以產生廣泛範圍之顏色值的三種原色頻道來實施彩色LCD的每一像素。在此例示性圖式中,原色為紅色、藍色及綠色。因為每一像素中之每一顏色由不同值表示,所以240×320彩色像素顯示器最佳表示為具有交替像素顏色之240×960「單色」像素顯示器。顯示控制器之實際實施可每個「單色」像素每種顏色接受多個資料位元,或可僅接受一個資料位元。若顯示控制器一次僅接受一個位元,則可程式化循環狀態機將比人眼可感應所顯示影像中之改變顯著頻繁地再新彼「單色」像素之值,以控制彼像素之脈衝寬度。此將有效地控制彼顏色在彼像素位置中之強度,且因此允許所要顏色之顯示,該所要顏色由微控制器表示為兩位元、四位元或八位元顏色值。若顯示控制器每個像素接受多個位元,則可程式化循環狀態機僅需一次發送此多位元值以產生所要顏色。
圖13描繪指示像素1302之布局的典型單色液晶顯示器面板1300。如圖12中,列及行以索引值1開始經順序地編號,但是實際實施將可能以零開始,如為數位邏輯之慣例。因為其為單色顯示器,所以微控制器僅需將視訊資訊表示為強度。
圖14描繪展示微控制器之一實施例之內部組件的方塊圖,該微控制器包含一中央處理單元101、一特殊指令處理單元1401、一記憶體111、及一可以操作方式連接至一輸出裝置103之可程式化循環狀態機102。在此實施例中,CPU 101經由共用資料匯流排104自記憶體111擷取指令及資料。該CPU接著如所需將命令分派至SIPU 1401。SIPU 1401又藉由直接操縱記憶體111中之資料值而執行此等命令。PCSM 102獨立地但基於來自CPU 101之組態指令連續地自記憶體111內之區塊讀取資料,且將此資料連同任何需要之控制信號輸出至輸出裝置103。該等組態指令控制此資料傳送之時序,以符合輸出裝置103之輸入要求。一般熟習此項技術者應認識到,共用資料匯流排104可為一個以上匯流排,且附接至彼匯流排之每一裝置可具有一個以上資料埠。因此,CPU 101可經由專用埠來存取記憶體111,而SIPU 1401及PCSM 102將使用至記憶體111中之不同埠。可以想像,記憶體111可具有三個埠,且向CPU 101、SIPU 1401及PCSM 102中之每一者提供直接、獨立存取。
圖15為一微控制器之一實施例的方塊圖,該微控制器包含圖14中所說明之元件,但具有一連接該微控制器之元件的直接記憶體存取組件1501而非共用匯流排104。DMA 1501將一埠提供至CPU 101、SIPU 1401、記憶體111及PCSM 102中之每一者。如同圖14中所描繪之實施例一樣,CPU 101可經由一第二記憶體埠直接連接至記憶體111。然而,此實施例要求SIPU 1401、記憶體111及PCSM 102連接至DMA 1501上的埠。DMA 1501執行區塊資料傳送操作以最佳化微控制器內之資料流。PCSM 102將通常向DMA 1501給出一讀取視訊緩衝器之內容的指令,且將根據其輸入時序要求傳送彼資料至輸出裝置103。此確切指令將在輸出顯示之狀況下無限地重複,使得顯示器103連續地再新其對記憶體111內之邏輯圖形或視訊資料表示的顯示。在音訊輸出之狀況下,PCSM 102可重複地請求來自記憶體111內之固定位置中之緩衝器的資料,或可請求來自儲存於記憶體111中之音訊資料的順序區塊的資料。
SIPU 1401向DMA 1501發出較多複雜指令,且可自一個以上低優先權埠1505存取資料。舉例而言,CPU 101可指導SIPU 1401將一常數濾波器應用於影像資料之一區塊。SIPU 1401將接著在第一低優先權埠1505上產生一針對影像資料之彼區塊的讀取請求。SIPU 1401將應用該濾波器至每一資料,且接著將彼資料遞送至第二低優先權埠1505,作為針對影像資料之相同區塊的寫入請求之部分。因此,DMA 1501將正執行同時讀取及寫入操作。注意,寫入操作將在如執行SIPU 1401內之濾波器操作所需的至少相同數目個時脈循環的延遲之後出現。在另一實例中,CPU 101可指導SIPU 1401將二維遮罩應用於影像資料之一區塊。在此實例中,SIPU 1401可連接至DMA 1501上之三個低優先權埠1505。一個低優先權埠1505將用以向DMA 1501發出一針對影像資料之區塊的讀取命令,而一第二低優先權埠1505將用以發出一針對儲存二維遮罩之資料區塊的讀取命令。SIPU 1401將使用邏輯「及」、「或」或者「互斥或」來應用該遮罩以將該遮罩中之當前像素與影像資料之當前像素組合,且將所得像素資訊發送至第三低優先權埠1505作為至DMA 1505之針對影像資料之相同區塊的寫入命令之部分。或者,若與一暫存器組組合以儲存每一邏輯運算之運算元及結果,則可使用單一DMA埠。
CPU 101、SIPU 1401及記憶體111各自連接至低優先權埠1505,且PCSM 102連接至高優先權埠1503。此反映待由此等模組中之每一者執行之任務的性質。連接至低優先權埠1505之模組並非正在執行即時敏感任務,且可甚至在少數CPU循環之延遲的情況下適當地起作用。相比之下,PCSM 102執行將資料提供至外部輸出裝置103之即時敏感任務。輸出裝置103具有不能違背且不會產生人類可辨別之輸出錯誤的輸入時序要求。舉例而言,在輸出裝置103為LCD之情況下,資料之延遲到達可造成視覺假影,諸如,未對準之像素、空白像素及其類似者。LCD裝置歸因於包含每一像素之實體元件的短暫性質而必須以特定速率再新。若輸出裝置103為用以產生音訊之數位類比轉換器,則資料之延遲到達可造成音調之移位、砰然聲(pop)或非所欲靜寂。出於此等原因,PCSM 102經由高優先權埠1503對來自記憶體111之資料的請求優先於低優先權埠1505中之任一者上的任何請求而執行。一旦已處理高優先權請求,便重新開始低優先權埠1505上之請求。可使用包括循環排程之任一仲裁方案來處置低優先權埠1505上之請求。
圖16為展示包含CPU 101之微控制器之一實施例之內部組件的方塊圖。暫存器1601儲存LCD時序模組102之組態設定以及位元區塊傳輸器(BLT)1603之作業碼及DMA設定。BLT 1603提供控制信號至LCD DMA 1501,且獨立但在CPU 101之指導下執行圖形特定資料處理操作。圖形資料係自DMA 1501傳送至顏色查找表1607,以在LCD時序模組102將彼資料中繼至LCD 1613之前經映射至較大顏色空間中。記憶體介面1609提供用於在DMA 1501與任何數目個外部記憶體裝置(可能包括外部P/SRAM 1611及快閃記憶體1612)之間傳送資料的機制。仲裁器1605提供DMA 1501與裝置記憶體111之間的一介面。DMA 1501接受包括一源埠及一目標埠之每一埠的至少一基本命令、一開始位址,及用以傳送之記憶體字的一計數。DMA 1501亦包括用於處置多個埠之競爭請求的仲裁機制。此仲裁機制在其最基本實施中允許在由高優先權埠(埠0)進行請求時低優先權埠(在此圖式中,埠1、2及3)之請求的中斷。此情形為必需的,因為高優先權埠饋入即時LCD時序模組102。一旦已滿足高優先權請求,便重新開始低優先權請求。
圖17為展示包含一算術邏輯單元(ALU)1701之特殊指令處理單元之一實施例之內部組件的方塊圖。ALU 1701在作業碼介面處接收指令,且亦可自CPU 101(未圖示)知曉DMA 1501(未圖示)程式化指令。暫存器組1703提供運算元及結果之內部儲存以供ALU 1701使用。值可自埠2 CPU輸入或埠2 DMA輸入而得到,且值可接著經由埠2多工器1705傳送至DMA 1501(未圖示)或CPU 101(未圖示)。低優先權埠多工器1707及高優先權多工器1709允許DMA自CPU 101(未圖示)或自ALU 1701接收埠程式化指令。埠2多工器1705選擇來自暫存器1703之集合的適當輸出及ALU 1701的直接輸出。此實施例說明該ALU可如何使用單一DMA埠來操作,該單一DMA埠將暫存器組1703用作臨時資料儲存器。
儘管已詳細描述本發明及其優勢,但應理解,在不脫離如由以下申請專利範圍所界定之本發明的精神及範疇的情況下,可在本文中進行各種改變、替換及更改。
101...中央處理單元(CPU)
102...可程式化循環狀態機介面/可程式化循環狀態機/LCD時序模組
103...輸入/輸出裝置/顯示器
104...第一資料匯流排/共用資料匯流排
106...控制輸入
107...第二控制輸出
108...第二資料匯流排
110...第一控制輸出
111...記憶體
112...狀態輸入
114...CPU時脈
115...裝置時脈
120...選擇信號或定址信號
200...時序同步器模組
201...線移位
202...移位產生器
204...圖框計數器
205...圖框產生器
206...線計數器
208...圖框產生器
210...線產生器
212...圖框
214...線
218...資料移位
220...記憶體
222...多用途產生器
224...多用途輸出
226...暫存器
400...資料同步器區塊
402...D型正反器
404...計數器
406...比較器
506...M產生器
1200...典型彩色液晶顯示器面板
1202...像素
1300...典型單色液晶顯示器面板
1302...像素
1401...特殊指令處理單元
1501...直接記憶體存取組件
1601...暫存器
1603...位元區塊傳輸器(BLT)
1605...仲裁器
1607...顏色查找表
1609...記憶體介面
1611...P/SRAM
1612...快閃記憶體
1613...LCD
1701...算術邏輯單元(ALU)
1703...暫存器組
1705...埠2多工器
1707...低優先權埠多工器
1709...高優先權多工器
圖1為展示微控制器之一實施例之核心組件及連接至一輸入/輸出裝置之可程式化循環狀態機介面的方塊圖;
圖2為展示可程式化循環狀態機之一實施例之內部組件的方塊圖;
圖3為展示可程式化循環狀態機之一實施例之輸入及輸出信號的方塊圖;
圖4為展示一實施例中所需之用於將資料移位信號自顯示器時脈域變換至CPU時脈域之電路的方塊圖;
圖5為展示可程式化循環狀態機之一實施例之內部組件的方塊圖;
圖6為展示一實施例中之在停用移位旁路選項(shift bypass option)的情況下經程式化以驅動單色或格式2超扭轉向列型(STN)顯示器之可程式化循環狀態機之輸出信號的時序圖;
圖7為展示一實施例中之在啟用移位旁路選項的情況下經程式化以驅動單色或格式2 STN顯示器之可程式化循環狀態機之輸出信號的時序圖;
圖8為展示一實施例中之在停用移位旁路選項的情況下經程式化以驅動格式1 STN顯示器之可程式化循環狀態機之輸出信號的時序圖;
圖9為展示一實施例中之在啟用移位旁路選項的情況下經程式化以驅動格式1 STN顯示器之可程式化循環狀態機之輸出信號的時序圖;
圖10為展示一實施例中之經程式化以驅動薄膜電晶體顯示器之可程式化循環狀態機之輸出信號的時序圖;
圖11為根據可程式化循環狀態機之一實施例的驅動圖形顯示器所需之步驟的方塊圖;
圖12為指示像素之布局的典型彩色液晶顯示器面板的描繪;
圖13為指示像素之布局的典型單色液晶顯示器面板的描繪;
圖14為展示微控制器之一實施例之內部組件的方塊圖,該微控制器包含一中央處理單元、一特殊指令處理單元、一記憶體,及一可以操作方式連接至一輸出裝置之可程式化循環狀態機;
圖15為一微控制器之一實施例的方塊圖,該微控制器包含圖14中所說明之元件,但具有一連接該微控制器之元該等件的直接記憶體存取組件;
圖16為展示微控制器之一實施例之內部組件的方塊圖,該微控制器包含一特殊指令處理單元、一直接記憶體存取組件、可程式化循環狀態機、一顏色查找表,及兩個記憶體介面;及
圖17為展示包含一算術邏輯單元、一暫存器組及各種多工器之特殊指令處理單元之一實施例之內部組件的方塊圖。
101...中央處理單元(CPU)
102...可程式化循環狀態機介面/可程式化循環狀態機/LCD時序模組
103...輸入/輸出裝置/顯示器
104...第一資料匯流排/共用資料匯流排
106...控制輸入
107...第二控制輸出
108...第二資料匯流排
110...第一控制輸出
111...記憶體
112...狀態輸入
114...CPU時脈
115...裝置時脈
120...選擇信號或定址信號

Claims (20)

  1. 一種具有整合圖形處理單元之微控制器,其包含:一第一中央處理單元(CPU);一記憶體;一可程式化循環狀態機;一特殊指令處理單元(SIPU),其包括一作業碼介面,其中該SIPU可操作以讀取並寫入資料至該記憶體及藉由該作業碼介面直接從該CPU接收指令,以及包含一算術邏輯單元(ALU)以及一暫存器組,該暫存器組與該ALU耦接;一至一輸出裝置之連接件;其中該SIPU藉由該ALU與該暫存器組來回應一來自該CPU之命令而操縱該記憶體中之多個值;其中該可程式化循環狀態機連續地將資料自該記憶體傳送至該輸出裝置;且其中該可程式化循環狀態機週期性地將一控制信號傳輸至該輸出裝置,以藉由該輸出裝置之輸入時序要求來協調該等資料傳送。
  2. 如請求項1之微控制器,其中該輸出裝置為一液晶顯示器(LCD),其中該LCD之位元深度係在1個位元與16個位元之間,其中每一像素係由一個值或三個值表示,且其中該LCD之幾何尺寸係在64×64像素與854×480像素之間。
  3. 如請求項1之微控制器,其中該CPU具有一不大於16位元寬之資料路徑,且執行少於每秒6000萬條指令。
  4. 如請求項1之微控制器,其中該可程式化循環狀態機支援由來自由以下各項組成之一集合的至少四種不同圖形顯示器技術所需的控制信號時序:單色液晶顯示器(LCD),彩色超扭轉向列型(STN)液晶顯示器,雙層超扭轉向列型(DSTN)液晶顯示器,彩色薄膜電晶體(TFT)液晶顯示器,零功率雙穩態顯示器,電漿顯示器,矽上液晶裝置,數位微鏡裝置,發光二極體面板,有機發光二極體(OLED)顯示器。
  5. 如請求項1之微控制器,其進一步包含一具有一高優先權埠及至少兩個低優先權埠之直接記憶體存取(DMA)控制器,其中該DMA控制器之該高優先權埠連接至該可程式化循環狀態機;其中該DMA控制器之一第一低優先權埠連接至該記憶體,且該DMA控制器之一第二低優先權埠及一第三低優先權埠連接至該SIPU。
  6. 如請求項1之微控制器,其中該SIPU可藉由一區塊傳送 指令來操作以執行區塊傳送操作。
  7. 如請求項6之微控制器,其中該SIPU可執行以下邏輯運算:「互斥或」、「或」,與「及」。
  8. 如請求項6之微控制器,其中一SIPU指令集包括一背景填充操作、一像素設定操作及一繪線操作。
  9. 如請求項8之微控制器,其中該SIPU指令集包括一畫中畫操作。
  10. 如請求項5之微控制器,其進一步包含該DMA控制器與該可程式化循環狀態機之間的一顏色查找表(CLT)。
  11. 一種具有整合圖形處理單元之微控制器,其包含:一中央處理單元(CPU),一記憶體,一特殊指令處理單元(SIPU),其包括一作業碼介面,其中該SIPU藉由該作業碼介面直接從該CPU接收指令,以及包含一算術邏輯單元(ALU)以及一暫存器組,該暫存器組與該ALU耦接,一可程式化循環狀態機,及一直接記憶體存取(DMA)控制器,其包含各自耦接至該CPU、該記憶體、該SIPU以及該可程式化循環狀態機的四個埠;其中被儲存於該記憶體之輸出資料之處理係藉由該ALU與該暫存器組,由該SIPU執行,以及該可程式化循環狀態機輸出被儲存於該記憶體之輸出資料至一外部裝置,從而釋放CPU循環以用於其他任務。
  12. 如請求項11之微控制器,其中一SIPU指令集包括以下邏輯運算:「互斥或」、「或」,與「及」。
  13. 如請求項11之微控制器,其中一SIPU指令集包括一背景填充操作、一像素設定操作及一繪線操作。
  14. 如請求項11之微控制器,其進一步包含一顏色查找表。
  15. 如請求項11之微控制器,其中該SIPU與該DMA控制器上之至少兩個埠介接。
  16. 一種具有整合圖形處理單元之微控制器,其包含:一16位元中央處理單元(CPU),一記憶體,一特殊指令處理單元(SIPU),其包括一作業碼介面,其中該SIPU藉由該作業碼介面直接從該CPU接收指令,以及包含一算術邏輯單元(ALU)以及一暫存器組,該暫存器組與該ALU耦接,一可程式化循環狀態機,及一直接記憶體存取(DMA)控制器,其包含各自耦接至該CPU、該SIPU、該記憶體以及該可程式化循環狀態機的第一、第二、第三以及第四埠;其中該記憶體儲存顯示資料以及該微控制器可顯示圖形資訊在多種尺寸、色深及技術之液晶顯示器(LCD)上,該等LDC使用該CPU、該記憶體、該SIPU以及該可程式化循環狀態機,其中該可程式化循環狀態機提供該顯示資料至該等LCD,以使得該CPU仍具有足夠CPU頻寬以即時回應外部中斷。
  17. 如請求項16之微控制器,其中輸出裝置為一液晶顯示器(LCD),其中該LCD之位元深度係在1個位元與16個位元之間,其中每一像素係由一個值或三個值表示,且其中該LCD之幾何尺寸係在64×64像素與854×480像素之間。
  18. 如請求項17之微控制器,其中該CPU具有一不大於16位元寬之資料路徑,且執行少於每秒6000萬條指令。
  19. 如請求項16之微控制器,其中該SIPU能夠對該DMA控制器上之兩個埠進行讀取存取。
  20. 如請求項19之微控制器,其中該SIPU能夠對該DMA控制器上之一第三埠進行寫入存取。
TW098133743A 2008-10-30 2009-10-05 具有整合圖形處理單元之微控制器 TWI517087B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/261,779 US8456478B2 (en) 2008-10-30 2008-10-30 Microcontroller with integrated graphical processing unit

Publications (2)

Publication Number Publication Date
TW201019264A TW201019264A (en) 2010-05-16
TWI517087B true TWI517087B (zh) 2016-01-11

Family

ID=41611069

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098133743A TWI517087B (zh) 2008-10-30 2009-10-05 具有整合圖形處理單元之微控制器

Country Status (6)

Country Link
US (1) US8456478B2 (zh)
EP (1) EP2342656B1 (zh)
KR (1) KR101563989B1 (zh)
CN (1) CN102187331B (zh)
TW (1) TWI517087B (zh)
WO (1) WO2010056507A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8866698B2 (en) * 2008-10-01 2014-10-21 Pleiades Publishing Ltd. Multi-display handheld device and supporting system
JP5834181B2 (ja) * 2010-01-27 2015-12-16 パナソニックIpマネジメント株式会社 パネル制御装置及びパネル制御システム
US8884563B2 (en) * 2010-12-02 2014-11-11 Jerry Fan System and method for supplementing a generated DC power supply
US9021146B2 (en) * 2011-08-30 2015-04-28 Apple Inc. High priority command queue for peripheral component
US8918680B2 (en) 2012-01-23 2014-12-23 Apple Inc. Trace queue for peripheral component
US8677150B2 (en) * 2012-02-01 2014-03-18 Intel Mobile Communications GmbH Low-power multi-standard cryptography processing units with common flip-flop/register banks
CN104813309A (zh) * 2012-11-28 2015-07-29 辉达公司 用于远程显示器的基于云的虚拟化图形处理方法和系统
US11082490B2 (en) 2012-11-28 2021-08-03 Nvidia Corporation Method and apparatus for execution of applications in a cloud system
US10038553B2 (en) * 2013-12-30 2018-07-31 Empire Technology Development Llc Information rendering scheme
US9739517B2 (en) * 2015-08-21 2017-08-22 Haier Us Appliance Solutions, Inc. Controlling the operation of a dispenser system
EP3319069B1 (en) * 2016-11-02 2019-05-01 Skeyecode Method for authenticating a user by means of a non-secure terminal
US10818067B1 (en) * 2019-05-31 2020-10-27 Texas Instruments Incorporated GPU assist using DSP pre-processor system and method
TWI758097B (zh) * 2021-02-18 2022-03-11 友達光電股份有限公司 驅動電路及相關驅動方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926644A (en) * 1991-10-24 1999-07-20 Intel Corporation Instruction formats/instruction encoding
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
KR970002384B1 (ko) * 1994-10-26 1997-03-03 엘지전자 주식회사 휴대형 단말기의 사운드 발생 및 디스플레이 제어장치
US5826106A (en) * 1995-05-26 1998-10-20 National Semiconductor Corporation High performance multifunction direct memory access (DMA) controller
US5767866A (en) * 1995-06-07 1998-06-16 Seiko Epson Corporation Computer system with efficient DRAM access
EP0863497A1 (en) * 1997-03-06 1998-09-09 Sony Computer Entertainment Inc. Graphic data generation device with frame buffer regions for normal and size reduced graphics data
US6157984A (en) * 1997-05-15 2000-12-05 Seagate Technology, Llc Integrated controller/processor for disc drive having direct memory access
JP3895610B2 (ja) * 2001-03-21 2007-03-22 株式会社リコー 画像形成装置および画像形成方法
US7234144B2 (en) * 2002-01-04 2007-06-19 Microsoft Corporation Methods and system for managing computational resources of a coprocessor in a computing system
US7768522B2 (en) * 2002-01-08 2010-08-03 Apple Inc. Virtualization of graphics resources and thread blocking
US7847864B1 (en) * 2002-03-01 2010-12-07 Broadcom Corporation All digital radio frequency modulator
KR100449102B1 (ko) * 2002-03-19 2004-09-18 삼성전자주식회사 멀티미디어용 시스템온칩 프로세서
US7075541B2 (en) * 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US7538762B2 (en) * 2003-09-30 2009-05-26 Intel Corporation Switching display update properties upon detecting a power management event
US7193622B2 (en) * 2003-11-21 2007-03-20 Motorola, Inc. Method and apparatus for dynamically changing pixel depth
US7385607B2 (en) * 2004-04-12 2008-06-10 Nvidia Corporation Scalable shader architecture
US7746350B1 (en) * 2006-06-15 2010-06-29 Nvidia Corporation Cryptographic computations on general purpose graphics processing units
US20080001934A1 (en) * 2006-06-28 2008-01-03 David Anthony Wyatt Apparatus and method for self-refresh in a display device
JP2008021228A (ja) * 2006-07-14 2008-01-31 Renesas Technology Corp データ処理装置
TWI333788B (en) * 2006-11-17 2010-11-21 Chunghwa Picture Tubes Ltd Decimation line phenomenon cancellation method and the circuit thereof
JP2009134391A (ja) * 2007-11-29 2009-06-18 Renesas Technology Corp ストリーム処理装置、ストリーム処理方法及びデータ処理システム

Also Published As

Publication number Publication date
TW201019264A (en) 2010-05-16
US8456478B2 (en) 2013-06-04
KR101563989B1 (ko) 2015-10-28
WO2010056507A1 (en) 2010-05-20
US20100110085A1 (en) 2010-05-06
EP2342656B1 (en) 2019-09-04
KR20110079576A (ko) 2011-07-07
CN102187331B (zh) 2015-03-11
EP2342656A1 (en) 2011-07-13
CN102187331A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
TWI517087B (zh) 具有整合圖形處理單元之微控制器
US9471955B2 (en) Multiple display pipelines driving a divided display
US9495926B2 (en) Variable frame refresh rate
US11211036B2 (en) Timestamp based display update mechanism
CN105393209B (zh) 显示协处理
TWI552136B (zh) 用以控制自我刷新顯示功能之技術(二)
JP6806452B2 (ja) 表示制御及びタッチ検出装置
TWI464588B (zh) 在單一積體電路上之可程式週期狀態機及用於操作一積體電路晶片之方法
TWI707303B (zh) 用以從單一影像產生各種解析度影像之縮放器電路與包括該縮放器電路之裝置
US10055809B2 (en) Systems and methods for time shifting tasks
US9646563B2 (en) Managing back pressure during compressed frame writeback for idle screens
TW202247647A (zh) 時序控制器及顯示裝置
US9710049B2 (en) Display device, method of driving a display device, and display system
US20170018247A1 (en) Idle frame compression without writeback
US20150310900A1 (en) Request aggregation with opportunism
US9953591B1 (en) Managing two dimensional structured noise when driving a display with multiple display pipes