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配置工作,讓其輸出系統所需的多種時鐘?;贜ios 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
主站蜘蛛池模板: 粗大猛烈进出高潮视频无码| 国产精品99一区不卡| 2020极品精品国产| 在线五月婷婷| 中国国产A一级毛片| 欧美国产在线看| 久久国产高潮流白浆免费观看| 亚洲精品视频免费观看| 久久99热这里只有精品免费看| 精品成人一区二区| 在线观看精品国产入口| 日本在线视频免费| 97亚洲色综久久精品| 91久草视频| 亚洲一区二区三区中文字幕5566| 国产精品久久久久久久久久98| 国产亚洲第一页| 99热这里只有精品国产99| 午夜不卡福利| 亚洲水蜜桃久久综合网站| 青青草一区| 青青操国产视频| 最新国产网站| 精品亚洲麻豆1区2区3区| 国产精品对白刺激| 久久99久久无码毛片一区二区| 亚洲成人网在线观看| 成人福利在线视频免费观看| 99无码熟妇丰满人妻啪啪 | 91久久偷偷做嫩草影院免费看| 久久香蕉国产线看观看式| 国产色网站| 亚洲网综合| 亚洲天天更新| 免费无码网站| 国产精品太粉嫩高中在线观看| 亚洲无码91视频| 大香伊人久久| 国产免费高清无需播放器| 国产成人在线小视频| 91亚洲精品第一| 亚洲精品高清视频| 成人亚洲天堂| 国产超碰一区二区三区| 五月天福利视频| 亚洲欧美成人综合| 乱人伦视频中文字幕在线| 久久这里只有精品23| 国产成人精品亚洲日本对白优播| 99视频在线免费看| 国内精品视频在线| 三区在线视频| 亚洲欧美另类久久久精品播放的| 波多野结衣视频一区二区| a毛片免费观看| 国产哺乳奶水91在线播放| 久久久久无码精品| 国产资源免费观看| 中文无码毛片又爽又刺激| 成人福利视频网| 国产黄在线观看| 精品久久人人爽人人玩人人妻| 欧美午夜视频| 国产成人91精品| 国产专区综合另类日韩一区 | 国产亚洲精久久久久久久91| 欧美日韩精品综合在线一区| 2021无码专区人妻系列日韩| 无码国内精品人妻少妇蜜桃视频| 日韩精品资源| 亚洲综合色区在线播放2019 | 色婷婷视频在线| 日韩黄色大片免费看| 中国国产A一级毛片| 欧美成人在线免费| 97久久精品人人| 永久免费AⅤ无码网站在线观看| 72种姿势欧美久久久久大黄蕉| 欧美日本在线观看| 亚洲色成人www在线观看| 欧美精品不卡| 在线综合亚洲欧美网站|