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