999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Nios II的SPI接口實現

2014-08-30 06:26:30康賓孫亮周玉娟
計算機與網絡 2014年11期
關鍵詞:程序信號系統

康賓孫亮周玉娟

(1中國電子科技集團公司第五十四研究所河北石家莊050081)

(2解放軍理工大學江蘇南京210007)

1 引言

SPI作為一個通用的接口在越來越多的芯片上使用,是一種4線的低速接口;AD9517-1ABCPZ就是一款支持SPI接口的時鐘芯片,SPI接口是該芯片的配置接口。Nios II處理器作為一個簡單的CPU,在很多SOPC系統中都被使用;在FPGA設計中搭建Nios II系統,結合SPIMASTER模塊,可以用于配置AD9517-1ABCPZ,讓其輸出所需頻率的時鐘。

2 簡介

2.1 Nios

Nios II系列軟核處理器是Altera公司的第二代FPGA嵌入式處理器,其性能超過200DMIPS。Nios II包括3種產品,分別是:NiosⅡ/f(快速)最高的系統性能、中等FPGA使用量;NiosⅡ/s(標準)高性能和低FPGA使用量;NiosⅡ/e(經濟)低性能,最低的FPGA使用量。這3種產品采用32位處理器的基本結構單元:32位指令大小、32位數據和地址路徑32位通用寄存器和32個外部中斷源;使用同樣的指令集架構(ISA),100%二進制代碼兼容,可以根據系統需求的變化更改CPU,選擇滿足性能和成本的最佳方案[1,2]。

2.2 AD9517-1ABCPZ

AD9517-1ABCPZ是Analog Device公司生產的時鐘發生器,其工作電壓+3.3 V,最大輸入頻率2 400 MHz,最大輸出頻率2 650 MHz,輸出時鐘為TTL電平或LVPEL電平[3]。

2.3 SPI總線

SPI總線系統是一種同步串行外設接口,可以使MCU與各種外圍設備以串行方式進行通信以交換信息。SPI總線系統可直接與各個廠家生產的多種標準外圍器件直接相連,該總線一般使用4條線:SDO(主設備數據輸出,從設備數據輸入)、SDI(主設備數據輸入,從設備數據輸出)、SCLK(時鐘信號,由主設備產生)和CS(從設備使能信號,由主設備控制)等信號[4]。

3 實現方案

使用Nios II初始化、配置AD9517-1ABCPZ的實現方案可以分為兩部分:硬件設計和軟件設計[4]。硬件設計主要包括基于Nios II的SOPC系統的搭建,SPI-MASTER接口FPGA程序設計。軟件設計主要包括:SPI讀寫函數設計,AD9517-1ABCPZ寄存器配置函數設計。

3.1 硬件設計

硬件設計包括:Nios II的SOPC系統和SPI-MASTER模塊兩部分。Nios II的SOPC系統通過并行的CPU接口與SPI-MASTER模塊相連,SPI-MASTER通過 SPI接口與AD9517相連,其原理框圖如圖1所示:

圖1 硬件系統原理框圖

Nios II的SOPC系統,采用硬件程序和軟件程序都存儲在EPCS芯片的方式,采用該方式FPGA無需外接FLASH、SDRAM芯片,節省了電路板的布局空間以及成本,其主要包括以下幾個部分[5]:①Nios II,系統的CPU;②On-chip Memory RAM,存儲系統啟動后的程序指令以及數據;③On-chip Memory ROM,存儲只讀數據,例如波形數據等;④EPCSSerial Flash Controller,控制EPCS芯片,指定啟動地址;⑤JTAG UART,程序調試輸出接口,相當于系統串行接口輸出,用于觀察調試過程中輸出信息;⑥Avalon-MM Tristate Bridge,其用于連接以上5個部分;⑦Typical Avalon-MM Tristate Slave,系統的CPU接口,控制片選,讀寫信號等。以上7個部分組成一個簡單的帶有CPU接口的SOPC系統,用于承載AD9517-1ABCPZ配置程序。

NIOS系統數據線是32位的,也就是按照32位進行讀寫操作。但圖1所示的原理框圖中DATA寬度是8位的,這樣的話就會出現一個問題:若不對CS信號作調整,在一個讀周期內CS信號會出現4次有效狀態。要完成8位的讀操作,就必須對CS信號進行調整:在Typical Avalon-MM Tristate Slave里加入4位Byteenable[3..0]信號,當Byteenable信號和RD信號同時有效時,CS信號才有效,這樣就可以避免一個讀周期內CS信號出現4次有效狀態的情況。NIOS系統的讀操作不會出現類似情況,所以數據讀過程CS信號不需要調整[6]。AD9517-1ABCPZ的SPI接口默認是MSB方式,SPI-MASTER模塊以MSB的方式設計,其讀寫時序圖如圖2和圖3所示。

圖2 SPI接口寫時序

圖3 SPI接口讀時序

