基于SOPC的液晶屏接口組件設(shè)計(jì)
發(fā)布時(shí)間:2007/9/10 0:00:00 訪問次數(shù):521
來源:微計(jì)算機(jī)信息 作者:郭書軍 侯文杰 張延華
摘要:本文介紹基于SOPC的液晶屏接口組件的設(shè)計(jì)方法。利用SOPC Builder中的組件編輯器(Component Editor)實(shí)現(xiàn)液晶屏接口設(shè)計(jì)。文中系統(tǒng)介紹組件的硬件和軟件的設(shè)計(jì)方法,該方法可將硬件抽象為軟件,讓開發(fā)者不必了解硬件結(jié)構(gòu)就可以使用硬件,以標(biāo)準(zhǔn)C語言函數(shù)來操作組件,使用方便,具有靈活性、高效性和低成本的特點(diǎn)。
關(guān)鍵字:SOPC;組件編輯器;液晶屏
1 引言
傳統(tǒng)的外設(shè)操作使用I/O接口方式,在硬件工程中,需要設(shè)計(jì)與外設(shè)相連的I/O接口,在軟件工程中,需要用戶編寫I/O接口程序?qū)ν庠O(shè)進(jìn)行初始化,設(shè)置相應(yīng)的外設(shè)寄存器,這樣的工作在每次新建一個(gè)工程后,都得重復(fù)進(jìn)行,因此增加了開發(fā)的成本。
利用Altera公司提供的Component Editor工具可以設(shè)計(jì)符合時(shí)序要求的外設(shè)接口,并且可以將用戶開發(fā)驅(qū)動程序與Nios II HAL(硬件抽象層)系統(tǒng)庫集成在一起,形成Nios II的接口組件,在系統(tǒng)生成的時(shí)候,對外設(shè)進(jìn)行初始化設(shè)置。這樣在建立新工程時(shí),只需將接口組件添加到系統(tǒng)就可以了,對組件的訪問也變得輕松,使得代碼可重復(fù)利用。
Nios II HAL系統(tǒng)庫是一個(gè)輕量級實(shí)時(shí)環(huán)境,提供一個(gè)組件驅(qū)動接口,使得程序與底層硬件通信。HAL API(應(yīng)用程序接口)與ANSI C標(biāo)準(zhǔn)庫集成在一起,允許用戶通過類C庫函數(shù)訪問設(shè)備和文件,例如printf()、fopen()和fwrite()等,這樣其他開發(fā)者無需知道底層硬件結(jié)構(gòu)就可以對組件進(jìn)行操作。
2 硬件設(shè)計(jì)
在SOPC Builder中打開Component Editor,在HDL Files標(biāo)簽下添加硬件描述語言編寫的文件,將其設(shè)定為頂層模塊,該文件描述了組件與Avalon總線的接口以及組件與液晶屏的接口,系統(tǒng)自動對文件進(jìn)行分析和模擬。
點(diǎn)擊Signals標(biāo)簽,系統(tǒng)自動讀取硬件描述語言文件中的信號,用戶只需設(shè)置接口信號和信號類型。接口信號包括主端信號和從端信號,主端信號與Avalon總線相連,包括iDATA、iADDRESS、iWR_N和iCS_N等,信號類型依次為writedata、address、write_n和chipselect_n等,從端信號與LCD相連,包括LCD_DATA、LCD_ADDRESS、LCD_RD_N、LCD_WR_N和LCD_CS_N等,信號類型均為export。
從端信號與主端信號的連接用硬件描述語言描述:
assign LCD_DATA = iDATA;
assign LCD_ADDRESS = iADDRESS;
assign LCD_RD_N = 1;
assign LCD_WR_N = iWR_N;
assign LCD_CS_N = iCS_N;
由于始終對液晶屏進(jìn)行寫操作,不進(jìn)行讀操作,所以信號LCD_RD_N置1。
點(diǎn)擊Interfaces標(biāo)簽,將接口設(shè)置為從類型,地址選擇Registers類型,Avalon Slave Timing可以設(shè)置接口的時(shí)序,如圖1所示。
圖1 液晶屏寫時(shí)序
點(diǎn)擊SW Files標(biāo)簽,添加系統(tǒng)所需要的文件,包括兩個(gè)頭文件,一個(gè)C文件,選擇文件類型,將它們包含在不同的文件夾下,這樣就可以通過標(biāo)準(zhǔn)的C語言函數(shù)來訪問組件了。
最后一步點(diǎn)擊Component Wizard,為組件取名,點(diǎn)擊Finish完成設(shè)計(jì)。
3 軟件設(shè)計(jì)
組件生成后,組件文件夾的結(jié)構(gòu)如圖2所示。
圖2 液晶屏接口組件
lcd_3224\inc文件夾下包含_regs.h文件,該文件定義硬件接口,例如:
#define IOWR_ LCD_DATA(base, data) IOWR(base, 0, data)
寫參數(shù)有三個(gè),base為組件的基地址,0表示地址偏移量,data為要寫入的數(shù)據(jù),重新定義后在源代碼中可以使用自定義的名字對組件進(jìn)行操作。
lcd_3224\hdl文件夾下包含.v文件,該文件描述組件的接口信號。
lcd_3224\HAL\inc文件夾下包含.h文
來源:微計(jì)算機(jī)信息 作者:郭書軍 侯文杰 張延華
摘要:本文介紹基于SOPC的液晶屏接口組件的設(shè)計(jì)方法。利用SOPC Builder中的組件編輯器(Component Editor)實(shí)現(xiàn)液晶屏接口設(shè)計(jì)。文中系統(tǒng)介紹組件的硬件和軟件的設(shè)計(jì)方法,該方法可將硬件抽象為軟件,讓開發(fā)者不必了解硬件結(jié)構(gòu)就可以使用硬件,以標(biāo)準(zhǔn)C語言函數(shù)來操作組件,使用方便,具有靈活性、高效性和低成本的特點(diǎn)。
關(guān)鍵字:SOPC;組件編輯器;液晶屏
1 引言
傳統(tǒng)的外設(shè)操作使用I/O接口方式,在硬件工程中,需要設(shè)計(jì)與外設(shè)相連的I/O接口,在軟件工程中,需要用戶編寫I/O接口程序?qū)ν庠O(shè)進(jìn)行初始化,設(shè)置相應(yīng)的外設(shè)寄存器,這樣的工作在每次新建一個(gè)工程后,都得重復(fù)進(jìn)行,因此增加了開發(fā)的成本。
利用Altera公司提供的Component Editor工具可以設(shè)計(jì)符合時(shí)序要求的外設(shè)接口,并且可以將用戶開發(fā)驅(qū)動程序與Nios II HAL(硬件抽象層)系統(tǒng)庫集成在一起,形成Nios II的接口組件,在系統(tǒng)生成的時(shí)候,對外設(shè)進(jìn)行初始化設(shè)置。這樣在建立新工程時(shí),只需將接口組件添加到系統(tǒng)就可以了,對組件的訪問也變得輕松,使得代碼可重復(fù)利用。
Nios II HAL系統(tǒng)庫是一個(gè)輕量級實(shí)時(shí)環(huán)境,提供一個(gè)組件驅(qū)動接口,使得程序與底層硬件通信。HAL API(應(yīng)用程序接口)與ANSI C標(biāo)準(zhǔn)庫集成在一起,允許用戶通過類C庫函數(shù)訪問設(shè)備和文件,例如printf()、fopen()和fwrite()等,這樣其他開發(fā)者無需知道底層硬件結(jié)構(gòu)就可以對組件進(jìn)行操作。
2 硬件設(shè)計(jì)
在SOPC Builder中打開Component Editor,在HDL Files標(biāo)簽下添加硬件描述語言編寫的文件,將其設(shè)定為頂層模塊,該文件描述了組件與Avalon總線的接口以及組件與液晶屏的接口,系統(tǒng)自動對文件進(jìn)行分析和模擬。
點(diǎn)擊Signals標(biāo)簽,系統(tǒng)自動讀取硬件描述語言文件中的信號,用戶只需設(shè)置接口信號和信號類型。接口信號包括主端信號和從端信號,主端信號與Avalon總線相連,包括iDATA、iADDRESS、iWR_N和iCS_N等,信號類型依次為writedata、address、write_n和chipselect_n等,從端信號與LCD相連,包括LCD_DATA、LCD_ADDRESS、LCD_RD_N、LCD_WR_N和LCD_CS_N等,信號類型均為export。
從端信號與主端信號的連接用硬件描述語言描述:
assign LCD_DATA = iDATA;
assign LCD_ADDRESS = iADDRESS;
assign LCD_RD_N = 1;
assign LCD_WR_N = iWR_N;
assign LCD_CS_N = iCS_N;
由于始終對液晶屏進(jìn)行寫操作,不進(jìn)行讀操作,所以信號LCD_RD_N置1。
點(diǎn)擊Interfaces標(biāo)簽,將接口設(shè)置為從類型,地址選擇Registers類型,Avalon Slave Timing可以設(shè)置接口的時(shí)序,如圖1所示。
圖1 液晶屏寫時(shí)序
點(diǎn)擊SW Files標(biāo)簽,添加系統(tǒng)所需要的文件,包括兩個(gè)頭文件,一個(gè)C文件,選擇文件類型,將它們包含在不同的文件夾下,這樣就可以通過標(biāo)準(zhǔn)的C語言函數(shù)來訪問組件了。
最后一步點(diǎn)擊Component Wizard,為組件取名,點(diǎn)擊Finish完成設(shè)計(jì)。
3 軟件設(shè)計(jì)
組件生成后,組件文件夾的結(jié)構(gòu)如圖2所示。
圖2 液晶屏接口組件
lcd_3224\inc文件夾下包含_regs.h文件,該文件定義硬件接口,例如:
#define IOWR_ LCD_DATA(base, data) IOWR(base, 0, data)
寫參數(shù)有三個(gè),base為組件的基地址,0表示地址偏移量,data為要寫入的數(shù)據(jù),重新定義后在源代碼中可以使用自定義的名字對組件進(jìn)行操作。
lcd_3224\hdl文件夾下包含.v文件,該文件描述組件的接口信號。
lcd_3224\HAL\inc文件夾下包含.h文
熱門點(diǎn)擊
- AMCCS5933在PCI板卡設(shè)計(jì)中的應(yīng)用
- 功率驅(qū)動器件與MCU/DSC的接口電路設(shè)計(jì)技
- USB端口的EMC解決方案
- TMS320F2812擴(kuò)展正交解碼脈沖接口的
- 可編程多協(xié)議收發(fā)器MAX3160的原理與應(yīng)用
- HD7279A的原理與應(yīng)用
- 基于AVR單片機(jī)SPI的串行ADC接口設(shè)計(jì)
- NRZ-HDB3碼制轉(zhuǎn)換器設(shè)計(jì)
- 基于IP核的PCI總線接口設(shè)計(jì)與實(shí)現(xiàn)
- 基于USB接口的同步視頻輸出系統(tǒng)設(shè)計(jì)
推薦技術(shù)資料
- AMOLED顯示驅(qū)動芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究