SPI IP核及其在微投影系統(tǒng)中的應(yīng)用
摘要:介紹了SPI總線控制器IP核的硬件結(jié)構(gòu)與應(yīng)用方法,并著重介紹了該IP核在微投影系統(tǒng)中的使用,以完成微顯示芯片的初始化。實(shí)驗(yàn)表明,該SPI總線接口使用靈活,便于移植,并且穩(wěn)定可靠。
關(guān)鍵詞:SPI總線控制器;Nios II處理器;IP核;可編程片上系統(tǒng);微投影
引言
SPI總線作為一種簡(jiǎn)單高效的4線串行傳輸總線,在電子器件和系統(tǒng)中應(yīng)用非常普遍,由于其輸入和輸出的信號(hào)線彼此獨(dú)立,因而傳輸可靠性更好。Altera公司的EDA設(shè)計(jì)工具中有自帶的SPI總線控制IP核,但目前介紹該IP核具體應(yīng)用的文獻(xiàn)不多,本文結(jié)合我們?cè)谖?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/投影">投影系統(tǒng)研究中的需求,給出了該SPI IP核的應(yīng)用實(shí)例。
1 SPI核的工作原理
1.1 硬件結(jié)構(gòu)
SPI核的硬件結(jié)構(gòu)如圖1所示,主要由波特率分頻器、發(fā)送數(shù)據(jù)寄存器、接收數(shù)據(jù)寄存器、狀態(tài)寄存器和控制寄存器組成。波特率分頻器主要將Avalon的系統(tǒng)時(shí)鐘進(jìn)行分頻,SCK可以配置的頻率=Avalon系統(tǒng)時(shí)鐘頻率/(2的倍數(shù))。
該IP核可以配置為主和從兩種模式。本設(shè)計(jì)為嵌入在FPGA中SPI核為主工作模式,可以控制最多16個(gè)從設(shè)備,如圖1所示的SEN0~SENl5。只有一個(gè)器件時(shí),默認(rèn)為SEN0信號(hào)。SPI核傳輸?shù)臄?shù)據(jù)寬度是由用戶配置的,可在1~32位之間,當(dāng)一次數(shù)據(jù)傳輸結(jié)束之后SPI核發(fā)出一個(gè)中斷請(qǐng)求。
主要實(shí)現(xiàn)兩種傳輸邏輯(以主模式為例):
①發(fā)送邏輯。待發(fā)送的數(shù)據(jù)由Avalon從端口送入發(fā)送數(shù)據(jù)寄存器,再移入移位寄存器中,SCK跳變沿到來(lái)時(shí)開(kāi)始數(shù)據(jù)傳輸(經(jīng)SDAT信號(hào)線發(fā)出,先移入的數(shù)據(jù)是高位還是低位,取決于SOPC Builder的配置)。
②接收邏輯。移位寄存器捕獲到完整的數(shù)據(jù)后,再將其移入接收數(shù)據(jù)寄存器中(由SDO信號(hào)線捕獲數(shù)據(jù))。
1.2 軟件結(jié)構(gòu)
目前,在采用32位的軟核Nios II處理器中,提供了4層軟件開(kāi)發(fā)模式:Nios II系統(tǒng)硬件,驅(qū)動(dòng)程序?qū)?,硬件抽象層?yīng)用程序接口(HAL API),應(yīng)用程序?qū)?。SPI核的應(yīng)用和軟件結(jié)構(gòu)如圖2所示。
評(píng)論