日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]引言SOPC(System On Programmable Chip,可編程的片上系統(tǒng))是Altera公司提出的一種靈活、高效的SOC解決方案。它將處理器、存儲(chǔ)器、I/O口等系統(tǒng)設(shè)計(jì) 需要的功能模塊集成到

引言

SOPC(System On Programmable Chip,可編程的片上系統(tǒng))是Altera公司提出的一種靈活、高效的SOC解決方案。它將處理器、存儲(chǔ)器、I/O口等系統(tǒng)設(shè)計(jì) 需要的功能模塊集成到一個(gè)可編程器件上,構(gòu)成一個(gè)可編程的片上系統(tǒng)。SOPC是PLD和ASIC技術(shù)融合的結(jié)果,代表了半導(dǎo)體產(chǎn)業(yè)未來的發(fā)展方向。

Altera公司的Nios II核是目前最具代表性的軟核嵌入式系統(tǒng)處理器,本文描述的SOPC系統(tǒng)以Altera NiosII為基礎(chǔ),利用SOPC Builder對Nios II及其外圍系統(tǒng)進(jìn)行構(gòu)建,使該嵌入式系統(tǒng)在硬件結(jié)構(gòu)、功能特點(diǎn)、資源占用等方面全面滿足系統(tǒng)設(shè)計(jì)的需求。

設(shè)計(jì)課題的確立

本文所描述的SOPC系統(tǒng)需要完成以下功能:

1.利用PS2接口的鍵盤作為設(shè)計(jì)的信號輸入和外部控制電路部分;

2.利用VGA顯示接口作為設(shè)計(jì)的信號輸出和顯示電路部分;

3.嵌入處理器 + 應(yīng)用軟件。

根據(jù)以上要求,確立要完成本文設(shè)計(jì)的3個(gè)功能模型,分別是:兼容標(biāo)準(zhǔn)鍵盤的PS2控制接口邏輯;基于Avalon總線的VGA顯示接口邏輯,以及NiosII嵌入式處理器和PS2/VGA驅(qū)動(dòng)程序。

系統(tǒng)的組成和結(jié)構(gòu)

在SOPCBuilder中構(gòu)造整個(gè)系統(tǒng)的連接,包括基本的SOPC系統(tǒng)和自定義外設(shè)?;維OPC系統(tǒng)的核心是NiosII處理器Core,它還包含Avalon三態(tài)總線,以及掛在總線上的外部存儲(chǔ)設(shè)備接口,包括SRAM(或SDRAM)控制接口及Flash控制接口;以及定時(shí)計(jì)數(shù)Timer和調(diào)試Jtag_Uart模塊。而本課題設(shè)計(jì)的關(guān)鍵就是自定義的外設(shè)接口——基于Avalon總線協(xié)議的PS2接口和VGA控制接口。

基于Avalon總線協(xié)議的PS2控制接口設(shè)計(jì)

PS2控制接口協(xié)議

PS2設(shè)備接口多用于當(dāng)今的鼠標(biāo)和鍵盤設(shè)計(jì),它是由IBM 開發(fā)并最早出現(xiàn)在IBM 技術(shù)參考手冊里。PS2 鼠標(biāo)和鍵盤遵循雙向同步串行協(xié)議,每次數(shù)據(jù)線上發(fā)送一位數(shù)據(jù),時(shí)鐘線上的脈沖就被讀入。鍵盤/鼠標(biāo)可以發(fā)送數(shù)據(jù)到主機(jī),同樣主機(jī)也可以發(fā)送數(shù)據(jù)到設(shè)備,但主機(jī)總是在總線上有優(yōu)先權(quán),它可以在任何時(shí)候抑制來自于鍵盤/鼠標(biāo)的通訊,而只需把時(shí)鐘拉低即可。