在FPGA內部,SPI-MASTER模塊有以下幾個寄存器,用于存儲命令以及數據:①R/W寄存器,用于指示本次操作是SPI讀操作還是SPI寫操作;②W1WO寄存器,用于指示本次SPI讀寫操作要訪問AD9517-1ABCPZ的寄存器個數;③地址寄存器,用于指示本次SPI讀寫操作要訪問的AD9517-1ABCPZ的寄存器起始地址;④開始SPI讀寫寄存器,用于發起SPI讀寫操作;⑤狀態指示寄存器,用于指示SPI讀寫操作是否為空閑;⑥寫數據寄存器,用于暫存本次SPI寫操作的數據;⑦讀數據寄存器,用于暫存本次SPI讀操作的數據。

R/W寄存器、W1WO寄存器、地址寄存器、開始SPI讀寫寄存器和狀態指示寄存器等的內容用于指定本次SPI操作的屬性,其決定了SPI接口的指令周期;寫數據寄存器和讀數據寄存器用于存儲SPI接口的讀寫數據,其決定SPI接口的數據周期。

SPI的接口時序設計分為SPI讀時序和SPI寫時序2個部分。

SPI寫時序:SPI接口的CS信號只有在“開始SPI讀寫寄存器”被置位后有效,其有效狀態要一直保持到最后一個數據傳輸完成;SCLK信號的頻率一要在AD9517-1ABCPZ的SPI接口SCLK頻率范圍內,其是SDO、SDI信號的同步時鐘,可以由其他高頻率時鐘分頻得到;SDO信號在SCLK時鐘上升延依次輸出“R/W寄存器”、“W1WO寄存器”、“地址寄存器”的內容,完成SPI接口的指令周期;SD0信號在SCLK時鐘上升延依次輸出由“W1WO寄存器”決定數據字節數,完成SPI接口的數據周期。

SPI讀時序:SPI接口的CS信號只有在“開始SPI讀寫寄存器”被置位后有效,其有效狀態要一直保持到最后一個數據傳輸完成;SD0信號在SCLK時鐘上升延依次輸出“R/W寄存器”、“W1WO寄存器”、“地址寄存器”的內容,完成SPI接口的指令周期;SD0信號在SCLK時鐘上升延依次儲存由“W1WO寄存器”決定數據字節數,完成SPI接口的數據周期。

3.2 軟件設計

配置AD9517-1ABCPZ的NOIS系統軟件設計可以分為2個主要的部分:SPI讀寫函數設計和AD9517-1ABCPZ寄存器配置函數設計。AD9517-1ABCPZ寄存器配置主要包括:SPI接口MSB或LSB寄存器配置、PLL使能寄存器配置、REFCLK選擇寄存器配置、分頻寄存器配置和倍頻寄存器配置等,按照其手冊進行配置就可以讓其輸出相應頻率的時鐘。SPI讀寫函數設計是該系統程序設計的重點,其決定SPI接口能否正常配置AD9517-1ABCPZ時鐘芯片。

SPI讀函數設計流程:①設置“R/W寄存器”為讀指令狀態;②設置“W1WO寄存器”,指示被讀寄存器的個數;③設置“地址寄存器”,指示本次SPI讀操作要訪問的AD9517-1ABCPZ寄存器起始地址;④判斷“狀態指示寄存器”是否為空閑狀態,若為空閑狀態,則進行⑤的操作,若為忙狀態,則等待;⑤設置“開始SPI讀寫寄存器”為開始讀狀態,發起SPI讀操作;⑥等待SPI讀操作完成,把暫存的數據讀入Nios II的CPU接口;⑦SPI讀操作完成后,由硬件FPGA程序,清除“開始SPI讀寫寄存器”的開始讀狀態,為下次讀操作做準備。

在開始SPI讀操作后,“狀態指示寄存器”指示SPI讀操作為忙狀態,直到SPI讀操作完成,“狀態指示寄存器”再次指示SPI讀操作為空閑狀態。在2次SPI讀之間,上一次讀操作完成,才能開始下一次的讀操作。本次SPI讀操作完成后,才能把數據讀入Nios II的CPU接口。何時把數據讀入到Nios II的CPU接口的程序有2種方法設計:①不作任何判斷,只在程序中加入足夠的時延;②對“狀態指示寄存器”的指示狀態進行判斷,在其指示忙狀態時程序一直處于等待狀態,但是等待要有一定的限度,在等待足夠的SCLK時鐘周期后,要跳出等待狀態,若此時“狀態指示寄存器”還是處于忙狀態,則輸出告警信息。

方法①的設計比較簡單,其執行效率不高,可靠性比較低,適合于程序處于理想狀態下運行的情況;方法2對狀態進行判斷,執行效率較高,雖然也進行了等待,但是在足夠的SCLK周期以后就跳出等待狀態,防止了程序死鎖,程序執行的可靠性較高。

