0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于單片機C8051F120和FPGA器件實現(xiàn)嵌入式顯示系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:郭婷 ? 2019-08-09 08:07 ? 次閱讀

嵌入式設(shè)備憑借其與使用者之間的親和力、自然的人機交互界面,得到了迅速的發(fā)展,滲透到生活中的各個角落。本文介紹的設(shè)計方法是以高性能的8位單片機C8051F120作為核心處理器,SRAM作為系統(tǒng)的顯存,FPGA實現(xiàn)時序轉(zhuǎn)換,構(gòu)建低溫(-10℃)下嵌入式顯示系統(tǒng)。通過PC機鍵盤和觸摸屏實現(xiàn)界面操作,最終在液晶顯示器上顯示國標一/二級漢字、ASCII字符和65 536色的彩色圖形和圖片,并制作了簡單的操作界面。

1 系統(tǒng)工作原理

顯示漢字、英文字符和彩色圖形的過程就是將字符和圖形信息轉(zhuǎn)換成液晶顯示器可以顯示的點陣信息。為了顯示字符,可以將ASCII碼字符點陣字庫和按區(qū)位碼排列的漢字點陣字庫存儲在單片機外接的Flash ROM中(構(gòu)成點陣數(shù)據(jù)區(qū)),并且將程序中用到的字符以機內(nèi)碼的形式存儲在Flash ROM中(構(gòu)成文本數(shù)據(jù)區(qū))。顯示時,單片機將漢字機內(nèi)碼從文本數(shù)據(jù)區(qū)讀出,轉(zhuǎn)換成FlashROM中點陣數(shù)據(jù)區(qū)的字庫地址,通過該地址讀出字符的點陣數(shù)據(jù),進一步轉(zhuǎn)換成液晶顯示器可顯示的數(shù)據(jù)并送給后續(xù)電路處理和顯示。這樣在操作過程中可以顯示包括國標一/二級漢字、大小寫英文字符、標點和數(shù)字等多種字符。顯示彩色圖形的時候,由于圖片的存儲空間要求比較大,系統(tǒng)中沒有足夠的空間,可以將PC機內(nèi)bmp格式的彩色圖片經(jīng)過格式轉(zhuǎn)化以后,通過串口送給單片機實時處理并顯示。

液晶顯示器工作頻率為4.5~6.8MHz,并且需要復雜的工作時序??紤]到單片機的工作速度和液晶顯示器的工作頻率,一方面,液晶顯示器在工作頻率下不斷刷新才能工作,需要傳送大量的顯示數(shù)據(jù)和控制信息;另一方面,單片機要完成許多處理工作,即使工作在100MHz,也將成為系統(tǒng)運行速率的瓶頸。為了解決這個問題,再次加入一塊SRAM作為顯存,加入一塊FPGA實現(xiàn)時序轉(zhuǎn)換并控制和刷新液晶顯示器。FP GA分時地讀/寫SRAM,F(xiàn)PGA在時鐘的作用下,一半時間內(nèi)(時鐘信號為高電平時)從SRAM中讀出數(shù)據(jù),不斷刷新液晶顯示器;另一半時間內(nèi)(時鐘信號為低電平時),如果單片機有送來要顯示的數(shù)據(jù)時,將此數(shù)據(jù)寫入SRAM中。分時操作的使用,能在不間斷地刷新液晶顯示器的同時,接收并存儲單片機的數(shù)據(jù),使兩方面的工作互不影響,不僅減輕單片機的工作負擔,而且充分發(fā)揮了FPGA的性能。

選擇附有觸摸屏的液晶顯永器,將觸摸屏外接手寫識別控制器,就可以增加手寫識別功能,可提供友好的人機交互界面。由上述分析可以畫出系統(tǒng)框圖,如圖1所示。

基于單片機C8051F120和FPGA器件實現(xiàn)嵌入式顯示系統(tǒng)的設(shè)計

2 系統(tǒng)硬件設(shè)計

在本嵌入式顯示系統(tǒng)中,采用了夏普公司型號為LQ0357DH01的液晶顯示器,工作溫度范圍在-10~70℃,最低工作溫度相對更低一些。

顯示模塊由一個彩色主動點陣式LCD模塊和無定形硅TFT構(gòu)成,因此可稱為AD-TFT(Advanced TFT)。它由彩色TFT-LCD面板、IC驅(qū)動、FPC、背光、電阻式觸摸屏和背部密封盒組成,但是模塊不包括控制電路。顯示屏工作頻率為4.5~6.8 MHz,分辨率為240×320像素,色彩位深為18位。圖形和文本能以262 11 4種顏色顯示在240x 320點陣的顯示屏上。但是考慮單片機的數(shù)據(jù)總線寬度為8位,為了簡化操作過程,可將色彩深度確定為16位,單片機分兩次發(fā)送每個像素的顏色數(shù)據(jù)。這樣的簡化操作也可以滿足顯示65 536色彩色圖形的要求。