從鍵盤/鼠標(biāo)發(fā)送到主機(jī)的數(shù)據(jù),在時(shí)鐘信號的下降沿被讀取;從主機(jī)發(fā)送到鍵盤/鼠標(biāo)的數(shù)據(jù)在上升沿被讀取。不管通訊的方向怎樣,鍵盤/鼠標(biāo)總是產(chǎn)生時(shí)鐘信號。如果主機(jī)要發(fā)送數(shù)據(jù),它必須先告訴設(shè)備開始產(chǎn)生時(shí)鐘信號。PS2設(shè)備最大的時(shí)鐘頻率是33kHz 而大多數(shù)設(shè)備工作在10-20kHz。設(shè)備到主機(jī)的通訊過程如圖2所示:

所有數(shù)據(jù)安排在字節(jié)中,每個(gè)字節(jié)為一幀,包含了11/12 個(gè)位,這些位的含義如下:1個(gè)起始位,總是為0;8個(gè)數(shù)據(jù)位,低位在前;1個(gè)校驗(yàn)位,奇校驗(yàn);1個(gè)停止位,總是為1;1個(gè)應(yīng)答位,僅在主機(jī)對設(shè)備的通訊中出現(xiàn)。

鍵盤上包含了一個(gè)大型的按鍵矩陣,它們是由“鍵盤編碼器”來監(jiān)視的。監(jiān)視哪些按鍵被按下或釋放了,并在適當(dāng)?shù)臅r(shí)候傳送到主機(jī)。而主板上包含了一個(gè)“鍵盤控制器”負(fù)責(zé)解碼所有來自鍵盤的數(shù)據(jù), 并告訴軟件什么事件發(fā)生。在主機(jī)和鍵盤之間的通訊使用IBM 的協(xié)議,最初IBM 使用Intel8048 微處理器作為它的鍵盤編碼器,而使用Intel8042 微控制器作為它的鍵盤控制器,這些現(xiàn) 已被兼容設(shè)備取代,并整合到主板的芯片組中。

鍵盤的處理器花費(fèi)很多的時(shí)間來掃描或監(jiān)視按鍵矩陣。如果它發(fā)現(xiàn)有鍵被按下、釋放或按住,鍵盤將發(fā)送“掃描碼”的信息包到計(jì)算機(jī)。掃描碼有兩種不同的類型:“通碼”和“斷碼”。當(dāng)一個(gè)鍵被按下或按住就發(fā)送通碼;當(dāng)一個(gè)鍵被釋放就發(fā)送斷碼。每個(gè)按鍵被分配了唯一的通碼和斷碼,這樣主機(jī)通過查找唯一的掃描碼就可以測定是哪個(gè)按鍵。

基于Avalon總線的鍵盤控制器的FPGA實(shí)現(xiàn)

基于Avalon總線的鍵盤控制器的實(shí)現(xiàn),需模擬Intel8042的功能時(shí)序,完成鍵盤控制器的功能模型的建立,并完成其RTL代碼。本鍵盤控制器,不僅完成8042對鍵盤掃描碼的接收功能,還要把掃描碼轉(zhuǎn)換為處理器能夠識別的ASCII碼。

從鍵盤讀數(shù)據(jù):當(dāng)從鍵盤收到有效的掃描碼就把它放置在輸入緩沖區(qū),IBF(輸入緩沖區(qū)滿)標(biāo)志被設(shè)置,產(chǎn)生IRQ1。如果中斷是使能,IRQ1將激活鍵盤驅(qū)動(dòng)程序,它指向0x09中斷向量。驅(qū)動(dòng)程序?qū)腁valon_PS2_BASE端口讀取ASCII碼。這個(gè)動(dòng)作會(huì)釋放IRQ1并復(fù)位IBF標(biāo)志。接著ASCII被驅(qū)動(dòng)程序處理。如下圖3顯示接收“c”通碼的時(shí)序,經(jīng)過11個(gè)PS2_CLK接收到“c”的掃描碼為“0x21”,同時(shí)掃描碼被轉(zhuǎn)換為ASCII碼,為“0x63”。圖4,模擬了鍵盤發(fā)送一個(gè)大寫“A”的數(shù)據(jù)傳輸時(shí)序,其過程為SHIFT通碼(0x12),“A”通碼(0x1c),“A”斷碼(0xf0,0x1c),SHIFT斷碼(0xf0,0x12)。此過程中加入了兩個(gè)標(biāo)識位,SHIFT標(biāo)識(rx_shift_key_on)和斷碼標(biāo)識(rx_released),用以顯示SHIFT是否被按下,及發(fā)送的是通碼或斷碼。