SPI寫函數設計流程:①設置“R/W寄存器”為寫指令狀態;②設置“W1WO寄存器”,指示被寫寄存器的個數;③設置“地址寄存器”,指示本次SPI寫操作要訪問的AD9517-1ABCPZ寄存器起始地址;④判斷“狀態指示寄存器”是否為空閑狀態,若為空閑狀態,則進行⑤的操作,若為忙狀態,則等待;⑤設置“開始SPI讀寫寄存器”為開始寫狀態,發起SPI寫操作;⑥等待SPI寫操作完成;⑦SPI寫操作完成后,由硬件FPGA程序,清除“開始SPI讀寫寄存器”的開始寫狀態,為下次寫操作做準備。

在開始SPI寫操作后,“狀態指示寄存器”指示SPI寫操作為忙狀態,直到SPI寫操作完成,“狀態指示寄存器”再次指示SPI寫操作為空閑狀態。在2次SPI寫之間,上一次寫操作完成,才能開始下一次的寫操作。這樣的話在2次SPI寫操作之間,要加入延時判斷程序,若在每次SPI寫操作之間都加入延時判斷程序,會對程序執行效率帶來較大影響。在SPI MASTER模塊了加入適量的FIFO,用于緩存SPI寫指令,結合FPGA程序的乒乓設計,可以較大的提高程序的運行效率。

4 結束語

使用NOIS II搭建的SOPC結合自主設計的SPI MASTER模塊,可以靈活輕松的完成AD9517-1ABCPZ配置工作,讓其輸出系統所需的多種時鐘。基于Nios II的SOPC系統設計簡單靈活、開發周期短、成本低和系統維護升級方便,是許多中、低速系統設計不錯的選擇,今后必將在各個領域得到更廣泛的應用。

[1]孟 芳,于立佳,張文志.基于NiosⅡ的SOPC系統設計分析[J].無線電通信技術.2012,38(1):73-76.

[2]ALTERA ComPany,Nios IIprocess Reference handbook.Ver13.1.0[R].ALTERA ComPany,2014.

[3]ANALOG DEVICESComPany,AD9517-1ABCPZ datasheet.Rev.D[R].ALTERA ComPany,2012.

[4]Freescale ComPany,The Freescale SPIBus Specification.VERSION 4.01[R].ALTERA ComPany,2004.

[5]侯建軍,郭 勇.SOPC技術基礎教程[M].北京:清華大學出版社,2008.

[6]ALTERA ComPany,Embeded Design handbook.Ver2.9[R].ALTERA ComPany,2011.

猜你喜歡
程序信號系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
主站蜘蛛池模板: 国产国产人成免费视频77777| 91免费国产在线观看尤物| 第九色区aⅴ天堂久久香| 少妇精品久久久一区二区三区| 波多野结衣视频一区二区| 日本欧美中文字幕精品亚洲| 亚洲综合第一区| 亚洲国产日韩欧美在线| 亚洲成人精品在线| 国产福利一区二区在线观看| 国产精品粉嫩| 亚洲乱码在线视频| 亚洲人成人无码www| 国产亚洲欧美在线专区| 97久久人人超碰国产精品| 女人18毛片水真多国产| 国产在线一区二区视频| 亚洲天天更新| 久久亚洲国产视频| 欧美在线伊人| 亚洲综合香蕉| 国产精品免费电影| 亚洲永久免费网站| 国产美女自慰在线观看| 色九九视频| 99热最新在线| 亚洲精品无码不卡在线播放| 2020最新国产精品视频| 伊人AV天堂| 强奷白丝美女在线观看| 久久亚洲国产最新网站| 免费一看一级毛片| 视频国产精品丝袜第一页| 亚洲伦理一区二区| 日韩激情成人| 国产成人91精品| 免费a级毛片视频| 在线色综合| 色天天综合久久久久综合片| 小说 亚洲 无码 精品| 国产精品视屏| 国产一区二区三区在线观看视频| 香蕉精品在线| 欧洲成人在线观看| 亚洲精品第一页不卡| 91外围女在线观看| 22sihu国产精品视频影视资讯| 亚洲精品天堂自在久久77| 999国产精品永久免费视频精品久久| 色悠久久综合| 在线免费观看a视频| 亚洲天堂在线免费| 国产午夜精品一区二区三| 久久国产精品麻豆系列| 国产亚洲精品自在线| 国产一在线| 亚洲美女视频一区| 欧美色伊人| 日韩精品一区二区三区swag| 国产微拍精品| 日本亚洲成高清一区二区三区| 青青青伊人色综合久久| 婷婷色一区二区三区| 污视频日本| 久久黄色视频影| 日本午夜三级| 国产第一页亚洲| 亚洲A∨无码精品午夜在线观看| 欧美日韩激情| 久久 午夜福利 张柏芝| 国产精品久久久久久久伊一| 国产全黄a一级毛片| 18禁色诱爆乳网站| 尤物国产在线| 亚洲IV视频免费在线光看| 亚洲伊人天堂| 日韩中文无码av超清| 激情综合五月网| 日韩精品成人在线| 五月天综合婷婷| 欧美激情首页| 搞黄网站免费观看|