在物聯網系統中使用TFT-LCD(薄膜晶體管液晶顯示器)驅動芯片的原因主要可以歸納為以下幾點:
專業性與高效性
專業圖形處理:TFT-LCD驅動芯片內置了專業的圖形處理引擎,能夠高效地處理圖像數據,包括文字、圖形、視頻等,確保在物聯網設備上呈現出高質量的顯示效果。
優化顯示性能:驅動芯片能夠調節亮度、對比度等顯示參數,優化顯示效果,使圖像更加清晰、色彩更加鮮艷,提升用戶體驗。
資源節約與簡化設計
減少IO占用:物聯網設備通常資源有限,特別是IO端口資源。TFT-LCD驅動芯片通過簡化的接口(如SPI、I2C等)與主控芯片通信,大大減少了主控芯片IO端口的占用,使得系統設計更加簡潔。
降低功耗:驅動芯片通常具有低功耗設計,能夠在保證顯示效果的同時減少能源消耗,這對于需要長時間運行且依賴電池供電的物聯網設備尤為重要。
簡化編程與調試
簡化編程復雜度:使用TFT-LCD驅動芯片后,開發者可以通過高級命令或接口來控制顯示屏,而無需深入了解底層的顯示控制邏輯。這大大簡化了編程工作,提高了開發效率。
易于調試:由于驅動芯片將復雜的顯示控制邏輯封裝在內部,開發者在調試過程中可以更加專注于應用層的功能實現,而無需深入到底層的顯示控制邏輯中。
兼容性與擴展性
廣泛兼容性:TFT-LCD驅動芯片通常具有廣泛的兼容性,能夠支持多種類型的TFT-LCD顯示屏。這使得在物聯網系統中可以根據具體需求選擇合適的顯示屏類型,而無需擔心兼容性問題。
易于擴展:隨著物聯網技術的發展,對顯示屏的需求也在不斷變化。使用TFT-LCD驅動芯片可以方便地擴展顯示屏的功能和性能,滿足未來物聯網系統的需求。
具體應用場景
1、消費類電子產品
智能手機:作為智能手機的核心部件之一,TFT-LCD提供了高分辨率、色彩豐富的顯示效果,為用戶帶來極佳的視覺體驗。
平板電腦:平板電腦同樣依賴TFT-LCD來展示豐富的多媒體內容和應用程序。
筆記本電腦:筆記本電腦的顯示屏也大多采用TFT-LCD技術,以滿足用戶對高清晰度和色彩準確性的需求。
電視機:隨著液晶電視的普及,TFT-LCD成為主流顯示技術之一,為家庭娛樂提供了高質量的視覺享受。
2、醫療設備
TFT-LCD在醫療設備領域也發揮著重要作用。例如:
超聲診斷儀、心電圖機、血壓計、體溫計等醫療設備需要高清晰度、高對比度的顯示屏來輔助醫生進行準確的診斷。TFT-LCD的高分辨率和色彩還原度使其成為這些設備的理想選擇。
醫療影像顯示和手術導航系統中,TFT-LCD能夠呈現清晰的圖像,為醫生提供可靠的視覺支持。
3、工業自動化領域
在工業自動化領域,TFT-LCD被廣泛應用于各種顯示屏和人機界面中,如:
數控機床、工業機器人、過程控制系統等需要高清晰度、高亮度、高韌性、高穩定性的顯示屏來支持復雜的工業操作和生產監控。TFT-LCD的高清顯示和可靠性能使其成為這些設備的核心部件之一。
4、汽車電子
隨著汽車智能化和網聯化的發展,TFT-LCD在汽車電子領域的應用也越來越廣泛。例如:
汽車儀表、中控顯示屏、后座娛樂系統和車載導航系統等都需要高清晰度、高色彩飽和度的顯示屏幕來提供豐富的信息和娛樂功能。TFT-LCD不僅提升了駕駛體驗,還增強了車輛的安全性和舒適性。
5、其他領域
除了以上幾個主要領域外,TFT-LCD還被廣泛應用于航空航天、軍事裝備、智能家居等多個領域。例如:
航空航天:用于飛機和航天器的儀表顯示、艙內娛樂系統和導航顯示器中。
軍事應用:在雷達顯示器、作戰指揮系統和飛行模擬器等方面得到應用。
智能家居:作為智能家電的顯示屏和控制界面,為用戶提供便捷的操作體驗。
綜上所述,物聯網系統中使用TFT-LCD驅動芯片可以帶來專業性、高效性、資源節約、簡化設計、簡化編程與調試以及良好的兼容性與擴展性等多方面的優勢。這些優勢使得TFT-LCD驅動芯片在物聯網系統中得到廣泛應用。
二、TFT-LCD屏驅動芯片的行業知識介紹
TFT-LCD的基本結構
TFT-LCD由液晶顯示面板、背光模組、驅動電路等部分組成。其中,液晶顯示面板是核心部件,由兩片玻璃基板中間夾有液晶材料構成,每個像素點上都設置有一個薄膜晶體管(TFT)。這些TFT作為開關元件,控制液晶分子的排列,從而實現對光線的調制和顯示。
TFT-LCD的驅動原理
1、TFT的工作原理
TFT晶體管在液晶顯示屏的每一個像素點上都有一個,用于控制該像素點的顯示。當TFT的柵極(Gate)接收到一個滿足導通要求的高電平時,TFT導通,允許數據信號通過源極(Source)和漏極(Drain)之間的通道,給液晶電容充電。充電完成后,柵極電壓降低,TFT關斷,但液晶電容上的電壓會保持一段時間,直到下一次充電。
2、驅動電路
TFT-LCD的驅動電路主要包括時序控制器(TCON)、源極驅動器(Source Driver)和柵極驅動器(Gate Driver)。
時序控制器(TCON):負責接收主控發送的RGB數據,并進行單獨幀、校正顏色和亮度等處理,然后將處理后的數據發送給源極驅動器和柵極驅動器。
源極驅動器(Source Driver):連接到TFT的源極,負責將TCON發送的數據信號轉換為模擬電壓信號,并施加到液晶像素的電極上,從而控制液晶分子的排列和顯示效果。
柵極驅動器(Gate Driver):負責按順序一行一行地打開TFT的柵極,使得源極驅動器能夠依次給每一行的液晶像素充電。
3、信號傳輸與處理
TFT-LCD的驅動過程中,信號傳輸和處理起著至關重要的作用。RGB數據信號、時鐘信號和控制信號等通過特定的接口(如TTL、LVDS等)傳輸到驅動電路。驅動電路對這些信號進行處理后,生成控制TFT開關和液晶像素充電的信號,從而實現圖像的顯示。
TFT-LCD的驅動方式
TFT-LCD的驅動方式多種多樣,包括幀反轉、列反轉、行反轉和點反轉等。這些驅動方式通過改變施加在液晶分子上的電壓極性和時序,來抑制閃爍、提高顯示效果和延長使用壽命。
幀反轉:在同一幀內所有像素的電壓極性相同,相鄰幀之間電壓極性相反。
列反轉:相鄰數據線上對應的子像素以列為單位正負極反轉。
行反轉:相鄰數據線上對應的子像素以行為單位正負極反轉。
點反轉:在同一幀畫面下,每一個點與自己相鄰的上下左右四個點保持相反的極性,在接下來的一幀畫面下,所有子像素的電壓極性同時反轉。
三者關系
TFT(Thin Film Transistor)
定義:
TFT即薄膜場效應晶體管,是一種特殊的晶體管,使用薄層技術在基板上沉積半導體材料及其他材料形成。它的工作原理基于電場效應,與金屬氧化物半導體(MOS)場效應晶體管類似。當柵極施加電壓時,會改變溝道區域的電導率,從而控制源極和漏極之間的電流流動,這個電流進而控制像素點的明暗變化,實現圖像的顯示。
特點:
為每個像素配置一個半導體開關器件,每個節點都相對獨立,并可以進行連續控制。
廣泛應用于TFT-LCD內部來驅動液晶像素點。
LCD(Liquid Crystal Display)
定義:
LCD即液晶顯示屏,是Liquid Crystal Display的簡稱。其構造是在兩片平行的玻璃當中放置液態的晶體,通過電壓來改變液晶材料內部分子的排列狀況,以達到遮光和透光的目的來顯示深淺不一、錯落有致的圖象。
特點:
液晶顯示屏具有耗電少、使用壽命長、成本低等優點。
色彩顯示比CRT更高、更精準。
廣泛應用于電視、臺式電腦、手機、監視器等設備上。
TFT-LCD(Thin Film Transistor Liquid Crystal Display)
定義:
TFT-LCD又稱為主動式電晶薄膜晶體管液晶顯示屏,是LCD的一種高級形式。它使用薄膜晶體管技術來改善影象品質,通過TFT上的信號與電壓改變來控制液晶分子的轉動方向,從而達到控制每個像素點偏振光出射,實現高速度、高亮度、高對比度顯示屏幕信息。
特點:
每個像素點上都配置了一個TFT,使得顯示效果更加細膩和準確。
具有超薄體形、低功耗、低輻射、無閃爍、完全物理平面、低反光以及清晰的字符顯示等優點。
色彩還原度遠超其他種類的顯示屏,廣泛應用于智能手機、平板電腦、筆記本電腦等消費類電子產品中。
三者具體關系
TFT與LCD:TFT是LCD技術中的一種關鍵組件,用于驅動和控制LCD中的液晶像素點。沒有TFT,LCD的顯示效果將大打折扣。
TFT與TFT-LCD:TFT-LCD是TFT技術應用于LCD領域的一種產品形態,它結合了TFT和LCD的優點,實現了更高質量的顯示效果。
LCD與TFT-LCD:TFT-LCD是LCD的一種高級形式,具有更好的顯示效果和更廣泛的應用領域。
TFT-LCD的分類
按驅動方式分類
1、靜態驅動(Static Drive)
特點:靜態驅動方式下,每個像素點都有獨立的驅動電路,能夠直接控制每個像素點的顯示狀態。這種方式具有顯示質量高、亮度均勻等優點,但成本較高,適用于對顯示效果要求極高的場合。
2、單純矩陣驅動(Simple Matrix Drive)
細分:單純矩陣驅動又可分為扭轉式向列型(Twisted Nematic, TN)和超扭轉式向列型(Super Twisted Nematic, STN)等。
特點:在這種驅動方式下,像素點通過行列交叉的電極矩陣進行控制。由于成本較低,適用于像素較少、對顯示效果要求不高的場合。然而,隨著像素數量的增加,交叉噪聲等問題會逐漸顯現,影響顯示效果。
代表:TFT-LCD就是主動矩陣驅動的一種典型代表。
特點:每個像素點都配有一個薄膜晶體管(TFT)作為開關元件,能夠實現對每個像素點的獨立控制。這種方式具有響應速度快、顯示質量高、色彩豐富等優點,是目前液晶顯示技術的主流方向。
按接口方式分類
1、MCU屏
特點:這類TFT屏通常只適用于3.5吋以下的小尺寸屏,像素不超過320x480。可以通過與MCU(微控制器)的并口或串口方式直接操作LCD控制器里面的顯存進行顯示。但MCU屏可能會出現刷屏慢的現象。
2、RGB屏
特點:通常指3.5吋-10.1吋左右的中尺寸TFT屏,分辨率可以到達1024x600或更高。這類屏顯示數據量巨大,不能通過MCU直接操作LCD驅動器,必須通過專門的圖形控制IC將顯示數據轉換成RGB信號,再傳輸給TFT驅動器完成顯示。
3、高清數字接口屏
代表:如MIPI、LVDS、EDP等接口方式的TFT屏。這些屏主要應用于高分辨率TFT顯示(800x480-1920x1080),顯示數據傳輸須經過專用芯片處理后才能傳送給屏驅動器完成顯示。
按其他特性分類
1、按色深分類
如65K色(65536種色彩,16bit)、262K色(18bit)、16.7M色(24bit)等。色深越大,表示色彩越豐富,但系統開銷也越大。
2、按顯示模式分類
如常黑模式(Normally Black)和常白模式(Normally White)等。這兩種模式在顯示效果和功耗方面有所不同,適用于不同的應用場景。
綜上所述,TFT-LCD的驅動方式可以從多個角度進行分類,每種分類方式都有其獨特的特點和應用場景。在實際應用中,需要根據具體需求選擇合適的驅動方式和TFT-LCD產品。
TFT-LCD驅動芯片的選型參數
1、分辨率
定義:分辨率是指顯示屏上像素點的數量,通常以水平像素數×垂直像素數的形式表示,如1920×1080。
重要性:分辨率直接影響顯示畫面的清晰度和細膩度。高分辨率的顯示屏能夠呈現更多的細節和更豐富的色彩。
2、屏幕尺寸
定義:屏幕尺寸是指顯示屏對角線的長度,通常以英寸(inch)為單位。
重要性:屏幕尺寸決定了顯示畫面的大小,適用于不同的應用場景。例如,手機、平板電腦和電視等設備的屏幕尺寸各不相同。
3、色彩深度
定義:色彩深度也稱為色階或位深度,表示顯示屏能夠顯示的顏色數量。常見的色彩深度有6位(64色)、8位(256色)、16位(65536色)、24位(1677萬色)等。
重要性:色彩深度越大,顯示屏能夠呈現的顏色種類就越多,色彩過渡更加自然,畫面更加真實。
4、亮度與對比度
亮度:指顯示屏的最大發光強度,通常以尼特(nit)為單位。
對比度:指顯示屏上最亮與最暗區域的亮度比值。
重要性:亮度和對比度直接影響顯示畫面的明亮程度和色彩層次感。高亮度和高對比度的顯示屏能夠在各種光線環境下提供清晰的視覺效果。
5、視角
定義:視角是指從不同方向觀看顯示屏時,畫面保持清晰和色彩不失真的最大角度范圍。
重要性:視角決定了顯示屏的觀看舒適度和適用范圍。寬視角的顯示屏能夠提供更廣闊的觀看角度,減少色彩失真和亮度下降。
6、響應時間
定義:響應時間是指液晶分子從一種狀態轉變為另一種狀態所需的時間,通常以毫秒(ms)為單位。
重要性:響應時間決定了顯示屏在顯示動態畫面時的流暢度和清晰度。較短的響應時間能夠減少拖影和模糊現象,提高觀看體驗。
7、功耗
定義:功耗是指顯示屏在工作狀態下所消耗的電能。
重要性:功耗直接影響設備的續航能力和使用成本。低功耗的顯示屏能夠延長設備的電池壽命,降低使用成本。
8、接口類型
定義:接口類型是指顯示屏與外部設備(如計算機、手機等)連接時所使用的數據接口。
重要性:接口類型決定了顯示屏的兼容性和傳輸速度。不同的接口類型適用于不同的應用場景和設備類型。
9、驅動IC
定義:驅動IC是控制顯示屏工作的核心芯片,負責接收和處理外部設備發送的顯示數據,并將其轉換為顯示屏能夠識別的信號。
重要性:驅動IC的性能直接影響顯示屏的顯示效果和穩定性。選擇合適的驅動IC能夠確保顯示屏的高品質顯示和長壽命運行。
10、其他參數
除了以上主要參數外,還有一些其他參數也可能影響TFT-LCD驅動的選型,如溫度范圍、存儲條件、使用壽命等。這些參數根據具體的應用場景和需求進行選擇。
TFT-LCD驅動芯片的優缺點
TFT(Thin Film Transistor,薄膜場效應晶體管)驅動技術作為液晶顯示屏的主流驅動方式,具有一系列的優點和缺點。以下是對TFT驅動優缺點的詳細分析:
優點
1、高畫質:
TFT-LCD采用薄膜晶體管作為開關元件,能夠實現對每個像素點的獨立控制,因此具有高速度、高亮度、高對比度和高分辨率的特點,能夠呈現細膩、清晰的圖像。
色彩還原度高,能夠顯示豐富的色彩和細膩的色彩過渡,使得畫面更加生動逼真。
2、低功耗:
相比傳統的CRT顯示器,TFT-LCD的功耗要低得多,這有助于節省能源并延長便攜式設備的電池壽命。
近年來,隨著技術的進步,TFT-LCD的低功耗特性得到了進一步的提升,通過優化驅動電路和背光系統等方式,進一步降低了功耗。
3、輕薄便攜:
TFT-LCD具有平板化、輕薄化的特點,大大節省了原材料和使用空間,使得其成為便攜式電子設備(如手機、平板電腦等)的理想顯示器件。
4、使用壽命長:
TFT-LCD的使用壽命相對較長,能夠長時間穩定工作而不會出現明顯的性能下降或損壞。
5、環保健康:
TFT-LCD無輻射、無閃爍,對使用者的健康無損害,符合現代環保和健康理念。
6、適用范圍廣:
TFT-LCD可在較寬的溫度范圍內正常工作,并且經過特殊處理的TFT-LCD甚至可以在極端溫度條件下工作。
它不僅適用于移動終端顯示和臺式終端顯示,還可以作為大屏幕投影電視等全尺寸視頻顯示終端使用。
7、易于集成化和更新換代:
TFT-LCD是大規模半導體集成電路技術和光源技術的完美結合,易于集成化和更新換代,具有很大的發展潛力。
缺點
1、成本較高:
相比其他類型的液晶顯示屏(如TN、STN等),TFT-LCD的生產成本較高,這在一定程度上限制了其在某些低成本應用領域的普及。
2、耗電量相對較大(盡管低功耗是優點之一,但相對于某些更先進的顯示技術):
盡管TFT-LCD已經具有較高的能效比,但在某些高亮度、高分辨率的應用場景下,其耗電量仍然相對較大。這對于便攜式設備來說是一個需要考慮的因素。
3、可視角度限制:
盡管TFT-LCD的可視角度已經得到了很大的改善,但與某些新型顯示技術(如OLED)相比,其可視角度仍然存在一定的限制。在極端角度下觀看時,可能會出現色彩失真或亮度下降的情況。
4、響應速度:
盡管TFT-LCD的響應速度已經足夠快以滿足大多數應用場景的需求,但在某些需要極高響應速度的應用(如電競顯示器)中,其性能可能無法與某些更先進的顯示技術相媲美。
綜上所述,TFT-LCD驅動具有畫質高、功耗低、輕薄便攜、使用壽命長、環保健康、適用范圍廣和易于集成化等優點;但同時也存在成本較高、耗電量相對較大、可視角度限制和響應速度等缺點。在實際應用中,需要根據具體需求和場景來選擇合適的顯示技術和驅動方案。
TFT-LCD驅動芯片的使用注意事項
1、電壓與電流控制
驅動電壓:液晶顯示屏(LCD)應防止施加過大的直流電壓。驅動電壓的直流成分越小越好,最大不要超過50mV。長時間的施加過大的直流成分,會導致電解和電極老化,從而降低壽命。
電壓穩定性:確保提供給TFT-LCD的電壓穩定,避免電壓波動對顯示屏造成損害。
2、環境因素
溫度:TFT-LCD必須在規定溫度范圍內保存和使用。溫度過高會導致液晶態消失,變成液態,顯示面呈黑色,無法工作;溫度過低則可能導致液晶結成冰花,造成永久損傷。
光照:避免長時間的陽光直射,因為液晶及偏振片在紫外線照射下會發生光化學反應,導致劣化。
濕度:保持適當的濕度,避免潮濕環境。濕度過高可能導致LCD內部結露,引起漏電和短路,甚至燒毀顯示屏。
3、機械保護
避免震動與沖擊:TFT-LCD是玻璃制品,十分脆弱,應避免強烈的沖擊、碰撞、擠壓和振動。更不可以對LCD的液晶屏施加壓力。
裝配與存儲:在裝配和存儲過程中,要注意避免劃傷和弄臟顯示屏。同時,不要進行長時間密封儲存,以防化學氣體損害液晶及偏光片。
4、電磁干擾
遠離磁場:TFT液晶顯示屏要遠離磁場較強的物體,周圍強大的磁場會使顯示器的內部產生額外的電壓,影響到顯示屏電壓的穩定性,長時間處于強大的磁場中還會導致色彩失真,影響顯示效果和壽命。
5、初始化與驅動
正確初始化:部分TFT-LCD模組需要初始化通訊,必須向TFT-LCD供應商索取正確的初始化應用通訊程序,以確保初始化通訊的成功。
驅動設置:根據TFT-LCD模組的規格書,正確設置驅動參數,包括分辨率、時序參數等。
6、使用與維護
避免長時間固定畫面:避免讓液晶屏長時間顯示固定畫面,以防止產生殘影。
合理使用屏保與壁紙:使用LCD時,慎用壁紙和屏保,尤其是色彩艷麗、光線明暗變化對比強烈的壁紙和屏保程序,長時間使用會使LCD色彩失真,影響壽命。
定期清潔:定期清潔顯示屏表面,避免灰塵和污垢的積累。
7、電氣安全
接地與絕緣:確保TFT-LCD的接地良好,避免電氣干擾和安全隱患。同時,注意顯示屏與其他電氣部件的絕緣處理。
TFT-LCD驅動芯片的廠商
全球主要廠商
聯詠科技(Novatek)
地位:中國臺灣芯片設計領導廠商,全球驅動芯片龍頭企業。
產品:全系列的平面顯示屏幕驅動芯片,以及移動終端及消費電子產品上應用之數字影音、多媒體單芯片產品解決方案。
市場表現:在智能手機TFT-LCD驅動芯片市場占據重要地位,出貨量市占率曾高達31%。
Texas Instruments(德州儀器)
地位:全球領先的半導體公司。
產品:包括TFT-LCD驅動芯片在內的多種半導體產品。
市場表現:在全球TFT-LCD驅動IC市場中占有重要地位。
Microchip Technology
產品:提供多種類型的TFT-LCD驅動芯片。
市場表現:在智能穿戴類TFT-LCD驅動芯片市場中占有一定份額。
Samsung(三星)
業務:三星不僅是顯示面板的生產商,也涉足顯示驅動芯片領域。
市場表現:在整合型AMOLED顯示驅動芯片市場中占據領先地位,同時也在TFT-LCD驅動芯片市場有所布局。
NXP Semiconductors(恩智浦半導體)
產品:提供多種高性能的半導體解決方案,包括TFT-LCD驅動芯片。
市場表現:在全球市場中占有一定份額。
產品:包括TFT-LCD驅動芯片在內的多種電子產品。
市場表現:在全球TFT-LCD驅動IC市場中具有一定影響力。
ROHM Semiconductor(羅姆半導體)
產品:提供多種半導體產品,包括TFT-LCD驅動芯片。
市場表現:在全球市場中占有一定的市場份額。
中國大陸廠商
韋爾股份(WillSemi)
業務:于2020年以1.2億美元收購Synaptics公司亞洲地區的TDDI業務,正式進軍顯示驅動芯片市場。
市場表現:在智能手機TFT-LCD驅動芯片市場占有率為6%(不含Synaptics TDDI業務交割前的份額),排名第五。
天德鈺(JADARD)
背景:深圳天德鈺為富士康科技集團旗下IC設計核心成員。
產品:產品線包含顯示驅動芯片、VCM驅動芯片、QC/PD快充協議芯片和電子價簽驅動芯片等。
市場表現:在智能手機TFT-LCD驅動芯片市場占有率為4%,排名第六。
集創北方(Chipone)
業務:中國大陸驅動芯片龍頭企業,產品線包含顯示驅動芯片、TCON芯片、電源管理芯片、指紋識別芯片、觸控芯片和LED顯示驅動芯片等。
市場表現:在智能手機TFT-LCD驅動芯片市場占有率接近2%,排名第七。
新相微
市場表現:在TFT-LCD手機顯示驅動芯片市場中出貨量約占全球市場的1.5%,在中國內地出貨量排名第五。
其他廠商
奕力科技(Ilitek):全球智能手機TFT-LCD驅動芯片市場出貨量市占率較高的廠商之一。
敦泰電子(FocalTech)、奇景光電(Himax)等也在全球智能手機TFT-LCD驅動芯片市場中占有一定份額。
三、TFT-LCD屏驅動芯片的硬件設計方案
本文主要采用了矽創電子的ST7735S做為驅動芯片。
ST7735S是一款TFT-LCD(薄膜晶體管液晶顯示器)圖形顯示芯片,廣泛應用于各種液晶顯示模塊中。以下是對ST7735S的詳細介紹:
一、基本參數
分辨率:ST7735S支持兩種分辨率,分別為128160和132162。這兩種分辨率的選擇通常通過特定的引腳(如GM0和GM1)來配置。
顏色深度:支持26萬色(262K-color, RGB666, 18bits),因此片載顯示數據存儲空間為13216218bits。
顏色模式:常見的顏色模式包括RGB565(16位色,65K色)和RGB666(18位色,262K色)。RGB565因其剛好使用2個字節的空間,常被用于節約單片機資源。
二、接口特性
并行接口:支持并行8080系列單片機接口(8位、9位、16位和18位)和并行6800系列單片機接口(8位、9位、16位和18位)。
串行接口:支持3線和4線兩種串行接口。3線串行接口比4線串行接口少了“數據/命令”選擇(D/CX)引腳,因此在通信上,3線串行接口主機向從機發送的每個字節前需增加一個“數據/命令”控制位。
三、引腳定義
ST7735S的引腳定義包括但不限于:
CS:片選信號。
DC(或D/CX):數據模式選擇信號,用于區分是寫命令還是寫數據。
RST:復位信號,低電平有效。
SDA:SPI數據線。
SCL:SPI時鐘線。
VDD:電源引腳,兼容+5V和+3.3V。
GND:接地引腳。
四、應用與操作
1、復位與初始化:
復位信號低電平有效,要求時間大于10us,復位后最好再等待一段時間(如120ms)以確保穩定。
初始化過程包括退出睡眠模式、配置寄存器(如屏幕刷新率、電壓、伽馬極性、像素格式等)、設置顯示等步驟。
2、坐標位置控制:
通過寫入0X2A和0X2B寄存器來設置屏幕的顯示區域(起始坐標和終點坐標)。
3、顏色填充與顯示:
在設置好顯示區域后,可以通過寫入顏色數據到顯存中來實現顏色的填充。常用的顏色數據包括紅色、綠色、藍色、白色、黑色和黃色等。
4、圖像與字符顯示:
由于ST7735S內部沒有字庫,所以需要在外部制作字庫或圖像數據,并通過MCU將數據發送到顯示屏上。
五、注意事項
在使用ST7735S時,需要根據具體的應用場景選擇合適的分辨率和顏色模式。
初始化過程中需要按照芯片手冊中的要求配置相關寄存器,以確保顯示屏能夠正常工作。
在進行數據傳輸時,需要注意數據格式和時序要求,以避免通信錯誤。
總的來說,ST7735S是一款功能強大的TFT-LCD圖形顯示芯片,廣泛應用于各種需要彩色液晶顯示的嵌入式系統中。通過合理的配置和使用,可以實現高質量的圖像和字符顯示效果。
四、TFT-LCD屏驅動芯片的軟件設計方案
本文采用了奇跡物聯的紅豆版開源技術平臺為主控單元,一步步手把手教會讀者如何使用紅豆版開源平臺編寫ST7735S驅動。這里對代碼就不多詳解,如果需要詳細了解,請到奇跡物聯的紅豆版開源平臺了解詳細代碼講解。
1 Gitee鏈接地址
Demo位于amaziot_bloom_os_sdksample3rd3.0_ST7735S
Gitee源碼地址:https://gitee.com/ning./hongdou
Github源碼地址:https://github.com/ayumid/hongdou
編譯指令:.build.bat -l .amaziot_bloom_os_sdksample3rd3.0_ST7735S
2 組件功能介紹
驅動TFT-LCD顯示圖片,不同大小的漢字,字符,數字;畫圓,畫矩形,畫線;LCD驅動使用ST7735S。任何品牌的LCD,只要是驅動芯片使用的ST7735S,都可以使用本驅動。驅動使用模擬spi實現。
3 代碼講解
1 drv_st7735s_lcd_fill
功能:該函數用于,在指定區域填充顏色。
參數:
參數 | 釋義 |
xsta,ysta | 起始坐標 |
xend,yend | 終止坐標 |
返回值:無
示例:
//屏幕顯示白色 drv_st7735s_lcd_fill(0,0,LCD_W,LCD_H,WHITE);
2 drv_st7735s_draw_point
功能:該函數用于,在指定位置畫點。
參數:
參數 | 釋義 |
x,y | 畫點坐標 |
color | 點的顏色 |
返回值:無
示例:
drv_st7735s_draw_point(x0-b,y0-a,color); //3
3 drv_st7735s_draw_line
功能:該函數用于,根據坐標畫圓。
參數:
參數 | 釋義 |
x1,y1 | 起始坐標 |
x2,y2 | 終止坐標 |
color | 線的顏色 |
返回值:無
示例:
//畫線 drv_st7735s_draw_line(10,20,130,40,LIGHTBLUE);
4 drv_st7735s_draw_rectangle
功能:該函數用于,指定坐標畫矩形。
參數:
參數 | 釋義 |
x1,y1 | 起始坐標 |
x2,y2 | 終止坐標 |
color | 線的顏色 |
返回值:無
示例:
//顯示矩形 drv_st7735s_draw_rectangle(120,20,140,60,GREEN);
5 drv_st7735s_draw_circle
功能:該函數用于,畫圓。
參數:
參數 | 釋義 |
x0,y0 | 圓心坐標 |
r | 半徑 |
color | 圓的顏色 |
返回值:無
示例:
//顯示圓 drv_st7735s_draw_circle(45,35,20,BLUE);
6 drv_st7735s_show_chinese
功能:該函數用于,顯示漢字串。
參數:
參數 | 釋義 |
x,y | 顯示坐標 |
*s | 要顯示的漢字串 |
fc | 字的顏色 |
bc | 字的背景色 |
sizey | 字號 可選 12 16 24 32 |
mode | 0非疊加模式 1疊加模式 |
返回值:無
示例:
//顯示漢字,大小24 drv_st7735s_show_chinese(85,20,"奇跡物聯",RED,WHITE,16,0);
7 drv_st7735s_show_chinese_12x12
功能:該函數用于,顯示單個12x12漢字。
參數:
參數 | 釋義 |
x,y | 顯示坐標 |
*s | 要顯示的漢字串 |
fc | 字的顏色 |
bc | 字的背景色 |
sizey | 12 |
mode | 0非疊加模式 1疊加模式 |
返回值:無
示例:
drv_st7735s_show_chinese_12x12(x,y,s,fc,bc,sizey,mode);
8 drv_st7735s_show_chinese_16x16
功能:該函數用于,顯示單個16x16漢字。
參數:
參數 | 釋義 |
x,y | 顯示坐標 |
*s | 要顯示的漢字串 |
fc | 字的顏色 |
bc | 字的背景色 |
sizey | 字號 可選 12 16 24 32 |
mode | 0非疊加模式 1疊加模式 |
返回值:無
示例:
drv_st7735s_show_chinese_16x16(x,y,s,fc,bc,sizey,mode);
9 drv_st7735s_show_chinese_24x24
功能:該函數用于,顯示單個24x24漢字。
參數:
參數 | 釋義 |
x,y | 顯示坐標 |
*s | 要顯示的漢字串 |
fc | 字的顏色 |
bc | 字的背景色 |
sizey | 字號 可選 12 16 24 32 |
mode | 0非疊加模式 1疊加模式 |
返回值:無
示例:
drv_st7735s_show_chinese_24x24(x,y,s,fc,bc,sizey,mode);
10 drv_st7735s_show_chinese_32x32
功能:該函數用于,顯示單個32x32漢字。
參數:
參數 | 釋義 |
x,y | 顯示坐標 |
*s | 要顯示的漢字串 |
fc | 字的顏色 |
bc | 字的背景色 |
sizey | 字號 可選 12 16 24 32 |
mode | 0非疊加模式 1疊加模式 |
返回值:無
示例:
drv_st7735s_show_chinese_32x32(x,y,s,fc,bc,sizey,mode);
11 drv_st7735s_show_char
功能:該函數用于,顯示單個字符。
參數:
參數 | 釋義 |
x,y | 顯示坐標 |
*s | 要顯示的漢字串 |
fc | 字的顏色 |
bc | 字的背景色 |
sizey | 字號 可選 12 16 24 32 |
mode | 0非疊加模式 1疊加模式 |
返回值:無
示例:
drv_st7735s_show_char(x+(len-2)*sizex,y,'.',fc,bc,sizey,0);
12 drv_st7735s_show_string
功能:該函數用于,顯示字符串。
參數:
參數 | 釋義 |
x,y | 顯示坐標 |
*s | 要顯示的漢字串 |
fc | 字的顏色 |
bc | 字的背景色 |
sizey | 字號 可選 12 16 24 32 |
mode | 0非疊加模式 1疊加模式 |
返回值:無
示例:
//顯示字符 drv_st7735s_show_string(40,20,"LCD_W:",RED,WHITE,16,0);
13 drv_st7735s_pow
功能:該函數用于,顯示數字。
參數:
參數 | 釋義 |
m | 底數 |
n | 指數 |
返回值:無
示例:
temp=(num1/drv_st7735s_pow(10,len-t-1))%10;
14 drv_st7735s_show_pic
功能:該函數用于,顯示圖片。
參數:
參數 | 釋義 |
x,y | 起點坐標 |
length | 圖片長度 |
width | 圖片寬度 |
pic[] | 圖片數組 |
返回值:無
示例:
//顯示圖片,圖片寬36,高24,具體要看自己的圖片使用桌面軟件生成的實際參數,這里的圖片參數為93 * 26 drv_st7735s_show_pic(20,25,123,34,gImage_1);
15 drv_st7735s_delay_ms
功能:該函數用于,延時函數。
參數:
參數 | 釋義 |
ms | 毫秒 |
返回值:無
示例:
drv_st7735s_delay_ms(100);
16 drv_st7735s_gpio_init
功能:該函數用于,gpio初始化。
參數:無
返回值:無
示例:
drv_st7735s_gpio_init();//初始化GPIO
17 drv_st7735s_wr
功能:該函數用于,LCD串行數據寫入函數。
參數:
參數 | 釋義 |
dat | 要寫入的串行數據 |
返回值:無
示例:
drv_st7735s_wr(dat);
18 drv_st7735s_wr_byte
功能:該函數用于,寫一個字節數據。
參數:
參數 | 釋義 |
dat | 寫入的數據 |
返回值:無
示例:
drv_st7735s_wr_byte(0x36);
19 drv_st7735s_wr_word
功能:該函數用于,LCD寫入兩個字節數據。
參數:
參數 | 釋義 |
dat | 寫入的數據 |
返回值:無
示例:
drv_st7735s_wr_word(x1+26);
20 drv_st7735s_wr_reg
功能:該函數用于,寫LCD寫入命令。
參數:
參數 | 釋義 |
dat | 寫入的命令 |
返回值:無
示例:
drv_st7735s_wr_reg(0x2a);//列地址設置
21 drv_st7735s_addr_set
功能:該函數用于,設置起始和結束地址。
參數:
參數 | 釋義 |
x1,x2 | 設置列的起始和結束地址 |
y1,y2 | 設置行的起始和結束地址 |
返回值:無
示例:
drv_st7735s_addr_set(x,y,x+sizex-1,y+sizey-1); //設置光標位置
22 drv_st7735s_init
功能:該函數用于,st7735s初始化。
參數:無
返回值:無
示例:
st7735s初始化
4 Demo實戰
4.1 創建一個Demo
復制20.1_file_xtu示例工程,到同一個文件夾下,修改文件名為3.0_ST7735S,如圖:
4.2 修改makefile
增加文件組件所在目錄頭文件路徑,和源文件路徑,如圖:
4.3 增加頭文件
使用代碼編輯器,將新建的工程文件加入代碼編輯器中,打開main.c,修改main.c,加入am.h等頭文件,如圖:
4.4 修改代碼
在Phase2Inits_exit 創建一個任務,如圖:
4.5 宏定義介紹
sample_st7735s_uart_printf
輸出日志到DEBUG 串口,日志比較少,可以輸出到這個串口,如果日志比較多,需要輸出到usb口,以免不必要的問題出現
sample_st7735s_catstudio_printf
輸出日志到USB 串口,使用catstudio查看,catstudio查看日志需要更新對應版本mdb.txt文件,軟件打開filtter過濾日志,只查看用戶輸出的日志
SAMPLE_ST7735S_STACK_SIZE
棧空間宏定義
4.6 全局變量介紹
sample_st7735s_stack_ptr
任務棧空間,本例使用數組實現,用戶在做項目時,可以預先估算下當先任務需要的大致棧空間,OS沒有提供可以查看棧空間使用情況的API
sample_st7735s_task_ref
任務指針
4.7 函數介紹
Phase1Inits_enter
底層初始化,本例空
Phase1Inits_exit
底層初始化,本例空
Phase2Inits_enter
底層初始化,本例空
Phase2Inits_exit
創建主任務,初始化消息隊列,定時器,任務等。
代碼片段:
void Phase2Inits_exit(void) { int ret = 0; GPIOConfiguration config = {0}; //鍒涘緩瀹氭椂鍣? OSATimerCreate(&sample_xl9535_int_detect_timer_ref); //鍒涘緩涓柇澶勭悊浠誨姟 OSATaskCreate(&sample_st7735s_task_ref, sample_st7735s_stack_ptr, SAMPLE_ST7735S_STACK_SIZE, 100, "st7735s_task", sample_st7735s_task, NULL); }
sample_exat_rcv_uart_task
主任務,獲取imsi,rsrq等參數信息。
代碼片段:
void sample_st7735s_task(void *param) { GPIO_ReturnCode ret = 0; OSA_STATUS status = OS_SUCCESS; float t=0; drv_st7735s_init();// while(1) { //屏幕顯示白色 drv_st7735s_lcd_fill(0,0,LCD_W,LCD_H,WHITE); //顯示圖片,圖片寬36,高24,具體要看自己的圖片使用桌面軟件生成的實際參數,這里的圖片參數為93 * 26 drv_st7735s_show_pic(20,25,123,34,gImage_1); sample_st7735s_sleep(1); //屏幕顯示白色 drv_st7735s_lcd_fill(0,0,LCD_W,LCD_H,WHITE); //顯示漢字,大小16 drv_st7735s_show_chinese(50,5,"奇跡物聯",RED,WHITE,12,0); //顯示字符 drv_st7735s_show_string(40,20,"LCD_W:",RED,WHITE,16,0); //顯示數字 drv_st7735s_show_int_num(88,20,LCD_W,3,RED,WHITE,16); //顯示字符 drv_st7735s_show_string(40,40,"LCD_H:",RED,WHITE,16,0); //顯示數字 drv_st7735s_show_int_num(88,40,LCD_H,3,RED,WHITE,16); //顯示浮點數 drv_st7735s_show_float_num(40,60,t,4,RED,WHITE,16); t += 0.11; sample_st7735s_sleep(1); //屏幕顯示白色 drv_st7735s_lcd_fill(0,0,LCD_W,LCD_H,WHITE); //顯示圓 drv_st7735s_draw_circle(45,35,20,BLUE); //顯示漢字,大小24 drv_st7735s_show_chinese(85,20,"奇跡物聯",RED,WHITE,16,0); sample_st7735s_sleep(1); //屏幕顯示白色 drv_st7735s_lcd_fill(0,0,LCD_W,LCD_H,WHITE); //顯示矩形 drv_st7735s_draw_rectangle(120,20,140,60,GREEN); //顯示漢字,大小32 drv_st7735s_show_chinese(10,30,"奇跡物聯",RED,WHITE,24,0); sample_st7735s_sleep(1); //屏幕顯示白色 drv_st7735s_lcd_fill(0,0,LCD_W,LCD_H,WHITE); //畫線 drv_st7735s_draw_line(10,20,130,40,LIGHTBLUE); drv_st7735s_draw_line(50,25,150,10,CYAN); //顯示漢字,大小12 drv_st7735s_show_chinese(30,40,"奇跡物聯",RED,WHITE,32,0); sample_st7735s_sleep(1); // LCD_SCLK_Clr(); // LCD_MOSI_Clr(); // LCD_RES_Clr(); // LCD_DC_Clr(); // LCD_CS_Clr(); // LCD_BLK_Clr(); // sample_st7735s_sleep(1); // LCD_SCLK_Set(); // LCD_MOSI_Set(); // LCD_RES_Set(); // LCD_DC_Set(); // LCD_CS_Set(); // LCD_BLK_Set(); } }
4.8 編譯
在SDK根目錄打開命令行,輸入命令.build.bat -l .amaziot_bloom_os_sdksample3rd3.0_ST7735S
PS F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF λ .build.bat -l .amaziot_bloom_os_sdksample3rd3.0_ST7735S 子目錄或文件 outbin 已經存在。 命令語法不正確。 子目錄或文件 buildobj 已經存在。 gnumake: Entering directory `F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.0_ST7735S' armcc.exe -c --cpu Cortex-R4 --no_unaligned_access -g -O2 --apcs /inter --diag_suppress 2084,1,2,177,188,223,550,1296,2795,6319,9931,9933 --diag_error=warning --gnu --thumb --loose_implicit_cast -DDATA_COLLECTOR_IMPL -DISPT_OVER_SSP -DDIAG_SSP_DOUBLE_BUFFER_USE_DYNAMIC_ALLOCATION -DENV_XSCALE -DL1_DCXO_ENABLED -DLTE_HIGH_MOBILITY_OPTIMIZATION -DRUN_XIP_MODE -DCRANE_Z2 -DCA_LONG_IPC_MSG -DNEZHA3 -DNEZHA3_1826 -DUPGRADE_PLMS -DUPGRADE_PLMS_SR -DLTE_GSMMULTIBCCH -DGPLC_LTE_RSSI_SCAN -DL1V_NEW_RSSI -DUPGRADE_PLMS_3G -DUPGRADE_PLMS_L1 -DUPGRADE_FG_PLMS -DFG_PLMS_URR -DUPGRADE_L1A_FG_PLMS -DUPGRADE_PLMS_STAGE_2 -DUPGRADE_MBCCH -DMULTI_BCCH_READY_IND -DURR_MRAT_ICS_SEARCH -DUPGRADE_ICS -DMRAT_NAS -DUPGRADE_PLMS_SEARCH_API -DICS_MBCCH -DICS_MBCCH_2G_RSSI -DDIAG_NEWPP -DPHS_SW_DEMO -DPHS_SW_DEMO_TTC -DPHS_SW_DEMO_TTC_PM -DFULL_SYSTEM -D_DDR_INIT_ -D_TAVOR_HARBELL_ -DUPGRADE_ARBEL_PLATFORM -D_TAVOR_B0_SILICON_ -DTDL1C_SPY_ENABLE -DDLM_TAVOR -DTAVOR -DFLAVOR_DUALCORE -DDEBUG_D2_MOR_REG_RESEREVED_ENABLE -D_DIAG_USE_COMMSTACK_ -D_TAVOR_DIAG_ -DPM_DEBUG_MODE_ENABLED -DPM_D2FULL_MODE -DPM_EXT_DBG_INT_ARR -DFEATURE_WB_AMR_PS -DMACRO_FOR_LWG -DHL_LWG -DOPTIMIZE_FOR_2G_BCCH -DPLAT_TEST -D_FDI_USE_OSA_ -DPLAT_USE_THREADX -DLWIP_IPNETBUF_SUPPORT -DCRANE_MCU_DONGLE -DAT_OVER_UART -DPHS_SW_DEMO_TTC_PM -DUPGRADE_LTE_ONLY -DEXT_AT_MODEM_SUPPORT -DLTEONLY_THIN_SINGLE_SIM -DLFS_FILE_SYS -DLFS_FILE_SYS_V2 -DPSM_ENABLE -DNO_PAHO_MQTT -DNO_XML -DNO_LWM2M -DREMOVE_MBEDTLS -DNO_AT_NET -DCRANE_SD_NOT_SUPPORT -DNTP -DYMODEM_EEH_DUMP -DENABLE_DM_LTEONLY -DLTEONLY_THIN -DNO_EXTEND_MY_Q_AT -DNOT_SUPPORT_HTTPS -DNOT_SUPPORT_PM813 -DCRANEL_4MRAM -DREMOVE_PB -DUART_NEW_VERSION -DREMOVE_MEP -DREMOVE_SMS -DREMOVE_ENVSIM -DAPN_INCODE -DLTEONLY_THIN_SINGLE_SIM_2MFLASH -DASR160X_OPENCPU_FEATURE -DENABLE_UART3_FEATRUE -DENABLE_UART4_FEATRUE -DYUGE_MBEDTLS_3_2_1 -DENABLE_MAC_TX_DATA_LOGGING -DDISABLE_NVRAM_ACCESS -DINTEL_UPGRADE_EE_HANDLER_SUPPORT -DLTE_W_PS -DL1_DUAL_MODE -DUPGRADE_HERMON_DUAL -DINTEL_UPGRADE_DUAL_RAT -DINTEL_UPGRADE_GPRS_CIPHER_FLUSH -DUPGRADE_ENHANCED_QUAD_BAND -DINTEL_2CHIP_PLAT -DI_2CHIP_PLAT -DUPGRDE_TAVOR_COMMUNICATION -DRUN_WIRELESS_MODEM -DFLAVOR_DDR12MB_GB1MB5 -DFEATURE_SHMEM -DACIPC_ENABLE_NEW_CALLBACK_MECHANISM -DRELIABLE_DATA -DMAP_NSS -DTV_FNAME=""SW_PLATFORM=PMD2NONE PHS_SW_DEMO PHS_SW_DEMO_PM SRCNUCLEUS FULL_SYSTEM NOACRTC PDFLT PLAT_TEST PV2 DIAGOSHMEM NVM WITHL1V"" -DTV_FDESC=""SW_DESCRIPTION="" -DENABLE_ACIPC -D_DATAOMSL_ENABLED_ -DUSB_CABLE_DETECTION_VIA_PMIC -DMIPS_TEST -DMIPS_TEST_RAM -DFLAVOR_DIET_RAM -DNVM_INCLUDE -DMSL_INCLUDE -DMSL_POOL_MEM -DNO_AUDIO -DOSA_QUEUE_NAMES -D_DIAG_DISABLE_USB_ -DOSA_NUCLEUS -DOSA_USED -DPM_D2NONE_MODE -DCRANE_SOC_TEMPERATURE_SENSOR -DL1_SW_UPDATE_FOR_DIGRF -DPHS_L1_SW_UPDATE_R7 -DUPGRADE_LTE -DFRBD_CALIB_NVM -DFRBD_AGC_CALIB -DFRBD_FDT_CALIB -DHSPA_MPR -DCAPT_PARAMS_OPTIMIZE -DL1_WB_R99_ONLY -DL1V_WB_R99_ONLY -DINTERGRATED_RF_SUPPORT -DL1_RX_DIV_SUPPORT -DENABLE_OOS_HANDLING -DTAVOR_D2_WB_L1_SUPPORT -DL1_DDR_HIGH_FREQ -DUPGRADE_DIGRF3G_SUPPORT -DW_PS_PLUS_G_PAGING -D"NO_APLP=0" -DINTEL_UPGRADE_UNIFIED_VOICE_TASK -DINTEL_UPGRADE_R99 -DAPLP_SPY_ENABLE -D__TARGET_FEATURE_DOUBLEWORD -DWHOLE_UMTS_STACK -DUSE_TTPCOM_CSR_BLUETOOTH_AUDIO_GAIN_CONTROL -DL1_UPGRADE_R5 -DUPGRADE_EDGE -DUPGRADE_R4_FS1 -DINTEL_UPGRADE_GSM_CRL_IF -DUPGRADE_EGPRS_M -DINTEL_UPGRADE_EGPRS_M -DINTEL_UPGRADE_RF_PARAMS_IN_CF_TDS -DINTEL_UPGRADE_2SAMPLES_PER_SYMBOL -D"GPRS_MULTISLOT_CLASS=12" -D"EGPRS_MULTISLOT_CLASS=12" -DMARVELL_UPGRADE_BSIC_REDESIGN -DMSL_INCLUDE -DINTEL_HERMON_SAC -DCRANE_CUST_BUILD -DL1_SW_UPDATE_FOR_DIGRF -DFLAVOR_COM -DSILICON_PV2 -DSILICON_SEAGULL -DSILICON_TTC_CORE_SEAGULL -DPCAC_INCLUDE -Otime -DBUILD_DATE=""06 06 2024"" -DBUILD_TIME=""10:24:55"" -Iatcmdsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyyugeinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalUARTinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalcoreinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalPMUinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalGPIOinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosposixinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xdiagdiag_logicsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswSysCfginc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswplatforminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xenvwin32inc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswBSPinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswplatformdev_platbuild -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xososainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosthreadxinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosnu_xscaleinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacpsminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcachttpclientsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xdiagdiag_logicinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptimerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopintcinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswPMinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoppminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilTickManagerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopBSPinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyatcmdsrvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyatparserinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonysdkinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcachttpclientinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacciinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcinclude -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludearch -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludeipv4 -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludeipv6 -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludelwip -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludenetif -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopmmi_matinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xtavorArbelinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xtavorenvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonymodeminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacdusterinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacfotainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalI2Cinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalACIPCinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfatsysflash -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcINCLUDE -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalMMUinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcFDI_ADD -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcFM_INC -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfatsysfshdr -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutillittlefsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacttsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacdialinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilcsw_memoryinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoputilitiesinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopcommpminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilnvminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilEEhandlerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilEEhandlersrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopRTCinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyci_clientinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalBT_deviceinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalUARTinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopmrdinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopdmainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilsoftutilinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalSPIinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacwebsocketinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacatnet_srvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfotacomminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swAudioinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swACM_COMMinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swaudio_stubsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopaaminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swAudioHALinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhaldbgshellinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacopencpuinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdkutils -IF:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.0_ST7735Saminc -IF:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.0_ST7735Satcmdsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdk3rd_drives -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdk3rd_drivesST7735S -o buildobj/ext_at_cmds.o F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.0_ST7735S/atcmds/src/ext_at_cmds.c armlink.exe buildobj/main.o buildobj/ext_at_cmds.o buildobj/ext_at_controller.o buildobj/drv_st7735s_lcd.o buildobj/drv_st7735s_lcd_init.o -o F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutbinArbel_PMD2NONE_40M.axf --via F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFprebuilt_1606lArbel_PMD2NONE_targ_objliblist.txt --elf --scatter F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFprebuilt_1606lCrane_DS_4M_Ram_2M_Flash_XIP_CIPSRAM_Common_SingleSIM.sct --predefine="-DLTEONLY_THIN_SINGLE_SIM" --map --symbols --info sizes,totals --list F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutbinArbel_PMD2NONE_40M.map --keep init.o(Header) --keep init.o(Vectors) --diag_suppress 6312,6314,6319,6329 --feedback F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutfeedbackLinkOptLteonlyThin_SingleSim_NoSMS.txt F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFtoolsbuildimage_1606l.bat SDK_PROD_TYPE : [DM] SDK_CUST_SKU : [THIN_SINGLE_SIM_NO_SMS] SDK_PS_MODE : [LTEONLY] SDK_CHIP_VER : [Z2A0] SDK_OS_TYPE : [TX] Platform Convertion Tools v4.01 with PS option extension Convertion done! |INPUT |outbincp_1606L.bin |MARK |NAME |EXEADDR .LOADADDR.LENGTH .CPZLADDR|COMPRESS STASTIC | |--------|--------|--------.--------.--------.--------|------------------------------| |This Is LteOnly 4M| |RW_CPZ_1|DDR_RW_ |7e119000.8006aa70.0000cdd4.8006b000|0000cdd4->00003000 |This Is LteOnly 4M| |RW_CPZ_2|PS_NCAH |7e388000.80077844.00001300.8006e000|00001300->00001000 |This Is LteOnly 4M| |RW_CPZ_3|ITCM |7e3dac00.80078b44.0000f51c.8006f000|0000f51c->0000a000 |This Is LteOnly 4M| |RW_CPZ_4|CODE_PS |7e1aa000.80088060.0002fe38.80079000|0002fe38->0001e000 |This Is LteOnly 4M| |RW_CPZ_5|CODEPSB |7e1dc000.800b7e98.000339c0.80097000|000339c0->0001b000 |This Is LteOnly 4M| |RW_CPZ_6|CODEPSC |7e213000.800eb858.000323ec.800b2000|000323ec->0001b000 |This Is LteOnly 4M| |RW_CPZ_7|CODEPSD |7e249000.8011dc44.00028d88.800cd000|00028d88->0001a000 |This Is LteOnly 4M| |RW_CPZ_8|CODEPSE |7e277000.801469cc.0002e310.800e7000|0002e310->0001a000 |This Is LteOnly 4M| |RW_CPZ_9|CODEPSF |7e2a9000.80174cdc.0001c948.80101000|0001c948->00011000 |This Is LteOnly 4M| |RW_CPZ_A|CODE_PL |7e2ca000.80191624.0002fa44.80112000|0002fa44->0001e000 |This Is LteOnly 4M| |RW_CPZ_B|CODEPLB |7e2fa000.801c1068.00039058.80130000|00039058->00021000 |This Is LteOnly 4M| |RW_CPZ_C|CODEPLC |7e337000.801fa0c0.000268d4.80151000|000268d4->00011000 |--------|--------|--------.--------.--------.--------|------------------------------| | | 0x00209994 -> 0x0014b000| | | 2.037(MB) -> 1.293(MB)| |------------------------------------------------------------------------------------| cp_1606L.axf cp_1606L.bin cp_1606L.map gnumake: Leaving directory `F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/3.0_ST7735S' "copy NEZHAC_CP_CNR_MIFI_TX.bin to ./ " 已復制 1 個文件。
4.9 生成固件
參考入門中開發工具,生成工具。
4.10 測試
測試步驟:
參考編譯教程,和文檔開頭的編譯指令,進行編譯
按照編譯教程選擇對應的選項
燒錄
4.11 固件
上電后,屏幕會依次顯示圖片,不同大小的漢字,字符,數字;畫圓,畫矩形,畫線
點擊下載 TFT LCD Demo固件
5 生態組件鏈接
TFT-LCD驅動
五、如何了解更多TFT-LCD屏驅動芯片功能
本文章源自奇跡物聯開源的物聯網應用知識庫Cellular IoT Wiki,更多技術干貨歡迎關注收藏Wiki:Cellular IoT Wiki 知識庫(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)
歡迎同學們走進AmazIOT知識庫的世界!
這里是為物聯網人構建的技術應用百科,以便幫助你更快更簡單的開發物聯網產品。
Cellular IoT Wiki初心:
在我們長期投身于蜂窩物聯網 ODM/OEM 解決方案的實踐過程中,一直被物聯網技術碎片化與產業資源碎片化的問題所困擾。從產品定義、芯片選型,到軟硬件研發和測試,物聯網技術的碎片化以及產業資源的碎片化,始終對團隊的產品開發交付質量和效率形成制約。為了減少因物聯網碎片化而帶來的重復開發工作,我們著手對物聯網開發中高頻應用的技術知識進行沉淀管理,并基于 Bloom OS 搭建了不同平臺的 RTOS 應用生態。后來我們發現,很多物聯網產品開發團隊都面臨著相似的困擾,于是,我們決定向全體物聯網行業開發者開放奇跡物聯內部沉淀的應用技術知識庫 Wiki,期望能為更多物聯網產品開發者減輕一些重復造輪子的負擔。
Cellular IoT Wiki沉淀的技術內容方向如下:
奇跡物聯的業務服務范圍:基于自研的NB-IoT、Cat1、Cat4等物聯網模組,為客戶物聯網ODM/OEM解決方案服務。我們的研發技術中心在石家莊,PCBA生產基地分布在深圳、石家莊、北京三個工廠,滿足不同區域&不同量產規模&不同產品開發階段的生產制造任務。跟傳統PCBA工廠最大的區別是我們只服務物聯網行業客戶。
連接我們,和10000+物聯網開發者一起 降低技術和成本門檻
讓蜂窩物聯網應用更簡單~~
哈哈你終于滑到最重要的模塊了,
千萬不!要!劃!走!忍住沖動!~
歡迎加入飛書“開源技術交流群”,隨時找到我們哦~
點擊鏈接如何加入奇跡物聯技術話題群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以獲取加入技術話題群攻略
Hey 物聯網從業者,
你是否有了解過奇跡物聯的官方公眾號“eSIM物聯工場”呢?
這里是奇跡物聯的物聯網應用技術開源wiki主陣地,歡迎關注公眾號,不迷路~
及時獲得最新物聯網應用技術沉淀發布
(如有侵權,聯系刪除)
審核編輯 黃宇
-
TFT LCD
+關注
關注
0文章
12瀏覽量
12096 -
開源
+關注
關注
3文章
3370瀏覽量
42573 -
驅動芯片
+關注
關注
13文章
1291瀏覽量
54740
發布評論請先 登錄
相關推薦
評論