往鍵盤寫數(shù)據(jù):當(dāng)你寫數(shù)據(jù)到鍵盤控制器的輸出緩沖區(qū),控制器設(shè)置OBF(輸出緩沖區(qū)滿)標(biāo)志并處理數(shù)據(jù)??刂破鲗l(fā)送這個(gè)數(shù)據(jù)到鍵盤并等待一個(gè)回應(yīng)。如果鍵盤沒有接收或在指定時(shí)間內(nèi)沒有回應(yīng),相應(yīng)的超時(shí)標(biāo)志就會(huì)被設(shè)置。

基于Avalon總線協(xié)議的VGA控制接口設(shè)計(jì)

VGA原理

VGA接口主要有五個(gè)信號線,分別為R、G、B、vsync(場同步)、hsync(行同步)信號。Red、Green、Blue 就是大家熟知的三原色,由RGB的電壓差便可以產(chǎn)生出所有的顏色。如果R、G、B各用一個(gè)bit來控制,也就是只有0、1兩種電壓準(zhǔn)位,則所能形成的顏色種類只有8種。若每一種顏色能用多個(gè)bit來分出不同準(zhǔn)位的電壓差,顏色就能多樣化呈現(xiàn)。vsync和hsync用作顯示器的同步信號,依據(jù)垂直與水平更新率的不同,不斷送出固定頻率的信號輸出,此時(shí)就可以在屏幕上正確的顯示色彩。

屏幕的顯示方式,是從左邊最上角的第一個(gè)像素開始,然后依次向右顯示下一個(gè)像素,到顯示完第一列的最后一個(gè)像素,就跳到第二列的第一個(gè)像素繼續(xù)開始顯示。一直到整個(gè)屏幕都顯示完畢時(shí),回到原點(diǎn),如此能不斷的刷新畫面。對上述5個(gè)信號的時(shí)序驅(qū)動(dòng),VGA顯示器要求嚴(yán)格遵循“VGA工業(yè)標(biāo)準(zhǔn)”,即640×480×60Hz模式。下圖給出VGA行掃描、場掃描的時(shí)序。

這是每一行掃描所需的時(shí)間,3.77μs(29.88μs - 26.11μs)是hsync必需降為0的時(shí)間,1.89μs是后置準(zhǔn)備時(shí)間,0.94μs是前置準(zhǔn)備時(shí)間。而25.17μs則是像素顯示時(shí)間,顏色的變化都要在這個(gè)時(shí)間內(nèi)顯示,在該時(shí)間域外,R、G、B三根信號線都一定置0,否則將無法正確顯示畫面。[!--empirenews.page--]

每一個(gè)垂直信號內(nèi),總共要包含480個(gè)水平信號(或者在不同分辨率時(shí),會(huì)有不同數(shù)目的行信號)。64μs(15.764ms - 15.700ms)是vsync必需為0的時(shí)間。1.02ms是后置準(zhǔn)備時(shí)間,0.35ms是前置準(zhǔn)備時(shí)間,15.24ms是圖像周期。每一個(gè)vsync就顯示新的一幀。

基于Avalon總線的VGA控制器的實(shí)現(xiàn)

