當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于Avalon總線的可配置LCD控制器IP核的設(shè)計(jì)

    基于NiosII 軟核的SOPC(System On Programmable Chip)是Altera 公司提出的片上可編程系統(tǒng)解決方案,它將CPU、存儲(chǔ)器、I/O接口、DSP 模塊以及鎖相環(huán)(PLL)的系統(tǒng)設(shè)計(jì)所必須的模塊集成到一片F(xiàn)PGA 上,構(gòu)成一個(gè)可編程的片上系統(tǒng),使所設(shè)計(jì)的電路在其規(guī)模、可靠性、體積、功耗、功能、上市周期、開發(fā)成本、產(chǎn)品維護(hù)以及硬件升級(jí)等多方面實(shí)現(xiàn)最優(yōu)化。
  目前在Altera SOPC Builder 下集成了包括UART、SPI、Ethernet、SDRAM、Flash、DMA等控制器的IP 核。此外,用戶也可以根據(jù)系統(tǒng)的需要自己設(shè)計(jì)或者購(gòu)買第三方廠商的IP 核通過(guò)Avalon 總線像搭積木一樣方便地將這些IP 捆綁的系統(tǒng)上。但是在顯示接口上,Altera公司只提供了一個(gè)16*2 的字符型LCD 控制器的IP 核,只能用來(lái)顯示數(shù)字和英文字母。如用戶需要圖形顯示(如MP4 和PDA)則需要外接專用控制芯片或自己設(shè)計(jì)IP 核,使用起來(lái)很不方便。因此我們?cè)O(shè)計(jì)一個(gè)基于Nios II 系統(tǒng)的可配置LCD 控制器的IP 核,本IP 核可以方便的通過(guò)Avalon 掛接到Nios II 的系統(tǒng)上。考慮到目前LCD 顯示屏的實(shí)際需要,我們?cè)O(shè)計(jì)的LCD 顯示控制IP 核具有以下主要功能:

  以Avalon 總線流傳輸模式提供接口;
  為L(zhǎng)CD 屏提供掃描時(shí)序信號(hào)和顯示數(shù)據(jù);
  提供可以選擇的分辨率,最大可以支持1024*768;
  可以通過(guò)軟件配置顯存的基地址和大??;

1. Avalon 總線規(guī)范
1.1 總線概述
  Avalon 總線是Altera 公司為SOPC 系統(tǒng)開發(fā)的一種專用的內(nèi)部連線技術(shù),是一種理想的用于系統(tǒng)處理器和外設(shè)之間的內(nèi)聯(lián)總線。它是構(gòu)建在Nios II 軟核的基礎(chǔ)上,由Altera 公司提供SOPC Builder 系統(tǒng)設(shè)計(jì)工具自動(dòng)生成。
  Avalon 總線支持多個(gè)主外設(shè),任何一個(gè)主外設(shè)都可以直接進(jìn)行存儲(chǔ)器訪問(wèn)(DMA),而無(wú)須Nios II 處理器的干預(yù)。一般的系統(tǒng)總線(如AMBA 總線)都是采用主端總裁機(jī)制,而Avalon 采用DMA 從端仲裁機(jī)制,能夠?qū)崿F(xiàn)真正意義上的多模塊DMA 并行傳輸,而不相互影響。
  Avalon 總線允許多個(gè)主端口連接到總線模塊,實(shí)現(xiàn)總線的的并發(fā)多主端口傳輸?shù)墓δ?,而總線模塊不需要額外的特殊信號(hào);當(dāng)有多個(gè)主外設(shè)試圖同時(shí)訪問(wèn)同一外設(shè)時(shí),由 Avalon總線模塊內(nèi)部的從端口仲裁邏輯來(lái)處理沖突,對(duì)于主端口來(lái)說(shuō),它并不會(huì)感到有另一個(gè)主端口也在爭(zhēng)用該外設(shè),而是簡(jiǎn)單的發(fā)現(xiàn)它的等待請(qǐng)求信號(hào)一直有效,直到目標(biāo)外設(shè)從端口準(zhǔn)備好來(lái)處理自己的請(qǐng)求。因此,多個(gè)主外設(shè)只要不是同時(shí)訪問(wèn)同一個(gè)從外設(shè),即可同時(shí)進(jìn)行總線傳輸。仲裁的詳細(xì)信息被封裝在總線內(nèi)部,主外設(shè)和從外設(shè)的接口是一致的,與外設(shè)的數(shù)量無(wú)關(guān)。

