新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的串行外圍接口SPI設計與實現

        基于FPGA的串行外圍接口SPI設計與實現

        作者: 時間:2012-05-07 來源:網絡 收藏


        3 設計的仿真、綜合與實現

        通過編寫測試平臺,并使用Mentor Graphics 公司的仿真工具ModelSim SE PLUS 6.1f 對該 模塊進行仿真,得到的仿真波形如圖5 所示。

        圖5 SPI 模塊的仿真波形
        圖5 模塊的仿真波形

        從圖中可以看出,sck 的空閑電平IDLE=0,接收數據時刻是下降沿即ACTIVE-IDLE 邊沿, 故該 模塊的工作模式是CPOL=0,CPHA=1,與設計一致。當en=0 時,cs=1,SPI 總線處于空閑狀態。當en=1 時,在下降沿cs=0,sck 輸出時鐘信號,總線數據傳輸開始。同時,data_o=data_i, 移位寄存器存入待發送數據11010111.在第1 個周期上升沿,主機通過mosi 發送data_o 最高位1 至從機。在第1 個周期下降沿,data_o 左移一位,多出一個空閑位data_o[0],主機通過miso 接收從機發送的數據最高位1,并將其存入data_o[0],data_o=10101111.依此類推,后面7 個周期的數據傳輸過程與第1 個周期類似。8 位數據全部傳輸完成之后,cs=1,一個完整的SPI 總線傳輸過程結束。可以發現,data_o中的數據被一個一個從主機發送到從機,同時data_o 也被用來存儲從機發送的數據。8 個周期完成之后,data_o 中存儲的數據正是從機發送的數據10101101.綜合以上分析,該SPI 模塊的功能是正確的。



        關鍵詞: FPGA SPI 串行外圍 接口

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 商城县| 巴林左旗| 项城市| 深圳市| 余干县| 故城县| 广丰县| 株洲市| 红原县| 峡江县| 福清市| 含山县| 涞源县| 垫江县| 如东县| 名山县| 通州市| 绿春县| 嘉兴市| 会东县| 克什克腾旗| 濉溪县| 康定县| 奉贤区| 钟山县| 东乌| 黎川县| 富宁县| 苗栗县| 呼和浩特市| 沽源县| 镇赉县| 繁昌县| 宁津县| 荣昌县| 义马市| 巴中市| 上饶市| 安溪县| 汾阳市| 闻喜县|