Avalon流模式外設(shè)的設(shè)計(jì)需要遵循Avalon總線規(guī)范?;贏valon總線VGA控制器的硬件結(jié)構(gòu)如圖7所示,該控制器由4部分構(gòu)成:vga_regster_bank:VGA寄存器控制模塊;line_buffer:FIFO存儲(chǔ)器,由Magawizard產(chǎn)生;vga_driver:vga時(shí)序發(fā)生器,產(chǎn)生行場信號,并從FIFO中讀取像素信息產(chǎn)生RGB;imga_dma:DMA控制器,完成直接存儲(chǔ),從系統(tǒng)SRAM中讀取數(shù)據(jù)傳輸?shù)紽IFO。

使用pixel_counter(像素計(jì)數(shù)器)生成行時(shí)序,計(jì)數(shù)器應(yīng)每31.77μs完成一個(gè)周期,當(dāng)VGA時(shí)鐘選擇在25MHz,則每行需31.77μs/(1/25MHz) = 794個(gè)時(shí)鐘周期。而行同步信號保持為低狀態(tài)要3.77μs,3.77*25 = 94;所以如圖8所示,在A處像素計(jì)數(shù)值為0,B-94,C-140,D-781,E-794,然后復(fù)位到0,從而產(chǎn)生行同步時(shí)序。同理,對場也需通過一個(gè)計(jì)數(shù)器生成場時(shí)序。

在EP2C5T的板子上,要使用存儲(chǔ)器,通常需要實(shí)時(shí)顯示的都會(huì)使用on-chip memory(片內(nèi)存儲(chǔ)器),因?yàn)閛n-chip memory的雙口結(jié)構(gòu)可以同時(shí)對一塊存儲(chǔ)單元不同的地址進(jìn)行讀、寫,同時(shí),on-chip memory的速度極快,可以不經(jīng)過外部總線工作,因此不會(huì)出現(xiàn)總線仲裁和延遲。但是因?yàn)閷?shí)驗(yàn)板的on-chip memory較小,而設(shè)計(jì)中256色顯存空間最少要 307.2Kbytes。因此,選擇外部SRAM作為顯存,并由imga_dma 產(chǎn)生的DMA控制從Avalon總線主動(dòng)讀取外部SRAM中的數(shù)據(jù)。

一般在Avalon總線上大多是從外設(shè),其使用的方式是,一直等待chipselect的輸入為1時(shí),才讀取總線上的數(shù)據(jù),如果chipselect一直為0的狀態(tài)下,則從外設(shè)將不做響應(yīng)。然而,跟一般從外設(shè)不一樣的是VGA控制器中的imga_dma模塊是一個(gè)主外設(shè),它完成存儲(chǔ)器到存儲(chǔ)器的 DMA傳輸,它通過Avalon總線一端連接外部顯存(SRAM),一端連接控制器的FIFO。然后控制器不斷主動(dòng)的去讀取SRAM中的數(shù)據(jù),并輸出信號到RGB。

實(shí)驗(yàn)分析及結(jié)果展示

中文字符串顯示:先建立中文字符串字庫,利用鍵盤擴(kuò)展鍵觸發(fā),Nios II軟件捕捉到此鍵碼,顯示字符串。英文字符顯示:鍵盤輸入,由PS2協(xié)議模塊捕捉到鍵盤輸入的掃描碼,轉(zhuǎn)換成ASCII碼,Nios II軟件再根據(jù)ASCII碼值在預(yù)先建立好的ASCII字庫中尋址讀取ASCII字庫數(shù)據(jù),并把字庫數(shù)據(jù)寫入到VGA顯示存儲(chǔ)器;然后VGA控制模塊把顯示存儲(chǔ)器中的數(shù)據(jù)通過DMA方式發(fā)送到VGA,完成英文字符顯示。

至此完成課題設(shè)計(jì)要求,利用PS2鍵盤輸入、VGA顯示、Nios II數(shù)據(jù)處理,構(gòu)造了一個(gè)SOPC系統(tǒng)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