1.2 Avalon 總線流傳輸模式
  Avalon 規(guī)定了各種傳輸模式,這里只介紹本IP 核所使用的流傳輸模式。關(guān)于其他的總線模式讀者可以Avalon 的總線規(guī)范。
  流傳輸模式是在流模式主外設(shè)和流模式從外設(shè)之間建立一個(gè)開放的信道以供連續(xù)的數(shù)據(jù)傳輸。該信道使得只要存在有效數(shù)據(jù),數(shù)據(jù)便能在主從端口對(duì)之間流動(dòng),主外設(shè)不必為了確定從端口是否可用而不斷地訪問(wèn)從外設(shè)的寄存器。流傳輸模式使得主從端口之間的數(shù)據(jù)吞吐量達(dá)到最大,同時(shí)避免了從外設(shè)數(shù)據(jù)溢出。流傳輸模式最適合DMA 傳輸。一個(gè)只包含簡(jiǎn)單的流控制信號(hào)和一個(gè)計(jì)數(shù)器的DMA 控制器就可以用來(lái)在一個(gè)從外設(shè)和一個(gè)存儲(chǔ)器之間連續(xù)地傳輸數(shù)據(jù)。
  由于數(shù)據(jù)流是從Avalon 總線流向LCD 控制器,所以是流模式的從端口寫傳輸。圖1 顯示了流模式從端口寫傳輸?shù)哪P汀?
               
                             圖1 流模式從端口寫傳輸模型
  除了基本從端口傳輸中使用的信號(hào)外,流模式外設(shè)的接口中又引入了readyfordata、dataavailable 和 endofpacket 三個(gè)信號(hào)。流模式從端口就是指使用了一個(gè)或多個(gè)上述信號(hào)的從端口。readyfordata 有效表示外設(shè)準(zhǔn)備好接受 Avalon 總線模塊的寫傳輸;dataavailable 有效表示能夠?yàn)閬?lái)自 Avalon 總線模塊的讀傳輸提供數(shù)據(jù)。Avalon 總線模塊只在 readyfordata或 dataavailable 有效時(shí)才會(huì)發(fā)起傳輸行為。endofpacket 信號(hào)的含義取決于用戶設(shè)計(jì)。
流模式從端口寫傳輸模型的時(shí)序如圖2 所示。

                               圖2 流模式從端口寫傳輸時(shí)序

2. Avalone 流模式LCD 控制器IP 核設(shè)計(jì)
  LCD 控制器按功能可劃分為三個(gè)模塊:接口模塊,數(shù)據(jù)處理模塊和時(shí)序產(chǎn)生模塊。接口模塊主要用來(lái)對(duì)系統(tǒng)進(jìn)行配置,獲取系統(tǒng)狀態(tài)信息以及從內(nèi)存讀出將要顯示的數(shù)據(jù)信息;數(shù)據(jù)處理模塊根據(jù)系統(tǒng)的配置信息,對(duì)讀入控制器的內(nèi)存數(shù)據(jù)進(jìn)行相應(yīng)的處理,以符合用戶設(shè)置的顯示要求;時(shí)序產(chǎn)生模塊產(chǎn)生顯示時(shí)序信號(hào),使得系統(tǒng)在不同的配置下都能產(chǎn)生與之相應(yīng)的精確時(shí)序,以保證圖象的正確顯示。
  在具體實(shí)現(xiàn)時(shí),這三個(gè)部分又可以劃分為不同的功能模塊來(lái)完成系統(tǒng)的總體功能。整個(gè)模塊包括配置寄存器接口模塊、DMA 接口模塊組成和異步FIFO 模塊,時(shí)序產(chǎn)生部分由時(shí)序產(chǎn)生模塊構(gòu)成。圖3 為我們所設(shè)計(jì)的LCD 控制器IP 核的系統(tǒng)結(jié)構(gòu)框圖。
     
2.1 DMA 接口模塊
  一般情況下,LCD 顯示需要進(jìn)行大批量的數(shù)據(jù)傳送。在標(biāo)準(zhǔn) VGA(640×480 60Hz)模式下,每個(gè)像素點(diǎn)的掃描周期只有40ns。如此高速的數(shù)據(jù)傳輸,如果直接通過(guò)CPU 來(lái)操作,將會(huì)消耗大量的CPU 時(shí)間。為了提高CPU 的工作效率,我們?cè)贜ios II 下利用DMA(Direct Memory Access,直接存儲(chǔ)器訪問(wèn))來(lái)完成。利用DMA 控制器在LCD 控制器和顯示存儲(chǔ)器SDRAM 之間建立一條專用的DMA 傳輸通道,通過(guò)DMA 控制器自動(dòng)的讀去圖象數(shù)據(jù),不需要CPU 干預(yù)。NiosII 中DMA 控制器如圖4 所示:
     
  在DMA 傳輸時(shí),首先需要由CPU 對(duì)DMA 進(jìn)行初始化,設(shè)置顯示存儲(chǔ)器的基地址和長(zhǎng)度以及LCD 控制器輸入寄存器的地址,然后打開DMA 傳輸通道,使DMA 在沒有CPU 干預(yù)的情況下直接從顯示存儲(chǔ)器讀取顯示數(shù)據(jù)傳送到LCD控制的FIFO中。Nios II 可以在DMA暫停傳輸?shù)钠陂g操作SDRAM 中的顯存,完成LCD 顯示圖像的更新。
  DMA 接口采用Avalon 主設(shè)備端口來(lái)實(shí)現(xiàn)。