為了提高整個系統(tǒng)的運行速度,采用型號為C8051F120的高性能8位單片機作為處理器。C8051F120使用Silicon Labs公司的專利CIP-51微控制器內(nèi)核。CIP-51與MCS-51指令集完全兼容,可以使用標準803x/805x的匯編器和編譯器進行軟件開發(fā)。C8051F120可穩(wěn)定工作的最大系統(tǒng)時鐘頻率為100 MHz,峰值性能達到100MIPS。

Flash采用的是M29W400BB(512K×8位),它是一種可讀、可擦除、可重復編程的Flash。FPGA采用Xilinx公司Spartan-II系列產(chǎn)品XC2S1 00。XC2S100是一款具有10萬系統(tǒng)門的FPGA,在邏輯門數(shù)上能為系統(tǒng)提供足夠的邏輯電路,144引腳封裝形式的XC2S100可提供103個I/O端口,為系統(tǒng)器件提供足夠的I/O口資源。

關(guān)于SRAM的選擇,考慮到液晶顯示器的分辨率為240×320像素,每個像素點可顯示65 536色(16位),因此顯存的大小至少為240×320× 2B=150 KB。加入一塊512 KB的SRAM CY7C1041BV33作為顯存即可。CY7C1041BV33可以工作在字(word)操作模式下,方便顯示數(shù)據(jù)的存取,刷新液晶的過程中可將SRAM中的每個字與液晶的每個像素對應。

手寫識別采用型號為ePH1200AQ的手寫識別微控制器。ePH1200AQ硬件上集成了8位RISC微控制器、觸摸屏驅(qū)動器、接口UART、4 KB SRAM、32K字編程ROM和512K字數(shù)據(jù)ROM;軟件上則包含手寫識別內(nèi)核、字符集和筆跡收集軟件。當微控制器與外部觸摸屏相連接的時候,就可以組成手寫識別應用產(chǎn)品,比如SMS、移動電話或者手寫輸入設(shè)備。

3 系統(tǒng)軟件設(shè)計

系統(tǒng)軟件包括單片機和FPGA兩個部分。本文主要介紹單片機部分的軟件設(shè)計。

單片機完成的功能包括循環(huán)查詢兩個串口是否接收到新的數(shù)據(jù),當某個串口接收到新的數(shù)據(jù)時,便采取相應含義的操作。顯示字符時,讀出Flash ROM中的點陣數(shù)據(jù),進行轉(zhuǎn)換和處理后送給FPGA;顯示圖形時,按照沒定的圖形軌跡畫出點。

單片機在主程序中循環(huán)查詢兩個串口是否接收到新的數(shù)據(jù),當任意一個串口產(chǎn)生中斷時,根據(jù)串口接收到數(shù)據(jù)的含義,采取相應的操作。主函數(shù)流程如圖2所示。

基于單片機C8051F120和FPGA器件實現(xiàn)嵌入式顯示系統(tǒng)的設(shè)計

3.1 字符顯示原理

UCDOS軟件中的文件HZK16與文件ASC16分別為1 6×1 6的國標漢字點陣文件和8×1 6的ASCII碼點陣文件,以二進制格式存儲。在文件HZK 16中,按漢字區(qū)位碼從小到大依次存有國標區(qū)位碼表中的所有漢字,每個漢字占用32個字節(jié)(16×16的漢字點陣),每個區(qū)為94個漢字。在文件ASC16中按ASCII碼從小到大依次存有8×1 6的ASCII碼點陣,每個ASCII碼占用1 6個字節(jié)。

在PC機的文本文件中,漢字是以機內(nèi)碼的形式存儲的,每個漢字占用兩個字節(jié)。第一個字節(jié)為區(qū)碼,為了與ASCII碼區(qū)別,范圍從十六進制的0A1H開始(小于80H的為ASCII碼字符),對應區(qū)位碼中區(qū)碼的第一區(qū);第二個字節(jié)為位碼,范圍也是從0A1H開始,對應某區(qū)中的第一個位碼。這樣,將漢字機內(nèi)碼減去0A0A0H就得該漢字的區(qū)位碼。例如漢字“我”的機內(nèi)碼為十六進制的“CED2”,其中“CE”表示區(qū)碼,“D2”表示位碼。所以“我”的區(qū)位碼為0CED2H-0A0A0H=2E32H。將區(qū)碼和位碼分別轉(zhuǎn)換為十進制得漢字“我”的區(qū)位碼為“4650”,即“房”的點陣位于第46區(qū)的第50個字的位置,相當于在文件HZK16中的位置為第32×[(46-1)×94+(50-1)]=67136 B以后的32個字節(jié)為“我”的顯示點陣。