今年是5G元年,全球各個(gè)通訊公司都使出來畢生的經(jīng)歷,為了在未來5G市場上搶占一塊好的地方,他們之間的競爭也催生了一大批新技術(shù)。工信部發(fā)放4張5G牌照,標(biāo)志著中國正式進(jìn)入

關(guān)鍵字: 5G mimo 總線與接口

在5G通訊領(lǐng)域,目前做的比較好的當(dāng)屬華為,但是其他幾家公司也不甘示弱,就在最近,三星電子成功開發(fā)支持28GHz頻段的“5G綜合型基站”(Access Unit),是目前5G商

關(guān)鍵字: 5g通訊 三星 華為 總線與接口

廣告商與受眾之間必不可少的溝通媒介最核心的恐怕屬于數(shù)字標(biāo)牌,它已演變?yōu)榻换ナ絺€(gè)性化通訊工具,為用戶提供了更直觀的的參與感與體驗(yàn)。研華基于云數(shù)字標(biāo)牌解決方案一應(yīng)俱

關(guān)鍵字: 總線與接口 數(shù)字標(biāo)牌 研華

通常情況下在工業(yè)現(xiàn)場經(jīng)常需要用兩個(gè)隔離DC-DC搭配單獨(dú)的信號隔離電路的方法去隔離RS-232與RS-485,但隔離的性能存在差異性,并且占板面積較大。本文將為你介紹一種穩(wěn)定可靠、應(yīng)用簡便的全隔離解決方案。

關(guān)鍵字: rs-232 rs-485 多協(xié)議接口模塊 總線與接口

近年來,第五代移動(dòng)通信系統(tǒng)5G已經(jīng)成為通信業(yè)和學(xué)術(shù)界探討的熱點(diǎn)。5G的發(fā)展主要有兩個(gè)驅(qū)動(dòng)力。一方面以長期演進(jìn)技術(shù)為代表的第四代移動(dòng)通信系統(tǒng)4G已全面商用,對下一代技術(shù)

關(guān)鍵字: 5G 總線與接口 數(shù)據(jù)分析

在工業(yè)實(shí)現(xiàn)當(dāng)中,需要降低總線接口的寬度,這里專門有一種設(shè)備叫工業(yè)用串行/解串器(SerDes),它可以降低高帶寬數(shù)據(jù)接口總線寬度。使用一個(gè)串行器就可以把數(shù)據(jù)從一個(gè)寬并行數(shù)

關(guān)鍵字: serdes 總線與接口 高帶寬數(shù)據(jù)接口總線

在當(dāng)前雖然在嵌入式系統(tǒng)中有許多連接元件的方法,但最主要的還是以太網(wǎng)、PCI Express和RapidIO這三種高速串行標(biāo)準(zhǔn)。所有這三種標(biāo)準(zhǔn)都使用相似的串行解串器(SerDes)技術(shù),它

關(guān)鍵字: 串行總線 差分走線 總線與接口

對于現(xiàn)在的嵌入式工程師,一般都知道CAN總線廣泛應(yīng)用到汽車中,但是CAN總線不僅運(yùn)用到汽車上,在船艦電子設(shè)備通信也廣泛使用CAN,隨著國家對海防的越來越重視,對CAN的需求

關(guān)鍵字: can總線 總線與接口 接口

CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network, CAN)的簡稱,是由以研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā)的,并最終成為國際標(biāo)準(zhǔn)(ISO 11898),是國際上應(yīng)用最廣泛的現(xiàn)場總線...

關(guān)鍵字: can 總線與接口 自動(dòng)化 位流檢測

UART是用于控制計(jì)算機(jī)與串行設(shè)備的芯片。有一點(diǎn)要注意的是,它提供了數(shù)據(jù)終端設(shè)備接口,這樣計(jì)算機(jī)就可以和調(diào)制解調(diào)器或其它使用RS-232C接口的串行設(shè)備通信了。

關(guān)鍵字: CPU uart 總線與接口 rs-232c接口
關(guān)閉