2.2 配置積存器接口模塊
  系統(tǒng)可以通過(guò)配置寄存器接口模塊對(duì)LCD 顯示控制器進(jìn)行各種功能配置;LCD 控制器也可以通過(guò)接口模塊向系統(tǒng)反饋所需的狀態(tài)信息,從而實(shí)現(xiàn)對(duì)系統(tǒng)狀態(tài)的檢測(cè)和控制。通過(guò)針對(duì)不同種類的LCD 屏幕和不同的顯示模式提供相應(yīng)寄存器,可以保證對(duì)于各種LCD 顯示屏的兼容。
  下圖5 為配置積存器接口模塊與Avalon 總線和LCD 時(shí)序發(fā)生器接口的示意圖
                  
  配置寄存器接口所采用的是Avalon 的從設(shè)備端口來(lái)實(shí)現(xiàn)。
2.3 異步FIFO 模塊
  由于總線接口模塊和LCD 控制器工作在不同的時(shí)鐘域,如果直接傳送數(shù)據(jù)將會(huì)使電路進(jìn)入亞穩(wěn)態(tài),無(wú)法正常工作。所以使用異步FIFO 做為接口在兩個(gè)時(shí)鐘之間傳遞數(shù)據(jù)。典型的異步FIFO 由異步雙端口RAM 和控制邏輯構(gòu)成。圖6 為典型異步FIFO 的系統(tǒng)框圖
 
                            圖6 異步FIFO的系統(tǒng)框圖
2.4 LCD 時(shí)序產(chǎn)生模塊
  通過(guò)讀取配置寄存器獲得像素時(shí)鐘,行周期,幀周期,同步頭寬度以及時(shí)鐘分頻系數(shù)等信息后,LCD 時(shí)序產(chǎn)生模塊產(chǎn)生LCD 顯示需要的行同步信號(hào)、幀同步信號(hào)以及復(fù)合消隱信號(hào)。圖7 描述了LCD 接口時(shí)序發(fā)生模塊的接口信號(hào)
                   

3. LCD 控制器IP 核的仿真調(diào)試與安裝
3.1 LCD 控制器IP 核的仿真調(diào)試
  本IP 核使用Verilog HDL 來(lái)編寫,首先在Modelsim6.1 下先進(jìn)行RTL 級(jí)的功能仿真,當(dāng)所有功能都滿足要求時(shí),就可以使用綜合工具綜合后加入延時(shí)信息進(jìn)行進(jìn)行時(shí)序仿真。如果時(shí)序仿真也滿足電路的設(shè)計(jì)要求,就可以當(dāng)做一個(gè) NiosII 系統(tǒng)自定義的組件加到Nios II 系統(tǒng)中去。
3.2 LCD 控制器IP 核的安裝
  Avalon 流模式的 LCD 控制器需要安裝到 SOPC Builder 中,以便將其加入到NiosII 系統(tǒng)中。
  這里的LCD 控制器是一個(gè)典型的流模式自定義外設(shè)。啟動(dòng)DMA 傳輸后,DMA 控制器將批量數(shù)據(jù)送往LCD 控制器,因此也可將LCD 控制器看成 FIFO 類型的存儲(chǔ)器外設(shè)。選擇Avalon Components->Legacy Components->Interface to User Logic,加入LCD 控制器的IP 核。
         
                           圖8 DMA、LCD 控制器模塊連接圖
3.3 實(shí)際測(cè)試效果圖
  實(shí)際測(cè)試是在Altera的DE2開發(fā)板上進(jìn)行的。使用的LCD屏是夏普公司的800*600型號(hào)為L(zhǎng)Q080V3DG01的TFT LCD屏,實(shí)際的顯示效果圖如圖9所示
               

4. 總結(jié)
  本文討論了基于Avalon 總線流傳輸?shù)呐渲肔CD 顯示控制器IP 核的設(shè)計(jì),根據(jù)自頂向下的設(shè)計(jì)思想,將IP 核進(jìn)行層次功能劃分設(shè)計(jì),并對(duì)IP 核的仿真驗(yàn)證,最后加入到Nios II系統(tǒng)中。該IP 核經(jīng)測(cè)試效果良好。由于本IP 核是可配置的,具有很好的移植性,可以方便的應(yīng)用以Nios II 為核心的各種需要圖形顯示的嵌入式系統(tǒng)中。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