依次讀出每個字節(jié),每讀出一個字節(jié),并提取該字節(jié)中的每一位,如果某位是“1”,則給該位數(shù)據(jù)對應的像素點送入兩個字節(jié)的字體顏色數(shù)據(jù),如(0x0000,黑色);如果某位是“0”,則給該位數(shù)據(jù)對應的像素點送入兩個字節(jié)的底色數(shù)據(jù),如(0xffff,白色)。當發(fā)送完32個字節(jié)的點陣數(shù)據(jù)后(總共發(fā)送的顏色數(shù)據(jù)為32B×8dot×2B=512 B)液晶屏上便會顯示底色為白色,字體顏色為黑色的漢字。漢字“我”的顯示結(jié)果如圖3所示。

液晶顯示器的色彩深度為16位,每個像素可顯示65 536色。SRAM工作在字(word)操作模式下,將SRAM中的每個字與液晶顯示器的每個像素對應。比如將液晶顯示器第一行第一列的點與SRAM的0x0000地址對應,第一行第二列的點與0x0001地址對應,依次類推。

3.2 通過PC機鍵盤進行界面操作

通過PC機鍵盤進行界面操作時,使用電腦軟件將鍵盤的操作鍵值通過PC機串口發(fā)送給單片機串口0,單片機串口0每中斷一次接收到一個字節(jié)的數(shù)據(jù),接收到的數(shù)據(jù)可分為3種情況:數(shù)值大于0xA0時,說明該字節(jié)是某漢字兩字節(jié)數(shù)據(jù)中的一個字節(jié);數(shù)值為0x20~0x7f時,表示該字節(jié)是可打印的ASCII碼字符;數(shù)值小于0x20時,表示該字節(jié)是不可打印的數(shù)值,可用這36個數(shù)值作為界面操作的控制命令字節(jié)。連續(xù)接收完兩個數(shù)值大于0xA0數(shù)據(jù)時,就可以轉(zhuǎn)換成某個漢字;每接收到一個數(shù)值為0x20~0x7f的數(shù)據(jù)時,就可以轉(zhuǎn)換成某個ASCII碼字符;每接收到一個數(shù)值小于0x20的數(shù)據(jù)時,就可以翻譯成某個操作命令,進行相應的控制操作。圖4為鍵盤接口操作中斷流程。

基于單片機C8051F120和FPGA器件實現(xiàn)嵌入式顯示系統(tǒng)的設(shè)計

3.3 通過觸摸屏進行界面操作

通過觸摸屏進行界面操作時,手寫識別微控制器ePH1200AQ將手寫的軌跡封包后發(fā)送到單片機的串口1。操作過程中的數(shù)據(jù)主要包括輸入漢字時,識別輸入的筆畫,向單片機發(fā)送候選字;畫圖時,實時發(fā)送屏幕觸點的坐標;觸控時,發(fā)送觸控點的坐標。ePH1200AQ的通信協(xié)議命令格式如表1所列。

基于單片機C8051F120和FPGA器件實現(xiàn)嵌入式顯示系統(tǒng)的設(shè)計

表1中的識別型態(tài)命令(0x10)的識別型態(tài)定義值定義了可以識別的字集,包括漢字一/二級字庫、大小寫英文字母、數(shù)字、符號、預設(shè)手勢、平假名和片假名。

ePH1200AQ與單片機串口1通信,發(fā)送的是命令封包,需要考慮封包的幀定位,確定封包的包頭和包尾。表1中的命令格式中,封包長度最長的命令為“發(fā)送候選字陣列”命令(命令代碼為0x18),ePH1200AQ發(fā)送的候選字個數(shù)最多為10個,每個候選字為兩個字節(jié)的數(shù)據(jù),該命令的最大長度為25字節(jié),可創(chuàng)建一個具有25個元素的數(shù)組(uartl_RX_buffer[25])作為命令緩存。

結(jié)語

本文設(shè)計了一種以C8051F120作為核心處理器的嵌入式彩色圖形顯示系統(tǒng),其突出的優(yōu)點是實時性強、接口電路簡單、可擴展性強。該系統(tǒng)集成度高,攜帶方便,實用性強,在很多領(lǐng)域都具有應用性,具有一定的研究和應用價值。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598919
  • 單片機
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628383
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18817

    瀏覽量

    298550
