1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>用CPLD實現單片機讀寫模塊

    用CPLD實現單片機讀寫模塊

    時間:2023-02-21 00:18:01 電子通信論文 我要投稿
    • 相關推薦

    用CPLD實現單片機讀寫模塊

      摘要:介紹實現單片機與Xilinx公司XC9500系列可編程邏輯器件的讀寫邏輯功能模塊的接口設計,以及Xilinx公司的XC9500系列可編程邏輯器件的開發流程。
      關鍵詞:復雜可編程邏輯電路微處理器在系統編程現場可編程門陣列
      
      1概述
      
      CPLD(復雜可編程邏輯電路)是一種具有豐富的可編程I/O引腳的可編程邏輯器件,具有在系統可編程、使用方便靈活的特點;不但可實現常規的邏輯器件功能,還可實現復雜的時序邏輯功能。把CPLD應用于嵌入式應用系統,同單片機結合起來,更能體現其在系統可編程、使用方便靈活的特點。CPLD同單片機接口,可以作為單片機的一個外設,實現單片機所要求的功能。例如,實現常用的地址譯碼、鎖存器、8255等功能;也可實現加密、解密及擴展串行口等單片機所要求的特殊功能。實現嵌入式應用系統的靈活性,也提高了嵌入式應用系統的性能。
      
      CPLD(復雜可編程邏輯電路)是一種具有豐富的可編程I/O引腳的可編程邏輯器件,具有在系統可編程、使用方便靈活的特點;不但可實現常規的邏輯器件功能,還可實現復雜的時序邏輯功能。把CPLD應用于嵌入式應用系統,同單片機結合起來,更能體現其在系統可編程、使用方便靈活的特點。CPLD同單片機接口,可以作為單片機的一個外設,實現單片機所要求的功能。例如,實現常用的地址譯碼、鎖存器、8255等功能;也可實現加密、解密及擴展串行口等單片機所要求的特殊功能。實現了嵌入式應用系統的靈活性,也提高了嵌入式應用系統的性能。
      
      2Xilinx公司的可編程邏輯器件
      
      Xilinx公司的XC9500系列可編程邏輯器件是一款高性能、有特點的可編程邏輯器件。它的系統結構如圖1所示。從結構上看,它包含三種單元:宏單元、可編程I/O單元和可編程的內部連線。它的主要特點是:
      
      ①高性能。在所有可編程引腳之間pin-pin延時5ns;系統的時鐘速度可達到100MHz。
      
      ②容量范圍大。Xilinx公司的XC9500系列可編程邏輯器件的容量范圍為36~288個宏單元;可用系統門為800~6400個。
      
      ③5V在系統可編程。可以編程10000次。
      
      ④具有強大的強腳鎖定能力。
      
      ⑤每個宏單元都有可編程低功耗模式。
      
      ⑥沒有用的引腳有編程接地能力。
      
      Xilinx的XC9500系列可編程邏輯器件的主要性能如表1所列。
      
      3CPLD同單片機接口設計
      
      CPLD同單片機接口原理如圖2所示。
      
      CPLD同單片機接口設計中,單片機采用Atmel公司的AT89C52,CPLD采用Xilinx公司的XC95216。該CPLD芯片結構及性能見圖1和表1。AT89C52通過ALE、CS、RD、WE、P0口(數據地址復用)同XC95216芯片相連接。
      
      表1XilinxXC9500t系列器件
      
      項目XC9536XC9572XC95108XC95144XC95216XC95288寄存器/個3672108144216288可用門數/個80016002400320048006400宏單元數/個3672108144216288fPD/ns57.57.57.51010tSU/ns3.54.54.54.56.06.0tCO/ns4.04.54.54.56.06.0fCNT/MHz100125125125111.1111.1fSYSTEM/MHz10083.383.383.366.766.7
      注:fCNT=16位計數器最高工作頻率;fSYSTEM=整個系統的最高工作效率。
      
      ALE:地址鎖存信號。
      
      CS:片選信號。
      
      RD:讀信號。
      
      WR:寫信號。
      
      AD0~AD7:數據地址復用信號。
      
      本例的設計思想是,在XC95216設置兩個控制寄存器,通過單片機對兩個控制寄存器的讀寫來完成對其它過程的控制。
      
      XC95216設置的兩個控制寄存器,可以作內部寄存器,也可以直接是映射為I/O口。
      
      圖2XC9516同單片機接口原理圖
      
      4CPLD同單片機接口設置結果
      
      本例中,使用Xilinx公司提供的FundationISE4.2i+Modelsim5.5f軟件實現設計。實現設計的源文件模塊如下:
      
      /**************************
      
      //MCU和XC95216接口程序
      
      //目的:MCU讀寫XC95216
      
      /**************************/
      
      modulemcurw(MCU_DATA,ALE,CS,RD,WE,CONREG1,CONREG2);
      
      inout[7:0]MCU_DATA;//單片機的地址數據復用信號
      
      output[7:0]CONREG1,CONREG2;//內部控制寄存器
      
      inputALE;//單片機的地址鎖存信號
      
      inputCS;//單片機的片選信號
      
      inputRD;//單片機的讀信號
      
      inputWE;//單片機的寫信號
      
      reg[7:0]LAMCU_DATA;//內部控制寄存器
      
      reg[7:0]ADDRESSREG;//內部地址鎖存寄存器
      
      reg[7:0]CONREG1;//內部控制寄存器
      
      reg[7:0]CONREG2;//內部控制寄存器
      
      assignMCU_DATA=RD?8'bzzzzzzzz:LAMCU_DATA;
      
      initial//寄存器初始化
      
      begin
      
      LAMCU_DATA<=0;
      
      ADDRESSREG<=0;
      
      CONREG1<=0;
      
      CONREG2<=0;
      
      end
      
      always@(negedge ALE 
      
      begin
      
      ADDRESSREG<=MCU_DATA;//地址鎖存
      
      End
      
      always@(posedge WE
      
      begin
      
      if(!CS&&ADDRESSREG[0]==0))LAMCU_DATA
      
      <=CONREG1;//從地址為0的CONREG1寄存器讀數據
      
      elseif(!CS&&(ADDRESSREG[0]==1))LAMCU_DATA<=CONREG2;
      
      //從地址為1的CONREG2寄存器讀數據
      
      elseLAMCU_DATA<=8'bzzzzzzzz;
      
      end
      
      else
      
      LAMCU_DATA<=8'bzzzzzzzz;
      
      End
      
      Endmodule
      
      使用Modelsim5.5f仿真結果如圖3和圖4所示。圖中ALE、CS、RD、WE、MCU_DATA是測試激勵源信號,代表AT89C52接口信號;CONREG1和CONREG2的內部寄存器;ADDRESSREG是內部地址鎖存寄存器。
      
      圖3CONREG1寫過程圖4CONREG1讀過程
      
      圖3是CONREG1寫過程。首先,在ALE信號的下降沿,鎖存MCU_DATA的數據到ADDRESSREG內部地址鎖存寄存器。然后,在WE信號的上升沿,把MCU_DATA(0XAA)的數據鎖存到寄存器CONREG1。
      
      圖4是CONREG1讀過程。首先,在ALE信號的下降沿,鎖存MCU_DATA(0X00)的數據到ADDRESSREG內部地址鎖存寄存器。然后,在RD信號的低電平期間,把MCU_DATA(0XAA)的數據鎖存到寄存器CONREG1。
      
      從圖3和圖4可以看出,對CONREG1寄存器的讀、寫過程完全滿足進序要求,CONREG2的讀寫過程同CONREG1一樣,也完全滿足時序要求,實現了期望的功能。
      
      結語
      
      本文實現CPLD與單片機接口設計是筆者設計的高速采樣設備的一部分,經實際驗證完全正確。簡單地修改該模塊,筆者已成功地將其應用于多個CPLD或FPGA與單片機接口的項目中。

    【用CPLD實現單片機讀寫模塊】相關文章:

    用CPLD實現單片機與ISA總線接口的并行通信08-06

    單片機實現對CF卡的讀寫08-06

    用PIC單片機實現的IC卡讀寫器08-06

    用CPLD實現DSP與PLX9054之間的連接08-06

    單片機控制GSM模塊實現短信收發的軟件設計08-06

    用CPLD實現嵌入式平臺上的實時圖像增強08-06

    用CPLD實現嵌入式平臺上的實時圖像增強08-06

    IIC總線通訊接口器件的CPLD實現08-06

    用單片機實現SRAM工藝FPGA的加密應用08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      日本一区二区三区日本视频 | 拍精品AⅤ国产精品拍在线 中文字幕1级精品视频在线 | 日韩亚洲一区中文字幕 | 亚洲国产一区二区三区在线播放 | 无遮挡粉嫩小泬久久久久久久 | 婷婷亚洲综合五月天小说 |