收藏 人收藏

    評論

    相關(guān)推薦

    uC/GUI在單片機系統(tǒng)上的移植

    的可行性,以C8051F120單片機系統(tǒng)為實例,描述了uC/GUI在單片機系統(tǒng)上的移植應用過程,給出了實驗程序。`
    發(fā)表于 03-03 16:25

    C8051F單片機的IAP系統(tǒng)設(shè)計與實現(xiàn)

    作為新型的SOC片上型混合信號單片機,C8051F系列產(chǎn)品已經(jīng)被廣泛應用到了智能控制儀表,嵌入式設(shè)備,消費電子等領(lǐng)域。提出了一種利用C8051F單片
    發(fā)表于 03-04 11:31

    C8051F120單片機的有關(guān)問題

    問一下各位朋友,是不是只要是C8051F120單片機,不管后面跟多少字符,功能都是C8051F120。例如我要買C8051F120DCS0SU1050
    發(fā)表于 05-08 00:14

    c8051f120單片機點亮第一個發(fā)光二極管

    c8051f120單片機怎么點亮第一個發(fā)光二極管???我引腳圖看...
    發(fā)表于 10-31 20:30

    用keil進行51單片機編程如何添加C8051F120芯片

    用keil進行51單片機編程如何添加C8051F120芯片
    發(fā)表于 07-03 20:32

    嵌入式彩色圖形顯示系統(tǒng)有什么優(yōu)點?

    嵌入式設(shè)備憑借其與使用者之間的親和力、自然的人機交互界面,得到了迅速的發(fā)展,滲透到生活中的各個角落。本文介紹的設(shè)計方法是以高性能的8位單片機C8051F120作為核心處理器,SRAM作為系統(tǒng)
    發(fā)表于 03-30 06:04

    8051單片機嵌入式系統(tǒng)介紹

    嵌入式C編程軟硬件的結(jié)合,旨在完成特定的任務。這些類型的嵌入式系統(tǒng)正在我們的日常生活中使用,如洗衣、錄像
    發(fā)表于 12-15 06:47

    C8051F120/C8051F121/C8051F123/

    C8051F120/C8051F121/C8051F123/C8051F124/C8051F125/C8
    發(fā)表于 07-20 21:15 ?425次下載

    C8051F120與RS422息線的時鐘同步技術(shù)

    C8051F120與RS422息線的時鐘同步技術(shù) 引 言    由于指令的速度不斷加快,單片機在各個方面的性能大為提高,比如多個單片機之間的時鐘同步。Silicon Labs公
    發(fā)表于 12-15 17:02 ?2031次閱讀
    <b class='flag-5'>C8051F120</b>與RS422息線的時鐘同步技術(shù)

    基于C8051F120核心的嵌入式彩色顯示系統(tǒng)設(shè)計

    嵌入式設(shè)備憑借其與使用者之間的親和力、自然的人機交互界面,得到了迅速的發(fā)展,滲透到生活中的各個角落。本文介紹的設(shè)計方法是以高性能的8位單片機C8051F120作為核心處理器,
    發(fā)表于 06-04 11:18 ?1434次閱讀
    基于<b class='flag-5'>C8051F120</b>核心的<b class='flag-5'>嵌入式</b>彩色<b class='flag-5'>顯示</b><b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于8位單片機C51的嵌入式顯示系統(tǒng)設(shè)計

    嵌入式設(shè)備憑借其與使用者之間的親和力、自然的人機交互界面,得到了迅速的發(fā)展,滲透到生活中的各個角落。本文介紹的設(shè)計方法是以高性能的8位單片機 C8051F120作為核心處理器,
    發(fā)表于 01-09 10:03 ?2359次閱讀
    基于8位<b class='flag-5'>單片機</b><b class='flag-5'>C</b>51的<b class='flag-5'>嵌入式</b><b class='flag-5'>顯示</b><b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于C8051F120的洗井自動控制系統(tǒng)

    摘 要 針對傳統(tǒng)洗井方法效果不理想的缺點,設(shè)計了一種基于C8051F120單片機的洗井自動控制系統(tǒng)。該洗井自動控制系統(tǒng)能夠連續(xù)有效地采集洗井過程中的液體流量和濁度,通過分析出液
    發(fā)表于 03-06 15:36 ?51次下載
    基于<b class='flag-5'>C8051F120</b>的洗井自動控制<b class='flag-5'>系統(tǒng)</b>

    8051單片機嵌入式系統(tǒng)應用

    介紹8051單片機嵌入式系統(tǒng)應用 有需要的朋友下來看看
    發(fā)表于 12-29 13:43 ?0次下載

    嵌入式實時控制模塊怎樣來實現(xiàn)

    C51單片機C8051F120為核心控制芯片的嵌入式系統(tǒng),已成功應用于某通信測試儀器中,陔系統(tǒng)
    發(fā)表于 09-25 10:42 ?1870次閱讀
    <b class='flag-5'>嵌入式</b>實時控制模塊怎樣來<b class='flag-5'>實現(xiàn)</b>

    混合信號ISP-Flash系列單片機C8051F120

    混合信號ISP-Flash系列單片機C8051F120
    發(fā)表于 09-01 14:15 ?32次下載